| [Top][Contents][Index][ ? ] |
GNU LilyPond – Internals Reference
This document is also available as a PDF and as a HTML indexed multiple pages.
This is the Internals Reference (IR) for version 2.12.2 of LilyPond, the GNU music typesetter.
| 1. Music definitions | Definition of the input data structures. | |
| 2. Translation | From music to layout. | |
| 3. Backend | Reference for the layout engine. | |
| 4. Scheme functions | Primitive functions exported by LilyPond. | |
| A. Indices |
| [ << Top ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < Top ] | [ Up : Top ] | [ Music expressions > ] | ||
1. Music definitions
| 1.1 Music expressions | Objects that represent music. | |
| 1.2 Music classes | ||
| 1.3 Music properties | All music properties, including descriptions. |
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < Music definitions ] | [ Up : Music definitions ] | [ AbsoluteDynamicEvent > ] | ||
1.1 Music expressions
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < Music expressions ] | [ Up : Music expressions ] | [ AnnotateOutputEvent > ] | ||
1.1.1 AbsoluteDynamicEvent
Create a dynamic mark.
Syntax: note\x, where \x is a dynamic mark like
\ppp or \sfz. A complete list is in file
‘ly/dynamic-scripts-init.ly’.
Event classes: absolute-dynamic-event, dynamic-event, music-event and StreamEvent.
Accepted by: Dynamic_engraver, Dynamic_performer and New_dynamic_engraver.
Properties:
name(symbol):
'AbsoluteDynamicEventName of this music object.
types(list):
'(general-music event dynamic-event absolute-dynamic-event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < AbsoluteDynamicEvent ] | [ Up : Music expressions ] | [ ApplyContext > ] | ||
1.1.2 AnnotateOutputEvent
Print an annotation of an output element.
Event classes: annotate-output-event, music-event and StreamEvent.
Accepted by: Balloon_engraver.
Properties:
name(symbol):
'AnnotateOutputEventName of this music object.
types(list):
'(general-music event annotate-output-event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < AnnotateOutputEvent ] | [ Up : Music expressions ] | [ ApplyOutputEvent > ] | ||
1.1.3 ApplyContext
Call the argument with the current context during interpreting phase.
Properties:
name(symbol):
'ApplyContextName of this music object.
types(list):
'(general-music apply-context)The types of this music object; determines by what engraver this music expression is processed.
iterator-ctor(procedure):
ly:apply-context-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < ApplyContext ] | [ Up : Music expressions ] | [ ArpeggioEvent > ] | ||
1.1.4 ApplyOutputEvent
Call the argument with all current grobs during interpreting phase.
Syntax: \applyOutput #'context func
Arguments to func are 1. the grob, 2. the originating context, and 3. the context where func is called.
Event classes: apply-output-event, layout-instruction-event, music-event and StreamEvent.
Accepted by: Output_property_engraver.
Properties:
name(symbol):
'ApplyOutputEventName of this music object.
types(list):
'(general-music event apply-output-event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < ApplyOutputEvent ] | [ Up : Music expressions ] | [ ArticulationEvent > ] | ||
1.1.5 ArpeggioEvent
Make an arpeggio on this note.
Syntax: note-\arpeggio
Event classes: arpeggio-event, music-event and StreamEvent.
Accepted by: Arpeggio_engraver.
Properties:
name(symbol):
'ArpeggioEventName of this music object.
types(list):
'(general-music arpeggio-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < ArpeggioEvent ] | [ Up : Music expressions ] | [ AutoChangeMusic > ] | ||
1.1.6 ArticulationEvent
Add an articulation marking to a note.
Syntax: notexy, where x is a direction
(^ for up or _ for down), or LilyPond’s choice
(no direction specified)), and where y is an articulation
(such as -., ->, \tenuto, \downbow).
See the Notation Reference for details.
Event classes: articulation-event, script-event, music-event and StreamEvent.
Accepted by: Script_engraver.
Properties:
name(symbol):
'ArticulationEventName of this music object.
types(list):
'(general-music event articulation-event script-event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < ArticulationEvent ] | [ Up : Music expressions ] | [ BarCheck > ] | ||
1.1.7 AutoChangeMusic
Used for making voices that switch between piano staves automatically.
Properties:
name(symbol):
'AutoChangeMusicName of this music object.
iterator-ctor(procedure):
ly:auto-change-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.start-callback(procedure):
ly:music-wrapper::start-callbackFunction to compute the negative length of starting grace notes. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
length-callback(procedure):
ly:music-wrapper::length-callbackHow to compute the duration of this music. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
types(list):
'(general-music music-wrapper-music auto-change-instruction)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < AutoChangeMusic ] | [ Up : Music expressions ] | [ BassFigureEvent > ] | ||
1.1.8 BarCheck
Check whether this music coincides with the start of the measure.
Properties:
name(symbol):
'BarCheckName of this music object.
types(list):
'(general-music bar-check)The types of this music object; determines by what engraver this music expression is processed.
iterator-ctor(procedure):
ly:bar-check-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < BarCheck ] | [ Up : Music expressions ] | [ BeamEvent > ] | ||
1.1.9 BassFigureEvent
Print a bass-figure text.
Event classes: bass-figure-event, rhythmic-event, music-event and StreamEvent.
Accepted by: Figured_bass_engraver.
Properties:
name(symbol):
'BassFigureEventName of this music object.
types(list):
'(general-music event rhythmic-event bass-figure-event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < BassFigureEvent ] | [ Up : Music expressions ] | [ BeamForbidEvent > ] | ||
1.1.10 BeamEvent
Start or stop a beam.
Syntax for manual control: c8-[ c c-] c8
Event classes: beam-event, span-event, music-event and StreamEvent.
Accepted by: Beam_engraver, Beam_performer and Grace_beam_engraver.
Properties:
name(symbol):
'BeamEventName of this music object.
types(list):
'(general-music event beam-event span-event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < BeamEvent ] | [ Up : Music expressions ] | [ BendAfterEvent > ] | ||
1.1.11 BeamForbidEvent
Specify that a note may not auto-beamed.
Event classes: beam-forbid-event, music-event and StreamEvent.
Accepted by: Auto_beam_engraver.
Properties:
name(symbol):
'BeamForbidEventName of this music object.
types(list):
'(general-music event beam-forbid-event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < BeamForbidEvent ] | [ Up : Music expressions ] | [ BreathingEvent > ] | ||
1.1.12 BendAfterEvent
A drop/fall/doit jazz articulation.
Event classes: bend-after-event, music-event and StreamEvent.
Accepted by: Bend_engraver.
Properties:
name(symbol):
'BendAfterEventName of this music object.
types(list):
'(general-music bend-after-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < BendAfterEvent ] | [ Up : Music expressions ] | [ ClusterNoteEvent > ] | ||
1.1.13 BreathingEvent
Create a ‘breath mark’ or ‘comma’.
Syntax: note\breathe
Event classes: breathing-event, music-event and StreamEvent.
Accepted by: Breathing_sign_engraver.
Properties:
name(symbol):
'BreathingEventName of this music object.
types(list):
'(general-music event breathing-event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < BreathingEvent ] | [ Up : Music expressions ] | [ ContextChange > ] | ||
1.1.14 ClusterNoteEvent
A note that is part of a cluster.
Event classes: cluster-note-event, melodic-event, rhythmic-event, music-event and StreamEvent.
Accepted by: Cluster_spanner_engraver.
Properties:
name(symbol):
'ClusterNoteEventName of this music object.
types(list):
'(general-music cluster-note-event melodic-event rhythmic-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < ClusterNoteEvent ] | [ Up : Music expressions ] | [ ContextSpeccedMusic > ] | ||
1.1.15 ContextChange
Change staves in Piano staff.
Syntax: \change Staff = new-id
Properties:
name(symbol):
'ContextChangeName of this music object.
iterator-ctor(procedure):
ly:change-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.types(list):
'(general-music translator-change-instruction)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < ContextChange ] | [ Up : Music expressions ] | [ CrescendoEvent > ] | ||
1.1.16 ContextSpeccedMusic
Interpret the argument music within a specific context.
Properties:
name(symbol):
'ContextSpeccedMusicName of this music object.
iterator-ctor(procedure):
ly:context-specced-music-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.length-callback(procedure):
ly:music-wrapper::length-callbackHow to compute the duration of this music. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
start-callback(procedure):
ly:music-wrapper::start-callbackFunction to compute the negative length of starting grace notes. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
types(list):
'(context-specification general-music music-wrapper-music)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < ContextSpeccedMusic ] | [ Up : Music expressions ] | [ DecrescendoEvent > ] | ||
1.1.17 CrescendoEvent
Begin or end a crescendo.
Syntax: note\cr … note\rc
You can also use \<, \!, \cresc, and
\endcresc. See the Notation Reference for details.
Event classes: crescendo-event, span-dynamic-event, span-event, music-event and StreamEvent.
Accepted by: Dynamic_engraver, Dynamic_performer and New_dynamic_engraver.
Properties:
name(symbol):
'CrescendoEventName of this music object.
types(list):
'(general-music span-event span-dynamic-event crescendo-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < CrescendoEvent ] | [ Up : Music expressions ] | [ Event > ] | ||
1.1.18 DecrescendoEvent
See CrescendoEvent.
Event classes: decrescendo-event, span-dynamic-event, span-event, music-event and StreamEvent.
Accepted by: Dynamic_engraver, Dynamic_performer and New_dynamic_engraver.
Properties:
name(symbol):
'DecrescendoEventName of this music object.
types(list):
'(general-music span-event span-dynamic-event decrescendo-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < DecrescendoEvent ] | [ Up : Music expressions ] | [ EventChord > ] | ||
1.1.19 Event
Atomic music event.
Properties:
name(symbol):
'EventName of this music object.
types(list):
'(general-music event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < Event ] | [ Up : Music expressions ] | [ ExtenderEvent > ] | ||
1.1.20 EventChord
Internally used to group a set of events.
Properties:
name(symbol):
'EventChordName of this music object.
iterator-ctor(procedure):
ly:event-chord-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.length-callback(procedure):
ly:music-sequence::maximum-length-callbackHow to compute the duration of this music. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
to-relative-callback(procedure):
ly:music-sequence::event-chord-relative-callbackHow to transform a piece of music to relative pitches.
types(list):
'(general-music event-chord simultaneous-music)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < EventChord ] | [ Up : Music expressions ] | [ FingeringEvent > ] | ||
1.1.21 ExtenderEvent
Extend lyrics.
Event classes: extender-event, music-event and StreamEvent.
Accepted by: Extender_engraver.
Properties:
name(symbol):
'ExtenderEventName of this music object.
types(list):
'(general-music extender-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < ExtenderEvent ] | [ Up : Music expressions ] | [ GlissandoEvent > ] | ||
1.1.22 FingeringEvent
Specify what finger to use for this note.
Event classes: fingering-event, music-event and StreamEvent.
Accepted by: Fingering_engraver.
Properties:
name(symbol):
'FingeringEventName of this music object.
types(list):
'(general-music fingering-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < FingeringEvent ] | [ Up : Music expressions ] | [ GraceMusic > ] | ||
1.1.23 GlissandoEvent
Start a glissando on this note.
Event classes: glissando-event, music-event and StreamEvent.
Accepted by: Glissando_engraver.
Properties:
name(symbol):
'GlissandoEventName of this music object.
types(list):
'(general-music glissando-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < GlissandoEvent ] | [ Up : Music expressions ] | [ HarmonicEvent > ] | ||
1.1.24 GraceMusic
Interpret the argument as grace notes.
Properties:
name(symbol):
'GraceMusicName of this music object.
start-callback(procedure):
ly:grace-music::start-callbackFunction to compute the negative length of starting grace notes. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
length(moment):
#<Mom 0>The duration of this music.
iterator-ctor(procedure):
ly:grace-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.types(list):
'(grace-music music-wrapper-music general-music)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < GraceMusic ] | [ Up : Music expressions ] | [ HyphenEvent > ] | ||
1.1.25 HarmonicEvent
Mark a note as harmonic.
Event classes: harmonic-event, music-event and StreamEvent.
Not accepted by any engraver or performer.
Properties:
name(symbol):
'HarmonicEventName of this music object.
types(list):
'(general-music event harmonic-event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < HarmonicEvent ] | [ Up : Music expressions ] | [ KeyChangeEvent > ] | ||
1.1.26 HyphenEvent
A hyphen between lyric syllables.
Event classes: hyphen-event, music-event and StreamEvent.
Accepted by: Hyphen_engraver.
Properties:
name(symbol):
'HyphenEventName of this music object.
types(list):
'(general-music hyphen-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < HyphenEvent ] | [ Up : Music expressions ] | [ LabelEvent > ] | ||
1.1.27 KeyChangeEvent
Change the key signature.
Syntax: \key name scale
Event classes: key-change-event, music-event and StreamEvent.
Accepted by: Key_engraver and Key_performer.
Properties:
name(symbol):
'KeyChangeEventName of this music object.
to-relative-callback(procedure):
#<procedure #f (x p)>How to transform a piece of music to relative pitches.
types(list):
'(general-music key-change-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < KeyChangeEvent ] | [ Up : Music expressions ] | [ LaissezVibrerEvent > ] | ||
1.1.28 LabelEvent
Place a bookmarking label.
Event classes: label-event, music-event and StreamEvent.
Accepted by: Paper_column_engraver.
Properties:
name(symbol):
'LabelEventName of this music object.
types(list):
'(general-music label-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < LabelEvent ] | [ Up : Music expressions ] | [ LigatureEvent > ] | ||
1.1.29 LaissezVibrerEvent
Don’t damp this chord.
Syntax: note\laissezVibrer
Event classes: laissez-vibrer-event, music-event and StreamEvent.
Accepted by: Laissez_vibrer_engraver.
Properties:
name(symbol):
'LaissezVibrerEventName of this music object.
types(list):
'(general-music event laissez-vibrer-event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < LaissezVibrerEvent ] | [ Up : Music expressions ] | [ LineBreakEvent > ] | ||
1.1.30 LigatureEvent
Start or end a ligature.
Event classes: ligature-event, span-event, music-event and StreamEvent.
Accepted by: Ligature_bracket_engraver, Mensural_ligature_engraver and Vaticana_ligature_engraver.
Properties:
name(symbol):
'LigatureEventName of this music object.
span-type(string):
'ligatureWhat kind of spanner should be created?
TODO: Consider making type into symbol.
types(list):
'(general-music span-event ligature-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < LigatureEvent ] | [ Up : Music expressions ] | [ LyricCombineMusic > ] | ||
1.1.31 LineBreakEvent
Allow, forbid or force a line break.
Event classes: line-break-event, break-event, music-event and StreamEvent.
Accepted by: Page_turn_engraver and Paper_column_engraver.
Properties:
name(symbol):
'LineBreakEventName of this music object.
types(list):
'(general-music line-break-event break-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < LineBreakEvent ] | [ Up : Music expressions ] | [ LyricEvent > ] | ||
1.1.32 LyricCombineMusic
Align lyrics to the start of notes.
Syntax: \lyricsto voicename lyrics
Properties:
name(symbol):
'LyricCombineMusicName of this music object.
length(moment):
#<Mom 0>The duration of this music.
types(list):
'(general-music lyric-combine-music)The types of this music object; determines by what engraver this music expression is processed.
iterator-ctor(procedure):
ly:lyric-combine-music-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < LyricCombineMusic ] | [ Up : Music expressions ] | [ MarkEvent > ] | ||
1.1.33 LyricEvent
A lyric syllable. Must be entered in lyrics mode,
i.e., \lyrics { twinkle4 twinkle4 } .
Event classes: lyric-event, rhythmic-event, music-event and StreamEvent.
Accepted by: Lyric_engraver and Lyric_performer.
Properties:
name(symbol):
'LyricEventName of this music object.
types(list):
'(general-music rhythmic-event lyric-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < LyricEvent ] | [ Up : Music expressions ] | [ MultiMeasureRestEvent > ] | ||
1.1.34 MarkEvent
Insert a rehearsal mark.
Syntax: \mark marker
Example: \mark "A"
Event classes: mark-event, music-event and StreamEvent.
Accepted by: Mark_engraver.
Properties:
name(symbol):
'MarkEventName of this music object.
types(list):
'(general-music mark-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < MarkEvent ] | [ Up : Music expressions ] | [ MultiMeasureRestMusic > ] | ||
1.1.35 MultiMeasureRestEvent
Used internally by MultiMeasureRestMusic
to signal rests.
Event classes: multi-measure-rest-event, rhythmic-event, music-event and StreamEvent.
Accepted by: Multi_measure_rest_engraver.
Properties:
name(symbol):
'MultiMeasureRestEventName of this music object.
types(list):
'(general-music event rhythmic-event multi-measure-rest-event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < MultiMeasureRestEvent ] | [ Up : Music expressions ] | [ MultiMeasureTextEvent > ] | ||
1.1.36 MultiMeasureRestMusic
Rests that may be compressed into Multi rests.
Syntax: R2.*4 for 4 measures in 3/4 time.
Properties:
name(symbol):
'MultiMeasureRestMusicName of this music object.
iterator-ctor(procedure):
ly:sequential-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.elements-callback(procedure):
mm-rest-child-listReturn a list of children, for use by a sequential iterator. Takes a single music parameter.
types(list):
'(general-music multi-measure-rest)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < MultiMeasureRestMusic ] | [ Up : Music expressions ] | [ Music > ] | ||
1.1.37 MultiMeasureTextEvent
Texts on multi measure rests.
Syntax: R-\markup { \roman "bla" }
Note the explicit font switch.
Event classes: multi-measure-text-event, music-event and StreamEvent.
Accepted by: Multi_measure_rest_engraver.
Properties:
name(symbol):
'MultiMeasureTextEventName of this music object.
types(list):
'(general-music event multi-measure-text-event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < MultiMeasureTextEvent ] | [ Up : Music expressions ] | [ NoteEvent > ] | ||
1.1.38 Music
Generic type for music expressions.
Properties:
name(symbol):
'MusicName of this music object.
types(list):
'(general-music)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < Music ] | [ Up : Music expressions ] | [ NoteGroupingEvent > ] | ||
1.1.39 NoteEvent
A note.
Event classes: note-event, melodic-event, rhythmic-event, music-event and StreamEvent.
Accepted by: Chord_name_engraver, Completion_heads_engraver, Drum_note_performer, Drum_notes_engraver, Fretboard_engraver, Note_heads_engraver, Note_name_engraver, Note_performer and Tab_note_heads_engraver.
Properties:
name(symbol):
'NoteEventName of this music object.
types(list):
'(general-music event note-event rhythmic-event melodic-event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < NoteEvent ] | [ Up : Music expressions ] | [ OverrideProperty > ] | ||
1.1.40 NoteGroupingEvent
Start or stop grouping brackets.
Event classes: note-grouping-event, music-event and StreamEvent.
Accepted by: Horizontal_bracket_engraver.
Properties:
name(symbol):
'NoteGroupingEventName of this music object.
types(list):
'(general-music event note-grouping-event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < NoteGroupingEvent ] | [ Up : Music expressions ] | [ PageBreakEvent > ] | ||
1.1.41 OverrideProperty
Extend the definition of a graphical object.
Syntax: \override [ context . ]
object property = value
Properties:
name(symbol):
'OverridePropertyName of this music object.
types(list):
'(general-music layout-instruction-event override-property-event)The types of this music object; determines by what engraver this music expression is processed.
iterator-ctor(procedure):
ly:push-property-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < OverrideProperty ] | [ Up : Music expressions ] | [ PageTurnEvent > ] | ||
1.1.42 PageBreakEvent
Allow, forbid or force a page break.
Event classes: page-break-event, break-event, music-event and StreamEvent.
Accepted by: Page_turn_engraver and Paper_column_engraver.
Properties:
name(symbol):
'PageBreakEventName of this music object.
types(list):
'(general-music break-event page-break-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < PageBreakEvent ] | [ Up : Music expressions ] | [ PartCombineMusic > ] | ||
1.1.43 PageTurnEvent
Allow, forbid or force a page turn.
Event classes: page-turn-event, break-event, music-event and StreamEvent.
Accepted by: Page_turn_engraver and Paper_column_engraver.
Properties:
name(symbol):
'PageTurnEventName of this music object.
types(list):
'(general-music break-event page-turn-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < PageTurnEvent ] | [ Up : Music expressions ] | [ PercentEvent > ] | ||
1.1.44 PartCombineMusic
Combine two parts on a staff, either merged or as separate voices.
Properties:
name(symbol):
'PartCombineMusicName of this music object.
length-callback(procedure):
ly:music-sequence::maximum-length-callbackHow to compute the duration of this music. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
start-callback(procedure):
ly:music-sequence::minimum-start-callbackFunction to compute the negative length of starting grace notes. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
types(list):
'(general-music part-combine-music)The types of this music object; determines by what engraver this music expression is processed.
iterator-ctor(procedure):
ly:part-combine-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < PartCombineMusic ] | [ Up : Music expressions ] | [ PercentRepeatedMusic > ] | ||
1.1.45 PercentEvent
Used internally to signal percent repeats.
Event classes: percent-event, rhythmic-event, music-event and StreamEvent.
Accepted by: Percent_repeat_engraver and Slash_repeat_engraver.
Properties:
name(symbol):
'PercentEventName of this music object.
types(list):
'(general-music event percent-event rhythmic-event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < PercentEvent ] | [ Up : Music expressions ] | [ PesOrFlexaEvent > ] | ||
1.1.46 PercentRepeatedMusic
Repeats encoded by percents.
Properties:
name(symbol):
'PercentRepeatedMusicName of this music object.
iterator-ctor(procedure):
ly:percent-repeat-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.start-callback(procedure):
ly:repeated-music::first-startFunction to compute the negative length of starting grace notes. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
length-callback(procedure):
ly:repeated-music::unfolded-music-lengthHow to compute the duration of this music. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
types(list):
'(general-music repeated-music percent-repeated-music)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < PercentRepeatedMusic ] | [ Up : Music expressions ] | [ PhrasingSlurEvent > ] | ||
1.1.47 PesOrFlexaEvent
Within a ligature, mark the previous and the following note to form a pes (if melody goes up) or a flexa (if melody goes down).
Event classes: pes-or-flexa-event, music-event and StreamEvent.
Accepted by: Vaticana_ligature_engraver.
Properties:
name(symbol):
'PesOrFlexaEventName of this music object.
types(list):
'(general-music pes-or-flexa-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < PesOrFlexaEvent ] | [ Up : Music expressions ] | [ PropertySet > ] | ||
1.1.48 PhrasingSlurEvent
Start or end phrasing slur.
Syntax: note\( and note\)
Event classes: phrasing-slur-event, span-event, music-event and StreamEvent.
Accepted by: Phrasing_slur_engraver.
Properties:
name(symbol):
'PhrasingSlurEventName of this music object.
types(list):
'(general-music span-event event phrasing-slur-event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < PhrasingSlurEvent ] | [ Up : Music expressions ] | [ PropertyUnset > ] | ||
1.1.49 PropertySet
Set a context property.
Syntax: \property context.prop = scheme-val
Properties:
name(symbol):
'PropertySetName of this music object.
types(list):
'(layout-instruction-event general-music)The types of this music object; determines by what engraver this music expression is processed.
iterator-ctor(procedure):
ly:property-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < PropertySet ] | [ Up : Music expressions ] | [ QuoteMusic > ] | ||
1.1.50 PropertyUnset
Remove the definition of a context
\property.
Properties:
name(symbol):
'PropertyUnsetName of this music object.
types(list):
'(layout-instruction-event general-music)The types of this music object; determines by what engraver this music expression is processed.
iterator-ctor(procedure):
ly:property-unset-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < PropertyUnset ] | [ Up : Music expressions ] | [ RelativeOctaveCheck > ] | ||
1.1.51 QuoteMusic
Quote preprocessed snippets of music.
Properties:
name(symbol):
'QuoteMusicName of this music object.
iterator-ctor(procedure):
ly:music-wrapper-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.length-callback(procedure):
ly:music-wrapper::length-callbackHow to compute the duration of this music. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
start-callback(procedure):
ly:music-wrapper::start-callbackFunction to compute the negative length of starting grace notes. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
types(list):
'(general-music music-wrapper-music)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < QuoteMusic ] | [ Up : Music expressions ] | [ RelativeOctaveMusic > ] | ||
1.1.52 RelativeOctaveCheck
Check if a pitch is in the correct octave.
Properties:
name(symbol):
'RelativeOctaveCheckName of this music object.
to-relative-callback(procedure):
ly:relative-octave-check::relative-callbackHow to transform a piece of music to relative pitches.
types(list):
'(general-music relative-octave-check)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < RelativeOctaveCheck ] | [ Up : Music expressions ] | [ RepeatTieEvent > ] | ||
1.1.53 RelativeOctaveMusic
Music that was entered in relative octave notation.
Properties:
name(symbol):
'RelativeOctaveMusicName of this music object.
to-relative-callback(procedure):
ly:relative-octave-music::relative-callbackHow to transform a piece of music to relative pitches.
iterator-ctor(procedure):
ly:music-wrapper-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.length-callback(procedure):
ly:music-wrapper::length-callbackHow to compute the duration of this music. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
start-callback(procedure):
ly:music-wrapper::start-callbackFunction to compute the negative length of starting grace notes. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
types(list):
'(music-wrapper-music general-music relative-octave-music)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < RelativeOctaveMusic ] | [ Up : Music expressions ] | [ RepeatedMusic > ] | ||
1.1.54 RepeatTieEvent
Ties for starting a second volta bracket.
Event classes: repeat-tie-event, music-event and StreamEvent.
Accepted by: Repeat_tie_engraver.
Properties:
name(symbol):
'RepeatTieEventName of this music object.
types(list):
'(general-music event repeat-tie-event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < RepeatTieEvent ] | [ Up : Music expressions ] | [ RestEvent > ] | ||
1.1.55 RepeatedMusic
Repeat music in different ways.
Properties:
name(symbol):
'RepeatedMusicName of this music object.
types(list):
'(general-music repeated-music)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < RepeatedMusic ] | [ Up : Music expressions ] | [ RevertProperty > ] | ||
1.1.56 RestEvent
A Rest.
Syntax: r4 for a quarter rest.
Event classes: rest-event, rhythmic-event, music-event and StreamEvent.
Accepted by: Figured_bass_engraver and Rest_engraver.
Properties:
name(symbol):
'RestEventName of this music object.
types(list):
'(general-music event rhythmic-event rest-event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < RestEvent ] | [ Up : Music expressions ] | [ ScriptEvent > ] | ||
1.1.57 RevertProperty
The opposite of OverrideProperty: remove a previously added property from a graphical object definition.
Properties:
name(symbol):
'RevertPropertyName of this music object.
types(list):
'(general-music layout-instruction-event)The types of this music object; determines by what engraver this music expression is processed.
iterator-ctor(procedure):
ly:pop-property-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < RevertProperty ] | [ Up : Music expressions ] | [ SequentialMusic > ] | ||
1.1.58 ScriptEvent
Add an articulation mark to a note.
Event classes: script-event, music-event and StreamEvent.
Not accepted by any engraver or performer.
Properties:
name(symbol):
'ScriptEventName of this music object.
types(list):
'(general-music event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < ScriptEvent ] | [ Up : Music expressions ] | [ SimultaneousMusic > ] | ||
1.1.59 SequentialMusic
Music expressions concatenated.
Syntax: \sequential { … } or simply { … }
Properties:
name(symbol):
'SequentialMusicName of this music object.
length-callback(procedure):
ly:music-sequence::cumulative-length-callbackHow to compute the duration of this music. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
start-callback(procedure):
ly:music-sequence::first-start-callbackFunction to compute the negative length of starting grace notes. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
elements-callback(procedure):
#<procedure #f (m)>Return a list of children, for use by a sequential iterator. Takes a single music parameter.
iterator-ctor(procedure):
ly:sequential-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.types(list):
'(general-music sequential-music)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < SequentialMusic ] | [ Up : Music expressions ] | [ SkipEvent > ] | ||
1.1.60 SimultaneousMusic
Music playing together.
Syntax: \simultaneous { … } or << … >>
Properties:
name(symbol):
'SimultaneousMusicName of this music object.
iterator-ctor(procedure):
ly:simultaneous-music-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.start-callback(procedure):
ly:music-sequence::minimum-start-callbackFunction to compute the negative length of starting grace notes. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
length-callback(procedure):
ly:music-sequence::maximum-length-callbackHow to compute the duration of this music. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
to-relative-callback(procedure):
ly:music-sequence::simultaneous-relative-callbackHow to transform a piece of music to relative pitches.
types(list):
'(general-music simultaneous-music)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < SimultaneousMusic ] | [ Up : Music expressions ] | [ SkipMusic > ] | ||
1.1.61 SkipEvent
Filler that takes up duration, but does not print anything.
Syntax: s4 for a skip equivalent to a quarter rest.
Event classes: skip-event, rhythmic-event, music-event and StreamEvent.
Not accepted by any engraver or performer.
Properties:
name(symbol):
'SkipEventName of this music object.
types(list):
'(general-music event rhythmic-event skip-event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < SkipEvent ] | [ Up : Music expressions ] | [ SlurEvent > ] | ||
1.1.62 SkipMusic
Filler that takes up duration, does not print anything, and also does not create staves or voices implicitly.
Syntax: \skip duration
Properties:
name(symbol):
'SkipMusicName of this music object.
length-callback(procedure):
ly:music-duration-lengthHow to compute the duration of this music. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
iterator-ctor(procedure):
ly:simple-music-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.types(list):
'(general-music event rhythmic-event skip-event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < SkipMusic ] | [ Up : Music expressions ] | [ SoloOneEvent > ] | ||
1.1.63 SlurEvent
Start or end slur.
Syntax: note( and note)
Event classes: slur-event, span-event, music-event and StreamEvent.
Accepted by: Slur_engraver and Slur_performer.
Properties:
name(symbol):
'SlurEventName of this music object.
types(list):
'(general-music span-event event slur-event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < SlurEvent ] | [ Up : Music expressions ] | [ SoloTwoEvent > ] | ||
1.1.64 SoloOneEvent
Print ‘Solo 1’.
Event classes: solo-one-event, part-combine-event, music-event and StreamEvent.
Accepted by: Part_combine_engraver.
Properties:
name(symbol):
'SoloOneEventName of this music object.
part-combine-status(symbol):
'solo1Change to what kind of state? Options are
solo1,solo2andunisono.types(list):
'(general-music event part-combine-event solo-one-event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < SoloOneEvent ] | [ Up : Music expressions ] | [ SostenutoEvent > ] | ||
1.1.65 SoloTwoEvent
Print ‘Solo 2’.
Event classes: solo-two-event, part-combine-event, music-event and StreamEvent.
Accepted by: Part_combine_engraver.
Properties:
name(symbol):
'SoloTwoEventName of this music object.
part-combine-status(symbol):
'solo2Change to what kind of state? Options are
solo1,solo2andunisono.types(list):
'(general-music event part-combine-event solo-two-event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < SoloTwoEvent ] | [ Up : Music expressions ] | [ SpacingSectionEvent > ] | ||
1.1.66 SostenutoEvent
Depress or release sostenuto pedal.
Event classes: sostenuto-event, pedal-event, span-event, music-event and StreamEvent.
Accepted by: Piano_pedal_engraver and Piano_pedal_performer.
Properties:
name(symbol):
'SostenutoEventName of this music object.
types(list):
'(general-music event pedal-event sostenuto-event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < SostenutoEvent ] | [ Up : Music expressions ] | [ SpanEvent > ] | ||
1.1.67 SpacingSectionEvent
Start a new spacing section.
Event classes: spacing-section-event, music-event and StreamEvent.
Accepted by: Spacing_engraver.
Properties:
name(symbol):
'SpacingSectionEventName of this music object.
types(list):
'(general-music event spacing-section-event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < SpacingSectionEvent ] | [ Up : Music expressions ] | [ StaffSpanEvent > ] | ||
1.1.68 SpanEvent
Event for anything that is started at a different time than stopped.
Event classes: span-event, music-event and StreamEvent.
Not accepted by any engraver or performer.
Properties:
name(symbol):
'SpanEventName of this music object.
types(list):
'(general-music event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < SpanEvent ] | [ Up : Music expressions ] | [ StringNumberEvent > ] | ||
1.1.69 StaffSpanEvent
Start or stop a staff symbol.
Event classes: staff-span-event, span-event, music-event and StreamEvent.
Accepted by: Staff_symbol_engraver.
Properties:
name(symbol):
'StaffSpanEventName of this music object.
types(list):
'(general-music event span-event staff-span-event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < StaffSpanEvent ] | [ Up : Music expressions ] | [ StrokeFingerEvent > ] | ||
1.1.70 StringNumberEvent
Specify on which string to play this note.
Syntax: \number
Event classes: string-number-event, music-event and StreamEvent.
Accepted by: Fretboard_engraver and Tab_note_heads_engraver.
Properties:
name(symbol):
'StringNumberEventName of this music object.
types(list):
'(general-music string-number-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < StringNumberEvent ] | [ Up : Music expressions ] | [ SustainEvent > ] | ||
1.1.71 StrokeFingerEvent
Specify with which finger to pluck a string.
Syntax: \rightHandFinger text
Event classes: stroke-finger-event, music-event and StreamEvent.
Accepted by: Fingering_engraver.
Properties:
name(symbol):
'StrokeFingerEventName of this music object.
types(list):
'(general-music stroke-finger-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < StrokeFingerEvent ] | [ Up : Music expressions ] | [ TextScriptEvent > ] | ||
1.1.72 SustainEvent
Depress or release sustain pedal.
Event classes: sustain-event, pedal-event, span-event, music-event and StreamEvent.
Accepted by: Piano_pedal_engraver and Piano_pedal_performer.
Properties:
name(symbol):
'SustainEventName of this music object.
types(list):
'(general-music event pedal-event sustain-event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < SustainEvent ] | [ Up : Music expressions ] | [ TextSpanEvent > ] | ||
1.1.73 TextScriptEvent
Print text.
Event classes: text-script-event, script-event, music-event and StreamEvent.
Accepted by: Text_engraver.
Properties:
name(symbol):
'TextScriptEventName of this music object.
types(list):
'(general-music script-event text-script-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < TextScriptEvent ] | [ Up : Music expressions ] | [ TieEvent > ] | ||
1.1.74 TextSpanEvent
Start a text spanner, e.g., 8va.....|
Event classes: text-span-event, span-event, music-event and StreamEvent.
Accepted by: Text_spanner_engraver.
Properties:
name(symbol):
'TextSpanEventName of this music object.
types(list):
'(general-music span-event event text-span-event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < TextSpanEvent ] | [ Up : Music expressions ] | [ TimeScaledMusic > ] | ||
1.1.75 TieEvent
A tie.
Syntax: note-~
Event classes: tie-event, music-event and StreamEvent.
Accepted by: Completion_heads_engraver, Tie_engraver and Tie_performer.
Properties:
name(symbol):
'TieEventName of this music object.
types(list):
'(general-music tie-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < TieEvent ] | [ Up : Music expressions ] | [ TransposedMusic > ] | ||
1.1.76 TimeScaledMusic
Multiply durations, as in tuplets.
Syntax: \times fraction music, e.g.
\times 2/3 { … } for triplets.
Properties:
name(symbol):
'TimeScaledMusicName of this music object.
length-callback(procedure):
ly:music-wrapper::length-callbackHow to compute the duration of this music. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
start-callback(procedure):
ly:music-wrapper::start-callbackFunction to compute the negative length of starting grace notes. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
iterator-ctor(procedure):
ly:time-scaled-music-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.types(list):
'(time-scaled-music music-wrapper-music general-music)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < TimeScaledMusic ] | [ Up : Music expressions ] | [ TremoloEvent > ] | ||
1.1.77 TransposedMusic
Music that has been transposed.
Properties:
name(symbol):
'TransposedMusicName of this music object.
iterator-ctor(procedure):
ly:music-wrapper-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.start-callback(procedure):
ly:music-wrapper::start-callbackFunction to compute the negative length of starting grace notes. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
length-callback(procedure):
ly:music-wrapper::length-callbackHow to compute the duration of this music. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
to-relative-callback(procedure):
ly:relative-octave-music::no-relative-callbackHow to transform a piece of music to relative pitches.
types(list):
'(music-wrapper-music general-music transposed-music)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < TransposedMusic ] | [ Up : Music expressions ] | [ TremoloRepeatedMusic > ] | ||
1.1.78 TremoloEvent
Unmeasured tremolo.
Event classes: tremolo-event, music-event and StreamEvent.
Accepted by: Stem_engraver.
Properties:
name(symbol):
'TremoloEventName of this music object.
types(list):
'(general-music event tremolo-event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < TremoloEvent ] | [ Up : Music expressions ] | [ TremoloSpanEvent > ] | ||
1.1.79 TremoloRepeatedMusic
Repeated notes denoted by tremolo beams.
Properties:
name(symbol):
'TremoloRepeatedMusicName of this music object.
iterator-ctor(procedure):
ly:chord-tremolo-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.start-callback(procedure):
ly:repeated-music::first-startFunction to compute the negative length of starting grace notes. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
length-callback(procedure):
ly:repeated-music::folded-music-lengthHow to compute the duration of this music. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
types(list):
'(general-music repeated-music tremolo-repeated-music)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < TremoloRepeatedMusic ] | [ Up : Music expressions ] | [ TrillSpanEvent > ] | ||
1.1.80 TremoloSpanEvent
Tremolo over two stems
Event classes: tremolo-span-event, span-event, music-event and StreamEvent.
Accepted by: Chord_tremolo_engraver.
Properties:
name(symbol):
'TremoloSpanEventName of this music object.
types(list):
'(general-music event span-event tremolo-span-event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < TremoloSpanEvent ] | [ Up : Music expressions ] | [ TupletSpanEvent > ] | ||
1.1.81 TrillSpanEvent
Start a trill spanner tr~~~
Event classes: trill-span-event, span-event, music-event and StreamEvent.
Accepted by: Trill_spanner_engraver.
Properties:
name(symbol):
'TrillSpanEventName of this music object.
types(list):
'(general-music span-event event trill-span-event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < TrillSpanEvent ] | [ Up : Music expressions ] | [ UnaCordaEvent > ] | ||
1.1.82 TupletSpanEvent
Used internally to signal where tuplet brackets start and stop.
Event classes: tuplet-span-event, span-event, music-event and StreamEvent.
Accepted by: Tuplet_engraver.
Properties:
name(symbol):
'TupletSpanEventName of this music object.
types(list):
'(tuplet-span-event span-event event general-music)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < TupletSpanEvent ] | [ Up : Music expressions ] | [ UnfoldedRepeatedMusic > ] | ||
1.1.83 UnaCordaEvent
Depress or release una-corda pedal.
Event classes: una-corda-event, pedal-event, span-event, music-event and StreamEvent.
Accepted by: Piano_pedal_engraver and Piano_pedal_performer.
Properties:
name(symbol):
'UnaCordaEventName of this music object.
types(list):
'(general-music event pedal-event una-corda-event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < UnaCordaEvent ] | [ Up : Music expressions ] | [ UnisonoEvent > ] | ||
1.1.84 UnfoldedRepeatedMusic
Repeated music which is fully written (and played) out.
Properties:
name(symbol):
'UnfoldedRepeatedMusicName of this music object.
iterator-ctor(procedure):
ly:unfolded-repeat-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.start-callback(procedure):
ly:repeated-music::first-startFunction to compute the negative length of starting grace notes. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
types(list):
'(general-music repeated-music unfolded-repeated-music)The types of this music object; determines by what engraver this music expression is processed.
length-callback(procedure):
ly:repeated-music::unfolded-music-lengthHow to compute the duration of this music. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < UnfoldedRepeatedMusic ] | [ Up : Music expressions ] | [ UnrelativableMusic > ] | ||
1.1.85 UnisonoEvent
Print ‘a 2’.
Event classes: unisono-event, part-combine-event, music-event and StreamEvent.
Accepted by: Part_combine_engraver.
Properties:
name(symbol):
'UnisonoEventName of this music object.
part-combine-status(symbol):
'unisonoChange to what kind of state? Options are
solo1,solo2andunisono.types(list):
'(general-music event part-combine-event unisono-event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < UnisonoEvent ] | [ Up : Music expressions ] | [ VoiceSeparator > ] | ||
1.1.86 UnrelativableMusic
Music that cannot be converted from relative to absolute notation. For example, transposed music.
Properties:
name(symbol):
'UnrelativableMusicName of this music object.
to-relative-callback(procedure):
ly:relative-octave-music::no-relative-callbackHow to transform a piece of music to relative pitches.
iterator-ctor(procedure):
ly:music-wrapper-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.length-callback(procedure):
ly:music-wrapper::length-callbackHow to compute the duration of this music. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
types(list):
'(music-wrapper-music general-music unrelativable-music)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < UnrelativableMusic ] | [ Up : Music expressions ] | [ VoltaRepeatedMusic > ] | ||
1.1.87 VoiceSeparator
Separate polyphonic voices in simultaneous music.
Syntax: \\
Properties:
name(symbol):
'VoiceSeparatorName of this music object.
types(list):
'(separator general-music)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < VoiceSeparator ] | [ Up : Music expressions ] | [ Music classes > ] | ||
1.1.88 VoltaRepeatedMusic
Repeats with alternatives placed sequentially.
Properties:
name(symbol):
'VoltaRepeatedMusicName of this music object.
iterator-ctor(procedure):
ly:volta-repeat-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.start-callback(procedure):
ly:repeated-music::first-startFunction to compute the negative length of starting grace notes. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
length-callback(procedure):
ly:repeated-music::volta-music-lengthHow to compute the duration of this music. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
types(list):
'(general-music repeated-music volta-repeated-music)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < VoltaRepeatedMusic ] | [ Up : Music definitions ] | [ StreamEvent > ] | ||
1.2 Music classes
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < Music classes ] | [ Up : Music classes ] | [ absolute-dynamic-event > ] | ||
1.2.1 StreamEvent
Music event type StreamEvent is in music objects of type AbsoluteDynamicEvent, AnnotateOutputEvent, ApplyOutputEvent, ArpeggioEvent, ArticulationEvent, BassFigureEvent, BeamEvent, BeamForbidEvent, BendAfterEvent, BreathingEvent, ClusterNoteEvent, CrescendoEvent, DecrescendoEvent, ExtenderEvent, FingeringEvent, GlissandoEvent, HarmonicEvent, HyphenEvent, KeyChangeEvent, LabelEvent, LaissezVibrerEvent, LigatureEvent, LineBreakEvent, LyricEvent, MarkEvent, MultiMeasureRestEvent, MultiMeasureTextEvent, NoteEvent, NoteGroupingEvent, PageBreakEvent, PageTurnEvent, PercentEvent, PesOrFlexaEvent, PhrasingSlurEvent, RepeatTieEvent, RestEvent, ScriptEvent, SkipEvent, SlurEvent, SoloOneEvent, SoloTwoEvent, SostenutoEvent, SpacingSectionEvent, SpanEvent, StaffSpanEvent, StringNumberEvent, StrokeFingerEvent, SustainEvent, TextScriptEvent, TextSpanEvent, TieEvent, TremoloEvent, TremoloSpanEvent, TrillSpanEvent, TupletSpanEvent, UnaCordaEvent and UnisonoEvent.
Not accepted by any engraver or performer.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < StreamEvent ] | [ Up : Music classes ] | [ annotate-output-event > ] | ||
1.2.2 absolute-dynamic-event
Music event type absolute-dynamic-event is in music objects of type AbsoluteDynamicEvent.
Accepted by: Dynamic_engraver, Dynamic_performer and New_dynamic_engraver.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < absolute-dynamic-event ] | [ Up : Music classes ] | [ apply-output-event > ] | ||
1.2.3 annotate-output-event
Music event type annotate-output-event is in music objects of type AnnotateOutputEvent.
Accepted by: Balloon_engraver.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < annotate-output-event ] | [ Up : Music classes ] | [ arpeggio-event > ] | ||
1.2.4 apply-output-event
Music event type apply-output-event is in music objects of type ApplyOutputEvent.
Accepted by: Output_property_engraver.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < apply-output-event ] | [ Up : Music classes ] | [ articulation-event > ] | ||
1.2.5 arpeggio-event
Music event type arpeggio-event is in music objects of type ArpeggioEvent.
Accepted by: Arpeggio_engraver.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < arpeggio-event ] | [ Up : Music classes ] | [ bass-figure-event > ] | ||
1.2.6 articulation-event
Music event type articulation-event is in music objects of type ArticulationEvent.
Accepted by: Script_engraver.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < articulation-event ] | [ Up : Music classes ] | [ beam-event > ] | ||
1.2.7 bass-figure-event
Music event type bass-figure-event is in music objects of type BassFigureEvent.
Accepted by: Figured_bass_engraver.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < bass-figure-event ] | [ Up : Music classes ] | [ beam-forbid-event > ] | ||
1.2.8 beam-event
Music event type beam-event is in music objects of type BeamEvent.
Accepted by: Beam_engraver, Beam_performer and Grace_beam_engraver.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < beam-event ] | [ Up : Music classes ] | [ bend-after-event > ] | ||
1.2.9 beam-forbid-event
Music event type beam-forbid-event is in music objects of type BeamForbidEvent.
Accepted by: Auto_beam_engraver.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < beam-forbid-event ] | [ Up : Music classes ] | [ break-event > ] | ||
1.2.10 bend-after-event
Music event type bend-after-event is in music objects of type BendAfterEvent.
Accepted by: Bend_engraver.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < bend-after-event ] | [ Up : Music classes ] | [ breathing-event > ] | ||
1.2.11 break-event
Music event type break-event is in music objects of type LineBreakEvent, PageBreakEvent and PageTurnEvent.
Accepted by: Page_turn_engraver and Paper_column_engraver.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < break-event ] | [ Up : Music classes ] | [ cluster-note-event > ] | ||
1.2.12 breathing-event
Music event type breathing-event is in music objects of type BreathingEvent.
Accepted by: Breathing_sign_engraver.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < breathing-event ] | [ Up : Music classes ] | [ crescendo-event > ] | ||
1.2.13 cluster-note-event
Music event type cluster-note-event is in music objects of type ClusterNoteEvent.
Accepted by: Cluster_spanner_engraver.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < cluster-note-event ] | [ Up : Music classes ] | [ decrescendo-event > ] | ||
1.2.14 crescendo-event
Music event type crescendo-event is in music objects of type CrescendoEvent.
Accepted by: Dynamic_performer.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < crescendo-event ] | [ Up : Music classes ] | [ dynamic-event > ] | ||
1.2.15 decrescendo-event
Music event type decrescendo-event is in music objects of type DecrescendoEvent.
Accepted by: Dynamic_performer.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < decrescendo-event ] | [ Up : Music classes ] | [ extender-event > ] | ||
1.2.16 dynamic-event
Music event type dynamic-event is in music objects of type AbsoluteDynamicEvent.
Not accepted by any engraver or performer.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < dynamic-event ] | [ Up : Music classes ] | [ fingering-event > ] | ||
1.2.17 extender-event
Music event type extender-event is in music objects of type ExtenderEvent.
Accepted by: Extender_engraver.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < extender-event ] | [ Up : Music classes ] | [ glissando-event > ] | ||
1.2.18 fingering-event
Music event type fingering-event is in music objects of type FingeringEvent.
Accepted by: Fingering_engraver.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < fingering-event ] | [ Up : Music classes ] | [ harmonic-event > ] | ||
1.2.19 glissando-event
Music event type glissando-event is in music objects of type GlissandoEvent.
Accepted by: Glissando_engraver.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < glissando-event ] | [ Up : Music classes ] | [ hyphen-event > ] | ||
1.2.20 harmonic-event
Music event type harmonic-event is in music objects of type HarmonicEvent.
Not accepted by any engraver or performer.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < harmonic-event ] | [ Up : Music classes ] | [ key-change-event > ] | ||
1.2.21 hyphen-event
Music event type hyphen-event is in music objects of type HyphenEvent.
Accepted by: Hyphen_engraver.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < hyphen-event ] | [ Up : Music classes ] | [ label-event > ] | ||
1.2.22 key-change-event
Music event type key-change-event is in music objects of type KeyChangeEvent.
Accepted by: Key_engraver and Key_performer.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < key-change-event ] | [ Up : Music classes ] | [ laissez-vibrer-event > ] | ||
1.2.23 label-event
Music event type label-event is in music objects of type LabelEvent.
Accepted by: Paper_column_engraver.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < label-event ] | [ Up : Music classes ] | [ layout-instruction-event > ] | ||
1.2.24 laissez-vibrer-event
Music event type laissez-vibrer-event is in music objects of type LaissezVibrerEvent.
Accepted by: Laissez_vibrer_engraver.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < laissez-vibrer-event ] | [ Up : Music classes ] | [ ligature-event > ] | ||
1.2.25 layout-instruction-event
Music event type layout-instruction-event is in music objects of type ApplyOutputEvent.
Not accepted by any engraver or performer.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < layout-instruction-event ] | [ Up : Music classes ] | [ line-break-event > ] | ||
1.2.26 ligature-event
Music event type ligature-event is in music objects of type LigatureEvent.
Accepted by: Ligature_bracket_engraver, Mensural_ligature_engraver and Vaticana_ligature_engraver.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < ligature-event ] | [ Up : Music classes ] | [ lyric-event > ] | ||
1.2.27 line-break-event
Music event type line-break-event is in music objects of type LineBreakEvent.
Not accepted by any engraver or performer.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < line-break-event ] | [ Up : Music classes ] | [ mark-event > ] | ||
1.2.28 lyric-event
Music event type lyric-event is in music objects of type LyricEvent.
Accepted by: Lyric_engraver and Lyric_performer.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < lyric-event ] | [ Up : Music classes ] | [ melodic-event > ] | ||
1.2.29 mark-event
Music event type mark-event is in music objects of type MarkEvent.
Accepted by: Mark_engraver.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < mark-event ] | [ Up : Music classes ] | [ multi-measure-rest-event > ] | ||
1.2.30 melodic-event
Music event type melodic-event is in music objects of type ClusterNoteEvent and NoteEvent.
Not accepted by any engraver or performer.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < melodic-event ] | [ Up : Music classes ] | [ multi-measure-text-event > ] | ||
1.2.31 multi-measure-rest-event
Music event type multi-measure-rest-event is in music objects of type MultiMeasureRestEvent.
Accepted by: Multi_measure_rest_engraver.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < multi-measure-rest-event ] | [ Up : Music classes ] | [ music-event > ] | ||
1.2.32 multi-measure-text-event
Music event type multi-measure-text-event is in music objects of type MultiMeasureTextEvent.
Accepted by: Multi_measure_rest_engraver.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < multi-measure-text-event ] | [ Up : Music classes ] | [ note-event > ] | ||
1.2.33 music-event
Music event type music-event is in music objects of type AbsoluteDynamicEvent, AnnotateOutputEvent, ApplyOutputEvent, ArpeggioEvent, ArticulationEvent, BassFigureEvent, BeamEvent, BeamForbidEvent, BendAfterEvent, BreathingEvent, ClusterNoteEvent, CrescendoEvent, DecrescendoEvent, ExtenderEvent, FingeringEvent, GlissandoEvent, HarmonicEvent, HyphenEvent, KeyChangeEvent, LabelEvent, LaissezVibrerEvent, LigatureEvent, LineBreakEvent, LyricEvent, MarkEvent, MultiMeasureRestEvent, MultiMeasureTextEvent, NoteEvent, NoteGroupingEvent, PageBreakEvent, PageTurnEvent, PercentEvent, PesOrFlexaEvent, PhrasingSlurEvent, RepeatTieEvent, RestEvent, ScriptEvent, SkipEvent, SlurEvent, SoloOneEvent, SoloTwoEvent, SostenutoEvent, SpacingSectionEvent, SpanEvent, StaffSpanEvent, StringNumberEvent, StrokeFingerEvent, SustainEvent, TextScriptEvent, TextSpanEvent, TieEvent, TremoloEvent, TremoloSpanEvent, TrillSpanEvent, TupletSpanEvent, UnaCordaEvent and UnisonoEvent.
Not accepted by any engraver or performer.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < music-event ] | [ Up : Music classes ] | [ note-grouping-event > ] | ||
1.2.34 note-event
Music event type note-event is in music objects of type NoteEvent.
Accepted by: Chord_name_engraver, Completion_heads_engraver, Drum_note_performer, Drum_notes_engraver, Fretboard_engraver, Note_heads_engraver, Note_name_engraver, Note_performer and Tab_note_heads_engraver.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < note-event ] | [ Up : Music classes ] | [ page-break-event > ] | ||
1.2.35 note-grouping-event
Music event type note-grouping-event is in music objects of type NoteGroupingEvent.
Accepted by: Horizontal_bracket_engraver.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < note-grouping-event ] | [ Up : Music classes ] | [ page-turn-event > ] | ||
1.2.36 page-break-event
Music event type page-break-event is in music objects of type PageBreakEvent.
Not accepted by any engraver or performer.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < page-break-event ] | [ Up : Music classes ] | [ part-combine-event > ] | ||
1.2.37 page-turn-event
Music event type page-turn-event is in music objects of type PageTurnEvent.
Not accepted by any engraver or performer.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < page-turn-event ] | [ Up : Music classes ] | [ pedal-event > ] | ||
1.2.38 part-combine-event
Music event type part-combine-event is in music objects of type SoloOneEvent, SoloTwoEvent and UnisonoEvent.
Accepted by: Part_combine_engraver.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < part-combine-event ] | [ Up : Music classes ] | [ percent-event > ] | ||
1.2.39 pedal-event
Music event type pedal-event is in music objects of type SostenutoEvent, SustainEvent and UnaCordaEvent.
Not accepted by any engraver or performer.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < pedal-event ] | [ Up : Music classes ] | [ pes-or-flexa-event > ] | ||
1.2.40 percent-event
Music event type percent-event is in music objects of type PercentEvent.
Accepted by: Percent_repeat_engraver and Slash_repeat_engraver.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < percent-event ] | [ Up : Music classes ] | [ phrasing-slur-event > ] | ||
1.2.41 pes-or-flexa-event
Music event type pes-or-flexa-event is in music objects of type PesOrFlexaEvent.
Accepted by: Vaticana_ligature_engraver.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < pes-or-flexa-event ] | [ Up : Music classes ] | [ repeat-tie-event > ] | ||
1.2.42 phrasing-slur-event
Music event type phrasing-slur-event is in music objects of type PhrasingSlurEvent.
Accepted by: Phrasing_slur_engraver.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < phrasing-slur-event ] | [ Up : Music classes ] | [ rest-event > ] | ||
1.2.43 repeat-tie-event
Music event type repeat-tie-event is in music objects of type RepeatTieEvent.
Accepted by: Repeat_tie_engraver.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < repeat-tie-event ] | [ Up : Music classes ] | [ rhythmic-event > ] | ||
1.2.44 rest-event
Music event type rest-event is in music objects of type RestEvent.
Accepted by: Figured_bass_engraver and Rest_engraver.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < rest-event ] | [ Up : Music classes ] | [ script-event > ] | ||
1.2.45 rhythmic-event
Music event type rhythmic-event is in music objects of type BassFigureEvent, ClusterNoteEvent, LyricEvent, MultiMeasureRestEvent, NoteEvent, PercentEvent, RestEvent and SkipEvent.
Not accepted by any engraver or performer.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < rhythmic-event ] | [ Up : Music classes ] | [ skip-event > ] | ||
1.2.46 script-event
Music event type script-event is in music objects of type ArticulationEvent, ScriptEvent and TextScriptEvent.
Not accepted by any engraver or performer.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < script-event ] | [ Up : Music classes ] | [ slur-event > ] | ||
1.2.47 skip-event
Music event type skip-event is in music objects of type SkipEvent.
Not accepted by any engraver or performer.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < skip-event ] | [ Up : Music classes ] | [ solo-one-event > ] | ||
1.2.48 slur-event
Music event type slur-event is in music objects of type SlurEvent.
Accepted by: Slur_engraver and Slur_performer.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < slur-event ] | [ Up : Music classes ] | [ solo-two-event > ] | ||
1.2.49 solo-one-event
Music event type solo-one-event is in music objects of type SoloOneEvent.
Not accepted by any engraver or performer.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < solo-one-event ] | [ Up : Music classes ] | [ sostenuto-event > ] | ||
1.2.50 solo-two-event
Music event type solo-two-event is in music objects of type SoloTwoEvent.
Not accepted by any engraver or performer.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < solo-two-event ] | [ Up : Music classes ] | [ spacing-section-event > ] | ||
1.2.51 sostenuto-event
Music event type sostenuto-event is in music objects of type SostenutoEvent.
Accepted by: Piano_pedal_engraver and Piano_pedal_performer.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < sostenuto-event ] | [ Up : Music classes ] | [ span-dynamic-event > ] | ||
1.2.52 spacing-section-event
Music event type spacing-section-event is in music objects of type SpacingSectionEvent.
Accepted by: Spacing_engraver.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < spacing-section-event ] | [ Up : Music classes ] | [ span-event > ] | ||
1.2.53 span-dynamic-event
Music event type span-dynamic-event is in music objects of type CrescendoEvent and DecrescendoEvent.
Accepted by: Dynamic_engraver and New_dynamic_engraver.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < span-dynamic-event ] | [ Up : Music classes ] | [ staff-span-event > ] | ||
1.2.54 span-event
Music event type span-event is in music objects of type BeamEvent, CrescendoEvent, DecrescendoEvent, LigatureEvent, PhrasingSlurEvent, SlurEvent, SostenutoEvent, SpanEvent, StaffSpanEvent, SustainEvent, TextSpanEvent, TremoloSpanEvent, TrillSpanEvent, TupletSpanEvent and UnaCordaEvent.
Not accepted by any engraver or performer.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < span-event ] | [ Up : Music classes ] | [ string-number-event > ] | ||
1.2.55 staff-span-event
Music event type staff-span-event is in music objects of type StaffSpanEvent.
Accepted by: Staff_symbol_engraver.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < staff-span-event ] | [ Up : Music classes ] | [ stroke-finger-event > ] | ||
1.2.56 string-number-event
Music event type string-number-event is in music objects of type StringNumberEvent.
Accepted by: Fretboard_engraver and Tab_note_heads_engraver.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < string-number-event ] | [ Up : Music classes ] | [ sustain-event > ] | ||
1.2.57 stroke-finger-event
Music event type stroke-finger-event is in music objects of type StrokeFingerEvent.
Accepted by: Fingering_engraver.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < stroke-finger-event ] | [ Up : Music classes ] | [ text-script-event > ] | ||
1.2.58 sustain-event
Music event type sustain-event is in music objects of type SustainEvent.
Accepted by: Piano_pedal_engraver and Piano_pedal_performer.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < sustain-event ] | [ Up : Music classes ] | [ text-span-event > ] | ||
1.2.59 text-script-event
Music event type text-script-event is in music objects of type TextScriptEvent.
Accepted by: Text_engraver.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < text-script-event ] | [ Up : Music classes ] | [ tie-event > ] | ||
1.2.60 text-span-event
Music event type text-span-event is in music objects of type TextSpanEvent.
Accepted by: Text_spanner_engraver.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < text-span-event ] | [ Up : Music classes ] | [ tremolo-event > ] | ||
1.2.61 tie-event
Music event type tie-event is in music objects of type TieEvent.
Accepted by: Completion_heads_engraver, Tie_engraver and Tie_performer.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < tie-event ] | [ Up : Music classes ] | [ tremolo-span-event > ] | ||
1.2.62 tremolo-event
Music event type tremolo-event is in music objects of type TremoloEvent.
Accepted by: Stem_engraver.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < tremolo-event ] | [ Up : Music classes ] | [ trill-span-event > ] | ||
1.2.63 tremolo-span-event
Music event type tremolo-span-event is in music objects of type TremoloSpanEvent.
Accepted by: Chord_tremolo_engraver.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < tremolo-span-event ] | [ Up : Music classes ] | [ tuplet-span-event > ] | ||
1.2.64 trill-span-event
Music event type trill-span-event is in music objects of type TrillSpanEvent.
Accepted by: Trill_spanner_engraver.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < trill-span-event ] | [ Up : Music classes ] | [ una-corda-event > ] | ||
1.2.65 tuplet-span-event
Music event type tuplet-span-event is in music objects of type TupletSpanEvent.
Accepted by: Tuplet_engraver.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < tuplet-span-event ] | [ Up : Music classes ] | [ unisono-event > ] | ||
1.2.66 una-corda-event
Music event type una-corda-event is in music objects of type UnaCordaEvent.
Accepted by: Piano_pedal_engraver and Piano_pedal_performer.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < una-corda-event ] | [ Up : Music classes ] | [ Music properties > ] | ||
1.2.67 unisono-event
Music event type unisono-event is in music objects of type UnisonoEvent.
Not accepted by any engraver or performer.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < unisono-event ] | [ Up : Music definitions ] | [ Translation > ] | ||
1.3 Music properties
-
X-offset(number) Offset of resulting grob; only used for balloon texts.
-
Y-offset(number) Offset of resulting grob; only used for balloon texts.
-
absolute-octave(integer) The absolute octave for a octave check note.
-
alteration(number) Alteration for figured bass.
-
articulation-type(string) Key for script definitions alist.
TODO: Consider making type into symbol.
-
articulations(list of music) Articulation events specifically for this note.
-
associated-context(string) Name of the Voice context associated with this
\newaddlyricssection.-
augmented(boolean) This figure is for an augmented figured bass (with
+sign).-
augmented-slash(boolean) This figure is for an augmented figured bass (back-slashed number).
-
bass(boolean) Set if this note is a bass note in a chord.
-
bracket-start(boolean) Start a bracket here.
TODO: Use SpanEvents?
-
bracket-stop(boolean) Stop a bracket here.
-
break-penalty(number) Penalty for line break hint.
-
break-permission(symbol) Whether to allow, forbid or force a line break.
-
cautionary(boolean) If set, this alteration needs a cautionary accidental.
-
change-to-id(string) Name of the context to change to.
-
change-to-type(symbol) Type of the context to change to.
-
compress-procedure(procedure) Compress this music expression. Arg 1: the music, arg 2: factor.
-
context-id(string) Name of context.
-
context-type(symbol) Type of context.
-
create-new(boolean) Create a fresh context.
-
delta-step(number) How much should a fall change pitch?
-
denominator(integer) Denominator in a time signature.
-
descend-only(boolean) If set, this
\contextonly descends in the context tree.-
digit(integer) Digit for fingering.
-
diminished(boolean) This bass figure should be slashed.
-
direction(direction) Print this up or down?
-
drum-type(symbol) Which percussion instrument to play this note on.
-
duration(duration) Duration of this note or lyric.
-
element(music) The single child of a Music_wrapper music object, or the body of a repeat.
-
elements(list of music) A list of elements for sequential of simultaneous music, or the alternatives of repeated music.
-
elements-callback(procedure) Return a list of children, for use by a sequential iterator. Takes a single music parameter.
-
error-found(boolean) If true, a parsing error was found in this expression.
-
expected-beam-count(integer) Expected number of non-tremolo beams in a tremolo repeat.
-
figure(integer) A bass figure.
-
force-accidental(boolean) If set, a cautionary accidental should always be printed on this note.
-
grob-property(symbol) The symbol of the grob property to set.
-
grob-property-path(list) A list of symbols, locating a nested grob property, e.g.,
(beamed-lengths details).-
grob-value(any type) The value of the grob property to set.
-
input-tag(any type) Arbitrary marker to relate input and output.
-
inversion(boolean) If set, this chord note is inverted.
-
iterator-ctor(procedure) Function to construct a
music-event-iteratorobject for this music.-
label(markup) Label of a mark.
-
last-pitch(pitch) The last pitch after relativization.
-
length(moment) The duration of this music.
-
length-callback(procedure) How to compute the duration of this music. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
-
line-break-permission(symbol) When the music is at top-level, whether to allow, forbid or force a line break.
-
metronome-count(number) How many beats in a minute?
-
name(symbol) Name of this music object.
-
no-continuation(boolean) If set, disallow continuation lines.
-
numerator(integer) Numerator of a time signature.
-
octavation(integer) This pitch was octavated by how many octaves? For chord inversions, this is negative.
-
once(boolean) Apply this operation only during one time step?
-
origin(input location) Where was this piece of music defined?
-
page-break-permission(symbol) When the music is at top-level, whether to allow, forbid or force a page break.
-
page-label(symbol) The label of a page marker.
-
page-marker(boolean) If true, and the music expression is found at top-level, a page marker object is instanciated instead of a score.
-
page-turn-permission(symbol) When the music is at top-level, whether to allow, forbid or force a page turn.
-
parenthesize(boolean) Enclose resulting objects in parentheses?
-
part-combine-status(symbol) Change to what kind of state? Options are
solo1,solo2andunisono.-
pitch(pitch) The pitch of this note.
-
pitch-alist(list) A list of pitches jointly forming the scale of a key signature.
-
pop-first(boolean) Do a revert before we try to do a override on some grob property.
-
prob-property(symbol) The symbol of the prob property to set.
-
procedure(procedure) The function to run with
\applycontext. It must take a single argument, being the context.-
property-operations(list) Do these operations for instantiating the context.
-
quoted-context-id(string) The ID of the context to direct quotes to, e.g.,
cue.-
quoted-context-type(symbol) The name of the context to direct quotes to, e.g.,
Voice.-
quoted-events(vector) A vector of with
momentandevent-listentries.-
quoted-music-name(string) The name of the voice to quote.
-
quoted-transposition(pitch) The pitch used for the quote, overriding
\transposition.-
quoted-voice-direction(direction) Should the quoted voice be up-stem or down-stem?
-
repeat-count(integer) Do a
\repeathow often?-
span-direction(direction) Does this start or stop a spanner?
-
span-type(string) What kind of spanner should be created?
TODO: Consider making type into symbol.
-
split-list(list) Splitting moments for part combiner.
-
start-callback(procedure) Function to compute the negative length of starting grace notes. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
-
string-number(integer) The number of the string in a
StringNumberEvent.-
symbol(symbol) Grob name to perform an override or revert on.
-
tags(list) List of symbols that for denoting extra details, e.g.,
\tag #'part …could tag a piece of music as only being active in a part.-
tempo-unit(duration) The unit for the metronome count.
-
text(markup) Markup expression to be printed.
-
text-type(symbol) Particular type of text script (e.g., finger, dynamic).
-
to-relative-callback(procedure) How to transform a piece of music to relative pitches.
-
tonic(pitch) Base of the scale.
-
tremolo-type(integer) Speed of tremolo, e.g., 16 for
c4:16.-
trill-pitch(pitch) Pitch of other note of the trill.
-
tweaks(list) An alist of properties to override in the backend for the grob made of this event.
-
type(symbol) The type of this music object. Determines iteration in some cases.
-
types(list) The types of this music object; determines by what engraver this music expression is processed.
-
untransposable(boolean) If set, this music is not transposed.
-
value(any type) Assignment value for a translation property.
-
void(boolean) If this property is
#t, then the music expression is to be discarded by the toplevel music handler.-
what(symbol) What to change for auto-change.
FIXME: Naming.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Music properties ] | [ Up : Top ] | [ Contexts > ] | ||
2. Translation
| 2.1 Contexts | Complete descriptions of all contexts. | |
| 2.2 Engravers and Performers | All separate engravers and performers. | |
| 2.3 Tunable context properties | All tunable context properties. | |
| 2.4 Internal context properties | All internal context properties. |
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Translation ] | [ Up : Translation ] | [ ChoirStaff > ] | ||
2.1 Contexts
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Contexts ] | [ Up : Contexts ] | [ ChordNames > ] | ||
2.1.1 ChoirStaff
Identical to StaffGroup except that the
contained staves are not connected vertically.
This context creates the following layout object(s):
SystemStartBar, SystemStartBrace, SystemStartBracket and SystemStartSquare.
This context sets the following properties:
- Set translator property
shortVocalNameto'(). - Set translator property
vocalNameto'(). - Set translator property
systemStartDelimiterto'SystemStartBracket.
Context ChoirStaff can contain Staff, StaffGroup, ChoirStaff, ChordNames, Lyrics, PianoStaff, GrandStaff, RhythmicStaff and DrumStaff.
This context is built from the following engraver(s):
System_start_delimiter_engraverCreate a system start delimiter (i.e., a
SystemStartBar,SystemStartBrace,SystemStartBracketorSystemStartSquarespanner).Properties (read)
systemStartDelimiter(symbol)Which grob to make for the start of the system/staff? Set to
SystemStartBrace,SystemStartBracketorSystemStartBar.systemStartDelimiterHierarchy(pair)A nested list, indicating the nesting of a start delimiters.
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
This engraver creates the following layout object(s):
SystemStartBar, SystemStartBrace, SystemStartBracket and SystemStartSquare.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < ChoirStaff ] | [ Up : Contexts ] | [ CueVoice > ] | ||
2.1.2 ChordNames
Typesets chord names.
This context creates the following layout object(s):
ChordName, StaffSpacing and VerticalAxisGroup.
This context sets the following properties:
- Set grob-property
remove-emptyin VerticalAxisGroup to#t. - Set grob-property
remove-firstin VerticalAxisGroup to#t. - Set grob-property
minimum-Y-extentin VerticalAxisGroup to'(0 . 2).
This context is a ‘bottom’ context; it cannot contain other contexts.
This context is built from the following engraver(s):
Hara_kiri_engraverLike
Axis_group_engraver, but make a hara-kiri spanner, and add interesting items (i.e., note heads, lyric syllables, and normal rests).Properties (read)
keepAliveInterfaces(list)A list of symbols, signifying grob interfaces that are worth keeping a staff with
remove-emptyset around for.This engraver creates the following layout object(s):
Skip_event_swallow_translatorSwallow
\skip.Chord_name_engraverCatch note events and generate the appropriate chordname.
Music types accepted:
Properties (read)
chordChanges(boolean)Only show changes in chords scheme?
chordNameExceptions(list)An alist of chord exceptions. Contains
(chord . markup)entries.chordNameFunction(procedure)The function that converts lists of pitches to chord names.
chordNoteNamer(procedure)A function that converts from a pitch object to a text markup. Used for single pitches.
chordRootNamer(procedure)A function that converts from a pitch object to a text markup. Used for chords.
chordNameExceptions(list)An alist of chord exceptions. Contains
(chord . markup)entries.majorSevenSymbol(markup)How should the major 7th be formatted in a chord name?
This engraver creates the following layout object(s):
Separating_line_group_engraverGenerate objects for computing spacing parameters.
Properties (read)
createSpacing(boolean)Create
StaffSpacingobjects? Should be set for staves.Properties (write)
hasStaffSpacing(boolean)True if the current
CommandColumncontains items that will affect spacing.This engraver creates the following layout object(s):
Output_property_engraverApply a procedure to any grob acknowledged.
Music types accepted:
Rest_swallow_translatorSwallow rest.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < ChordNames ] | [ Up : Contexts ] | [ Devnull > ] | ||
2.1.3 CueVoice
Corresponds to a voice on a staff. This context handles the conversion of dynamic signs, stems, beams, super- and subscripts, slurs, ties, and rests.
You have to instantiate this explicitly if you want to have multiple voices on the same staff.
This context also accepts commands for the following context(s):
Voice.
This context creates the following layout object(s):
Arpeggio, Beam, BendAfter, BreathingSign, ClusterSpannerBeacon, ClusterSpanner, CombineTextScript, Dots, DoublePercentRepeatCounter, DoublePercentRepeat, DynamicLineSpanner, DynamicTextSpanner, DynamicText, Fingering, Glissando, Hairpin, InstrumentSwitch, LaissezVibrerTieColumn, LaissezVibrerTie, LigatureBracket, MultiMeasureRestNumber, MultiMeasureRestText, MultiMeasureRest, NoteColumn, NoteHead, NoteSpacing, PercentRepeatCounter, PercentRepeat, PhrasingSlur, RepeatSlash, RepeatTieColumn, RepeatTie, Rest, ScriptColumn, Script, Slur, StemTremolo, Stem, StringNumber, StrokeFinger, TextScript, TextSpanner, TieColumn, Tie, TrillPitchAccidental, TrillPitchGroup, TrillPitchHead, TrillSpanner, TupletBracket, TupletNumber and VoiceFollower.
This context sets the following properties:
- Set grob-property
thicknessin Beam to0.35. - Set grob-property
length-fractionin Beam to0.629960524947437. - Set grob-property
length-fractionin Stem to0.629960524947437. - Set translator property
fontSizeto-4. - Set translator property
localKeySignatureto'().
This context is a ‘bottom’ context; it cannot contain other contexts.
This context is built from the following engraver(s):
Skip_event_swallow_translatorSwallow
\skip.Instrument_switch_engraverCreate a cue text for taking instrument.
Properties (read)
instrumentCueName(markup)The name to print if another instrument is to be taken.
This engraver creates the following layout object(s):
Grace_engraverSet font size and other properties for grace notes.
Properties (read)
graceSettings(list)Overrides for grace notes. This property should be manipulated through the
add-grace-propertyfunction.Tuplet_engraverCatch tuplet events and generate appropriate bracket.
Music types accepted:
Properties (read)
tupletFullLength(boolean)If set, the tuplet is printed up to the start of the next note.
tupletFullLengthNote(boolean)If set, end at the next note, otherwise end on the matter (time signatures, etc.) before the note.
This engraver creates the following layout object(s):
Tie_engraverGenerate ties between note heads of equal pitch.
Music types accepted:
Properties (read)
tieWaitForNote(boolean)If true, tied notes do not have to follow each other directly. This can be used for writing out arpeggios.
Properties (write)
tieMelismaBusy(boolean)Signal whether a tie is present.
This engraver creates the following layout object(s):
Slur_engraverBuild slur grobs from slur events.
Music types accepted:
Properties (read)
slurMelismaBusy(boolean)Signal if a slur is present.
doubleSlurs(boolean)If set, two slurs are created for every slurred note, one above and one below the chord.
This engraver creates the following layout object(s):
Slur.
Cluster_spanner_engraverEngrave a cluster using
Spannernotation.Music types accepted:
This engraver creates the following layout object(s):
Phrasing_slur_engraverPrint phrasing slurs. Similar to Slur_engraver.
Music types accepted:
This engraver creates the following layout object(s):
Spanner_break_forbid_engraverForbid breaks in certain spanners.
Note_spacing_engraverGenerate
NoteSpacing, an object linking horizontal lines for use in spacing.This engraver creates the following layout object(s):
Rhythmic_column_engraverGenerate
NoteColumn, an object that groups stems, note heads, and rests.This engraver creates the following layout object(s):
Script_column_engraverFind potentially colliding scripts and put them into a
ScriptColumnobject; that will fix the collisions.This engraver creates the following layout object(s):
Script_engraverHandle note scripted articulations.
Music types accepted:
Properties (read)
scriptDefinitions(list)The description of scripts. This is used by the
Script_engraverfor typesetting note-superscripts and subscripts. See ‘scm/script.scm’ for more information.This engraver creates the following layout object(s):
Bend_engraverCreate fall spanners.
Music types accepted:
This engraver creates the following layout object(s):
Fingering_engraverCreate fingering scripts.
Music types accepted:
stroke-finger-event and fingering-event
This engraver creates the following layout object(s):
Dynamic_align_engraverAlign hairpins and dynamic texts on a horizontal line
Properties (read)
currentMusicalColumn(layout object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
New_dynamic_engraverCreate hairpins, dynamic texts, and their vertical alignments. The symbols are collected onto a
DynamicLineSpannergrob which takes care of vertical positioning.Music types accepted:
span-dynamic-event and absolute-dynamic-event
Properties (read)
crescendoSpanner(symbol)The type of spanner to be used for crescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin crescendo is used.
crescendoText(markup)The text to print at start of non-hairpin crescendo, i.e., ‘cresc.’.
currentMusicalColumn(layout object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
decrescendoSpanner(symbol)The type of spanner to be used for decrescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin decrescendo is used.
decrescendoText(markup)The text to print at start of non-hairpin decrescendo, i.e., ‘dim.’.
This engraver creates the following layout object(s):
Text_engraverCreate text scripts.
Music types accepted:
This engraver creates the following layout object(s):
Part_combine_engraverPart combine engraver for orchestral scores: Print markings ‘a2’, ‘Solo’, ‘Solo II’, and ‘unisono’.
Music types accepted:
Properties (read)
printPartCombineTexts(boolean)Set ‘Solo’ and ‘A due’ texts in the part combiner?
soloText(markup)The text for the start of a solo when part-combining.
soloIIText(markup)The text for the start of a solo for voice ‘two’ when part-combining.
aDueText(markup)Text to print at a unisono passage.
This engraver creates the following layout object(s):
Slash_repeat_engraverMake beat repeats.
Music types accepted:
Properties (read)
measureLength(moment)Length of one measure in the current time signature.
This engraver creates the following layout object(s):
Percent_repeat_engraverMake whole bar and double bar repeats.
Music types accepted:
Properties (read)
countPercentRepeats(boolean)If set, produce counters for percent repeats.
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
measureLength(moment)Length of one measure in the current time signature.
repeatCountVisibility(procedure)A procedure taking as arguments an integer and context, returning whether the corresponding percent repeat number should be printed when
countPercentRepeatsis set.Properties (write)
forbidBreak(boolean)If set to
##t, prevent a line break at this point.This engraver creates the following layout object(s):
DoublePercentRepeat, DoublePercentRepeatCounter, PercentRepeat and PercentRepeatCounter.
Chord_tremolo_engraverGenerate beams for tremolo repeats.
Music types accepted:
This engraver creates the following layout object(s):
Beam.
New_fingering_engraverCreate fingering scripts for notes in a new chord. This engraver is ill-named, since it also takes care of articulations and harmonic note heads.
Properties (read)
fingeringOrientations(list)A list of symbols, containing ‘left’, ‘right’, ‘up’ and/or ‘down’. This list determines where fingerings are put relative to the chord being fingered.
harmonicDots(boolean)If set, harmonic notes in dotted chords get dots.
strokeFingerOrientations(list)See
fingeringOrientations.stringNumberOrientations(list)See
fingeringOrientations.This engraver creates the following layout object(s):
Fingering, Script, StringNumber and StrokeFinger.
Auto_beam_engraverGenerate beams based on measure characteristics and observed Stems. Uses
beatLength,measureLength, andmeasurePositionto decide when to start and stop a beam. Overriding beaming is done through Stem_engraver propertiesstemLeftBeamCountandstemRightBeamCount.Music types accepted:
Properties (read)
autoBeaming(boolean)If set to true then beams are generated automatically.
autoBeamSettings(list)Specifies when automatically generated beams should begin and end. See behavior Setting automatic beam behavior for more information.
beatLength(moment)The length of one beat in this time signature.
subdivideBeams(boolean)If set, multiple beams will be subdivided at beat positions by only drawing one beam over the beat.
This engraver creates the following layout object(s):
Beam.
Grace_beam_engraverHandle
Beamevents by engraving beams. If omitted, then notes are printed with flags instead of beams. Only engraves beams when we are at grace points in time.Music types accepted:
Properties (read)
beamMelismaBusy(boolean)Signal if a beam is present.
beatLength(moment)The length of one beat in this time signature.
subdivideBeams(boolean)If set, multiple beams will be subdivided at beat positions by only drawing one beam over the beat.
This engraver creates the following layout object(s):
Beam.
Beam_engraverHandle
Beamevents by engraving beams. If omitted, then notes are printed with flags instead of beams.Music types accepted:
Properties (read)
beamMelismaBusy(boolean)Signal if a beam is present.
beatLength(moment)The length of one beat in this time signature.
subdivideBeams(boolean)If set, multiple beams will be subdivided at beat positions by only drawing one beam over the beat.
Properties (write)
forbidBreak(boolean)If set to
##t, prevent a line break at this point.This engraver creates the following layout object(s):
Beam.
Stem_engraverCreate stems and single-stem tremolos. It also works together with the beam engraver for overriding beaming.
Music types accepted:
Properties (read)
tremoloFlags(integer)The number of tremolo flags to add if no number is specified.
stemLeftBeamCount(integer)Specify the number of beams to draw on the left side of the next note. Overrides automatic beaming. The value is only used once, and then it is erased.
stemRightBeamCount(integer)See
stemLeftBeamCount.This engraver creates the following layout object(s):
Stem and StemTremolo.
Tweak_engraverRead the
tweaksproperty from the originating event, and set properties.Rest_engraverEngrave rests.
Music types accepted:
Properties (read)
middleCPosition(number)The place of the middle C, measured in half staff-spaces. Usually determined by looking at
middleCClefPositionandmiddleCOffset.This engraver creates the following layout object(s):
Rest.
Dots_engraverCreate Dots objects for rhythmic-head-interfaces.
This engraver creates the following layout object(s):
Dots.
Note_heads_engraverGenerate note heads.
Music types accepted:
Properties (read)
middleCPosition(number)The place of the middle C, measured in half staff-spaces. Usually determined by looking at
middleCClefPositionandmiddleCOffset.staffLineLayoutFunction(procedure)Layout of staff lines,
traditional, orsemitone.This engraver creates the following layout object(s):
Breathing_sign_engraverCreate a breathing sign.
Music types accepted:
This engraver creates the following layout object(s):
Ligature_bracket_engraverHandle
Ligature_eventsby engravingLigaturebrackets.Music types accepted:
This engraver creates the following layout object(s):
Glissando_engraverEngrave glissandi.
Music types accepted:
This engraver creates the following layout object(s):
Note_head_line_engraverEngrave a line between two note heads, for example a glissando. If
followVoiceis set, staff switches also generate a line.Properties (read)
followVoice(boolean)If set, note heads are tracked across staff switches by a thin line.
This engraver creates the following layout object(s):
Glissando and VoiceFollower.
Repeat_tie_engraverCreate repeat ties.
Music types accepted:
This engraver creates the following layout object(s):
RepeatTie and RepeatTieColumn.
Laissez_vibrer_engraverCreate laissez vibrer items.
Music types accepted:
This engraver creates the following layout object(s):
Forbid_line_break_engraverForbid line breaks when note heads are still playing at some point.
Properties (read)
busyGrobs(list)A queue of
(end-moment . GROB)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Properties (write)
forbidBreak(boolean)If set to
##t, prevent a line break at this point.Grob_pq_engraverAdministrate when certain grobs (e.g., note heads) stop playing.
Properties (read)
busyGrobs(list)A queue of
(end-moment . GROB)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Properties (write)
busyGrobs(list)A queue of
(end-moment . GROB)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Trill_spanner_engraverCreate trill spanner from an event.
Music types accepted:
This engraver creates the following layout object(s):
Text_spanner_engraverCreate text spanner from an event.
Music types accepted:
This engraver creates the following layout object(s):
Multi_measure_rest_engraverEngrave multi-measure rests that are produced with ‘R’. It reads
measurePositionandinternalBarNumberto determine what number to print over the MultiMeasureRest. ReadsmeasureLengthto determine whether it should use a whole rest or a breve rest to represent one measure.Music types accepted:
multi-measure-text-event and multi-measure-rest-event
Properties (read)
internalBarNumber(integer)Contains the current barnumber. This property is used for internal timekeeping, among others by the
Accidental_engraver.restNumberThreshold(number)If a multimeasure rest has more measures than this, a number is printed.
breakableSeparationItem(layout object)The breakable items in this time step, for this staff.
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
measurePosition(moment)How much of the current measure have we had. This can be set manually to create incomplete measures.
measureLength(moment)Length of one measure in the current time signature.
This engraver creates the following layout object(s):
MultiMeasureRest, MultiMeasureRestNumber and MultiMeasureRestText.
Arpeggio_engraverGenerate an Arpeggio symbol.
Music types accepted:
This engraver creates the following layout object(s):
Output_property_engraverApply a procedure to any grob acknowledged.
Music types accepted:
Pitched_trill_engraverPrint the bracketed note head after a note head with trill.
This engraver creates the following layout object(s):
Font_size_engraverPut
fontSizeintofont-sizegrob property.Properties (read)
fontSize(number)The relative size of all grobs in a context.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < CueVoice ] | [ Up : Contexts ] | [ DrumStaff > ] | ||
2.1.4 Devnull
Silently discards all musical information given to this context.
This context also accepts commands for the following context(s):
Voice and Staff.
This context creates the following layout object(s):
none.
This context is a ‘bottom’ context; it cannot contain other contexts.
This context is built from the following engraver(s):
Swallow_engraverThis engraver swallows everything given to it silently. The purpose of this is to prevent spurious ‘event junked’ warnings.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Devnull ] | [ Up : Contexts ] | [ DrumVoice > ] | ||
2.1.5 DrumStaff
Handles typesetting for percussion.
This context also accepts commands for the following context(s):
Staff.
This context creates the following layout object(s):
BarLine, BassFigureAlignmentPositioning, BassFigureAlignment, BassFigureBracket, BassFigureContinuation, BassFigureLine, BassFigure, Clef, DotColumn, InstrumentName, LedgerLineSpanner, NoteCollision, OctavateEight, RestCollision, ScriptRow, SostenutoPedalLineSpanner, StaffSpacing, StaffSymbol, SustainPedalLineSpanner, TimeSignature, UnaCordaPedalLineSpanner and VerticalAxisGroup.
This context sets the following properties:
- Set grob-property
staff-paddingin Script to0.75. - Set translator property
clefPositionto0. - Set translator property
clefGlyphto"clefs.percussion". - Set translator property
shortInstrumentNameto'(). - Set translator property
instrumentNameto'(). - Set grob-property
minimum-Y-extentin VerticalAxisGroup to'(-4 . 4). - Set translator property
ignoreFiguredBassRestto#t. - Set translator property
createSpacingto#t. - Set translator property
localKeySignatureto'().
Context DrumStaff can contain DrumVoice and CueVoice.
This context is built from the following engraver(s):
Script_row_engraverDetermine order in horizontal side position elements.
This engraver creates the following layout object(s):
Figured_bass_position_engraverPosition figured bass alignments over notes.
This engraver creates the following layout object(s):
Figured_bass_engraverMake figured bass numbers.
Music types accepted:
bass-figure-event and rest-event
Properties (read)
figuredBassAlterationDirection(direction)Where to put alterations relative to the main figure.
figuredBassCenterContinuations(boolean)Whether to vertically center pairs of extender lines. This does not work with three or more lines.
figuredBassFormatter(procedure)A routine generating a markup for a bass figure.
implicitBassFigures(list)A list of bass figures that are not printed as numbers, but only as extender lines.
useBassFigureExtenders(boolean)Whether to use extender lines for repeated bass figures.
ignoreFiguredBassRest(boolean)Don’t swallow rest events.
This engraver creates the following layout object(s):
BassFigure, BassFigureAlignment, BassFigureBracket, BassFigureContinuation and BassFigureLine.
Axis_group_engraverGroup all objects created in this context in a
VerticalAxisGroupspanner.Properties (read)
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
This engraver creates the following layout object(s):
Instrument_name_engraverCreate a system start text for instrument or vocal names.
Properties (read)
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
shortInstrumentName(markup)See
instrument.instrumentName(markup)The name to print left of a staff. The
instrumentproperty labels the staff in the first system, and theinstrproperty labels following lines.shortVocalName(markup)Name of a vocal line, short version.
vocalName(markup)Name of a vocal line.
This engraver creates the following layout object(s):
Piano_pedal_align_engraverAlign piano pedal symbols and brackets.
Properties (read)
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
This engraver creates the following layout object(s):
SostenutoPedalLineSpanner, SustainPedalLineSpanner and UnaCordaPedalLineSpanner.
Rest_collision_engraverHandle collisions of rests.
Properties (read)
busyGrobs(list)A queue of
(end-moment . GROB)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).This engraver creates the following layout object(s):
Grob_pq_engraverAdministrate when certain grobs (e.g., note heads) stop playing.
Properties (read)
busyGrobs(list)A queue of
(end-moment . GROB)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Properties (write)
busyGrobs(list)A queue of
(end-moment . GROB)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Collision_engraverCollect
NoteColumns, and as soon as there are two or more, put them in aNoteCollisionobject.This engraver creates the following layout object(s):
Staff_symbol_engraverCreate the constellation of five (default) staff lines.
Music types accepted:
This engraver creates the following layout object(s):
Ledger_line_engraverCreate the spanner to draw ledger lines, and notices objects that need ledger lines.
This engraver creates the following layout object(s):
Time_signature_engraverCreate a TimeSignature whenever
timeSignatureFractionchanges.Properties (read)
implicitTimeSignatureVisibility(vector)break visibility for the default time signature.
timeSignatureFraction(pair of numbers)A pair of numbers, signifying the time signature. For example,
#'(4 . 4)is a 4/4 time signature.This engraver creates the following layout object(s):
Clef_engraverDetermine and set reference point for pitches.
Properties (read)
clefGlyph(string)Name of the symbol within the music font.
clefOctavation(integer)Add this much extra octavation. Values of 7 and -7 are common.
clefPosition(number)Where should the center of the clef symbol go, measured in half staff spaces from the center of the staff.
explicitClefVisibility(vector)‘break-visibility’ function for clef changes.
forceClef(boolean)Show clef symbol, even if it has not changed. Only active for the first clef after the property is set, not for the full staff.
This engraver creates the following layout object(s):
Clef and OctavateEight.
Staff_collecting_engraverMaintain the
stavesFoundvariable.Properties (read)
stavesFound(list of grobs)A list of all staff-symbols found.
Properties (write)
stavesFound(list of grobs)A list of all staff-symbols found.
Dot_column_engraverEngrave dots on dotted notes shifted to the right of the note. If omitted, then dots appear on top of the notes.
This engraver creates the following layout object(s):
Separating_line_group_engraverGenerate objects for computing spacing parameters.
Properties (read)
createSpacing(boolean)Create
StaffSpacingobjects? Should be set for staves.Properties (write)
hasStaffSpacing(boolean)True if the current
CommandColumncontains items that will affect spacing.This engraver creates the following layout object(s):
Font_size_engraverPut
fontSizeintofont-sizegrob property.Properties (read)
fontSize(number)The relative size of all grobs in a context.
Bar_engraverCreate barlines. This engraver is controlled through the
whichBarproperty. If it has no bar line to create, it will forbid a linebreak at this point.Properties (read)
whichBar(string)This property is read to determine what type of bar line to create.
Example:
\set Staff.whichBar = "|:"This will create a start-repeat bar in this staff only. Valid values are described in bar-line-interface.
Properties (write)
forbidBreak(boolean)If set to
##t, prevent a line break at this point.This engraver creates the following layout object(s):
Output_property_engraverApply a procedure to any grob acknowledged.
Music types accepted:
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < DrumStaff ] | [ Up : Contexts ] | [ FiguredBass > ] | ||
2.1.6 DrumVoice
A voice on a percussion staff.
This context also accepts commands for the following context(s):
Voice.
This context creates the following layout object(s):
Beam, BendAfter, BreathingSign, CombineTextScript, Dots, DoublePercentRepeatCounter, DoublePercentRepeat, DynamicLineSpanner, DynamicTextSpanner, DynamicText, Hairpin, InstrumentSwitch, LaissezVibrerTieColumn, LaissezVibrerTie, MultiMeasureRestNumber, MultiMeasureRestText, MultiMeasureRest, NoteColumn, NoteHead, NoteSpacing, PercentRepeatCounter, PercentRepeat, PhrasingSlur, RepeatSlash, RepeatTieColumn, RepeatTie, Rest, ScriptColumn, Script, Slur, StemTremolo, Stem, TextScript, TextSpanner, TieColumn, Tie, TrillPitchAccidental, TrillPitchGroup, TrillPitchHead, TrillSpanner, TupletBracket and TupletNumber.
This context sets the following properties:
- Set translator property
localKeySignatureto'().
This context is a ‘bottom’ context; it cannot contain other contexts.
This context is built from the following engraver(s):
Skip_event_swallow_translatorSwallow
\skip.Drum_notes_engraverGenerate drum note heads.
Music types accepted:
Properties (read)
drumStyleTable(hash table)A hash table which maps drums to layout settings. Predefined values: ‘drums-style’, ‘timbales-style’, ‘congas-style’, ‘bongos-style’, and ‘percussion-style’.
The layout style is a hash table, containing the drum-pitches (e.g., the symbol ‘hihat’) as keys, and a list
(notehead-style script vertical-position)as values.This engraver creates the following layout object(s):
Grob_pq_engraverAdministrate when certain grobs (e.g., note heads) stop playing.
Properties (read)
busyGrobs(list)A queue of
(end-moment . GROB)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Properties (write)
busyGrobs(list)A queue of
(end-moment . GROB)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Skip_event_swallow_translatorSwallow
\skip.Instrument_switch_engraverCreate a cue text for taking instrument.
Properties (read)
instrumentCueName(markup)The name to print if another instrument is to be taken.
This engraver creates the following layout object(s):
Grace_engraverSet font size and other properties for grace notes.
Properties (read)
graceSettings(list)Overrides for grace notes. This property should be manipulated through the
add-grace-propertyfunction.Tuplet_engraverCatch tuplet events and generate appropriate bracket.
Music types accepted:
Properties (read)
tupletFullLength(boolean)If set, the tuplet is printed up to the start of the next note.
tupletFullLengthNote(boolean)If set, end at the next note, otherwise end on the matter (time signatures, etc.) before the note.
This engraver creates the following layout object(s):
Tie_engraverGenerate ties between note heads of equal pitch.
Music types accepted:
Properties (read)
tieWaitForNote(boolean)If true, tied notes do not have to follow each other directly. This can be used for writing out arpeggios.
Properties (write)
tieMelismaBusy(boolean)Signal whether a tie is present.
This engraver creates the following layout object(s):
Slur_engraverBuild slur grobs from slur events.
Music types accepted:
Properties (read)
slurMelismaBusy(boolean)Signal if a slur is present.
doubleSlurs(boolean)If set, two slurs are created for every slurred note, one above and one below the chord.
This engraver creates the following layout object(s):
Slur.
Phrasing_slur_engraverPrint phrasing slurs. Similar to Slur_engraver.
Music types accepted:
This engraver creates the following layout object(s):
Spanner_break_forbid_engraverForbid breaks in certain spanners.
Note_spacing_engraverGenerate
NoteSpacing, an object linking horizontal lines for use in spacing.This engraver creates the following layout object(s):
Rhythmic_column_engraverGenerate
NoteColumn, an object that groups stems, note heads, and rests.This engraver creates the following layout object(s):
Script_column_engraverFind potentially colliding scripts and put them into a
ScriptColumnobject; that will fix the collisions.This engraver creates the following layout object(s):
Script_engraverHandle note scripted articulations.
Music types accepted:
Properties (read)
scriptDefinitions(list)The description of scripts. This is used by the
Script_engraverfor typesetting note-superscripts and subscripts. See ‘scm/script.scm’ for more information.This engraver creates the following layout object(s):
Bend_engraverCreate fall spanners.
Music types accepted:
This engraver creates the following layout object(s):
Dynamic_align_engraverAlign hairpins and dynamic texts on a horizontal line
Properties (read)
currentMusicalColumn(layout object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
New_dynamic_engraverCreate hairpins, dynamic texts, and their vertical alignments. The symbols are collected onto a
DynamicLineSpannergrob which takes care of vertical positioning.Music types accepted:
span-dynamic-event and absolute-dynamic-event
Properties (read)
crescendoSpanner(symbol)The type of spanner to be used for crescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin crescendo is used.
crescendoText(markup)The text to print at start of non-hairpin crescendo, i.e., ‘cresc.’.
currentMusicalColumn(layout object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
decrescendoSpanner(symbol)The type of spanner to be used for decrescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin decrescendo is used.
decrescendoText(markup)The text to print at start of non-hairpin decrescendo, i.e., ‘dim.’.
This engraver creates the following layout object(s):
Text_engraverCreate text scripts.
Music types accepted:
This engraver creates the following layout object(s):
Part_combine_engraverPart combine engraver for orchestral scores: Print markings ‘a2’, ‘Solo’, ‘Solo II’, and ‘unisono’.
Music types accepted:
Properties (read)
printPartCombineTexts(boolean)Set ‘Solo’ and ‘A due’ texts in the part combiner?
soloText(markup)The text for the start of a solo when part-combining.
soloIIText(markup)The text for the start of a solo for voice ‘two’ when part-combining.
aDueText(markup)Text to print at a unisono passage.
This engraver creates the following layout object(s):
Slash_repeat_engraverMake beat repeats.
Music types accepted:
Properties (read)
measureLength(moment)Length of one measure in the current time signature.
This engraver creates the following layout object(s):
Percent_repeat_engraverMake whole bar and double bar repeats.
Music types accepted:
Properties (read)
countPercentRepeats(boolean)If set, produce counters for percent repeats.
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
measureLength(moment)Length of one measure in the current time signature.
repeatCountVisibility(procedure)A procedure taking as arguments an integer and context, returning whether the corresponding percent repeat number should be printed when
countPercentRepeatsis set.Properties (write)
forbidBreak(boolean)If set to
##t, prevent a line break at this point.This engraver creates the following layout object(s):
DoublePercentRepeat, DoublePercentRepeatCounter, PercentRepeat and PercentRepeatCounter.
Chord_tremolo_engraverGenerate beams for tremolo repeats.
Music types accepted:
This engraver creates the following layout object(s):
Beam.
Auto_beam_engraverGenerate beams based on measure characteristics and observed Stems. Uses
beatLength,measureLength, andmeasurePositionto decide when to start and stop a beam. Overriding beaming is done through Stem_engraver propertiesstemLeftBeamCountandstemRightBeamCount.Music types accepted:
Properties (read)
autoBeaming(boolean)If set to true then beams are generated automatically.
autoBeamSettings(list)Specifies when automatically generated beams should begin and end. See behavior Setting automatic beam behavior for more information.
beatLength(moment)The length of one beat in this time signature.
subdivideBeams(boolean)If set, multiple beams will be subdivided at beat positions by only drawing one beam over the beat.
This engraver creates the following layout object(s):
Beam.
Grace_beam_engraverHandle
Beamevents by engraving beams. If omitted, then notes are printed with flags instead of beams. Only engraves beams when we are at grace points in time.Music types accepted:
Properties (read)
beamMelismaBusy(boolean)Signal if a beam is present.
beatLength(moment)The length of one beat in this time signature.
subdivideBeams(boolean)If set, multiple beams will be subdivided at beat positions by only drawing one beam over the beat.
This engraver creates the following layout object(s):
Beam.
Beam_engraverHandle
Beamevents by engraving beams. If omitted, then notes are printed with flags instead of beams.Music types accepted:
Properties (read)
beamMelismaBusy(boolean)Signal if a beam is present.
beatLength(moment)The length of one beat in this time signature.
subdivideBeams(boolean)If set, multiple beams will be subdivided at beat positions by only drawing one beam over the beat.
Properties (write)
forbidBreak(boolean)If set to
##t, prevent a line break at this point.This engraver creates the following layout object(s):
Beam.
Stem_engraverCreate stems and single-stem tremolos. It also works together with the beam engraver for overriding beaming.
Music types accepted:
Properties (read)
tremoloFlags(integer)The number of tremolo flags to add if no number is specified.
stemLeftBeamCount(integer)Specify the number of beams to draw on the left side of the next note. Overrides automatic beaming. The value is only used once, and then it is erased.
stemRightBeamCount(integer)See
stemLeftBeamCount.This engraver creates the following layout object(s):
Stem and StemTremolo.
Tweak_engraverRead the
tweaksproperty from the originating event, and set properties.Rest_engraverEngrave rests.
Music types accepted:
Properties (read)
middleCPosition(number)The place of the middle C, measured in half staff-spaces. Usually determined by looking at
middleCClefPositionandmiddleCOffset.This engraver creates the following layout object(s):
Rest.
Dots_engraverCreate Dots objects for rhythmic-head-interfaces.
This engraver creates the following layout object(s):
Dots.
Breathing_sign_engraverCreate a breathing sign.
Music types accepted:
This engraver creates the following layout object(s):
Repeat_tie_engraverCreate repeat ties.
Music types accepted:
This engraver creates the following layout object(s):
RepeatTie and RepeatTieColumn.
Laissez_vibrer_engraverCreate laissez vibrer items.
Music types accepted:
This engraver creates the following layout object(s):
Forbid_line_break_engraverForbid line breaks when note heads are still playing at some point.
Properties (read)
busyGrobs(list)A queue of
(end-moment . GROB)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Properties (write)
forbidBreak(boolean)If set to
##t, prevent a line break at this point.Grob_pq_engraverAdministrate when certain grobs (e.g., note heads) stop playing.
Properties (read)
busyGrobs(list)A queue of
(end-moment . GROB)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Properties (write)
busyGrobs(list)A queue of
(end-moment . GROB)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Trill_spanner_engraverCreate trill spanner from an event.
Music types accepted:
This engraver creates the following layout object(s):
Text_spanner_engraverCreate text spanner from an event.
Music types accepted:
This engraver creates the following layout object(s):
Multi_measure_rest_engraverEngrave multi-measure rests that are produced with ‘R’. It reads
measurePositionandinternalBarNumberto determine what number to print over the MultiMeasureRest. ReadsmeasureLengthto determine whether it should use a whole rest or a breve rest to represent one measure.Music types accepted:
multi-measure-text-event and multi-measure-rest-event
Properties (read)
internalBarNumber(integer)Contains the current barnumber. This property is used for internal timekeeping, among others by the
Accidental_engraver.restNumberThreshold(number)If a multimeasure rest has more measures than this, a number is printed.
breakableSeparationItem(layout object)The breakable items in this time step, for this staff.
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
measurePosition(moment)How much of the current measure have we had. This can be set manually to create incomplete measures.
measureLength(moment)Length of one measure in the current time signature.
This engraver creates the following layout object(s):
MultiMeasureRest, MultiMeasureRestNumber and MultiMeasureRestText.
Output_property_engraverApply a procedure to any grob acknowledged.
Music types accepted:
Pitched_trill_engraverPrint the bracketed note head after a note head with trill.
This engraver creates the following layout object(s):
Font_size_engraverPut
fontSizeintofont-sizegrob property.Properties (read)
fontSize(number)The relative size of all grobs in a context.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < DrumVoice ] | [ Up : Contexts ] | [ FretBoards > ] | ||
2.1.7 FiguredBass
(not documented)
This context creates the following layout object(s):
BassFigureAlignment, BassFigureBracket, BassFigureContinuation, BassFigureLine, BassFigure, StaffSpacing and VerticalAxisGroup.
This context sets the following properties:
- Set grob-property
minimum-Y-extentin VerticalAxisGroup to'(0 . 2). - Set grob-property
remove-firstin VerticalAxisGroup to#t. - Set grob-property
remove-emptyin VerticalAxisGroup to#t.
This context is a ‘bottom’ context; it cannot contain other contexts.
This context is built from the following engraver(s):
Hara_kiri_engraverLike
Axis_group_engraver, but make a hara-kiri spanner, and add interesting items (i.e., note heads, lyric syllables, and normal rests).Properties (read)
keepAliveInterfaces(list)A list of symbols, signifying grob interfaces that are worth keeping a staff with
remove-emptyset around for.This engraver creates the following layout object(s):
Separating_line_group_engraverGenerate objects for computing spacing parameters.
Properties (read)
createSpacing(boolean)Create
StaffSpacingobjects? Should be set for staves.Properties (write)
hasStaffSpacing(boolean)True if the current
CommandColumncontains items that will affect spacing.This engraver creates the following layout object(s):
Skip_event_swallow_translatorSwallow
\skip.Note_swallow_translatorSwallow notes.
Figured_bass_engraverMake figured bass numbers.
Music types accepted:
bass-figure-event and rest-event
Properties (read)
figuredBassAlterationDirection(direction)Where to put alterations relative to the main figure.
figuredBassCenterContinuations(boolean)Whether to vertically center pairs of extender lines. This does not work with three or more lines.
figuredBassFormatter(procedure)A routine generating a markup for a bass figure.
implicitBassFigures(list)A list of bass figures that are not printed as numbers, but only as extender lines.
useBassFigureExtenders(boolean)Whether to use extender lines for repeated bass figures.
ignoreFiguredBassRest(boolean)Don’t swallow rest events.
This engraver creates the following layout object(s):
BassFigure, BassFigureAlignment, BassFigureBracket, BassFigureContinuation and BassFigureLine.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < FiguredBass ] | [ Up : Contexts ] | [ Global > ] | ||
2.1.8 FretBoards
(not documented)
This context creates the following layout object(s):
FretBoard, InstrumentName, StaffSpacing and VerticalAxisGroup.
This context sets the following properties:
- Set translator property
predefinedDiagramTableto#<hash-table 0/113>.
This context is a ‘bottom’ context; it cannot contain other contexts.
This context is built from the following engraver(s):
Instrument_name_engraverCreate a system start text for instrument or vocal names.
Properties (read)
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
shortInstrumentName(markup)See
instrument.instrumentName(markup)The name to print left of a staff. The
instrumentproperty labels the staff in the first system, and theinstrproperty labels following lines.shortVocalName(markup)Name of a vocal line, short version.
vocalName(markup)Name of a vocal line.
This engraver creates the following layout object(s):
Font_size_engraverPut
fontSizeintofont-sizegrob property.Properties (read)
fontSize(number)The relative size of all grobs in a context.
Separating_line_group_engraverGenerate objects for computing spacing parameters.
Properties (read)
createSpacing(boolean)Create
StaffSpacingobjects? Should be set for staves.Properties (write)
hasStaffSpacing(boolean)True if the current
CommandColumncontains items that will affect spacing.This engraver creates the following layout object(s):
Fretboard_engraverGenerate one or more tablature noteheads from event of type
NoteEvent.Music types accepted:
string-number-event and note-event
Properties (read)
stringTunings(list)The tablature strings tuning. It is a list of the pitch (in semitones) of each string (starting with the lower one).
minimumFret(number)The tablature auto string-selecting mechanism selects the highest string with a fret at least
minimumFret.maximumFretStretch(number)Don’t allocate frets further than this from specified frets.
tablatureFormat(procedure)A function formatting a tablature note head. Called with three arguments: string number, context and event. It returns the text as a string.
highStringOne(boolean)Whether the first string is the string with highest pitch on the instrument. This used by the automatic string selector for tablature notation.
predefinedDiagramTable(hash table)The hash table of predefined fret diagrams to use in FretBoards.
This engraver creates the following layout object(s):
Axis_group_engraverGroup all objects created in this context in a
VerticalAxisGroupspanner.Properties (read)
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
This engraver creates the following layout object(s):
Output_property_engraverApply a procedure to any grob acknowledged.
Music types accepted:
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < FretBoards ] | [ Up : Contexts ] | [ GrandStaff > ] | ||
2.1.9 Global
Hard coded entry point for LilyPond. Cannot be tuned.
This context creates the following layout object(s):
none.
Context Global can contain Score.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Global ] | [ Up : Contexts ] | [ GregorianTranscriptionStaff > ] | ||
2.1.10 GrandStaff
A group of staves, with a brace on the left side, grouping the staves together. The bar lines of the contained staves are connected vertically.
This context creates the following layout object(s):
Arpeggio, SpanBar, SystemStartBar, SystemStartBrace, SystemStartBracket and SystemStartSquare.
This context sets the following properties:
- Set translator property
systemStartDelimiterto'SystemStartBrace. - Set translator property
localKeySignatureto'().
Context GrandStaff can contain Staff and FiguredBass.
This context is built from the following engraver(s):
System_start_delimiter_engraverCreate a system start delimiter (i.e., a
SystemStartBar,SystemStartBrace,SystemStartBracketorSystemStartSquarespanner).Properties (read)
systemStartDelimiter(symbol)Which grob to make for the start of the system/staff? Set to
SystemStartBrace,SystemStartBracketorSystemStartBar.systemStartDelimiterHierarchy(pair)A nested list, indicating the nesting of a start delimiters.
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
This engraver creates the following layout object(s):
SystemStartBar, SystemStartBrace, SystemStartBracket and SystemStartSquare.
Span_arpeggio_engraverMake arpeggios that span multiple staves.
Properties (read)
connectArpeggios(boolean)If set, connect arpeggios across piano staff.
This engraver creates the following layout object(s):
Span_bar_engraverMake cross-staff bar lines: It catches all normal bar lines and draws a single span bar across them.
This engraver creates the following layout object(s):
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < GrandStaff ] | [ Up : Contexts ] | [ GregorianTranscriptionVoice > ] | ||
2.1.11 GregorianTranscriptionStaff
Handles clefs, bar lines, keys, accidentals. It can contain
Voice contexts.
This context also accepts commands for the following context(s):
Staff.
This context creates the following layout object(s):
AccidentalCautionary, AccidentalPlacement, AccidentalSuggestion, Accidental, BarLine, BassFigureAlignmentPositioning, BassFigureAlignment, BassFigureBracket, BassFigureContinuation, BassFigureLine, BassFigure, Clef, DotColumn, InstrumentName, KeySignature, LedgerLineSpanner, NoteCollision, OctavateEight, OttavaBracket, PianoPedalBracket, RestCollision, ScriptRow, SostenutoPedalLineSpanner, SostenutoPedal, StaffSpacing, StaffSymbol, SustainPedalLineSpanner, SustainPedal, TimeSignature, UnaCordaPedalLineSpanner, UnaCordaPedal and VerticalAxisGroup.
This context sets the following properties:
- Set grob-property
transparentin BarLine to#t. - Set translator property
shortInstrumentNameto'(). - Set translator property
instrumentNameto'(). - Set grob-property
minimum-Y-extentin VerticalAxisGroup to'(-4 . 4). - Set translator property
ignoreFiguredBassRestto#t. - Set translator property
createSpacingto#t. - Set translator property
localKeySignatureto'().
Context GregorianTranscriptionStaff can contain GregorianTranscriptionVoice and CueVoice.
This context is built from the following engraver(s):
Script_row_engraverDetermine order in horizontal side position elements.
This engraver creates the following layout object(s):
Figured_bass_position_engraverPosition figured bass alignments over notes.
This engraver creates the following layout object(s):
Figured_bass_engraverMake figured bass numbers.
Music types accepted:
bass-figure-event and rest-event
Properties (read)
figuredBassAlterationDirection(direction)Where to put alterations relative to the main figure.
figuredBassCenterContinuations(boolean)Whether to vertically center pairs of extender lines. This does not work with three or more lines.
figuredBassFormatter(procedure)A routine generating a markup for a bass figure.
implicitBassFigures(list)A list of bass figures that are not printed as numbers, but only as extender lines.
useBassFigureExtenders(boolean)Whether to use extender lines for repeated bass figures.
ignoreFiguredBassRest(boolean)Don’t swallow rest events.
This engraver creates the following layout object(s):
BassFigure, BassFigureAlignment, BassFigureBracket, BassFigureContinuation and BassFigureLine.
Axis_group_engraverGroup all objects created in this context in a
VerticalAxisGroupspanner.Properties (read)
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
This engraver creates the following layout object(s):
String_number_engraverSwallow string number events. The purpose of this engraver is to process tablatures for normal notation. To provent warnings for unprocessed string number events to obscure real error messages, this engraver swallows them all.
Instrument_name_engraverCreate a system start text for instrument or vocal names.
Properties (read)
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
shortInstrumentName(markup)See
instrument.instrumentName(markup)The name to print left of a staff. The
instrumentproperty labels the staff in the first system, and theinstrproperty labels following lines.shortVocalName(markup)Name of a vocal line, short version.
vocalName(markup)Name of a vocal line.
This engraver creates the following layout object(s):
Piano_pedal_align_engraverAlign piano pedal symbols and brackets.
Properties (read)
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
This engraver creates the following layout object(s):
SostenutoPedalLineSpanner, SustainPedalLineSpanner and UnaCordaPedalLineSpanner.
Piano_pedal_engraverEngrave piano pedal symbols and brackets.
Music types accepted:
una-corda-event, sustain-event and sostenuto-event
Properties (read)
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
pedalSostenutoStrings(list)See
pedalSustainStrings.pedalSostenutoStyle(symbol)See
pedalSustainStyle.pedalSustainStrings(list)A list of strings to print for sustain-pedal. Format is
(up updown down), where each of the three is the string to print when this is done with the pedal.pedalSustainStyle(symbol)A symbol that indicates how to print sustain pedals:
text,bracketormixed(both).pedalUnaCordaStrings(list)See
pedalSustainStrings.pedalUnaCordaStyle(symbol)See
pedalSustainStyle.This engraver creates the following layout object(s):
PianoPedalBracket, SostenutoPedal, SustainPedal and UnaCordaPedal.
Accidental_engraverMake accidentals. Catch note heads, ties and notices key-change events. This engraver usually lives at Staff level, but reads the settings for Accidental at
Voicelevel, so you can\overridethem atVoice.Properties (read)
autoAccidentals(list)List of different ways to typeset an accidental.
For determining when to print an accidental, several different rules are tried. The rule that gives the highest number of accidentals is used.
Each entry in the list is either a symbol or a procedure.
- symbol
The symbol is the name of the context in which the following rules are to be applied. For example, if context is Score then all staves share accidentals, and if context is Staff then all voices in the same staff share accidentals, but staves do not.
- procedure
The procedure represents an accidental rule to be applied to the previously specified context.
The procedure takes the following arguments:
contextThe current context to which the rule should be applied.
pitchThe pitch of the note to be evaluated.
barnumThe current bar number.
measureposThe current measure position.
The procedure returns a pair of booleans. The first states whether an extra natural should be added. The second states whether an accidental should be printed.
(#t . #f)does not make sense.autoCautionaries(list)List similar to
autoAccidentals, but it controls cautionary accidentals rather than normal ones. Both lists are tried, and the one giving the most accidentals wins. In case of draw, a normal accidental is typeset.internalBarNumber(integer)Contains the current barnumber. This property is used for internal timekeeping, among others by the
Accidental_engraver.extraNatural(boolean)Whether to typeset an extra natural sign before accidentals changing from a non-natural to another non-natural.
harmonicAccidentals(boolean)If set, harmonic notes in chords get accidentals.
keySignature(list)The current key signature. This is an alist containing
(step . alter)or((octave . step) . alter), where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.keySignature = #`((6 . ,FLAT)).localKeySignature(list)The key signature at this point in the measure. The format is the same as for
keySignature, but can also contain((octave . name) . (alter barnumber . measureposition))pairs.Properties (write)
localKeySignature(list)The key signature at this point in the measure. The format is the same as for
keySignature, but can also contain((octave . name) . (alter barnumber . measureposition))pairs.This engraver creates the following layout object(s):
Accidental, AccidentalCautionary, AccidentalPlacement and AccidentalSuggestion.
Rest_collision_engraverHandle collisions of rests.
Properties (read)
busyGrobs(list)A queue of
(end-moment . GROB)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).This engraver creates the following layout object(s):
Grob_pq_engraverAdministrate when certain grobs (e.g., note heads) stop playing.
Properties (read)
busyGrobs(list)A queue of
(end-moment . GROB)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Properties (write)
busyGrobs(list)A queue of
(end-moment . GROB)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Collision_engraverCollect
NoteColumns, and as soon as there are two or more, put them in aNoteCollisionobject.This engraver creates the following layout object(s):
Staff_symbol_engraverCreate the constellation of five (default) staff lines.
Music types accepted:
This engraver creates the following layout object(s):
Ledger_line_engraverCreate the spanner to draw ledger lines, and notices objects that need ledger lines.
This engraver creates the following layout object(s):
Time_signature_engraverCreate a TimeSignature whenever
timeSignatureFractionchanges.Properties (read)
implicitTimeSignatureVisibility(vector)break visibility for the default time signature.
timeSignatureFraction(pair of numbers)A pair of numbers, signifying the time signature. For example,
#'(4 . 4)is a 4/4 time signature.This engraver creates the following layout object(s):
Key_engraverEngrave a key signature.
Music types accepted:
Properties (read)
createKeyOnClefChange(boolean)Print a key signature whenever the clef is changed.
explicitKeySignatureVisibility(vector)‘break-visibility’ function for explicit key changes. ‘\override’ of the
break-visibilityproperty will set the visibility for normal (i.e., at the start of the line) key signatures.extraNatural(boolean)Whether to typeset an extra natural sign before accidentals changing from a non-natural to another non-natural.
keyAlterationOrder(list)An alist that defines in what order alterations should be printed. The format is
(step . alter), where step is a number from 0 to 6 and alter from -2 (sharp) to 2 (flat).keySignature(list)The current key signature. This is an alist containing
(step . alter)or((octave . step) . alter), where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.keySignature = #`((6 . ,FLAT)).lastKeySignature(list)Last key signature before a key signature change.
printKeyCancellation(boolean)Print restoration alterations before a key signature change.
Properties (write)
keySignature(list)The current key signature. This is an alist containing
(step . alter)or((octave . step) . alter), where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.keySignature = #`((6 . ,FLAT)).lastKeySignature(list)Last key signature before a key signature change.
tonic(pitch)The tonic of the current scale.
This engraver creates the following layout object(s):
Clef_engraverDetermine and set reference point for pitches.
Properties (read)
clefGlyph(string)Name of the symbol within the music font.
clefOctavation(integer)Add this much extra octavation. Values of 7 and -7 are common.
clefPosition(number)Where should the center of the clef symbol go, measured in half staff spaces from the center of the staff.
explicitClefVisibility(vector)‘break-visibility’ function for clef changes.
forceClef(boolean)Show clef symbol, even if it has not changed. Only active for the first clef after the property is set, not for the full staff.
This engraver creates the following layout object(s):
Clef and OctavateEight.
Ottava_spanner_engraverCreate a text spanner when the ottavation property changes.
Properties (read)
ottavation(markup)If set, the text for an ottava spanner. Changing this creates a new text spanner.
originalMiddleCPosition(integer)Used for temporary overriding middle C in octavation brackets.
currentMusicalColumn(layout object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
Staff_collecting_engraverMaintain the
stavesFoundvariable.Properties (read)
stavesFound(list of grobs)A list of all staff-symbols found.
Properties (write)
stavesFound(list of grobs)A list of all staff-symbols found.
Dot_column_engraverEngrave dots on dotted notes shifted to the right of the note. If omitted, then dots appear on top of the notes.
This engraver creates the following layout object(s):
Separating_line_group_engraverGenerate objects for computing spacing parameters.
Properties (read)
createSpacing(boolean)Create
StaffSpacingobjects? Should be set for staves.Properties (write)
hasStaffSpacing(boolean)True if the current
CommandColumncontains items that will affect spacing.This engraver creates the following layout object(s):
Font_size_engraverPut
fontSizeintofont-sizegrob property.Properties (read)
fontSize(number)The relative size of all grobs in a context.
Bar_engraverCreate barlines. This engraver is controlled through the
whichBarproperty. If it has no bar line to create, it will forbid a linebreak at this point.Properties (read)
whichBar(string)This property is read to determine what type of bar line to create.
Example:
\set Staff.whichBar = "|:"This will create a start-repeat bar in this staff only. Valid values are described in bar-line-interface.
Properties (write)
forbidBreak(boolean)If set to
##t, prevent a line break at this point.This engraver creates the following layout object(s):
Output_property_engraverApply a procedure to any grob acknowledged.
Music types accepted:
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < GregorianTranscriptionStaff ] | [ Up : Contexts ] | [ Lyrics > ] | ||
2.1.12 GregorianTranscriptionVoice
Corresponds to a voice on a staff. This context handles the conversion of dynamic signs, stems, beams, super- and subscripts, slurs, ties, and rests.
You have to instantiate this explicitly if you want to have multiple voices on the same staff.
This context also accepts commands for the following context(s):
Voice.
This context creates the following layout object(s):
Arpeggio, Beam, BendAfter, BreathingSign, ClusterSpannerBeacon, ClusterSpanner, CombineTextScript, Dots, DoublePercentRepeatCounter, DoublePercentRepeat, DynamicLineSpanner, DynamicTextSpanner, DynamicText, Fingering, Glissando, Hairpin, InstrumentSwitch, LaissezVibrerTieColumn, LaissezVibrerTie, LigatureBracket, MultiMeasureRestNumber, MultiMeasureRestText, MultiMeasureRest, NoteColumn, NoteHead, NoteSpacing, PercentRepeatCounter, PercentRepeat, PhrasingSlur, RepeatSlash, RepeatTieColumn, RepeatTie, Rest, ScriptColumn, Script, Slur, StemTremolo, Stem, StringNumber, StrokeFinger, TextScript, TextSpanner, TieColumn, Tie, TrillPitchAccidental, TrillPitchGroup, TrillPitchHead, TrillSpanner, TupletBracket, TupletNumber and VoiceFollower.
This context sets the following properties:
- Set grob-property
paddingin TextSpanner to-0.1. - Set grob-property
stylein TextSpanner to'line. - Set grob-property
dash-fractionin TextSpanner to'(). - Set translator property
autoBeamingto#f. - Set grob-property
paddingin Script to0.5. - Set grob-property
transparentin LigatureBracket to#t. - Set translator property
localKeySignatureto'().
This context is a ‘bottom’ context; it cannot contain other contexts.
This context is built from the following engraver(s):
Skip_event_swallow_translatorSwallow
\skip.Instrument_switch_engraverCreate a cue text for taking instrument.
Properties (read)
instrumentCueName(markup)The name to print if another instrument is to be taken.
This engraver creates the following layout object(s):
Grace_engraverSet font size and other properties for grace notes.
Properties (read)
graceSettings(list)Overrides for grace notes. This property should be manipulated through the
add-grace-propertyfunction.Tuplet_engraverCatch tuplet events and generate appropriate bracket.
Music types accepted:
Properties (read)
tupletFullLength(boolean)If set, the tuplet is printed up to the start of the next note.
tupletFullLengthNote(boolean)If set, end at the next note, otherwise end on the matter (time signatures, etc.) before the note.
This engraver creates the following layout object(s):
Tie_engraverGenerate ties between note heads of equal pitch.
Music types accepted:
Properties (read)
tieWaitForNote(boolean)If true, tied notes do not have to follow each other directly. This can be used for writing out arpeggios.
Properties (write)
tieMelismaBusy(boolean)Signal whether a tie is present.
This engraver creates the following layout object(s):
Slur_engraverBuild slur grobs from slur events.
Music types accepted:
Properties (read)
slurMelismaBusy(boolean)Signal if a slur is present.
doubleSlurs(boolean)If set, two slurs are created for every slurred note, one above and one below the chord.
This engraver creates the following layout object(s):
Slur.
Cluster_spanner_engraverEngrave a cluster using
Spannernotation.Music types accepted:
This engraver creates the following layout object(s):
Phrasing_slur_engraverPrint phrasing slurs. Similar to Slur_engraver.
Music types accepted:
This engraver creates the following layout object(s):
Spanner_break_forbid_engraverForbid breaks in certain spanners.
Note_spacing_engraverGenerate
NoteSpacing, an object linking horizontal lines for use in spacing.This engraver creates the following layout object(s):
Rhythmic_column_engraverGenerate
NoteColumn, an object that groups stems, note heads, and rests.This engraver creates the following layout object(s):
Script_column_engraverFind potentially colliding scripts and put them into a
ScriptColumnobject; that will fix the collisions.This engraver creates the following layout object(s):
Script_engraverHandle note scripted articulations.
Music types accepted:
Properties (read)
scriptDefinitions(list)The description of scripts. This is used by the
Script_engraverfor typesetting note-superscripts and subscripts. See ‘scm/script.scm’ for more information.This engraver creates the following layout object(s):
Bend_engraverCreate fall spanners.
Music types accepted:
This engraver creates the following layout object(s):
Fingering_engraverCreate fingering scripts.
Music types accepted:
stroke-finger-event and fingering-event
This engraver creates the following layout object(s):
Dynamic_align_engraverAlign hairpins and dynamic texts on a horizontal line
Properties (read)
currentMusicalColumn(layout object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
New_dynamic_engraverCreate hairpins, dynamic texts, and their vertical alignments. The symbols are collected onto a
DynamicLineSpannergrob which takes care of vertical positioning.Music types accepted:
span-dynamic-event and absolute-dynamic-event
Properties (read)
crescendoSpanner(symbol)The type of spanner to be used for crescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin crescendo is used.
crescendoText(markup)The text to print at start of non-hairpin crescendo, i.e., ‘cresc.’.
currentMusicalColumn(layout object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
decrescendoSpanner(symbol)The type of spanner to be used for decrescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin decrescendo is used.
decrescendoText(markup)The text to print at start of non-hairpin decrescendo, i.e., ‘dim.’.
This engraver creates the following layout object(s):
Text_engraverCreate text scripts.
Music types accepted:
This engraver creates the following layout object(s):
Part_combine_engraverPart combine engraver for orchestral scores: Print markings ‘a2’, ‘Solo’, ‘Solo II’, and ‘unisono’.
Music types accepted:
Properties (read)
printPartCombineTexts(boolean)Set ‘Solo’ and ‘A due’ texts in the part combiner?
soloText(markup)The text for the start of a solo when part-combining.
soloIIText(markup)The text for the start of a solo for voice ‘two’ when part-combining.
aDueText(markup)Text to print at a unisono passage.
This engraver creates the following layout object(s):
Slash_repeat_engraverMake beat repeats.
Music types accepted:
Properties (read)
measureLength(moment)Length of one measure in the current time signature.
This engraver creates the following layout object(s):
Percent_repeat_engraverMake whole bar and double bar repeats.
Music types accepted:
Properties (read)
countPercentRepeats(boolean)If set, produce counters for percent repeats.
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
measureLength(moment)Length of one measure in the current time signature.
repeatCountVisibility(procedure)A procedure taking as arguments an integer and context, returning whether the corresponding percent repeat number should be printed when
countPercentRepeatsis set.Properties (write)
forbidBreak(boolean)If set to
##t, prevent a line break at this point.This engraver creates the following layout object(s):
DoublePercentRepeat, DoublePercentRepeatCounter, PercentRepeat and PercentRepeatCounter.
Chord_tremolo_engraverGenerate beams for tremolo repeats.
Music types accepted:
This engraver creates the following layout object(s):
Beam.
New_fingering_engraverCreate fingering scripts for notes in a new chord. This engraver is ill-named, since it also takes care of articulations and harmonic note heads.
Properties (read)
fingeringOrientations(list)A list of symbols, containing ‘left’, ‘right’, ‘up’ and/or ‘down’. This list determines where fingerings are put relative to the chord being fingered.
harmonicDots(boolean)If set, harmonic notes in dotted chords get dots.
strokeFingerOrientations(list)See
fingeringOrientations.stringNumberOrientations(list)See
fingeringOrientations.This engraver creates the following layout object(s):
Fingering, Script, StringNumber and StrokeFinger.
Auto_beam_engraverGenerate beams based on measure characteristics and observed Stems. Uses
beatLength,measureLength, andmeasurePositionto decide when to start and stop a beam. Overriding beaming is done through Stem_engraver propertiesstemLeftBeamCountandstemRightBeamCount.Music types accepted:
Properties (read)
autoBeaming(boolean)If set to true then beams are generated automatically.
autoBeamSettings(list)Specifies when automatically generated beams should begin and end. See behavior Setting automatic beam behavior for more information.
beatLength(moment)The length of one beat in this time signature.
subdivideBeams(boolean)If set, multiple beams will be subdivided at beat positions by only drawing one beam over the beat.
This engraver creates the following layout object(s):
Beam.
Grace_beam_engraverHandle
Beamevents by engraving beams. If omitted, then notes are printed with flags instead of beams. Only engraves beams when we are at grace points in time.Music types accepted:
Properties (read)
beamMelismaBusy(boolean)Signal if a beam is present.
beatLength(moment)The length of one beat in this time signature.
subdivideBeams(boolean)If set, multiple beams will be subdivided at beat positions by only drawing one beam over the beat.
This engraver creates the following layout object(s):
Beam.
Beam_engraverHandle
Beamevents by engraving beams. If omitted, then notes are printed with flags instead of beams.Music types accepted:
Properties (read)
beamMelismaBusy(boolean)Signal if a beam is present.
beatLength(moment)The length of one beat in this time signature.
subdivideBeams(boolean)If set, multiple beams will be subdivided at beat positions by only drawing one beam over the beat.
Properties (write)
forbidBreak(boolean)If set to
##t, prevent a line break at this point.This engraver creates the following layout object(s):
Beam.
Stem_engraverCreate stems and single-stem tremolos. It also works together with the beam engraver for overriding beaming.
Music types accepted:
Properties (read)
tremoloFlags(integer)The number of tremolo flags to add if no number is specified.
stemLeftBeamCount(integer)Specify the number of beams to draw on the left side of the next note. Overrides automatic beaming. The value is only used once, and then it is erased.
stemRightBeamCount(integer)See
stemLeftBeamCount.This engraver creates the following layout object(s):
Stem and StemTremolo.
Tweak_engraverRead the
tweaksproperty from the originating event, and set properties.Rest_engraverEngrave rests.
Music types accepted:
Properties (read)
middleCPosition(number)The place of the middle C, measured in half staff-spaces. Usually determined by looking at
middleCClefPositionandmiddleCOffset.This engraver creates the following layout object(s):
Rest.
Dots_engraverCreate Dots objects for rhythmic-head-interfaces.
This engraver creates the following layout object(s):
Dots.
Note_heads_engraverGenerate note heads.
Music types accepted:
Properties (read)
middleCPosition(number)The place of the middle C, measured in half staff-spaces. Usually determined by looking at
middleCClefPositionandmiddleCOffset.staffLineLayoutFunction(procedure)Layout of staff lines,
traditional, orsemitone.This engraver creates the following layout object(s):
Breathing_sign_engraverCreate a breathing sign.
Music types accepted:
This engraver creates the following layout object(s):
Ligature_bracket_engraverHandle
Ligature_eventsby engravingLigaturebrackets.Music types accepted:
This engraver creates the following layout object(s):
Glissando_engraverEngrave glissandi.
Music types accepted:
This engraver creates the following layout object(s):
Note_head_line_engraverEngrave a line between two note heads, for example a glissando. If
followVoiceis set, staff switches also generate a line.Properties (read)
followVoice(boolean)If set, note heads are tracked across staff switches by a thin line.
This engraver creates the following layout object(s):
Glissando and VoiceFollower.
Repeat_tie_engraverCreate repeat ties.
Music types accepted:
This engraver creates the following layout object(s):
RepeatTie and RepeatTieColumn.
Laissez_vibrer_engraverCreate laissez vibrer items.
Music types accepted:
This engraver creates the following layout object(s):
Forbid_line_break_engraverForbid line breaks when note heads are still playing at some point.
Properties (read)
busyGrobs(list)A queue of
(end-moment . GROB)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Properties (write)
forbidBreak(boolean)If set to
##t, prevent a line break at this point.Grob_pq_engraverAdministrate when certain grobs (e.g., note heads) stop playing.
Properties (read)
busyGrobs(list)A queue of
(end-moment . GROB)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Properties (write)
busyGrobs(list)A queue of
(end-moment . GROB)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Trill_spanner_engraverCreate trill spanner from an event.
Music types accepted:
This engraver creates the following layout object(s):
Text_spanner_engraverCreate text spanner from an event.
Music types accepted:
This engraver creates the following layout object(s):
Multi_measure_rest_engraverEngrave multi-measure rests that are produced with ‘R’. It reads
measurePositionandinternalBarNumberto determine what number to print over the MultiMeasureRest. ReadsmeasureLengthto determine whether it should use a whole rest or a breve rest to represent one measure.Music types accepted:
multi-measure-text-event and multi-measure-rest-event
Properties (read)
internalBarNumber(integer)Contains the current barnumber. This property is used for internal timekeeping, among others by the
Accidental_engraver.restNumberThreshold(number)If a multimeasure rest has more measures than this, a number is printed.
breakableSeparationItem(layout object)The breakable items in this time step, for this staff.
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
measurePosition(moment)How much of the current measure have we had. This can be set manually to create incomplete measures.
measureLength(moment)Length of one measure in the current time signature.
This engraver creates the following layout object(s):
MultiMeasureRest, MultiMeasureRestNumber and MultiMeasureRestText.
Arpeggio_engraverGenerate an Arpeggio symbol.
Music types accepted:
This engraver creates the following layout object(s):
Output_property_engraverApply a procedure to any grob acknowledged.
Music types accepted:
Pitched_trill_engraverPrint the bracketed note head after a note head with trill.
This engraver creates the following layout object(s):
Font_size_engraverPut
fontSizeintofont-sizegrob property.Properties (read)
fontSize(number)The relative size of all grobs in a context.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < GregorianTranscriptionVoice ] | [ Up : Contexts ] | [ MensuralStaff > ] | ||
2.1.13 Lyrics
Corresponds to a voice with lyrics. Handles the printing of a single line of lyrics.
This context creates the following layout object(s):
InstrumentName, LyricExtender, LyricHyphen, LyricSpace, LyricText, StanzaNumber and VerticalAxisGroup.
This context sets the following properties:
- Set grob-property
bar-sizein BarLine to0.1. - Set grob-property
font-sizein InstrumentName to1.0. - Set grob-property
self-alignment-Yin InstrumentName to#f. - Set grob-property
paddingin SeparationItem to0.2. - Set grob-property
keep-fixed-while-stretchingin VerticalAxisGroup to#t. - Set grob-property
remove-emptyin VerticalAxisGroup to#t. - Set grob-property
remove-firstin VerticalAxisGroup to#t. - Set translator property
shortInstrumentNameto'(). - Set translator property
instrumentNameto'(). - Set grob-property
minimum-Y-extentin VerticalAxisGroup to'(-0.75 . 2.0).
This context is a ‘bottom’ context; it cannot contain other contexts.
This context is built from the following engraver(s):
Hara_kiri_engraverLike
Axis_group_engraver, but make a hara-kiri spanner, and add interesting items (i.e., note heads, lyric syllables, and normal rests).Properties (read)
keepAliveInterfaces(list)A list of symbols, signifying grob interfaces that are worth keeping a staff with
remove-emptyset around for.This engraver creates the following layout object(s):
Font_size_engraverPut
fontSizeintofont-sizegrob property.Properties (read)
fontSize(number)The relative size of all grobs in a context.
Skip_event_swallow_translatorSwallow
\skip.Instrument_name_engraverCreate a system start text for instrument or vocal names.
Properties (read)
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
shortInstrumentName(markup)See
instrument.instrumentName(markup)The name to print left of a staff. The
instrumentproperty labels the staff in the first system, and theinstrproperty labels following lines.shortVocalName(markup)Name of a vocal line, short version.
vocalName(markup)Name of a vocal line.
This engraver creates the following layout object(s):
Stanza_number_engraverEngrave stanza numbers.
Properties (read)
stanza(markup)Stanza ‘number’ to print before the start of a verse. Use in
Lyricscontext.This engraver creates the following layout object(s):
Hyphen_engraverCreate lyric hyphens and distance constraints between words.
Music types accepted:
This engraver creates the following layout object(s):
LyricHyphen and LyricSpace.
Extender_engraverCreate lyric extenders.
Music types accepted:
Properties (read)
extendersOverRests(boolean)Whether to continue extenders as they cross a rest.
This engraver creates the following layout object(s):
Lyric_engraverEngrave text for lyrics.
Music types accepted:
Properties (read)
lyricMelismaAlignment(direction)Alignment to use for a melisma syllable.
This engraver creates the following layout object(s):
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Lyrics ] | [ Up : Contexts ] | [ MensuralVoice > ] | ||
2.1.14 MensuralStaff
Same as Staff context, except that it is
accommodated for typesetting a piece in mensural style.
This context also accepts commands for the following context(s):
Staff.
This context creates the following layout object(s):
AccidentalCautionary, AccidentalPlacement, AccidentalSuggestion, Accidental, BarLine, BassFigureAlignmentPositioning, BassFigureAlignment, BassFigureBracket, BassFigureContinuation, BassFigureLine, BassFigure, Clef, Custos, DotColumn, InstrumentName, KeySignature, LedgerLineSpanner, NoteCollision, OctavateEight, OttavaBracket, PianoPedalBracket, RestCollision, ScriptRow, SostenutoPedalLineSpanner, SostenutoPedal, StaffSpacing, StaffSymbol, SustainPedalLineSpanner, SustainPedal, TimeSignature, UnaCordaPedalLineSpanner, UnaCordaPedal and VerticalAxisGroup.
This context sets the following properties:
- Set translator property
printKeyCancellationto#f. - Set translator property
autoCautionariesto'(). - Set translator property
autoAccidentalsto'(Staff #<procedure #f (context pitch barnum measurepos)>). - Set translator property
extraNaturalto#f. - Set grob-property
neutral-directionin Custos to-1. - Set grob-property
neutral-positionin Custos to3. - Set grob-property
stylein Custos to'mensural. - Set grob-property
glyph-name-alistin Accidental to'((-1/2 . accidentals.mensuralM1) (0 . accidentals.vaticana0) (1/2 . accidentals.mensural1)). - Set grob-property
glyph-name-alistin KeySignature to'((-1/2 . accidentals.mensuralM1) (0 . accidentals.vaticana0) (1/2 . accidentals.mensural1)). - Set grob-property
stylein TimeSignature to'mensural. - Set translator property
clefOctavationto0. - Set translator property
clefPositionto-2. - Set translator property
middleCPositionto-6. - Set translator property
middleCClefPositionto-6. - Set translator property
clefGlyphto"clefs.mensural.g". - Set grob-property
thicknessin StaffSymbol to0.6. - Set grob-property
transparentin BarLine to#t. - Set translator property
shortInstrumentNameto'(). - Set translator property
instrumentNameto'(). - Set grob-property
minimum-Y-extentin VerticalAxisGroup to'(-4 . 4). - Set translator property
ignoreFiguredBassRestto#t. - Set translator property
createSpacingto#t. - Set translator property
localKeySignatureto'().
Context MensuralStaff can contain MensuralVoice and CueVoice.
This context is built from the following engraver(s):
Custos_engraverEngrave custodes.
This engraver creates the following layout object(s):
Script_row_engraverDetermine order in horizontal side position elements.
This engraver creates the following layout object(s):
Figured_bass_position_engraverPosition figured bass alignments over notes.
This engraver creates the following layout object(s):
Figured_bass_engraverMake figured bass numbers.
Music types accepted:
bass-figure-event and rest-event
Properties (read)
figuredBassAlterationDirection(direction)Where to put alterations relative to the main figure.
figuredBassCenterContinuations(boolean)Whether to vertically center pairs of extender lines. This does not work with three or more lines.
figuredBassFormatter(procedure)A routine generating a markup for a bass figure.
implicitBassFigures(list)A list of bass figures that are not printed as numbers, but only as extender lines.
useBassFigureExtenders(boolean)Whether to use extender lines for repeated bass figures.
ignoreFiguredBassRest(boolean)Don’t swallow rest events.
This engraver creates the following layout object(s):
BassFigure, BassFigureAlignment, BassFigureBracket, BassFigureContinuation and BassFigureLine.
Axis_group_engraverGroup all objects created in this context in a
VerticalAxisGroupspanner.Properties (read)
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
This engraver creates the following layout object(s):
String_number_engraverSwallow string number events. The purpose of this engraver is to process tablatures for normal notation. To provent warnings for unprocessed string number events to obscure real error messages, this engraver swallows them all.
Instrument_name_engraverCreate a system start text for instrument or vocal names.
Properties (read)
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
shortInstrumentName(markup)See
instrument.instrumentName(markup)The name to print left of a staff. The
instrumentproperty labels the staff in the first system, and theinstrproperty labels following lines.shortVocalName(markup)Name of a vocal line, short version.
vocalName(markup)Name of a vocal line.
This engraver creates the following layout object(s):
Piano_pedal_align_engraverAlign piano pedal symbols and brackets.
Properties (read)
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
This engraver creates the following layout object(s):
SostenutoPedalLineSpanner, SustainPedalLineSpanner and UnaCordaPedalLineSpanner.
Piano_pedal_engraverEngrave piano pedal symbols and brackets.
Music types accepted:
una-corda-event, sustain-event and sostenuto-event
Properties (read)
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
pedalSostenutoStrings(list)See
pedalSustainStrings.pedalSostenutoStyle(symbol)See
pedalSustainStyle.pedalSustainStrings(list)A list of strings to print for sustain-pedal. Format is
(up updown down), where each of the three is the string to print when this is done with the pedal.pedalSustainStyle(symbol)A symbol that indicates how to print sustain pedals:
text,bracketormixed(both).pedalUnaCordaStrings(list)See
pedalSustainStrings.pedalUnaCordaStyle(symbol)See
pedalSustainStyle.This engraver creates the following layout object(s):
PianoPedalBracket, SostenutoPedal, SustainPedal and UnaCordaPedal.
Accidental_engraverMake accidentals. Catch note heads, ties and notices key-change events. This engraver usually lives at Staff level, but reads the settings for Accidental at
Voicelevel, so you can\overridethem atVoice.Properties (read)
autoAccidentals(list)List of different ways to typeset an accidental.
For determining when to print an accidental, several different rules are tried. The rule that gives the highest number of accidentals is used.
Each entry in the list is either a symbol or a procedure.
- symbol
The symbol is the name of the context in which the following rules are to be applied. For example, if context is Score then all staves share accidentals, and if context is Staff then all voices in the same staff share accidentals, but staves do not.
- procedure
The procedure represents an accidental rule to be applied to the previously specified context.
The procedure takes the following arguments:
contextThe current context to which the rule should be applied.
pitchThe pitch of the note to be evaluated.
barnumThe current bar number.
measureposThe current measure position.
The procedure returns a pair of booleans. The first states whether an extra natural should be added. The second states whether an accidental should be printed.
(#t . #f)does not make sense.autoCautionaries(list)List similar to
autoAccidentals, but it controls cautionary accidentals rather than normal ones. Both lists are tried, and the one giving the most accidentals wins. In case of draw, a normal accidental is typeset.internalBarNumber(integer)Contains the current barnumber. This property is used for internal timekeeping, among others by the
Accidental_engraver.extraNatural(boolean)Whether to typeset an extra natural sign before accidentals changing from a non-natural to another non-natural.
harmonicAccidentals(boolean)If set, harmonic notes in chords get accidentals.
keySignature(list)The current key signature. This is an alist containing
(step . alter)or((octave . step) . alter), where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.keySignature = #`((6 . ,FLAT)).localKeySignature(list)The key signature at this point in the measure. The format is the same as for
keySignature, but can also contain((octave . name) . (alter barnumber . measureposition))pairs.Properties (write)
localKeySignature(list)The key signature at this point in the measure. The format is the same as for
keySignature, but can also contain((octave . name) . (alter barnumber . measureposition))pairs.This engraver creates the following layout object(s):
Accidental, AccidentalCautionary, AccidentalPlacement and AccidentalSuggestion.
Rest_collision_engraverHandle collisions of rests.
Properties (read)
busyGrobs(list)A queue of
(end-moment . GROB)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).This engraver creates the following layout object(s):
Grob_pq_engraverAdministrate when certain grobs (e.g., note heads) stop playing.
Properties (read)
busyGrobs(list)A queue of
(end-moment . GROB)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Properties (write)
busyGrobs(list)A queue of
(end-moment . GROB)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Collision_engraverCollect
NoteColumns, and as soon as there are two or more, put them in aNoteCollisionobject.This engraver creates the following layout object(s):
Staff_symbol_engraverCreate the constellation of five (default) staff lines.
Music types accepted:
This engraver creates the following layout object(s):
Ledger_line_engraverCreate the spanner to draw ledger lines, and notices objects that need ledger lines.
This engraver creates the following layout object(s):
Time_signature_engraverCreate a TimeSignature whenever
timeSignatureFractionchanges.Properties (read)
implicitTimeSignatureVisibility(vector)break visibility for the default time signature.
timeSignatureFraction(pair of numbers)A pair of numbers, signifying the time signature. For example,
#'(4 . 4)is a 4/4 time signature.This engraver creates the following layout object(s):
Key_engraverEngrave a key signature.
Music types accepted:
Properties (read)
createKeyOnClefChange(boolean)Print a key signature whenever the clef is changed.
explicitKeySignatureVisibility(vector)‘break-visibility’ function for explicit key changes. ‘\override’ of the
break-visibilityproperty will set the visibility for normal (i.e., at the start of the line) key signatures.extraNatural(boolean)Whether to typeset an extra natural sign before accidentals changing from a non-natural to another non-natural.
keyAlterationOrder(list)An alist that defines in what order alterations should be printed. The format is
(step . alter), where step is a number from 0 to 6 and alter from -2 (sharp) to 2 (flat).keySignature(list)The current key signature. This is an alist containing
(step . alter)or((octave . step) . alter), where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.keySignature = #`((6 . ,FLAT)).lastKeySignature(list)Last key signature before a key signature change.
printKeyCancellation(boolean)Print restoration alterations before a key signature change.
Properties (write)
keySignature(list)The current key signature. This is an alist containing
(step . alter)or((octave . step) . alter), where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.keySignature = #`((6 . ,FLAT)).lastKeySignature(list)Last key signature before a key signature change.
tonic(pitch)The tonic of the current scale.
This engraver creates the following layout object(s):
Clef_engraverDetermine and set reference point for pitches.
Properties (read)
clefGlyph(string)Name of the symbol within the music font.
clefOctavation(integer)Add this much extra octavation. Values of 7 and -7 are common.
clefPosition(number)Where should the center of the clef symbol go, measured in half staff spaces from the center of the staff.
explicitClefVisibility(vector)‘break-visibility’ function for clef changes.
forceClef(boolean)Show clef symbol, even if it has not changed. Only active for the first clef after the property is set, not for the full staff.
This engraver creates the following layout object(s):
Clef and OctavateEight.
Ottava_spanner_engraverCreate a text spanner when the ottavation property changes.
Properties (read)
ottavation(markup)If set, the text for an ottava spanner. Changing this creates a new text spanner.
originalMiddleCPosition(integer)Used for temporary overriding middle C in octavation brackets.
currentMusicalColumn(layout object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
Staff_collecting_engraverMaintain the
stavesFoundvariable.Properties (read)
stavesFound(list of grobs)A list of all staff-symbols found.
Properties (write)
stavesFound(list of grobs)A list of all staff-symbols found.
Dot_column_engraverEngrave dots on dotted notes shifted to the right of the note. If omitted, then dots appear on top of the notes.
This engraver creates the following layout object(s):
Separating_line_group_engraverGenerate objects for computing spacing parameters.
Properties (read)
createSpacing(boolean)Create
StaffSpacingobjects? Should be set for staves.Properties (write)
hasStaffSpacing(boolean)True if the current
CommandColumncontains items that will affect spacing.This engraver creates the following layout object(s):
Font_size_engraverPut
fontSizeintofont-sizegrob property.Properties (read)
fontSize(number)The relative size of all grobs in a context.
Bar_engraverCreate barlines. This engraver is controlled through the
whichBarproperty. If it has no bar line to create, it will forbid a linebreak at this point.Properties (read)
whichBar(string)This property is read to determine what type of bar line to create.
Example:
\set Staff.whichBar = "|:"This will create a start-repeat bar in this staff only. Valid values are described in bar-line-interface.
Properties (write)
forbidBreak(boolean)If set to
##t, prevent a line break at this point.This engraver creates the following layout object(s):
Output_property_engraverApply a procedure to any grob acknowledged.
Music types accepted:
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < MensuralStaff ] | [ Up : Contexts ] | [ NoteNames > ] | ||
2.1.15 MensuralVoice
Same as Voice context, except that it is
accommodated for typesetting a piece in mensural style.
This context also accepts commands for the following context(s):
Voice.
This context creates the following layout object(s):
Arpeggio, Beam, BendAfter, BreathingSign, ClusterSpannerBeacon, ClusterSpanner, CombineTextScript, Dots, DoublePercentRepeatCounter, DoublePercentRepeat, DynamicLineSpanner, DynamicTextSpanner, DynamicText, Fingering, Glissando, Hairpin, InstrumentSwitch, LaissezVibrerTieColumn, LaissezVibrerTie, MensuralLigature, MultiMeasureRestNumber, MultiMeasureRestText, MultiMeasureRest, NoteColumn, NoteHead, NoteSpacing, PercentRepeatCounter, PercentRepeat, PhrasingSlur, RepeatSlash, RepeatTieColumn, RepeatTie, Rest, ScriptColumn, Script, StemTremolo, Stem, StringNumber, StrokeFinger, TextScript, TextSpanner, TieColumn, Tie, TrillPitchAccidental, TrillPitchGroup, TrillPitchHead, TrillSpanner, TupletBracket, TupletNumber and VoiceFollower.
This context sets the following properties:
- Set translator property
autoBeamingto#f. - Set grob-property
stylein Rest to'mensural. - Set grob-property
stylein NoteHead to'mensural. - Set translator property
localKeySignatureto'().
This context is a ‘bottom’ context; it cannot contain other contexts.
This context is built from the following engraver(s):
Mensural_ligature_engraverHandle
Mensural_ligature_eventsby glueing special ligature heads together.Music types accepted:
This engraver creates the following layout object(s):
Skip_event_swallow_translatorSwallow
\skip.Instrument_switch_engraverCreate a cue text for taking instrument.
Properties (read)
instrumentCueName(markup)The name to print if another instrument is to be taken.
This engraver creates the following layout object(s):
Grace_engraverSet font size and other properties for grace notes.
Properties (read)
graceSettings(list)Overrides for grace notes. This property should be manipulated through the
add-grace-propertyfunction.Tuplet_engraverCatch tuplet events and generate appropriate bracket.
Music types accepted:
Properties (read)
tupletFullLength(boolean)If set, the tuplet is printed up to the start of the next note.
tupletFullLengthNote(boolean)If set, end at the next note, otherwise end on the matter (time signatures, etc.) before the note.
This engraver creates the following layout object(s):
Tie_engraverGenerate ties between note heads of equal pitch.
Music types accepted:
Properties (read)
tieWaitForNote(boolean)If true, tied notes do not have to follow each other directly. This can be used for writing out arpeggios.
Properties (write)
tieMelismaBusy(boolean)Signal whether a tie is present.
This engraver creates the following layout object(s):
Cluster_spanner_engraverEngrave a cluster using
Spannernotation.Music types accepted:
This engraver creates the following layout object(s):
Phrasing_slur_engraverPrint phrasing slurs. Similar to Slur_engraver.
Music types accepted:
This engraver creates the following layout object(s):
Spanner_break_forbid_engraverForbid breaks in certain spanners.
Note_spacing_engraverGenerate
NoteSpacing, an object linking horizontal lines for use in spacing.This engraver creates the following layout object(s):
Rhythmic_column_engraverGenerate
NoteColumn, an object that groups stems, note heads, and rests.This engraver creates the following layout object(s):
Script_column_engraverFind potentially colliding scripts and put them into a
ScriptColumnobject; that will fix the collisions.This engraver creates the following layout object(s):
Script_engraverHandle note scripted articulations.
Music types accepted:
Properties (read)
scriptDefinitions(list)The description of scripts. This is used by the
Script_engraverfor typesetting note-superscripts and subscripts. See ‘scm/script.scm’ for more information.This engraver creates the following layout object(s):
Bend_engraverCreate fall spanners.
Music types accepted:
This engraver creates the following layout object(s):
Fingering_engraverCreate fingering scripts.
Music types accepted:
stroke-finger-event and fingering-event
This engraver creates the following layout object(s):
Dynamic_align_engraverAlign hairpins and dynamic texts on a horizontal line
Properties (read)
currentMusicalColumn(layout object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
New_dynamic_engraverCreate hairpins, dynamic texts, and their vertical alignments. The symbols are collected onto a
DynamicLineSpannergrob which takes care of vertical positioning.Music types accepted:
span-dynamic-event and absolute-dynamic-event
Properties (read)
crescendoSpanner(symbol)The type of spanner to be used for crescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin crescendo is used.
crescendoText(markup)The text to print at start of non-hairpin crescendo, i.e., ‘cresc.’.
currentMusicalColumn(layout object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
decrescendoSpanner(symbol)The type of spanner to be used for decrescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin decrescendo is used.
decrescendoText(markup)The text to print at start of non-hairpin decrescendo, i.e., ‘dim.’.
This engraver creates the following layout object(s):
Text_engraverCreate text scripts.
Music types accepted:
This engraver creates the following layout object(s):
Part_combine_engraverPart combine engraver for orchestral scores: Print markings ‘a2’, ‘Solo’, ‘Solo II’, and ‘unisono’.
Music types accepted:
Properties (read)
printPartCombineTexts(boolean)Set ‘Solo’ and ‘A due’ texts in the part combiner?
soloText(markup)The text for the start of a solo when part-combining.
soloIIText(markup)The text for the start of a solo for voice ‘two’ when part-combining.
aDueText(markup)Text to print at a unisono passage.
This engraver creates the following layout object(s):
Slash_repeat_engraverMake beat repeats.
Music types accepted:
Properties (read)
measureLength(moment)Length of one measure in the current time signature.
This engraver creates the following layout object(s):
Percent_repeat_engraverMake whole bar and double bar repeats.
Music types accepted:
Properties (read)
countPercentRepeats(boolean)If set, produce counters for percent repeats.
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
measureLength(moment)Length of one measure in the current time signature.
repeatCountVisibility(procedure)A procedure taking as arguments an integer and context, returning whether the corresponding percent repeat number should be printed when
countPercentRepeatsis set.Properties (write)
forbidBreak(boolean)If set to
##t, prevent a line break at this point.This engraver creates the following layout object(s):
DoublePercentRepeat, DoublePercentRepeatCounter, PercentRepeat and PercentRepeatCounter.
Chord_tremolo_engraverGenerate beams for tremolo repeats.
Music types accepted:
This engraver creates the following layout object(s):
Beam.
New_fingering_engraverCreate fingering scripts for notes in a new chord. This engraver is ill-named, since it also takes care of articulations and harmonic note heads.
Properties (read)
fingeringOrientations(list)A list of symbols, containing ‘left’, ‘right’, ‘up’ and/or ‘down’. This list determines where fingerings are put relative to the chord being fingered.
harmonicDots(boolean)If set, harmonic notes in dotted chords get dots.
strokeFingerOrientations(list)See
fingeringOrientations.stringNumberOrientations(list)See
fingeringOrientations.This engraver creates the following layout object(s):
Fingering, Script, StringNumber and StrokeFinger.
Auto_beam_engraverGenerate beams based on measure characteristics and observed Stems. Uses
beatLength,measureLength, andmeasurePositionto decide when to start and stop a beam. Overriding beaming is done through Stem_engraver propertiesstemLeftBeamCountandstemRightBeamCount.Music types accepted:
Properties (read)
autoBeaming(boolean)If set to true then beams are generated automatically.
autoBeamSettings(list)Specifies when automatically generated beams should begin and end. See behavior Setting automatic beam behavior for more information.
beatLength(moment)The length of one beat in this time signature.
subdivideBeams(boolean)If set, multiple beams will be subdivided at beat positions by only drawing one beam over the beat.
This engraver creates the following layout object(s):
Beam.
Grace_beam_engraverHandle
Beamevents by engraving beams. If omitted, then notes are printed with flags instead of beams. Only engraves beams when we are at grace points in time.Music types accepted:
Properties (read)
beamMelismaBusy(boolean)Signal if a beam is present.
beatLength(moment)The length of one beat in this time signature.
subdivideBeams(boolean)If set, multiple beams will be subdivided at beat positions by only drawing one beam over the beat.
This engraver creates the following layout object(s):
Beam.
Beam_engraverHandle
Beamevents by engraving beams. If omitted, then notes are printed with flags instead of beams.Music types accepted:
Properties (read)
beamMelismaBusy(boolean)Signal if a beam is present.
beatLength(moment)The length of one beat in this time signature.
subdivideBeams(boolean)If set, multiple beams will be subdivided at beat positions by only drawing one beam over the beat.
Properties (write)
forbidBreak(boolean)If set to
##t, prevent a line break at this point.This engraver creates the following layout object(s):
Beam.
Stem_engraverCreate stems and single-stem tremolos. It also works together with the beam engraver for overriding beaming.
Music types accepted:
Properties (read)
tremoloFlags(integer)The number of tremolo flags to add if no number is specified.
stemLeftBeamCount(integer)Specify the number of beams to draw on the left side of the next note. Overrides automatic beaming. The value is only used once, and then it is erased.
stemRightBeamCount(integer)See
stemLeftBeamCount.This engraver creates the following layout object(s):
Stem and StemTremolo.
Tweak_engraverRead the
tweaksproperty from the originating event, and set properties.Rest_engraverEngrave rests.
Music types accepted:
Properties (read)
middleCPosition(number)The place of the middle C, measured in half staff-spaces. Usually determined by looking at
middleCClefPositionandmiddleCOffset.This engraver creates the following layout object(s):
Rest.
Dots_engraverCreate Dots objects for rhythmic-head-interfaces.
This engraver creates the following layout object(s):
Dots.
Note_heads_engraverGenerate note heads.
Music types accepted:
Properties (read)
middleCPosition(number)The place of the middle C, measured in half staff-spaces. Usually determined by looking at
middleCClefPositionandmiddleCOffset.staffLineLayoutFunction(procedure)Layout of staff lines,
traditional, orsemitone.This engraver creates the following layout object(s):
Breathing_sign_engraverCreate a breathing sign.
Music types accepted:
This engraver creates the following layout object(s):
Glissando_engraverEngrave glissandi.
Music types accepted:
This engraver creates the following layout object(s):
Note_head_line_engraverEngrave a line between two note heads, for example a glissando. If
followVoiceis set, staff switches also generate a line.Properties (read)
followVoice(boolean)If set, note heads are tracked across staff switches by a thin line.
This engraver creates the following layout object(s):
Glissando and VoiceFollower.
Repeat_tie_engraverCreate repeat ties.
Music types accepted:
This engraver creates the following layout object(s):
RepeatTie and RepeatTieColumn.
Laissez_vibrer_engraverCreate laissez vibrer items.
Music types accepted:
This engraver creates the following layout object(s):
Forbid_line_break_engraverForbid line breaks when note heads are still playing at some point.
Properties (read)
busyGrobs(list)A queue of
(end-moment . GROB)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Properties (write)
forbidBreak(boolean)If set to
##t, prevent a line break at this point.Grob_pq_engraverAdministrate when certain grobs (e.g., note heads) stop playing.
Properties (read)
busyGrobs(list)A queue of
(end-moment . GROB)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Properties (write)
busyGrobs(list)A queue of
(end-moment . GROB)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Trill_spanner_engraverCreate trill spanner from an event.
Music types accepted:
This engraver creates the following layout object(s):
Text_spanner_engraverCreate text spanner from an event.
Music types accepted:
This engraver creates the following layout object(s):
Multi_measure_rest_engraverEngrave multi-measure rests that are produced with ‘R’. It reads
measurePositionandinternalBarNumberto determine what number to print over the MultiMeasureRest. ReadsmeasureLengthto determine whether it should use a whole rest or a breve rest to represent one measure.Music types accepted:
multi-measure-text-event and multi-measure-rest-event
Properties (read)
internalBarNumber(integer)Contains the current barnumber. This property is used for internal timekeeping, among others by the
Accidental_engraver.restNumberThreshold(number)If a multimeasure rest has more measures than this, a number is printed.
breakableSeparationItem(layout object)The breakable items in this time step, for this staff.
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
measurePosition(moment)How much of the current measure have we had. This can be set manually to create incomplete measures.
measureLength(moment)Length of one measure in the current time signature.
This engraver creates the following layout object(s):
MultiMeasureRest, MultiMeasureRestNumber and MultiMeasureRestText.
Arpeggio_engraverGenerate an Arpeggio symbol.
Music types accepted:
This engraver creates the following layout object(s):
Output_property_engraverApply a procedure to any grob acknowledged.
Music types accepted:
Pitched_trill_engraverPrint the bracketed note head after a note head with trill.
This engraver creates the following layout object(s):
Font_size_engraverPut
fontSizeintofont-sizegrob property.Properties (read)
fontSize(number)The relative size of all grobs in a context.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < MensuralVoice ] | [ Up : Contexts ] | [ PianoStaff > ] | ||
2.1.16 NoteNames
(not documented)
This context creates the following layout object(s):
NoteName, StaffSpacing, TieColumn, Tie and VerticalAxisGroup.
This context sets the following properties:
- Set grob-property
minimum-Y-extentin VerticalAxisGroup to#f.
This context is a ‘bottom’ context; it cannot contain other contexts.
This context is built from the following engraver(s):
Separating_line_group_engraverGenerate objects for computing spacing parameters.
Properties (read)
createSpacing(boolean)Create
StaffSpacingobjects? Should be set for staves.Properties (write)
hasStaffSpacing(boolean)True if the current
CommandColumncontains items that will affect spacing.This engraver creates the following layout object(s):
Note_name_engraverPrint pitches as words.
Music types accepted:
Properties (read)
printOctaveNames(boolean)Print octave marks for the
NoteNamescontext.This engraver creates the following layout object(s):
Tie_engraverGenerate ties between note heads of equal pitch.
Music types accepted:
Properties (read)
tieWaitForNote(boolean)If true, tied notes do not have to follow each other directly. This can be used for writing out arpeggios.
Properties (write)
tieMelismaBusy(boolean)Signal whether a tie is present.
This engraver creates the following layout object(s):
Skip_event_swallow_translatorSwallow
\skip.Rest_swallow_translatorSwallow rest.
Axis_group_engraverGroup all objects created in this context in a
VerticalAxisGroupspanner.Properties (read)
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
This engraver creates the following layout object(s):
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < NoteNames ] | [ Up : Contexts ] | [ RhythmicStaff > ] | ||
2.1.17 PianoStaff
Just like GrandStaff but with support for
instrument names at the start of each system.
This context also accepts commands for the following context(s):
GrandStaff.
This context creates the following layout object(s):
Arpeggio, InstrumentName, SpanBar, SystemStartBar, SystemStartBrace, SystemStartBracket and SystemStartSquare.
This context sets the following properties:
- Set translator property
shortInstrumentNameto'(). - Set translator property
instrumentNameto'(). - Set translator property
systemStartDelimiterto'SystemStartBrace. - Set translator property
localKeySignatureto'().
Context PianoStaff can contain Staff and FiguredBass.
This context is built from the following engraver(s):
Instrument_name_engraverCreate a system start text for instrument or vocal names.
Properties (read)
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
shortInstrumentName(markup)See
instrument.instrumentName(markup)The name to print left of a staff. The
instrumentproperty labels the staff in the first system, and theinstrproperty labels following lines.shortVocalName(markup)Name of a vocal line, short version.
vocalName(markup)Name of a vocal line.
This engraver creates the following layout object(s):
System_start_delimiter_engraverCreate a system start delimiter (i.e., a
SystemStartBar,SystemStartBrace,SystemStartBracketorSystemStartSquarespanner).Properties (read)
systemStartDelimiter(symbol)Which grob to make for the start of the system/staff? Set to
SystemStartBrace,SystemStartBracketorSystemStartBar.systemStartDelimiterHierarchy(pair)A nested list, indicating the nesting of a start delimiters.
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
This engraver creates the following layout object(s):
SystemStartBar, SystemStartBrace, SystemStartBracket and SystemStartSquare.
Span_arpeggio_engraverMake arpeggios that span multiple staves.
Properties (read)
connectArpeggios(boolean)If set, connect arpeggios across piano staff.
This engraver creates the following layout object(s):
Span_bar_engraverMake cross-staff bar lines: It catches all normal bar lines and draws a single span bar across them.
This engraver creates the following layout object(s):
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < PianoStaff ] | [ Up : Contexts ] | [ Score > ] | ||
2.1.18 RhythmicStaff
A context like Staff but for printing rhythms.
Pitches are ignored; the notes are printed on one line.
This context also accepts commands for the following context(s):
Staff.
This context creates the following layout object(s):
BarLine, DotColumn, InstrumentName, LedgerLineSpanner, StaffSpacing, StaffSymbol, TimeSignature and VerticalAxisGroup.
This context sets the following properties:
- Set grob-property
neutral-directionin Beam to1. - Set grob-property
neutral-directionin Stem to1. - Set grob-property
line-countin StaffSymbol to1. - Set grob-property
staff-paddingin VoltaBracket to3. - Set grob-property
bar-sizein BarLine to4. - Set translator property
squashedPositionto0. - Set translator property
createSpacingto#t. - Set translator property
localKeySignatureto'(). - Set grob-property
minimum-Y-extentin VerticalAxisGroup to#f.
Context RhythmicStaff can contain Voice and CueVoice.
This context is built from the following engraver(s):
Ledger_line_engraverCreate the spanner to draw ledger lines, and notices objects that need ledger lines.
This engraver creates the following layout object(s):
Axis_group_engraverGroup all objects created in this context in a
VerticalAxisGroupspanner.Properties (read)
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
This engraver creates the following layout object(s):
Instrument_name_engraverCreate a system start text for instrument or vocal names.
Properties (read)
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
shortInstrumentName(markup)See
instrument.instrumentName(markup)The name to print left of a staff. The
instrumentproperty labels the staff in the first system, and theinstrproperty labels following lines.shortVocalName(markup)Name of a vocal line, short version.
vocalName(markup)Name of a vocal line.
This engraver creates the following layout object(s):
Time_signature_engraverCreate a TimeSignature whenever
timeSignatureFractionchanges.Properties (read)
implicitTimeSignatureVisibility(vector)break visibility for the default time signature.
timeSignatureFraction(pair of numbers)A pair of numbers, signifying the time signature. For example,
#'(4 . 4)is a 4/4 time signature.This engraver creates the following layout object(s):
Pitch_squash_engraverSet the vertical position of note heads to
squashedPosition, if that property is set. This can be used to make a single-line staff demonstrating the rhythm of a melody.Properties (read)
squashedPosition(integer)Vertical position of squashing for Pitch_squash_engraver.
Staff_symbol_engraverCreate the constellation of five (default) staff lines.
Music types accepted:
This engraver creates the following layout object(s):
Bar_engraverCreate barlines. This engraver is controlled through the
whichBarproperty. If it has no bar line to create, it will forbid a linebreak at this point.Properties (read)
whichBar(string)This property is read to determine what type of bar line to create.
Example:
\set Staff.whichBar = "|:"This will create a start-repeat bar in this staff only. Valid values are described in bar-line-interface.
Properties (write)
forbidBreak(boolean)If set to
##t, prevent a line break at this point.This engraver creates the following layout object(s):
Dot_column_engraverEngrave dots on dotted notes shifted to the right of the note. If omitted, then dots appear on top of the notes.
This engraver creates the following layout object(s):
Separating_line_group_engraverGenerate objects for computing spacing parameters.
Properties (read)
createSpacing(boolean)Create
StaffSpacingobjects? Should be set for staves.Properties (write)
hasStaffSpacing(boolean)True if the current
CommandColumncontains items that will affect spacing.This engraver creates the following layout object(s):
Font_size_engraverPut
fontSizeintofont-sizegrob property.Properties (read)
fontSize(number)The relative size of all grobs in a context.
Output_property_engraverApply a procedure to any grob acknowledged.
Music types accepted:
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < RhythmicStaff ] | [ Up : Contexts ] | [ Staff > ] | ||
2.1.19 Score
This is the top level notation context. No
other context can contain a Score context. This context
handles the administration of time signatures. It also makes sure
that items such as clefs, time signatures, and key-signatures are
aligned across staves.
You cannot explicitly instantiate a Score context (since it
is not contained in any other context). It is instantiated
automatically when an output definition (a \score or
\layout block) is processed.
This context creates the following layout object(s):
BarNumber, BreakAlignGroup, BreakAlignment, GraceSpacing, LeftEdge, MetronomeMark, NonMusicalPaperColumn, PaperColumn, ParenthesesItem, RehearsalMark, SpacingSpanner, SystemStartBar, SystemStartBrace, SystemStartBracket, SystemStartSquare, VerticalAlignment, VoltaBracketSpanner and VoltaBracket.
This context sets the following properties:
- Set translator property
timingto#t. - Set translator property
verticallySpacedContextsto'(Staff). - Set translator property
instrumentTranspositionto#<Pitch c' >. - Set translator property
quotedEventTypesto'(note-event rest-event tie-event beam-event tuplet-span-event). - Set translator property
keepAliveInterfacesto'(rhythmic-grob-interface lyric-interface percent-repeat-item-interface percent-repeat-interface stanza-number-interface). - Set translator property
graceSettingsto'((Voice Stem direction 1) (Voice Stem font-size -3) (Voice NoteHead font-size -3) (Voice Dots font-size -3) (Voice Stem length-fraction 0.8) (Voice Stem no-stem-extend #t) (Voice Beam thickness 0.384) (Voice Beam length-fraction 0.8) (Voice Accidental font-size -4) (Voice AccidentalCautionary font-size -4) (Voice Slur direction -1) (Voice Script font-size -3)). - Set translator property
metronomeMarkFormattertoformat-metronome-markup. - Set translator property
figuredBassFormattertoformat-bass-figure. - Set translator property
tablatureFormattofret-number-tablature-format. - Set translator property
stringTuningsto'(4 -1 -5 -10 -15 -20). - Set translator property
highStringOneto#t. - Set translator property
stringOneTopmostto#t. - Set translator property
bassStaffPropertiesto'((assign clefGlyph clefs.F) (assign clefPosition 2) (assign middleCPosition 6) (assign middleCClefPosition 6)). - Set translator property
chordNameExceptionsPartialto'(((#<Pitch c' > #<Pitch d' >) (#<procedure line-markup (layout props args)> ((#<procedure normal-size-super-markup (layout props arg)> 2)))) ((#<Pitch c' > #<Pitch ees' >) (#<procedure line-markup (layout props args)> (m))) ((#<Pitch c' > #<Pitch f' >) (#<procedure line-markup (layout props args)> ((#<procedure normal-size-super-markup (layout props arg)> sus4)))) ((#<Pitch c' > #<Pitch g' >) (#<procedure line-markup (layout props args)> ((#<procedure normal-size-super-markup (layout props arg)> 5)))) ((#<Pitch c' > #<Pitch ees' > #<Pitch f' >) (#<procedure line-markup (layout props args)> (m)) (#<procedure line-markup (layout props args)> ((#<procedure normal-size-super-markup (layout props arg)> sus4)))) ((#<Pitch c' > #<Pitch d' > #<Pitch ees' >) (#<procedure line-markup (layout props args)> (m)) (#<procedure line-markup (layout props args)> ((#<procedure normal-size-super-markup (layout props arg)> sus2))))). - Set translator property
chordNameExceptionsFullto'(((#<Pitch c' > #<Pitch e' > #<Pitch gis' >) (#<procedure line-markup (layout props args)> (+))) ((#<Pitch c' > #<Pitch ees' > #<Pitch ges' >) (#<procedure line-markup (layout props args)> ((#<procedure super-markup (layout props arg)> o)))) ((#<Pitch c' > #<Pitch ees' > #<Pitch ges' > #<Pitch bes' >) (#<procedure line-markup (layout props args)> ((#<procedure super-markup (layout props arg)> ø)))) ((#<Pitch c' > #<Pitch ees' > #<Pitch ges' > #<Pitch beses' >) (#<procedure line-markup (layout props args)> ((#<procedure super-markup (layout props arg)> o7))))). - Set translator property
chordPrefixSpacerto0. - Set translator property
chordRootNamertonote-name->markup. - Set translator property
chordNoteNamerto'(). - Set translator property
chordNameExceptionsto'(((#<Pitch e' > #<Pitch gis' >) #<procedure line-markup (layout props args)> (+)) ((#<Pitch ees' > #<Pitch ges' >) #<procedure line-markup (layout props args)> ((#<procedure super-markup (layout props arg)> o))) ((#<Pitch ees' > #<Pitch ges' > #<Pitch bes' >) #<procedure line-markup (layout props args)> ((#<procedure super-markup (layout props arg)> ø))) ((#<Pitch ees' > #<Pitch ges' > #<Pitch beses' >) #<procedure line-markup (layout props args)> ((#<procedure super-markup (layout props arg)> o7)))). - Set translator property
chordNameSeparatorto'(#<procedure simple-markup (layout props str)> /). - Set translator property
majorSevenSymbolto'(#<procedure line-markup (layout props args)> ((#<procedure triangle-markup (layout props filled)> #f))). - Set translator property
chordNameFunctiontoignatzek-chord-names. - Set translator property
barCheckSynchronizeto#f. - Set translator property
keyAlterationOrderto'((6 . -1/2) (2 . -1/2) (5 . -1/2) (1 . -1/2) (4 . -1/2) (0 . -1/2) (3 . -1/2) (3 . 1/2) (0 . 1/2) (4 . 1/2) (1 . 1/2) (5 . 1/2) (2 . 1/2) (6 . 1/2) (6 . -1) (2 . -1) (5 . -1) (1 . -1) (4 . -1) (0 . -1) (3 . -1) (3 . 1) (0 . 1) (4 . 1) (2 . 1) (5 . 1) (2 . 1) (6 . 1)). - Set translator property
printKeyCancellationto#t. - Set translator property
autoCautionariesto'(). - Set translator property
autoAccidentalsto'(Staff #<procedure #f (context pitch barnum measurepos)>). - Set translator property
extraNaturalto#t. - Set translator property
subdivideBeamsto#f. - Set translator property
rehearsalMarkto1. - Set translator property
markFormattertoformat-mark-letters. - Set translator property
lyricMelismaAlignmentto-1. - Set translator property
strokeFingerOrientationsto'(right). - Set translator property
stringNumberOrientationsto'(up down). - Set translator property
fingeringOrientationsto'(up down). - Set translator property
harmonicAccidentalsto#t. - Set translator property
pedalSostenutoStyleto'mixed. - Set translator property
pedalSostenutoStringsto'(Sost. Ped. *Sost. Ped. *). - Set translator property
pedalUnaCordaStyleto'text. - Set translator property
pedalUnaCordaStringsto'(una corda tre corde). - Set translator property
pedalSustainStyleto'text. - Set translator property
pedalSustainStringsto'(Ped. *Ped. *). - Set translator property
scriptDefinitionsto'((thumb (script-stencil feta thumb . thumb) (avoid-slur . inside) (padding . 0.2) (direction . 1)) (accent (avoid-slur . around) (padding . 0.2) (quantize-position . #t) (script-stencil feta sforzato . sforzato) (side-relative-direction . -1)) (espressivo (avoid-slur . around) (padding . 0.2) (quantize-position . #t) (script-stencil feta espr . espr) (side-relative-direction . -1)) (marcato (script-stencil feta dmarcato . umarcato) (padding . 0.2) (avoid-slur . inside) (quantize-position . #t) (side-relative-direction . -1)) (staccatissimo (avoid-slur . inside) (script-stencil feta dstaccatissimo . ustaccatissimo) (padding . 0.2) (side-relative-direction . -1)) (portato (script-stencil feta uportato . dportato) (avoid-slur . around) (slur-padding . 0.3) (padding . 0.45) (side-relative-direction . -1)) (accentus (script-stencil feta uaccentus . uaccentus) (side-relative-direction . -1) (avoid-slur . #f) (padding . 0.2) (quantize-position . #t) (script-priority . -100) (direction . 1)) (ictus (script-stencil feta ictus . ictus) (side-relative-direction . -1) (quantize-position . #t) (avoid-slur . #f) (padding . 0.2) (script-priority . -100) (direction . -1)) (semicirculus (script-stencil feta dsemicirculus . dsemicirculus) (side-relative-direction . -1) (quantize-position . #t) (avoid-slur . #f) (padding . 0.2) (script-priority . -100) (direction . 1)) (circulus (script-stencil feta circulus . circulus) (side-relative-direction . -1) (avoid-slur . #f) (padding . 0.2) (quantize-position . #t) (script-priority . -100) (direction . 1)) (signumcongruentiae (script-stencil feta dsignumcongruentiae . usignumcongruentiae) (padding . 0.2) (avoid-slur . outside) (direction . 1)) (fermata (script-stencil feta dfermata . ufermata) (padding . 0.2) (avoid-slur . around) (script-priority . 4000) (direction . 1)) (shortfermata (script-stencil feta dshortfermata . ushortfermata) (padding . 0.2) (avoid-slur . around) (direction . 1)) (longfermata (script-stencil feta dlongfermata . ulongfermata) (padding . 0.2) (avoid-slur . around) (direction . 1)) (verylongfermata (script-stencil feta dverylongfermata . uverylongfermata) (padding . 0.2) (avoid-slur . around) (direction . 1)) (stopped (script-stencil feta stopped . stopped) (avoid-slur . inside) (padding . 0.2) (direction . 1)) (staccato (script-stencil feta staccato . staccato) (side-relative-direction . -1) (quantize-position . #t) (avoid-slur . inside) (toward-stem-shift . 0.5) (padding . 0.2) (script-priority . -100)) (tenuto (script-stencil feta tenuto . tenuto) (quantize-position . #t) (avoid-slur . inside) (padding . 0.2) (side-relative-direction . -1)) (comma (script-stencil feta lcomma . rcomma) (quantize-position . #t) (padding . 0.2) (avoid-slur . #f) (direction . 1)) (varcomma (script-stencil feta lvarcomma . rvarcomma) (quantize-position . #t) (padding . 0.2) (avoid-slur . #f) (direction . 1)) (upbow (script-stencil feta upbow . upbow) (avoid-slur . around) (padding . 0.2) (direction . 1)) (downbow (script-stencil feta downbow . downbow) (padding . 0.2) (avoid-slur . around) (direction . 1)) (lheel (script-stencil feta upedalheel . upedalheel) (padding . 0.2) (avoid-slur . around) (direction . -1)) (rheel (script-stencil feta dpedalheel . dpedalheel) (padding . 0.2) (avoid-slur . around) (direction . 1)) (ltoe (script-stencil feta upedaltoe . upedaltoe) (padding . 0.2) (avoid-slur . around) (direction . -1)) (rtoe (script-stencil feta dpedaltoe . dpedaltoe) (padding . 0.2) (avoid-slur . around) (direction . 1)) (turn (script-stencil feta turn . turn) (avoid-slur . inside) (padding . 0.2) (direction . 1)) (open (avoid-slur . outside) (padding . 0.2) (script-stencil feta open . open) (direction . 1)) (flageolet (script-stencil feta flageolet . flageolet) (padding . 0.2) (avoid-slur . around) (direction . 1)) (reverseturn (script-stencil feta reverseturn . reverseturn) (padding . 0.2) (avoid-slur . inside) (direction . 1)) (trill (script-stencil feta trill . trill) (direction . 1) (padding . 0.2) (avoid-slur . outside) (script-priority . 2000)) (prall (script-stencil feta prall . prall) (padding . 0.2) (avoid-slur . around) (direction . 1)) (mordent (script-stencil feta mordent . mordent) (padding . 0.2) (avoid-slur . around) (direction . 1)) (prallprall (script-stencil feta prallprall . prallprall) (padding . 0.2) (avoid-slur . around) (direction . 1)) (prallmordent (script-stencil feta prallmordent . prallmordent) (padding . 0.2) (avoid-slur . around) (direction . 1)) (upprall (script-stencil feta upprall . upprall) (padding . 0.2) (avoid-slur . around) (direction . 1)) (downprall (script-stencil feta downprall . downprall) (padding . 0.2) (avoid-slur . around) (direction . 1)) (upmordent (script-stencil feta upmordent . upmordent) (padding . 0.2) (avoid-slur . around) (direction . 1)) (downmordent (script-stencil feta downmordent . downmordent) (padding . 0.2) (avoid-slur . around) (direction . 1)) (lineprall (script-stencil feta lineprall . lineprall) (padding . 0.2) (avoid-slur . around) (direction . 1)) (pralldown (script-stencil feta pralldown . pralldown) (padding . 0.2) (avoid-slur . around) (direction . 1)) (prallup (script-stencil feta prallup . prallup) (padding . 0.2) (avoid-slur . around) (direction . 1)) (segno (script-stencil feta segno . segno) (padding . 0.2) (avoid-slur . outside) (direction . 1)) (coda (script-stencil feta coda . coda) (padding . 0.2) (avoid-slur . outside) (direction . 1)) (varcoda (script-stencil feta varcoda . varcoda) (padding . 0.2) (avoid-slur . outside) (direction . 1))). - Set translator property
autoBeamChecktodefault-auto-beam-check. - Set translator property
autoBeamingto#t. - Set translator property
autoBeamSettingsto'(((end 1 32 2 2) . #<Mom 1/4>) ((end 1 32 2 2) . #<Mom 1/2>) ((end 1 32 2 2) . #<Mom 3/4>) ((end 1 16 3 2) . #<Mom 1/4>) ((end 1 16 3 2) . #<Mom 1/2>) ((end 1 16 3 2) . #<Mom 3/4>) ((end 1 16 3 2) . #<Mom 1>) ((end 1 16 3 2) . #<Mom 5/4>) ((end 1 32 3 2) . #<Mom 1/8>) ((end 1 32 3 2) . #<Mom 1/4>) ((end 1 32 3 2) . #<Mom 3/8>) ((end 1 32 3 2) . #<Mom 1/2>) ((end 1 32 3 2) . #<Mom 5/8>) ((end 1 32 3 2) . #<Mom 3/4>) ((end 1 32 3 2) . #<Mom 7/8>) ((end 1 32 3 2) . #<Mom 1>) ((end 1 32 3 2) . #<Mom 9/8>) ((end 1 32 3 2) . #<Mom 5/4>) ((end 1 32 3 2) . #<Mom 11/8>) ((end 1 32 2 4) . #<Mom 1/8>) ((end 1 32 2 4) . #<Mom 1/4>) ((end 1 32 2 4) . #<Mom 3/8>) ((end * * 3 4) . #<Mom 3/4>) ((end 1 16 3 4) . #<Mom 1/4>) ((end 1 16 3 4) . #<Mom 1/2>) ((end 1 32 3 4) . #<Mom 1/8>) ((end 1 32 3 4) . #<Mom 1/4>) ((end 1 32 3 4) . #<Mom 3/8>) ((end 1 32 3 4) . #<Mom 1/2>) ((end 1 32 3 4) . #<Mom 5/8>) ((end * * 4 4) . #<Mom 1/2>) ((end 1 12 4 4) . #<Mom 1/4>) ((end 1 12 4 4) . #<Mom 3/4>) ((end 1 16 4 4) . #<Mom 1/4>) ((end 1 16 4 4) . #<Mom 3/4>) ((end 1 32 4 4) . #<Mom 1/8>) ((end 1 32 4 4) . #<Mom 1/4>) ((end 1 32 4 4) . #<Mom 3/8>) ((end 1 32 4 4) . #<Mom 5/8>) ((end 1 32 4 4) . #<Mom 3/4>) ((end 1 32 4 4) . #<Mom 7/8>) ((end * * 3 8) . #<Mom 3/8>) ((end * * 4 8) . #<Mom 1/4>) ((end 1 32 4 8) . #<Mom 1/8>) ((end 1 32 4 8) . #<Mom 3/8>) ((end 1 32 6 8) . #<Mom 1/8>) ((end 1 32 6 8) . #<Mom 1/4>) ((end 1 32 6 8) . #<Mom 3/8>) ((end 1 32 6 8) . #<Mom 1/2>) ((end 1 32 6 8) . #<Mom 5/8>) ((end 1 32 9 8) . #<Mom 1/8>) ((end 1 32 9 8) . #<Mom 1/4>) ((end 1 32 9 8) . #<Mom 3/8>) ((end 1 32 9 8) . #<Mom 1/2>) ((end 1 32 9 8) . #<Mom 5/8>) ((end 1 32 9 8) . #<Mom 3/4>) ((end 1 32 9 8) . #<Mom 7/8>) ((end 1 32 9 8) . #<Mom 1>) ((end 1 32 12 8) . #<Mom 1/8>) ((end 1 32 12 8) . #<Mom 1/4>) ((end 1 32 12 8) . #<Mom 3/8>) ((end 1 32 12 8) . #<Mom 1/2>) ((end 1 32 12 8) . #<Mom 5/8>) ((end 1 32 12 8) . #<Mom 3/4>) ((end 1 32 12 8) . #<Mom 7/8>) ((end 1 32 12 8) . #<Mom 1>) ((end 1 32 12 8) . #<Mom 9/8>) ((end 1 32 12 8) . #<Mom 5/4>) ((end 1 32 12 8) . #<Mom 11/8>) ((end * * 4 16) . #<Mom 1/8>)). - Set translator property
repeatCountVisibilitytoall-repeat-counts-visible. - Set translator property
implicitTimeSignatureVisibilityto#(#f #t #t). - Set translator property
explicitKeySignatureVisibilityto#(#t #t #t). - Set translator property
explicitClefVisibilityto#(#t #t #t). - Set translator property
automaticBarsto#t. - Set translator property
barNumberVisibilitytofirst-bar-number-invisible. - Set translator property
doubleRepeatTypeto":|:". - Set translator property
defaultBarTypeto"|". - Set translator property
decrescendoSpannerto'hairpin. - Set translator property
crescendoSpannerto'hairpin. - Set translator property
firstClefto#t. - Set translator property
middleCPositionto-6. - Set translator property
middleCClefPositionto-6. - Set translator property
clefPositionto-2. - Set translator property
clefGlyphto"clefs.G". - Set translator property
tieWaitForNoteto#f. - Set translator property
melismaBusyPropertiesto'(melismaBusy slurMelismaBusy tieMelismaBusy beamMelismaBusy completionBusy). - Set translator property
drumStyleTableto#<hash-table 29/61>. - Set translator property
systemStartDelimiterto'SystemStartBar. - Set translator property
printPartCombineTextsto#t. - Set translator property
aDueTextto"a2". - Set translator property
soloIITextto"Solo II". - Set translator property
soloTextto"Solo". - Set translator property
noteToFretFunctiontodetermine-frets.
Context Score can contain Staff, FiguredBass, NoteNames, Devnull, PianoStaff, ChoirStaff, GrandStaff, ChordNames, Lyrics, DrumStaff, StaffGroup, MensuralStaff, GregorianTranscriptionStaff, VaticanaStaff, TabStaff, RhythmicStaff and FretBoards.
This context is built from the following engraver(s):
Parenthesis_engraverParenthesize objects whose music cause has the
parenthesizeproperty.This engraver creates the following layout object(s):
Bar_number_engraverA bar number is created whenever
measurePositionis zero and when there is a bar line (i.e., whenwhichBaris set). It is put on top of all staves, and appears only at the left side of the staff. The staves are taken fromstavesFound, which is maintained by Staff_collecting_engraver.Properties (read)
currentBarNumber(integer)Contains the current barnumber. This property is incremented at every bar line.
whichBar(string)This property is read to determine what type of bar line to create.
Example:
\set Staff.whichBar = "|:"This will create a start-repeat bar in this staff only. Valid values are described in bar-line-interface.
stavesFound(list of grobs)A list of all staff-symbols found.
barNumberVisibility(procedure)A Procedure that takes an integer and returns whether the corresponding bar number should be printed.
This engraver creates the following layout object(s):
Stanza_number_align_engraverThis engraver ensures that stanza numbers are neatly aligned.
Vertical_align_engraverCatch groups (staves, lyrics lines, etc.) and stack them vertically.
Properties (read)
alignAboveContext(string)Where to insert newly created context in vertiical alignment.
alignBelowContext(string)Where to insert newly created context in vertiical alignment.
This engraver creates the following layout object(s):
Grace_spacing_engraverBookkeeping of shortest starting and playing notes in grace note runs.
Properties (read)
currentMusicalColumn(layout object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
Spacing_engraverMake a
SpacingSpannerand do bookkeeping of shortest starting and playing notes.Music types accepted:
Properties (read)
currentMusicalColumn(layout object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
proportionalNotationDuration(moment)Global override for shortest-playing duration. This is used for switching on proportional notation.
This engraver creates the following layout object(s):
Break_align_engraverAlign grobs with corresponding
break-align-symbolsinto groups, and order the groups according tobreakAlignOrder. The left edge of the alignment gets a separate group, with a symbolleft-edge.This engraver creates the following layout object(s):
Metronome_mark_engraverEngrave metronome marking. This delegates the formatting work to the function in the
metronomeMarkFormatterproperty. The mark is put over all staves. The staves are taken from thestavesFoundproperty, which is maintained by Staff_collecting_engraver.Properties (read)
stavesFound(list of grobs)A list of all staff-symbols found.
metronomeMarkFormatter(procedure)How to produce a metronome markup. Called with four arguments: text, duration, count and context.
tempoUnitDuration(duration)Unit for specifying tempo.
tempoUnitCount(number)Count for specifying tempo.
tempoText(markup)Text for tempo marks.
tempoHideNote(boolean)Hide the note=count in tempo marks.
This engraver creates the following layout object(s):
Volta_engraverMake volta brackets.
Properties (read)
repeatCommands(list)This property is a list of commands of the form
(list 'volta x), where x is a string or#f.'end-repeatis also accepted as a command.voltaSpannerDuration(moment)This specifies the maximum duration to use for the brackets printed for
\alternative. This can be used to shrink the length of brackets in the situation where one alternative is very large.stavesFound(list of grobs)A list of all staff-symbols found.
This engraver creates the following layout object(s):
Mark_engraverCreate
RehearsalMarkobjects. It puts them on top of all staves (which is taken from the propertystavesFound). If moving this engraver to a different context, Staff_collecting_engraver must move along, otherwise all marks end up on the same Y location.Music types accepted:
Properties (read)
markFormatter(procedure)A procedure taking as arguments the context and the rehearsal mark. It should return the formatted mark as a markup object.
rehearsalMark(integer)The last rehearsal mark printed.
stavesFound(list of grobs)A list of all staff-symbols found.
This engraver creates the following layout object(s):
System_start_delimiter_engraverCreate a system start delimiter (i.e., a
SystemStartBar,SystemStartBrace,SystemStartBracketorSystemStartSquarespanner).Properties (read)
systemStartDelimiter(symbol)Which grob to make for the start of the system/staff? Set to
SystemStartBrace,SystemStartBracketorSystemStartBar.systemStartDelimiterHierarchy(pair)A nested list, indicating the nesting of a start delimiters.
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
This engraver creates the following layout object(s):
SystemStartBar, SystemStartBrace, SystemStartBracket and SystemStartSquare.
Output_property_engraverApply a procedure to any grob acknowledged.
Music types accepted:
Default_bar_line_engraverThis engraver determines what kind of automatic bar lines should be produced, and sets
whichBaraccordingly. It should be at the same level as Timing_translator.Properties (read)
automaticBars(boolean)If set to false then bar lines will not be printed automatically; they must be explicitly created with a
\barcommand. Unlike the\cadenzaOnkeyword, measures are still counted. Bar line generation will resume according to that count if this property is unset.barAlways(boolean)If set to true a bar line is drawn after each note.
defaultBarType(string)Set the default type of bar line. See
whichBarfor information on available bar types.This variable is read by Timing_translator at Score level.
measureLength(moment)Length of one measure in the current time signature.
whichBar(string)This property is read to determine what type of bar line to create.
Example:
\set Staff.whichBar = "|:"This will create a start-repeat bar in this staff only. Valid values are described in bar-line-interface.
measurePosition(moment)How much of the current measure have we had. This can be set manually to create incomplete measures.
Properties (write)
automaticBars(boolean)If set to false then bar lines will not be printed automatically; they must be explicitly created with a
\barcommand. Unlike the\cadenzaOnkeyword, measures are still counted. Bar line generation will resume according to that count if this property is unset.Timing_translatorThis engraver adds the alias
Timingto its containing context. Responsible for synchronizing timing information from staves. Normally inScore. In order to create polyrhythmic music, this engraver should be removed fromScoreand placed inStaff.Properties (read)
internalBarNumber(integer)Contains the current barnumber. This property is used for internal timekeeping, among others by the
Accidental_engraver.currentBarNumber(integer)Contains the current barnumber. This property is incremented at every bar line.
measureLength(moment)Length of one measure in the current time signature.
measurePosition(moment)How much of the current measure have we had. This can be set manually to create incomplete measures.
Properties (write)
internalBarNumber(integer)Contains the current barnumber. This property is used for internal timekeeping, among others by the
Accidental_engraver.currentBarNumber(integer)Contains the current barnumber. This property is incremented at every bar line.
measurePosition(moment)How much of the current measure have we had. This can be set manually to create incomplete measures.
Staff_collecting_engraverMaintain the
stavesFoundvariable.Properties (read)
stavesFound(list of grobs)A list of all staff-symbols found.
Properties (write)
stavesFound(list of grobs)A list of all staff-symbols found.
Repeat_acknowledge_engraverAcknowledge repeated music, and convert the contents of
repeatCommandsinto an appropriate setting forwhichBar.Properties (read)
doubleRepeatType(string)Set the default bar line for double repeats.
repeatCommands(list)This property is a list of commands of the form
(list 'volta x), where x is a string or#f.'end-repeatis also accepted as a command.whichBar(string)This property is read to determine what type of bar line to create.
Example:
\set Staff.whichBar = "|:"This will create a start-repeat bar in this staff only. Valid values are described in bar-line-interface.
Vertically_spaced_contexts_engraverProperties (read)
verticallySpacedContexts(list)List of symbols, containing context names whose vertical axis groups should be taken into account for vertical spacing of systems.
Properties (write)
verticallySpacedContexts(list)List of symbols, containing context names whose vertical axis groups should be taken into account for vertical spacing of systems.
Paper_column_engraverTake care of generating columns.
This engraver decides whether a column is breakable. The default is that a column is always breakable. However, every
Bar_engraverthat does not have a barline at a certain point will setforbidBreaksin the score context to stop line breaks. In practice, this means that you can make a break point by creating a bar line (assuming that there are no beams or notes that prevent a break point).Music types accepted:
Properties (read)
forbidBreak(boolean)If set to
##t, prevent a line break at this point.Properties (write)
forbidBreak(boolean)If set to
##t, prevent a line break at this point.currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
currentMusicalColumn(layout object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Score ] | [ Up : Contexts ] | [ StaffGroup > ] | ||
2.1.20 Staff
Handles clefs, bar lines, keys, accidentals. It can contain
Voice contexts.
This context creates the following layout object(s):
AccidentalCautionary, AccidentalPlacement, AccidentalSuggestion, Accidental, BarLine, BassFigureAlignmentPositioning, BassFigureAlignment, BassFigureBracket, BassFigureContinuation, BassFigureLine, BassFigure, Clef, DotColumn, InstrumentName, KeySignature, LedgerLineSpanner, NoteCollision, OctavateEight, OttavaBracket, PianoPedalBracket, RestCollision, ScriptRow, SostenutoPedalLineSpanner, SostenutoPedal, StaffSpacing, StaffSymbol, SustainPedalLineSpanner, SustainPedal, TimeSignature, UnaCordaPedalLineSpanner, UnaCordaPedal and VerticalAxisGroup.
This context sets the following properties:
- Set translator property
shortInstrumentNameto'(). - Set translator property
instrumentNameto'(). - Set grob-property
minimum-Y-extentin VerticalAxisGroup to'(-4 . 4). - Set translator property
ignoreFiguredBassRestto#t. - Set translator property
createSpacingto#t. - Set translator property
localKeySignatureto'().
Context Staff can contain Voice and CueVoice.
This context is built from the following engraver(s):
Script_row_engraverDetermine order in horizontal side position elements.
This engraver creates the following layout object(s):
Figured_bass_position_engraverPosition figured bass alignments over notes.
This engraver creates the following layout object(s):
Figured_bass_engraverMake figured bass numbers.
Music types accepted:
bass-figure-event and rest-event
Properties (read)
figuredBassAlterationDirection(direction)Where to put alterations relative to the main figure.
figuredBassCenterContinuations(boolean)Whether to vertically center pairs of extender lines. This does not work with three or more lines.
figuredBassFormatter(procedure)A routine generating a markup for a bass figure.
implicitBassFigures(list)A list of bass figures that are not printed as numbers, but only as extender lines.
useBassFigureExtenders(boolean)Whether to use extender lines for repeated bass figures.
ignoreFiguredBassRest(boolean)Don’t swallow rest events.
This engraver creates the following layout object(s):
BassFigure, BassFigureAlignment, BassFigureBracket, BassFigureContinuation and BassFigureLine.
Axis_group_engraverGroup all objects created in this context in a
VerticalAxisGroupspanner.Properties (read)
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
This engraver creates the following layout object(s):
String_number_engraverSwallow string number events. The purpose of this engraver is to process tablatures for normal notation. To provent warnings for unprocessed string number events to obscure real error messages, this engraver swallows them all.
Instrument_name_engraverCreate a system start text for instrument or vocal names.
Properties (read)
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
shortInstrumentName(markup)See
instrument.instrumentName(markup)The name to print left of a staff. The
instrumentproperty labels the staff in the first system, and theinstrproperty labels following lines.shortVocalName(markup)Name of a vocal line, short version.
vocalName(markup)Name of a vocal line.
This engraver creates the following layout object(s):
Piano_pedal_align_engraverAlign piano pedal symbols and brackets.
Properties (read)
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
This engraver creates the following layout object(s):
SostenutoPedalLineSpanner, SustainPedalLineSpanner and UnaCordaPedalLineSpanner.
Piano_pedal_engraverEngrave piano pedal symbols and brackets.
Music types accepted:
una-corda-event, sustain-event and sostenuto-event
Properties (read)
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
pedalSostenutoStrings(list)See
pedalSustainStrings.pedalSostenutoStyle(symbol)See
pedalSustainStyle.pedalSustainStrings(list)A list of strings to print for sustain-pedal. Format is
(up updown down), where each of the three is the string to print when this is done with the pedal.pedalSustainStyle(symbol)A symbol that indicates how to print sustain pedals:
text,bracketormixed(both).pedalUnaCordaStrings(list)See
pedalSustainStrings.pedalUnaCordaStyle(symbol)See
pedalSustainStyle.This engraver creates the following layout object(s):
PianoPedalBracket, SostenutoPedal, SustainPedal and UnaCordaPedal.
Accidental_engraverMake accidentals. Catch note heads, ties and notices key-change events. This engraver usually lives at Staff level, but reads the settings for Accidental at
Voicelevel, so you can\overridethem atVoice.Properties (read)
autoAccidentals(list)List of different ways to typeset an accidental.
For determining when to print an accidental, several different rules are tried. The rule that gives the highest number of accidentals is used.
Each entry in the list is either a symbol or a procedure.
- symbol
The symbol is the name of the context in which the following rules are to be applied. For example, if context is Score then all staves share accidentals, and if context is Staff then all voices in the same staff share accidentals, but staves do not.
- procedure
The procedure represents an accidental rule to be applied to the previously specified context.
The procedure takes the following arguments:
contextThe current context to which the rule should be applied.
pitchThe pitch of the note to be evaluated.
barnumThe current bar number.
measureposThe current measure position.
The procedure returns a pair of booleans. The first states whether an extra natural should be added. The second states whether an accidental should be printed.
(#t . #f)does not make sense.autoCautionaries(list)List similar to
autoAccidentals, but it controls cautionary accidentals rather than normal ones. Both lists are tried, and the one giving the most accidentals wins. In case of draw, a normal accidental is typeset.internalBarNumber(integer)Contains the current barnumber. This property is used for internal timekeeping, among others by the
Accidental_engraver.extraNatural(boolean)Whether to typeset an extra natural sign before accidentals changing from a non-natural to another non-natural.
harmonicAccidentals(boolean)If set, harmonic notes in chords get accidentals.
keySignature(list)The current key signature. This is an alist containing
(step . alter)or((octave . step) . alter), where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.keySignature = #`((6 . ,FLAT)).localKeySignature(list)The key signature at this point in the measure. The format is the same as for
keySignature, but can also contain((octave . name) . (alter barnumber . measureposition))pairs.Properties (write)
localKeySignature(list)The key signature at this point in the measure. The format is the same as for
keySignature, but can also contain((octave . name) . (alter barnumber . measureposition))pairs.This engraver creates the following layout object(s):
Accidental, AccidentalCautionary, AccidentalPlacement and AccidentalSuggestion.
Rest_collision_engraverHandle collisions of rests.
Properties (read)
busyGrobs(list)A queue of
(end-moment . GROB)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).This engraver creates the following layout object(s):
Grob_pq_engraverAdministrate when certain grobs (e.g., note heads) stop playing.
Properties (read)
busyGrobs(list)A queue of
(end-moment . GROB)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Properties (write)
busyGrobs(list)A queue of
(end-moment . GROB)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Collision_engraverCollect
NoteColumns, and as soon as there are two or more, put them in aNoteCollisionobject.This engraver creates the following layout object(s):
Staff_symbol_engraverCreate the constellation of five (default) staff lines.
Music types accepted:
This engraver creates the following layout object(s):
Ledger_line_engraverCreate the spanner to draw ledger lines, and notices objects that need ledger lines.
This engraver creates the following layout object(s):
Time_signature_engraverCreate a TimeSignature whenever
timeSignatureFractionchanges.Properties (read)
implicitTimeSignatureVisibility(vector)break visibility for the default time signature.
timeSignatureFraction(pair of numbers)A pair of numbers, signifying the time signature. For example,
#'(4 . 4)is a 4/4 time signature.This engraver creates the following layout object(s):
Key_engraverEngrave a key signature.
Music types accepted:
Properties (read)
createKeyOnClefChange(boolean)Print a key signature whenever the clef is changed.
explicitKeySignatureVisibility(vector)‘break-visibility’ function for explicit key changes. ‘\override’ of the
break-visibilityproperty will set the visibility for normal (i.e., at the start of the line) key signatures.extraNatural(boolean)Whether to typeset an extra natural sign before accidentals changing from a non-natural to another non-natural.
keyAlterationOrder(list)An alist that defines in what order alterations should be printed. The format is
(step . alter), where step is a number from 0 to 6 and alter from -2 (sharp) to 2 (flat).keySignature(list)The current key signature. This is an alist containing
(step . alter)or((octave . step) . alter), where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.keySignature = #`((6 . ,FLAT)).lastKeySignature(list)Last key signature before a key signature change.
printKeyCancellation(boolean)Print restoration alterations before a key signature change.
Properties (write)
keySignature(list)The current key signature. This is an alist containing
(step . alter)or((octave . step) . alter), where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.keySignature = #`((6 . ,FLAT)).lastKeySignature(list)Last key signature before a key signature change.
tonic(pitch)The tonic of the current scale.
This engraver creates the following layout object(s):
Clef_engraverDetermine and set reference point for pitches.
Properties (read)
clefGlyph(string)Name of the symbol within the music font.
clefOctavation(integer)Add this much extra octavation. Values of 7 and -7 are common.
clefPosition(number)Where should the center of the clef symbol go, measured in half staff spaces from the center of the staff.
explicitClefVisibility(vector)‘break-visibility’ function for clef changes.
forceClef(boolean)Show clef symbol, even if it has not changed. Only active for the first clef after the property is set, not for the full staff.
This engraver creates the following layout object(s):
Clef and OctavateEight.
Ottava_spanner_engraverCreate a text spanner when the ottavation property changes.
Properties (read)
ottavation(markup)If set, the text for an ottava spanner. Changing this creates a new text spanner.
originalMiddleCPosition(integer)Used for temporary overriding middle C in octavation brackets.
currentMusicalColumn(layout object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
Staff_collecting_engraverMaintain the
stavesFoundvariable.Properties (read)
stavesFound(list of grobs)A list of all staff-symbols found.
Properties (write)
stavesFound(list of grobs)A list of all staff-symbols found.
Dot_column_engraverEngrave dots on dotted notes shifted to the right of the note. If omitted, then dots appear on top of the notes.
This engraver creates the following layout object(s):
Separating_line_group_engraverGenerate objects for computing spacing parameters.
Properties (read)
createSpacing(boolean)Create
StaffSpacingobjects? Should be set for staves.Properties (write)
hasStaffSpacing(boolean)True if the current
CommandColumncontains items that will affect spacing.This engraver creates the following layout object(s):
Font_size_engraverPut
fontSizeintofont-sizegrob property.Properties (read)
fontSize(number)The relative size of all grobs in a context.
Bar_engraverCreate barlines. This engraver is controlled through the
whichBarproperty. If it has no bar line to create, it will forbid a linebreak at this point.Properties (read)
whichBar(string)This property is read to determine what type of bar line to create.
Example:
\set Staff.whichBar = "|:"This will create a start-repeat bar in this staff only. Valid values are described in bar-line-interface.
Properties (write)
forbidBreak(boolean)If set to
##t, prevent a line break at this point.This engraver creates the following layout object(s):
Output_property_engraverApply a procedure to any grob acknowledged.
Music types accepted:
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Staff ] | [ Up : Contexts ] | [ TabStaff > ] | ||
2.1.21 StaffGroup
Groups staves while adding a bracket on the left
side, grouping the staves together. The bar lines of the contained
staves are connected vertically. StaffGroup only consists of
a collection of staves, with a bracket in front and spanning bar lines.
This context creates the following layout object(s):
Arpeggio, SpanBar, SystemStartBar, SystemStartBrace, SystemStartBracket and SystemStartSquare.
This context sets the following properties:
- Set translator property
systemStartDelimiterto'SystemStartBracket.
Context StaffGroup can contain Staff, StaffGroup, ChoirStaff, FiguredBass, ChordNames, Lyrics, TabStaff, PianoStaff, GrandStaff, DrumStaff and RhythmicStaff.
This context is built from the following engraver(s):
System_start_delimiter_engraverCreate a system start delimiter (i.e., a
SystemStartBar,SystemStartBrace,SystemStartBracketorSystemStartSquarespanner).Properties (read)
systemStartDelimiter(symbol)Which grob to make for the start of the system/staff? Set to
SystemStartBrace,SystemStartBracketorSystemStartBar.systemStartDelimiterHierarchy(pair)A nested list, indicating the nesting of a start delimiters.
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
This engraver creates the following layout object(s):
SystemStartBar, SystemStartBrace, SystemStartBracket and SystemStartSquare.
Output_property_engraverApply a procedure to any grob acknowledged.
Music types accepted:
Span_arpeggio_engraverMake arpeggios that span multiple staves.
Properties (read)
connectArpeggios(boolean)If set, connect arpeggios across piano staff.
This engraver creates the following layout object(s):
Span_bar_engraverMake cross-staff bar lines: It catches all normal bar lines and draws a single span bar across them.
This engraver creates the following layout object(s):
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < StaffGroup ] | [ Up : Contexts ] | [ TabVoice > ] | ||
2.1.22 TabStaff
Context for generating tablature. [DOCME]
This context also accepts commands for the following context(s):
Staff.
This context creates the following layout object(s):
BarLine, BassFigureAlignmentPositioning, BassFigureAlignment, BassFigureBracket, BassFigureContinuation, BassFigureLine, BassFigure, Clef, DotColumn, InstrumentName, LedgerLineSpanner, NoteCollision, OctavateEight, OttavaBracket, PianoPedalBracket, RestCollision, ScriptRow, SostenutoPedalLineSpanner, SostenutoPedal, StaffSpacing, StaffSymbol, SustainPedalLineSpanner, SustainPedal, TimeSignature, UnaCordaPedalLineSpanner, UnaCordaPedal and VerticalAxisGroup.
This context sets the following properties:
- Set translator property
clefPositionto0. - Set translator property
clefGlyphto"clefs.tab". - Set grob-property
avoid-note-headin Stem to#t. - Set grob-property
staff-spacein StaffSymbol to1.5. - Set translator property
shortInstrumentNameto'(). - Set translator property
instrumentNameto'(). - Set grob-property
minimum-Y-extentin VerticalAxisGroup to'(-4 . 4). - Set translator property
ignoreFiguredBassRestto#t. - Set translator property
createSpacingto#t. - Set translator property
localKeySignatureto'().
Context TabStaff can contain TabVoice and CueVoice.
This context is built from the following engraver(s):
Tab_staff_symbol_engraverCreate a tablature staff symbol, but look at
stringTuningsfor the number of lines.Properties (read)
stringTunings(list)The tablature strings tuning. It is a list of the pitch (in semitones) of each string (starting with the lower one).
This engraver creates the following layout object(s):
Script_row_engraverDetermine order in horizontal side position elements.
This engraver creates the following layout object(s):
Figured_bass_position_engraverPosition figured bass alignments over notes.
This engraver creates the following layout object(s):
Figured_bass_engraverMake figured bass numbers.
Music types accepted:
bass-figure-event and rest-event
Properties (read)
figuredBassAlterationDirection(direction)Where to put alterations relative to the main figure.
figuredBassCenterContinuations(boolean)Whether to vertically center pairs of extender lines. This does not work with three or more lines.
figuredBassFormatter(procedure)A routine generating a markup for a bass figure.
implicitBassFigures(list)A list of bass figures that are not printed as numbers, but only as extender lines.
useBassFigureExtenders(boolean)Whether to use extender lines for repeated bass figures.
ignoreFiguredBassRest(boolean)Don’t swallow rest events.
This engraver creates the following layout object(s):
BassFigure, BassFigureAlignment, BassFigureBracket, BassFigureContinuation and BassFigureLine.
Axis_group_engraverGroup all objects created in this context in a
VerticalAxisGroupspanner.Properties (read)
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
This engraver creates the following layout object(s):
Instrument_name_engraverCreate a system start text for instrument or vocal names.
Properties (read)
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
shortInstrumentName(markup)See
instrument.instrumentName(markup)The name to print left of a staff. The
instrumentproperty labels the staff in the first system, and theinstrproperty labels following lines.shortVocalName(markup)Name of a vocal line, short version.
vocalName(markup)Name of a vocal line.
This engraver creates the following layout object(s):
Piano_pedal_align_engraverAlign piano pedal symbols and brackets.
Properties (read)
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
This engraver creates the following layout object(s):
SostenutoPedalLineSpanner, SustainPedalLineSpanner and UnaCordaPedalLineSpanner.
Piano_pedal_engraverEngrave piano pedal symbols and brackets.
Music types accepted:
una-corda-event, sustain-event and sostenuto-event
Properties (read)
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
pedalSostenutoStrings(list)See
pedalSustainStrings.pedalSostenutoStyle(symbol)See
pedalSustainStyle.pedalSustainStrings(list)A list of strings to print for sustain-pedal. Format is
(up updown down), where each of the three is the string to print when this is done with the pedal.pedalSustainStyle(symbol)A symbol that indicates how to print sustain pedals:
text,bracketormixed(both).pedalUnaCordaStrings(list)See
pedalSustainStrings.pedalUnaCordaStyle(symbol)See
pedalSustainStyle.This engraver creates the following layout object(s):
PianoPedalBracket, SostenutoPedal, SustainPedal and UnaCordaPedal.
Rest_collision_engraverHandle collisions of rests.
Properties (read)
busyGrobs(list)A queue of
(end-moment . GROB)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).This engraver creates the following layout object(s):
Grob_pq_engraverAdministrate when certain grobs (e.g., note heads) stop playing.
Properties (read)
busyGrobs(list)A queue of
(end-moment . GROB)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Properties (write)
busyGrobs(list)A queue of
(end-moment . GROB)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Collision_engraverCollect
NoteColumns, and as soon as there are two or more, put them in aNoteCollisionobject.This engraver creates the following layout object(s):
Staff_symbol_engraverCreate the constellation of five (default) staff lines.
Music types accepted:
This engraver creates the following layout object(s):
Ledger_line_engraverCreate the spanner to draw ledger lines, and notices objects that need ledger lines.
This engraver creates the following layout object(s):
Time_signature_engraverCreate a TimeSignature whenever
timeSignatureFractionchanges.Properties (read)
implicitTimeSignatureVisibility(vector)break visibility for the default time signature.
timeSignatureFraction(pair of numbers)A pair of numbers, signifying the time signature. For example,
#'(4 . 4)is a 4/4 time signature.This engraver creates the following layout object(s):
Clef_engraverDetermine and set reference point for pitches.
Properties (read)
clefGlyph(string)Name of the symbol within the music font.
clefOctavation(integer)Add this much extra octavation. Values of 7 and -7 are common.
clefPosition(number)Where should the center of the clef symbol go, measured in half staff spaces from the center of the staff.
explicitClefVisibility(vector)‘break-visibility’ function for clef changes.
forceClef(boolean)Show clef symbol, even if it has not changed. Only active for the first clef after the property is set, not for the full staff.
This engraver creates the following layout object(s):
Clef and OctavateEight.
Ottava_spanner_engraverCreate a text spanner when the ottavation property changes.
Properties (read)
ottavation(markup)If set, the text for an ottava spanner. Changing this creates a new text spanner.
originalMiddleCPosition(integer)Used for temporary overriding middle C in octavation brackets.
currentMusicalColumn(layout object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
Staff_collecting_engraverMaintain the
stavesFoundvariable.Properties (read)
stavesFound(list of grobs)A list of all staff-symbols found.
Properties (write)
stavesFound(list of grobs)A list of all staff-symbols found.
Dot_column_engraverEngrave dots on dotted notes shifted to the right of the note. If omitted, then dots appear on top of the notes.
This engraver creates the following layout object(s):
Separating_line_group_engraverGenerate objects for computing spacing parameters.
Properties (read)
createSpacing(boolean)Create
StaffSpacingobjects? Should be set for staves.Properties (write)
hasStaffSpacing(boolean)True if the current
CommandColumncontains items that will affect spacing.This engraver creates the following layout object(s):
Font_size_engraverPut
fontSizeintofont-sizegrob property.Properties (read)
fontSize(number)The relative size of all grobs in a context.
Bar_engraverCreate barlines. This engraver is controlled through the
whichBarproperty. If it has no bar line to create, it will forbid a linebreak at this point.Properties (read)
whichBar(string)This property is read to determine what type of bar line to create.
Example:
\set Staff.whichBar = "|:"This will create a start-repeat bar in this staff only. Valid values are described in bar-line-interface.
Properties (write)
forbidBreak(boolean)If set to
##t, prevent a line break at this point.This engraver creates the following layout object(s):
Output_property_engraverApply a procedure to any grob acknowledged.
Music types accepted:
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < TabStaff ] | [ Up : Contexts ] | [ VaticanaStaff > ] | ||
2.1.23 TabVoice
Context for drawing notes in a Tab staff.
This context also accepts commands for the following context(s):
Voice.
This context creates the following layout object(s):
Arpeggio, Beam, BendAfter, BreathingSign, ClusterSpannerBeacon, ClusterSpanner, CombineTextScript, Dots, DoublePercentRepeatCounter, DoublePercentRepeat, DynamicLineSpanner, DynamicTextSpanner, DynamicText, Glissando, Hairpin, HarmonicParenthesesItem, InstrumentSwitch, LaissezVibrerTieColumn, LaissezVibrerTie, LigatureBracket, MultiMeasureRestNumber, MultiMeasureRestText, MultiMeasureRest, NoteColumn, NoteSpacing, PercentRepeatCounter, PercentRepeat, PhrasingSlur, RepeatSlash, RepeatTieColumn, RepeatTie, Rest, ScriptColumn, Script, Slur, StemTremolo, Stem, TabNoteHead, TextScript, TextSpanner, TieColumn, Tie, TrillPitchAccidental, TrillPitchGroup, TrillPitchHead, TrillSpanner, TupletBracket, TupletNumber and VoiceFollower.
This context sets the following properties:
- Set grob-property
gapin Glissando to0.2. - Set grob-property
extra-dyin Glissando to0.75. - Set grob-property
bound-details leftin Glissando to'((attach-dir . 1) (padding . 0.3)). - Set grob-property
bound-details rightin Glissando to'((attach-dir . -1) (padding . 0.3)). - Set grob-property
extra-dyin Glissando to0.75. - Set grob-property
length-fractionin Beam to0.62. - Set grob-property
thicknessin Beam to0.32. - Set translator property
localKeySignatureto'().
This context is a ‘bottom’ context; it cannot contain other contexts.
This context is built from the following engraver(s):
Tab_harmonic_engraverIn a tablature, parenthesize objects whose music cause has the
parenthesizeproperty.This engraver creates the following layout object(s):
Tab_note_heads_engraverGenerate one or more tablature noteheads from event of type
NoteEvent.Music types accepted:
string-number-event and note-event
Properties (read)
middleCPosition(number)The place of the middle C, measured in half staff-spaces. Usually determined by looking at
middleCClefPositionandmiddleCOffset.stringTunings(list)The tablature strings tuning. It is a list of the pitch (in semitones) of each string (starting with the lower one).
minimumFret(number)The tablature auto string-selecting mechanism selects the highest string with a fret at least
minimumFret.tablatureFormat(procedure)A function formatting a tablature note head. Called with three arguments: string number, context and event. It returns the text as a string.
highStringOne(boolean)Whether the first string is the string with highest pitch on the instrument. This used by the automatic string selector for tablature notation.
stringOneTopmost(boolean)Whether the first string is printed on the top line of the tablature.
This engraver creates the following layout object(s):
Skip_event_swallow_translatorSwallow
\skip.Instrument_switch_engraverCreate a cue text for taking instrument.
Properties (read)
instrumentCueName(markup)The name to print if another instrument is to be taken.
This engraver creates the following layout object(s):
Grace_engraverSet font size and other properties for grace notes.
Properties (read)
graceSettings(list)Overrides for grace notes. This property should be manipulated through the
add-grace-propertyfunction.Tuplet_engraverCatch tuplet events and generate appropriate bracket.
Music types accepted:
Properties (read)
tupletFullLength(boolean)If set, the tuplet is printed up to the start of the next note.
tupletFullLengthNote(boolean)If set, end at the next note, otherwise end on the matter (time signatures, etc.) before the note.
This engraver creates the following layout object(s):
Tie_engraverGenerate ties between note heads of equal pitch.
Music types accepted:
Properties (read)
tieWaitForNote(boolean)If true, tied notes do not have to follow each other directly. This can be used for writing out arpeggios.
Properties (write)
tieMelismaBusy(boolean)Signal whether a tie is present.
This engraver creates the following layout object(s):
Slur_engraverBuild slur grobs from slur events.
Music types accepted:
Properties (read)
slurMelismaBusy(boolean)Signal if a slur is present.
doubleSlurs(boolean)If set, two slurs are created for every slurred note, one above and one below the chord.
This engraver creates the following layout object(s):
Slur.
Cluster_spanner_engraverEngrave a cluster using
Spannernotation.Music types accepted:
This engraver creates the following layout object(s):
Phrasing_slur_engraverPrint phrasing slurs. Similar to Slur_engraver.
Music types accepted:
This engraver creates the following layout object(s):
Spanner_break_forbid_engraverForbid breaks in certain spanners.
Note_spacing_engraverGenerate
NoteSpacing, an object linking horizontal lines for use in spacing.This engraver creates the following layout object(s):
Rhythmic_column_engraverGenerate
NoteColumn, an object that groups stems, note heads, and rests.This engraver creates the following layout object(s):
Script_column_engraverFind potentially colliding scripts and put them into a
ScriptColumnobject; that will fix the collisions.This engraver creates the following layout object(s):
Script_engraverHandle note scripted articulations.
Music types accepted:
Properties (read)
scriptDefinitions(list)The description of scripts. This is used by the
Script_engraverfor typesetting note-superscripts and subscripts. See ‘scm/script.scm’ for more information.This engraver creates the following layout object(s):
Bend_engraverCreate fall spanners.
Music types accepted:
This engraver creates the following layout object(s):
Dynamic_align_engraverAlign hairpins and dynamic texts on a horizontal line
Properties (read)
currentMusicalColumn(layout object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
New_dynamic_engraverCreate hairpins, dynamic texts, and their vertical alignments. The symbols are collected onto a
DynamicLineSpannergrob which takes care of vertical positioning.Music types accepted:
span-dynamic-event and absolute-dynamic-event
Properties (read)
crescendoSpanner(symbol)The type of spanner to be used for crescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin crescendo is used.
crescendoText(markup)The text to print at start of non-hairpin crescendo, i.e., ‘cresc.’.
currentMusicalColumn(layout object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
decrescendoSpanner(symbol)The type of spanner to be used for decrescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin decrescendo is used.
decrescendoText(markup)The text to print at start of non-hairpin decrescendo, i.e., ‘dim.’.
This engraver creates the following layout object(s):
Text_engraverCreate text scripts.
Music types accepted:
This engraver creates the following layout object(s):
Part_combine_engraverPart combine engraver for orchestral scores: Print markings ‘a2’, ‘Solo’, ‘Solo II’, and ‘unisono’.
Music types accepted:
Properties (read)
printPartCombineTexts(boolean)Set ‘Solo’ and ‘A due’ texts in the part combiner?
soloText(markup)The text for the start of a solo when part-combining.
soloIIText(markup)The text for the start of a solo for voice ‘two’ when part-combining.
aDueText(markup)Text to print at a unisono passage.
This engraver creates the following layout object(s):
Slash_repeat_engraverMake beat repeats.
Music types accepted:
Properties (read)
measureLength(moment)Length of one measure in the current time signature.
This engraver creates the following layout object(s):
Percent_repeat_engraverMake whole bar and double bar repeats.
Music types accepted:
Properties (read)
countPercentRepeats(boolean)If set, produce counters for percent repeats.
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
measureLength(moment)Length of one measure in the current time signature.
repeatCountVisibility(procedure)A procedure taking as arguments an integer and context, returning whether the corresponding percent repeat number should be printed when
countPercentRepeatsis set.Properties (write)
forbidBreak(boolean)If set to
##t, prevent a line break at this point.This engraver creates the following layout object(s):
DoublePercentRepeat, DoublePercentRepeatCounter, PercentRepeat and PercentRepeatCounter.
Chord_tremolo_engraverGenerate beams for tremolo repeats.
Music types accepted:
This engraver creates the following layout object(s):
Beam.
Auto_beam_engraverGenerate beams based on measure characteristics and observed Stems. Uses
beatLength,measureLength, andmeasurePositionto decide when to start and stop a beam. Overriding beaming is done through Stem_engraver propertiesstemLeftBeamCountandstemRightBeamCount.Music types accepted:
Properties (read)
autoBeaming(boolean)If set to true then beams are generated automatically.
autoBeamSettings(list)Specifies when automatically generated beams should begin and end. See behavior Setting automatic beam behavior for more information.
beatLength(moment)The length of one beat in this time signature.
subdivideBeams(boolean)If set, multiple beams will be subdivided at beat positions by only drawing one beam over the beat.
This engraver creates the following layout object(s):
Beam.
Grace_beam_engraverHandle
Beamevents by engraving beams. If omitted, then notes are printed with flags instead of beams. Only engraves beams when we are at grace points in time.Music types accepted:
Properties (read)
beamMelismaBusy(boolean)Signal if a beam is present.
beatLength(moment)The length of one beat in this time signature.
subdivideBeams(boolean)If set, multiple beams will be subdivided at beat positions by only drawing one beam over the beat.
This engraver creates the following layout object(s):
Beam.
Beam_engraverHandle
Beamevents by engraving beams. If omitted, then notes are printed with flags instead of beams.Music types accepted:
Properties (read)
beamMelismaBusy(boolean)Signal if a beam is present.
beatLength(moment)The length of one beat in this time signature.
subdivideBeams(boolean)If set, multiple beams will be subdivided at beat positions by only drawing one beam over the beat.
Properties (write)
forbidBreak(boolean)If set to
##t, prevent a line break at this point.This engraver creates the following layout object(s):
Beam.
Stem_engraverCreate stems and single-stem tremolos. It also works together with the beam engraver for overriding beaming.
Music types accepted:
Properties (read)
tremoloFlags(integer)The number of tremolo flags to add if no number is specified.
stemLeftBeamCount(integer)Specify the number of beams to draw on the left side of the next note. Overrides automatic beaming. The value is only used once, and then it is erased.
stemRightBeamCount(integer)See
stemLeftBeamCount.This engraver creates the following layout object(s):
Stem and StemTremolo.
Tweak_engraverRead the
tweaksproperty from the originating event, and set properties.Rest_engraverEngrave rests.
Music types accepted:
Properties (read)
middleCPosition(number)The place of the middle C, measured in half staff-spaces. Usually determined by looking at
middleCClefPositionandmiddleCOffset.This engraver creates the following layout object(s):
Rest.
Dots_engraverCreate Dots objects for rhythmic-head-interfaces.
This engraver creates the following layout object(s):
Dots.
Breathing_sign_engraverCreate a breathing sign.
Music types accepted:
This engraver creates the following layout object(s):
Ligature_bracket_engraverHandle
Ligature_eventsby engravingLigaturebrackets.Music types accepted:
This engraver creates the following layout object(s):
Glissando_engraverEngrave glissandi.
Music types accepted:
This engraver creates the following layout object(s):
Note_head_line_engraverEngrave a line between two note heads, for example a glissando. If
followVoiceis set, staff switches also generate a line.Properties (read)
followVoice(boolean)If set, note heads are tracked across staff switches by a thin line.
This engraver creates the following layout object(s):
Glissando and VoiceFollower.
Repeat_tie_engraverCreate repeat ties.
Music types accepted:
This engraver creates the following layout object(s):
RepeatTie and RepeatTieColumn.
Laissez_vibrer_engraverCreate laissez vibrer items.
Music types accepted:
This engraver creates the following layout object(s):
Forbid_line_break_engraverForbid line breaks when note heads are still playing at some point.
Properties (read)
busyGrobs(list)A queue of
(end-moment . GROB)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Properties (write)
forbidBreak(boolean)If set to
##t, prevent a line break at this point.Grob_pq_engraverAdministrate when certain grobs (e.g., note heads) stop playing.
Properties (read)
busyGrobs(list)A queue of
(end-moment . GROB)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Properties (write)
busyGrobs(list)A queue of
(end-moment . GROB)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Trill_spanner_engraverCreate trill spanner from an event.
Music types accepted:
This engraver creates the following layout object(s):
Text_spanner_engraverCreate text spanner from an event.
Music types accepted:
This engraver creates the following layout object(s):
Multi_measure_rest_engraverEngrave multi-measure rests that are produced with ‘R’. It reads
measurePositionandinternalBarNumberto determine what number to print over the MultiMeasureRest. ReadsmeasureLengthto determine whether it should use a whole rest or a breve rest to represent one measure.Music types accepted:
multi-measure-text-event and multi-measure-rest-event
Properties (read)
internalBarNumber(integer)Contains the current barnumber. This property is used for internal timekeeping, among others by the
Accidental_engraver.restNumberThreshold(number)If a multimeasure rest has more measures than this, a number is printed.
breakableSeparationItem(layout object)The breakable items in this time step, for this staff.
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
measurePosition(moment)How much of the current measure have we had. This can be set manually to create incomplete measures.
measureLength(moment)Length of one measure in the current time signature.
This engraver creates the following layout object(s):
MultiMeasureRest, MultiMeasureRestNumber and MultiMeasureRestText.
Arpeggio_engraverGenerate an Arpeggio symbol.
Music types accepted:
This engraver creates the following layout object(s):
Output_property_engraverApply a procedure to any grob acknowledged.
Music types accepted:
Pitched_trill_engraverPrint the bracketed note head after a note head with trill.
This engraver creates the following layout object(s):
Font_size_engraverPut
fontSizeintofont-sizegrob property.Properties (read)
fontSize(number)The relative size of all grobs in a context.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < TabVoice ] | [ Up : Contexts ] | [ VaticanaVoice > ] | ||
2.1.24 VaticanaStaff
Same as Staff context, except that it is
accommodated for typesetting Gregorian Chant in the notational style
of Editio Vaticana.
This context also accepts commands for the following context(s):
Staff.
This context creates the following layout object(s):
AccidentalCautionary, AccidentalPlacement, AccidentalSuggestion, Accidental, BarLine, BassFigureAlignmentPositioning, BassFigureAlignment, BassFigureBracket, BassFigureContinuation, BassFigureLine, BassFigure, Clef, Custos, DotColumn, InstrumentName, KeySignature, LedgerLineSpanner, NoteCollision, OctavateEight, OttavaBracket, PianoPedalBracket, RestCollision, ScriptRow, SostenutoPedalLineSpanner, SostenutoPedal, StaffSpacing, StaffSymbol, SustainPedalLineSpanner, SustainPedal, UnaCordaPedalLineSpanner, UnaCordaPedal and VerticalAxisGroup.
This context sets the following properties:
- Set grob-property
stylein Dots to'vaticana. - Set grob-property
neutral-directionin Custos to-1. - Set grob-property
neutral-positionin Custos to3. - Set grob-property
stylein Custos to'vaticana. - Set grob-property
glyph-name-alistin Accidental to'((-1/2 . accidentals.vaticanaM1) (0 . accidentals.vaticana0) (1/2 . accidentals.mensural1)). - Set grob-property
glyph-name-alistin KeySignature to'((-1/2 . accidentals.vaticanaM1) (0 . accidentals.vaticana0) (1/2 . accidentals.mensural1)). - Set translator property
clefOctavationto0. - Set translator property
clefPositionto1. - Set translator property
middleCClefPositionto1. - Set translator property
middleCPositionto1. - Set translator property
clefGlyphto"clefs.vaticana.do". - Set grob-property
thicknessin StaffSymbol to0.6. - Set grob-property
line-countin StaffSymbol to4. - Set grob-property
transparentin BarLine to#t. - Set translator property
shortInstrumentNameto'(). - Set translator property
instrumentNameto'(). - Set grob-property
minimum-Y-extentin VerticalAxisGroup to'(-4 . 4). - Set translator property
ignoreFiguredBassRestto#t. - Set translator property
createSpacingto#t. - Set translator property
localKeySignatureto'().
Context VaticanaStaff can contain VaticanaVoice and CueVoice.
This context is built from the following engraver(s):
Custos_engraverEngrave custodes.
This engraver creates the following layout object(s):
Script_row_engraverDetermine order in horizontal side position elements.
This engraver creates the following layout object(s):
Figured_bass_position_engraverPosition figured bass alignments over notes.
This engraver creates the following layout object(s):
Figured_bass_engraverMake figured bass numbers.
Music types accepted:
bass-figure-event and rest-event
Properties (read)
figuredBassAlterationDirection(direction)Where to put alterations relative to the main figure.
figuredBassCenterContinuations(boolean)Whether to vertically center pairs of extender lines. This does not work with three or more lines.
figuredBassFormatter(procedure)A routine generating a markup for a bass figure.
implicitBassFigures(list)A list of bass figures that are not printed as numbers, but only as extender lines.
useBassFigureExtenders(boolean)Whether to use extender lines for repeated bass figures.
ignoreFiguredBassRest(boolean)Don’t swallow rest events.
This engraver creates the following layout object(s):
BassFigure, BassFigureAlignment, BassFigureBracket, BassFigureContinuation and BassFigureLine.
Axis_group_engraverGroup all objects created in this context in a
VerticalAxisGroupspanner.Properties (read)
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
This engraver creates the following layout object(s):
String_number_engraverSwallow string number events. The purpose of this engraver is to process tablatures for normal notation. To provent warnings for unprocessed string number events to obscure real error messages, this engraver swallows them all.
Instrument_name_engraverCreate a system start text for instrument or vocal names.
Properties (read)
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
shortInstrumentName(markup)See
instrument.instrumentName(markup)The name to print left of a staff. The
instrumentproperty labels the staff in the first system, and theinstrproperty labels following lines.shortVocalName(markup)Name of a vocal line, short version.
vocalName(markup)Name of a vocal line.
This engraver creates the following layout object(s):
Piano_pedal_align_engraverAlign piano pedal symbols and brackets.
Properties (read)
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
This engraver creates the following layout object(s):
SostenutoPedalLineSpanner, SustainPedalLineSpanner and UnaCordaPedalLineSpanner.
Piano_pedal_engraverEngrave piano pedal symbols and brackets.
Music types accepted:
una-corda-event, sustain-event and sostenuto-event
Properties (read)
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
pedalSostenutoStrings(list)See
pedalSustainStrings.pedalSostenutoStyle(symbol)See
pedalSustainStyle.pedalSustainStrings(list)A list of strings to print for sustain-pedal. Format is
(up updown down), where each of the three is the string to print when this is done with the pedal.pedalSustainStyle(symbol)A symbol that indicates how to print sustain pedals:
text,bracketormixed(both).pedalUnaCordaStrings(list)See
pedalSustainStrings.pedalUnaCordaStyle(symbol)See
pedalSustainStyle.This engraver creates the following layout object(s):
PianoPedalBracket, SostenutoPedal, SustainPedal and UnaCordaPedal.
Accidental_engraverMake accidentals. Catch note heads, ties and notices key-change events. This engraver usually lives at Staff level, but reads the settings for Accidental at
Voicelevel, so you can\overridethem atVoice.Properties (read)
autoAccidentals(list)List of different ways to typeset an accidental.
For determining when to print an accidental, several different rules are tried. The rule that gives the highest number of accidentals is used.
Each entry in the list is either a symbol or a procedure.
- symbol
The symbol is the name of the context in which the following rules are to be applied. For example, if context is Score then all staves share accidentals, and if context is Staff then all voices in the same staff share accidentals, but staves do not.
- procedure
The procedure represents an accidental rule to be applied to the previously specified context.
The procedure takes the following arguments:
contextThe current context to which the rule should be applied.
pitchThe pitch of the note to be evaluated.
barnumThe current bar number.
measureposThe current measure position.
The procedure returns a pair of booleans. The first states whether an extra natural should be added. The second states whether an accidental should be printed.
(#t . #f)does not make sense.autoCautionaries(list)List similar to
autoAccidentals, but it controls cautionary accidentals rather than normal ones. Both lists are tried, and the one giving the most accidentals wins. In case of draw, a normal accidental is typeset.internalBarNumber(integer)Contains the current barnumber. This property is used for internal timekeeping, among others by the
Accidental_engraver.extraNatural(boolean)Whether to typeset an extra natural sign before accidentals changing from a non-natural to another non-natural.
harmonicAccidentals(boolean)If set, harmonic notes in chords get accidentals.
keySignature(list)The current key signature. This is an alist containing
(step . alter)or((octave . step) . alter), where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.keySignature = #`((6 . ,FLAT)).localKeySignature(list)The key signature at this point in the measure. The format is the same as for
keySignature, but can also contain((octave . name) . (alter barnumber . measureposition))pairs.Properties (write)
localKeySignature(list)The key signature at this point in the measure. The format is the same as for
keySignature, but can also contain((octave . name) . (alter barnumber . measureposition))pairs.This engraver creates the following layout object(s):
Accidental, AccidentalCautionary, AccidentalPlacement and AccidentalSuggestion.
Rest_collision_engraverHandle collisions of rests.
Properties (read)
busyGrobs(list)A queue of
(end-moment . GROB)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).This engraver creates the following layout object(s):
Grob_pq_engraverAdministrate when certain grobs (e.g., note heads) stop playing.
Properties (read)
busyGrobs(list)A queue of
(end-moment . GROB)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Properties (write)
busyGrobs(list)A queue of
(end-moment . GROB)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Collision_engraverCollect
NoteColumns, and as soon as there are two or more, put them in aNoteCollisionobject.This engraver creates the following layout object(s):
Staff_symbol_engraverCreate the constellation of five (default) staff lines.
Music types accepted:
This engraver creates the following layout object(s):
Ledger_line_engraverCreate the spanner to draw ledger lines, and notices objects that need ledger lines.
This engraver creates the following layout object(s):
Key_engraverEngrave a key signature.
Music types accepted:
Properties (read)
createKeyOnClefChange(boolean)Print a key signature whenever the clef is changed.
explicitKeySignatureVisibility(vector)‘break-visibility’ function for explicit key changes. ‘\override’ of the
break-visibilityproperty will set the visibility for normal (i.e., at the start of the line) key signatures.extraNatural(boolean)Whether to typeset an extra natural sign before accidentals changing from a non-natural to another non-natural.
keyAlterationOrder(list)An alist that defines in what order alterations should be printed. The format is
(step . alter), where step is a number from 0 to 6 and alter from -2 (sharp) to 2 (flat).keySignature(list)The current key signature. This is an alist containing
(step . alter)or((octave . step) . alter), where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.keySignature = #`((6 . ,FLAT)).lastKeySignature(list)Last key signature before a key signature change.
printKeyCancellation(boolean)Print restoration alterations before a key signature change.
Properties (write)
keySignature(list)The current key signature. This is an alist containing
(step . alter)or((octave . step) . alter), where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.keySignature = #`((6 . ,FLAT)).lastKeySignature(list)Last key signature before a key signature change.
tonic(pitch)The tonic of the current scale.
This engraver creates the following layout object(s):
Clef_engraverDetermine and set reference point for pitches.
Properties (read)
clefGlyph(string)Name of the symbol within the music font.
clefOctavation(integer)Add this much extra octavation. Values of 7 and -7 are common.
clefPosition(number)Where should the center of the clef symbol go, measured in half staff spaces from the center of the staff.
explicitClefVisibility(vector)‘break-visibility’ function for clef changes.
forceClef(boolean)Show clef symbol, even if it has not changed. Only active for the first clef after the property is set, not for the full staff.
This engraver creates the following layout object(s):
Clef and OctavateEight.
Ottava_spanner_engraverCreate a text spanner when the ottavation property changes.
Properties (read)
ottavation(markup)If set, the text for an ottava spanner. Changing this creates a new text spanner.
originalMiddleCPosition(integer)Used for temporary overriding middle C in octavation brackets.
currentMusicalColumn(layout object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
Staff_collecting_engraverMaintain the
stavesFoundvariable.Properties (read)
stavesFound(list of grobs)A list of all staff-symbols found.
Properties (write)
stavesFound(list of grobs)A list of all staff-symbols found.
Dot_column_engraverEngrave dots on dotted notes shifted to the right of the note. If omitted, then dots appear on top of the notes.
This engraver creates the following layout object(s):
Separating_line_group_engraverGenerate objects for computing spacing parameters.
Properties (read)
createSpacing(boolean)Create
StaffSpacingobjects? Should be set for staves.Properties (write)
hasStaffSpacing(boolean)True if the current
CommandColumncontains items that will affect spacing.This engraver creates the following layout object(s):
Font_size_engraverPut
fontSizeintofont-sizegrob property.Properties (read)
fontSize(number)The relative size of all grobs in a context.
Bar_engraverCreate barlines. This engraver is controlled through the
whichBarproperty. If it has no bar line to create, it will forbid a linebreak at this point.Properties (read)
whichBar(string)This property is read to determine what type of bar line to create.
Example:
\set Staff.whichBar = "|:"This will create a start-repeat bar in this staff only. Valid values are described in bar-line-interface.
Properties (write)
forbidBreak(boolean)If set to
##t, prevent a line break at this point.This engraver creates the following layout object(s):
Output_property_engraverApply a procedure to any grob acknowledged.
Music types accepted:
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < VaticanaStaff ] | [ Up : Contexts ] | [ Voice > ] | ||
2.1.25 VaticanaVoice
Same as Voice context, except that it is
accommodated for typesetting Gregorian Chant in the notational style
of Editio Vaticana.
This context also accepts commands for the following context(s):
Voice.
This context creates the following layout object(s):
Arpeggio, Beam, BendAfter, BreathingSign, ClusterSpannerBeacon, ClusterSpanner, CombineTextScript, DotColumn, Dots, DoublePercentRepeatCounter, DoublePercentRepeat, DynamicLineSpanner, DynamicTextSpanner, DynamicText, Fingering, Glissando, Hairpin, InstrumentSwitch, LaissezVibrerTieColumn, LaissezVibrerTie, MultiMeasureRestNumber, MultiMeasureRestText, MultiMeasureRest, NoteColumn, NoteHead, NoteSpacing, PercentRepeatCounter, PercentRepeat, PhrasingSlur, RepeatSlash, RepeatTieColumn, RepeatTie, Rest, ScriptColumn, Script, StringNumber, StrokeFinger, TextScript, TextSpanner, TieColumn, Tie, TrillPitchAccidental, TrillPitchGroup, TrillPitchHead, TrillSpanner, TupletBracket, TupletNumber, VaticanaLigature and VoiceFollower.
This context sets the following properties:
- Set grob-property
paddingin TextSpanner to-0.1. - Set grob-property
stylein TextSpanner to'line. - Set translator property
autoBeamingto#f. - Set grob-property
paddingin Script to0.5. - Set grob-property
stylein NoteHead to'vaticana.punctum. - Set translator property
localKeySignatureto'().
This context is a ‘bottom’ context; it cannot contain other contexts.
This context is built from the following engraver(s):
Vaticana_ligature_engraverHandle ligatures by glueing special ligature heads together.
Music types accepted:
ligature-event and pes-or-flexa-event
This engraver creates the following layout object(s):
Skip_event_swallow_translatorSwallow
\skip.Instrument_switch_engraverCreate a cue text for taking instrument.
Properties (read)
instrumentCueName(markup)The name to print if another instrument is to be taken.
This engraver creates the following layout object(s):
Grace_engraverSet font size and other properties for grace notes.
Properties (read)
graceSettings(list)Overrides for grace notes. This property should be manipulated through the
add-grace-propertyfunction.Tuplet_engraverCatch tuplet events and generate appropriate bracket.
Music types accepted:
Properties (read)
tupletFullLength(boolean)If set, the tuplet is printed up to the start of the next note.
tupletFullLengthNote(boolean)If set, end at the next note, otherwise end on the matter (time signatures, etc.) before the note.
This engraver creates the following layout object(s):
Tie_engraverGenerate ties between note heads of equal pitch.
Music types accepted:
Properties (read)
tieWaitForNote(boolean)If true, tied notes do not have to follow each other directly. This can be used for writing out arpeggios.
Properties (write)
tieMelismaBusy(boolean)Signal whether a tie is present.
This engraver creates the following layout object(s):
Cluster_spanner_engraverEngrave a cluster using
Spannernotation.Music types accepted:
This engraver creates the following layout object(s):
Phrasing_slur_engraverPrint phrasing slurs. Similar to Slur_engraver.
Music types accepted:
This engraver creates the following layout object(s):
Spanner_break_forbid_engraverForbid breaks in certain spanners.
Note_spacing_engraverGenerate
NoteSpacing, an object linking horizontal lines for use in spacing.This engraver creates the following layout object(s):
Rhythmic_column_engraverGenerate
NoteColumn, an object that groups stems, note heads, and rests.This engraver creates the following layout object(s):
Script_column_engraverFind potentially colliding scripts and put them into a
ScriptColumnobject; that will fix the collisions.This engraver creates the following layout object(s):
Script_engraverHandle note scripted articulations.
Music types accepted:
Properties (read)
scriptDefinitions(list)The description of scripts. This is used by the
Script_engraverfor typesetting note-superscripts and subscripts. See ‘scm/script.scm’ for more information.This engraver creates the following layout object(s):
Bend_engraverCreate fall spanners.
Music types accepted:
This engraver creates the following layout object(s):
Fingering_engraverCreate fingering scripts.
Music types accepted:
stroke-finger-event and fingering-event
This engraver creates the following layout object(s):
Dynamic_align_engraverAlign hairpins and dynamic texts on a horizontal line
Properties (read)
currentMusicalColumn(layout object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
New_dynamic_engraverCreate hairpins, dynamic texts, and their vertical alignments. The symbols are collected onto a
DynamicLineSpannergrob which takes care of vertical positioning.Music types accepted:
span-dynamic-event and absolute-dynamic-event
Properties (read)
crescendoSpanner(symbol)The type of spanner to be used for crescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin crescendo is used.
crescendoText(markup)The text to print at start of non-hairpin crescendo, i.e., ‘cresc.’.
currentMusicalColumn(layout object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
decrescendoSpanner(symbol)The type of spanner to be used for decrescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin decrescendo is used.
decrescendoText(markup)The text to print at start of non-hairpin decrescendo, i.e., ‘dim.’.
This engraver creates the following layout object(s):
Text_engraverCreate text scripts.
Music types accepted:
This engraver creates the following layout object(s):
Part_combine_engraverPart combine engraver for orchestral scores: Print markings ‘a2’, ‘Solo’, ‘Solo II’, and ‘unisono’.
Music types accepted:
Properties (read)
printPartCombineTexts(boolean)Set ‘Solo’ and ‘A due’ texts in the part combiner?
soloText(markup)The text for the start of a solo when part-combining.
soloIIText(markup)The text for the start of a solo for voice ‘two’ when part-combining.
aDueText(markup)Text to print at a unisono passage.
This engraver creates the following layout object(s):
Slash_repeat_engraverMake beat repeats.
Music types accepted:
Properties (read)
measureLength(moment)Length of one measure in the current time signature.
This engraver creates the following layout object(s):
Percent_repeat_engraverMake whole bar and double bar repeats.
Music types accepted:
Properties (read)
countPercentRepeats(boolean)If set, produce counters for percent repeats.
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
measureLength(moment)Length of one measure in the current time signature.
repeatCountVisibility(procedure)A procedure taking as arguments an integer and context, returning whether the corresponding percent repeat number should be printed when
countPercentRepeatsis set.Properties (write)
forbidBreak(boolean)If set to
##t, prevent a line break at this point.This engraver creates the following layout object(s):
DoublePercentRepeat, DoublePercentRepeatCounter, PercentRepeat and PercentRepeatCounter.
Chord_tremolo_engraverGenerate beams for tremolo repeats.
Music types accepted:
This engraver creates the following layout object(s):
Beam.
New_fingering_engraverCreate fingering scripts for notes in a new chord. This engraver is ill-named, since it also takes care of articulations and harmonic note heads.
Properties (read)
fingeringOrientations(list)A list of symbols, containing ‘left’, ‘right’, ‘up’ and/or ‘down’. This list determines where fingerings are put relative to the chord being fingered.
harmonicDots(boolean)If set, harmonic notes in dotted chords get dots.
strokeFingerOrientations(list)See
fingeringOrientations.stringNumberOrientations(list)See
fingeringOrientations.This engraver creates the following layout object(s):
Fingering, Script, StringNumber and StrokeFinger.
Auto_beam_engraverGenerate beams based on measure characteristics and observed Stems. Uses
beatLength,measureLength, andmeasurePositionto decide when to start and stop a beam. Overriding beaming is done through Stem_engraver propertiesstemLeftBeamCountandstemRightBeamCount.Music types accepted:
Properties (read)
autoBeaming(boolean)If set to true then beams are generated automatically.
autoBeamSettings(list)Specifies when automatically generated beams should begin and end. See behavior Setting automatic beam behavior for more information.
beatLength(moment)The length of one beat in this time signature.
subdivideBeams(boolean)If set, multiple beams will be subdivided at beat positions by only drawing one beam over the beat.
This engraver creates the following layout object(s):
Beam.
Grace_beam_engraverHandle
Beamevents by engraving beams. If omitted, then notes are printed with flags instead of beams. Only engraves beams when we are at grace points in time.Music types accepted:
Properties (read)
beamMelismaBusy(boolean)Signal if a beam is present.
beatLength(moment)The length of one beat in this time signature.
subdivideBeams(boolean)If set, multiple beams will be subdivided at beat positions by only drawing one beam over the beat.
This engraver creates the following layout object(s):
Beam.
Beam_engraverHandle
Beamevents by engraving beams. If omitted, then notes are printed with flags instead of beams.Music types accepted:
Properties (read)
beamMelismaBusy(boolean)Signal if a beam is present.
beatLength(moment)The length of one beat in this time signature.
subdivideBeams(boolean)If set, multiple beams will be subdivided at beat positions by only drawing one beam over the beat.
Properties (write)
forbidBreak(boolean)If set to
##t, prevent a line break at this point.This engraver creates the following layout object(s):
Beam.
Tweak_engraverRead the
tweaksproperty from the originating event, and set properties.Rest_engraverEngrave rests.
Music types accepted:
Properties (read)
middleCPosition(number)The place of the middle C, measured in half staff-spaces. Usually determined by looking at
middleCClefPositionandmiddleCOffset.This engraver creates the following layout object(s):
Rest.
Dots_engraverCreate Dots objects for rhythmic-head-interfaces.
This engraver creates the following layout object(s):
Dots.
Note_heads_engraverGenerate note heads.
Music types accepted:
Properties (read)
middleCPosition(number)The place of the middle C, measured in half staff-spaces. Usually determined by looking at
middleCClefPositionandmiddleCOffset.staffLineLayoutFunction(procedure)Layout of staff lines,
traditional, orsemitone.This engraver creates the following layout object(s):
Breathing_sign_engraverCreate a breathing sign.
Music types accepted:
This engraver creates the following layout object(s):
Glissando_engraverEngrave glissandi.
Music types accepted:
This engraver creates the following layout object(s):
Note_head_line_engraverEngrave a line between two note heads, for example a glissando. If
followVoiceis set, staff switches also generate a line.Properties (read)
followVoice(boolean)If set, note heads are tracked across staff switches by a thin line.
This engraver creates the following layout object(s):
Glissando and VoiceFollower.
Repeat_tie_engraverCreate repeat ties.
Music types accepted:
This engraver creates the following layout object(s):
RepeatTie and RepeatTieColumn.
Laissez_vibrer_engraverCreate laissez vibrer items.
Music types accepted:
This engraver creates the following layout object(s):
Forbid_line_break_engraverForbid line breaks when note heads are still playing at some point.
Properties (read)
busyGrobs(list)A queue of
(end-moment . GROB)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Properties (write)
forbidBreak(boolean)If set to
##t, prevent a line break at this point.Grob_pq_engraverAdministrate when certain grobs (e.g., note heads) stop playing.
Properties (read)
busyGrobs(list)A queue of
(end-moment . GROB)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Properties (write)
busyGrobs(list)A queue of
(end-moment . GROB)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Trill_spanner_engraverCreate trill spanner from an event.
Music types accepted:
This engraver creates the following layout object(s):
Text_spanner_engraverCreate text spanner from an event.
Music types accepted:
This engraver creates the following layout object(s):
Multi_measure_rest_engraverEngrave multi-measure rests that are produced with ‘R’. It reads
measurePositionandinternalBarNumberto determine what number to print over the MultiMeasureRest. ReadsmeasureLengthto determine whether it should use a whole rest or a breve rest to represent one measure.Music types accepted:
multi-measure-text-event and multi-measure-rest-event
Properties (read)
internalBarNumber(integer)Contains the current barnumber. This property is used for internal timekeeping, among others by the
Accidental_engraver.restNumberThreshold(number)If a multimeasure rest has more measures than this, a number is printed.
breakableSeparationItem(layout object)The breakable items in this time step, for this staff.
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
measurePosition(moment)How much of the current measure have we had. This can be set manually to create incomplete measures.
measureLength(moment)Length of one measure in the current time signature.
This engraver creates the following layout object(s):
MultiMeasureRest, MultiMeasureRestNumber and MultiMeasureRestText.
Arpeggio_engraverGenerate an Arpeggio symbol.
Music types accepted:
This engraver creates the following layout object(s):
Output_property_engraverApply a procedure to any grob acknowledged.
Music types accepted:
Pitched_trill_engraverPrint the bracketed note head after a note head with trill.
This engraver creates the following layout object(s):
Font_size_engraverPut
fontSizeintofont-sizegrob property.Properties (read)
fontSize(number)The relative size of all grobs in a context.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < VaticanaVoice ] | [ Up : Contexts ] | [ Engravers and Performers > ] | ||
2.1.26 Voice
Corresponds to a voice on a staff. This context handles the conversion of dynamic signs, stems, beams, super- and subscripts, slurs, ties, and rests.
You have to instantiate this explicitly if you want to have multiple voices on the same staff.
This context creates the following layout object(s):
Arpeggio, Beam, BendAfter, BreathingSign, ClusterSpannerBeacon, ClusterSpanner, CombineTextScript, Dots, DoublePercentRepeatCounter, DoublePercentRepeat, DynamicLineSpanner, DynamicTextSpanner, DynamicText, Fingering, Glissando, Hairpin, InstrumentSwitch, LaissezVibrerTieColumn, LaissezVibrerTie, LigatureBracket, MultiMeasureRestNumber, MultiMeasureRestText, MultiMeasureRest, NoteColumn, NoteHead, NoteSpacing, PercentRepeatCounter, PercentRepeat, PhrasingSlur, RepeatSlash, RepeatTieColumn, RepeatTie, Rest, ScriptColumn, Script, Slur, StemTremolo, Stem, StringNumber, StrokeFinger, TextScript, TextSpanner, TieColumn, Tie, TrillPitchAccidental, TrillPitchGroup, TrillPitchHead, TrillSpanner, TupletBracket, TupletNumber and VoiceFollower.
This context sets the following properties:
- Set translator property
localKeySignatureto'().
This context is a ‘bottom’ context; it cannot contain other contexts.
This context is built from the following engraver(s):
Skip_event_swallow_translatorSwallow
\skip.Instrument_switch_engraverCreate a cue text for taking instrument.
Properties (read)
instrumentCueName(markup)The name to print if another instrument is to be taken.
This engraver creates the following layout object(s):
Grace_engraverSet font size and other properties for grace notes.
Properties (read)
graceSettings(list)Overrides for grace notes. This property should be manipulated through the
add-grace-propertyfunction.Tuplet_engraverCatch tuplet events and generate appropriate bracket.
Music types accepted:
Properties (read)
tupletFullLength(boolean)If set, the tuplet is printed up to the start of the next note.
tupletFullLengthNote(boolean)If set, end at the next note, otherwise end on the matter (time signatures, etc.) before the note.
This engraver creates the following layout object(s):
Tie_engraverGenerate ties between note heads of equal pitch.
Music types accepted:
Properties (read)
tieWaitForNote(boolean)If true, tied notes do not have to follow each other directly. This can be used for writing out arpeggios.
Properties (write)
tieMelismaBusy(boolean)Signal whether a tie is present.
This engraver creates the following layout object(s):
Slur_engraverBuild slur grobs from slur events.
Music types accepted:
Properties (read)
slurMelismaBusy(boolean)Signal if a slur is present.
doubleSlurs(boolean)If set, two slurs are created for every slurred note, one above and one below the chord.
This engraver creates the following layout object(s):
Slur.
Cluster_spanner_engraverEngrave a cluster using
Spannernotation.Music types accepted:
This engraver creates the following layout object(s):
Phrasing_slur_engraverPrint phrasing slurs. Similar to Slur_engraver.
Music types accepted:
This engraver creates the following layout object(s):
Spanner_break_forbid_engraverForbid breaks in certain spanners.
Note_spacing_engraverGenerate
NoteSpacing, an object linking horizontal lines for use in spacing.This engraver creates the following layout object(s):
Rhythmic_column_engraverGenerate
NoteColumn, an object that groups stems, note heads, and rests.This engraver creates the following layout object(s):
Script_column_engraverFind potentially colliding scripts and put them into a
ScriptColumnobject; that will fix the collisions.This engraver creates the following layout object(s):
Script_engraverHandle note scripted articulations.
Music types accepted:
Properties (read)
scriptDefinitions(list)The description of scripts. This is used by the
Script_engraverfor typesetting note-superscripts and subscripts. See ‘scm/script.scm’ for more information.This engraver creates the following layout object(s):
Bend_engraverCreate fall spanners.
Music types accepted:
This engraver creates the following layout object(s):
Fingering_engraverCreate fingering scripts.
Music types accepted:
stroke-finger-event and fingering-event
This engraver creates the following layout object(s):
Dynamic_align_engraverAlign hairpins and dynamic texts on a horizontal line
Properties (read)
currentMusicalColumn(layout object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
New_dynamic_engraverCreate hairpins, dynamic texts, and their vertical alignments. The symbols are collected onto a
DynamicLineSpannergrob which takes care of vertical positioning.Music types accepted:
span-dynamic-event and absolute-dynamic-event
Properties (read)
crescendoSpanner(symbol)The type of spanner to be used for crescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin crescendo is used.
crescendoText(markup)The text to print at start of non-hairpin crescendo, i.e., ‘cresc.’.
currentMusicalColumn(layout object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
decrescendoSpanner(symbol)The type of spanner to be used for decrescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin decrescendo is used.
decrescendoText(markup)The text to print at start of non-hairpin decrescendo, i.e., ‘dim.’.
This engraver creates the following layout object(s):
Text_engraverCreate text scripts.
Music types accepted:
This engraver creates the following layout object(s):
Part_combine_engraverPart combine engraver for orchestral scores: Print markings ‘a2’, ‘Solo’, ‘Solo II’, and ‘unisono’.
Music types accepted:
Properties (read)
printPartCombineTexts(boolean)Set ‘Solo’ and ‘A due’ texts in the part combiner?
soloText(markup)The text for the start of a solo when part-combining.
soloIIText(markup)The text for the start of a solo for voice ‘two’ when part-combining.
aDueText(markup)Text to print at a unisono passage.
This engraver creates the following layout object(s):
Slash_repeat_engraverMake beat repeats.
Music types accepted:
Properties (read)
measureLength(moment)Length of one measure in the current time signature.
This engraver creates the following layout object(s):
Percent_repeat_engraverMake whole bar and double bar repeats.
Music types accepted:
Properties (read)
countPercentRepeats(boolean)If set, produce counters for percent repeats.
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
measureLength(moment)Length of one measure in the current time signature.
repeatCountVisibility(procedure)A procedure taking as arguments an integer and context, returning whether the corresponding percent repeat number should be printed when
countPercentRepeatsis set.Properties (write)
forbidBreak(boolean)If set to
##t, prevent a line break at this point.This engraver creates the following layout object(s):
DoublePercentRepeat, DoublePercentRepeatCounter, PercentRepeat and PercentRepeatCounter.
Chord_tremolo_engraverGenerate beams for tremolo repeats.
Music types accepted:
This engraver creates the following layout object(s):
Beam.
New_fingering_engraverCreate fingering scripts for notes in a new chord. This engraver is ill-named, since it also takes care of articulations and harmonic note heads.
Properties (read)
fingeringOrientations(list)A list of symbols, containing ‘left’, ‘right’, ‘up’ and/or ‘down’. This list determines where fingerings are put relative to the chord being fingered.
harmonicDots(boolean)If set, harmonic notes in dotted chords get dots.
strokeFingerOrientations(list)See
fingeringOrientations.stringNumberOrientations(list)See
fingeringOrientations.This engraver creates the following layout object(s):
Fingering, Script, StringNumber and StrokeFinger.
Auto_beam_engraverGenerate beams based on measure characteristics and observed Stems. Uses
beatLength,measureLength, andmeasurePositionto decide when to start and stop a beam. Overriding beaming is done through Stem_engraver propertiesstemLeftBeamCountandstemRightBeamCount.Music types accepted:
Properties (read)
autoBeaming(boolean)If set to true then beams are generated automatically.
autoBeamSettings(list)Specifies when automatically generated beams should begin and end. See behavior Setting automatic beam behavior for more information.
beatLength(moment)The length of one beat in this time signature.
subdivideBeams(boolean)If set, multiple beams will be subdivided at beat positions by only drawing one beam over the beat.
This engraver creates the following layout object(s):
Beam.
Grace_beam_engraverHandle
Beamevents by engraving beams. If omitted, then notes are printed with flags instead of beams. Only engraves beams when we are at grace points in time.Music types accepted:
Properties (read)
beamMelismaBusy(boolean)Signal if a beam is present.
beatLength(moment)The length of one beat in this time signature.
subdivideBeams(boolean)If set, multiple beams will be subdivided at beat positions by only drawing one beam over the beat.
This engraver creates the following layout object(s):
Beam.
Beam_engraverHandle
Beamevents by engraving beams. If omitted, then notes are printed with flags instead of beams.Music types accepted:
Properties (read)
beamMelismaBusy(boolean)Signal if a beam is present.
beatLength(moment)The length of one beat in this time signature.
subdivideBeams(boolean)If set, multiple beams will be subdivided at beat positions by only drawing one beam over the beat.
Properties (write)
forbidBreak(boolean)If set to
##t, prevent a line break at this point.This engraver creates the following layout object(s):
Beam.
Stem_engraverCreate stems and single-stem tremolos. It also works together with the beam engraver for overriding beaming.
Music types accepted:
Properties (read)
tremoloFlags(integer)The number of tremolo flags to add if no number is specified.
stemLeftBeamCount(integer)Specify the number of beams to draw on the left side of the next note. Overrides automatic beaming. The value is only used once, and then it is erased.
stemRightBeamCount(integer)See
stemLeftBeamCount.This engraver creates the following layout object(s):
Stem and StemTremolo.
Tweak_engraverRead the
tweaksproperty from the originating event, and set properties.Rest_engraverEngrave rests.
Music types accepted:
Properties (read)
middleCPosition(number)The place of the middle C, measured in half staff-spaces. Usually determined by looking at
middleCClefPositionandmiddleCOffset.This engraver creates the following layout object(s):
Rest.
Dots_engraverCreate Dots objects for rhythmic-head-interfaces.
This engraver creates the following layout object(s):
Dots.
Note_heads_engraverGenerate note heads.
Music types accepted:
Properties (read)
middleCPosition(number)The place of the middle C, measured in half staff-spaces. Usually determined by looking at
middleCClefPositionandmiddleCOffset.staffLineLayoutFunction(procedure)Layout of staff lines,
traditional, orsemitone.This engraver creates the following layout object(s):
Breathing_sign_engraverCreate a breathing sign.
Music types accepted:
This engraver creates the following layout object(s):
Ligature_bracket_engraverHandle
Ligature_eventsby engravingLigaturebrackets.Music types accepted:
This engraver creates the following layout object(s):
Glissando_engraverEngrave glissandi.
Music types accepted:
This engraver creates the following layout object(s):
Note_head_line_engraverEngrave a line between two note heads, for example a glissando. If
followVoiceis set, staff switches also generate a line.Properties (read)
followVoice(boolean)If set, note heads are tracked across staff switches by a thin line.
This engraver creates the following layout object(s):
Glissando and VoiceFollower.
Repeat_tie_engraverCreate repeat ties.
Music types accepted:
This engraver creates the following layout object(s):
RepeatTie and RepeatTieColumn.
Laissez_vibrer_engraverCreate laissez vibrer items.
Music types accepted:
This engraver creates the following layout object(s):
Forbid_line_break_engraverForbid line breaks when note heads are still playing at some point.
Properties (read)
busyGrobs(list)A queue of
(end-moment . GROB)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Properties (write)
forbidBreak(boolean)If set to
##t, prevent a line break at this point.Grob_pq_engraverAdministrate when certain grobs (e.g., note heads) stop playing.
Properties (read)
busyGrobs(list)A queue of
(end-moment . GROB)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Properties (write)
busyGrobs(list)A queue of
(end-moment . GROB)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Trill_spanner_engraverCreate trill spanner from an event.
Music types accepted:
This engraver creates the following layout object(s):
Text_spanner_engraverCreate text spanner from an event.
Music types accepted:
This engraver creates the following layout object(s):
Multi_measure_rest_engraverEngrave multi-measure rests that are produced with ‘R’. It reads
measurePositionandinternalBarNumberto determine what number to print over the MultiMeasureRest. ReadsmeasureLengthto determine whether it should use a whole rest or a breve rest to represent one measure.Music types accepted:
multi-measure-text-event and multi-measure-rest-event
Properties (read)
internalBarNumber(integer)Contains the current barnumber. This property is used for internal timekeeping, among others by the
Accidental_engraver.restNumberThreshold(number)If a multimeasure rest has more measures than this, a number is printed.
breakableSeparationItem(layout object)The breakable items in this time step, for this staff.
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
measurePosition(moment)How much of the current measure have we had. This can be set manually to create incomplete measures.
measureLength(moment)Length of one measure in the current time signature.
This engraver creates the following layout object(s):
MultiMeasureRest, MultiMeasureRestNumber and MultiMeasureRestText.
Arpeggio_engraverGenerate an Arpeggio symbol.
Music types accepted:
This engraver creates the following layout object(s):
Output_property_engraverApply a procedure to any grob acknowledged.
Music types accepted:
Pitched_trill_engraverPrint the bracketed note head after a note head with trill.
This engraver creates the following layout object(s):
Font_size_engraverPut
fontSizeintofont-sizegrob property.Properties (read)
fontSize(number)The relative size of all grobs in a context.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Voice ] | [ Up : Translation ] | [ Accidental_engraver > ] | ||
2.2 Engravers and Performers
See Modifying context plug-ins.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Engravers and Performers ] | [ Up : Engravers and Performers ] | [ Ambitus_engraver > ] | ||
2.2.1 Accidental_engraver
Make accidentals. Catch note heads, ties and notices key-change events. This engraver usually lives at Staff level, but reads the settings for Accidental at Voice level, so you can \override them at Voice.
Properties (read)
autoAccidentals(list)List of different ways to typeset an accidental.
For determining when to print an accidental, several different rules are tried. The rule that gives the highest number of accidentals is used.
Each entry in the list is either a symbol or a procedure.
- symbol
The symbol is the name of the context in which the following rules are to be applied. For example, if context is Score then all staves share accidentals, and if context is Staff then all voices in the same staff share accidentals, but staves do not.
- procedure
The procedure represents an accidental rule to be applied to the previously specified context.
The procedure takes the following arguments:
contextThe current context to which the rule should be applied.
pitchThe pitch of the note to be evaluated.
barnumThe current bar number.
measureposThe current measure position.
The procedure returns a pair of booleans. The first states whether an extra natural should be added. The second states whether an accidental should be printed.
(#t . #f)does not make sense.autoCautionaries(list)List similar to
autoAccidentals, but it controls cautionary accidentals rather than normal ones. Both lists are tried, and the one giving the most accidentals wins. In case of draw, a normal accidental is typeset.internalBarNumber(integer)Contains the current barnumber. This property is used for internal timekeeping, among others by the
Accidental_engraver.extraNatural(boolean)Whether to typeset an extra natural sign before accidentals changing from a non-natural to another non-natural.
harmonicAccidentals(boolean)If set, harmonic notes in chords get accidentals.
keySignature(list)The current key signature. This is an alist containing
(step . alter)or((octave . step) . alter), where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.keySignature = #`((6 . ,FLAT)).localKeySignature(list)The key signature at this point in the measure. The format is the same as for
keySignature, but can also contain((octave . name) . (alter barnumber . measureposition))pairs.
Properties (write)
localKeySignature(list)The key signature at this point in the measure. The format is the same as for
keySignature, but can also contain((octave . name) . (alter barnumber . measureposition))pairs.
This engraver creates the following layout object(s):
Accidental, AccidentalCautionary, AccidentalPlacement and AccidentalSuggestion.
Accidental_engraver is part of the following context(s): GregorianTranscriptionStaff, MensuralStaff, Staff and VaticanaStaff.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Accidental_engraver ] | [ Up : Engravers and Performers ] | [ Arpeggio_engraver > ] | ||
2.2.2 Ambitus_engraver
This engraver creates the following layout object(s):
AccidentalPlacement, Ambitus, AmbitusAccidental, AmbitusLine and AmbitusNoteHead.
Ambitus_engraver is not part of any context.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Ambitus_engraver ] | [ Up : Engravers and Performers ] | [ Auto_beam_engraver > ] | ||
2.2.3 Arpeggio_engraver
Generate an Arpeggio symbol.
Music types accepted:
This engraver creates the following layout object(s):
Arpeggio_engraver is part of the following context(s): CueVoice, GregorianTranscriptionVoice, MensuralVoice, TabVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Arpeggio_engraver ] | [ Up : Engravers and Performers ] | [ Axis_group_engraver > ] | ||
2.2.4 Auto_beam_engraver
Generate beams based on measure characteristics and observed Stems. Uses beatLength, measureLength, and measurePosition to decide when to start and stop a beam. Overriding beaming is done through Stem_engraver properties stemLeftBeamCount and stemRightBeamCount.
Music types accepted:
Properties (read)
autoBeaming(boolean)If set to true then beams are generated automatically.
autoBeamSettings(list)Specifies when automatically generated beams should begin and end. See behavior Setting automatic beam behavior for more information.
beatLength(moment)The length of one beat in this time signature.
subdivideBeams(boolean)If set, multiple beams will be subdivided at beat positions by only drawing one beam over the beat.
This engraver creates the following layout object(s):
Beam.
Auto_beam_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, MensuralVoice, TabVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Auto_beam_engraver ] | [ Up : Engravers and Performers ] | [ Balloon_engraver > ] | ||
2.2.5 Axis_group_engraver
Group all objects created in this context in a VerticalAxisGroup spanner.
Properties (read)
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
This engraver creates the following layout object(s):
Axis_group_engraver is part of the following context(s): DrumStaff, FretBoards, GregorianTranscriptionStaff, MensuralStaff, NoteNames, RhythmicStaff, Staff, TabStaff and VaticanaStaff.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Axis_group_engraver ] | [ Up : Engravers and Performers ] | [ Bar_engraver > ] | ||
2.2.6 Balloon_engraver
Create balloon texts.
Music types accepted:
This engraver creates the following layout object(s):
Balloon_engraver is not part of any context.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Balloon_engraver ] | [ Up : Engravers and Performers ] | [ Bar_number_engraver > ] | ||
2.2.7 Bar_engraver
Create barlines. This engraver is controlled through the whichBar property. If it has no bar line to create, it will forbid a linebreak at this point.
Properties (read)
whichBar(string)This property is read to determine what type of bar line to create.
Example:
\set Staff.whichBar = "|:"This will create a start-repeat bar in this staff only. Valid values are described in bar-line-interface.
Properties (write)
forbidBreak(boolean)If set to
##t, prevent a line break at this point.
This engraver creates the following layout object(s):
Bar_engraver is part of the following context(s): DrumStaff, GregorianTranscriptionStaff, MensuralStaff, RhythmicStaff, Staff, TabStaff and VaticanaStaff.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Bar_engraver ] | [ Up : Engravers and Performers ] | [ Beam_engraver > ] | ||
2.2.8 Bar_number_engraver
A bar number is created whenever measurePosition is zero and when there is a bar line (i.e., when whichBar is set). It is put on top of all staves, and appears only at the left side of the staff. The staves are taken from stavesFound, which is maintained by Staff_collecting_engraver.
Properties (read)
currentBarNumber(integer)Contains the current barnumber. This property is incremented at every bar line.
whichBar(string)This property is read to determine what type of bar line to create.
Example:
\set Staff.whichBar = "|:"This will create a start-repeat bar in this staff only. Valid values are described in bar-line-interface.
stavesFound(list of grobs)A list of all staff-symbols found.
barNumberVisibility(procedure)A Procedure that takes an integer and returns whether the corresponding bar number should be printed.
This engraver creates the following layout object(s):
Bar_number_engraver is part of the following context(s): Score.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Bar_number_engraver ] | [ Up : Engravers and Performers ] | [ Beam_performer > ] | ||
2.2.9 Beam_engraver
Handle Beam events by engraving beams. If omitted, then notes are printed with flags instead of beams.
Music types accepted:
Properties (read)
beamMelismaBusy(boolean)Signal if a beam is present.
beatLength(moment)The length of one beat in this time signature.
subdivideBeams(boolean)If set, multiple beams will be subdivided at beat positions by only drawing one beam over the beat.
Properties (write)
forbidBreak(boolean)If set to
##t, prevent a line break at this point.
This engraver creates the following layout object(s):
Beam.
Beam_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, MensuralVoice, TabVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Beam_engraver ] | [ Up : Engravers and Performers ] | [ Bend_engraver > ] | ||
2.2.10 Beam_performer
Music types accepted:
Beam_performer is not part of any context.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Beam_performer ] | [ Up : Engravers and Performers ] | [ Break_align_engraver > ] | ||
2.2.11 Bend_engraver
Create fall spanners.
Music types accepted:
This engraver creates the following layout object(s):
Bend_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, MensuralVoice, TabVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Bend_engraver ] | [ Up : Engravers and Performers ] | [ Breathing_sign_engraver > ] | ||
2.2.12 Break_align_engraver
Align grobs with corresponding break-align-symbols into groups, and order the groups according to breakAlignOrder. The left edge of the alignment gets a separate group, with a symbol left-edge.
This engraver creates the following layout object(s):
BreakAlignGroup, BreakAlignment and LeftEdge.
Break_align_engraver is part of the following context(s): Score.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Break_align_engraver ] | [ Up : Engravers and Performers ] | [ Chord_name_engraver > ] | ||
2.2.13 Breathing_sign_engraver
Create a breathing sign.
Music types accepted:
This engraver creates the following layout object(s):
Breathing_sign_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, MensuralVoice, TabVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Breathing_sign_engraver ] | [ Up : Engravers and Performers ] | [ Chord_tremolo_engraver > ] | ||
2.2.14 Chord_name_engraver
Catch note events and generate the appropriate chordname.
Music types accepted:
Properties (read)
chordChanges(boolean)Only show changes in chords scheme?
chordNameExceptions(list)An alist of chord exceptions. Contains
(chord . markup)entries.chordNameFunction(procedure)The function that converts lists of pitches to chord names.
chordNoteNamer(procedure)A function that converts from a pitch object to a text markup. Used for single pitches.
chordRootNamer(procedure)A function that converts from a pitch object to a text markup. Used for chords.
chordNameExceptions(list)An alist of chord exceptions. Contains
(chord . markup)entries.majorSevenSymbol(markup)How should the major 7th be formatted in a chord name?
This engraver creates the following layout object(s):
Chord_name_engraver is part of the following context(s): ChordNames.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Chord_name_engraver ] | [ Up : Engravers and Performers ] | [ Clef_engraver > ] | ||
2.2.15 Chord_tremolo_engraver
Generate beams for tremolo repeats.
Music types accepted:
This engraver creates the following layout object(s):
Beam.
Chord_tremolo_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, MensuralVoice, TabVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Chord_tremolo_engraver ] | [ Up : Engravers and Performers ] | [ Cluster_spanner_engraver > ] | ||
2.2.16 Clef_engraver
Determine and set reference point for pitches.
Properties (read)
clefGlyph(string)Name of the symbol within the music font.
clefOctavation(integer)Add this much extra octavation. Values of 7 and -7 are common.
clefPosition(number)Where should the center of the clef symbol go, measured in half staff spaces from the center of the staff.
explicitClefVisibility(vector)‘break-visibility’ function for clef changes.
forceClef(boolean)Show clef symbol, even if it has not changed. Only active for the first clef after the property is set, not for the full staff.
This engraver creates the following layout object(s):
Clef and OctavateEight.
Clef_engraver is part of the following context(s): DrumStaff, GregorianTranscriptionStaff, MensuralStaff, Staff, TabStaff and VaticanaStaff.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Clef_engraver ] | [ Up : Engravers and Performers ] | [ Collision_engraver > ] | ||
2.2.17 Cluster_spanner_engraver
Engrave a cluster using Spanner notation.
Music types accepted:
This engraver creates the following layout object(s):
ClusterSpanner and ClusterSpannerBeacon.
Cluster_spanner_engraver is part of the following context(s): CueVoice, GregorianTranscriptionVoice, MensuralVoice, TabVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Cluster_spanner_engraver ] | [ Up : Engravers and Performers ] | [ Completion_heads_engraver > ] | ||
2.2.18 Collision_engraver
Collect NoteColumns, and as soon as there are two or more, put them in a NoteCollision object.
This engraver creates the following layout object(s):
Collision_engraver is part of the following context(s): DrumStaff, GregorianTranscriptionStaff, MensuralStaff, Staff, TabStaff and VaticanaStaff.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Collision_engraver ] | [ Up : Engravers and Performers ] | [ Control_track_performer > ] | ||
2.2.19 Completion_heads_engraver
This engraver replaces Note_heads_engraver. It plays some trickery to break long notes and automatically tie them into the next measure.
Music types accepted:
tie-event and note-event
Properties (read)
middleCPosition(number)The place of the middle C, measured in half staff-spaces. Usually determined by looking at
middleCClefPositionandmiddleCOffset.measurePosition(moment)How much of the current measure have we had. This can be set manually to create incomplete measures.
measureLength(moment)Length of one measure in the current time signature.
Properties (write)
completionBusy(boolean)Whether a completion-note head is playing.
This engraver creates the following layout object(s):
Completion_heads_engraver is not part of any context.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Completion_heads_engraver ] | [ Up : Engravers and Performers ] | [ Custos_engraver > ] | ||
2.2.20 Control_track_performer
Control_track_performer is not part of any context.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Control_track_performer ] | [ Up : Engravers and Performers ] | [ Default_bar_line_engraver > ] | ||
2.2.21 Custos_engraver
Engrave custodes.
This engraver creates the following layout object(s):
Custos_engraver is part of the following context(s): MensuralStaff and VaticanaStaff.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Custos_engraver ] | [ Up : Engravers and Performers ] | [ Dot_column_engraver > ] | ||
2.2.22 Default_bar_line_engraver
This engraver determines what kind of automatic bar lines should be produced, and sets whichBar accordingly. It should be at the same level as Timing_translator.
Properties (read)
automaticBars(boolean)If set to false then bar lines will not be printed automatically; they must be explicitly created with a
\barcommand. Unlike the\cadenzaOnkeyword, measures are still counted. Bar line generation will resume according to that count if this property is unset.barAlways(boolean)If set to true a bar line is drawn after each note.
defaultBarType(string)Set the default type of bar line. See
whichBarfor information on available bar types.This variable is read by Timing_translator at Score level.
measureLength(moment)Length of one measure in the current time signature.
whichBar(string)This property is read to determine what type of bar line to create.
Example:
\set Staff.whichBar = "|:"This will create a start-repeat bar in this staff only. Valid values are described in bar-line-interface.
measurePosition(moment)How much of the current measure have we had. This can be set manually to create incomplete measures.
Properties (write)
automaticBars(boolean)If set to false then bar lines will not be printed automatically; they must be explicitly created with a
\barcommand. Unlike the\cadenzaOnkeyword, measures are still counted. Bar line generation will resume according to that count if this property is unset.
Default_bar_line_engraver is part of the following context(s): Score.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Default_bar_line_engraver ] | [ Up : Engravers and Performers ] | [ Dots_engraver > ] | ||
2.2.23 Dot_column_engraver
Engrave dots on dotted notes shifted to the right of the note. If omitted, then dots appear on top of the notes.
This engraver creates the following layout object(s):
Dot_column_engraver is part of the following context(s): DrumStaff, GregorianTranscriptionStaff, MensuralStaff, RhythmicStaff, Staff, TabStaff and VaticanaStaff.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Dot_column_engraver ] | [ Up : Engravers and Performers ] | [ Drum_note_performer > ] | ||
2.2.24 Dots_engraver
Create Dots objects for rhythmic-head-interfaces.
This engraver creates the following layout object(s):
Dots.
Dots_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, MensuralVoice, TabVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Dots_engraver ] | [ Up : Engravers and Performers ] | [ Drum_notes_engraver > ] | ||
2.2.25 Drum_note_performer
Play drum notes.
Music types accepted:
Drum_note_performer is not part of any context.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Drum_note_performer ] | [ Up : Engravers and Performers ] | [ Dynamic_align_engraver > ] | ||
2.2.26 Drum_notes_engraver
Generate drum note heads.
Music types accepted:
Properties (read)
drumStyleTable(hash table)A hash table which maps drums to layout settings. Predefined values: ‘drums-style’, ‘timbales-style’, ‘congas-style’, ‘bongos-style’, and ‘percussion-style’.
The layout style is a hash table, containing the drum-pitches (e.g., the symbol ‘hihat’) as keys, and a list
(notehead-style script vertical-position)as values.
This engraver creates the following layout object(s):
Drum_notes_engraver is part of the following context(s): DrumVoice.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Drum_notes_engraver ] | [ Up : Engravers and Performers ] | [ Dynamic_engraver > ] | ||
2.2.27 Dynamic_align_engraver
Align hairpins and dynamic texts on a horizontal line
Properties (read)
currentMusicalColumn(layout object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
Dynamic_align_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, MensuralVoice, TabVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Dynamic_align_engraver ] | [ Up : Engravers and Performers ] | [ Dynamic_performer > ] | ||
2.2.28 Dynamic_engraver
Create hairpins, dynamic texts, and their vertical alignments. The symbols are collected onto a DynamicLineSpanner grob which takes care of vertical positioning.
Music types accepted:
span-dynamic-event and absolute-dynamic-event
This engraver creates the following layout object(s):
DynamicLineSpanner, DynamicText, DynamicTextSpanner, Hairpin and TextSpanner.
Dynamic_engraver is not part of any context.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Dynamic_engraver ] | [ Up : Engravers and Performers ] | [ Engraver > ] | ||
2.2.29 Dynamic_performer
Music types accepted:
absolute-dynamic-event, crescendo-event and decrescendo-event
Properties (read)
dynamicAbsoluteVolumeFunction(procedure)[DOCUMENT-ME]
instrumentEqualizer(procedure)A function taking a string (instrument name), and returning a
(min . max)pair of numbers for the loudness range of the instrument.midiMaximumVolume(number)Analogous to
midiMinimumVolume.midiMinimumVolume(number)Set the minimum loudness for MIDI. Ranges from 0 to 1.
midiInstrument(string)Name of the MIDI instrument to use.
Dynamic_performer is not part of any context.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Dynamic_performer ] | [ Up : Engravers and Performers ] | [ Extender_engraver > ] | ||
2.2.30 Engraver
Base class for engravers. Does nothing, so it is not used.
Engraver is not part of any context.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Engraver ] | [ Up : Engravers and Performers ] | [ Figured_bass_engraver > ] | ||
2.2.31 Extender_engraver
Create lyric extenders.
Music types accepted:
Properties (read)
extendersOverRests(boolean)Whether to continue extenders as they cross a rest.
This engraver creates the following layout object(s):
Extender_engraver is part of the following context(s): Lyrics.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Extender_engraver ] | [ Up : Engravers and Performers ] | [ Figured_bass_position_engraver > ] | ||
2.2.32 Figured_bass_engraver
Make figured bass numbers.
Music types accepted:
bass-figure-event and rest-event
Properties (read)
figuredBassAlterationDirection(direction)Where to put alterations relative to the main figure.
figuredBassCenterContinuations(boolean)Whether to vertically center pairs of extender lines. This does not work with three or more lines.
figuredBassFormatter(procedure)A routine generating a markup for a bass figure.
implicitBassFigures(list)A list of bass figures that are not printed as numbers, but only as extender lines.
useBassFigureExtenders(boolean)Whether to use extender lines for repeated bass figures.
ignoreFiguredBassRest(boolean)Don’t swallow rest events.
This engraver creates the following layout object(s):
BassFigure, BassFigureAlignment, BassFigureBracket, BassFigureContinuation and BassFigureLine.
Figured_bass_engraver is part of the following context(s): DrumStaff, FiguredBass, GregorianTranscriptionStaff, MensuralStaff, Staff, TabStaff and VaticanaStaff.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Figured_bass_engraver ] | [ Up : Engravers and Performers ] | [ Fingering_engraver > ] | ||
2.2.33 Figured_bass_position_engraver
Position figured bass alignments over notes.
This engraver creates the following layout object(s):
BassFigureAlignmentPositioning.
Figured_bass_position_engraver is part of the following context(s): DrumStaff, GregorianTranscriptionStaff, MensuralStaff, Staff, TabStaff and VaticanaStaff.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Figured_bass_position_engraver ] | [ Up : Engravers and Performers ] | [ Font_size_engraver > ] | ||
2.2.34 Fingering_engraver
Create fingering scripts.
Music types accepted:
stroke-finger-event and fingering-event
This engraver creates the following layout object(s):
Fingering_engraver is part of the following context(s): CueVoice, GregorianTranscriptionVoice, MensuralVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Fingering_engraver ] | [ Up : Engravers and Performers ] | [ Forbid_line_break_engraver > ] | ||
2.2.35 Font_size_engraver
Put fontSize into font-size grob property.
Properties (read)
fontSize(number)The relative size of all grobs in a context.
Font_size_engraver is part of the following context(s): CueVoice, DrumStaff, DrumVoice, FretBoards, GregorianTranscriptionStaff, GregorianTranscriptionVoice, Lyrics, MensuralStaff, MensuralVoice, RhythmicStaff, Staff, TabStaff, TabVoice, VaticanaStaff, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Font_size_engraver ] | [ Up : Engravers and Performers ] | [ Fretboard_engraver > ] | ||
2.2.36 Forbid_line_break_engraver
Forbid line breaks when note heads are still playing at some point.
Properties (read)
busyGrobs(list)A queue of
(end-moment . GROB)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).
Properties (write)
forbidBreak(boolean)If set to
##t, prevent a line break at this point.
Forbid_line_break_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, MensuralVoice, TabVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Forbid_line_break_engraver ] | [ Up : Engravers and Performers ] | [ Glissando_engraver > ] | ||
2.2.37 Fretboard_engraver
Generate one or more tablature noteheads from event of type NoteEvent.
Music types accepted:
string-number-event and note-event
Properties (read)
stringTunings(list)The tablature strings tuning. It is a list of the pitch (in semitones) of each string (starting with the lower one).
minimumFret(number)The tablature auto string-selecting mechanism selects the highest string with a fret at least
minimumFret.maximumFretStretch(number)Don’t allocate frets further than this from specified frets.
tablatureFormat(procedure)A function formatting a tablature note head. Called with three arguments: string number, context and event. It returns the text as a string.
highStringOne(boolean)Whether the first string is the string with highest pitch on the instrument. This used by the automatic string selector for tablature notation.
predefinedDiagramTable(hash table)The hash table of predefined fret diagrams to use in FretBoards.
This engraver creates the following layout object(s):
Fretboard_engraver is part of the following context(s): FretBoards.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Fretboard_engraver ] | [ Up : Engravers and Performers ] | [ Grace_beam_engraver > ] | ||
2.2.38 Glissando_engraver
Engrave glissandi.
Music types accepted:
This engraver creates the following layout object(s):
Glissando_engraver is part of the following context(s): CueVoice, GregorianTranscriptionVoice, MensuralVoice, TabVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Glissando_engraver ] | [ Up : Engravers and Performers ] | [ Grace_engraver > ] | ||
2.2.39 Grace_beam_engraver
Handle Beam events by engraving beams. If omitted, then notes are printed with flags instead of beams. Only engraves beams when we are at grace points in time.
Music types accepted:
Properties (read)
beamMelismaBusy(boolean)Signal if a beam is present.
beatLength(moment)The length of one beat in this time signature.
subdivideBeams(boolean)If set, multiple beams will be subdivided at beat positions by only drawing one beam over the beat.
This engraver creates the following layout object(s):
Beam.
Grace_beam_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, MensuralVoice, TabVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Grace_beam_engraver ] | [ Up : Engravers and Performers ] | [ Grace_spacing_engraver > ] | ||
2.2.40 Grace_engraver
Set font size and other properties for grace notes.
Properties (read)
graceSettings(list)Overrides for grace notes. This property should be manipulated through the
add-grace-propertyfunction.
Grace_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, MensuralVoice, TabVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Grace_engraver ] | [ Up : Engravers and Performers ] | [ Grid_line_span_engraver > ] | ||
2.2.41 Grace_spacing_engraver
Bookkeeping of shortest starting and playing notes in grace note runs.
Properties (read)
currentMusicalColumn(layout object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
Grace_spacing_engraver is part of the following context(s): Score.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Grace_spacing_engraver ] | [ Up : Engravers and Performers ] | [ Grid_point_engraver > ] | ||
2.2.42 Grid_line_span_engraver
This engraver makes cross-staff lines: It catches all normal lines and draws a single span line across them.
This engraver creates the following layout object(s):
Grid_line_span_engraver is not part of any context.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Grid_line_span_engraver ] | [ Up : Engravers and Performers ] | [ Grob_pq_engraver > ] | ||
2.2.43 Grid_point_engraver
Generate grid points.
Properties (read)
gridInterval(moment)Interval for which to generate
GridPoints.
This engraver creates the following layout object(s):
Grid_point_engraver is not part of any context.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Grid_point_engraver ] | [ Up : Engravers and Performers ] | [ Hara_kiri_engraver > ] | ||
2.2.44 Grob_pq_engraver
Administrate when certain grobs (e.g., note heads) stop playing.
Properties (read)
busyGrobs(list)A queue of
(end-moment . GROB)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).
Properties (write)
busyGrobs(list)A queue of
(end-moment . GROB)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).
Grob_pq_engraver is part of the following context(s): CueVoice, DrumStaff, DrumVoice, GregorianTranscriptionStaff, GregorianTranscriptionVoice, MensuralStaff, MensuralVoice, Staff, TabStaff, TabVoice, VaticanaStaff, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Grob_pq_engraver ] | [ Up : Engravers and Performers ] | [ Horizontal_bracket_engraver > ] | ||
2.2.45 Hara_kiri_engraver
Like Axis_group_engraver, but make a hara-kiri spanner, and add interesting items (i.e., note heads, lyric syllables, and normal rests).
Properties (read)
keepAliveInterfaces(list)A list of symbols, signifying grob interfaces that are worth keeping a staff with
remove-emptyset around for.
This engraver creates the following layout object(s):
Hara_kiri_engraver is part of the following context(s): ChordNames, FiguredBass and Lyrics.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Hara_kiri_engraver ] | [ Up : Engravers and Performers ] | [ Hyphen_engraver > ] | ||
2.2.46 Horizontal_bracket_engraver
Create horizontal brackets over notes for musical analysis purposes.
Music types accepted:
This engraver creates the following layout object(s):
Horizontal_bracket_engraver is not part of any context.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Horizontal_bracket_engraver ] | [ Up : Engravers and Performers ] | [ Instrument_name_engraver > ] | ||
2.2.47 Hyphen_engraver
Create lyric hyphens and distance constraints between words.
Music types accepted:
This engraver creates the following layout object(s):
LyricHyphen and LyricSpace.
Hyphen_engraver is part of the following context(s): Lyrics.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Hyphen_engraver ] | [ Up : Engravers and Performers ] | [ Instrument_switch_engraver > ] | ||
2.2.48 Instrument_name_engraver
Create a system start text for instrument or vocal names.
Properties (read)
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
shortInstrumentName(markup)See
instrument.instrumentName(markup)The name to print left of a staff. The
instrumentproperty labels the staff in the first system, and theinstrproperty labels following lines.shortVocalName(markup)Name of a vocal line, short version.
vocalName(markup)Name of a vocal line.
This engraver creates the following layout object(s):
Instrument_name_engraver is part of the following context(s): DrumStaff, FretBoards, GregorianTranscriptionStaff, Lyrics, MensuralStaff, PianoStaff, RhythmicStaff, Staff, TabStaff and VaticanaStaff.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Instrument_name_engraver ] | [ Up : Engravers and Performers ] | [ Key_engraver > ] | ||
2.2.49 Instrument_switch_engraver
Create a cue text for taking instrument.
Properties (read)
instrumentCueName(markup)The name to print if another instrument is to be taken.
This engraver creates the following layout object(s):
Instrument_switch_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, MensuralVoice, TabVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Instrument_switch_engraver ] | [ Up : Engravers and Performers ] | [ Key_performer > ] | ||
2.2.50 Key_engraver
Engrave a key signature.
Music types accepted:
Properties (read)
createKeyOnClefChange(boolean)Print a key signature whenever the clef is changed.
explicitKeySignatureVisibility(vector)‘break-visibility’ function for explicit key changes. ‘\override’ of the
break-visibilityproperty will set the visibility for normal (i.e., at the start of the line) key signatures.extraNatural(boolean)Whether to typeset an extra natural sign before accidentals changing from a non-natural to another non-natural.
keyAlterationOrder(list)An alist that defines in what order alterations should be printed. The format is
(step . alter), where step is a number from 0 to 6 and alter from -2 (sharp) to 2 (flat).keySignature(list)The current key signature. This is an alist containing
(step . alter)or((octave . step) . alter), where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.keySignature = #`((6 . ,FLAT)).lastKeySignature(list)Last key signature before a key signature change.
printKeyCancellation(boolean)Print restoration alterations before a key signature change.
Properties (write)
keySignature(list)The current key signature. This is an alist containing
(step . alter)or((octave . step) . alter), where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.keySignature = #`((6 . ,FLAT)).lastKeySignature(list)Last key signature before a key signature change.
tonic(pitch)The tonic of the current scale.
This engraver creates the following layout object(s):
Key_engraver is part of the following context(s): GregorianTranscriptionStaff, MensuralStaff, Staff and VaticanaStaff.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Key_engraver ] | [ Up : Engravers and Performers ] | [ Laissez_vibrer_engraver > ] | ||
2.2.51 Key_performer
Music types accepted:
Key_performer is not part of any context.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Key_performer ] | [ Up : Engravers and Performers ] | [ Ledger_line_engraver > ] | ||
2.2.52 Laissez_vibrer_engraver
Create laissez vibrer items.
Music types accepted:
This engraver creates the following layout object(s):
LaissezVibrerTie and LaissezVibrerTieColumn.
Laissez_vibrer_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, MensuralVoice, TabVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Laissez_vibrer_engraver ] | [ Up : Engravers and Performers ] | [ Ligature_bracket_engraver > ] | ||
2.2.53 Ledger_line_engraver
Create the spanner to draw ledger lines, and notices objects that need ledger lines.
This engraver creates the following layout object(s):
Ledger_line_engraver is part of the following context(s): DrumStaff, GregorianTranscriptionStaff, MensuralStaff, RhythmicStaff, Staff, TabStaff and VaticanaStaff.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Ledger_line_engraver ] | [ Up : Engravers and Performers ] | [ Lyric_engraver > ] | ||
2.2.54 Ligature_bracket_engraver
Handle Ligature_events by engraving Ligature brackets.
Music types accepted:
This engraver creates the following layout object(s):
Ligature_bracket_engraver is part of the following context(s): CueVoice, GregorianTranscriptionVoice, TabVoice and Voice.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Ligature_bracket_engraver ] | [ Up : Engravers and Performers ] | [ Lyric_performer > ] | ||
2.2.55 Lyric_engraver
Engrave text for lyrics.
Music types accepted:
Properties (read)
lyricMelismaAlignment(direction)Alignment to use for a melisma syllable.
This engraver creates the following layout object(s):
Lyric_engraver is part of the following context(s): Lyrics.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Lyric_engraver ] | [ Up : Engravers and Performers ] | [ Mark_engraver > ] | ||
2.2.56 Lyric_performer
Music types accepted:
Lyric_performer is not part of any context.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Lyric_performer ] | [ Up : Engravers and Performers ] | [ Measure_grouping_engraver > ] | ||
2.2.57 Mark_engraver
Create RehearsalMark objects. It puts them on top of all staves (which is taken from the property stavesFound). If moving this engraver to a different context, Staff_collecting_engraver must move along, otherwise all marks end up on the same Y location.
Music types accepted:
Properties (read)
markFormatter(procedure)A procedure taking as arguments the context and the rehearsal mark. It should return the formatted mark as a markup object.
rehearsalMark(integer)The last rehearsal mark printed.
stavesFound(list of grobs)A list of all staff-symbols found.
This engraver creates the following layout object(s):
Mark_engraver is part of the following context(s): Score.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Mark_engraver ] | [ Up : Engravers and Performers ] | [ Melody_engraver > ] | ||
2.2.58 Measure_grouping_engraver
Create MeasureGrouping to indicate beat subdivision.
Properties (read)
beatLength(moment)The length of one beat in this time signature.
currentMusicalColumn(layout object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
measurePosition(moment)How much of the current measure have we had. This can be set manually to create incomplete measures.
beatGrouping(list)A list of beatgroups, e.g., in 5/8 time
'(2 3).
This engraver creates the following layout object(s):
Measure_grouping_engraver is not part of any context.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Measure_grouping_engraver ] | [ Up : Engravers and Performers ] | [ Mensural_ligature_engraver > ] | ||
2.2.59 Melody_engraver
Create information for context dependent typesetting decisions.
This engraver creates the following layout object(s):
Melody_engraver is not part of any context.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Melody_engraver ] | [ Up : Engravers and Performers ] | [ Metronome_mark_engraver > ] | ||
2.2.60 Mensural_ligature_engraver
Handle Mensural_ligature_events by glueing special ligature heads together.
Music types accepted:
This engraver creates the following layout object(s):
Mensural_ligature_engraver is part of the following context(s): MensuralVoice.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Mensural_ligature_engraver ] | [ Up : Engravers and Performers ] | [ Multi_measure_rest_engraver > ] | ||
2.2.61 Metronome_mark_engraver
Engrave metronome marking. This delegates the formatting work to the function in the metronomeMarkFormatter property. The mark is put over all staves. The staves are taken from the stavesFound property, which is maintained by Staff_collecting_engraver.
Properties (read)
stavesFound(list of grobs)A list of all staff-symbols found.
metronomeMarkFormatter(procedure)How to produce a metronome markup. Called with four arguments: text, duration, count and context.
tempoUnitDuration(duration)Unit for specifying tempo.
tempoUnitCount(number)Count for specifying tempo.
tempoText(markup)Text for tempo marks.
tempoHideNote(boolean)Hide the note=count in tempo marks.
This engraver creates the following layout object(s):
Metronome_mark_engraver is part of the following context(s): Score.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Metronome_mark_engraver ] | [ Up : Engravers and Performers ] | [ New_dynamic_engraver > ] | ||
2.2.62 Multi_measure_rest_engraver
Engrave multi-measure rests that are produced with ‘R’. It reads measurePosition and internalBarNumber to determine what number to print over the MultiMeasureRest. Reads measureLength to determine whether it should use a whole rest or a breve rest to represent one measure.
Music types accepted:
multi-measure-text-event and multi-measure-rest-event
Properties (read)
internalBarNumber(integer)Contains the current barnumber. This property is used for internal timekeeping, among others by the
Accidental_engraver.restNumberThreshold(number)If a multimeasure rest has more measures than this, a number is printed.
breakableSeparationItem(layout object)The breakable items in this time step, for this staff.
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
measurePosition(moment)How much of the current measure have we had. This can be set manually to create incomplete measures.
measureLength(moment)Length of one measure in the current time signature.
This engraver creates the following layout object(s):
MultiMeasureRest, MultiMeasureRestNumber and MultiMeasureRestText.
Multi_measure_rest_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, MensuralVoice, TabVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Multi_measure_rest_engraver ] | [ Up : Engravers and Performers ] | [ New_fingering_engraver > ] | ||
2.2.63 New_dynamic_engraver
Create hairpins, dynamic texts, and their vertical alignments. The symbols are collected onto a DynamicLineSpanner grob which takes care of vertical positioning.
Music types accepted:
span-dynamic-event and absolute-dynamic-event
Properties (read)
crescendoSpanner(symbol)The type of spanner to be used for crescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin crescendo is used.
crescendoText(markup)The text to print at start of non-hairpin crescendo, i.e., ‘cresc.’.
currentMusicalColumn(layout object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
decrescendoSpanner(symbol)The type of spanner to be used for decrescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin decrescendo is used.
decrescendoText(markup)The text to print at start of non-hairpin decrescendo, i.e., ‘dim.’.
This engraver creates the following layout object(s):
DynamicText, DynamicTextSpanner, Hairpin and TextSpanner.
New_dynamic_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, MensuralVoice, TabVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < New_dynamic_engraver ] | [ Up : Engravers and Performers ] | [ Note_head_line_engraver > ] | ||
2.2.64 New_fingering_engraver
Create fingering scripts for notes in a new chord. This engraver is ill-named, since it also takes care of articulations and harmonic note heads.
Properties (read)
fingeringOrientations(list)A list of symbols, containing ‘left’, ‘right’, ‘up’ and/or ‘down’. This list determines where fingerings are put relative to the chord being fingered.
harmonicDots(boolean)If set, harmonic notes in dotted chords get dots.
strokeFingerOrientations(list)See
fingeringOrientations.stringNumberOrientations(list)See
fingeringOrientations.
This engraver creates the following layout object(s):
Fingering, Script, StringNumber and StrokeFinger.
New_fingering_engraver is part of the following context(s): CueVoice, GregorianTranscriptionVoice, MensuralVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < New_fingering_engraver ] | [ Up : Engravers and Performers ] | [ Note_heads_engraver > ] | ||
2.2.65 Note_head_line_engraver
Engrave a line between two note heads, for example a glissando. If followVoice is set, staff switches also generate a line.
Properties (read)
followVoice(boolean)If set, note heads are tracked across staff switches by a thin line.
This engraver creates the following layout object(s):
Glissando and VoiceFollower.
Note_head_line_engraver is part of the following context(s): CueVoice, GregorianTranscriptionVoice, MensuralVoice, TabVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Note_head_line_engraver ] | [ Up : Engravers and Performers ] | [ Note_name_engraver > ] | ||
2.2.66 Note_heads_engraver
Generate note heads.
Music types accepted:
Properties (read)
middleCPosition(number)The place of the middle C, measured in half staff-spaces. Usually determined by looking at
middleCClefPositionandmiddleCOffset.staffLineLayoutFunction(procedure)Layout of staff lines,
traditional, orsemitone.
This engraver creates the following layout object(s):
Note_heads_engraver is part of the following context(s): CueVoice, GregorianTranscriptionVoice, MensuralVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Note_heads_engraver ] | [ Up : Engravers and Performers ] | [ Note_performer > ] | ||
2.2.67 Note_name_engraver
Print pitches as words.
Music types accepted:
Properties (read)
printOctaveNames(boolean)Print octave marks for the
NoteNamescontext.
This engraver creates the following layout object(s):
Note_name_engraver is part of the following context(s): NoteNames.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Note_name_engraver ] | [ Up : Engravers and Performers ] | [ Note_spacing_engraver > ] | ||
2.2.68 Note_performer
Music types accepted:
Note_performer is not part of any context.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Note_performer ] | [ Up : Engravers and Performers ] | [ Note_swallow_translator > ] | ||
2.2.69 Note_spacing_engraver
Generate NoteSpacing, an object linking horizontal lines for use in spacing.
This engraver creates the following layout object(s):
Note_spacing_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, MensuralVoice, TabVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Note_spacing_engraver ] | [ Up : Engravers and Performers ] | [ Ottava_spanner_engraver > ] | ||
2.2.70 Note_swallow_translator
Swallow notes.
Note_swallow_translator is part of the following context(s): FiguredBass.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Note_swallow_translator ] | [ Up : Engravers and Performers ] | [ Output_property_engraver > ] | ||
2.2.71 Ottava_spanner_engraver
Create a text spanner when the ottavation property changes.
Properties (read)
ottavation(markup)If set, the text for an ottava spanner. Changing this creates a new text spanner.
originalMiddleCPosition(integer)Used for temporary overriding middle C in octavation brackets.
currentMusicalColumn(layout object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
Ottava_spanner_engraver is part of the following context(s): GregorianTranscriptionStaff, MensuralStaff, Staff, TabStaff and VaticanaStaff.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Ottava_spanner_engraver ] | [ Up : Engravers and Performers ] | [ Page_turn_engraver > ] | ||
2.2.72 Output_property_engraver
Apply a procedure to any grob acknowledged.
Music types accepted:
Output_property_engraver is part of the following context(s): ChordNames, CueVoice, DrumStaff, DrumVoice, FretBoards, GregorianTranscriptionStaff, GregorianTranscriptionVoice, MensuralStaff, MensuralVoice, RhythmicStaff, Score, Staff, StaffGroup, TabStaff, TabVoice, VaticanaStaff, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Output_property_engraver ] | [ Up : Engravers and Performers ] | [ Paper_column_engraver > ] | ||
2.2.73 Page_turn_engraver
Decide where page turns are allowed to go.
Music types accepted:
Properties (read)
minimumPageTurnLength(moment)Minimum length of a rest for a page turn to be allowed.
minimumRepeatLengthForPageTurn(moment)Minimum length of a repeated section for a page turn to be allowed within that section.
Page_turn_engraver is not part of any context.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Page_turn_engraver ] | [ Up : Engravers and Performers ] | [ Parenthesis_engraver > ] | ||
2.2.74 Paper_column_engraver
Take care of generating columns.
This engraver decides whether a column is breakable. The default is that a column is always breakable. However, every Bar_engraver that does not have a barline at a certain point will set forbidBreaks in the score context to stop line breaks. In practice, this means that you can make a break point by creating a bar line (assuming that there are no beams or notes that prevent a break point).
Music types accepted:
Properties (read)
forbidBreak(boolean)If set to
##t, prevent a line break at this point.
Properties (write)
forbidBreak(boolean)If set to
##t, prevent a line break at this point.currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
currentMusicalColumn(layout object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
NonMusicalPaperColumn and PaperColumn.
Paper_column_engraver is part of the following context(s): Score.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Paper_column_engraver ] | [ Up : Engravers and Performers ] | [ Part_combine_engraver > ] | ||
2.2.75 Parenthesis_engraver
Parenthesize objects whose music cause has the parenthesize property.
This engraver creates the following layout object(s):
Parenthesis_engraver is part of the following context(s): Score.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Parenthesis_engraver ] | [ Up : Engravers and Performers ] | [ Percent_repeat_engraver > ] | ||
2.2.76 Part_combine_engraver
Part combine engraver for orchestral scores: Print markings ‘a2’, ‘Solo’, ‘Solo II’, and ‘unisono’.
Music types accepted:
Properties (read)
printPartCombineTexts(boolean)Set ‘Solo’ and ‘A due’ texts in the part combiner?
soloText(markup)The text for the start of a solo when part-combining.
soloIIText(markup)The text for the start of a solo for voice ‘two’ when part-combining.
aDueText(markup)Text to print at a unisono passage.
This engraver creates the following layout object(s):
Part_combine_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, MensuralVoice, TabVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Part_combine_engraver ] | [ Up : Engravers and Performers ] | [ Phrasing_slur_engraver > ] | ||
2.2.77 Percent_repeat_engraver
Make whole bar and double bar repeats.
Music types accepted:
Properties (read)
countPercentRepeats(boolean)If set, produce counters for percent repeats.
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
measureLength(moment)Length of one measure in the current time signature.
repeatCountVisibility(procedure)A procedure taking as arguments an integer and context, returning whether the corresponding percent repeat number should be printed when
countPercentRepeatsis set.
Properties (write)
forbidBreak(boolean)If set to
##t, prevent a line break at this point.
This engraver creates the following layout object(s):
DoublePercentRepeat, DoublePercentRepeatCounter, PercentRepeat and PercentRepeatCounter.
Percent_repeat_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, MensuralVoice, TabVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Percent_repeat_engraver ] | [ Up : Engravers and Performers ] | [ Piano_pedal_align_engraver > ] | ||
2.2.78 Phrasing_slur_engraver
Print phrasing slurs. Similar to Slur_engraver.
Music types accepted:
This engraver creates the following layout object(s):
Phrasing_slur_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, MensuralVoice, TabVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Phrasing_slur_engraver ] | [ Up : Engravers and Performers ] | [ Piano_pedal_engraver > ] | ||
2.2.79 Piano_pedal_align_engraver
Align piano pedal symbols and brackets.
Properties (read)
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
This engraver creates the following layout object(s):
SostenutoPedalLineSpanner, SustainPedalLineSpanner and UnaCordaPedalLineSpanner.
Piano_pedal_align_engraver is part of the following context(s): DrumStaff, GregorianTranscriptionStaff, MensuralStaff, Staff, TabStaff and VaticanaStaff.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Piano_pedal_align_engraver ] | [ Up : Engravers and Performers ] | [ Piano_pedal_performer > ] | ||
2.2.80 Piano_pedal_engraver
Engrave piano pedal symbols and brackets.
Music types accepted:
una-corda-event, sustain-event and sostenuto-event
Properties (read)
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
pedalSostenutoStrings(list)See
pedalSustainStrings.pedalSostenutoStyle(symbol)See
pedalSustainStyle.pedalSustainStrings(list)A list of strings to print for sustain-pedal. Format is
(up updown down), where each of the three is the string to print when this is done with the pedal.pedalSustainStyle(symbol)A symbol that indicates how to print sustain pedals:
text,bracketormixed(both).pedalUnaCordaStrings(list)See
pedalSustainStrings.pedalUnaCordaStyle(symbol)See
pedalSustainStyle.
This engraver creates the following layout object(s):
PianoPedalBracket, SostenutoPedal, SustainPedal and UnaCordaPedal.
Piano_pedal_engraver is part of the following context(s): GregorianTranscriptionStaff, MensuralStaff, Staff, TabStaff and VaticanaStaff.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Piano_pedal_engraver ] | [ Up : Engravers and Performers ] | [ Pitch_squash_engraver > ] | ||
2.2.81 Piano_pedal_performer
Music types accepted:
una-corda-event, sustain-event and sostenuto-event
Piano_pedal_performer is not part of any context.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Piano_pedal_performer ] | [ Up : Engravers and Performers ] | [ Pitched_trill_engraver > ] | ||
2.2.82 Pitch_squash_engraver
Set the vertical position of note heads to squashedPosition, if that property is set. This can be used to make a single-line staff demonstrating the rhythm of a melody.
Properties (read)
squashedPosition(integer)Vertical position of squashing for Pitch_squash_engraver.
Pitch_squash_engraver is part of the following context(s): RhythmicStaff.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Pitch_squash_engraver ] | [ Up : Engravers and Performers ] | [ Repeat_acknowledge_engraver > ] | ||
2.2.83 Pitched_trill_engraver
Print the bracketed note head after a note head with trill.
This engraver creates the following layout object(s):
TrillPitchAccidental, TrillPitchGroup and TrillPitchHead.
Pitched_trill_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, MensuralVoice, TabVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Pitched_trill_engraver ] | [ Up : Engravers and Performers ] | [ Repeat_tie_engraver > ] | ||
2.2.84 Repeat_acknowledge_engraver
Acknowledge repeated music, and convert the contents of repeatCommands into an appropriate setting for whichBar.
Properties (read)
doubleRepeatType(string)Set the default bar line for double repeats.
repeatCommands(list)This property is a list of commands of the form
(list 'volta x), where x is a string or#f.'end-repeatis also accepted as a command.whichBar(string)This property is read to determine what type of bar line to create.
Example:
\set Staff.whichBar = "|:"This will create a start-repeat bar in this staff only. Valid values are described in bar-line-interface.
Repeat_acknowledge_engraver is part of the following context(s): Score.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Repeat_acknowledge_engraver ] | [ Up : Engravers and Performers ] | [ Rest_collision_engraver > ] | ||
2.2.85 Repeat_tie_engraver
Create repeat ties.
Music types accepted:
This engraver creates the following layout object(s):
RepeatTie and RepeatTieColumn.
Repeat_tie_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, MensuralVoice, TabVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ | ||