This is the program reference for version 2.11.58 of LilyPond, the GNU music typesetter.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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 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.
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.
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.
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.
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.
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 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 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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
A tie.
Syntax: note-~
Event classes: tie-event, music-event and StreamEvent.
Accepted by: 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.
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 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.
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.
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.
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.
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.
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.
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.
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.
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 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.
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.
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 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 event type absolute-dynamic-event is in music objects of type AbsoluteDynamicEvent.
Accepted by: Dynamic_engraver, Dynamic_performer and New_dynamic_engraver.
Music event type annotate-output-event is in music objects of type AnnotateOutputEvent.
Accepted by: Balloon_engraver.
Music event type apply-output-event is in music objects of type ApplyOutputEvent.
Accepted by: Output_property_engraver.
Music event type arpeggio-event is in music objects of type ArpeggioEvent.
Accepted by: Arpeggio_engraver.
Music event type articulation-event is in music objects of type ArticulationEvent.
Accepted by: Script_engraver.
Music event type bass-figure-event is in music objects of type BassFigureEvent.
Accepted by: Figured_bass_engraver.
Music event type beam-event is in music objects of type BeamEvent.
Accepted by: Beam_engraver, Beam_performer and Grace_beam_engraver.
Music event type beam-forbid-event is in music objects of type BeamForbidEvent.
Accepted by: Auto_beam_engraver.
Music event type bend-after-event is in music objects of type BendAfterEvent.
Accepted by: Bend_engraver.
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 event type breathing-event is in music objects of type BreathingEvent.
Accepted by: Breathing_sign_engraver.
Music event type cluster-note-event is in music objects of type ClusterNoteEvent.
Accepted by: Cluster_spanner_engraver.
Music event type crescendo-event is in music objects of type CrescendoEvent.
Accepted by: Dynamic_performer.
Music event type decrescendo-event is in music objects of type DecrescendoEvent.
Accepted by: Dynamic_performer.
Music event type dynamic-event is in music objects of type AbsoluteDynamicEvent.
Not accepted by any engraver or performer.
Music event type extender-event is in music objects of type ExtenderEvent.
Accepted by: Extender_engraver.
Music event type fingering-event is in music objects of type FingeringEvent.
Accepted by: Fingering_engraver.
Music event type glissando-event is in music objects of type GlissandoEvent.
Accepted by: Glissando_engraver.
Music event type harmonic-event is in music objects of type HarmonicEvent.
Not accepted by any engraver or performer.
Music event type hyphen-event is in music objects of type HyphenEvent.
Accepted by: Hyphen_engraver.
Music event type key-change-event is in music objects of type KeyChangeEvent.
Accepted by: Key_engraver and Key_performer.
Music event type label-event is in music objects of type LabelEvent.
Accepted by: Paper_column_engraver.
Music event type laissez-vibrer-event is in music objects of type LaissezVibrerEvent.
Accepted by: Laissez_vibrer_engraver.
Music event type layout-instruction-event is in music objects of type ApplyOutputEvent.
Not accepted by any engraver or performer.
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 event type line-break-event is in music objects of type LineBreakEvent.
Not accepted by any engraver or performer.
Music event type lyric-event is in music objects of type LyricEvent.
Accepted by: Lyric_engraver and Lyric_performer.
Music event type mark-event is in music objects of type MarkEvent.
Accepted by: Mark_engraver.
Music event type melodic-event is in music objects of type ClusterNoteEvent and NoteEvent.
Not accepted by any engraver or performer.
Music event type multi-measure-rest-event is in music objects of type MultiMeasureRestEvent.
Accepted by: Multi_measure_rest_engraver.
Music event type multi-measure-text-event is in music objects of type MultiMeasureTextEvent.
Accepted by: Multi_measure_rest_engraver.
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 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 event type note-grouping-event is in music objects of type NoteGroupingEvent.
Accepted by: Horizontal_bracket_engraver.
Music event type page-break-event is in music objects of type PageBreakEvent.
Not accepted by any engraver or performer.
Music event type page-turn-event is in music objects of type PageTurnEvent.
Not accepted by any engraver or performer.
Music event type part-combine-event is in music objects of type SoloOneEvent, SoloTwoEvent and UnisonoEvent.
Accepted by: Part_combine_engraver.
Music event type pedal-event is in music objects of type SostenutoEvent, SustainEvent and UnaCordaEvent.
Not accepted by any engraver or performer.
Music event type percent-event is in music objects of type PercentEvent.
Accepted by: Percent_repeat_engraver and Slash_repeat_engraver.
Music event type pes-or-flexa-event is in music objects of type PesOrFlexaEvent.
Accepted by: Vaticana_ligature_engraver.
Music event type phrasing-slur-event is in music objects of type PhrasingSlurEvent.
Accepted by: Phrasing_slur_engraver.
Music event type repeat-tie-event is in music objects of type RepeatTieEvent.
Accepted by: Repeat_tie_engraver.
Music event type rest-event is in music objects of type RestEvent.
Accepted by: Figured_bass_engraver and Rest_engraver.
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 event type script-event is in music objects of type ArticulationEvent, ScriptEvent and TextScriptEvent.
Not accepted by any engraver or performer.
Music event type skip-event is in music objects of type SkipEvent.
Not accepted by any engraver or performer.
Music event type slur-event is in music objects of type SlurEvent.
Accepted by: Slur_engraver and Slur_performer.
Music event type solo-one-event is in music objects of type SoloOneEvent.
Not accepted by any engraver or performer.
Music event type solo-two-event is in music objects of type SoloTwoEvent.
Not accepted by any engraver or performer.
Music event type sostenuto-event is in music objects of type SostenutoEvent.
Accepted by: Piano_pedal_engraver and Piano_pedal_performer.
Music event type spacing-section-event is in music objects of type SpacingSectionEvent.
Accepted by: Spacing_engraver.
Music event type span-dynamic-event is in music objects of type CrescendoEvent and DecrescendoEvent.
Accepted by: Dynamic_engraver and New_dynamic_engraver.
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 event type staff-span-event is in music objects of type StaffSpanEvent.
Accepted by: Staff_symbol_engraver.
Music event type string-number-event is in music objects of type StringNumberEvent.
Accepted by: Fretboard_engraver and Tab_note_heads_engraver.
Music event type stroke-finger-event is in music objects of type StrokeFingerEvent.
Accepted by: Fingering_engraver.
Music event type sustain-event is in music objects of type SustainEvent.
Accepted by: Piano_pedal_engraver and Piano_pedal_performer.
Music event type text-script-event is in music objects of type TextScriptEvent.
Accepted by: Text_engraver.
Music event type text-span-event is in music objects of type TextSpanEvent.
Accepted by: Text_spanner_engraver.
Music event type tie-event is in music objects of type TieEvent.
Accepted by: Tie_engraver and Tie_performer.
Music event type tremolo-event is in music objects of type TremoloEvent.
Accepted by: Stem_engraver.
Music event type tremolo-span-event is in music objects of type TremoloSpanEvent.
Accepted by: Chord_tremolo_engraver.
Music event type trill-span-event is in music objects of type TrillSpanEvent.
Accepted by: Trill_spanner_engraver.
Music event type tuplet-span-event is in music objects of type TupletSpanEvent.
Accepted by: Tuplet_engraver.
Music event type una-corda-event is in music objects of type UnaCordaEvent.
Accepted by: Piano_pedal_engraver and Piano_pedal_performer.
Music event type unisono-event is in music objects of type UnisonoEvent.
Not accepted by any engraver or performer.
X-offset (number)Y-offset (number)absolute-octave (integer)alteration (number)articulation-type (string)TODO: Consider making type into symbol.
articulations (list of music)associated-context (string)\newaddlyrics section.
augmented (boolean)+ sign).
augmented-slash (boolean)bass (boolean)bracket-start (boolean)TODO: Use SpanEvents?
bracket-stop (boolean)break-penalty (number)break-permission (symbol)cautionary (boolean)change-to-id (string)change-to-type (symbol)compress-procedure (procedure)context-id (string)context-type (symbol)create-new (boolean)delta-step (number)denominator (integer)descend-only (boolean)\context only descends
in the context tree.
digit (integer)diminished (boolean)direction (direction)drum-type (symbol)duration (duration)element (music)elements (list of music)elements-callback (procedure)error-found (boolean)expected-beam-count (integer)figure (integer)force-accidental (boolean)grob-property (symbol)grob-property-path (list)(beamed-lengths details).
grob-value (any type)input-tag (any type)inversion (boolean)iterator-ctor (procedure)music-event-iterator object for this music.
label (markup)last-pitch (pitch)length (moment)length-callback (procedure)line-break-permission (symbol)metronome-count (number)name (symbol)no-continuation (boolean)numerator (integer)octavation (integer)once (boolean)origin (input location)page-break-permission (symbol)page-label (symbol)page-marker (boolean)page-turn-permission (symbol)parenthesize (boolean)part-combine-status (symbol)solo1, solo2 and unisono.
pitch (pitch)pitch-alist (list)pop-first (boolean)prob-property (symbol)procedure (procedure)\applycontext.
It must take a single argument, being the context.
property-operations (list)quoted-context-id (string)cue.
quoted-context-type (symbol)Voice.
quoted-events (vector)moment and
event-list entries.
quoted-music-name (string)quoted-transposition (pitch)\transposition.
quoted-voice-direction (direction)repeat-count (integer)\repeat how often?
span-direction (direction)span-type (string)TODO: Consider making type into symbol.
split-list (list)start-callback (procedure)string-number (integer)StringNumberEvent.
symbol (symbol)tags (list)\tag #'part ... could tag a piece of music as only being active
in a part.
tempo-unit (duration)text (markup)text-type (symbol)to-relative-callback (procedure)tonic (pitch)tremolo-type (integer)c4:16.
trill-pitch (pitch)tweaks (list)type (symbol)types (list)untransposable (boolean)value (any type)void (boolean)#t, then the
music expression is to be discarded by the toplevel music handler.
what (symbol)FIXME: Naming.
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:
shortVocalName to '().
vocalName to '().
systemStartDelimiter to 'SystemStartBracket.
Context ChoirStaff can contain Staff, InnerStaffGroup, InnerChoirStaff, ChordNames, Lyrics, PianoStaff, GrandStaff, RhythmicStaff and DrumStaff.
This context is built from the following engraver(s):
System_start_delimiter_engraver- Create 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.
Typesets chord names.
This context creates the following layout object(s):
ChordName, StaffSpacing and VerticalAxisGroup.
This context sets the following properties:
remove-empty in VerticalAxisGroup to #t.
remove-first in VerticalAxisGroup to #t.
minimum-Y-extent in 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_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):
Skip_event_swallow_translator- Swallow
\skip.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):
Separating_line_group_engraver- Generate objects for computing spacing parameters.
Properties (read)
Properties (write)
createSpacing(boolean)- Create
StaffSpacingobjects? Should be set for staves.
hasStaffSpacing(boolean)- True if the current
CommandColumncontains items that will affect spacing.This engraver creates the following layout object(s):
Output_property_engraver- Apply a procedure to any grob acknowledged.
Music types accepted:
Rest_swallow_translator- Swallow rest.
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:
length-fraction in Beam to 0.629960524947437.
length-fraction in Stem to 0.629960524947437.
fontSize to -4.
localKeySignature to '().
This context is a `bottom' context; it cannot contain other contexts.
This context is built from the following engraver(s):
Skip_event_swallow_translator- Swallow
\skip.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):
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.Tuplet_engraver- Catch 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_engraver- Generate ties between note heads of equal pitch.
Music types accepted:
Properties (read)
Properties (write)
tieWaitForNote(boolean)- If true, tied notes do not have to follow each other directly. This can be used for writing out arpeggios.
tieMelismaBusy(boolean)- Signal whether a tie is present.
This engraver creates the following layout object(s):
Slur_engraver- Build 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_engraver- Engrave a cluster using
Spannernotation.Music types accepted:
This engraver creates the following layout object(s):
Phrasing_slur_engraver- Print phrasing slurs. Similar to Slur_engraver.
Music types accepted:
This engraver creates the following layout object(s):
Spanner_break_forbid_engraver- Forbid breaks in certain spanners.
Note_spacing_engraver- Generate
NoteSpacing, an object linking horizontal lines for use in spacing.This engraver creates the following layout object(s):
Rhythmic_column_engraver- Generate
NoteColumn, an object that groups stems, note heads, and rests.This engraver creates the following layout object(s):
Script_column_engraver- Find potentially colliding scripts and put them into a
ScriptColumnobject; that will fix the collisions.This engraver creates the following layout object(s):
Script_engraver- Handle 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_engraver- Create fall spanners.
Music types accepted:
This engraver creates the following layout object(s):
Fingering_engraver- Create fingering scripts.
Music types accepted:
stroke-finger-event and fingering-event
This engraver creates the following layout object(s):
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):
New_dynamic_engraver- Create 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)
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):
Text_engraver- Create text scripts.
Music types accepted:
This engraver creates the following layout object(s):
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):
Slash_repeat_engraver- Make 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_engraver- Make whole bar and double bar repeats.
Music types accepted:
Properties (read)
Properties (write)
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.
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_engraver- Generate beams for tremolo repeats.
Music types accepted:
This engraver creates the following layout object(s):
Beam.
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.
Auto_beam_engraver- Generate 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_engraver- Handle
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_engraver- Handle
Beamevents by engraving beams. If omitted, then notes are printed with flags instead of beams.Music types accepted:
Properties (read)
Properties (write)
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.
forbidBreak(boolean)- If set to
##t, prevent a line break at this point.This engraver creates the following layout object(s):
Beam.
Stem_engraver- Create 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_engraver- Read the
tweaksproperty from the originating event, and set properties.Rest_engraver- Engrave 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_engraver- Create Dots objects for rhythmic-head-interfaces.
This engraver creates the following layout object(s):
Dots.
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):
Breathing_sign_engraver- Create a breathing sign.
Music types accepted:
This engraver creates the following layout object(s):
Ligature_bracket_engraver- Handle
Ligature_eventsby engravingLigaturebrackets.Music types accepted:
This engraver creates the following layout object(s):
Glissando_engraver- Engrave glissandi.
Music types accepted:
This engraver creates the following layout object(s):
Note_head_line_engraver- Engrave 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_engraver- Create repeat ties.
Music types accepted:
This engraver creates the following layout object(s):
RepeatTie and RepeatTieColumn.
Laissez_vibrer_engraver- Create laissez vibrer items.
Music types accepted:
This engraver creates the following layout object(s):
Forbid_line_break_engraver- Forbid line breaks when note heads are still playing at some point.
Properties (read)
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.).
forbidBreak(boolean)- If set to
##t, prevent a line break at this point.Grob_pq_engraver- Administrate when certain grobs (e.g., note heads) stop playing.
Properties (read)
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.).
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_engraver- Create trill spanner from an event.
Music types accepted:
This engraver creates the following layout object(s):
Text_spanner_engraver- Create text spanner from an event.
Music types accepted:
This engraver creates the following layout object(s):
Multi_measure_rest_engraver- Engrave 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_engraver- Generate an Arpeggio symbol.
Music types accepted:
This engraver creates the following layout object(s):
Output_property_engraver- Apply a procedure to any grob acknowledged.
Music types accepted:
Pitched_trill_engraver- Print the bracketed note head after a note head with trill.
This engraver creates the following layout object(s):
Font_size_engraver- Put
fontSizeintofont-sizegrob property.Properties (read)
fontSize(number)- The relative size of all grobs in a context.
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_engraver- This engraver swallows everything given to it silently. The purpose of this is to prevent spurious ‘event junked’ warnings.
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:
staff-padding in Script to 0.75.
clefPosition to 0.
clefGlyph to clefs.percussion.
shortInstrumentName to '().
instrumentName to '().
minimum-Y-extent in VerticalAxisGroup to '(-4 . 4).
ignoreFiguredBassRest to #t.
createSpacing to #t.
localKeySignature to '().
Context DrumStaff can contain DrumVoice and CueVoice.
This context is built from the following engraver(s):
Script_row_engraver- Determine order in horizontal side position elements.
This engraver creates the following layout object(s):
Figured_bass_position_engraver- Position figured bass alignments over notes.
This engraver creates the following layout object(s):
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.
Axis_group_engraver- Group 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_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):
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.
Rest_collision_engraver- Handle collisions of rests.
This engraver creates the following layout object(s):
Collision_engraver- Collect
NoteColumns, and as soon as there are two or more, put them in aNoteCollisionobject.This engraver creates the following layout object(s):
Staff_symbol_engraver- Create the constellation of five (default) staff lines.
Music types accepted:
This engraver creates the following layout object(s):
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):
Time_signature_engraver- Create 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_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.
Staff_collecting_engraver- Maintain the
stavesFoundvariable.Properties (read)
Properties (write)
stavesFound(list of grobs)- A list of all staff-symbols found.
stavesFound(list of grobs)- A list of all staff-symbols found.
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):
Separating_line_group_engraver- Generate objects for computing spacing parameters.
Properties (read)
Properties (write)
createSpacing(boolean)- Create
StaffSpacingobjects? Should be set for staves.
hasStaffSpacing(boolean)- True if the current
CommandColumncontains items that will affect spacing.This engraver creates the following layout object(s):
Font_size_engraver- Put
fontSizeintofont-sizegrob property.Properties (read)
fontSize(number)- The relative size of all grobs in a context.
Bar_engraver- Create 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)
Properties (write)
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.
forbidBreak(boolean)- If set to
##t, prevent a line break at this point.This engraver creates the following layout object(s):
Output_property_engraver- Apply a procedure to any grob acknowledged.
Music types accepted:
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:
localKeySignature to '().
This context is a `bottom' context; it cannot contain other contexts.
This context is built from the following engraver(s):
Skip_event_swallow_translator- Swallow
\skip.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):
Grob_pq_engraver- Administrate when certain grobs (e.g., note heads) stop playing.
Properties (read)
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.).
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_translator- Swallow
\skip.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):
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.Tuplet_engraver- Catch 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_engraver- Generate ties between note heads of equal pitch.
Music types accepted:
Properties (read)
Properties (write)
tieWaitForNote(boolean)- If true, tied notes do not have to follow each other directly. This can be used for writing out arpeggios.
tieMelismaBusy(boolean)- Signal whether a tie is present.
This engraver creates the following layout object(s):
Slur_engraver- Build 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_engraver- Print phrasing slurs. Similar to Slur_engraver.
Music types accepted:
This engraver creates the following layout object(s):
Spanner_break_forbid_engraver- Forbid breaks in certain spanners.
Note_spacing_engraver- Generate
NoteSpacing, an object linking horizontal lines for use in spacing.This engraver creates the following layout object(s):
Rhythmic_column_engraver- Generate
NoteColumn, an object that groups stems, note heads, and rests.This engraver creates the following layout object(s):
Script_column_engraver- Find potentially colliding scripts and put them into a
ScriptColumnobject; that will fix the collisions.This engraver creates the following layout object(s):
Script_engraver- Handle 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_engraver- Create fall spanners.
Music types accepted:
This engraver creates the following layout object(s):
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):
New_dynamic_engraver- Create 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)
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):
Text_engraver- Create text scripts.
Music types accepted:
This engraver creates the following layout object(s):
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):
Slash_repeat_engraver- Make 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_engraver- Make whole bar and double bar repeats.
Music types accepted:
Properties (read)
Properties (write)
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.
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_engraver- Generate beams for tremolo repeats.
Music types accepted:
This engraver creates the following layout object(s):
Beam.
Auto_beam_engraver- Generate 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_engraver- Handle
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_engraver- Handle
Beamevents by engraving beams. If omitted, then notes are printed with flags instead of beams.Music types accepted:
Properties (read)
Properties (write)
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.
forbidBreak(boolean)- If set to
##t, prevent a line break at this point.This engraver creates the following layout object(s):
Beam.
Stem_engraver- Create 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_engraver- Read the
tweaksproperty from the originating event, and set properties.Rest_engraver- Engrave 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_engraver- Create Dots objects for rhythmic-head-interfaces.
This engraver creates the following layout object(s):
Dots.
Breathing_sign_engraver- Create a breathing sign.
Music types accepted:
This engraver creates the following layout object(s):
Repeat_tie_engraver- Create repeat ties.
Music types accepted:
This engraver creates the following layout object(s):
RepeatTie and RepeatTieColumn.
Laissez_vibrer_engraver- Create laissez vibrer items.
Music types accepted:
This engraver creates the following layout object(s):
Forbid_line_break_engraver- Forbid line breaks when note heads are still playing at some point.
Properties (read)
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.).
forbidBreak(boolean)- If set to
##t, prevent a line break at this point.Grob_pq_engraver- Administrate when certain grobs (e.g., note heads) stop playing.
Properties (read)
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.).
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_engraver- Create trill spanner from an event.
Music types accepted:
This engraver creates the following layout object(s):
Text_spanner_engraver- Create text spanner from an event.
Music types accepted:
This engraver creates the following layout object(s):
Multi_measure_rest_engraver- Engrave 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_engraver- Apply a procedure to any grob acknowledged.
Music types accepted:
Pitched_trill_engraver- Print the bracketed note head after a note head with trill.
This engraver creates the following layout object(s):
Font_size_engraver- Put
fontSizeintofont-sizegrob property.Properties (read)
fontSize(number)- The relative size of all grobs in a context.
(not documented)
This context creates the following layout object(s):
BassFigureAlignment, BassFigureBracket, BassFigureContinuation, BassFigureLine, BassFigure, StaffSpacing and VerticalAxisGroup.
This context sets the following properties:
minimum-Y-extent in VerticalAxisGroup to '(0 . 2).
remove-first in VerticalAxisGroup to #t.
remove-empty in 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_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):
Separating_line_group_engraver- Generate objects for computing spacing parameters.
Properties (read)
Properties (write)
createSpacing(boolean)- Create
StaffSpacingobjects? Should be set for staves.
hasStaffSpacing(boolean)- True if the current
CommandColumncontains items that will affect spacing.This engraver creates the following layout object(s):
Skip_event_swallow_translator- Swallow
\skip.Note_swallow_translator- Swallow notes.
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.
(not documented)
This context creates the following layout object(s):
FretBoard, InstrumentName, StaffSpacing and VerticalAxisGroup.
This context sets the following properties:
predefinedDiagramTable to #<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_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):
Font_size_engraver- Put
fontSizeintofont-sizegrob property.Properties (read)
fontSize(number)- The relative size of all grobs in a context.
Separating_line_group_engraver- Generate objects for computing spacing parameters.
Properties (read)
Properties (write)
createSpacing(boolean)- Create
StaffSpacingobjects? Should be set for staves.
hasStaffSpacing(boolean)- True if the current
CommandColumncontains items that will affect spacing.This engraver creates the following layout object(s):
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):
Axis_group_engraver- Group 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_engraver- Apply a procedure to any grob acknowledged.
Music types accepted:
Hard coded entry point for LilyPond. Cannot be tuned.
This context creates the following layout object(s):
none.
Context Global can contain Score.
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:
systemStartDelimiter to 'SystemStartBrace.
localKeySignature to '().
Context GrandStaff can contain Staff and FiguredBass.
This context is built from the following engraver(s):
System_start_delimiter_engraver- Create 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_engraver- Make 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_engraver- Make 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):
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, 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:
transparent in BarLine to #t.
shortInstrumentName to '().
instrumentName to '().
minimum-Y-extent in VerticalAxisGroup to '(-4 . 4).
ignoreFiguredBassRest to #t.
createSpacing to #t.
localKeySignature to '().
Context GregorianTranscriptionStaff can contain GregorianTranscriptionVoice and CueVoice.
This context is built from the following engraver(s):
Script_row_engraver- Determine order in horizontal side position elements.
This engraver creates the following layout object(s):
Figured_bass_position_engraver- Position figured bass alignments over notes.
This engraver creates the following layout object(s):
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.
Axis_group_engraver- Group 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_engraver- Swallow 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_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):
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_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.
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
Voicelevel, so you can\overridethem atVoice.Properties (read)
Properties (write)
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:
context- The current context to which the rule should be applied.
pitch- The pitch of the note to be evaluated.
barnum- The current bar number.
measurepos- The 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.
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):
Rest_collision_engraver- Handle collisions of rests.
This engraver creates the following layout object(s):
Collision_engraver- Collect
NoteColumns, and as soon as there are two or more, put them in aNoteCollisionobject.This engraver creates the following layout object(s):
Staff_symbol_engraver- Create the constellation of five (default) staff lines.
Music types accepted:
This engraver creates the following layout object(s):
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):
Time_signature_engraver- Create 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_engraver- Engrave a key signature.
Music types accepted:
Properties (read)
Properties (write)
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.
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_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.
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):
Staff_collecting_engraver- Maintain the
stavesFoundvariable.Properties (read)
Properties (write)
stavesFound(list of grobs)- A list of all staff-symbols found.
stavesFound(list of grobs)- A list of all staff-symbols found.
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):
Separating_line_group_engraver- Generate objects for computing spacing parameters.
Properties (read)
Properties (write)
createSpacing(boolean)- Create
StaffSpacingobjects? Should be set for staves.
hasStaffSpacing(boolean)- True if the current
CommandColumncontains items that will affect spacing.This engraver creates the following layout object(s):
Font_size_engraver- Put
fontSizeintofont-sizegrob property.Properties (read)
fontSize(number)- The relative size of all grobs in a context.
Bar_engraver- Create 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)
Properties (write)
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.
forbidBreak(boolean)- If set to
##t, prevent a line break at this point.This engraver creates the following layout object(s):
Output_property_engraver- Apply a procedure to any grob acknowledged.
Music types accepted:
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:
padding in TextSpanner to -0.1.
style in TextSpanner to 'line.
dash-fraction in TextSpanner to '().
autoBeaming to #f.
padding in Script to 0.5.
transparent in LigatureBracket to #t.
localKeySignature to '().
This context is a `bottom' context; it cannot contain other contexts.
This context is built from the following engraver(s):
Skip_event_swallow_translator- Swallow
\skip.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):
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.Tuplet_engraver- Catch 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_engraver- Generate ties between note heads of equal pitch.
Music types accepted:
Properties (read)
Properties (write)
tieWaitForNote(boolean)- If true, tied notes do not have to follow each other directly. This can be used for writing out arpeggios.
tieMelismaBusy(boolean)- Signal whether a tie is present.
This engraver creates the following layout object(s):
Slur_engraver- Build 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_engraver- Engrave a cluster using
Spannernotation.Music types accepted:
This engraver creates the following layout object(s):
Phrasing_slur_engraver- Print phrasing slurs. Similar to Slur_engraver.
Music types accepted:
This engraver creates the following layout object(s):
Spanner_break_forbid_engraver- Forbid breaks in certain spanners.
Note_spacing_engraver- Generate
NoteSpacing, an object linking horizontal lines for use in spacing.This engraver creates the following layout object(s):
Rhythmic_column_engraver- Generate
NoteColumn, an object that groups stems, note heads, and rests.This engraver creates the following layout object(s):
Script_column_engraver- Find potentially colliding scripts and put them into a
ScriptColumnobject; that will fix the collisions.This engraver creates the following layout object(s):
Script_engraver- Handle 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_engraver- Create fall spanners.
Music types accepted:
This engraver creates the following layout object(s):
Fingering_engraver- Create fingering scripts.
Music types accepted:
stroke-finger-event and fingering-event
This engraver creates the following layout object(s):
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):
New_dynamic_engraver- Create 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)
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):
Text_engraver- Create text scripts.
Music types accepted:
This engraver creates the following layout object(s):
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):
Slash_repeat_engraver- Make 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_engraver- Make whole bar and double bar repeats.
Music types accepted:
Properties (read)
Properties (write)
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.
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_engraver- Generate beams for tremolo repeats.
Music types accepted:
This engraver creates the following layout object(s):
Beam.
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.
Auto_beam_engraver- Generate 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_engraver- Handle
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_engraver- Handle
Beamevents by engraving beams. If omitted, then notes are printed with flags instead of beams.Music types accepted:
Properties (read)
Properties (write)
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.
forbidBreak(boolean)- If set to
##t, prevent a line break at this point.This engraver creates the following layout object(s):
Beam.
Stem_engraver- Create 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_engraver- Read the
tweaksproperty from the originating event, and set properties.Rest_engraver- Engrave 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_engraver- Create Dots objects for rhythmic-head-interfaces.
This engraver creates the following layout object(s):
Dots.
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):
Breathing_sign_engraver- Create a breathing sign.
Music types accepted:
This engraver creates the following layout object(s):
Ligature_bracket_engraver- Handle
Ligature_eventsby engravingLigaturebrackets.Music types accepted:
This engraver creates the following layout object(s):
Glissando_engraver- Engrave glissandi.
Music types accepted:
This engraver creates the following layout object(s):
Note_head_line_engraver- Engrave 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_engraver- Create repeat ties.
Music types accepted:
This engraver creates the following layout object(s):
RepeatTie and RepeatTieColumn.
Laissez_vibrer_engraver- Create laissez vibrer items.
Music types accepted:
This engraver creates the following layout object(s):
Forbid_line_break_engraver- Forbid line breaks when note heads are still playing at some point.
Properties (read)
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.).
forbidBreak(boolean)- If set to
##t, prevent a line break at this point.Grob_pq_engraver- Administrate when certain grobs (e.g., note heads) stop playing.
Properties (read)
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.).
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_engraver- Create trill spanner from an event.
Music types accepted:
This engraver creates the following layout object(s):
Text_spanner_engraver- Create text spanner from an event.
Music types accepted:
This engraver creates the following layout object(s):
Multi_measure_rest_engraver- Engrave 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_engraver- Generate an Arpeggio symbol.
Music types accepted:
This engraver creates the following layout object(s):
Output_property_engraver- Apply a procedure to any grob acknowledged.
Music types accepted:
Pitched_trill_engraver- Print the bracketed note head after a note head with trill.
This engraver creates the following layout object(s):
Font_size_engraver- Put
fontSizeintofont-sizegrob property.Properties (read)
fontSize(number)- The relative size of all grobs in a context.
(not documented)
This context creates the following layout object(s):
SystemStartBar, SystemStartBrace, SystemStartBracket and SystemStartSquare.
This context sets the following properties:
shortVocalName to '().
vocalName to '().
systemStartDelimiter to 'SystemStartBracket.
Context InnerChoirStaff can contain Staff, ChordNames, Lyrics, PianoStaff, GrandStaff, RhythmicStaff and DrumStaff.
This context is built from the following engraver(s):
System_start_delimiter_engraver- Create 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.
(not documented)
This context creates the following layout object(s):
Arpeggio, SpanBar, SystemStartBar, SystemStartBrace, SystemStartBracket and SystemStartSquare.
This context sets the following properties:
systemStartDelimiter to 'SystemStartBracket.
Context InnerStaffGroup can contain Staff, ChordNames, Lyrics, TabStaff, PianoStaff, GrandStaff, DrumStaff and RhythmicStaff.
This context is built from the following engraver(s):
System_start_delimiter_engraver- Create 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_engraver- Apply a procedure to any grob acknowledged.
Music types accepted:
Span_arpeggio_engraver- Make 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_engraver- Make 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):
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:
bar-size in BarLine to 0.1.
font-size in InstrumentName to 1.0.
self-alignment-Y in InstrumentName to #f.
padding in SeparationItem to 0.2.
keep-fixed-while-stretching in VerticalAxisGroup to #t.
remove-empty in VerticalAxisGroup to #t.
remove-first in VerticalAxisGroup to #t.
shortInstrumentName to '().
instrumentName to '().
minimum-Y-extent in 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_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):
Font_size_engraver- Put
fontSizeintofont-sizegrob property.Properties (read)
fontSize(number)- The relative size of all grobs in a context.
Skip_event_swallow_translator- Swallow
\skip.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):
Stanza_number_engraver- Engrave 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_engraver- Create lyric hyphens and distance constraints between words.
Music types accepted:
This engraver creates the following layout object(s):
LyricHyphen and LyricSpace.
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):
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):
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, 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:
printKeyCancellation to #f.
autoCautionaries to '().
autoAccidentals to '(Staff #<procedure #f (context pitch barnum measurepos)>).
extraNatural to #f.
neutral-direction in Custos to -1.
neutral-position in Custos to 3.
style in Custos to 'mensural.
glyph-name-alist in Accidental to '((-1/2 . accidentals.mensuralM1) (0 . accidentals.vaticana0) (1/2 . accidentals.mensural1)).
style in KeySignature to 'mensural.
style in TimeSignature to 'mensural.
clefOctavation to 0.
clefPosition to -2.
middleCPosition to -6.
middleCClefPosition to -6.
clefGlyph to clefs.petrucci.g.
thickness in StaffSymbol to 0.6.
transparent in BarLine to #t.
shortInstrumentName to '().
instrumentName to '().
minimum-Y-extent in VerticalAxisGroup to '(-4 . 4).
ignoreFiguredBassRest to #t.
createSpacing to #t.
localKeySignature to '().
Context MensuralStaff can contain MensuralVoice and CueVoice.
This context is built from the following engraver(s):
Custos_engraver- Engrave custodes.
This engraver creates the following layout object(s):
Script_row_engraver- Determine order in horizontal side position elements.
This engraver creates the following layout object(s):
Figured_bass_position_engraver- Position figured bass alignments over notes.
This engraver creates the following layout object(s):
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.
Axis_group_engraver- Group 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_engraver- Swallow 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_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):
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_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.
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
Voicelevel, so you can\overridethem atVoice.Properties (read)
Properties (write)
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:
context- The current context to which the rule should be applied.
pitch- The pitch of the note to be evaluated.
barnum- The current bar number.
measurepos- The 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.
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):
Rest_collision_engraver- Handle collisions of rests.
This engraver creates the following layout object(s):
Collision_engraver- Collect
NoteColumns, and as soon as there are two or more, put them in aNoteCollisionobject.This engraver creates the following layout object(s):
Staff_symbol_engraver- Create the constellation of five (default) staff lines.
Music types accepted:
This engraver creates the following layout object(s):
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):
Time_signature_engraver- Create 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_engraver- Engrave a key signature.
Music types accepted:
Properties (read)
Properties (write)
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.
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_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.
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):
Staff_collecting_engraver- Maintain the
stavesFoundvariable.Properties (read)
Properties (write)
stavesFound(list of grobs)- A list of all staff-symbols found.
stavesFound(list of grobs)- A list of all staff-symbols found.
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):
Separating_line_group_engraver- Generate objects for computing spacing parameters.
Properties (read)
Properties (write)
createSpacing(boolean)- Create
StaffSpacingobjects? Should be set for staves.
hasStaffSpacing(boolean)- True if the current
CommandColumncontains items that will affect spacing.This engraver creates the following layout object(s):
Font_size_engraver- Put
fontSizeintofont-sizegrob property.Properties (read)
fontSize(number)- The relative size of all grobs in a context.
Bar_engraver- Create 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)
Properties (write)
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.
forbidBreak(boolean)- If set to
##t, prevent a line break at this point.This engraver creates the following layout object(s):
Output_property_engraver- Apply a procedure to any grob acknowledged.
Music types accepted:
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:
autoBeaming to #f.
style in NoteHead to 'petrucci.
localKeySignature to '().
This context is a `bottom' context; it cannot contain other contexts.
This context is built from the following engraver(s):
Mensural_ligature_engraver- Handle
Mensural_ligature_eventsby glueing special ligature heads together.Music types accepted:
This engraver creates the following layout object(s):
Skip_event_swallow_translator- Swallow
\skip.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):
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.Tuplet_engraver- Catch 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_engraver- Generate ties between note heads of equal pitch.
Music types accepted:
Properties (read)
Properties (write)
tieWaitForNote(boolean)- If true, tied notes do not have to follow each other directly. This can be used for writing out arpeggios.
tieMelismaBusy(boolean)- Signal whether a tie is present.
This engraver creates the following layout object(s):
Cluster_spanner_engraver- Engrave a cluster using
Spannernotation.Music types accepted:
This engraver creates the following layout object(s):
Phrasing_slur_engraver- Print phrasing slurs. Similar to Slur_engraver.
Music types accepted:
This engraver creates the following layout object(s):
Spanner_break_forbid_engraver- Forbid breaks in certain spanners.
Note_spacing_engraver- Generate
NoteSpacing, an object linking horizontal lines for use in spacing.This engraver creates the following layout object(s):
Rhythmic_column_engraver- Generate
NoteColumn, an object that groups stems, note heads, and rests.This engraver creates the following layout object(s):
Script_column_engraver- Find potentially colliding scripts and put them into a
ScriptColumnobject; that will fix the collisions.This engraver creates the following layout object(s):
Script_engraver- Handle 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_engraver- Create fall spanners.
Music types accepted:
This engraver creates the following layout object(s):
Fingering_engraver- Create fingering scripts.
Music types accepted:
stroke-finger-event and fingering-event
This engraver creates the following layout object(s):
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):
New_dynamic_engraver- Create 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)
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):
Text_engraver- Create text scripts.
Music types accepted:
This engraver creates the following layout object(s):
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):
Slash_repeat_engraver- Make 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_engraver- Make whole bar and double bar repeats.
Music types accepted:
Properties (read)
Properties (write)
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.
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_engraver- Generate beams for tremolo repeats.
Music types accepted:
This engraver creates the following layout object(s):
Beam.
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.
Auto_beam_engraver- Generate 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_engraver- Handle
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_engraver- Handle
Beamevents by engraving beams. If omitted, then notes are printed with flags instead of beams.Music types accepted:
Properties (read)
Properties (write)
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.
forbidBreak(boolean)- If set to
##t, prevent a line break at this point.This engraver creates the following layout object(s):
Beam.
Stem_engraver- Create 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_engraver- Read the
tweaksproperty from the originating event, and set properties.Rest_engraver- Engrave 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_engraver- Create Dots objects for rhythmic-head-interfaces.
This engraver creates the following layout object(s):
Dots.
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):
Breathing_sign_engraver- Create a breathing sign.
Music types accepted:
This engraver creates the following layout object(s):
Glissando_engraver- Engrave glissandi.
Music types accepted:
This engraver creates the following layout object(s):
Note_head_line_engraver- Engrave 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_engraver- Create repeat ties.
Music types accepted:
This engraver creates the following layout object(s):
RepeatTie and RepeatTieColumn.
Laissez_vibrer_engraver- Create laissez vibrer items.
Music types accepted:
This engraver creates the following layout object(s):
Forbid_line_break_engraver- Forbid line breaks when note heads are still playing at some point.
Properties (read)
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.).
forbidBreak(boolean)- If set to
##t, prevent a line break at this point.Grob_pq_engraver- Administrate when certain grobs (e.g., note heads) stop playing.
Properties (read)
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.).
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_engraver- Create trill spanner from an event.
Music types accepted:
This engraver creates the following layout object(s):
Text_spanner_engraver- Create text spanner from an event.
Music types accepted:
This engraver creates the following layout object(s):
Multi_measure_rest_engraver- Engrave 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_engraver- Generate an Arpeggio symbol.
Music types accepted:
This engraver creates the following layout object(s):
Output_property_engraver- Apply a procedure to any grob acknowledged.
Music types accepted:
Pitched_trill_engraver- Print the bracketed note head after a note head with trill.
This engraver creates the following layout object(s):
Font_size_engraver- Put
fontSizeintofont-sizegrob property.Properties (read)
fontSize(number)- The relative size of all grobs in a context.
(not documented)
This context creates the following layout object(s):
NoteName, StaffSpacing, TieColumn, Tie and VerticalAxisGroup.
This context sets the following properties:
minimum-Y-extent in 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_engraver- Generate objects for computing spacing parameters.
Properties (read)
Properties (write)
createSpacing(boolean)- Create
StaffSpacingobjects? Should be set for staves.
hasStaffSpacing(boolean)- True if the current
CommandColumncontains items that will affect spacing.This engraver creates the following layout object(s):
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):
Tie_engraver- Generate ties between note heads of equal pitch.
Music types accepted:
Properties (read)
Properties (write)
tieWaitForNote(boolean)- If true, tied notes do not have to follow each other directly. This can be used for writing out arpeggios.
tieMelismaBusy(boolean)- Signal whether a tie is present.
This engraver creates the following layout object(s):
Skip_event_swallow_translator- Swallow
\skip.Rest_swallow_translator- Swallow rest.
Axis_group_engraver- Group 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):
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:
shortInstrumentName to '().
instrumentName to '().
systemStartDelimiter to 'SystemStartBrace.
localKeySignature to '().
Context PianoStaff can contain Staff and FiguredBass.
This context is built from the following engraver(s):
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):
System_start_delimiter_engraver- Create 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_engraver- Make 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_engraver- Make 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):
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:
neutral-direction in Beam to 1.
neutral-direction in Stem to 1.
line-count in StaffSymbol to 1.
staff-padding in VoltaBracket to 3.
bar-size in BarLine to 4.
squashedPosition to 0.
createSpacing to #t.
localKeySignature to '().
minimum-Y-extent in VerticalAxisGroup to #f.
Context RhythmicStaff can contain Voice and CueVoice.
This context is built from the following engraver(s):
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):
Axis_group_engraver- Group 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_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):
Time_signature_engraver- Create 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_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.
Staff_symbol_engraver- Create the constellation of five (default) staff lines.
Music types accepted:
This engraver creates the following layout object(s):
Bar_engraver- Create 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)
Properties (write)
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.
forbidBreak(boolean)- If set to
##t, prevent a line break at this point.This engraver creates the following layout object(s):
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):
Separating_line_group_engraver- Generate objects for computing spacing parameters.
Properties (read)
Properties (write)
createSpacing(boolean)- Create
StaffSpacingobjects? Should be set for staves.
hasStaffSpacing(boolean)- True if the current
CommandColumncontains items that will affect spacing.This engraver creates the following layout object(s):
Font_size_engraver- Put
fontSizeintofont-sizegrob property.Properties (read)
fontSize(number)- The relative size of all grobs in a context.
Output_property_engraver- Apply a procedure to any grob acknowledged.
Music types accepted:
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:
timing to #t.
verticallySpacedContexts to '(Staff).
instrumentTransposition to #<Pitch c' >.
quotedEventTypes to '(note-event rest-event tie-event beam-event tuplet-span-event).
keepAliveInterfaces to '(rhythmic-grob-interface lyric-interface percent-repeat-item-interface percent-repeat-interface stanza-number-interface).
graceSettings to '((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)).
metronomeMarkFormatter to format-metronome-markup.
figuredBassFormatter to format-bass-figure.
tablatureFormat to fret-number-tablature-format.
stringTunings to '(4 -1 -5 -10 -15 -20).
highStringOne to #t.
stringOneTopmost to #t.
bassStaffProperties to '((assign clefGlyph clefs.F) (assign clefPosition 2) (assign middleCPosition 6) (assign middleCClefPosition 6)).
chordNameExceptionsPartial to '(((#<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))))).
chordNameExceptionsFull to '(((#<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))))).
chordPrefixSpacer to 0.
chordRootNamer to note-name->markup.
chordNoteNamer to '().
chordNameExceptions to '(((#<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)))).
chordNameSeparator to '(#<procedure simple-markup (layout props str)> /).
majorSevenSymbol to '(#<procedure line-markup (layout props args)> ((#<procedure triangle-markup (layout props filled)> #f))).
chordNameFunction to ignatzek-chord-names.
barCheckSynchronize to #f.
keyAlterationOrder to '((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)).
printKeyCancellation to #t.
autoCautionaries to '().
autoAccidentals to '(Staff #<procedure #f (context pitch barnum measurepos)>).
extraNatural to #t.
allowBeamBreak to #f.
subdivideBeams to #f.
rehearsalMark to 1.
markFormatter to format-mark-letters.
lyricMelismaAlignment to -1.
strokeFingerOrientations to '(right).
stringNumberOrientations to '(up down).
fingeringOrientations to '(up down).
harmonicAccidentals to #t.
pedalSostenutoStyle to 'mixed.
pedalSostenutoStrings to '(Sost. Ped. *Sost. Ped. *).
pedalUnaCordaStyle to 'text.
pedalUnaCordaStrings to '(una corda tre corde).
pedalSustainStyle to 'text.
pedalSustainStrings to '(Ped. *Ped. *).
scriptDefinitions to '((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) (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))).
autoBeamCheck to default-auto-beam-check.
autoBeaming to #t.
autoBeamSettings to '(((end * * 3 2) . #<Mom 1/2>) ((end * * 3 2) . #<Mom 1>) ((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 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 9/8>) ((end 1 32 3 2) . #<Mom 5/4>) ((end 1 32 3 2) . #<Mom 11/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 * * 3 8) . #<Mom 3/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 * * 2 4) . #f) ((end * * 2 4) . #<Mom 1/4>) ((end 1 32 2 4) . #<Mom 1/8>) ((end 1 32 2 4) . #<Mom 3/8>) ((end * * 4 8) . #f) ((end * * 4 8) . #<Mom 1/4>) ((end 1 32 4 8) . #<Mom 1/8>) ((end 1 32 4 8) . #<Mom 3/8>) ((end * * 4 16) . #f) ((end * * 4 16) . #<Mom 1/8>) ((end * * 6 8) . #f) ((end * * 6 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 1/2>) ((end 1 32 6 8) . #<Mom 5/8>) ((end * * 9 8) . #f) ((end * * 9 8) . #<Mom 3/8>) ((end * * 9 8) . #<Mom 3/4>) ((end 1 32 9 8) . #<Mom 1/8>) ((end 1 32 9 8) . #<Mom 1/4>) ((end 1 32 9 8) . #<Mom 1/2>) ((end 1 32 9 8) . #<Mom 5/8>) ((end 1 32 9 8) . #<Mom 7/8>) ((end 1 32 9 8) . #<Mom 1>) ((end 1 32 9 8) . #<Mom 9/8>) ((end * * 12 8) . #f) ((end * * 12 8) . #<Mom 3/8>) ((end * * 12 8) . #<Mom 3/4>) ((end * * 12 8) . #<Mom 9/8>) ((end * * 12 8) . #<Mom 2>) ((end 1 32 12 8) . #<Mom 1/8>)).
implicitTimeSignatureVisibility to #(#f #t #t).
explicitKeySignatureVisibility to #(#t #t #t).
explicitClefVisibility to #(#t #t #t).
automaticBars to #t.
barNumberVisibility to first-bar-number-invisible.
defaultBarType to |.
decrescendoSpanner to 'hairpin.
crescendoSpanner to 'hairpin.
firstClef to #t.
middleCPosition to -6.
middleCClefPosition to -6.
clefPosition to -2.
clefGlyph to clefs.G.
tieWaitForNote to #f.
melismaBusyProperties to '(melismaBusy slurMelismaBusy tieMelismaBusy beamMelismaBusy completionBusy).
drumStyleTable to #<hash-table 29/61>.
systemStartDelimiter to 'SystemStartBar.
printPartCombineTexts to #t.
aDueText to a2.
soloIIText to Solo II.
soloText to Solo.
noteToFretFunction to determine-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_engraver- Parenthesize objects whose music cause has the
parenthesizeproperty.This engraver creates the following layout object(s):
Bar_number_engraver- A 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_engraver- This engraver ensures that stanza numbers are neatly aligned.
Vertical_align_engraver- Catch 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_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):
Spacing_engraver- Make 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_engraver- Align 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_engraver- Engrave 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_engraver- Make volta brackets.
Properties (read)
repeatCommands(list)- This property is a list of commands of the form
(list 'voltax), 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_engraver- Create
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_engraver- Create 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_engraver- Apply a procedure to any grob acknowledged.
Music types accepted:
Default_bar_line_engraver- This 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)
Properties (write)
automaticBars(boolean)- If set to true then bar lines will not be printed automatically; they must be explicitly created with a
\barcommand. Unlike the\cadenzakeyword, measures are still counted. Bar 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.
automaticBars(boolean)- If set to true then bar lines will not be printed automatically; they must be explicitly created with a
\barcommand. Unlike the\cadenzakeyword, measures are still counted. Bar generation will resume according to that count if this property is unset.Timing_translator- This 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)
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.
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.
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_engraver- Maintain the
stavesFoundvariable.Properties (read)
Properties (write)
stavesFound(list of grobs)- A list of all staff-symbols found.
stavesFound(list of grobs)- A list of all staff-symbols found.
Repeat_acknowledge_engraver- Acknowledge repeated music, and convert the contents of
repeatCommandsinto an appropriate setting forwhichBar.Properties (read)
repeatCommands(list)- This property is a list of commands of the form
(list 'voltax), 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)
Properties (write)
verticallySpacedContexts(list)- List of symbols, containing context names whose vertical axis groups should be taken into account for vertical spacing of systems.
verticallySpacedContexts(list)- List of symbols, containing context names whose vertical axis groups should be taken into account for vertical spacing of systems.
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_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)
Properties (write)
forbidBreak(boolean)- If set to
##t, prevent a line break at this point.
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):
Handles clefs, bar lines, keys, accidentals. It can contain
Voice contexts.
This context creates the following layout object(s):
AccidentalCautionary, 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:
shortInstrumentName to '().
instrumentName to '().
minimum-Y-extent in VerticalAxisGroup to '(-4 . 4).
ignoreFiguredBassRest to #t.
createSpacing to #t.
localKeySignature to '().
Context Staff can contain Voice and CueVoice.
This context is built from the following engraver(s):
Script_row_engraver- Determine order in horizontal side position elements.
This engraver creates the following layout object(s):
Figured_bass_position_engraver- Position figured bass alignments over notes.
This engraver creates the following layout object(s):
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.
Axis_group_engraver- Group 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_engraver- Swallow 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_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):
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_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.
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
Voicelevel, so you can\overridethem atVoice.Properties (read)
Properties (write)
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:
context- The current context to which the rule should be applied.
pitch- The pitch of the note to be evaluated.
barnum- The current bar number.
measurepos- The 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.
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):
Rest_collision_engraver- Handle collisions of rests.
This engraver creates the following layout object(s):
Collision_engraver- Collect
NoteColumns, and as soon as there are two or more, put them in aNoteCollisionobject.This engraver creates the following layout object(s):
Staff_symbol_engraver- Create the constellation of five (default) staff lines.
Music types accepted:
This engraver creates the following layout object(s):
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):
Time_signature_engraver- Create 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_engraver- Engrave a key signature.
Music types accepted:
Properties (read)
Properties (write)
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.
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_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.
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):
Staff_collecting_engraver- Maintain the
stavesFoundvariable.Properties (read)
Properties (write)
stavesFound(list of grobs)- A list of all staff-symbols found.
stavesFound(list of grobs)- A list of all staff-symbols found.
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):
Separating_line_group_engraver- Generate objects for computing spacing parameters.
Properties (read)
Properties (write)
createSpacing(boolean)- Create
StaffSpacingobjects? Should be set for staves.
hasStaffSpacing(boolean)- True if the current
CommandColumncontains items that will affect spacing.This engraver creates the following layout object(s):
Font_size_engraver- Put
fontSizeintofont-sizegrob property.Properties (read)
fontSize(number)- The relative size of all grobs in a context.
Bar_engraver- Create 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)
Properties (write)
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.
forbidBreak(boolean)- If set to
##t, prevent a line break at this point.This engraver creates the following layout object(s):
Output_property_engraver- Apply a procedure to any grob acknowledged.
Music types accepted:
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:
systemStartDelimiter to 'SystemStartBracket.
Context StaffGroup can contain Staff, FiguredBass, InnerStaffGroup, ChoirStaff, InnerChoirStaff, ChordNames, Lyrics, TabStaff, PianoStaff, GrandStaff, DrumStaff and RhythmicStaff.
This context is built from the following engraver(s):
System_start_delimiter_engraver- Create 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_engraver- Apply a procedure to any grob acknowledged.
Music types accepted:
Span_arpeggio_engraver- Make 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_engraver- Make 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):
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:
clefPosition to 0.
clefGlyph to clefs.tab.
avoid-note-head in Stem to #t.
staff-space in StaffSymbol to 1.5.
shortInstrumentName to '().
instrumentName to '().
minimum-Y-extent in VerticalAxisGroup to '(-4 . 4).
ignoreFiguredBassRest to #t.
createSpacing to #t.
localKeySignature to '().
Context TabStaff can contain TabVoice and CueVoice.
This context is built from the following engraver(s):
Tab_staff_symbol_engraver- Create 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_engraver- Determine order in horizontal side position elements.
This engraver creates the following layout object(s):
Figured_bass_position_engraver- Position figured bass alignments over notes.
This engraver creates the following layout object(s):
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.
Axis_group_engraver- Group 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_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):
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_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.
Rest_collision_engraver- Handle collisions of rests.
This engraver creates the following layout object(s):
Collision_engraver- Collect
NoteColumns, and as soon as there are two or more, put them in aNoteCollisionobject.This engraver creates the following layout object(s):
Staff_symbol_engraver- Create the constellation of five (default) staff lines.
Music types accepted:
This engraver creates the following layout object(s):
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):
Time_signature_engraver- Create 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_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.
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):
Staff_collecting_engraver- Maintain the
stavesFoundvariable.Properties (read)
Properties (write)
stavesFound(list of grobs)- A list of all staff-symbols found.
stavesFound(list of grobs)- A list of all staff-symbols found.
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):
Separating_line_group_engraver- Generate objects for computing spacing parameters.
Properties (read)
Properties (write)
createSpacing(boolean)- Create
StaffSpacingobjects? Should be set for staves.
hasStaffSpacing(boolean)- True if the current
CommandColumncontains items that will affect spacing.This engraver creates the following layout object(s):
Font_size_engraver- Put
fontSizeintofont-sizegrob property.Properties (read)
fontSize(number)- The relative size of all grobs in a context.
Bar_engraver- Create 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)
Properties (write)
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.
forbidBreak(boolean)- If set to
##t, prevent a line break at this point.This engraver creates the following layout object(s):
Output_property_engraver- Apply a procedure to any grob acknowledged.
Music types accepted:
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:
gap in Glissando to 0.2.
extra-dy in Glissando to 0.75.
bound-details left in Glissando to '((attach-dir . 1) (padding . 0.3)).
bound-details right in Glissando to '((attach-dir . -1) (padding . 0.3)).
extra-dy in Glissando to 0.75.
length-fraction in Beam to 0.62.
thickness in Beam to 0.32.
localKeySignature to '().
This context is a `bottom' context; it cannot contain other contexts.
This context is built from the following engraver(s):
Tab_harmonic_engraver- In a tablature, parenthesize objects whose music cause has the
parenthesizeproperty.This engraver creates the following layout object(s):
Tab_note_heads_engraver- Generate 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_translator- Swallow
\skip.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):
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.Tuplet_engraver- Catch 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_engraver- Generate ties between note heads of equal pitch.
Music types accepted:
Properties (read)
Properties (write)
tieWaitForNote(boolean)- If true, tied notes do not have to follow each other directly. This can be used for writing out arpeggios.
tieMelismaBusy(boolean)- Signal whether a tie is present.
This engraver creates the following layout object(s):
Slur_engraver- Build 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_engraver- Engrave a cluster using
Spannernotation.Music types accepted:
This engraver creates the following layout object(s):
Phrasing_slur_engraver- Print phrasing slurs. Similar to Slur_engraver.
Music types accepted:
This engraver creates the following layout object(s):
Spanner_break_forbid_engraver- Forbid breaks in certain spanners.
Note_spacing_engraver- Generate
NoteSpacing, an object linking horizontal lines for use in spacing.This engraver creates the following layout object(s):
Rhythmic_column_engraver- Generate
NoteColumn, an object that groups stems, note heads, and rests.This engraver creates the following layout object(s):
Script_column_engraver- Find potentially colliding scripts and put them into a
ScriptColumnobject; that will fix the collisions.This engraver creates the following layout object(s):
Script_engraver- Handle 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_engraver- Create fall spanners.
Music types accepted:
This engraver creates the following layout object(s):
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):
New_dynamic_engraver- Create 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)
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):
Text_engraver- Create text scripts.
Music types accepted:
This engraver creates the following layout object(s):
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):
Slash_repeat_engraver- Make 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_engraver- Make whole bar and double bar repeats.
Music types accepted:
Properties (read)
Properties (write)
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.
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_engraver- Generate beams for tremolo repeats.
Music types accepted:
This engraver creates the following layout object(s):
Beam.
Auto_beam_engraver- Generate 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_engraver- Handle
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_engraver- Handle
Beamevents by engraving beams. If omitted, then notes are printed with flags instead of beams.Music types accepted:
Properties (read)
Properties (write)
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.
forbidBreak(boolean)- If set to
##t, prevent a line break at this point.This engraver creates the following layout object(s):
Beam.
Stem_engraver- Create 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_engraver- Read the
tweaksproperty from the originating event, and set properties.Rest_engraver- Engrave 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_engraver- Create Dots objects for rhythmic-head-interfaces.
This engraver creates the following layout object(s):
Dots.
Breathing_sign_engraver- Create a breathing sign.
Music types accepted:
This engraver creates the following layout object(s):
Ligature_bracket_engraver- Handle
Ligature_eventsby engravingLigaturebrackets.Music types accepted:
This engraver creates the following layout object(s):
Glissando_engraver- Engrave glissandi.
Music types accepted:
This engraver creates the following layout object(s):
Note_head_line_engraver- Engrave 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_engraver- Create repeat ties.
Music types accepted:
This engraver creates the following layout object(s):
RepeatTie and RepeatTieColumn.
Laissez_vibrer_engraver- Create laissez vibrer items.
Music types accepted:
This engraver creates the following layout object(s):
Forbid_line_break_engraver- Forbid line breaks when note heads are still playing at some point.
Properties (read)
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.).
forbidBreak(boolean)- If set to
##t, prevent a line break at this point.Grob_pq_engraver- Administrate when certain grobs (e.g., note heads) stop playing.
Properties (read)
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.).
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_engraver- Create trill spanner from an event.
Music types accepted:
This engraver creates the following layout object(s):
Text_spanner_engraver- Create text spanner from an event.
Music types accepted:
This engraver creates the following layout object(s):
Multi_measure_rest_engraver- Engrave 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_engraver- Generate an Arpeggio symbol.
Music types accepted:
This engraver creates the following layout object(s):
Output_property_engraver- Apply a procedure to any grob acknowledged.
Music types accepted:
Pitched_trill_engraver- Print the bracketed note head after a note head with trill.
This engraver creates the following layout object(s):
Font_size_engraver- Put
fontSizeintofont-sizegrob property.Properties (read)
fontSize(number)- The relative size of all grobs in a context.
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, 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:
style in Dots to 'vaticana.
neutral-direction in Custos to -1.
neutral-position in Custos to 3.
style in Custos to 'vaticana.
glyph-name-alist in Accidental to '((-1/2 . accidentals.vaticanaM1) (0 . accidentals.vaticana0) (1/2 . accidentals.mensural1)).
style in KeySignature to 'vaticana.
clefOctavation to 0.
clefPosition to 1.
middleCClefPosition to 1.
middleCPosition to 1.
clefGlyph to clefs.vaticana.do.
thickness in StaffSymbol to 0.6.
line-count in StaffSymbol to 4.
transparent in BarLine to #t.
shortInstrumentName to '().
instrumentName to '().
minimum-Y-extent in VerticalAxisGroup to '(-4 . 4).
ignoreFiguredBassRest to #t.
createSpacing to #t.
localKeySignature to '().
Context VaticanaStaff can contain VaticanaVoice and CueVoice.
This context is built from the following engraver(s):
Custos_engraver- Engrave custodes.
This engraver creates the following layout object(s):
Script_row_engraver- Determine order in horizontal side position elements.
This engraver creates the following layout object(s):
Figured_bass_position_engraver- Position figured bass alignments over notes.
This engraver creates the following layout object(s):
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.
Axis_group_engraver- Group 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_engraver- Swallow 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_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):
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_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.
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
Voicelevel, so you can\overridethem atVoice.Properties (read)
Properties (write)
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:
context- The current context to which the rule should be applied.
pitch- The pitch of the note to be evaluated.
barnum- The current bar number.
measurepos- The 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.
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):
Rest_collision_engraver- Handle collisions of rests.
This engraver creates the following layout object(s):
Collision_engraver- Collect
NoteColumns, and as soon as there are two or more, put them in aNoteCollisionobject.This engraver creates the following layout object(s):
Staff_symbol_engraver- Create the constellation of five (default) staff lines.
Music types accepted:
This engraver creates the following layout object(s):
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):
Key_engraver- Engrave a key signature.
Music types accepted:
Properties (read)
Properties (write)
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.
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_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.
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):
Staff_collecting_engraver- Maintain the
stavesFoundvariable.Properties (read)
Properties (write)
stavesFound(list of grobs)- A list of all staff-symbols found.
stavesFound(list of grobs)- A list of all staff-symbols found.
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):
Separating_line_group_engraver- Generate objects for computing spacing parameters.
Properties (read)
Properties (write)
createSpacing(boolean)- Create
StaffSpacingobjects? Should be set for staves.
hasStaffSpacing(boolean)- True if the current
CommandColumncontains items that will affect spacing.This engraver creates the following layout object(s):
Font_size_engraver- Put
fontSizeintofont-sizegrob property.Properties (read)
fontSize(number)- The relative size of all grobs in a context.
Bar_engraver- Create 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)
Properties (write)
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.
forbidBreak(boolean)- If set to
##t, prevent a line break at this point.This engraver creates the following layout object(s):
Output_property_engraver- Apply a procedure to any grob acknowledged.
Music types accepted:
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:
padding in TextSpanner to -0.1.
style in TextSpanner to 'line.
autoBeaming to #f.
padding in Script to 0.5.
style in NoteHead to 'vaticana.punctum.
localKeySignature to '().
This context is a `bottom' context; it cannot contain other contexts.
This context is built from the following engraver(s):
Vaticana_ligature_engraver- Handle 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_translator- Swallow
\skip.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):
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.Tuplet_engraver- Catch 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_engraver- Generate ties between note heads of equal pitch.
Music types accepted:
Properties (read)
Properties (write)
tieWaitForNote(boolean)- If true, tied notes do not have to follow each other directly. This can be used for writing out arpeggios.
tieMelismaBusy(boolean)- Signal whether a tie is present.
This engraver creates the following layout object(s):
Cluster_spanner_engraver- Engrave a cluster using
Spannernotation.Music types accepted:
This engraver creates the following layout object(s):
Phrasing_slur_engraver- Print phrasing slurs. Similar to Slur_engraver.
Music types accepted:
This engraver creates the following layout object(s):
Spanner_break_forbid_engraver- Forbid breaks in certain spanners.
Note_spacing_engraver- Generate
NoteSpacing, an object linking horizontal lines for use in spacing.This engraver creates the following layout object(s):
Rhythmic_column_engraver- Generate
NoteColumn, an object that groups stems, note heads, and rests.This engraver creates the following layout object(s):
Script_column_engraver- Find potentially colliding scripts and put them into a
ScriptColumnobject; that will fix the collisions.This engraver creates the following layout object(s):
Script_engraver- Handle 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_engraver- Create fall spanners.
Music types accepted:
This engraver creates the following layout object(s):
Fingering_engraver- Create fingering scripts.
Music types accepted:
stroke-finger-event and fingering-event
This engraver creates the following layout object(s):
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):
New_dynamic_engraver- Create 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)
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):
Text_engraver- Create text scripts.
Music types accepted:
This engraver creates the following layout object(s):
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):
Slash_repeat_engraver- Make 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_engraver- Make whole bar and double bar repeats.
Music types accepted:
Properties (read)
Properties (write)
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.
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_engraver- Generate beams for tremolo repeats.
Music types accepted:
This engraver creates the following layout object(s):
Beam.
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.
Auto_beam_engraver- Generate 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_engraver- Handle
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_engraver- Handle
Beamevents by engraving beams. If omitted, then notes are printed with flags instead of beams.Music types accepted:
Properties (read)
Properties (write)
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.
forbidBreak(boolean)- If set to
##t, prevent a line break at this point.This engraver creates the following layout object(s):
Beam.
Tweak_engraver- Read the
tweaksproperty from the originating event, and set properties.Rest_engraver- Engrave 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_engraver- Create Dots objects for rhythmic-head-interfaces.
This engraver creates the following layout object(s):
Dots.
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):
Breathing_sign_engraver- Create a breathing sign.
Music types accepted:
This engraver creates the following layout object(s):
Glissando_engraver- Engrave glissandi.
Music types accepted:
This engraver creates the following layout object(s):
Note_head_line_engraver- Engrave 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_engraver- Create repeat ties.
Music types accepted:
This engraver creates the following layout object(s):
RepeatTie and RepeatTieColumn.
Laissez_vibrer_engraver- Create laissez vibrer items.
Music types accepted:
This engraver creates the following layout object(s):
Forbid_line_break_engraver- Forbid line breaks when note heads are still playing at some point.
Properties (read)
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.).
forbidBreak(boolean)- If set to
##t, prevent a line break at this point.Grob_pq_engraver- Administrate when certain grobs (e.g., note heads) stop playing.
Properties (read)
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.).
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_engraver- Create trill spanner from an event.
Music types accepted:
This engraver creates the following layout object(s):
Text_spanner_engraver- Create text spanner from an event.
Music types accepted:
This engraver creates the following layout object(s):
Multi_measure_rest_engraver- Engrave 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_engraver- Generate an Arpeggio symbol.
Music types accepted:
This engraver creates the following layout object(s):
Output_property_engraver- Apply a procedure to any grob acknowledged.
Music types accepted:
Pitched_trill_engraver- Print the bracketed note head after a note head with trill.
This engraver creates the following layout object(s):
Font_size_engraver- Put
fontSizeintofont-sizegrob property.Properties (read)
fontSize(number)- The relative size of all grobs in a context.
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:
localKeySignature to '().
This context is a `bottom' context; it cannot contain other contexts.
This context is built from the following engraver(s):
Skip_event_swallow_translator- Swallow
\skip.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):
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.Tuplet_engraver- Catch 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_engraver- Generate ties between note heads of equal pitch.
Music types accepted:
Properties (read)
Properties (write)
tieWaitForNote(boolean)- If true, tied notes do not have to follow each other directly. This can be used for writing out arpeggios.
tieMelismaBusy(boolean)- Signal whether a tie is present.
This engraver creates the following layout object(s):
Slur_engraver- Build 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_engraver- Engrave a cluster using
Spannernotation.Music types accepted:
This engraver creates the following layout object(s):
Phrasing_slur_engraver- Print phrasing slurs. Similar to Slur_engraver.
Music types accepted:
This engraver creates the following layout object(s):
Spanner_break_forbid_engraver- Forbid breaks in certain spanners.
Note_spacing_engraver- Generate
NoteSpacing, an object linking horizontal lines for use in spacing.This engraver creates the following layout object(s):
Rhythmic_column_engraver- Generate
NoteColumn, an object that groups stems, note heads, and rests.This engraver creates the following layout object(s):
Script_column_engraver- Find potentially colliding scripts and put them into a
ScriptColumnobject; that will fix the collisions.This engraver creates the following layout object(s):
Script_engraver- Handle 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_engraver- Create fall spanners.
Music types accepted:
This engraver creates the following layout object(s):
Fingering_engraver- Create fingering scripts.
Music types accepted:
stroke-finger-event and fingering-event
This engraver creates the following layout object(s):
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):
New_dynamic_engraver- Create 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)
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):
Text_engraver- Create text scripts.
Music types accepted:
This engraver creates the following layout object(s):
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):
Slash_repeat_engraver- Make 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_engraver- Make whole bar and double bar repeats.
Music types accepted:
Properties (read)
Properties (write)
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.
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_engraver- Generate beams for tremolo repeats.
Music types accepted:
This engraver creates the following layout object(s):
Beam.
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.
Auto_beam_engraver- Generate 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_engraver- Handle
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_engraver- Handle
Beamevents by engraving beams. If omitted, then notes are printed with flags instead of beams.Music types accepted:
Properties (read)
Properties (write)
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.
forbidBreak(boolean)- If set to
##t, prevent a line break at this point.This engraver creates the following layout object(s):
Beam.
Stem_engraver- Create 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_engraver- Read the
tweaksproperty from the originating event, and set properties.Rest_engraver- Engrave 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_engraver- Create Dots objects for rhythmic-head-interfaces.
This engraver creates the following layout object(s):
Dots.
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):
Breathing_sign_engraver- Create a breathing sign.
Music types accepted:
This engraver creates the following layout object(s):
Ligature_bracket_engraver- Handle
Ligature_eventsby engravingLigaturebrackets.Music types accepted:
This engraver creates the following layout object(s):
Glissando_engraver- Engrave glissandi.
Music types accepted:
This engraver creates the following layout object(s):
Note_head_line_engraver- Engrave 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_engraver- Create repeat ties.
Music types accepted:
This engraver creates the following layout object(s):
RepeatTie and RepeatTieColumn.
Laissez_vibrer_engraver- Create laissez vibrer items.
Music types accepted:
This engraver creates the following layout object(s):
Forbid_line_break_engraver- Forbid line breaks when note heads are still playing at some point.
Properties (read)
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.).
forbidBreak(boolean)- If set to
##t, prevent a line break at this point.Grob_pq_engraver- Administrate when certain grobs (e.g., note heads) stop playing.
Properties (read)
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.).
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_engraver- Create trill spanner from an event.
Music types accepted:
This engraver creates the following layout object(s):
Text_spanner_engraver- Create text spanner from an event.
Music types accepted:
This engraver creates the following layout object(s):
Multi_measure_rest_engraver- Engrave 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_engraver- Generate an Arpeggio symbol.
Music types accepted:
This engraver creates the following layout object(s):
Output_property_engraver- Apply a procedure to any grob acknowledged.
Music types accepted:
Pitched_trill_engraver- Print the bracketed note head after a note head with trill.
This engraver creates the following layout object(s):
Font_size_engraver- Put
fontSizeintofont-sizegrob property.Properties (read)
fontSize(number)- The relative size of all grobs in a context.
See Modifying context plug-ins.
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)
Properties (write)
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:
context- The current context to which the rule should be applied.
pitch- The pitch of the note to be evaluated.
barnum- The current bar number.
measurepos- The 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.
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 and AccidentalSuggestion.
Accidental_engraver is part of the following context(s): GregorianTranscriptionStaff, MensuralStaff, Staff and VaticanaStaff.
This engraver creates the following layout object(s):
Ambitus, AmbitusAccidental, AmbitusLine and AmbitusNoteHead.
Ambitus_engraver is not part of any context.
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.
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.
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.
Create balloon texts.
Music types accepted:
This engraver creates the following layout object(s):
Balloon_engraver is not part of any context.
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)
Properties (write)
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.
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.
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.
Handle Beam events by engraving beams. If omitted, then notes are printed with flags instead of beams.
Music types accepted:
Properties (read)
Properties (write)
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.
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.
Music types accepted:
Beam_performer is not part of any context.
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.
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.
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.
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.
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.
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.
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.
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.
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:
Properties (read)
Properties (write)
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.
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.
Control_track_performer is not part of any context.
Engrave custodes.
This engraver creates the following layout object(s):
Custos_engraver is part of the following context(s): MensuralStaff and VaticanaStaff.
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)
Properties (write)
automaticBars(boolean)- If set to true then bar lines will not be printed automatically; they must be explicitly created with a
\barcommand. Unlike the\cadenzakeyword, measures are still counted. Bar 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.
automaticBars(boolean)- If set to true then bar lines will not be printed automatically; they must be explicitly created with a
\barcommand. Unlike the\cadenzakeyword, measures are still counted. Bar generation will resume according to that count if this property is unset.
Default_bar_line_engraver is part of the following context(s): Score.
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.
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.
Play drum notes.
Music types accepted:
Drum_note_performer is not part of any context.
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.
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.
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.
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.
Base class for engravers. Does nothing, so it is not used.
Engraver is not part of any context.
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.
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.
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.
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.
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.
Forbid line breaks when note heads are still playing at some point.
Properties (read)
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.).
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.
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.
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.
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.
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.
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.
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.
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.
Administrate when certain grobs (e.g., note heads) stop playing.
Properties (read)
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.).
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, DrumVoice, GregorianTranscriptionVoice, MensuralVoice, TabVoice, VaticanaVoice and Voice.
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.
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.
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.
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.
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.
Engrave a key signature.
Music types accepted:
Properties (read)
Properties (write)
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.
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.
Music types accepted:
Key_performer is not part of any context.
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.
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.
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.
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.
Music types accepted:
Lyric_performer is not part of any context.
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.
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.
Create information for context dependent typesetting decisions.
This engraver creates the following layout object(s):
Melody_engraver is not part of any context.
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.
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.
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.
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)
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):
DynamicText, DynamicTextSpanner, Hairpin and TextSpanner.
New_dynamic_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, MensuralVoice, TabVoice, VaticanaVoice and Voice.
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.
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.
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.
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.
Music types accepted:
Note_performer is not part of any context.
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.
Swallow notes.
Note_swallow_translator is part of the following context(s): FiguredBass.
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.
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, InnerStaffGroup, MensuralStaff, MensuralVoice, RhythmicStaff, Score, Staff, StaffGroup, TabStaff, TabVoice, VaticanaStaff, VaticanaVoice and Voice.
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.
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)
Properties (write)
forbidBreak(boolean)- If set to
##t, prevent a line break at this point.
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.
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.
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.
Make whole bar and double bar repeats.
Music types accepted:
Properties (read)
Properties (write)
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.
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.
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.
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.
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.
Music types accepted:
una-corda-event, sustain-event and sostenuto-event
Piano_pedal_performer is not part of any context.
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.
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.
Acknowledge repeated music, and convert the contents of repeatCommands into an appropriate setting for whichBar.
Properties (read)
repeatCommands(list)- This property is a list of commands of the form
(list 'voltax), 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.
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.
Handle collisions of rests.
This engraver creates the following layout object(s):
Rest_collision_engraver is part of the following context(s): DrumStaff, GregorianTranscriptionStaff, MensuralStaff, Staff, TabStaff and VaticanaStaff.
Engrave 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.
Rest_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, MensuralVoice, TabVoice, VaticanaVoice and Voice.
Swallow rest.
Rest_swallow_translator is part of the following context(s): ChordNames and NoteNames.
Generate NoteColumn, an object that groups stems, note heads, and rests.
This engraver creates the following layout object(s):
Rhythmic_column_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, MensuralVoice, TabVoice, VaticanaVoice and Voice.
Find potentially colliding scripts and put them into a ScriptColumn object; that will fix the collisions.
This engraver creates the following layout object(s):
Script_column_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, MensuralVoice, TabVoice, VaticanaVoice and Voice.
Handle 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):
Script_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, MensuralVoice, TabVoice, VaticanaVoice and Voice.
Determine order in horizontal side position elements.
This engraver creates the following layout object(s):
Script_row_engraver is part of the following context(s): DrumStaff, GregorianTranscriptionStaff, MensuralStaff, Staff, TabStaff and VaticanaStaff.
Generate objects for computing spacing parameters.
Properties (read)
Properties (write)
createSpacing(boolean)- Create
StaffSpacingobjects? Should be set for staves.
hasStaffSpacing(boolean)- True if the current
CommandColumncontains items that will affect spacing.
This engraver creates the following layout object(s):
Separating_line_group_engraver is part of the following context(s): ChordNames, DrumStaff, FiguredBass, FretBoards, GregorianTranscriptionStaff, MensuralStaff, NoteNames, RhythmicStaff, Staff, TabStaff and VaticanaStaff.
Swallow \skip.
Skip_event_swallow_translator is part of the following context(s): ChordNames, CueVoice, DrumVoice, FiguredBass, GregorianTranscriptionVoice, Lyrics, MensuralVoice, NoteNames, TabVoice, VaticanaVoice and Voice.
Make 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):
Slash_repeat_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, MensuralVoice, TabVoice, VaticanaVoice and Voice.
Build 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.
Slur_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, TabVoice and Voice.
Music types accepted:
Slur_performer is not part of any context.
Make a SpacingSpanner and 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):
Spacing_engraver is part of the following context(s): Score.
Make 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_arpeggio_engraver is part of the following context(s): GrandStaff, InnerStaffGroup, PianoStaff and StaffGroup.
Make 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):
Span_bar_engraver is part of the following context(s): GrandStaff, InnerStaffGroup, PianoStaff and StaffGroup.
Forbid breaks in certain spanners.
Spanner_break_forbid_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, MensuralVoice, TabVoice, VaticanaVoice and Voice.
Maintain the stavesFound variable.
Properties (read)
Properties (write)
stavesFound(list of grobs)- A list of all staff-symbols found.
stavesFound(list of grobs)- A list of all staff-symbols found.
Staff_collecting_engraver is part of the following context(s): DrumStaff, GregorianTranscriptionStaff, MensuralStaff, Score, Staff, TabStaff and VaticanaStaff.
Staff_performer is not part of any context.
Create the constellation of five (default) staff lines.
Music types accepted:
This engraver creates the following layout object(s):
Staff_symbol_engraver is part of the following context(s): DrumStaff, GregorianTranscriptionStaff, MensuralStaff, RhythmicStaff, Staff, TabStaff and VaticanaStaff.
This engraver ensures that stanza numbers are neatly aligned.
Stanza_number_align_engraver is part of the following context(s): Score.
Engrave 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):
Stanza_number_engraver is part of the following context(s): Lyrics.
Create 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.
Stem_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, MensuralVoice, TabVoice and Voice.
Swallow 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.
String_number_engraver is part of the following context(s): GregorianTranscriptionStaff, MensuralStaff, Staff and VaticanaStaff.
This engraver swallows everything given to it silently. The purpose of this is to prevent spurious ‘event junked’ warnings.
Swallow_engraver is part of the following context(s): Devnull.
Swallow_performer is not part of any context.
Create a system start delimiter (i.e., a SystemStartBar, SystemStartBrace, SystemStartBracket or SystemStartSquare spanner).
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.
System_start_delimiter_engraver is part of the following context(s): ChoirStaff, GrandStaff, InnerChoirStaff, InnerStaffGroup, PianoStaff, Score and StaffGroup.
In a tablature, parenthesize objects whose music cause has the parenthesize property.
This engraver creates the following layout object(s):
Tab_harmonic_engraver is part of the following context(s): TabVoice.
Generate 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):
Tab_note_heads_engraver is part of the following context(s): TabVoice.
Create a tablature staff symbol, but look at stringTunings for 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):
Tab_staff_symbol_engraver is part of the following context(s): TabStaff.
Properties (read)
tempoWholesPerMinute(moment)- The tempo in whole notes per minute.
Tempo_performer is not part of any context.
Create text scripts.
Music types accepted:
This engraver creates the following layout object(s):
Text_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, MensuralVoice, TabVoice, VaticanaVoice and Voice.
Create text spanner from an event.
Music types accepted:
This engraver creates the following layout object(s):
Text_spanner_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, MensuralVoice, TabVoice, VaticanaVoice and Voice.
Generate ties between note heads of equal pitch.
Music types accepted:
Properties (read)
Properties (write)
tieWaitForNote(boolean)- If true, tied notes do not have to follow each other directly. This can be used for writing out arpeggios.
tieMelismaBusy(boolean)- Signal whether a tie is present.
This engraver creates the following layout object(s):
Tie_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, MensuralVoice, NoteNames, TabVoice, VaticanaVoice and Voice.
Generate ties between note heads of equal pitch.
Music types accepted:
Properties (read)
tieMelismaBusy(boolean)- Signal whether a tie is present.
Tie_performer is not part of any context.
Create a TimeSignature whenever timeSignatureFraction changes.
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):
Time_signature_engraver is part of the following context(s): DrumStaff, GregorianTranscriptionStaff, MensuralStaff, RhythmicStaff, Staff and TabStaff.
Time_signature_performer is not part of any context.
This engraver adds the alias Timing to its containing context. Responsible for synchronizing timing information from staves. Normally in Score. In order to create polyrhythmic music, this engraver should be removed from Score and placed in Staff.
Properties (read)
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.
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.
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.
Timing_translator is part of the following context(s): Score.
Base class. Not instantiated.
Translator is not part of any context.
Create trill spanner from an event.
Music types accepted:
This engraver creates the following layout object(s):
Trill_spanner_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, MensuralVoice, TabVoice, VaticanaVoice and Voice.
Catch 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):
TupletBracket and TupletNumber.
Tuplet_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, MensuralVoice, TabVoice, VaticanaVoice and Voice.
Read the tweaks property from the originating event, and set properties.
Tweak_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, MensuralVoice, TabVoice, VaticanaVoice and Voice.
Handle 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):
DotColumn and VaticanaLigature.
Vaticana_ligature_engraver is part of the following context(s): VaticanaVoice.
Catch 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):
Vertical_align_engraver is part of the following context(s): Score.
Properties (read)
Properties (write)
verticallySpacedContexts(list)- List of symbols, containing context names whose vertical axis groups should be taken into account for vertical spacing of systems.
verticallySpacedContexts(list)- List of symbols, containing context names whose vertical axis groups should be taken into account for vertical spacing of systems.
Vertically_spaced_contexts_engraver is part of the following context(s): Score.
Make volta brackets.
Properties (read)
repeatCommands(list)- This property is a list of commands of the form
(list 'voltax), 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):
VoltaBracket and VoltaBracketSpanner.
Volta_engraver is part of the following context(s): Score.
aDueText (markup)alignAboveContext (string)alignBassFigureAccidentals (boolean)alignBelowContext (string)associatedVoice (string)Voice that has the
melody for this Lyrics line.
autoAccidentals (list)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.
The procedure takes the following arguments:
contextpitchbarnummeasureposThe 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.
autoBeamCheck (procedure)#f return value
starts or stops the auto beam.
autoBeamSettings (list)autoBeaming (boolean)autoCautionaries (list)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.
automaticBars (boolean)\bar command. Unlike the \cadenza keyword, measures
are still counted. Bar generation will resume according to that count
if this property is unset.
barAlways (boolean)barCheckSynchronize (boolean)measurePosition when finding a bar check.
barNumberVisibility (procedure)bassFigureFormatFunction (procedure)BassFigure grob. It
takes a list of BassFigureEvents, a context, and the grob to
format.
bassStaffProperties (list)PianoStaff. Used by
\autochange.
beatGrouping (list)'(2 3).
beatLength (moment)chordChanges (boolean)chordNameExceptions (list)(chord . markup) entries.
chordNameExceptionsFull (list)(chord . markup) entries.
chordNameExceptionsPartial (list)(chord . (prefix-markup
suffix-markup)) entries.
chordNameFunction (procedure)chordNameSeparator (markup)chordNoteNamer (procedure)chordPrefixSpacer (number)chordRootNamer (procedure)clefGlyph (string)clefOctavation (integer)clefPosition (number)completionBusy (boolean)connectArpeggios (boolean)countPercentRepeats (boolean)createKeyOnClefChange (boolean)createSpacing (boolean)StaffSpacing objects?
Should be set for staves.
crescendoSpanner (symbol)crescendoText (markup)currentBarNumber (integer)decrescendoSpanner (symbol)crescendoSpanner.
decrescendoText (markup)defaultBarType (string)whichBar for information on available bar types.
This variable is read by Timing_translator at
Score level.
doubleSlurs (boolean)drumPitchTable (hash table)drumStyleTable (hash table)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.
explicitClefVisibility (vector)explicitKeySignatureVisibility (vector)break-visibility property will set the visibility for normal
(i.e., at the start of the line) key signatures.
extendersOverRests (boolean)extraNatural (boolean)figuredBassAlterationDirection (direction)figuredBassCenterContinuations (boolean)figuredBassFormatter (procedure)figuredBassPlusDirection (direction)fingeringOrientations (list)firstClef (boolean)followVoice (boolean)fontSize (number)forbidBreak (boolean)##t, prevent a line break
at this point.
forceClef (boolean)gridInterval (moment)GridPoints.
harmonicAccidentals (boolean)harmonicDots (boolean)highStringOne (boolean)ignoreBarChecks (boolean)ignoreFiguredBassRest (boolean)ignoreMelismata (boolean)implicitBassFigures (list)implicitTimeSignatureVisibility (vector)instrumentCueName (markup)instrumentEqualizer (procedure)(min . max) pair
of numbers for the loudness range of the instrument.
instrumentName (markup)instrument property labels the staff in the first system, and
the instr property labels following lines.
instrumentTransposition (pitch)\quotes.
internalBarNumber (integer)Accidental_engraver.
keepAliveInterfaces (list)remove-empty set
around for.
keyAlterationOrder (list)(step
. alter), where step is a number from 0 to 6 and
alter from -2 (sharp) to 2 (flat).
keySignature (list)(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)).
lyricMelismaAlignment (direction)majorSevenSymbol (markup)markFormatter (procedure)maximumFretStretch (number)measureLength (moment)measurePosition (moment)melismaBusyProperties (list)#'(melismaBusy beamMelismaBusy), only manual melismata and
manual beams are considered. Possible values include
melismaBusy, slurMelismaBusy, tieMelismaBusy, and
beamMelismaBusy.
metronomeMarkFormatter (procedure)middleCClefPosition (number)clefPosition and clefGlyph.
middleCOffset (number)middleCClefPosition This
is used for ottava brackets.
middleCPosition (number)middleCClefPosition and middleCOffset.
midiInstrument (string)midiMaximumVolume (number)midiMinimumVolume.
midiMinimumVolume (number)minimumFret (number)minimumFret.
minimumPageTurnLength (moment)minimumRepeatLengthForPageTurn (moment)noteToFretFunction (procedure)ottavation (markup)output (unknown)pedalSostenutoStrings (list)pedalSustainStrings.
pedalSostenutoStyle (symbol)pedalSustainStyle.
pedalSustainStrings (list)(up updown down),
where each of the three is the string to print when this is done with
the pedal.
pedalSustainStyle (symbol)text, bracket or mixed (both).
pedalUnaCordaStrings (list)pedalSustainStrings.
pedalUnaCordaStyle (symbol)pedalSustainStyle.
predefinedDiagramTable (hash table)printKeyCancellation (boolean)printOctaveNames (boolean)NoteNames context.
printPartCombineTexts (boolean)proportionalNotationDuration (moment)recordEventSequence (procedure)Recording_group_engraver is in this context, then upon
termination of the context, this function is called with current
context and a list of music objects. The list of contains entries with
start times, music objects and whether they are processed in this
context.
rehearsalMark (integer)repeatCommands (list)(list 'volta x), where x is a string or
#f. 'end-repeat is also accepted as a command.
restNumberThreshold (number)shapeNoteStyles (vector)shortInstrumentName (markup)instrument.
shortVocalName (markup)skipBars (boolean) {
r1 r1*3 R1*3
\set Score.skipBars= ##t
r1*3 R1*3
}
skipTypesetting (boolean)soloIIText (markup)soloText (markup)squashedPosition (integer)staffLineLayoutFunction (procedure)traditional, or semitone.
stanza (markup)Lyrics context.
stemLeftBeamCount (integer)stemRightBeamCount (integer)stemLeftBeamCount.
stringNumberOrientations (list)fingeringOrientations.
stringOneTopmost (boolean)stringTunings (list)strokeFingerOrientations (list)fingeringOrientations.
subdivideBeams (boolean)suggestAccidentals (boolean)systemStartDelimiter (symbol)SystemStartBrace,
SystemStartBracket or SystemStartBar.
systemStartDelimiterHierarchy (pair)tablatureFormat (procedure)tempoHideNote (boolean)tempoText (markup)tempoUnitCount (number)tempoUnitDuration (duration)tempoWholesPerMinute (moment)tieWaitForNote (boolean)timeSignatureFraction (pair of numbers)#'(4 . 4) is a
4/4 time signature.
timing (boolean)tonic (pitch)trebleStaffProperties (list)PianoStaff. Used by
\autochange.
tremoloFlags (integer)tupletFullLength (boolean)tupletFullLengthNote (boolean)tupletSpannerDuration (moment)\times expression that gave rise to it. By
setting this property, you can make brackets last shorter.
{
\set tupletSpannerDuration = #(ly:make-moment 1 4)
\times 2/3 { c8 c c c c c }
}
useBassFigureExtenders (boolean)verticallySpacedContexts (list)vocalName (markup)voltaSpannerDuration (moment)\alternative.
This can be used to shrink the length of brackets in the situation
where one alternative is very large.
whichBar (string)Example:
\set Staff.whichBar = "|:"
This will create a start-repeat bar in this staff only. Valid values are described in bar-line-interface.
associatedVoiceContext (context)Voice that has the melody for this Lyrics.
barCheckLastFail (moment)beamMelismaBusy (boolean)breakableSeparationItem (layout object)busyGrobs (list)(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.).
currentCommandColumn (layout object)currentMusicalColumn (layout object)dynamicAbsoluteVolumeFunction (procedure)finalizations (list)graceSettings (list)add-grace-property function.
hasStaffSpacing (boolean)CommandColumn contains items that will affect spacing.
instrumentSupport (list of grobs)lastKeySignature (list)localKeySignature (list)keySignature, but can
also contain ((octave . name) . (alter
barnumber . measureposition)) pairs.
melismaBusy (boolean)originalMiddleCPosition (integer)quotedEventTypes (list)\quote commands.
rootSystem (layout object)scriptDefinitions (list)Script_engraver for typesetting note-superscripts
and subscripts. See scm/script.scm for more information.
slurMelismaBusy (boolean)stavesFound (list of grobs)tieMelismaBusy (boolean)Accidental objects are created by: Accidental_engraver.
Standard settings:
avoid-slur(symbol):'insideMethod of handling slur collisions. Choices are
around,inside,outside. If unset, scripts and slurs ignore each other.aroundonly moves the script if there is a collision;outsidealways moves the script.glyph-name-alist(list):'((0 . accidentals.natural) (-1/2 . accidentals.flat) (1/2 . accidentals.sharp) (1 . accidentals.doublesharp) (-1 . accidentals.flatflat) (3/4 . accidentals.sharp.slashslash.stemstemstem) (1/4 . accidentals.sharp.slashslash.stem) (-1/4 . accidentals.mirroredflat) (-3/4 . accidentals.mirroredflat.flat))An alist of key-string pairs.
alteration(number):accidental-interface::calc-alterationAlteration numbers for accidental.
stencil(unknown):ly:accidental-interface::printThe symbol to print.
Y-extent(pair of numbers):ly:accidental-interface::heightHard coded extent in Y direction.
X-extent(pair of numbers):ly:accidental-interface::widthHard coded extent in X direction.
This object supports the following interface(s): item-interface, font-interface, accidental-interface and grob-interface.
AccidentalCautionary objects are created by: Accidental_engraver.
Standard settings:
avoid-slur(symbol):'insideMethod of handling slur collisions. Choices are
around,inside,outside. If unset, scripts and slurs ignore each other.aroundonly moves the script if there is a collision;outsidealways moves the script.parenthesized(boolean):#tParenthesize this grob.
glyph-name-alist(list):'((0 . accidentals.natural) (-1/2 . accidentals.flat) (1/2 . accidentals.sharp) (1 . accidentals.doublesharp) (-1 . accidentals.flatflat) (3/4 . accidentals.sharp.slashslash.stemstemstem) (1/4 . accidentals.sharp.slashslash.stem) (-1/4 . accidentals.mirroredflat) (-3/4 . accidentals.mirroredflat.flat))An alist of key-string pairs.
alteration(number):accidental-interface::calc-alterationAlteration numbers for accidental.
stencil(unknown):ly:accidental-interface::printThe symbol to print.
Y-extent(pair of numbers):ly:accidental-interface::heightHard coded extent in Y direction.
This object supports the following interface(s): item-interface, font-interface, accidental-interface and grob-interface.
AccidentalPlacement objects are not created by any engraver.
Standard settings:
left-padding(dimension, in staff space):0.2The amount of space that is put left to an object (e.g., a group of accidentals).
script-priority(number):-100A sorting key that determines in what order a script is within a stack of scripts.
direction(direction):-1If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.X-extent(pair of numbers):ly:axis-group-interface::widthHard coded extent in X direction.
right-padding(dimension, in staff space):0.15Space to insert on the right side of an object (e.g., between note and its accidentals).
This object supports the following interface(s): item-interface, accidental-placement-interface and grob-interface.
AccidentalSuggestion objects are created by: Accidental_engraver.
Standard settings:
stencil(unknown):ly:accidental-interface::printThe symbol to print.
X-extent(pair of numbers):ly:accidental-interface::widthHard coded extent in X direction.
Y-extent(pair of numbers):ly:accidental-interface::heightHard coded extent in Y direction.
X-offset(number):#<simple-closure (#<primitive-generic +> #<simple-closure (#<primitive-procedure ly:self-alignment-interface::centered-on-x-parent>) > #<simple-closure (#<primitive-procedure ly:self-alignment-interface::x-aligned-on-self>) >) >The horizontal amount that this object is moved relative to its X-parent.
self-alignment-X(number):0Specify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified.font-size(number):-2The font size, compared to the ‘normal’ size.
0is style-sheet's normal size,-1is smaller,+1is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. Fractional values are allowed.glyph-name-alist(list):'((0 . accidentals.natural) (-1/2 . accidentals.flat) (1/2 . accidentals.sharp) (1 . accidentals.doublesharp) (-1 . accidentals.flatflat) (3/4 . accidentals.sharp.slashslash.stemstemstem) (1/4 . accidentals.sharp.slashslash.stem) (-1/4 . accidentals.mirroredflat) (-3/4 . accidentals.mirroredflat.flat))An alist of key-string pairs.
alteration(number):accidental-interface::calc-alterationAlteration numbers for accidental.
Y-offset(number):ly:side-position-interface::y-aligned-sideThe vertical amount that this object is moved relative to its Y-parent.
direction(direction):1If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.staff-padding(dimension, in staff space):0.25Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
outside-staff-priority(number):0If set, the grob is positioned outside the staff in such a way as to avoid all collisions. In case of a potential collision, the grob with the smaller
outside-staff-priorityis closer to the staff.script-priority(number):0A sorting key that determines in what order a script is within a stack of scripts.
side-axis(number):1If the value is
#X(or equivalently0), the object is placed horizontally next to the other object. If the value is#Yor1, it is placed vertically.
This object supports the following interface(s): side-position-interface, self-alignment-interface, script-interface, item-interface, font-interface, accidental-suggestion-interface, accidental-interface and grob-interface.
Ambitus objects are created by: Ambitus_engraver.
Standard settings:
axes(list):'(0 1)List of axis numbers. In the case of alignment grobs, this should contain only one number.
X-extent(pair of numbers):ly:axis-group-interface::widthHard coded extent in X direction.
Y-extent(pair of numbers):ly:axis-group-interface::heightHard coded extent in Y direction.
space-alist(list):'((clef extra-space . 0.5) (key-signature extra-space . 0.0) (staff-bar extra-space . 0.0) (time-signature extra-space . 0.0) (first-note fixed-space . 0.0))A table that specifies distances between prefatory items, like clef and time-signature. The format is an alist of spacing tuples:
(break-align-symbol type.distance), where type can be the symbolsminimum-spaceorextra-space.non-musical(boolean):#tTrue if the grob belongs to a
NonMusicalPaperColumn.break-align-symbol(symbol):'ambitusThis key is used for aligning and spacing breakable items.
break-visibility(vector):#(#f #f #t)A vector of 3 booleans,
#(end-of-line unbroken begin-of-line).#tmeans visible,#fmeans killed.
This object supports the following interface(s): item-interface, break-aligned-interface, axis-group-interface, ambitus-interface and grob-interface.
AmbitusAccidental objects are created by: Ambitus_engraver.
Standard settings:
font-family(symbol):'musicThe font family is the broadest category for selecting text fonts. Options include:
sans,roman.padding(dimension, in staff space):0.5Add this much extra space between objects that are next to each other.
X-offset(number):ly:side-position-interface::x-aligned-sideThe horizontal amount that this object is moved relative to its X-parent.
direction(direction):-1If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.stencil(unknown):ly:accidental-interface::printThe symbol to print.
Y-extent(pair of numbers):ly:accidental-interface::heightHard coded extent in Y direction.
glyph-name-alist(list):'((0 . accidentals.natural) (-1/2 . accidentals.flat) (1/2 . accidentals.sharp) (1 . accidentals.doublesharp) (-1 . accidentals.flatflat) (3/4 . accidentals.sharp.slashslash.stemstemstem) (1/4 . accidentals.sharp.slashslash.stem) (-1/4 . accidentals.mirroredflat) (-3/4 . accidentals.mirroredflat.flat))An alist of key-string pairs.
side-axis(number):0If the value is
#X(or equivalently0), the object is placed horizontally next to the other object. If the value is#Yor1, it is placed vertically.
This object supports the following interface(s): side-position-interface, item-interface, font-interface, break-aligned-interface, accidental-interface and grob-interface.
AmbitusLine objects are created by: Ambitus_engraver.
Standard settings:
stencil(unknown):ly:ambitus::printThe symbol to print.
thickness(number):2Line thickness, generally measured in
line-thickness.X-offset(number):ly:self-alignment-interface::centered-on-x-parentThe horizontal amount that this object is moved relative to its X-parent.
This object supports the following interface(s): staff-symbol-referencer-interface, item-interface, font-interface, ambitus-interface and grob-interface.
AmbitusNoteHead objects are created by: Ambitus_engraver.
Standard settings:
duration-log(integer):2The 2-log of the note head duration, i.e.,
0= whole note,1= half note, etc.stencil(unknown):ly:note-head::printThe symbol to print.
Y-offset(number):ly:staff-symbol-referencer::callbackThe vertical amount that this object is moved relative to its Y-parent.
This object supports the following interface(s): staff-symbol-referencer-interface, rhythmic-head-interface, note-head-interface, ledgered-interface, item-interface, font-interface, ambitus-interface and grob-interface.
Arpeggio objects are created by: Arpeggio_engraver and Span_arpeggio_engraver.
Standard settings:
X-extent(pair of numbers):ly:arpeggio::widthHard coded extent in X direction.
stencil(unknown):ly:arpeggio::printThe symbol to print.
Y-offset(number):ly:staff-symbol-referencer::callbackThe vertical amount that this object is moved relative to its Y-parent.
X-offset(number):ly:side-position-interface::x-aligned-sideThe horizontal amount that this object is moved relative to its X-parent.
direction(direction):-1If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.positions(pair of numbers):ly:arpeggio::calc-positionsPair of staff coordinates
(left.right), where both left and right are instaff-spaceunits of the current staff. For slurs, this value selects which slur candidate to use; if extreme positions are requested, the closest one is taken.padding(dimension, in staff space):0.5Add this much extra space between objects that are next to each other.
script-priority(number):0A sorting key that determines in what order a script is within a stack of scripts.
side-axis(number):0If the value is
#X(or equivalently0), the object is placed horizontally next to the other object. If the value is#Yor1, it is placed vertically.staff-position(number):0.0Vertical position, measured in half staff spaces, counted from the middle line.
Y-extent(pair of numbers):ly:arpeggio::heightHard coded extent in Y direction.
This object supports the following interface(s): staff-symbol-referencer-interface, side-position-interface, item-interface, font-interface, arpeggio-interface and grob-interface.
BalloonTextItem objects are created by: Balloon_engraver.
Standard settings:
stencil(unknown):ly:balloon-interface::printThe symbol to print.
text(markup):#<procedure #f (grob)>Text markup. See Formatting text.
X-offset(number):#<procedure #f (grob)>The horizontal amount that this object is moved relative to its X-parent.
Y-offset(number):#<procedure #f (grob)>The vertical amount that this object is moved relative to its Y-parent.
This object supports the following interface(s): text-interface, item-interface, font-interface and grob-interface.
BarLine objects are created by: Bar_engraver.
Standard settings:
break-align-symbol(symbol):'staff-barThis key is used for aligning and spacing breakable items.
break-align-anchor(number):ly:bar-line::calc-anchorGrobs aligned to this break-align grob will have their X-offsets shifted by this number. In bar lines, for example, this is used to position grobs relative to the (visual) center of the bar line.
glyph(string):|A string determining what ‘style’ of glyph is typeset. Valid choices depend on the function that is reading this property.
gap(dimension, in staff space):0.4Size of a gap in a variable symbol.
layer(integer):0The output layer (a value between 0 and 2: Layers define the order of printing objects. Objects in lower layers are overprinted by objects in higher layers.
break-visibility(vector):bar-line::calc-break-visibilityA vector of 3 booleans,
#(end-of-line unbroken begin-of-line).#tmeans visible,#fmeans killed.non-musical(boolean):#tTrue if the grob belongs to a
NonMusicalPaperColumn.stencil(unknown):ly:bar-line::printThe symbol to print.
bar-size(dimension, in staff space):ly:bar-line::calc-bar-sizeThe size of a bar line.
allow-span-bar(boolean):#tIf false, no inter-staff bar line will be created below this bar line.
space-alist(list):'((time-signature extra-space . 0.75) (custos minimum-space . 2.0) (clef minimum-space . 1.0) (key-signature extra-space . 1.0) (key-cancellation extra-space . 1.0) (first-note fixed-space . 1.3) (next-note semi-fixed-space . 0.9) (right-edge extra-space . 0.0))A table that specifies distances between prefatory items, like clef and time-signature. The format is an alist of spacing tuples:
(break-align-symbol type.distance), where type can be the symbolsminimum-spaceorextra-space.kern(dimension, in staff space):3.0Amount of extra white space to add. For bar lines, this is the amount of space after a thick line.
thin-kern(number):3.0The space after a hair-line in a bar line.
hair-thickness(number):1.9Thickness of the thin line in a bar line.
thick-thickness(number):6.0Bar line thickness, measured in
line-thickness.
This object supports the following interface(s): item-interface, font-interface, break-aligned-interface, bar-line-interface and grob-interface.
BarNumber objects are created by: Bar_number_engraver.
Standard settings:
stencil(unknown):ly:text-interface::printThe symbol to print.
non-musical(boolean):#tTrue if the grob belongs to a
NonMusicalPaperColumn.break-visibility(vector):#(#f #f #t)A vector of 3 booleans,
#(end-of-line unbroken begin-of-line).#tmeans visible,#fmeans killed.padding(dimension, in staff space):1.0Add this much extra space between objects that are next to each other.
direction(direction):1If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.font-family(symbol):'romanThe font family is the broadest category for selecting text fonts. Options include:
sans,roman.font-size(number):-2The font size, compared to the ‘normal’ size.
0is style-sheet's normal size,-1is smaller,+1is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. Fractional values are allowed.Y-offset(number):ly:side-position-interface::y-aligned-sideThe vertical amount that this object is moved relative to its Y-parent.
side-axis(number):1If the value is
#X(or equivalently0), the object is placed horizontally next to the other object. If the value is#Yor1, it is placed vertically.outside-staff-priority(number):100If set, the grob is positioned outside the staff in such a way as to avoid all collisions. In case of a potential collision, the grob with the smaller
outside-staff-priorityis closer to the staff.X-offset(number):#<simple-closure (#<primitive-generic +> #<simple-closure (#<primitive-procedure ly:break-alignable-interface::self-align-callback>) > #<simple-closure (#<primitive-procedure ly:self-alignment-interface::x-aligned-on-self>) >) >The horizontal amount that this object is moved relative to its X-parent.
self-alignment-X(number):1Specify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified.break-align-symbols(list):'(left-edge staff-bar)A list of symbols that determine which break-aligned grobs to align this to. If the grob selected by the first symbol in the list is invisible due to break-visibility, we will align to the next grob (and so on).
This object supports the following interface(s): text-interface, side-position-interface, self-alignment-interface, item-interface, font-interface, break-alignable-interface and grob-interface.
BassFigure objects are created by: Figured_bass_engraver.
Standard settings:
stencil(unknown):ly:text-interface::printThe symbol to print.
This object supports the following interface(s): text-interface, rhythmic-grob-interface, item-interface, font-interface, bass-figure-interface and grob-interface.
BassFigureAlignment objects are created by: Figured_bass_engraver.
Standard settings:
axes(list):'(1)List of axis numbers. In the case of alignment grobs, this should contain only one number.
threshold(pair of numbers):'(2 . 1000)
(min.max), where min and max are dimensions in staff space.Y-extent(pair of numbers):ly:axis-group-interface::heightHard coded extent in Y direction.
stacking-dir(direction):-1Stack objects in which direction?
padding(dimension, in staff space):0.2Add this much extra space between objects that are next to each other.
This object supports the following interface(s): spanner-interface, bass-figure-alignment-interface, axis-group-interface, align-interface and grob-interface.
BassFigureAlignmentPositioning objects are created by: Figured_bass_position_engraver.
Standard settings:
Y-offset(number):ly:side-position-interface::y-aligned-sideThe vertical amount that this object is moved relative to its Y-parent.
side-axis(number):1If the value is
#X(or equivalently0), the object is placed horizontally next to the other object. If the value is#Yor1, it is placed vertically.direction(direction):1If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.Y-extent(pair of numbers):ly:axis-group-interface::heightHard coded extent in Y direction.
axes(list):'(1)List of axis numbers. In the case of alignment grobs, this should contain only one number.
staff-padding(dimension, in staff space):1.0Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
padding(dimension, in staff space):0.5Add this much extra space between objects that are next to each other.
This object supports the following interface(s): spanner-interface, side-position-interface, axis-group-interface and grob-interface.
BassFigureBracket objects are created by: Figured_bass_engraver.
Standard settings:
stencil(unknown):ly:enclosing-bracket::printThe symbol to print.
X-extent(pair of numbers):ly:enclosing-bracket::widthHard coded extent in X direction.
edge-height(pair):'(0.2 . 0.2)A pair of numbers specifying the heights of the vertical edges:
(left-height.right-height).
This object supports the following interface(s): item-interface, enclosing-bracket-interface and grob-interface.
BassFigureContinuation objects are created by: Figured_bass_engraver.
Standard settings:
stencil(unknown):ly:figured-bass-continuation::printThe symbol to print.
Y-offset(number):ly:figured-bass-continuation::center-on-figuresThe vertical amount that this object is moved relative to its Y-parent.
This object supports the following interface(s): spanner-interface, figured-bass-continuation-interface and grob-interface.
BassFigureLine objects are created by: Figured_bass_engraver.
Standard settings:
axes(list):'(1)List of axis numbers. In the case of alignment grobs, this should contain only one number.
Y-extent(pair of numbers):ly:axis-group-interface::heightHard coded extent in Y direction.
vertical-skylines(unknown):ly:axis-group-interface::calc-skylinesTwo skylines, one above and one below this grob.
This object supports the following interface(s): spanner-interface, axis-group-interface and grob-interface.
Beam objects are created by: Auto_beam_engraver, Beam_engraver, Chord_tremolo_engraver and Grace_beam_engraver.
Standard settings:
gap(dimension, in staff space):0.8Size of a gap in a variable symbol.
positions(pair of numbers):#<simple-closure #<simple-closure (#<procedure chain-grob-member-functions (grob value . funcs)> (#<primitive-procedure cons> 0 0) #<primitive-procedure ly:beam::calc-least-squares-positions> #<primitive-procedure ly:beam::slope-damping> #<primitive-procedure ly:beam::shift-region-to-valid> #<primitive-procedure ly:beam::quanting>) > >Pair of staff coordinates
(left.right), where both left and right are instaff-spaceunits of the current staff. For slurs, this value selects which slur candidate to use; if extreme positions are requested, the closest one is taken.concaveness(number):ly:beam::calc-concavenessA beam is concave if its inner stems are closer to the beam than the two outside stems. This number is a measure of the closeness of the inner stems. It is used for damping the slope of the beam.
direction(direction):ly:beam::calc-directionIf
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.beaming(pair):ly:beam::calc-beamingPair of number lists. Each number list specifies which beams to make.
0is the central beam,1is the next beam toward the note, etc. This information is used to determine how to connect the beaming patterns from stem to stem inside a beam.stencil(unknown):ly:beam::printThe symbol to print.
clip-edges(boolean):#tAllow outward pointing beamlets at the edges of beams?
thickness(number):0.48Line thickness, generally measured in
line-thickness.neutral-direction(direction):-1Which direction to take in the center of the staff.
beamed-stem-shorten(list):'(1.0 0.5 0.25)How much to shorten beamed stems, when their direction is forced. It is a list, since the value is different depending on the number of flags and beams.
damping(number):1Amount of beam slope damping.
auto-knee-gap(dimension, in staff space):5.5If a gap is found between note heads where a horizontal beam fits that is larger than this number, make a kneed beam.
font-family(symbol):'romanThe font family is the broadest category for selecting text fonts. Options include:
sans,roman.
This object supports the following interface(s): unbreakable-spanner-interface, staff-symbol-referencer-interface, spanner-interface, beam-interface and grob-interface.
BendAfter objects are created by: Bend_engraver.
Standard settings:
stencil(unknown):bend::printThe symbol to print.
thickness(number):2.0Line thickness, generally measured in
line-thickness.
This object supports the following interface(s): spanner-interface, bend-after-interface and grob-interface.
BreakAlignGroup objects are created by: Break_align_engraver.
Standard settings:
axes(list):'(0)List of axis numbers. In the case of alignment grobs, this should contain only one number.
X-extent(pair of numbers):ly:axis-group-interface::widthHard coded extent in X direction.
break-align-anchor(number):ly:break-aligned-interface::calc-average-anchorGrobs aligned to this break-align grob will have their X-offsets shifted by this number. In bar lines, for example, this is used to position grobs relative to the (visual) center of the bar line.
break-visibility(vector):ly:break-aligned-interface::calc-break-visibilityA vector of 3 booleans,
#(end-of-line unbroken begin-of-line).#tmeans visible,#fmeans killed.
This object supports the following interface(s): item-interface, break-aligned-interface, axis-group-interface and grob-interface.
BreakAlignment objects are created by: Break_align_engraver.
Standard settings:
non-musical(boolean):#tTrue if the grob belongs to a
NonMusicalPaperColumn.stacking-dir(direction):1Stack objects in which direction?
X-extent(pair of numbers):ly:axis-group-interface::widthHard coded extent in X direction.
break-align-orders(vector):#((left-edge ambitus breathing-sign clef staff-bar key-cancellation key-signature time-signature custos) (left-edge ambitus breathing-sign clef staff-bar key-cancellation key-signature staff time-signature custos) (left-edge ambitus breathing-sign clef key-cancellation key-signature staff-bar time-signature custos))Defines the order in which prefatory matter (clefs, key signatures) appears. The format is a vector of length 3, where each element is one order for end-of-line, middle of line, and start-of-line, respectively. An order is a list of symbols.
For example, clefs are put after key signatures by setting
\override Score.BreakAlignment #'break-align-orders = #(make-vector 3 '(span-bar breathing-sign staff-bar key clef time-signature))axes(list):'(0)List of axis numbers. In the case of alignment grobs, this should contain only one number.
This object supports the following interface(s): item-interface, break-alignment-interface, axis-group-interface and grob-interface.
BreathingSign objects are created by: Breathing_sign_engraver.
Standard settings:
break-align-symbol(symbol):'breathing-signThis key is used for aligning and spacing breakable items.
non-musical(boolean):#tTrue if the grob belongs to a
NonMusicalPaperColumn.space-alist(list):'((ambitus extra-space . 2.0) (custos minimum-space . 1.0) (key-signature minimum-space . 1.5) (time-signature minimum-space . 1.5) (staff-bar minimum-space . 1.5) (clef minimum-space . 2.0) (first-note fixed-space . 1.0) (right-edge extra-space . 0.1))A table that specifies distances between prefatory items, like clef and time-signature. The format is an alist of spacing tuples:
(break-align-symbol type.distance), where type can be the symbolsminimum-spaceorextra-space.stencil(unknown):ly:text-interface::printThe symbol to print.
text(markup):'(#<procedure musicglyph-markup (layout props glyph-name)> scripts.rcomma)Text markup. See Formatting text.
Y-offset(number):ly:breathing-sign::offset-callbackThe vertical amount that this object is moved relative to its Y-parent.
break-visibility(vector):#(#t #t #f)A vector of 3 booleans,
#(end-of-line unbroken begin-of-line).#tmeans visible,#fmeans killed.
This object supports the following interface(s): text-interface, item-interface, font-interface, breathing-sign-interface, break-aligned-interface and grob-interface.
ChordName objects are created by: Chord_name_engraver.
Standard settings:
stencil(unknown):ly:text-interface::printThe symbol to print.
after-line-breaking(boolean):ly:chord-name::after-line-breakingDummy property, used to trigger callback for
after-line-breaking.word-space(dimension, in staff space):0.0Space to insert between words in texts.
font-family(symbol):'sansThe font family is the broadest category for selecting text fonts. Options include:
sans,roman.font-size(number):1.5The font size, compared to the ‘normal’ size.
0is style-sheet's normal size,-1is smaller,+1is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. Fractional values are allowed.
This object supports the following interface(s): text-interface, rhythmic-grob-interface, item-interface, font-interface, chord-name-interface and grob-interface.
Clef objects are created by: Clef_engraver.
Standard settings:
stencil(unknown):ly:clef::printThe symbol to print.
non-musical(boolean):#tTrue if the grob belongs to a
NonMusicalPaperColumn.avoid-slur(symbol):'insideMethod of handling slur collisions. Choices are
around,inside,outside. If unset, scripts and slurs ignore each other.aroundonly moves the script if there is a collision;outsidealways moves the script.font-family(symbol):'musicThe font family is the broadest category for selecting text fonts. Options include:
sans,roman.break-align-symbol(symbol):'clefThis key is used for aligning and spacing breakable items.
break-align-anchor(number):ly:break-aligned-interface::calc-extent-aligned-anchorGrobs aligned to this break-align grob will have their X-offsets shifted by this number. In bar lines, for example, this is used to position grobs relative to the (visual) center of the bar line.
break-visibility(vector):#(#f #f #t)A vector of 3 booleans,
#(end-of-line unbroken begin-of-line).#tmeans visible,#fmeans killed.space-alist(list):'((ambitus extra-space . 2.0) (staff-bar extra-space . 0.7) (key-cancellation minimum-space . 3.5) (key-signature minimum-space . 3.5) (time-signature minimum-space . 4.2) (first-note minimum-fixed-space . 5.0) (next-note extra-space . 0.5) (right-edge extra-space . 0.5))A table that specifies distances between prefatory items, like clef and time-signature. The format is an alist of spacing tuples:
(break-align-symbol type.distance), where type can be the symbolsminimum-spaceorextra-space.Y-offset(number):ly:staff-symbol-referencer::callbackThe vertical amount that this object is moved relative to its Y-parent.
This object supports the following interface(s): staff-symbol-referencer-interface, item-interface, font-interface, clef-interface, break-aligned-interface and grob-interface.
ClusterSpanner objects are created by: Cluster_spanner_engraver.
Standard settings:
springs-and-rods(boolean):ly:spanner::set-spacing-rodsDummy variable for triggering spacing routines.
stencil(unknown):ly:cluster::printThe symbol to print.
minimum-length(dimension, in staff space):0.0Try to make a spanner at least this long, normally in the horizontal direction. This requires an appropriate callback for the
springs-and-rodsproperty. If added to aTie, this sets the minimum distance between noteheads.padding(dimension, in staff space):0.25Add this much extra space between objects that are next to each other.
style(symbol):'rampThis setting determines in what style a grob is typeset. Valid choices depend on the
stencilcallback reading this property.
This object supports the following interface(s): spanner-interface, cluster-interface and grob-interface.
ClusterSpannerBeacon objects are created by: Cluster_spanner_engraver.
Standard settings:
Y-extent(pair of numbers):ly:cluster-beacon::heightHard coded extent in Y direction.
This object supports the following interface(s): rhythmic-grob-interface, item-interface, cluster-beacon-interface and grob-interface.
CombineTextScript objects are created by: Part_combine_engraver.
Standard settings:
stencil(unknown):ly:text-interface::printThe symbol to print.
extra-spacing-width(pair of numbers):'(+inf.0 . -inf.0)In the horizontal spacing problem, we pad each item by this amount (by adding the ‘car’ on the left side of the item and adding the ‘cdr’ on the right side of the item). In order to make a grob take up no horizontal space at all, set this to
(+inf.0 . -inf.0).Y-offset(number):ly:side-position-interface::y-aligned-sideThe vertical amount that this object is moved relative to its Y-parent.
X-offset(number):ly:self-alignment-interface::x-aligned-on-selfThe horizontal amount that this object is moved relative to its X-parent.
direction(direction):1If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.padding(dimension, in staff space):0.5Add this much extra space between objects that are next to each other.
staff-padding(dimension, in staff space):0.5Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
script-priority(number):200A sorting key that determines in what order a script is within a stack of scripts.
baseline-skip(dimension, in staff space):2Distance between base lines of multiple lines of text.
side-axis(number):1If the value is
#X(or equivalently0), the object is placed horizontally next to the other object. If the value is#Yor1, it is placed vertically.avoid-slur(symbol):'outsideMethod of handling slur collisions. Choices are
around,inside,outside. If unset, scripts and slurs ignore each other.aroundonly moves the script if there is a collision;outsidealways moves the script.font-series(symbol):'boldSelect the series of a font. Choices include
medium,bold,bold-narrow, etc.
This object supports the following interface(s): text-script-interface, text-interface, side-position-interface, item-interface, font-interface and grob-interface.
Custos objects are created by: Custos_engraver.
Standard settings:
break-align-symbol(symbol):'custosThis key is used for aligning and spacing breakable items.
non-musical(boolean):#tTrue if the grob belongs to a
NonMusicalPaperColumn.stencil(unknown):ly:custos::printThe symbol to print.
break-visibility(vector):#(#t #f #f)A vector of 3 booleans,
#(end-of-line unbroken begin-of-line).#tmeans visible,#fmeans killed.style(symbol):'vaticanaThis setting determines in what style a grob is typeset. Valid choices depend on the
stencilcallback reading this property.neutral-direction(direction):-1Which direction to take in the center of the staff.
Y-offset(number):ly:staff-symbol-referencer::callbackThe vertical amount that this object is moved relative to its Y-parent.
space-alist(list):'((first-note minimum-fixed-space . 0.0) (right-edge extra-space . 0.1))A table that specifies distances between prefatory items, like clef and time-signature. The format is an alist of spacing tuples:
(break-align-symbol type.distance), where type can be the symbolsminimum-spaceorextra-space.
This object supports the following interface(s): staff-symbol-referencer-interface, item-interface, font-interface, custos-interface, break-aligned-interface and grob-interface.
DotColumn objects are created by: Dot_column_engraver and Vaticana_ligature_engraver.
Standard settings:
axes(list):'(0)List of axis numbers. In the case of alignment grobs, this should contain only one number.
direction(direction):1If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.X-extent(pair of numbers):ly:axis-group-interface::widthHard coded extent in X direction.
This object supports the following interface(s): item-interface, dot-column-interface, axis-group-interface and grob-interface.
Dots objects are created by: Completion_heads_engraver and Dots_engraver.
Standard settings:
stencil(unknown):ly:dots::printThe symbol to print.
dot-count(integer):dots::calc-dot-countThe number of dots.
staff-position(number):dots::calc-staff-positionVertical position, measured in half staff spaces, counted from the middle line.
This object supports the following interface(s): staff-symbol-referencer-interface, item-interface, font-interface, dots-interface and grob-interface.
DoublePercentRepeat objects are created by: Percent_repeat_engraver.
Standard settings:
stencil(unknown):ly:percent-repeat-item-interface::double-percentThe symbol to print.
non-musical(boolean):#tTrue if the grob belongs to a
NonMusicalPaperColumn.slope(number):1.0The slope of this object.
font-encoding(symbol):'fetaMusicThe font encoding is the broadest category for selecting a font. Options include:
fetaMusic,fetaNumber,TeX-text,TeX-math,fetaBraces,fetaDynamic.width(dimension, in staff space):2.0The width of a grob measured in staff space.
thickness(number):0.48Line thickness, generally measured in
line-thickness.break-align-symbol(symbol):'staff-barThis key is used for aligning and spacing breakable items.
break-visibility(vector):#(#t #t #f)A vector of 3 booleans,
#(end-of-line unbroken begin-of-line).#tmeans visible,#fmeans killed.
This object supports the following interface(s): percent-repeat-item-interface, percent-repeat-interface, item-interface, font-interface, break-aligned-interface and grob-interface.
DoublePercentRepeatCounter objects are created by: Percent_repeat_engraver.
Standard settings:
stencil(unknown):ly:text-interface::printThe symbol to print.
X-offset(number):#<simple-closure (#<primitive-generic +> #<simple-closure (#<primitive-procedure ly:self-alignment-interface::centered-on-y-parent>) > #<simple-closure (#<primitive-procedure ly:self-alignment-interface::x-aligned-on-self>) >) >The horizontal amount that this object is moved relative to its X-parent.
Y-offset(number):ly:side-position-interface::y-aligned-sideThe vertical amount that this object is moved relative to its Y-parent.
font-encoding(symbol):'fetaNumberThe font encoding is the broadest category for selecting a font. Options include:
fetaMusic,fetaNumber,TeX-text,TeX-math,fetaBraces,fetaDynamic.self-alignment-X(number):0Specify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified.font-size(number):-2The font size, compared to the ‘normal’ size.
0is style-sheet's normal size,-1is smaller,+1is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. Fractional values are allowed.direction(direction):1If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.padding(dimension, in staff space):0.2Add this much extra space between objects that are next to each other.
staff-padding(dimension, in staff space):0.25Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
side-axis(number):1If the value is
#X(or equivalently0), the object is placed horizontally next to the other object. If the value is#Yor1, it is placed vertically.
This object supports the following interface(s): text-interface, side-position-interface, self-alignment-interface, percent-repeat-item-interface, percent-repeat-interface, item-interface, font-interface and grob-interface.
DynamicLineSpanner objects are created by: Dynamic_align_engraver and Dynamic_engraver.
Standard settings:
axes(list):'(1)List of axis numbers. In the case of alignment grobs, this should contain only one number.
Y-offset(number):ly:side-position-interface::y-aligned-sideThe vertical amount that this object is moved relative to its Y-parent.
staff-padding(dimension, in staff space):0.1Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
padding(dimension, in staff space):0.6Add this much extra space between objects that are next to each other.
slur-padding(number):0.3Extra distance between slur and script.
minimum-space(dimension, in staff space):1.2Minimum distance that the victim should move (after padding).
direction(direction):-1If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.side-axis(number):1If the value is
#X(or equivalently0), the object is placed horizontally next to the other object. If the value is#Yor1, it is placed vertically.outside-staff-priority(number):250If set, the grob is positioned outside the staff in such a way as to avoid all collisions. In case of a potential collision, the grob with the smaller
outside-staff-priorityis closer to the staff.Y-extent(pair of numbers):ly:axis-group-interface::heightHard coded extent in Y direction.
X-extent(pair of numbers):ly:axis-group-interface::widthHard coded extent in X direction.
This object supports the following interface(s): spanner-interface, side-position-interface, dynamic-line-spanner-interface, dynamic-interface, axis-group-interface and grob-interface.
DynamicText objects are created by: Dynamic_engraver and New_dynamic_engraver.
Standard settings:
stencil(unknown):ly:text-interface::printThe symbol to print.
direction(direction):ly:script-interface::calc-directionIf
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.X-offset(number):ly:self-alignment-interface::x-aligned-on-selfThe horizontal amount that this object is moved relative to its X-parent.
self-alignment-X(number):0Specify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified.Y-offset(number):ly:self-alignment-interface::y-aligned-on-selfThe vertical amount that this object is moved relative to its Y-parent.
self-alignment-Y(number):0Like
self-alignment-Xbut for the Y axis.font-series(symbol):'boldSelect the series of a font. Choices include
medium,bold,bold-narrow, etc.font-encoding(symbol):'fetaDynamicThe font encoding is the broadest category for selecting a font. Options include:
fetaMusic,fetaNumber,TeX-text,TeX-math,fetaBraces,fetaDynamic.font-shape(symbol):'italicSelect the shape of a font. Choices include
upright,italic,caps.extra-spacing-width(pair of numbers):'(+inf.0 . -inf.0)In the horizontal spacing problem, we pad each item by this amount (by adding the ‘car’ on the left side of the item and adding the ‘cdr’ on the right side of the item). In order to make a grob take up no horizontal space at all, set this to
(+inf.0 . -inf.0).outside-staff-priority(number):250If set, the grob is positioned outside the staff in such a way as to avoid all collisions. In case of a potential collision, the grob with the smaller
outside-staff-priorityis closer to the staff.
This object supports the following interface(s): text-interface, self-alignment-interface, script-interface, item-interface, font-interface, dynamic-interface and grob-interface.
DynamicTextSpanner objects are created by: Dynamic_engraver and New_dynamic_engraver.
Standard settings:
font-shape(symbol):'italicSelect the shape of a font. Choices include
upright,italic,caps.style(symbol):'dashed-lineThis setting determines in what style a grob is typeset. Valid choices depend on the
stencilcallback reading this property.minimum-Y-extent(pair of numbers):'(-1 . 1)Minimum size of an object in Y dimension, measured in
staff-spaceunits.bound-details(list):'((right (attach-dir . -1) (Y . 0) (padding . 0.75)) (right-broken (attach-dir . 1) (padding . 0.0)) (left (attach-dir . -1) (Y . 0) (stencil-offset 0 . -0.5) (padding . 0.5)) (left-broken (attach-dir . 1)))An alist of properties for determining attachments of spanners to edges.
stencil(unknown):ly:line-spanner::printThe symbol to print.
left-bound-info(list):ly:line-spanner::calc-left-bound-info-and-textAn alist of properties for determining attachments of spanners to edges.
right-bound-info(list):ly:line-spanner::calc-right-bound-infoAn alist of properties for determining attachments of spanners to edges.
font-size(number):1The font size, compared to the ‘normal’ size.
0is style-sheet's normal size,-1is smaller,+1is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. Fractional values are allowed.dash-fraction(number):0.2Size of the dashes, relative to
dash-period. Should be between0.0(no line) and1.0(continuous line).dash-period(number):3.0The length of one dash together with whitespace. If negative, no line is drawn at all.
This object supports the following interface(s): text-interface, spanner-interface, line-spanner-interface, line-interface, font-interface, dynamic-text-spanner-interface, dynamic-interface and grob-interface.
Fingering objects are created by: Fingering_engraver and New_fingering_engraver.
Standard settings:
padding(dimension, in staff space):0.5Add this much extra space between objects that are next to each other.
avoid-slur(symbol):'aroundMethod of handling slur collisions. Choices are
around,inside,outside. If unset, scripts and slurs ignore each other.aroundonly moves the script if there is a collision;outsidealways moves the script.slur-padding(number):0.2Extra distance between slur and script.
staff-padding(dimension, in staff space):0.5Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
self-alignment-X(number):0Specify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified.self-alignment-Y(number):0Like
self-alignment-Xbut for the Y axis.script-priority(number):100A sorting key that determines in what order a script is within a stack of scripts.
stencil(unknown):ly:text-interface::printThe symbol to print.
direction(direction):ly:script-interface::calc-directionIf
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.text(markup):fingering::calc-textText markup. See Formatting text.
font-encoding(symbol):'fetaNumberThe font encoding is the broadest category for selecting a font. Options include:
fetaMusic,fetaNumber,TeX-text,TeX-math,fetaBraces,fetaDynamic.font-size(number):-5The font size, compared to the ‘normal’ size.
0is style-sheet's normal size,-1is smaller,+1is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. Fractional values are allowed.
This object supports the following interface(s): text-script-interface, text-interface, side-position-interface, self-alignment-interface, item-interface, font-interface, finger-interface and grob-interface.
FretBoard objects are created by: Fretboard_engraver.
Standard settings:
stencil(unknown):fret-board::calc-stencilThe symbol to print.
fret-diagram-details(list):'((finger-code . below-string))An alist of detailed grob properties for fret diagrams. Each alist entry consists of a (
property.value) pair. The properties which can be included in fret-diagram-details include the following:
barre-type– Type of barre indication used. Choices includecurved,straight, andnone. Defaultcurved.dot-color– Color of dots. Options includeblackandwhite. Defaultblack.dot-label-font-mag– Magnification for font used to label fret dots. Default value 1.dot-radius– Radius of dots, in terms of fret spaces. Default value 0.425 for labeled dots, 0.25 for unlabeled dots.finger-code– Code for the type of fingering indication used. Options includenone,in-dot, andbelow-string. Defaultnonefor markup fret diagrams,below-stringforFretBoardsfret diagrams.fret-count– The number of frets. Default 4.fret-label-font-mag– The magnification of the font used to label the lowest fret number. Default 0.5fret-label-vertical-offset– The vertical offset of the fret label from the fret. Default -0.2label-dir– Side to which the fret label is attached.-1,#LEFT, or#DOWNfor left or down;1,#RIGHT, or#UPfor right or up. Default#RIGHT.mute-string– Character string to be used to indicate muted string. Default "x".number-type– Type of numbers to use in fret label. Choices includeroman-lower,roman-upper, andarabic. Defaultroman-lower.open-string– Character string to be used to indicate open string. Default "o".orientation– Orientation of fret-diagram. Options includenormalandlandscape. Defaultnormal.string-count– The number of strings. Default 6.string-label-font-mag– The magnification of the font used to label fingerings at the string, rather than in the dot. Default value 0.6.top-fret-thickness– The thickness of the top fret line, as a multiple of the standard thickness. Default value 3.xo-font-magnification– Magnification used for mute and open string indicators. Default value 0.5.xo-padding– Padding for open and mute indicators from top fret. Default value 0.25.
This object supports the following interface(s): item-interface, fret-diagram-interface, font-interface and grob-interface.
Glissando objects are created by: Glissando_engraver and Note_head_line_engraver.
Standard settings:
style(symbol):'lineThis setting determines in what style a grob is typeset. Valid choices depend on the
stencilcallback reading this property.gap(dimension, in staff space):0.5Size of a gap in a variable symbol.
zigzag-width(dimension, in staff space):0.75The width of one zigzag squiggle. This number is adjusted slightly so that the glissando line can be constructed from a whole number of squiggles.
X-extent(pair of numbers):#fHard coded extent in X direction.
Y-extent(pair of numbers):#fHard coded extent in Y direction.
bound-details(list):'((right (attach-dir . 0) (padding . 1.5)) (left (attach-dir . 0) (padding . 1.5)))An alist of properties for determining attachments of spanners to edges.
stencil(unknown):ly:line-spanner::printThe symbol to print.
left-bound-info(list):ly:line-spanner::calc-left-bound-infoAn alist of properties for determining attachments of spanners to edges.
right-bound-info(list):ly:line-spanner::calc-right-bound-infoAn alist of properties for determining attachments of spanners to edges.
This object supports the following interface(s): unbreakable-spanner-interface, spanner-interface, line-spanner-interface, line-interface and grob-interface.
GraceSpacing objects are created by: Grace_spacing_engraver.
Standard settings:
common-shortest-duration(moment):grace-spacing::calc-shortest-durationThe most common shortest note length. This is used in spacing. Enlarging this sets the score tighter.
spacing-increment(number):0.8Add this much space for a doubled duration. Typically, the width of a note head. See also spacing-spanner-interface.
shortest-duration-space(dimension, in staff space):1.6Start with this much space for the shortest duration. This is expressed in
spacing-incrementas unit. See also spacing-spanner-interface.
This object supports the following interface(s): spanner-interface, spacing-options-interface, grace-spacing-interface and grob-interface.
GridLine objects are created by: Grid_line_span_engraver.
Standard settings:
X-extent(pair of numbers):ly:grid-line-interface::widthHard coded extent in X direction.
stencil(unknown):ly:grid-line-interface::printThe symbol to print.
self-alignment-X(number):0Specify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified.X-offset(number):#<simple-closure (#<primitive-generic +> #<simple-closure (#<primitive-procedure ly:self-alignment-interface::centered-on-x-parent>) > #<simple-closure (#<primitive-procedure ly:self-alignment-interface::x-aligned-on-self>) >) >The horizontal amount that this object is moved relative to its X-parent.
layer(integer):0The output layer (a value between 0 and 2: Layers define the order of printing objects. Objects in lower layers are overprinted by objects in higher layers.
This object supports the following interface(s): self-alignment-interface, item-interface, grid-line-interface and grob-interface.
GridPoint objects are created by: Grid_point_engraver.
Standard settings:
X-extent(pair of numbers):'(0 . 0)Hard coded extent in X direction.
Y-extent(pair of numbers):'(0 . 0)Hard coded extent in Y direction.
This object supports the following interface(s): item-interface, grid-point-interface and grob-interface.
Hairpin objects are created by: Dynamic_engraver and New_dynamic_engraver.
Standard settings:
stencil(unknown):ly:hairpin::printThe symbol to print.
springs-and-rods(boolean):ly:spanner::set-spacing-rodsDummy variable for triggering spacing routines.
after-line-breaking(boolean):ly:hairpin::after-line-breakingDummy property, used to trigger callback for
after-line-breaking.grow-direction(direction):hairpin::calc-grow-directionCrescendo or decrescendo?
to-barline(boolean):#tIf true, the spanner will stop at the bar line just before it would otherwise stop.
thickness(number):1.0Line thickness, generally measured in
line-thickness.height(dimension, in staff space):0.6666Height of an object in
staff-spaceunits.minimum-length(dimension, in staff space):2.0Try to make a spanner at least this long, normally in the horizontal direction. This requires an appropriate callback for the
springs-and-rodsproperty. If added to aTie, this sets the minimum distance between noteheads.bound-padding(number):1.0The amount of padding to insert around spanner bounds.
self-alignment-Y(number):0Like
self-alignment-Xbut for the Y axis.Y-offset(number):ly:self-alignment-interface::y-aligned-on-selfThe vertical amount that this object is moved relative to its Y-parent.
This object supports the following interface(s): spanner-interface, self-alignment-interface, line-interface, hairpin-interface, dynamic-interface and grob-interface.
HarmonicParenthesesItem objects are created by: Tab_harmonic_engraver.
Standard settings:
stencil(unknown):parentheses-item::printThe symbol to print.
padding(dimension, in staff space):0Add this much extra space between objects that are next to each other.
stencils(list):parentheses-item::calc-angled-bracket-stencilsMultiple stencils, used as intermediate value.
This object supports the following interface(s): parentheses-interface, item-interface, font-interface and grob-interface.
HorizontalBracket objects are created by: Horizontal_bracket_engraver.
Standard settings:
thickness(number):1.0Line thickness, generally measured in
line-thickness.stencil(unknown):ly:horizontal-bracket::printThe symbol to print.
Y-offset(number):ly:side-position-interface::y-aligned-sideThe vertical amount that this object is moved relative to its Y-parent.
connect-to-neighbor(pair):ly:tuplet-bracket::calc-connect-to-neighborsPair of booleans, indicating whether this grob looks as a continued break.
padding(dimension, in staff space):0.2Add this much extra space between objects that are next to each other.
staff-padding(dimension, in staff space):0.2Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
direction(direction):-1If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.side-axis(number):1If the value is
#X(or equivalently0), the object is placed horizontally next to the other object. If the value is#Yor1, it is placed vertically.bracket-flare(pair of numbers):'(0.5 . 0.5)A pair of numbers specifying how much edges of brackets should slant outward. Value
0.0means straight edges.
This object supports the following interface(s): spanner-interface, side-position-interface, line-interface, horizontal-bracket-interface and grob-interface.
InstrumentName objects are created by: Instrument_name_engraver.
Standard settings:
padding(dimension, in staff space):0.3Add this much extra space between objects that are next to each other.
stencil(unknown):ly:system-start-text::printThe symbol to print.
X-offset(number):ly:side-position-interface::x-aligned-sideThe horizontal amount that this object is moved relative to its X-parent.
direction(direction):-1If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.self-alignment-Y(number):0Like
self-alignment-Xbut for the Y axis.self-alignment-X(number):0Specify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified.
This object supports the following interface(s): system-start-text-interface, spanner-interface, side-position-interface, font-interface and grob-interface.
InstrumentSwitch objects are created by: Instrument_switch_engraver.
Standard settings:
padding(dimension, in staff space):0.5Add this much extra space between objects that are next to each other.
stencil(unknown):ly:text-interface::printThe symbol to print.
Y-offset(number):ly:side-position-interface::y-aligned-sideThe vertical amount that this object is moved relative to its Y-parent.
X-offset(number):ly:self-alignment-interface::x-aligned-on-selfThe horizontal amount that this object is moved relative to its X-parent.
staff-padding(dimension, in staff space):0.5Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
direction(direction):1If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.side-axis(number):1If the value is
#X(or equivalently0), the object is placed horizontally next to the other object. If the value is#Yor1, it is placed vertically.self-alignment-X(number):-1Specify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified.outside-staff-priority(number):500If set, the grob is positioned outside the staff in such a way as to avoid all collisions. In case of a potential collision, the grob with the smaller
outside-staff-priorityis closer to the staff.extra-spacing-width(pair of numbers):'(quote (+inf.0 . -inf.0))In the horizontal spacing problem, we pad each item by this amount (by adding the ‘car’ on the left side of the item and adding the ‘cdr’ on the right side of the item). In order to make a grob take up no horizontal space at all, set this to
(+inf.0 . -inf.0).
This object supports the following interface(s): side-position-interface, item-interface, font-interface and grob-interface.
KeyCancellation objects are not created by any engraver.
Standard settings:
stencil(unknown):ly:key-signature-interface::printThe symbol to print.
glyph-name-alist(list):'((0 . accidentals.natural))An alist of key-string pairs.
space-alist(list):'((time-signature extra-space . 1.25) (staff-bar extra-space . 0.6) (key-signature extra-space . 0.5) (right-edge extra-space . 0.5) (first-note fixed-space . 2.5))A table that specifies distances between prefatory items, like clef and time-signature. The format is an alist of spacing tuples:
(break-align-symbol type.distance), where type can be the symbolsminimum-spaceorextra-space.Y-offset(number):ly:staff-symbol-referencer::callbackThe vertical amount that this object is moved relative to its Y-parent.
break-align-symbol(symbol):'key-cancellationThis key is used for aligning and spacing breakable items.
break-visibility(vector):#(#t #t #f)A vector of 3 booleans,
#(end-of-line unbroken begin-of-line).#tmeans visible,#fmeans killed.non-musical(boolean):#tTrue if the grob belongs to a
NonMusicalPaperColumn.
This object supports the following interface(s): key-signature-interface, key-cancellation-interface, item-interface, font-interface, break-aligned-interface and grob-interface.
KeySignature objects are created by: Key_engraver.
Standard settings:
stencil(unknown):ly:key-signature-interface::printThe symbol to print.
avoid-slur(symbol):'insideMethod of handling slur collisions. Choices are
around,inside,outside. If unset, scripts and slurs ignore each other.aroundonly moves the script if there is a collision;outsidealways moves the script.glyph-name-alist(list):'((0 . accidentals.natural) (-1/2 . accidentals.flat) (1/2 . accidentals.sharp) (1 . accidentals.doublesharp) (-1 . accidentals.flatflat) (3/4 . accidentals.sharp.slashslash.stemstemstem) (1/4 . accidentals.sharp.slashslash.stem) (-1/4 . accidentals.mirroredflat) (-3/4 . accidentals.mirroredflat.flat))An alist of key-string pairs.
space-alist(list):'((time-signature extra-space . 1.15) (staff-bar extra-space . 1.1) (right-edge extra-space . 0.5) (first-note fixed-space . 2.5))A table that specifies distances between prefatory items, like clef and time-signature. The format is an alist of spacing tuples:
(break-align-symbol type.distance), where type can be the symbolsminimum-spaceorextra-space.Y-offset(number):ly:staff-symbol-referencer::callbackThe vertical amount that this object is moved relative to its Y-parent.
break-align-symbol(symbol):'key-signatureThis key is used for aligning and spacing breakable items.
break-align-anchor(number):ly:break-aligned-interface::calc-extent-aligned-anchorGrobs aligned to this break-align grob will have their X-offsets shifted by this number. In bar lines, for example, this is used to position grobs relative to the (visual) center of the bar line.
break-visibility(vector):#(#f #f #t)A vector of 3 booleans,
#(end-of-line unbroken begin-of-line).#tmeans visible,#fmeans killed.non-musical(boolean):#tTrue if the grob belongs to a
NonMusicalPaperColumn.
This object supports the following interface(s): key-signature-interface, item-interface, font-interface, break-aligned-interface and grob-interface.
LaissezVibrerTie objects are created by: Laissez_vibrer_engraver.
Standard settings:
stencil(unknown):ly:tie::printThe symbol to print.
control-points(list):ly:semi-tie::calc-control-pointsList of offsets (number pairs) that form control points for the tie, slur, or bracket shape. For Béziers, this should list the control points of a third-order Bézier curve.
direction(direction):ly:tie::calc-directionIf
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.head-direction(direction):-1Are the note heads left or right in a semitie?
thickness(number):1.0Line thickness, generally measured in
line-thickness.
This object supports the following interface(s): semi-tie-interface, item-interface and grob-interface.
LaissezVibrerTieColumn objects are created by: Laissez_vibrer_engraver.
Standard settings:
X-extent(pair of numbers):#fHard coded extent in X direction.
Y-extent(pair of numbers):#fHard coded extent in Y direction.
head-direction(direction):-1Are the note heads left or right in a semitie?
This object supports the following interface(s): semi-tie-column-interface, item-interface and grob-interface.
LedgerLineSpanner objects are created by: Ledger_line_engraver.
Standard settings:
springs-and-rods(boolean):ly:ledger-line-spanner::set-spacing-rodsDummy variable for triggering spacing routines.
stencil(unknown):ly:ledger-line-spanner::printThe symbol to print.
X-extent(pair of numbers):#fHard coded extent in X direction.
Y-extent(pair of numbers):#fHard coded extent in Y direction.
minimum-length-fraction(number):0.25Minimum length of ledger line as fraction of note head size.
length-fraction(number):0.25Multiplier for lengths. Used for determining ledger lines and stem lengths.
layer(integer):0The output layer (a value between 0 and 2: Layers define the order of printing objects. Objects in lower layers are overprinted by objects in higher layers.
This object supports the following interface(s): spanner-interface, ledger-line-spanner-interface and grob-interface.
LeftEdge objects are created by: Break_align_engraver.
Standard settings:
break-align-symbol(symbol):'left-edgeThis key is used for aligning and spacing breakable items.
break-align-anchor(number):ly:break-aligned-interface::calc-extent-aligned-anchorGrobs aligned to this break-align grob will have their X-offsets shifted by this number. In bar lines, for example, this is used to position grobs relative to the (visual) center of the bar line.
X-extent(pair of numbers):'(0 . 0)Hard coded extent in X direction.
non-musical(boolean):#tTrue if the grob belongs to a
NonMusicalPaperColumn.break-visibility(vector):#(#t #f #t)A vector of 3 booleans,
#(end-of-line unbroken begin-of-line).#tmeans visible,#fmeans killed.space-alist(list):'((custos extra-space . 0.0) (ambitus extra-space . 2.0) (time-signature extra-space . 1.0) (staff-bar extra-space . 0.0) (breathing-sign minimum-space . 0.0) (clef extra-space . 0.8) (first-note fixed-space . 2.0) (right-edge extra-space . 0.0) (key-signature extra-space . 0.0) (key-cancellation extra-space . 0.0))A table that specifies distances between prefatory items, like clef and time-signature. The format is an alist of spacing tuples:
(break-align-symbol type.distance), where type can be the symbolsminimum-spaceorextra-space.
This object supports the following interface(s): item-interface, break-aligned-interface and grob-interface.
LigatureBracket objects are created by: Ligature_bracket_engraver.
Standard settings:
padding(dimension, in staff space):2.0Add this much extra space between objects that are next to each other.
thickness(number):1.6Line thickness, generally measured in
line-thickness.edge-height(pair):'(0.7 . 0.7)A pair of numbers specifying the heights of the vertical edges:
(left-height.right-height).shorten-pair(pair of numbers):'(-0.2 . -0.2)The lengths to shorten a text-spanner on both sides, for example a pedal bracket. Positive values shorten the text-spanner, while negative values lengthen it.
direction(direction):1If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.positions(pair of numbers):ly:tuplet-bracket::calc-positionsPair of staff coordinates
(left.right), where both left and right are instaff-spaceunits of the current staff. For slurs, this value selects which slur candidate to use; if extreme positions are requested, the closest one is taken.stencil(unknown):ly:tuplet-bracket::printThe symbol to print.
staff-padding(dimension, in staff space):0.25Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
connect-to-neighbor(pair):ly:tuplet-bracket::calc-connect-to-neighborsPair of booleans, indicating whether this grob looks as a continued break.
control-points(list):ly:tuplet-bracket::calc-control-pointsList of offsets (number pairs) that form control points for the tie, slur, or bracket shape. For Béziers, this should list the control points of a third-order Bézier curve.
This object supports the following interface(s): tuplet-bracket-interface, spanner-interface, line-interface and grob-interface.
LyricExtender objects are created by: Extender_engraver.
Standard settings:
stencil(unknown):ly:lyric-extender::printThe symbol to print.
thickness(number):0.8Line thickness, generally measured in
line-thickness.minimum-length(dimension, in staff space):1.5Try to make a spanner at least this long, normally in the horizontal direction. This requires an appropriate callback for the
springs-and-rodsproperty. If added to aTie, this sets the minimum distance between noteheads.Y-extent(pair of numbers):'(0 . 0)Hard coded extent in Y direction.
This object supports the following interface(s): spanner-interface, lyric-interface, lyric-extender-interface and grob-interface.
LyricHyphen objects are created by: Hyphen_engraver.
Standard settings:
thickness(number):1.3Line thickness, generally measured in
line-thickness.height(dimension, in staff space):0.42Height of an object in
staff-spaceunits.dash-period(number):10.0The length of one dash together with whitespace. If negative, no line is drawn at all.
length(dimension, in staff space):0.66User override for the stem length of unbeamed stems.
minimum-length(dimension, in staff space):0.3Try to make a spanner at least this long, normally in the horizontal direction. This requires an appropriate callback for the
springs-and-rodsproperty. If added to aTie, this sets the minimum distance between noteheads.minimum-distance(dimension, in staff space):0.1Minimum distance between rest and notes or beam.
padding(dimension, in staff space):0.07Add this much extra space between objects that are next to each other.
springs-and-rods(boolean):ly:lyric-hyphen::set-spacing-rodsDummy variable for triggering spacing routines.
stencil(unknown):ly:lyric-hyphen::printThe symbol to print.
Y-extent(pair of numbers):'(0 . 0)Hard coded extent in Y direction.
This object supports the following interface(s): spanner-interface, lyric-interface, lyric-hyphen-interface, font-interface and grob-interface.
LyricSpace objects are created by: Hyphen_engraver.
Standard settings:
minimum-distance(dimension, in staff space):0.45Minimum distance between rest and notes or beam.
springs-and-rods(boolean):ly:lyric-hyphen::set-spacing-rodsDummy variable for triggering spacing routines.
padding(dimension, in staff space):0.0Add this much extra space between objects that are next to each other.
Y-extent(pair of numbers):#fHard coded extent in Y direction.
X-extent(pair of numbers):#fHard coded extent in X direction.
This object supports the following interface(s): spanner-interface, lyric-hyphen-interface and grob-interface.
LyricText objects are created by: Lyric_engraver.
Standard settings:
stencil(unknown):lyric-text::printThe symbol to print.
text(markup):#<procedure #f (grob)>Text markup. See Formatting text.
X-offset(number):ly:self-alignment-interface::aligned-on-x-parentThe horizontal amount that this object is moved relative to its X-parent.
self-alignment-X(number):0Specify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified.word-space(dimension, in staff space):0.6Space to insert between words in texts.
font-series(symbol):'bold-narrowSelect the series of a font. Choices include
medium,bold,bold-narrow, etc.font-size(number):1.0The font size, compared to the ‘normal’ size.
0is style-sheet's normal size,-1is smaller,+1is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. Fractional values are allowed.extra-spacing-width(pair of numbers):'(0.0 . 0.0)In the horizontal spacing problem, we pad each item by this amount (by adding the ‘car’ on the left side of the item and adding the ‘cdr’ on the right side of the item). In order to make a grob take up no horizontal space at all, set this to
(+inf.0 . -inf.0).
This object supports the following interface(s): text-interface, self-alignment-interface, rhythmic-grob-interface, lyric-syllable-interface, item-interface, font-interface and grob-interface.
MeasureGrouping objects are created by: Measure_grouping_engraver.
Standard settings:
Y-offset(number):ly:side-position-interface::y-aligned-sideThe vertical amount that this object is moved relative to its Y-parent.
side-axis(number):1If the value is
#X(or equivalently0), the object is placed horizontally next to the other object. If the value is#Yor1, it is placed vertically.stencil(unknown):ly:measure-grouping::printThe symbol to print.
padding(dimension, in staff space):2Add this much extra space between objects that are next to each other.
direction(direction):1If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.thickness(number):1Line thickness, generally measured in
line-thickness.height(dimension, in staff space):2.0Height of an object in
staff-spaceunits.staff-padding(dimension, in staff space):3Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
This object supports the following interface(s): spanner-interface, side-position-interface, measure-grouping-interface and grob-interface.
MelodyItem objects are created by: Melody_engraver.
Standard settings:
neutral-direction(direction):-1Which direction to take in the center of the staff.
This object supports the following interface(s): melody-spanner-interface, item-interface and grob-interface.
MensuralLigature objects are created by: Mensural_ligature_engraver.
Standard settings:
thickness(number):1.4Line thickness, generally measured in
line-thickness.stencil(unknown):ly:mensural-ligature::printThe symbol to print.
This object supports the following interface(s): spanner-interface, mensural-ligature-interface, font-interface and grob-interface.
MetronomeMark objects are created by: Metronome_mark_engraver.
Standard settings:
stencil(unknown):ly:text-interface::printThe symbol to print.
Y-offset(number):ly:side-position-interface::y-aligned-sideThe vertical amount that this object is moved relative to its Y-parent.
direction(direction):1If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.padding(dimension, in staff space):0.8Add this much extra space between objects that are next to each other.
side-axis(number):1If the value is
#X(or equivalently0), the object is placed horizontally next to the other object. If the value is#Yor1, it is placed vertically.extra-spacing-width(pair of numbers):'(+inf.0 . -inf.0)In the horizontal spacing problem, we pad each item by this amount (by adding the ‘car’ on the left side of the item and adding the ‘cdr’ on the right side of the item). In order to make a grob take up no horizontal space at all, set this to
(+inf.0 . -inf.0).outside-staff-priority(number):1000If set, the grob is positioned outside the staff in such a way as to avoid all collisions. In case of a potential collision, the grob with the smaller
outside-staff-priorityis closer to the staff.
This object supports the following interface(s): text-interface, side-position-interface, metronome-mark-interface, item-interface, font-interface and grob-interface.
MultiMeasureRest objects are created by: Multi_measure_rest_engraver.
Standard settings:
stencil(unknown):ly:multi-measure-rest::printThe symbol to print.
springs-and-rods(boolean):ly:multi-measure-rest::set-spacing-rodsDummy variable for triggering spacing routines.
Y-offset(number):ly:staff-symbol-referencer::callbackThe vertical amount that this object is moved relative to its Y-parent.
staff-position(number):0Vertical position, measured in half staff spaces, counted from the middle line.
expand-limit(integer):10Maximum number of measures expanded in church rests.
thick-thickness(number):6.6Bar line thickness, measured in
line-thickness.hair-thickness(number):2.0Thickness of the thin line in a bar line.
padding(dimension, in staff space):1Add this much extra space between objects that are next to each other.
This object supports the following interface(s): staff-symbol-referencer-interface, spanner-interface, rest-interface, multi-measure-rest-interface, multi-measure-interface, font-interface and grob-interface.
MultiMeasureRestNumber objects are created by: Multi_measure_rest_engraver.
Standard settings:
bound-padding(number):2.0The amount of padding to insert around spanner bounds.
springs-and-rods(boolean):ly:multi-measure-rest::set-text-rodsDummy variable for triggering spacing routines.
stencil(unknown):ly:text-interface::printThe symbol to print.
X-offset(number):#<simple-closure (#<primitive-generic +> #<simple-closure (#<primitive-procedure ly:self-alignment-interface::x-aligned-on-self>) > #<simple-closure (#<primitive-procedure ly:self-alignment-interface::x-centered-on-y-parent>) >) >The horizontal amount that this object is moved relative to its X-parent.
Y-offset(number):ly:side-position-interface::y-aligned-sideThe vertical amount that this object is moved relative to its Y-parent.
side-axis(number):1If the value is
#X(or equivalently0), the object is placed horizontally next to the other object. If the value is#Yor1, it is placed vertically.self-alignment-X(number):0Specify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified.direction(direction):1If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.padding(dimension, in staff space):0.4Add this much extra space between objects that are next to each other.
staff-padding(dimension, in staff space):0.4Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
font-encoding(symbol):'fetaNumberThe font encoding is the broadest category for selecting a font. Options include:
fetaMusic,fetaNumber,TeX-text,TeX-math,fetaBraces,fetaDynamic.
This object supports the following interface(s): text-interface, spanner-interface, side-position-interface, self-alignment-interface, multi-measure-interface, font-interface and grob-interface.
MultiMeasureRestText objects are created by: Multi_measure_rest_engraver.
Standard settings:
stencil(unknown):ly:text-interface::printThe symbol to print.
X-offset(number):#<simple-closure (#<primitive-generic +> #<simple-closure (#<primitive-procedure ly:self-alignment-interface::x-centered-on-y-parent>) > #<simple-closure (#<primitive-procedure ly:self-alignment-interface::x-aligned-on-self>) >) >The horizontal amount that this object is moved relative to its X-parent.
Y-offset(number):ly:side-position-interface::y-aligned-sideThe vertical amount that this object is moved relative to its Y-parent.
self-alignment-X(number):0Specify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified.direction(direction):1If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.padding(dimension, in staff space):0.2Add this much extra space between objects that are next to each other.
staff-padding(dimension, in staff space):0.25Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
outside-staff-priority(number):450If set, the grob is positioned outside the staff in such a way as to avoid all collisions. In case of a potential collision, the grob with the smaller
outside-staff-priorityis closer to the staff.
This object supports the following interface(s): text-interface, spanner-interface, side-position-interface, self-alignment-interface, multi-measure-interface, font-interface and grob-interface.
NonMusicalPaperColumn objects are created by: Paper_column_engraver.
Standard settings:
allow-loose-spacing(boolean):#tIf set, column can be detached from main spacing.
axes(list):'(0)List of axis numbers. In the case of alignment grobs, this should contain only one number.
before-line-breaking(boolean):ly:paper-column::before-line-breakingDummy property, used to trigger a callback function.
X-extent(pair of numbers):ly:axis-group-interface::widthHard coded extent in X direction.
horizontal-skylines(unknown):ly:separation-item::calc-skylinesTwo skylines, one to the left and one to the right of this grob.
non-musical(boolean):#tTrue if the grob belongs to a
NonMusicalPaperColumn.line-break-permission(symbol):'allowInstructs the line breaker on whether to put a line break at this column. Can be
forceorallow.page-break-permission(symbol):'allowInstructs the page breaker on whether to put a page break at this column. Can be
forceorallow.
This object supports the following interface(s): spaceable-grob-interface, separation-item-interface, paper-column-interface, item-interface, axis-group-interface and grob-interface.
NoteCollision objects are created by: Collision_engraver.
Standard settings:
axes(list):'(0 1)List of axis numbers. In the case of alignment grobs, this should contain only one number.
X-extent(pair of numbers):ly:axis-group-interface::widthHard coded extent in X direction.
Y-extent(pair of numbers):ly:axis-group-interface::heightHard coded extent in Y direction.
prefer-dotted-right(boolean):#tFor note collisions, prefer to shift dotted up-note to the right, rather than shifting just the dot.
This object supports the following interface(s): note-collision-interface, item-interface, axis-group-interface and grob-interface.
NoteColumn objects are created by: Rhythmic_column_engraver.
Standard settings:
axes(list):'(0 1)List of axis numbers. In the case of alignment grobs, this should contain only one number.
X-extent(pair of numbers):ly:axis-group-interface::widthHard coded extent in X direction.
Y-extent(pair of numbers):ly:axis-group-interface::heightHard coded extent in Y direction.
horizontal-skylines(unknown):ly:separation-item::calc-skylinesTwo skylines, one to the left and one to the right of this grob.
This object supports the following interface(s): separation-item-interface, note-column-interface, item-interface, axis-group-interface and grob-interface.
NoteHead objects are created by: Completion_heads_engraver, Drum_notes_engraver and Note_heads_engraver.
Standard settings:
stencil(unknown):ly:note-head::printThe symbol to print.
duration-log(integer):note-head::calc-duration-logThe 2-log of the note head duration, i.e.,
0= whole note,1= half note, etc.stem-attachment(pair of numbers):ly:note-head::calc-stem-attachmentAn
(x.y)pair where the stem attaches to the notehead.Y-offset(number):ly:staff-symbol-referencer::callbackThe vertical amount that this object is moved relative to its Y-parent.
X-offset(number):ly:note-head::stem-x-shiftThe horizontal amount that this object is moved relative to its X-parent.
This object supports the following interface(s): staff-symbol-referencer-interface, rhythmic-head-interface, rhythmic-grob-interface, note-head-interface, ledgered-interface, item-interface, font-interface and grob-interface.
NoteName objects are created by: Note_name_engraver.
Standard settings:
stencil(unknown):ly:text-interface::printThe symbol to print.
This object supports the following interface(s): text-interface, note-name-interface, item-interface, font-interface and grob-interface.
NoteSpacing objects are created by: Note_spacing_engraver.
Standard settings:
stem-spacing-correction(number):0.5Optical correction amount for stems that are placed in tight configurations. For opposite directions, this amount is the correction for two normal sized stems that overlap completely.
same-direction-correction(number):0.25Optical correction amount for stems that are placed in tight configurations. This amount is used for stems with the same direction to compensate for note head to stem distance.
space-to-barline(boolean):#tIf set, the distance between a note and the following non-musical column will be measured to the bar line instead of to the beginning of the non-musical column. If there is a clef change followed by a bar line, for example, this means that we will try to space the non-musical column as though the clef is not there.
knee-spacing-correction(number):1.0Factor for the optical correction amount for kneed beams. Set between
0for no correction and1for full correction.
This object supports the following interface(s): spacing-interface, note-spacing-interface, item-interface and grob-interface.
OctavateEight objects are created by: Clef_engraver.
Standard settings:
self-alignment-X(number):0Specify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified.break-visibility(vector):#(#f #f #t)A vector of 3 booleans,
#(end-of-line unbroken begin-of-line).#tmeans visible,#fmeans killed.X-offset(number):#<simple-closure (#<primitive-generic +> #<simple-closure (#<primitive-procedure ly:self-alignment-interface::x-aligned-on-self>) > #<simple-closure (#<primitive-procedure ly:self-alignment-interface::centered-on-x-parent>) >) >The horizontal amount that this object is moved relative to its X-parent.
Y-offset(number):ly:side-position-interface::y-aligned-sideThe vertical amount that this object is moved relative to its Y-parent.
stencil(unknown):ly:text-interface::printThe symbol to print.
font-shape(symbol):'italicSelect the shape of a font. Choices include
upright,italic,caps.staff-padding(dimension, in staff space):0.2Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
font-size(number):-4The font size, compared to the ‘normal’ size.
0is style-sheet's normal size,-1is smaller,+1is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. Fractional values are allowed.
This object supports the following interface(s): text-interface, side-position-interface, self-alignment-interface, item-interface, font-interface and grob-interface.
OttavaBracket objects are created by: Ottava_spanner_engraver.
Standard settings:
Y-offset(number):ly:side-position-interface::y-aligned-sideThe vertical amount that this object is moved relative to its Y-parent.
stencil(unknown):ly:ottava-bracket::printThe symbol to print.
font-shape(symbol):'italicSelect the shape of a font. Choices include
upright,italic,caps.shorten-pair(pair of numbers):'(0.0 . -0.6)The lengths to shorten a text-spanner on both sides, for example a pedal bracket. Positive values shorten the text-spanner, while negative values lengthen it.
staff-padding(dimension, in staff space):1.0Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
padding(dimension, in staff space):0.5Add this much extra space between objects that are next to each other.
minimum-length(dimension, in staff space):1.0Try to make a spanner at least this long, normally in the horizontal direction. This requires an appropriate callback for the
springs-and-rodsproperty. If added to aTie, this sets the minimum distance between noteheads.style(symbol):'dashed-lineThis setting determines in what style a grob is typeset. Valid choices depend on the
stencilcallback reading this property.dash-fraction(number):0.3Size of the dashes, relative to
dash-period. Should be between0.0(no line) and1.0(continuous line).edge-height(pair):'(0 . 1.2)A pair of numbers specifying the heights of the vertical edges:
(left-height.right-height).direction(direction):1If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.outside-staff-priority(number):400If set, the grob is positioned outside the staff in such a way as to avoid all collisions. In case of a potential collision, the grob with the smaller
outside-staff-priorityis closer to the staff.
This object supports the following interface(s): text-interface, spanner-interface, side-position-interface, ottava-bracket-interface, line-interface, horizontal-bracket-interface, font-interface and grob-interface.
PaperColumn objects are created by: Paper_column_engraver.
Standard settings:
axes(list):'(0)List of axis numbers. In the case of alignment grobs, this should contain only one number.
allow-loose-spacing(boolean):#tIf set, column can be detached from main spacing.
before-line-breaking(boolean):ly:paper-column::before-line-breakingDummy property, used to trigger a callback function.
horizontal-skylines(unknown):ly:separation-item::calc-skylinesTwo skylines, one to the left and one to the right of this grob.
X-extent(pair of numbers):ly:axis-group-interface::widthHard coded extent in X direction.
This object supports the following interface(s): spaceable-grob-interface, separation-item-interface, paper-column-interface, item-interface, axis-group-interface and grob-interface.
ParenthesesItem objects are created by: Parenthesis_engraver.
Standard settings:
stencil(unknown):parentheses-item::printThe symbol to print.
stencils(list):parentheses-item::calc-parenthesis-stencilsMultiple stencils, used as intermediate value.
font-size(number):-6The font size, compared to the ‘normal’ size.
0is style-sheet's normal size,-1is smaller,+1is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. Fractional values are allowed.padding(dimension, in staff space):0.2Add this much extra space between objects that are next to each other.
This object supports the following interface(s): parentheses-interface, item-interface, font-interface and grob-interface.
PercentRepeat objects are created by: Percent_repeat_engraver.
Standard settings:
springs-and-rods(boolean):ly:multi-measure-rest::set-spacing-rodsDummy variable for triggering spacing routines.
stencil(unknown):ly:multi-measure-rest::percentThe symbol to print.
slope(number):1.0The slope of this object.
thickness(number):0.48Line thickness, generally measured in
line-thickness.font-encoding(symbol):'fetaMusicThe font encoding is the broadest category for selecting a font. Options include:
fetaMusic,fetaNumber,TeX-text,TeX-math,fetaBraces,fetaDynamic.
This object supports the following interface(s): spanner-interface, percent-repeat-interface, multi-measure-rest-interface, font-interface and grob-interface.
PercentRepeatCounter objects are created by: Percent_repeat_engraver.
Standard settings:
stencil(unknown):ly:text-interface::printThe symbol to print.
X-offset(number):#<simple-closure (#<primitive-generic +> #<simple-closure (#<primitive-procedure ly:self-alignment-interface::x-centered-on-y-parent>) > #<simple-closure (#<primitive-procedure ly:self-alignment-interface::x-aligned-on-self>) >) >The horizontal amount that this object is moved relative to its X-parent.
Y-offset(number):ly:side-position-interface::y-aligned-sideThe vertical amount that this object is moved relative to its Y-parent.
self-alignment-X(number):0Specify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified.direction(direction):1If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.padding(dimension, in staff space):0.2Add this much extra space between objects that are next to each other.
staff-padding(dimension, in staff space):0.25Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
font-size(number):-2The font size, compared to the ‘normal’ size.
0is style-sheet's normal size,-1is smaller,+1is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. Fractional values are allowed.font-encoding(symbol):'fetaNumberThe font encoding is the broadest category for selecting a font. Options include:
fetaMusic,fetaNumber,TeX-text,TeX-math,fetaBraces,fetaDynamic.
This object supports the following interface(s): text-interface, spanner-interface, side-position-interface, self-alignment-interface, percent-repeat-interface, font-interface and grob-interface.
PhrasingSlur objects are created by: Phrasing_slur_engraver.
Standard settings:
control-points(list):ly:slur::calc-control-pointsList of offsets (number pairs) that form control points for the tie, slur, or bracket shape. For Béziers, this should list the control points of a third-order Bézier curve.
direction(direction):ly:slur::calc-directionIf
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.springs-and-rods(boolean):ly:spanner::set-spacing-rodsDummy variable for triggering spacing routines.
Y-extent(pair of numbers):ly:slur::heightHard coded extent in Y direction.
stencil(unknown):ly:slur::printThe symbol to print.
thickness(number):1.1Line thickness, generally measured in
line-thickness.minimum-length(dimension, in staff space):1.5Try to make a spanner at least this long, normally in the horizontal direction. This requires an appropriate callback for the
springs-and-rodsproperty. If added to aTie, this sets the minimum distance between noteheads.height-limit(dimension, in staff space):2.0Maximum slur height: The longer the slur, the closer it is to this height.
ratio(number):0.333Parameter for slur shape. The higher this number, the quicker the slur attains its
height-limit.
This object supports the following interface(s): spanner-interface, slur-interface and grob-interface.
PianoPedalBracket objects are created by: Piano_pedal_engraver.
Standard settings:
stencil(unknown):ly:piano-pedal-bracket::printThe symbol to print.
style(symbol):'lineThis setting determines in what style a grob is typeset. Valid choices depend on the
stencilcallback reading this property.bound-padding(number):1.0The amount of padding to insert around spanner bounds.
direction(direction):-1If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.bracket-flare(pair of numbers):'(0.5 . 0.5)A pair of numbers specifying how much edges of brackets should slant outward. Value
0.0means straight edges.edge-height(pair):'(1.0 . 1.0)A pair of numbers specifying the heights of the vertical edges:
(left-height.right-height).shorten-pair(pair of numbers):'(0.0 . 0.0)The lengths to shorten a text-spanner on both sides, for example a pedal bracket. Positive values shorten the text-spanner, while negative values lengthen it.
thickness(number):1.0Line thickness, generally measured in
line-thickness.
This object supports the following interface(s): spanner-interface, piano-pedal-interface, piano-pedal-bracket-interface, line-interface and grob-interface.
RehearsalMark objects are created by: Mark_engraver.
Standard settings:
stencil(unknown):ly:text-interface::printThe symbol to print.
X-offset(number):#<simple-closure (#<primitive-generic +> #<simple-closure (#<primitive-procedure ly:break-alignable-interface::self-align-callback>) > #<simple-closure (#<primitive-procedure ly:self-alignment-interface::x-aligned-on-self>) >) >The horizontal amount that this object is moved relative to its X-parent.
Y-offset(number):ly:side-position-interface::y-aligned-sideThe vertical amount that this object is moved relative to its Y-parent.
extra-spacing-width(pair of numbers):'(+inf.0 . -inf.0)In the horizontal spacing problem, we pad each item by this amount (by adding the ‘car’ on the left side of the item and adding the ‘cdr’ on the right side of the item). In order to make a grob take up no horizontal space at all, set this to
(+inf.0 . -inf.0).self-alignment-X(number):0Specify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified.direction(direction):1If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.non-musical(boolean):#tTrue if the grob belongs to a
NonMusicalPaperColumn.font-size(number):2The font size, compared to the ‘normal’ size.
0is style-sheet's normal size,-1is smaller,+1is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. Fractional values are allowed.baseline-skip(dimension, in staff space):2Distance between base lines of multiple lines of text.
break-visibility(vector):#(#f #t #t)A vector of 3 booleans,
#(end-of-line unbroken begin-of-line).#tmeans visible,#fmeans killed.break-align-symbols(list):'(staff-bar clef)A list of symbols that determine which break-aligned grobs to align this to. If the grob selected by the first symbol in the list is invisible due to break-visibility, we will align to the next grob (and so on).
padding(dimension, in staff space):0.8Add this much extra space between objects that are next to each other.
outside-staff-priority(number):1500If set, the grob is positioned outside the staff in such a way as to avoid all collisions. In case of a potential collision, the grob with the smaller
outside-staff-priorityis closer to the staff.
This object supports the following interface(s): text-interface, side-position-interface, self-alignment-interface, mark-interface, item-interface, font-interface, break-alignable-interface and grob-interface.
RepeatSlash objects are created by: Slash_repeat_engraver.
Standard settings:
stencil(unknown):ly:percent-repeat-item-interface::beat-slashThe symbol to print.
thickness(number):0.48Line thickness, generally measured in
line-thickness.slope(number):1.7The slope of this object.
This object supports the following interface(s): rhythmic-grob-interface, percent-repeat-item-interface, percent-repeat-interface, item-interface and grob-interface.
RepeatTie objects are created by: Repeat_tie_engraver.
Standard settings:
stencil(unknown):ly:tie::printThe symbol to print.
control-points(list):ly:semi-tie::calc-control-pointsList of offsets (number pairs) that form control points for the tie, slur, or bracket shape. For Béziers, this should list the control points of a third-order Bézier curve.
direction(direction):ly:tie::calc-directionIf
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.thickness(number):1.0Line thickness, generally measured in
line-thickness.head-direction(direction):1Are the note heads left or right in a semitie?
This object supports the following interface(s): semi-tie-interface, item-interface and grob-interface.
RepeatTieColumn objects are created by: Repeat_tie_engraver.
Standard settings:
X-extent(pair of numbers):#fHard coded extent in X direction.
Y-extent(pair of numbers):#fHard coded extent in Y direction.
direction(direction):ly:tie::calc-directionIf
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.head-direction(direction):ly:semi-tie-column::calc-head-directionAre the note heads left or right in a semitie?
This object supports the following interface(s): semi-tie-column-interface, item-interface and grob-interface.
Rest objects are created by: Rest_engraver.
Standard settings:
stencil(unknown):ly:rest::printThe symbol to print.
duration-log(integer):stem::calc-duration-logThe 2-log of the note head duration, i.e.,
0= whole note,1= half note, etc.X-extent(pair of numbers):ly:rest::widthHard coded extent in X direction.
Y-extent(pair of numbers):ly:rest::heightHard coded extent in Y direction.
Y-offset(number):ly:rest::y-offset-callbackThe vertical amount that this object is moved relative to its Y-parent.
minimum-distance(dimension, in staff space):0.25Minimum distance between rest and notes or beam.
This object supports the following interface(s): staff-symbol-referencer-interface, rhythmic-head-interface, rhythmic-grob-interface, rest-interface, item-interface, font-interface and grob-interface.
RestCollision objects are created by: Rest_collision_engraver.
Standard settings:
minimum-distance(dimension, in staff space):0.75Minimum distance between rest and notes or beam.
This object supports the following interface(s): rest-collision-interface, item-interface and grob-interface.
Script objects are created by: Drum_notes_engraver, New_fingering_engraver and Script_engraver.
Standard settings:
staff-padding(dimension, in staff space):0.25Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
X-offset(number):script-interface::calc-x-offsetThe horizontal amount that this object is moved relative to its X-parent.
Y-offset(number):ly:side-position-interface::y-aligned-sideThe vertical amount that this object is moved relative to its Y-parent.
side-axis(number):1If the value is
#X(or equivalently0), the object is placed horizontally next to the other object. If the value is#Yor1, it is placed vertically.stencil(unknown):ly:script-interface::printThe symbol to print.
direction(direction):ly:script-interface::calc-directionIf
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.font-encoding(symbol):'fetaMusicThe font encoding is the broadest category for selecting a font. Options include:
fetaMusic,fetaNumber,TeX-text,TeX-math,fetaBraces,fetaDynamic.
This object supports the following interface(s): side-position-interface, script-interface, item-interface, font-interface and grob-interface.
ScriptColumn objects are created by: Script_column_engraver.
Standard settings:
before-line-breaking(boolean):ly:script-column::before-line-breakingDummy property, used to trigger a callback function.
This object supports the following interface(s): script-column-interface, item-interface and grob-interface.
ScriptRow objects are created by: Script_row_engraver.
Standard settings:
before-line-breaking(boolean):ly:script-column::row-before-line-breakingDummy property, used to trigger a callback function.
This object supports the following interface(s): script-column-interface, item-interface and grob-interface.
SeparationItem objects are not created by any engraver.
Standard settings:
avoid-slur(symbol):'insideMethod of handling slur collisions. Choices are
around,inside,outside. If unset, scripts and slurs ignore each other.aroundonly moves the script if there is a collision;outsidealways moves the script.X-extent(pair of numbers):ly:axis-group-interface::widthHard coded extent in X direction.
Y-extent(pair of numbers):ly:axis-group-interface::heightHard coded extent in Y direction.
horizontal-skylines(unknown):ly:separation-item::calc-skylinesTwo skylines, one to the left and one to the right of this grob.
stencil(unknown):ly:separation-item::printThe symbol to print.
This object supports the following interface(s): separation-item-interface, item-interface and grob-interface.
Slur objects are created by: Slur_engraver.
Standard settings:
control-points(list):ly:slur::calc-control-pointsList of offsets (number pairs) that form control points for the tie, slur, or bracket shape. For Béziers, this should list the control points of a third-order Bézier curve.
direction(direction):ly:slur::calc-directionIf
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.springs-and-rods(boolean):ly:spanner::set-spacing-rodsDummy variable for triggering spacing routines.
Y-extent(pair of numbers):ly:slur::heightHard coded extent in Y direction.
stencil(unknown):ly:slur::printThe symbol to print.
thickness(number):1.2Line thickness, generally measured in
line-thickness.line-thickness(number):0.8The thickness of the tie or slur contour.
minimum-length(dimension, in staff space):1.5Try to make a spanner at least this long, normally in the horizontal direction. This requires an appropriate callback for the
springs-and-rodsproperty. If added to aTie, this sets the minimum distance between noteheads.height-limit(dimension, in staff space):2.0Maximum slur height: The longer the slur, the closer it is to this height.
ratio(number):0.25Parameter for slur shape. The higher this number, the quicker the slur attains its
height-limit.avoid-slur(symbol):'insideMethod of handling slur collisions. Choices are
around,inside,outside. If unset, scripts and slurs ignore each other.aroundonly moves the script if there is a collision;outsidealways moves the script.
This object supports the following interface(s): spanner-interface, slur-interface and grob-interface.
SostenutoPedal objects are created by: Piano_pedal_engraver.
Standard settings:
stencil(unknown):ly:text-interface::printThe symbol to print.
direction(direction):1If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.X-offset(number):ly:self-alignment-interface::x-aligned-on-selfThe horizontal amount that this object is moved relative to its X-parent.
extra-spacing-width(pair of numbers):'(+inf.0 . -inf.0)In the horizontal spacing problem, we pad each item by this amount (by adding the ‘car’ on the left side of the item and adding the ‘cdr’ on the right side of the item). In order to make a grob take up no horizontal space at all, set this to
(+inf.0 . -inf.0).padding(dimension, in staff space):0.0Add this much extra space between objects that are next to each other.
font-shape(symbol):'italicSelect the shape of a font. Choices include
upright,italic,caps.self-alignment-X(number):0Specify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified.
This object supports the following interface(s): text-interface, self-alignment-interface, piano-pedal-script-interface, item-interface, font-interface and grob-interface.
SostenutoPedalLineSpanner objects are created by: Piano_pedal_align_engraver.
Standard settings:
axes(list):'(1)List of axis numbers. In the case of alignment grobs, this should contain only one number.
Y-extent(pair of numbers):ly:axis-group-interface::heightHard coded extent in Y direction.
X-extent(pair of numbers):ly:axis-group-interface::widthHard coded extent in X direction.
Y-offset(number):ly:side-position-interface::y-aligned-sideThe vertical amount that this object is moved relative to its Y-parent.
outside-staff-priority(number):1000If set, the grob is positioned outside the staff in such a way as to avoid all collisions. In case of a potential collision, the grob with the smaller
outside-staff-priorityis closer to the staff.side-axis(number):1If the value is
#X(or equivalently0), the object is placed horizontally next to the other object. If the value is#Yor1, it is placed vertically.staff-padding(dimension, in staff space):1.0Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
padding(dimension, in staff space):1.2Add this much extra space between objects that are next to each other.
minimum-space(dimension, in staff space):1.0Minimum distance that the victim should move (after padding).
direction(direction):-1If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.
This object supports the following interface(s): spanner-interface, side-position-interface, piano-pedal-interface, axis-group-interface and grob-interface.
SpacingSpanner objects are created by: Spacing_engraver.
Standard settings:
springs-and-rods(boolean):ly:spacing-spanner::set-springsDummy variable for triggering spacing routines.
common-shortest-duration(moment):ly:spacing-spanner::calc-common-shortest-durationThe most common shortest note length. This is used in spacing. Enlarging this sets the score tighter.
average-spacing-wishes(boolean):#tIf set, the spacing wishes are averaged over staves.
shortest-duration-space(dimension, in staff space):2.0Start with this much space for the shortest duration. This is expressed in
spacing-incrementas unit. See also spacing-spanner-interface.spacing-increment(number):1.2Add this much space for a doubled duration. Typically, the width of a note head. See also spacing-spanner-interface.
base-shortest-duration(moment):#<Mom 3/16>Spacing is based on the shortest notes in a piece. Normally, pieces are spaced as if notes at least as short as this are present.
This object supports the following interface(s): spanner-interface, spacing-spanner-interface, spacing-options-interface and grob-interface.
SpanBar objects are created by: Span_bar_engraver.
Standard settings:
break-align-symbol(symbol):'staff-barThis key is used for aligning and spacing breakable items.
Y-extent(pair of numbers):ly:axis-group-interface::heightHard coded extent in Y direction.
layer(integer):0The output layer (a value between 0 and 2: Layers define the order of printing objects. Objects in lower layers are overprinted by objects in higher layers.
non-musical(boolean):#tTrue if the grob belongs to a
NonMusicalPaperColumn.stencil(unknown):ly:span-bar::printThe symbol to print.
bar-size(dimension, in staff space):ly:span-bar::calc-bar-sizeThe size of a bar line.
X-extent(pair of numbers):ly:span-bar::widthHard coded extent in X direction.
before-line-breaking(boolean):ly:span-bar::before-line-breakingDummy property, used to trigger a callback function.
allow-span-bar(boolean):#tIf false, no inter-staff bar line will be created below this bar line.
kern(dimension, in staff space):3.0Amount of extra white space to add. For bar lines, this is the amount of space after a thick line.
thin-kern(number):3.0The space after a hair-line in a bar line.
hair-thickness(number):1.6Thickness of the thin line in a bar line.
thick-thickness(number):6.0Bar line thickness, measured in
line-thickness.
This object supports the following interface(s): span-bar-interface, item-interface, font-interface, bar-line-interface and grob-interface.
StaffSpacing objects are created by: Separating_line_group_engraver.
Standard settings:
non-musical(boolean):#tTrue if the grob belongs to a
NonMusicalPaperColumn.stem-spacing-correction(number):0.4Optical correction amount for stems that are placed in tight configurations. For opposite directions, this amount is the correction for two normal sized stems that overlap completely.
This object supports the following interface(s): staff-spacing-interface, spacing-interface, item-interface and grob-interface.
StaffSymbol objects are created by: Staff_symbol_engraver and Tab_staff_symbol_engraver.
Standard settings:
Y-extent(pair of numbers):ly:staff-symbol::heightHard coded extent in Y direction.
stencil(unknown):ly:staff-symbol::printThe symbol to print.
line-count(integer):5The number of staff lines.
ledger-line-thickness(pair of numbers):'(1.0 . 0.1)The thickness of ledger lines. It is the sum of 2 numbers: The first is the factor for line thickness, and the second for staff space. Both contributions are added.
layer(integer):0The output layer (a value between 0 and 2: Layers define the order of printing objects. Objects in lower layers are overprinted by objects in higher layers.
This object supports the following interface(s): staff-symbol-interface, spanner-interface and grob-interface.
StanzaNumber objects are created by: Stanza_number_engraver.
Standard settings:
stencil(unknown):ly:text-interface::printThe symbol to print.
font-series(symbol):'boldSelect the series of a font. Choices include
medium,bold,bold-narrow, etc.padding(dimension, in staff space):1.0Add this much extra space between objects that are next to each other.
X-offset(number):ly:side-position-interface::x-aligned-sideThe horizontal amount that this object is moved relative to its X-parent.
side-axis(number):0If the value is
#X(or equivalently0), the object is placed horizontally next to the other object. If the value is#Yor1, it is placed vertically.direction(direction):-1If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.
This object supports the following interface(s): text-interface, stanza-number-interface, side-position-interface, item-interface, font-interface and grob-interface.
Stem objects are created by: Stem_engraver.
Standard settings:
direction(direction):ly:stem::calc-directionIf
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.duration-log(integer):stem::calc-duration-logThe 2-log of the note head duration, i.e.,
0= whole note,1= half note, etc.default-direction(direction):ly:stem::calc-default-directionDirection determined by note head positions.
stem-end-position(number):ly:stem::calc-stem-end-positionWhere does the stem end (the end is opposite to the support-head)?
neutral-direction(direction):-1Which direction to take in the center of the staff.
stencil(unknown):ly:stem::printThe symbol to print.
X-extent(pair of numbers):ly:stem::widthHard coded extent in X direction.
Y-extent(pair of numbers):ly:stem::heightHard coded extent in Y direction.
length(dimension, in staff space):ly:stem::calc-lengthUser override for the stem length of unbeamed stems.
thickness(number):1.3Line thickness, generally measured in
line-thickness.flag(unknown):ly:stem::calc-flagA function returning the full flag stencil for the
Stem, which is passed to the function as the only argument. The default ly:stem::calc-stencil function uses theflag-styleproperty to determine the correct glyph for the flag. By providing your own function, you can create arbitrary flags.X-offset(number):ly:stem::offset-callbackThe horizontal amount that this object is moved relative to its X-parent.
Y-offset(number):ly:staff-symbol-referencer::callbackThe vertical amount that this object is moved relative to its Y-parent.
This object supports the following interface(s): stem-interface, item-interface, font-interface and grob-interface.
StemTremolo objects are created by: Stem_engraver.
Standard settings:
Y-extent(pair of numbers):ly:stem-tremolo::heightHard coded extent in Y direction.
X-extent(pair of numbers):ly:stem-tremolo::widthHard coded extent in X direction.
stencil(unknown):ly:stem-tremolo::printThe symbol to print.
slope(number):ly:stem-tremolo::calc-slopeThe slope of this object.
beam-width(dimension, in staff space):ly:stem-tremolo::calc-widthWidth of the tremolo sign.
style(symbol):ly:stem-tremolo::calc-styleThis setting determines in what style a grob is typeset. Valid choices depend on the
stencilcallback reading this property.beam-thickness(dimension, in staff space):0.48Beam thickness, measured in
staff-spaceunits.
This object supports the following interface(s): stem-tremolo-interface, item-interface and grob-interface.
StringNumber objects are created by: New_fingering_engraver.
Standard settings:
stencil(unknown):print-circled-text-callbackThe symbol to print.
text(markup):string-number::calc-textText markup. See Formatting text.
padding(dimension, in staff space):0.5Add this much extra space between objects that are next to each other.
staff-padding(dimension, in staff space):0.5Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
self-alignment-X(number):0Specify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified.self-alignment-Y(number):0Like
self-alignment-Xbut for the Y axis.script-priority(number):100A sorting key that determines in what order a script is within a stack of scripts.
avoid-slur(symbol):'aroundMethod of handling slur collisions. Choices are
around,inside,outside. If unset, scripts and slurs ignore each other.aroundonly moves the script if there is a collision;outsidealways moves the script.font-encoding(symbol):'fetaNumberThe font encoding is the broadest category for selecting a font. Options include:
fetaMusic,fetaNumber,TeX-text,TeX-math,fetaBraces,fetaDynamic.font-size(number):-5The font size, compared to the ‘normal’ size.
0is style-sheet's normal size,-1is smaller,+1is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. Fractional values are allowed.
This object supports the following interface(s): text-script-interface, text-interface, string-number-interface, side-position-interface, self-alignment-interface, item-interface, font-interface and grob-interface.
StrokeFinger objects are created by: New_fingering_engraver.
Standard settings:
stencil(unknown):ly:text-interface::printThe symbol to print.
text(markup):stroke-finger::calc-textText markup. See Formatting text.
digit-names(unknown):#(p i m a x)Names for string finger digits.
padding(dimension, in staff space):0.5Add this much extra space between objects that are next to each other.
staff-padding(dimension, in staff space):0.5Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
self-alignment-X(number):0Specify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified.self-alignment-Y(number):0Like
self-alignment-Xbut for the Y axis.script-priority(number):100A sorting key that determines in what order a script is within a stack of scripts.
font-shape(symbol):'italicSelect the shape of a font. Choices include
upright,italic,caps.font-size(number):-4The font size, compared to the ‘normal’ size.
0is style-sheet's normal size,-1is smaller,+1is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. Fractional values are allowed.
This object supports the following interface(s): text-script-interface, text-interface, stroke-finger-interface, side-position-interface, self-alignment-interface, item-interface, font-interface and grob-interface.
SustainPedal objects are created by: Piano_pedal_engraver.
Standard settings:
extra-spacing-width(pair of numbers):'(+inf.0 . -inf.0)In the horizontal spacing problem, we pad each item by this amount (by adding the ‘car’ on the left side of the item and adding the ‘cdr’ on the right side of the item). In order to make a grob take up no horizontal space at all, set this to
(+inf.0 . -inf.0).stencil(unknown):ly:sustain-pedal::printThe symbol to print.
self-alignment-X(number):0Specify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified.direction(direction):1If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.padding(dimension, in staff space):0.0Add this much extra space between objects that are next to each other.
X-offset(number):ly:self-alignment-interface::x-aligned-on-selfThe horizontal amount that this object is moved relative to its X-parent.
This object supports the following interface(s): text-interface, self-alignment-interface, piano-pedal-script-interface, piano-pedal-interface, item-interface, font-interface and grob-interface.
SustainPedalLineSpanner objects are created by: Piano_pedal_align_engraver.
Standard settings:
axes(list):'(1)List of axis numbers. In the case of alignment grobs, this should contain only one number.
Y-extent(pair of numbers):ly:axis-group-interface::heightHard coded extent in Y direction.
X-extent(pair of numbers):ly:axis-group-interface::widthHard coded extent in X direction.
Y-offset(number):ly:side-position-interface::y-aligned-sideThe vertical amount that this object is moved relative to its Y-parent.
outside-staff-priority(number):1000If set, the grob is positioned outside the staff in such a way as to avoid all collisions. In case of a potential collision, the grob with the smaller
outside-staff-priorityis closer to the staff.side-axis(number):1If the value is
#X(or equivalently0), the object is placed horizontally next to the other object. If the value is#Yor1, it is placed vertically.padding(dimension, in staff space):1.2Add this much extra space between objects that are next to each other.
staff-padding(dimension, in staff space):1.2Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
minimum-space(dimension, in staff space):1.0Minimum distance that the victim should move (after padding).
direction(direction):-1If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.
This object supports the following interface(s): spanner-interface, side-position-interface, piano-pedal-interface, axis-group-interface and grob-interface.
System objects are not created by any engraver.
Standard settings:
axes(list):'(0 1)List of axis numbers. In the case of alignment grobs, this should contain only one number.
X-extent(pair of numbers):ly:axis-group-interface::widthHard coded extent in X direction.
Y-extent(pair of numbers):ly:axis-group-interface::heightHard coded extent in Y direction.
vertical-skylines(unknown):ly:axis-group-interface::calc-skylinesTwo skylines, one above and one below this grob.
max-stretch(number):ly:axis-group-interface::calc-max-stretchThe maximum amount that this
VerticalAxisGroupcan be vertically stretched (for example, in order to better fill a page).
This object supports the following interface(s): system-interface, spanner-interface, axis-group-interface and grob-interface.
SystemStartBar objects are created by: System_start_delimiter_engraver.
Standard settings:
Y-extent(pair of numbers):#fHard coded extent in Y direction.
padding(dimension, in staff space):-0.1Add this much extra space between objects that are next to each other.
X-offset(number):ly:side-position-interface::x-aligned-sideThe horizontal amount that this object is moved relative to its X-parent.
direction(direction):-1If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.style(symbol):'bar-lineThis setting determines in what style a grob is typeset. Valid choices depend on the
stencilcallback reading this property.collapse-height(dimension, in staff space):5.0Minimum height of system start delimiter. If equal or smaller, the bracket/brace/line is removed.
thickness(number):1.6Line thickness, generally measured in
line-thickness.stencil(unknown):ly:system-start-delimiter::printThe symbol to print.
This object supports the following interface(s): system-start-delimiter-interface, spanner-interface, side-position-interface and grob-interface.
SystemStartBrace objects are created by: System_start_delimiter_engraver.
Standard settings:
style(symbol):'braceThis setting determines in what style a grob is typeset. Valid choices depend on the
stencilcallback reading this property.padding(dimension, in staff space):0.3Add this much extra space between objects that are next to each other.
stencil(unknown):ly:system-start-delimiter::printThe symbol to print.
collapse-height(dimension, in staff space):5.0Minimum height of system start delimiter. If equal or smaller, the bracket/brace/line is removed.
X-offset(number):ly:side-position-interface::x-aligned-sideThe horizontal amount that this object is moved relative to its X-parent.
direction(direction):-1If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.font-encoding(symbol):'fetaBracesThe font encoding is the broadest category for selecting a font. Options include:
fetaMusic,fetaNumber,TeX-text,TeX-math,fetaBraces,fetaDynamic.Y-extent(pair of numbers):#fHard coded extent in Y direction.
This object supports the following interface(s): system-start-delimiter-interface, spanner-interface, side-position-interface, font-interface and grob-interface.
SystemStartBracket objects are created by: System_start_delimiter_engraver.
Standard settings:
Y-extent(pair of numbers):#fHard coded extent in Y direction.
padding(dimension, in staff space):0.8Add this much extra space between objects that are next to each other.
X-offset(number):ly:side-position-interface::x-aligned-sideThe horizontal amount that this object is moved relative to its X-parent.
direction(direction):-1If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.stencil(unknown):ly:system-start-delimiter::printThe symbol to print.
style(symbol):'bracketThis setting determines in what style a grob is typeset. Valid choices depend on the
stencilcallback reading this property.collapse-height(dimension, in staff space):5.0Minimum height of system start delimiter. If equal or smaller, the bracket/brace/line is removed.
thickness(number):0.45Line thickness, generally measured in
line-thickness.
This object supports the following interface(s): system-start-delimiter-interface, spanner-interface, side-position-interface, font-interface and grob-interface.
SystemStartSquare objects are created by: System_start_delimiter_engraver.
Standard settings:
Y-extent(pair of numbers):#fHard coded extent in Y direction.
X-offset(number):ly:side-position-interface::x-aligned-sideThe horizontal amount that this object is moved relative to its X-parent.
direction(direction):-1If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.stencil(unknown):ly:system-start-delimiter::printThe symbol to print.
style(symbol):'line-bracketThis setting determines in what style a grob is typeset. Valid choices depend on the
stencilcallback reading this property.thickness(number):1.0Line thickness, generally measured in
line-thickness.
This object supports the following interface(s): system-start-delimiter-interface, spanner-interface, side-position-interface, font-interface and grob-interface.
TabNoteHead objects are created by: Tab_note_heads_engraver.
Standard settings:
stencil(unknown):ly:text-interface::printThe symbol to print.
duration-log(integer):note-head::calc-duration-logThe 2-log of the note head duration, i.e.,
0= whole note,1= half note, etc.Y-offset(number):ly:staff-symbol-referencer::callbackThe vertical amount that this object is moved relative to its Y-parent.
X-offset(number):ly:self-alignment-interface::x-aligned-on-selfThe horizontal amount that this object is moved relative to its X-parent.
direction(direction):0If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.font-size(number):-2The font size, compared to the ‘normal’ size.
0is style-sheet's normal size,-1is smaller,+1is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. Fractional values are allowed.stem-attachment(pair of numbers):'(0.0 . 1.35)An
(x.y)pair where the stem attaches to the notehead.font-series(symbol):'boldSelect the series of a font. Choices include
medium,bold,bold-narrow, etc.
This object supports the following interface(s): text-interface, staff-symbol-referencer-interface, rhythmic-head-interface, rhythmic-grob-interface, note-head-interface, item-interface, font-interface and grob-interface.
TextScript objects are created by: Text_engraver.
Standard settings:
extra-spacing-width(pair of numbers):'(+inf.0 . -inf.0)In the horizontal spacing problem, we pad each item by this amount (by adding the ‘car’ on the left side of the item and adding the ‘cdr’ on the right side of the item). In order to make a grob take up no horizontal space at all, set this to
(+inf.0 . -inf.0).X-offset(number):ly:self-alignment-interface::x-aligned-on-selfThe horizontal amount that this object is moved relative to its X-parent.
Y-offset(number):ly:side-position-interface::y-aligned-sideThe vertical amount that this object is moved relative to its Y-parent.
side-axis(number):1If the value is
#X(or equivalently0), the object is placed horizontally next to the other object. If the value is#Yor1, it is placed vertically.direction(direction):-1If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.padding(dimension, in staff space):0.5Add this much extra space between objects that are next to each other.
staff-padding(dimension, in staff space):0.5Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
stencil(unknown):ly:text-interface::printThe symbol to print.
direction(direction):-1If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.outside-staff-priority(number):450If set, the grob is positioned outside the staff in such a way as to avoid all collisions. In case of a potential collision, the grob with the smaller
outside-staff-priorityis closer to the staff.avoid-slur(symbol):'aroundMethod of handling slur collisions. Choices are
around,inside,outside. If unset, scripts and slurs ignore each other.aroundonly moves the script if there is a collision;outsidealways moves the script.slur-padding(number):0.5Extra distance between slur and script.
script-priority(number):200A sorting key that determines in what order a script is within a stack of scripts.
This object supports the following interface(s): text-script-interface, text-interface, side-position-interface, item-interface, instrument-specific-markup-interface, font-interface and grob-interface.
TextSpanner objects are created by: Dynamic_engraver, New_dynamic_engraver and Text_spanner_engraver.
Standard settings:
Y-offset(number):ly:side-position-interface::y-aligned-sideThe vertical amount that this object is moved relative to its Y-parent.
font-shape(symbol):'italicSelect the shape of a font. Choices include
upright,italic,caps.style(symbol):'dashed-lineThis setting determines in what style a grob is typeset. Valid choices depend on the
stencilcallback reading this property.staff-padding(dimension, in staff space):0.8Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
dash-fraction(number):0.2Size of the dashes, relative to
dash-period. Should be between0.0(no line) and1.0(continuous line).dash-period(number):3.0The length of one dash together with whitespace. If negative, no line is drawn at all.
side-axis(number):1If the value is
#X(or equivalently0), the object is placed horizontally next to the other object. If the value is#Yor1, it is placed vertically.direction(direction):1If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.outside-staff-priority(number):350If set, the grob is positioned outside the staff in such a way as to avoid all collisions. In case of a potential collision, the grob with the smaller
outside-staff-priorityis closer to the staff.left-bound-info(list):ly:line-spanner::calc-left-bound-infoAn alist of properties for determining attachments of spanners to edges.
right-bound-info(list):ly:line-spanner::calc-right-bound-infoAn alist of properties for determining attachments of spanners to edges.
bound-details(list):'((left (Y . 0) (padding . 0.25) (attach-dir . -1)) (right (Y . 0) (padding . 0.25)))An alist of properties for determining attachments of spanners to edges.
stencil(unknown):ly:line-spanner::printThe symbol to print.
This object supports the following interface(s): spanner-interface, side-position-interface, line-spanner-interface, font-interface and grob-interface.
Tie objects are created by: Completion_heads_engraver and Tie_engraver.
Standard settings:
control-points(list):ly:tie::calc-control-pointsList of offsets (number pairs) that form control points for the tie, slur, or bracket shape. For Béziers, this should list the control points of a third-order Bézier curve.
springs-and-rods(boolean):ly:spanner::set-spacing-rodsDummy variable for triggering spacing routines.
avoid-slur(symbol):'insideMethod of handling slur collisions. Choices are
around,inside,outside. If unset, scripts and slurs ignore each other.aroundonly moves the script if there is a collision;outsidealways moves the script.direction(direction):ly:tie::calc-directionIf
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.neutral-direction(direction):1Which direction to take in the center of the staff.
stencil(unknown):ly:tie::printThe symbol to print.
font-size(number):-6The font size, compared to the ‘normal’ size.
0is style-sheet's normal size,-1is smaller,+1is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. Fractional values are allowed.thickness(number):1.2Line thickness, generally measured in
line-thickness.line-thickness(number):0.8The thickness of the tie or slur contour.
This object supports the following interface(s): tie-interface, spanner-interface and grob-interface.
TieColumn objects are created by: Tie_engraver.
Standard settings:
before-line-breaking(boolean):ly:tie-column::before-line-breakingDummy property, used to trigger a callback function.
X-extent(pair of numbers):#fHard coded extent in X direction.
Y-extent(pair of numbers):#fHard coded extent in Y direction.
This object supports the following interface(s): tie-column-interface, spanner-interface and grob-interface.
TimeSignature objects are created by: Time_signature_engraver.
Standard settings:
stencil(unknown):ly:time-signature::printThe symbol to print.
break-align-symbol(symbol):'time-signatureThis key is used for aligning and spacing breakable items.
break-align-anchor(number):ly:break-aligned-interface::calc-extent-aligned-anchorGrobs aligned to this break-align grob will have their X-offsets shifted by this number. In bar lines, for example, this is used to position grobs relative to the (visual) center of the bar line.
break-visibility(vector):#(#t #t #t)A vector of 3 booleans,
#(end-of-line unbroken begin-of-line).#tmeans visible,#fmeans killed.avoid-slur(symbol):'insideMethod of handling slur collisions. Choices are
around,inside,outside. If unset, scripts and slurs ignore each other.aroundonly moves the script if there is a collision;outsidealways moves the script.extra-spacing-height(pair of numbers):'(-1.0 . 1.0)In the horizontal spacing problem, we increase the height of each item by this amount (by adding the ‘car’ to the bottom of the item and adding the ‘cdr’ to the top of the item. In order to make a grob infinitely high (to prevent the horizontal spacing problem from placing any other grobs above or below this grob), set this to
(-inf.0 . +inf.0).space-alist(list):'((first-note fixed-space . 2.0) (right-edge extra-space . 0.5) (staff-bar minimum-space . 2.0))A table that specifies distances between prefatory items, like clef and time-signature. The format is an alist of spacing tuples:
(break-align-symbol type.distance), where type can be the symbolsminimum-spaceorextra-space.non-musical(boolean):#tTrue if the grob belongs to a
NonMusicalPaperColumn.style(symbol):'CThis setting determines in what style a grob is typeset. Valid choices depend on the
stencilcallback reading this property.
This object supports the following interface(s): time-signature-interface, item-interface, font-interface, break-aligned-interface and grob-interface.
TrillPitchAccidental objects are created by: Pitched_trill_engraver.
Standard settings:
X-offset(number):ly:side-position-interface::x-aligned-sideThe horizontal amount that this object is moved relative to its X-parent.
padding(dimension, in staff space):0.2Add this much extra space between objects that are next to each other.
direction(direction):-1If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.font-size(number):-4The font size, compared to the ‘normal’ size.
0is style-sheet's normal size,-1is smaller,+1is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. Fractional values are allowed.side-axis(number):0If the value is
#X(or equivalently0), the object is placed horizontally next to the other object. If the value is#Yor1, it is placed vertically.stencil(unknown):ly:accidental-interface::printThe symbol to print.
Y-extent(pair of numbers):ly:accidental-interface::heightHard coded extent in Y direction.
glyph-name-alist(list):'((0 . accidentals.natural) (-1/2 . accidentals.flat) (1/2 . accidentals.sharp) (1 . accidentals.doublesharp) (-1 . accidentals.flatflat) (3/4 . accidentals.sharp.slashslash.stemstemstem) (1/4 . accidentals.sharp.slashslash.stem) (-1/4 . accidentals.mirroredflat) (-3/4 . accidentals.mirroredflat.flat))An alist of key-string pairs.
This object supports the following interface(s): trill-pitch-accidental-interface, side-position-interface, item-interface, font-interface, accidental-interface and grob-interface.
TrillPitchGroup objects are created by: Pitched_trill_engraver.
Standard settings:
X-offset(number):ly:side-position-interface::x-aligned-sideThe horizontal amount that this object is moved relative to its X-parent.
axes(list):'(0)List of axis numbers. In the case of alignment grobs, this should contain only one number.
font-size(number):-4The font size, compared to the ‘normal’ size.
0is style-sheet's normal size,-1is smaller,+1is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. Fractional values are allowed.stencil(unknown):parenthesize-elementsThe symbol to print.
stencils(list):parentheses-item::calc-parenthesis-stencilsMultiple stencils, used as intermediate value.
direction(direction):1If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.side-axis(number):0If the value is
#X(or equivalently0), the object is placed horizontally next to the other object. If the value is#Yor1, it is placed vertically.padding(dimension, in staff space):0.3Add this much extra space between objects that are next to each other.
This object supports the following interface(s): side-position-interface, parentheses-interface, note-head-interface, item-interface, font-interface, axis-group-interface and grob-interface.
TrillPitchHead objects are created by: Pitched_trill_engraver.
Standard settings:
stencil(unknown):ly:note-head::printThe symbol to print.
duration-log(integer):2The 2-log of the note head duration, i.e.,
0= whole note,1= half note, etc.Y-offset(number):ly:staff-symbol-referencer::callbackThe vertical amount that this object is moved relative to its Y-parent.
font-size(number):-4The font size, compared to the ‘normal’ size.
0is style-sheet's normal size,-1is smaller,+1is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. Fractional values are allowed.
This object supports the following interface(s): staff-symbol-referencer-interface, rhythmic-head-interface, pitched-trill-interface, ledgered-interface, item-interface, font-interface and grob-interface.
TrillSpanner objects are created by: Trill_spanner_engraver.
Standard settings:
left-bound-info(list):ly:line-spanner::calc-left-bound-infoAn alist of properties for determining attachments of spanners to edges.
right-bound-info(list):ly:line-spanner::calc-right-bound-infoAn alist of properties for determining attachments of spanners to edges.
bound-details(list):'((left (text #<procedure translate-scaled-markup (layout props offset arg)> (0.0 . -1.0) (#<procedure musicglyph-markup (layout props glyph-name)> scripts.trill)) (Y . 0) (stencil-offset -0.5 . 0) (padding . 1.5) (attach-dir . 0) (anchor-alignment . 0.15)) (left-broken (end-on-note . #t)) (right (Y . 0)))An alist of properties for determining attachments of spanners to edges.
stencil(unknown):ly:line-spanner::printThe symbol to print.
style(symbol):'trillThis setting determines in what style a grob is typeset. Valid choices depend on the
stencilcallback reading this property.staff-padding(dimension, in staff space):1.0Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
padding(dimension, in staff space):0.5Add this much extra space between objects that are next to each other.
direction(direction):1If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.Y-offset(number):ly:side-position-interface::y-aligned-sideThe vertical amount that this object is moved relative to its Y-parent.
side-axis(number):1If the value is
#X(or equivalently0), the object is placed horizontally next to the other object. If the value is#Yor1, it is placed vertically.outside-staff-priority(number):50If set, the grob is positioned outside the staff in such a way as to avoid all collisions. In case of a potential collision, the grob with the smaller
outside-staff-priorityis closer to the staff.
This object supports the following interface(s): trill-spanner-interface, spanner-interface, side-position-interface, line-spanner-interface, line-interface, font-interface and grob-interface.
TupletBracket objects are created by: Tuplet_engraver.
Standard settings:
padding(dimension, in staff space):1.1Add this much extra space between objects that are next to each other.
thickness(number):1.6Line thickness, generally measured in
line-thickness.edge-height(pair):'(0.7 . 0.7)A pair of numbers specifying the heights of the vertical edges:
(left-height.right-height).shorten-pair(pair of numbers):'(-0.2 . -0.2)The lengths to shorten a text-spanner on both sides, for example a pedal bracket. Positive values shorten the text-spanner, while negative values lengthen it.
staff-padding(dimension, in staff space):0.25Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
full-length-to-extent(boolean):#tRun to the extent of the column for a full-length tuplet bracket.
direction(direction):ly:tuplet-bracket::calc-directionIf
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.positions(pair of numbers):ly:tuplet-bracket::calc-positionsPair of staff coordinates
(left.right), where both left and right are instaff-spaceunits of the current staff. For slurs, this value selects which slur candidate to use; if extreme positions are requested, the closest one is taken.connect-to-neighbor(pair):ly:tuplet-bracket::calc-connect-to-neighborsPair of booleans, indicating whether this grob looks as a continued break.
control-points(list):ly:tuplet-bracket::calc-control-pointsList of offsets (number pairs) that form control points for the tie, slur, or bracket shape. For Béziers, this should list the control points of a third-order Bézier curve.
stencil(unknown):ly:tuplet-bracket::printThe symbol to print.
This object supports the following interface(s): tuplet-bracket-interface, spanner-interface, line-interface and grob-interface.
TupletNumber objects are created by: Tuplet_engraver.
Standard settings:
stencil(unknown):ly:tuplet-number::printThe symbol to print.
text(markup):tuplet-number::calc-denominator-textText markup. See Formatting text.
font-shape(symbol):'italicSelect the shape of a font. Choices include
upright,italic,caps.font-size(number):-2The font size, compared to the ‘normal’ size.
0is style-sheet's normal size,-1is smaller,+1is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. Fractional values are allowed.avoid-slur(symbol):'insideMethod of handling slur collisions. Choices are
around,inside,outside. If unset, scripts and slurs ignore each other.aroundonly moves the script if there is a collision;outsidealways moves the script.
This object supports the following interface(s): tuplet-number-interface, text-interface, spanner-interface, font-interface and grob-interface.
UnaCordaPedal objects are created by: Piano_pedal_engraver.
Standard settings:
stencil(unknown):ly:text-interface::printThe symbol to print.
font-shape(symbol):'italicSelect the shape of a font. Choices include
upright,italic,caps.extra-spacing-width(pair of numbers):'(+inf.0 . -inf.0)In the horizontal spacing problem, we pad each item by this amount (by adding the ‘car’ on the left side of the item and adding the ‘cdr’ on the right side of the item). In order to make a grob take up no horizontal space at all, set this to
(+inf.0 . -inf.0).self-alignment-X(number):0Specify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified.direction(direction):1If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.padding(dimension, in staff space):0.0Add this much extra space between objects that are next to each other.
X-offset(number):ly:self-alignment-interface::x-aligned-on-selfThe horizontal amount that this object is moved relative to its X-parent.
This object supports the following interface(s): text-interface, self-alignment-interface, piano-pedal-script-interface, item-interface, font-interface and grob-interface.
UnaCordaPedalLineSpanner objects are created by: Piano_pedal_align_engraver.
Standard settings:
axes(list):'(1)List of axis numbers. In the case of alignment grobs, this should contain only one number.
Y-extent(pair of numbers):ly:axis-group-interface::heightHard coded extent in Y direction.
X-extent(pair of numbers):ly:axis-group-interface::widthHard coded extent in X direction.
Y-offset(number):ly:side-position-interface::y-aligned-sideThe vertical amount that this object is moved relative to its Y-parent.
outside-staff-priority(number):1000If set, the grob is positioned outside the staff in such a way as to avoid all collisions. In case of a potential collision, the grob with the smaller
outside-staff-priorityis closer to the staff.side-axis(number):1If the value is
#X(or equivalently0), the object is placed horizontally next to the other object. If the value is#Yor1, it is placed vertically.padding(dimension, in staff space):1.2Add this much extra space between objects that are next to each other.
staff-padding(dimension, in staff space):1.2Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
minimum-space(dimension, in staff space):1.0Minimum distance that the victim should move (after padding).
direction(direction):-1If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.
This object supports the following interface(s): spanner-interface, side-position-interface, piano-pedal-interface, axis-group-interface and grob-interface.
VaticanaLigature objects are created by: Vaticana_ligature_engraver.
Standard settings:
thickness(number):0.6Line thickness, generally measured in
line-thickness.stencil(unknown):ly:vaticana-ligature::printThe symbol to print.
This object supports the following interface(s): vaticana-ligature-interface, spanner-interface, font-interface and grob-interface.
VerticalAlignment objects are created by: Vertical_align_engraver.
Standard settings:
axes(list):'(1)List of axis numbers. In the case of alignment grobs, this should contain only one number.
after-line-breaking(boolean):ly:align-interface::stretch-after-breakDummy property, used to trigger callback for
after-line-breaking.Y-extent(pair of numbers):ly:axis-group-interface::heightHard coded extent in Y direction.
X-extent(pair of numbers):ly:axis-group-interface::widthHard coded extent in X direction.
stacking-dir(direction):-1Stack objects in which direction?
padding(dimension, in staff space):0.5Add this much extra space between objects that are next to each other.
vertical-skylines(unknown):ly:axis-group-interface::combine-skylinesTwo skylines, one above and one below this grob.
max-stretch(number):0The maximum amount that this
VerticalAxisGroupcan be vertically stretched (for example, in order to better fill a page).
This object supports the following interface(s): spanner-interface, axis-group-interface, align-interface and grob-interface.
VerticalAxisGroup objects are created by: Axis_group_engraver and Hara_kiri_engraver.
Standard settings:
axes(list):'(1)List of axis numbers. In the case of alignment grobs, this should contain only one number.
Y-offset(number):ly:hara-kiri-group-spanner::force-hara-kiri-callbackThe vertical amount that this object is moved relative to its Y-parent.
Y-extent(pair of numbers):ly:hara-kiri-group-spanner::y-extentHard coded extent in Y direction.
X-extent(pair of numbers):ly:axis-group-interface::widthHard coded extent in X direction.
vertical-skylines(unknown):ly:hara-kiri-group-spanner::calc-skylinesTwo skylines, one above and one below this grob.
max-stretch(number):ly:axis-group-interface::calc-max-stretchThe maximum amount that this
VerticalAxisGroupcan be vertically stretched (for example, in order to better fill a page).stencil(unknown):ly:axis-group-interface::printThe symbol to print.
This object supports the following interface(s): vertically-spaceable-interface, spanner-interface, hara-kiri-group-spanner-interface, axis-group-interface and grob-interface.
VoiceFollower objects are created by: Note_head_line_engraver.
Standard settings:
style(symbol):'lineThis setting determines in what style a grob is typeset. Valid choices depend on the
stencilcallback reading this property.gap(dimension, in staff space):0.5Size of a gap in a variable symbol.
non-musical(boolean):#tTrue if the grob belongs to a
NonMusicalPaperColumn.X-extent(pair of numbers):#fHard coded extent in X direction.
Y-extent(pair of numbers):#fHard coded extent in Y direction.
bound-details(list):'((right (attach-dir . 0) (padding . 1.5)) (left (attach-dir . 0) (padding . 1.5)))An alist of properties for determining attachments of spanners to edges.
stencil(unknown):ly:line-spanner::printThe symbol to print.
left-bound-info(list):ly:line-spanner::calc-left-bound-infoAn alist of properties for determining attachments of spanners to edges.
right-bound-info(list):ly:line-spanner::calc-right-bound-infoAn alist of properties for determining attachments of spanners to edges.
This object supports the following interface(s): spanner-interface, line-spanner-interface, line-interface and grob-interface.
VoltaBracket objects are created by: Volta_engraver.
Standard settings:
stencil(unknown):ly:volta-bracket-interface::printThe symbol to print.
font-encoding(symbol):'fetaNumberThe font encoding is the broadest category for selecting a font. Options include:
fetaMusic,fetaNumber,TeX-text,TeX-math,fetaBraces,fetaDynamic.thickness(number):1.6Line thickness, generally measured in
line-thickness.edge-height(pair):'(2.0 . 2.0)A pair of numbers specifying the heights of the vertical edges:
(left-height.right-height).font-size(number):-4The font size, compared to the ‘normal’ size.
0is style-sheet's normal size,-1is smaller,+1is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. Fractional values are allowed.word-space(dimension, in staff space):0.6Space to insert between words in texts.
direction(direction):1If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.
This object supports the following interface(s): volta-bracket-interface, text-interface, spanner-interface, side-position-interface, line-interface, horizontal-bracket-interface, font-interface and grob-interface.
VoltaBracketSpanner objects are created by: Volta_engraver.
Standard settings:
axes(list):'(1)List of axis numbers. In the case of alignment grobs, this should contain only one number.
side-axis(number):1If the value is
#X(or equivalently0), the object is placed horizontally next to the other object. If the value is#Yor1, it is placed vertically.direction(direction):1If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.padding(dimension, in staff space):1Add this much extra space between objects that are next to each other.
Y-offset(number):ly:side-position-interface::y-aligned-sideThe vertical amount that this object is moved relative to its Y-parent.
outside-staff-priority(number):100If set, the grob is positioned outside the staff in such a way as to avoid all collisions. In case of a potential collision, the grob with the smaller
outside-staff-priorityis closer to the staff.Y-extent(pair of numbers):ly:axis-group-interface::heightHard coded extent in Y direction.
X-extent(pair of numbers):ly:axis-group-interface::widthHard coded extent in X direction.
no-alignment(boolean):#tIf set, don't place this grob in a
VerticalAlignment; rather, place it using its ownY-offsetcallback.
This object supports the following interface(s): spanner-interface, side-position-interface, axis-group-interface and grob-interface.
A single accidental.
alteration(number)- Alteration numbers for accidental.
avoid-slur(symbol)- Method of handling slur collisions. Choices are
around,inside,outside. If unset, scripts and slurs ignore each other.aroundonly moves the script if there is a collision;outsidealways moves the script.forced(boolean)- Manually forced accidental.
glyph-name-alist(list)- An alist of key-string pairs.
parenthesized(boolean)- Parenthesize this grob.
restore-first(boolean)- Print a natural before the accidental.
tie(layout object)- A pointer to a
Tieobject.
This grob interface is used in the following graphical object(s): Accidental, AccidentalCautionary, AccidentalSuggestion, AmbitusAccidental and TrillPitchAccidental.
Resolve accidental collisions.
left-padding(dimension, in staff space)- The amount of space that is put left to an object (e.g., a group of accidentals).
padding(dimension, in staff space)- Add this much extra space between objects that are next to each other.
right-padding(dimension, in staff space)- Space to insert on the right side of an object (e.g., between note and its accidentals).
script-priority(number)- A sorting key that determines in what order a script is within a stack of scripts.
accidental-grobs(list)- An alist with
(notename.groblist)entries.positioning-done(boolean)- Used to signal that a positioning element did its job. This ensures that a positioning is only done once.
This grob interface is used in the following graphical object(s): AccidentalPlacement.
An accidental, printed as a suggestion (typically: vertically over a note).
This grob interface is used in the following graphical object(s): AccidentalSuggestion.
Order grobs from top to bottom, left to right, right to left or bottom to top. For vertical alignments of staves, the break-system-details of the left NonMusicalPaperColumn may be set to tune vertical spacing. Set alignment-extra-space to add extra space for staves. Set fixed-alignment-extra-space to force staves in PianoStaffs further apart.
align-dir(direction)- Which side to align?
-1: left side,0: around center of width,1: right side.axes(list)- List of axis numbers. In the case of alignment grobs, this should contain only one number.
padding(dimension, in staff space)- Add this much extra space between objects that are next to each other.
stacking-dir(direction)- Stack objects in which direction?
threshold(pair of numbers)(min.max), where min and max are dimensions in staff space.
elements(unknown)- A list of grobs; the type is depending on the grob where this is set in.
positioning-done(boolean)- Used to signal that a positioning element did its job. This ensures that a positioning is only done once.
This grob interface is used in the following graphical object(s): BassFigureAlignment and VerticalAlignment.
The line between note heads for a pitch range.
thickness(number)- Line thickness, generally measured in
line-thickness.
join-heads(boolean)- Whether to join the note heads of an ambitus grob with a vertical line.
note-heads(unknown)- A list of note head grobs.
This grob interface is used in the following graphical object(s): Ambitus, AmbitusLine and AmbitusNoteHead.
Functions and settings for drawing an arpeggio symbol (a wavy line left to noteheads.
arpeggio-direction(direction)- If set, put an arrow on the arpeggio squiggly line.
positions(pair of numbers)- Pair of staff coordinates
(left.right), where both left and right are instaff-spaceunits of the current staff. For slurs, this value selects which slur candidate to use; if extreme positions are requested, the closest one is taken.script-priority(number)- A sorting key that determines in what order a script is within a stack of scripts.
stems(unknown)- A list of stem objects, corresponding to the notes that the arpeggio has to be before.
This grob interface is used in the following graphical object(s): Arpeggio.
An object that groups other layout objects.
axes(list)- List of axis numbers. In the case of alignment grobs, this should contain only one number.
keep-fixed-while-stretching(boolean)- A grob with this property set to true is fixed relative to the staff above it when systems are stretched.
max-stretch(number)- The maximum amount that this
VerticalAxisGroupcan be vertically stretched (for example, in order to better fill a page).no-alignment(boolean)- If set, don't place this grob in a
VerticalAlignment; rather, place it using its ownY-offsetcallback.vertical-skylines(unknown)- Two skylines, one above and one below this grob.
X-common(layout object)- Common reference point for axis group.
Y-common(layout object)- See
X-common.adjacent-pure-heights(vector)- Used by a
VerticalAxisGroupto cache theY-extents of different column ranges.elements(unknown)- A list of grobs; the type is depending on the grob where this is set in.
pure-Y-common(layout object)- A cache of the
common_refpoint_of_arrayof theelementsgrob set.pure-relevant-items(unknown)- A subset of elements that are relevant for finding the
pure-Y-extent.pure-relevant-spanners(unknown)- A subset of elements that are relevant for finding the
pure-Y-extent.
This grob interface is used in the following graphical object(s): Ambitus, BassFigureAlignment, BassFigureAlignmentPositioning, BassFigureLine, BreakAlignGroup, BreakAlignment, DotColumn, DynamicLineSpanner, NonMusicalPaperColumn, NoteCollision, NoteColumn, PaperColumn, SostenutoPedalLineSpanner, SustainPedalLineSpanner, System, TrillPitchGroup, UnaCordaPedalLineSpanner, VerticalAlignment, VerticalAxisGroup and VoltaBracketSpanner.
A collection of routines to put text balloons around an object.
padding(dimension, in staff space)- Add this much extra space between objects that are next to each other.
text(markup)- Text markup. See Formatting text.
This grob interface is not used in any graphical object.
Bar line.
Print a special bar symbol. It replaces the regular bar symbol with a special symbol. The argument bartype is a string which specifies the kind of bar to print. Options are :|, |:, :|:, ||, |., .|, and .|..
These produce, respectively, a right repeat, a left repeat, a double repeat, a double bar, a start bar, an end bar, and a thick double bar. In addition, there is an option ||: which is equivalent to |: except at line breaks, where it produces a double bar (||) at the end of the line and a repeat sign (|:) at the beginning of the new line.
If bartype is set to empty then nothing is printed, but a line break is allowed at that spot.
gap is used for the gaps in dashed barlines.
allow-span-bar(boolean)- If false, no inter-staff bar line will be created below this bar line.
bar-size(dimension, in staff space)- The size of a bar line.
gap(dimension, in staff space)- Size of a gap in a variable symbol.
glyph(string)- A string determining what ‘style’ of glyph is typeset. Valid choices depend on the function that is reading this property.
hair-thickness(number)- Thickness of the thin line in a bar line.
kern(dimension, in staff space)- Amount of extra white space to add. For bar lines, this is the amount of space after a thick line.
thick-thickness(number)- Bar line thickness, measured in
line-thickness.thin-kern(number)- The space after a hair-line in a bar line.
bar-extent(pair of numbers)- The Y-extent of the actual bar line. This may differ from
Y-extentbecause it does not include the dots in a repeat bar line.glyph-name(string)- The glyph name within the font.
This grob interface is used in the following graphical object(s): BarLine and SpanBar.
Align a bass figure.
This grob interface is used in the following graphical object(s): BassFigureAlignment.
A bass figure text.
implicit(boolean)- Is this an implicit bass figure?
This grob interface is used in the following graphical object(s): BassFigure.
A beam.
The thickness property is the weight of beams, measured in staffspace. The direction property is not user-serviceable. Use the direction property of Stem instead.
annotation(string)- Annotate a grob for debug purposes.
auto-knee-gap(dimension, in staff space)- If a gap is found between note heads where a horizontal beam fits that is larger than this number, make a kneed beam.
beamed-stem-shorten(list)- How much to shorten beamed stems, when their direction is forced. It is a list, since the value is different depending on the number of flags and beams.
beaming(pair)- Pair of number lists. Each number list specifies which beams to make.
0is the central beam,1is the next beam toward the note, etc. This information is used to determine how to connect the beaming patterns from stem to stem inside a beam.break-overshoot(pair of numbers)- How much does a broken spanner stick out of its bounds?
clip-edges(boolean)- Allow outward pointing beamlets at the edges of beams?
concaveness(number)- A beam is concave if its inner stems are closer to the beam than the two outside stems. This number is a measure of the closeness of the inner stems. It is used for damping the slope of the beam.
damping(number)- Amount of beam slope damping.
direction(direction)- If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.gap(dimension, in staff space)- Size of a gap in a variable symbol.
gap-count(integer)- Number of gapped beams for tremolo.
grow-direction(direction)- Crescendo or decrescendo?
inspect-quants(pair of numbers)- If debugging is set, set beam and slur quants to this position, and print the respective scores.
knee(boolean)- Is this beam kneed?
length-fraction(number)- Multiplier for lengths. Used for determining ledger lines and stem lengths.
neutral-direction(direction)- Which direction to take in the center of the staff.
positions(pair of numbers)- Pair of staff coordinates
(left.right), where both left and right are instaff-spaceunits of the current staff. For slurs, this value selects which slur candidate to use; if extreme positions are requested, the closest one is taken.thickness(number)- Line thickness, generally measured in
line-thickness.
details(list)- Alist of parameters for detailed grob behavior.
More information on the allowed parameters can be found by inspecting lily/slur-scoring.cc, lily/beam-quanting.cc, and lily/tie-formatting-problem.cc. Setting
debug-tie-scoring,debug-beam-scoringordebug-slur-scoringalso provides useful clues.least-squares-dy(number)- The ideal beam slope, without damping.
normal-stems(unknown)- An array of visible stems.
quant-score(string)- The beam quanting score; stored for debugging.
quantized-positions(pair of numbers)- The beam positions after quanting.
shorten(dimension, in staff space)- The amount of space that a stem is shortened. Internally used to distribute beam shortening over stems.
stems(unknown)- A list of stem objects, corresponding to the notes that the arpeggio has to be before.
This grob interface is used in the following graphical object(s): Beam.
A doit or drop.
thickness(number)- Line thickness, generally measured in
line-thickness.
delta-position(number)- The vertical position difference.
This grob interface is used in the following graphical object(s): BendAfter.
Object that is aligned on a break aligment.
break-align-symbols(list)- A list of symbols that determine which break-aligned grobs to align this to. If the grob selected by the first symbol in the list is invisible due to break-visibility, we will align to the next grob (and so on).
This grob interface is used in the following graphical object(s): BarNumber and RehearsalMark.
Items that are aligned in prefatory matter.
The spacing of these items is controlled by the space-alist property. It contains a list break-align-symbols with a specification of the associated space. The space specification can be
(minimum-space . spc))(fixed-space . spc)(semi-fixed-space . spc)(extra-space . spc)Special keys for the alist are first-note and next-note, signifying the first note on a line, and the next note halfway a line.
Rules for this spacing are much more complicated than this. See [Wanske] page 126–134, [Ross] page 143–147.
break-align-anchor(number)- Grobs aligned to this break-align grob will have their X-offsets shifted by this number. In bar lines, for example, this is used to position grobs relative to the (visual) center of the bar line.
break-align-anchor-alignment(number)- Read by
ly:break-aligned-interface::calc-extent-aligned-anchorfor aligning an anchor to a grob's extentbreak-align-symbol(symbol)- This key is used for aligning and spacing breakable items.
space-alist(list)- A table that specifies distances between prefatory items, like clef and time-signature. The format is an alist of spacing tuples:
(break-align-symbol type.distance), where type can be the symbolsminimum-spaceorextra-space.
This grob interface is used in the following graphical object(s): Ambitus, AmbitusAccidental, BarLine, BreakAlignGroup, BreathingSign, Clef, Custos, DoublePercentRepeat, KeyCancellation, KeySignature, LeftEdge and TimeSignature.
The object that performs break aligment. See break-aligned-interface.
break-align-orders(vector)- Defines the order in which prefatory matter (clefs, key signatures) appears. The format is a vector of length 3, where each element is one order for end-of-line, middle of line, and start-of-line, respectively. An order is a list of symbols.
For example, clefs are put after key signatures by setting
\override Score.BreakAlignment #'break-align-orders = #(make-vector 3 '(span-bar breathing-sign staff-bar key clef time-signature))
positioning-done(boolean)- Used to signal that a positioning element did its job. This ensures that a positioning is only done once.
This grob interface is used in the following graphical object(s): BreakAlignment.
A breathing sign.
direction(direction)- If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.
This grob interface is used in the following graphical object(s): BreathingSign.
A chord name.
begin-of-line-visible(boolean)- Used for marking
ChordNamesthat should only show changes.
This grob interface is used in the following graphical object(s): ChordName.
A clef sign.
full-size-change(boolean)- Don't make a change clef smaller.
glyph(string)- A string determining what ‘style’ of glyph is typeset. Valid choices depend on the function that is reading this property.
non-default(boolean)- Set for manually specified clefs.
glyph-name(string)- The glyph name within the font.
This grob interface is used in the following graphical object(s): Clef.
A place holder for the cluster spanner to determine the vertical extents of a cluster spanner at this X position.
positions(pair of numbers)- Pair of staff coordinates
(left.right), where both left and right are instaff-spaceunits of the current staff. For slurs, this value selects which slur candidate to use; if extreme positions are requested, the closest one is taken.
This grob interface is used in the following graphical object(s): ClusterSpannerBeacon.
A graphically drawn musical cluster.
padding adds to the vertical extent of the shape (top and bottom).
The property style controls the shape of cluster segments. Valid values include leftsided-stairs, rightsided-stairs, centered-stairs, and ramp.
padding(dimension, in staff space)- Add this much extra space between objects that are next to each other.
style(symbol)- This setting determines in what style a grob is typeset. Valid choices depend on the
stencilcallback reading this property.
columns(unknown)- A list of grobs, typically containing
PaperColumnorNoteColumnobjects.
This grob interface is used in the following graphical object(s): ClusterSpanner.
A custos object. style can have four valid values: mensural, vaticana, medicaea, and hufnagel. mensural is the default style.
neutral-direction(direction)- Which direction to take in the center of the staff.
neutral-position(number)- Position (in half staff spaces) where to flip the direction of custos stem.
style(symbol)- This setting determines in what style a grob is typeset. Valid choices depend on the
stencilcallback reading this property.
This grob interface is used in the following graphical object(s): Custos.
Group dot objects so they form a column, and position dots so they do not clash with staff lines.
direction(direction)- If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.
dots(unknown)- Multiple
Dotsobjects.positioning-done(boolean)- Used to signal that a positioning element did its job. This ensures that a positioning is only done once.
This grob interface is used in the following graphical object(s): DotColumn.
The dots to go with a notehead or rest. direction sets the preferred direction to move in case of staff line collisions. style defaults to undefined, which is normal 19th/20th century traditional style. Set style to vaticana for ancient type dots.
direction(direction)- If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.dot-count(integer)- The number of dots.
style(symbol)- This setting determines in what style a grob is typeset. Valid choices depend on the
stencilcallback reading this property.
This grob interface is used in the following graphical object(s): Dots.
Any kind of loudness sign.
This grob interface is used in the following graphical object(s): DynamicLineSpanner, DynamicText, DynamicTextSpanner and Hairpin.
Dynamic line spanner.
avoid-slur(symbol)- Method of handling slur collisions. Choices are
around,inside,outside. If unset, scripts and slurs ignore each other.aroundonly moves the script if there is a collision;outsidealways moves the script.
This grob interface is used in the following graphical object(s): DynamicLineSpanner.
Dynamic text spanner.
text(markup)- Text markup. See Formatting text.
This grob interface is used in the following graphical object(s): DynamicTextSpanner.
Brackets alongside bass figures.
bracket-flare(pair of numbers)- A pair of numbers specifying how much edges of brackets should slant outward. Value
0.0means straight edges.edge-height(pair)- A pair of numbers specifying the heights of the vertical edges:
(left-height.right-height).padding(dimension, in staff space)- Add this much extra space between objects that are next to each other.
shorten-pair(pair of numbers)- The lengths to shorten a text-spanner on both sides, for example a pedal bracket. Positive values shorten the text-spanner, while negative values lengthen it.
thickness(number)- Line thickness, generally measured in
line-thickness.
elements(unknown)- A list of grobs; the type is depending on the grob where this is set in.
This grob interface is used in the following graphical object(s): BassFigureBracket.
Simple extender line between bounds.
padding(dimension, in staff space)- Add this much extra space between objects that are next to each other.
thickness(number)- Line thickness, generally measured in
line-thickness.
figures(unknown)- Figured bass objects for continuation line.
This grob interface is used in the following graphical object(s): BassFigureContinuation.
A fingering instruction.
This grob interface is used in the following graphical object(s): Fingering.
Any symbol that is typeset through fixed sets of glyphs, (i.e., fonts).
font-encoding(symbol)- The font encoding is the broadest category for selecting a font. Options include:
fetaMusic,fetaNumber,TeX-text,TeX-math,fetaBraces,fetaDynamic.font-family(symbol)- The font family is the broadest category for selecting text fonts. Options include:
sans,roman.font-name(string)- Specifies a file name (without extension) of the font to load. This setting overrides selection using
font-family,font-seriesandfont-shape.font-series(symbol)- Select the series of a font. Choices include
medium,bold,bold-narrow, etc.font-shape(symbol)- Select the shape of a font. Choices include
upright,italic,caps.font-size(number)- The font size, compared to the ‘normal’ size.
0is style-sheet's normal size,-1is smaller,+1is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. Fractional values are allowed.
font(font metric)- A cached font metric object.
This grob interface is used in the following graphical object(s): Accidental, AccidentalCautionary, AccidentalSuggestion, AmbitusAccidental, AmbitusLine, AmbitusNoteHead, Arpeggio, BalloonTextItem, BarLine, BarNumber, BassFigure, BreathingSign, ChordName, Clef, CombineTextScript, Custos, Dots, DoublePercentRepeat, DoublePercentRepeatCounter, DynamicText, DynamicTextSpanner, Fingering, FretBoard, HarmonicParenthesesItem, InstrumentName, InstrumentSwitch, KeyCancellation, KeySignature, LyricHyphen, LyricText, MensuralLigature, MetronomeMark, MultiMeasureRest, MultiMeasureRestNumber, MultiMeasureRestText, NoteHead, NoteName, OctavateEight, OttavaBracket, ParenthesesItem, PercentRepeat, PercentRepeatCounter, RehearsalMark, Rest, Script, SostenutoPedal, SpanBar, StanzaNumber, Stem, StringNumber, StrokeFinger, SustainPedal, SystemStartBrace, SystemStartBracket, SystemStartSquare, TabNoteHead, TextScript, TextSpanner, TimeSignature, TrillPitchAccidental, TrillPitchGroup, TrillPitchHead, TrillSpanner, TupletNumber, UnaCordaPedal, VaticanaLigature and VoltaBracket.
A fret diagram
align-dir(direction)- Which side to align?
-1: left side,0: around center of width,1: right side.dot-placement-list(list)- List consisting of
(description string-number fret-number finger-number)entries used to define fret diagrams.fret-diagram-details(list)- An alist of detailed grob properties for fret diagrams. Each alist entry consists of a (
property.value) pair. The properties which can be included in fret-diagram-details include the following:
barre-type– Type of barre indication used. Choices includecurved,straight, andnone. Defaultcurved.dot-color– Color of dots. Options includeblackandwhite. Defaultblack.dot-label-font-mag– Magnification for font used to label fret dots. Default value 1.dot-radius– Radius of dots, in terms of fret spaces. Default value 0.425 for labeled dots, 0.25 for unlabeled dots.finger-code– Code for the type of fingering indication used. Options includenone,in-dot, andbelow-string. Defaultnonefor markup fret diagrams,below-stringforFretBoardsfret diagrams.fret-count– The number of frets. Default 4.fret-label-font-mag– The magnification of the font used to label the lowest fret number. Default 0.5fret-label-vertical-offset– The vertical offset of the fret label from the fret. Default -0.2label-dir– Side to which the fret label is attached.-1,#LEFT, or#DOWNfor left or down;1,#RIGHT, or#UPfor right or up. Default#RIGHT.mute-string– Character string to be used to indicate muted string. Default "x".number-type– Type of numbers to use in fret label. Choices includeroman-lower,roman-upper, andarabic. Defaultroman-lower.open-string– Character string to be used to indicate open string. Default "o".orientation– Orientation of fret-diagram. Options includenormalandlandscape. Defaultnormal.string-count– The number of strings. Default 6.string-label-font-mag– The magnification of the font used to label fingerings at the string, rather than in the dot. Default value 0.6.top-fret-thickness– The thickness of the top fret line, as a multiple of the standard thickness. Default value 3.xo-font-magnification– Magnification used for mute and open string indicators. Default value 0.5.xo-padding– Padding for open and mute indicators from top fret. Default value 0.25.size(number)- Size of object, relative to standard size.
thickness(number)- Line thickness, generally measured in
line-thickness.
This grob interface is used in the following graphical object(s): FretBoard.
Keep track of durations in a run of grace notes.
common-shortest-duration(moment)- The most common shortest note length. This is used in spacing. Enlarging this sets the score tighter.
columns(unknown)- A list of grobs, typically containing
PaperColumnorNoteColumnobjects.
This grob interface is used in the following graphical object(s): GraceSpacing.
A gregorian ligature.
ascendens(boolean)- Is this neume of ascending type?
auctum(boolean)- Is this neume liquescentically augmented?
cavum(boolean)- Is this neume outlined?
context-info(integer)- Within a ligature, the final glyph or shape of a head may be affected by the left and/or right neighbour head.
context-infoholds for each head such information about the left and right neighbour, encoded as a bit mask.deminutum(boolean)- Is this neume deminished?
descendens(boolean)- Is this neume of descendent type?
inclinatum(boolean)- Is this neume an inclinatum?
linea(boolean)- Attach vertical lines to this neume?
oriscus(boolean)- Is this neume an oriscus?
pes-or-flexa(boolean)- Shall this neume be joined with the previous head?
prefix-set(number)- A bit mask that holds all Gregorian head prefixes, such as
\virgaor\quilisma.quilisma(boolean)- Is this neume a quilisma?
stropha(boolean)- Is this neume a stropha?
virga(boolean)- Is this neume a virga?
This grob interface is not used in any graphical object.
A line that is spanned between grid-points.
thickness(number)- Line thickness, generally measured in
line-thickness.
elements(unknown)- A list of grobs; the type is depending on the grob where this is set in.
This grob interface is used in the following graphical object(s): GridLine.
A spanning point for grid lines.
This grob interface is used in the following graphical object(s): GridPoint.
A grob represents a piece of music notation.
All grobs have an X and Y position on the page. These X and Y positions are stored in a relative format, thus they can easily be combined by stacking them, hanging one grob to the side of another, or coupling them into grouping objects.
Each grob has a reference point (a.k.a. parent): The position of a grob is stored relative to that reference point. For example, the X reference point of a staccato dot usually is the note head that it applies to. When the note head is moved, the staccato dot moves along automatically.
A grob is often associated with a symbol, but some grobs do not print any symbols. They take care of grouping objects. For example, there is a separate grob that stacks staves vertically. The NoteCollision object is also an abstract grob: It only moves around chords, but doesn't print anything.
Grobs have properties (Scheme variables) that can be read and set. Two types of them exist: immutable and mutable. Immutable variables define the default style and behavior. They are shared between many objects. They can be changed using \override and \revert. Mutable properties are variables that are specific to one grob. Typically, lists of other objects, or results from computations are stored in mutable properties. In particular, every call to set-grob-property (or its C++ equivalent) sets a mutable property.
The properties after-line-breaking and before-line-breaking are dummies that are not user-serviceable.
X-extent(pair of numbers)- Hard coded extent in X direction.
X-offset(number)- The horizontal amount that this object is moved relative to its X-parent.
Y-extent(pair of numbers)- Hard coded extent in Y direction.
Y-offset(number)- The vertical amount that this object is moved relative to its Y-parent.
after-line-breaking(boolean)- Dummy property, used to trigger callback for
after-line-breaking.avoid-slur(symbol)- Method of handling slur collisions. Choices are
around,inside,outside. If unset, scripts and slurs ignore each other.aroundonly moves the script if there is a collision;outsidealways moves the script.before-line-breaking(boolean)- Dummy property, used to trigger a callback function.
color(list)- The color of this grob.
extra-X-extent(pair of numbers)- A grob is enlarged in X dimension by this much.
extra-Y-extent(pair of numbers)- A grob is enlarged in Y dimension by this much.
extra-offset(pair of numbers)- A pair representing an offset. This offset is added just before outputting the symbol, so the typesetting engine is completely oblivious to it. The values are measured in
staff-spaceunits of the staff'sStaffSymbol.layer(integer)- The output layer (a value between 0 and 2: Layers define the order of printing objects. Objects in lower layers are overprinted by objects in higher layers.
minimum-X-extent(pair of numbers)- Minimum size of an object in X dimension, measured in
staff-spaceunits.minimum-Y-extent(pair of numbers)- Minimum size of an object in Y dimension, measured in
staff-spaceunits.outside-staff-horizontal-padding(number)- By default, an outside-staff-object can be placed so that is it very close to another grob horizontally. If this property is set, the outside-staff-object is raised so that it is not so close to its neighbor.
outside-staff-padding(number)- The padding to place between this grob and the staff when spacing according to
outside-staff-priority.outside-staff-priority(number)- If set, the grob is positioned outside the staff in such a way as to avoid all collisions. In case of a potential collision, the grob with the smaller
outside-staff-priorityis closer to the staff.rotation(list)- Number of degrees to rotate this object, and what point to rotate around. For example,
#'(45 0 0)rotates by 45 degrees around the center of this object.springs-and-rods(boolean)- Dummy variable for triggering spacing routines.
stencil(unknown)- The symbol to print.
transparent(boolean)- This makes the grob invisible.
axis-group-parent-X(layout object)- Containing X axis group.
axis-group-parent-Y(layout object)- Containing Y axis group.
cause(any type)- Any kind of causation objects (i.e., music, or perhaps translator) that was the cause for this grob.
cross-staff(boolean)- For a beam or a stem, this is true if we depend on inter-staff spacing.
interfaces(list)- A list of symbols indicating the interfaces supported by this object. It is initialized from the
metafield.meta(list)- Provide meta information. It is an alist with the entries
nameandinterfaces.pure-Y-offset-in-progress(boolean)- A debugging aid for catching cyclic dependencies.
staff-symbol(layout object)- The staff symbol grob that we are in.
This grob interface is used in the following graphical object(s): Accidental, AccidentalCautionary, AccidentalPlacement, AccidentalSuggestion, Ambitus, AmbitusAccidental, AmbitusLine, AmbitusNoteHead, Arpeggio, BalloonTextItem, BarLine, BarNumber, BassFigure, BassFigureAlignment, BassFigureAlignmentPositioning, BassFigureBracket, BassFigureContinuation, BassFigureLine, Beam, BendAfter, BreakAlignGroup, BreakAlignment, BreathingSign, ChordName, Clef, ClusterSpanner, ClusterSpannerBeacon, CombineTextScript, Custos, DotColumn, Dots, DoublePercentRepeat, DoublePercentRepeatCounter, DynamicLineSpanner, DynamicText, DynamicTextSpanner, Fingering, FretBoard, Glissando, GraceSpacing, GridLine, GridPoint, Hairpin, HarmonicParenthesesItem, HorizontalBracket, InstrumentName, InstrumentSwitch, KeyCancellation, KeySignature, LaissezVibrerTie, LaissezVibrerTieColumn, LedgerLineSpanner, LeftEdge, LigatureBracket, LyricExtender, LyricHyphen, LyricSpace, LyricText, MeasureGrouping, MelodyItem, MensuralLigature, MetronomeMark, MultiMeasureRest, MultiMeasureRestNumber, MultiMeasureRestText, NonMusicalPaperColumn, NoteCollision, NoteColumn, NoteHead, NoteName, NoteSpacing, OctavateEight, OttavaBracket, PaperColumn, ParenthesesItem, PercentRepeat, PercentRepeatCounter, PhrasingSlur, PianoPedalBracket, RehearsalMark, RepeatSlash, RepeatTie, RepeatTieColumn, Rest, RestCollision, Script, ScriptColumn, ScriptRow, SeparationItem, Slur, SostenutoPedal, SostenutoPedalLineSpanner, SpacingSpanner, SpanBar, StaffSpacing, StaffSymbol, StanzaNumber, Stem, StemTremolo, StringNumber, StrokeFinger, SustainPedal, SustainPedalLineSpanner, System, SystemStartBar, SystemStartBrace, SystemStartBracket, SystemStartSquare, TabNoteHead, TextScript, TextSpanner, Tie, TieColumn, TimeSignature, TrillPitchAccidental, TrillPitchGroup, TrillPitchHead, TrillSpanner, TupletBracket, TupletNumber, UnaCordaPedal, UnaCordaPedalLineSpanner, VaticanaLigature, VerticalAlignment, VerticalAxisGroup, VoiceFollower, VoltaBracket and VoltaBracketSpanner.
A hairpin crescendo or decrescendo.
bound-padding(number)- The amount of padding to insert around spanner bounds.
grow-direction(direction)- Crescendo or decrescendo?
height(dimension, in staff space)- Height of an object in
staff-spaceunits.
adjacent-hairpins(unknown)- A list of directly neighboring hairpins.
circled-tip(boolean)- Put a circle at start/end of hairpins (al/del niente).
This grob interface is used in the following graphical object(s): Hairpin.
A group spanner that keeps track of interesting items. If it doesn't contain any after line breaking, it removes itself and all its children.
remove-empty(boolean)- If set, remove group if it contains no interesting items.
remove-first(boolean)- Remove the first staff of a orchestral score?
important-column-ranks(vector)- A cache of columns that contain
items-worth-livingdata.items-worth-living(unknown)- A list of interesting items. If empty in a particular staff, then that staff is erased.
This grob interface is used in the following graphical object(s): VerticalAxisGroup.
A horizontal bracket encompassing notes.
bracket-flare(pair of numbers)- A pair of numbers specifying how much edges of brackets should slant outward. Value
0.0means straight edges.connect-to-neighbor(pair)- Pair of booleans, indicating whether this grob looks as a continued break.
edge-height(pair)- A pair of numbers specifying the heights of the vertical edges:
(left-height.right-height).shorten-pair(pair of numbers)- The lengths to shorten a text-spanner on both sides, for example a pedal bracket. Positive values shorten the text-spanner, while negative values lengthen it.
columns(unknown)- A list of grobs, typically containing
PaperColumnorNoteColumnobjects.
This grob interface is used in the following graphical object(s): HorizontalBracket, OttavaBracket and VoltaBracket.
Instrument-specific markup (like fret boards or harp pedal diagrams).
fret-diagram-details(list)- An alist of detailed grob properties for fret diagrams. Each alist entry consists of a (
property.value) pair. The properties which can be included in fret-diagram-details include the following:
barre-type– Type of barre indication used. Choices includecurved,straight, andnone. Defaultcurved.dot-color– Color of dots. Options includeblackandwhite. Defaultblack.dot-label-font-mag– Magnification for font used to label fret dots. Default value 1.dot-radius– Radius of dots, in terms of fret spaces. Default value 0.425 for labeled dots, 0.25 for unlabeled dots.finger-code– Code for the type of fingering indication used. Options includenone,in-dot, andbelow-string. Defaultnonefor markup fret diagrams,below-stringforFretBoardsfret diagrams.fret-count– The number of frets. Default 4.fret-label-font-mag– The magnification of the font used to label the lowest fret number. Default 0.5fret-label-vertical-offset– The vertical offset of the fret label from the fret. Default -0.2label-dir– Side to which the fret label is attached.-1,#LEFT, or#DOWNfor left or down;1,#RIGHT, or#UPfor right or up. Default#RIGHT.mute-string– Character string to be used to indicate muted string. Default "x".number-type– Type of numbers to use in fret label. Choices includeroman-lower,roman-upper, andarabic. Defaultroman-lower.open-string– Character string to be used to indicate open string. Default "o".orientation– Orientation of fret-diagram. Options includenormalandlandscape. Defaultnormal.string-count– The number of strings. Default 6.string-label-font-mag– The magnification of the font used to label fingerings at the string, rather than in the dot. Default value 0.6.top-fret-thickness– The thickness of the top fret line, as a multiple of the standard thickness. Default value 3.xo-font-magnification– Magnification used for mute and open string indicators. Default value 0.5.xo-padding– Padding for open and mute indicators from top fret. Default value 0.25.harp-pedal-details(list)- An alist of detailed grob properties for harp pedal diagrams. Each alist entry consists of a (
property.value) pair. The properties which can be included in harp-pedal-details include the following:
box-offset– Vertical shift of the center of flat / sharp pedal boxes above / below the horizontal line. Default value 0.8.box-width– Width of each pedal box. Default value 0.4.box-height– Height of each pedal box. Default value 1.0.space-before-divider– Space between boxes before the first divider (so that the diagram can be made symmetric). Default value 0.8.space-after-divider– Space between boxes after the first divider. Default value 0.8.circle-thickness– Thickness (in unit of the line-thickness) of the ellipse around circled pedals. Default value 0.5.circle-x-padding– Padding in X direction of the ellipse around circled pedals. Default value 0.15.circle-y-padding– Padding in Y direction of the ellipse around circled pedals. Default value 0.2.size(number)- Size of object, relative to standard size.
thickness(number)- Line thickness, generally measured in
line-thickness.
This grob interface is used in the following graphical object(s): TextScript.
Grobs can be distinguished in their role in the horizontal spacing. Many grobs define constraints on the spacing by their sizes, for example, note heads, clefs, stems, and all other symbols with a fixed shape. These grobs form a subtype called Item.
Some items need special treatment for line breaking. For example, a clef is normally only printed at the start of a line (i.e., after a line break). To model this, ‘breakable’ items (clef, key signature, bar lines, etc.) are copied twice. Then we have three versions of each breakable item: one version if there is no line break, one version that is printed before the line break (at the end of a system), and one version that is printed after the line break.
Whether these versions are visible and take up space is determined by the outcome of the break-visibility grob property, which is a function taking a direction (-1, 0 or 1) as an argument. It returns a cons of booleans, signifying whether this grob should be transparent and have no extent.
The following variables for break-visibility are predefined:
grob will show: before no after
break break break
all-invisible no no no
begin-of-line-visible no no yes
end-of-line-visible yes no no
all-visible yes yes yes
begin-of-line-invisible yes yes no
end-of-line-invisible no yes yes
center-invisible yes no yes
break-visibility(vector)- A vector of 3 booleans,
#(end-of-line unbroken begin-of-line).#tmeans visible,#fmeans killed.extra-spacing-height(pair of numbers)- In the horizontal spacing problem, we increase the height of each item by this amount (by adding the ‘car’ to the bottom of the item and adding the ‘cdr’ to the top of the item. In order to make a grob infinitely high (to prevent the horizontal spacing problem from placing any other grobs above or below this grob), set this to
(-inf.0 . +inf.0).extra-spacing-width(pair of numbers)- In the horizontal spacing problem, we pad each item by this amount (by adding the ‘car’ on the left side of the item and adding the ‘cdr’ on the right side of the item). In order to make a grob take up no horizontal space at all, set this to
(+inf.0 . -inf.0).non-musical(boolean)- True if the grob belongs to a
NonMusicalPaperColumn.
This grob interface is used in the following graphical object(s): Accidental, AccidentalCautionary, AccidentalPlacement, AccidentalSuggestion, Ambitus, AmbitusAccidental, AmbitusLine, AmbitusNoteHead, Arpeggio, BalloonTextItem, BarLine, BarNumber, BassFigure, BassFigureBracket, BreakAlignGroup, BreakAlignment, BreathingSign, ChordName, Clef, ClusterSpannerBeacon, CombineTextScript, Custos, DotColumn, Dots, DoublePercentRepeat, DoublePercentRepeatCounter, DynamicText, Fingering, FretBoard, GridLine, GridPoint, HarmonicParenthesesItem, InstrumentSwitch, KeyCancellation, KeySignature, LaissezVibrerTie, LaissezVibrerTieColumn, LeftEdge, LyricText, MelodyItem, MetronomeMark, NonMusicalPaperColumn, NoteCollision, NoteColumn, NoteHead, NoteName, NoteSpacing, OctavateEight, PaperColumn, ParenthesesItem, RehearsalMark, RepeatSlash, RepeatTie, RepeatTieColumn, Rest, RestCollision, Script, ScriptColumn, ScriptRow, SeparationItem, SostenutoPedal, SpanBar, StaffSpacing, StanzaNumber, Stem, StemTremolo, StringNumber, StrokeFinger, SustainPedal, TabNoteHead, TextScript, TimeSignature, TrillPitchAccidental, TrillPitchGroup, TrillPitchHead and UnaCordaPedal.
A key cancellation.
This grob interface is used in the following graphical object(s): KeyCancellation.
A group of accidentals, to be printed as signature sign.
alteration-alist(list)- List of
(pitch.accidental)pairs for key signature.c0-position(integer)- An integer indicating the position of middle C.
glyph-name-alist(list)- An alist of key-string pairs.
padding(dimension, in staff space)- Add this much extra space between objects that are next to each other.
style(symbol)- This setting determines in what style a grob is typeset. Valid choices depend on the
stencilcallback reading this property.
padding-pairs(list)- An alist mapping
(name.name)to distances.
This grob interface is used in the following graphical object(s): KeyCancellation and KeySignature.
This spanner draws the ledger lines of a staff. This is a separate grob because it has to process all potential collisions between all note heads.
gap(dimension, in staff space)- Size of a gap in a variable symbol.
length-fraction(number)- Multiplier for lengths. Used for determining ledger lines and stem lengths.
minimum-length-fraction(number)- Minimum length of ledger line as fraction of note head size.
thickness(number)- Line thickness, generally measured in
line-thickness.
note-heads(unknown)- A list of note head grobs.
This grob interface is used in the following graphical object(s): LedgerLineSpanner.
Objects that need ledger lines, typically note heads. See also ledger-line-spanner-interface.
no-ledgers(boolean)- If set, don't draw ledger lines on this object.
This grob interface is used in the following graphical object(s): AmbitusNoteHead, NoteHead and TrillPitchHead.
A bracket indicating a ligature in the original edition.
height(dimension, in staff space)- Height of an object in
staff-spaceunits.thickness(number)- Line thickness, generally measured in
line-thickness.width(dimension, in staff space)- The width of a grob measured in staff space.
This grob interface is not used in any graphical object.
A ligature.
This grob interface is not used in any graphical object.
Generic line objects. Any object using lines supports this. The property style can be line, dashed-line, trill, dotted-line or zigzag.
For dashed-line, the length of the dashes is tuned with dash-fraction. If the latter is set to 0, a dotted line is produced. If dash-period is negative, the line is made transparent.
arrow-length(number)- Arrow length.
arrow-width(number)- Arrow width.
dash-fraction(number)- Size of the dashes, relative to
dash-period. Should be between0.0(no line) and1.0(continuous line).dash-period(number)- The length of one dash together with whitespace. If negative, no line is drawn at all.
style(symbol)- This setting determines in what style a grob is typeset. Valid choices depend on the
stencilcallback reading this property.thickness(number)- Line thickness, generally measured in
line-thickness.zigzag-length(dimension, in staff space)- The length of the lines of a zigzag, relative to
zigzag-width. A value of1gives 60-degree zigzags.zigzag-width(dimension, in staff space)- The width of one zigzag squiggle. This number is adjusted slightly so that the glissando line can be constructed from a whole number of squiggles.
This grob interface is used in the following graphical object(s): DynamicTextSpanner, Glissando, Hairpin, HorizontalBracket, LigatureBracket, OttavaBracket, PianoPedalBracket, TrillSpanner, TupletBracket, VoiceFollower and VoltaBracket.
Generic line drawn between two objects, e.g., for use with glissandi.
The property style can be line, dashed-line, trill, dotted-line or zigzag.
bound-details(list)- An alist of properties for determining attachments of spanners to edges.
extra-dy(number)- Slope glissandi this much extra.
gap(dimension, in staff space)- Size of a gap in a variable symbol.
left-bound-info(list)- An alist of properties for determining attachments of spanners to edges.
right-bound-info(list)- An alist of properties for determining attachments of spanners to edges.
thickness(number)- Line thickness, generally measured in
line-thickness.to-barline(boolean)- If true, the spanner will stop at the bar line just before it would otherwise stop.
note-columns(pair)- A list of
NoteColumngrobs.
This grob interface is used in the following graphical object(s): DynamicTextSpanner, Glissando, TextSpanner, TrillSpanner and VoiceFollower.
The extender is a simple line at the baseline of the lyric that helps show the length of a melisma (a tied or slurred note).
left-padding(dimension, in staff space)- The amount of space that is put left to an object (e.g., a group of accidentals).
next(layout object)- Object that is next relation (e.g., the lyric syllable following an extender.
right-padding(dimension, in staff space)- Space to insert on the right side of an object (e.g., between note and its accidentals).
thickness(number)- Line thickness, generally measured in
line-thickness.
heads(unknown)- A list of note heads.
This grob interface is used in the following graphical object(s): LyricExtender.
A centered hyphen is simply a line between lyrics used to divide syllables.
dash-period(number)- The length of one dash together with whitespace. If negative, no line is drawn at all.
height(dimension, in staff space)- Height of an object in
staff-spaceunits.length(dimension, in staff space)- User override for the stem length of unbeamed stems.
minimum-distance(dimension, in staff space)- Minimum distance between rest and notes or beam.
minimum-length(dimension, in staff space)- Try to make a spanner at least this long, normally in the horizontal direction. This requires an appropriate callback for the
springs-and-rodsproperty. If added to aTie, this sets the minimum distance between noteheads.padding(dimension, in staff space)- Add this much extra space between objects that are next to each other.
thickness(number)- Line thickness, generally measured in
line-thickness.
This grob interface is used in the following graphical object(s): LyricHyphen and LyricSpace.
Any object that is related to lyrics.
This grob interface is used in the following graphical object(s): LyricExtender and LyricHyphen.
A single piece of lyrics.
This grob interface is used in the following graphical object(s): LyricText.
A rehearsal mark.
This grob interface is used in the following graphical object(s): RehearsalMark.
This object indicates groups of beats. Valid choices for style are bracket and triangle.
height(dimension, in staff space)- Height of an object in
staff-spaceunits.style(symbol)- This setting determines in what style a grob is typeset. Valid choices depend on the
stencilcallback reading this property.thickness(number)- Line thickness, generally measured in
line-thickness.
This grob interface is used in the following graphical object(s): MeasureGrouping.
Context dependent typesetting decisions.
neutral-direction(direction)- Which direction to take in the center of the staff.
stems(unknown)- A list of stem objects, corresponding to the notes that the arpeggio has to be before.
This grob interface is used in the following graphical object(s): MelodyItem.
A mensural ligature.
thickness(number)- Line thickness, generally measured in
line-thickness.
delta-position(number)- The vertical position difference.
flexa-width(dimension, in staff space)- The width of a flexa shape in a ligature grob in (in
staff-spaceunits).head-width(dimension, in staff space)- The width of this ligature head.
join-right-amount(number)- DOCME
primitive(integer)- A pointer to a ligature primitive, i.e., an item similar to a note head that is part of a ligature.
This grob interface is used in the following graphical object(s): MensuralLigature.
A metronome mark.
This grob interface is used in the following graphical object(s): MetronomeMark.
Multi measure rest, and the text or number that is printed over it.
bound-padding(number)- The amount of padding to insert around spanner bounds.
This grob interface is used in the following graphical object(s): MultiMeasureRest, MultiMeasureRestNumber and MultiMeasureRestText.
A rest that spans a whole number of measures.
bound-padding(number)- The amount of padding to insert around spanner bounds.
expand-limit(integer)- Maximum number of measures expanded in church rests.
hair-thickness(number)- Thickness of the thin line in a bar line.
measure-count(integer)- The number of measures for a multi-measure rest.
minimum-length(dimension, in staff space)- Try to make a spanner at least this long, normally in the horizontal direction. This requires an appropriate callback for the
springs-and-rodsproperty. If added to aTie, this sets the minimum distance between noteheads.thick-thickness(number)- Bar line thickness, measured in
line-thickness.
use-breve-rest(boolean)- Use breve rests for measures longer than a whole rest.
This grob interface is used in the following graphical object(s): MultiMeasureRest and PercentRepeat.
An object that handles collisions between notes with different stem directions and horizontal shifts. Most of the interesting properties are to be set in note-column-interface: these are force-hshift and horizontal-shift.
merge-differently-dotted(boolean)- Merge note heads in collisions, even if they have a different number of dots. This is normal notation for some types of polyphonic music.
merge-differently-dottedonly applies to opposing stem directions (i.e., voice 1 & 2).merge-differently-headed(boolean)- Merge note heads in collisions, even if they have different note heads. The smaller of the two heads is rendered invisible. This is used in polyphonic guitar notation. The value of this setting is used by note-collision-interface.
merge-differently-headedonly applies to opposing stem directions (i.e., voice 1 & 2).prefer-dotted-right(boolean)- For note collisions, prefer to shift dotted up-note to the right, rather than shifting just the dot.
positioning-done(boolean)- Used to signal that a positioning element did its job. This ensures that a positioning is only done once.
This grob interface is used in the following graphical object(s): NoteCollision.
Stem and noteheads combined.
force-hshift(number)- This specifies a manual shift for notes in collisions. The unit is the note head width of the first voice note. This is used by note-collision-interface.
horizontal-shift(integer)- An integer that identifies ranking of
NoteColumns for horizontal shifting. This is used by note-collision-interface.ignore-collision(boolean)- If set, don't do note collision resolution on this
NoteColumn.
arpeggio(layout object)- A pointer to an
Arpeggioobject.note-heads(unknown)- A list of note head grobs.
rest(layout object)- A pointer to a
Restobject.rest-collision(layout object)- A rest collision that a rest is in.
stem(layout object)- A pointer to a
Stemobject.
This grob interface is used in the following graphical object(s): NoteColumn.
Note head.
note-names(vector)- Vector of strings containing names for easy-notation note heads.
stem-attachment(pair of numbers)- An
(x.y)pair where the stem attaches to the notehead.style(symbol)- This setting determines in what style a grob is typeset. Valid choices depend on the
stencilcallback reading this property.
accidental-grob(layout object)- The accidental for this note.
glyph-name(string)- The glyph name within the font.
This grob interface is used in the following graphical object(s): AmbitusNoteHead, NoteHead, TabNoteHead and TrillPitchGroup.
Note names.
style(symbol)- This setting determines in what style a grob is typeset. Valid choices depend on the
stencilcallback reading this property.
This grob interface is used in the following graphical object(s): NoteName.
This object calculates spacing wishes for individual voices.
knee-spacing-correction(number)- Factor for the optical correction amount for kneed beams. Set between
0for no correction and1for full correction.same-direction-correction(number)- Optical correction amount for stems that are placed in tight configurations. This amount is used for stems with the same direction to compensate for note head to stem distance.
space-to-barline(boolean)- If set, the distance between a note and the following non-musical column will be measured to the bar line instead of to the beginning of the non-musical column. If there is a clef change followed by a bar line, for example, this means that we will try to space the non-musical column as though the clef is not there.
stem-spacing-correction(number)- Optical correction amount for stems that are placed in tight configurations. For opposite directions, this amount is the correction for two normal sized stems that overlap completely.
left-items(unknown)- DOCME
right-items(unknown)- DOCME
This grob interface is used in the following graphical object(s): NoteSpacing.
Kill this grob after the line breaking process.
This grob interface is not used in any graphical object.
An ottava bracket.
bracket-flare(pair of numbers)- A pair of numbers specifying how much edges of brackets should slant outward. Value
0.0means straight edges.edge-height(pair)- A pair of numbers specifying the heights of the vertical edges:
(left-height.right-height).minimum-length(dimension, in staff space)- Try to make a spanner at least this long, normally in the horizontal direction. This requires an appropriate callback for the
springs-and-rodsproperty. If added to aTie, this sets the minimum distance between noteheads.shorten-pair(pair of numbers)- The lengths to shorten a text-spanner on both sides, for example a pedal bracket. Positive values shorten the text-spanner, while negative values lengthen it.
This grob interface is used in the following graphical object(s): OttavaBracket.
Paper_column objects form the top-most X parents for items. There are two types of columns: musical columns, where are attached to, and non-musical columns, where bar-lines, clefs, etc., are attached to. The spacing engine determines the X positions of these objects.
They are numbered, the first (leftmost) is column 0. Numbering happens before line breaking, and columns are not renumbered after line breaking. Since many columns go unused, you should only use the rank field to get ordering information. Two adjacent columns may have non-adjacent numbers.
between-cols(pair)- Where to attach a loose column to.
labels(list)- List of labels (symbols) placed on a column
line-break-penalty(number)- Penalty for a line break at this column. This affects the choices of the line breaker; it avoids a line break at a column with a positive penalty and prefers a line break at a column with a negative penalty.
line-break-permission(symbol)- Instructs the line breaker on whether to put a line break at this column. Can be
forceorallow.line-break-system-details(list)- An alist of properties to use if this column is the start of a system.
page-break-penalty(number)- Penalty for page break at this column. This affects the choices of the page breaker; it avoids a page break at a column with a positive penalty and prefers a page break at a column with a negative penalty.
page-break-permission(symbol)- Instructs the page breaker on whether to put a page break at this column. Can be
forceorallow.page-turn-penalty(number)- Penalty for a page turn at this column. This affects the choices of the page breaker; it avoids a page turn at a column with a positive penalty and prefers a page turn at a column with a negative penalty.
page-turn-permission(symbol)- Instructs the page breaker on whether to put a page turn at this column. Can be
forceorallow.rhythmic-location(rhythmic location)- Where (bar number, measure position) in the score.
shortest-playing-duration(moment)- The duration of the shortest note playing here.
shortest-starter-duration(moment)- The duration of the shortest note that starts here.
used(boolean)- If set, this spacing column is kept in the spacing problem.
when(moment)- Global time step associated with this column happen?
bounded-by-me(unknown)- A list of spanners that have this column as start/begin point. Only columns that have grobs or act as bounds are spaced.
grace-spacing(layout object)- A run of grace notes.
spacing(layout object)- The spacing spanner governing this section.
This grob interface is used in the following graphical object(s): NonMusicalPaperColumn and PaperColumn.
Parentheses for other objects.
padding(dimension, in staff space)- Add this much extra space between objects that are next to each other.
stencils(list)- Multiple stencils, used as intermediate value.
This grob interface is used in the following graphical object(s): HarmonicParenthesesItem, ParenthesesItem and TrillPitchGroup.
Beat, Double and single measure repeats.
slope(number)- The slope of this object.
thickness(number)- Line thickness, generally measured in
line-thickness.
This grob interface is used in the following graphical object(s): DoublePercentRepeat, DoublePercentRepeatCounter, PercentRepeat, PercentRepeatCounter and RepeatSlash.
Repeats that look like percent signs.
slope(number)- The slope of this object.
thickness(number)- Line thickness, generally measured in
line-thickness.
This grob interface is used in the following graphical object(s): DoublePercentRepeat, DoublePercentRepeatCounter and RepeatSlash.
The bracket of the piano pedal. It can be tuned through the regular bracket properties.
bound-padding(number)- The amount of padding to insert around spanner bounds.
bracket-flare(pair of numbers)- A pair of numbers specifying how much edges of brackets should slant outward. Value
0.0means straight edges.edge-height(pair)- A pair of numbers specifying the heights of the vertical edges:
(left-height.right-height).shorten-pair(pair of numbers)- The lengths to shorten a text-spanner on both sides, for example a pedal bracket. Positive values shorten the text-spanner, while negative values lengthen it.
pedal-text(layout object)- A pointer to the text of a mixed-style piano pedal.
This grob interface is used in the following graphical object(s): PianoPedalBracket.
A piano pedal sign.
This grob interface is used in the following graphical object(s): PianoPedalBracket, SostenutoPedalLineSpanner, SustainPedal, SustainPedalLineSpanner and UnaCordaPedalLineSpanner.
A piano pedal sign, fixed size.
This grob interface is used in the following graphical object(s): SostenutoPedal, SustainPedal and UnaCordaPedal.
A note head to indicate trill pitches.
accidental-grob(layout object)- The accidental for this note.
This grob interface is used in the following graphical object(s): TrillPitchHead.
Move around ordinary rests (not multi-measure-rests) to avoid conflicts.
minimum-distance(dimension, in staff space)- Minimum distance between rest and notes or beam.
elements(unknown)- A list of grobs; the type is depending on the grob where this is set in.
positioning-done(boolean)- Used to signal that a positioning element did its job. This ensures that a positioning is only done once.
This grob interface is used in the following graphical object(s): RestCollision.
A rest symbol. The property style can be default, mensural, neomensural or classical.
direction(direction)- If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.minimum-distance(dimension, in staff space)- Minimum distance between rest and notes or beam.
style(symbol)- This setting determines in what style a grob is typeset. Valid choices depend on the
stencilcallback reading this property.
This grob interface is used in the following graphical object(s): MultiMeasureRest and Rest.
Any object with a duration. Used to determine which grobs are interesting enough to maintain a hara-kiri staff.
This grob interface is used in the following graphical object(s): BassFigure, ChordName, ClusterSpannerBeacon, LyricText, NoteHead, RepeatSlash, Rest and TabNoteHead.
Note head or rest.
duration-log(integer)- The 2-log of the note head duration, i.e.,
0= whole note,1= half note, etc.
dot(layout object)- A reference to a
Dotsobject.stem(layout object)- A pointer to a
Stemobject.
This grob interface is used in the following graphical object(s): AmbitusNoteHead, NoteHead, Rest, TabNoteHead and TrillPitchHead.
An interface that sorts scripts according to their script-priority.
This grob interface is used in the following graphical object(s): ScriptColumn and ScriptRow.
An object that is put above or below a note.
add-stem-support(boolean)- If set, the
Stemobject is included in this script's support.avoid-slur(symbol)- Method of handling slur collisions. Choices are
around,inside,outside. If unset, scripts and slurs ignore each other.aroundonly moves the script if there is a collision;outsidealways moves the script.script-priority(number)- A sorting key that determines in what order a script is within a stack of scripts.
slur-padding(number)- Extra distance between slur and script.
positioning-done(boolean)- Used to signal that a positioning element did its job. This ensures that a positioning is only done once.
script-stencil(pair)- A pair
(type.arg)which acts as an index for looking up aStencilobject.slur(layout object)- A pointer to a
Slurobject.
This grob interface is used in the following graphical object(s): AccidentalSuggestion, DynamicText and Script.
Position this object on itself and/or on its parent. To this end, the following functions are provided:
Self_alignment_interface::[xy]_aligned_on_selfself-alignment-X and self-alignment-Y.Self_alignment_interface::aligned_on_[xy]_parentSelf_alignment_interface::centered_on_[xy]_parent
self-alignment-X(number)- Specify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified.self-alignment-Y(number)- Like
self-alignment-Xbut for the Y axis.
This grob interface is used in the following graphical object(s): AccidentalSuggestion, BarNumber, DoublePercentRepeatCounter, DynamicText, Fingering, GridLine, Hairpin, LyricText, MultiMeasureRestNumber, MultiMeasureRestText, OctavateEight, PercentRepeatCounter, RehearsalMark, SostenutoPedal, StringNumber, StrokeFinger, SustainPedal and UnaCordaPedal.
The interface for a column of l.v. (laissez vibrer) ties.
head-direction(direction)- Are the note heads left or right in a semitie?
tie-configuration(list)- List of
(position.dir)pairs, indicating the desired tie configuration, where position is the offset from the center of the staff in staff space and dir indicates the direction of the tie (1=>up,-1=>down,0=>center). A non-pair entry in the list causes the corresponding tie to be formatted automatically.
positioning-done(boolean)- Used to signal that a positioning element did its job. This ensures that a positioning is only done once.
This grob interface is used in the following graphical object(s): LaissezVibrerTieColumn and RepeatTieColumn.
A tie which is only on one side connected to a note head.
control-points(list)- List of offsets (number pairs) that form control points for the tie, slur, or bracket shape. For Béziers, this should list the control points of a third-order Bézier curve.
direction(direction)- If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.head-direction(direction)- Are the note heads left or right in a semitie?
thickness(number)- Line thickness, generally measured in
line-thickness.
details(list)- Alist of parameters for detailed grob behavior.
More information on the allowed parameters can be found by inspecting lily/slur-scoring.cc, lily/beam-quanting.cc, and lily/tie-formatting-problem.cc. Setting
debug-tie-scoring,debug-beam-scoringordebug-slur-scoringalso provides useful clues.note-head(layout object)- A single note head.
This grob interface is used in the following graphical object(s): LaissezVibrerTie and RepeatTie.
Item that computes widths to generate spacing rods.
X-extent(pair of numbers)- Hard coded extent in X direction.
horizontal-skylines(unknown)- Two skylines, one to the left and one to the right of this grob.
padding(dimension, in staff space)- Add this much extra space between objects that are next to each other.
conditional-elements(unknown)- Internal use only.
elements(unknown)- A list of grobs; the type is depending on the grob where this is set in.
This grob interface is used in the following graphical object(s): NonMusicalPaperColumn, NoteColumn, PaperColumn and SeparationItem.
Position a victim object (this one) next to other objects (the support). The property direction signifies where to put the victim object relative to the support (left or right, up or down?)
The routine also takes the size of the staff into account if staff-padding is set. If undefined, the staff symbol is ignored.
direction(direction)- If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.minimum-space(dimension, in staff space)- Minimum distance that the victim should move (after padding).
padding(dimension, in staff space)- Add this much extra space between objects that are next to each other.
side-axis(number)- If the value is
#X(or equivalently0), the object is placed horizontally next to the other object. If the value is#Yor1, it is placed vertically.side-relative-direction(direction)- Multiply direction of
direction-sourcewith this to get the direction of this object.slur-padding(number)- Extra distance between slur and script.
staff-padding(dimension, in staff space)- Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
direction-source(layout object)- In case
side-relative-directionis set, which grob to get the direction from.quantize-position(boolean)- If set, a vertical alignment is aligned to be within staff spaces.
side-support-elements(unknown)- The side support, a list of grobs.
This grob interface is used in the following graphical object(s): AccidentalSuggestion, AmbitusAccidental, Arpeggio, BarNumber, BassFigureAlignmentPositioning, CombineTextScript, DoublePercentRepeatCounter, DynamicLineSpanner, Fingering, HorizontalBracket, InstrumentName, InstrumentSwitch, MeasureGrouping, MetronomeMark, MultiMeasureRestNumber, MultiMeasureRestText, OctavateEight, OttavaBracket, PercentRepeatCounter, RehearsalMark, Script, SostenutoPedalLineSpanner, StanzaNumber, StringNumber, StrokeFinger, SustainPedalLineSpanner, SystemStartBar, SystemStartBrace, SystemStartBracket, SystemStartSquare, TextScript, TextSpanner, TrillPitchAccidental, TrillPitchGroup, TrillSpanner, UnaCordaPedalLineSpanner, VoltaBracket and VoltaBracketSpanner.
A slur.
annotation(string)- Annotate a grob for debug purposes.
avoid-slur(symbol)- Method of handling slur collisions. Choices are
around,inside,outside. If unset, scripts and slurs ignore each other.aroundonly moves the script if there is a collision;outsidealways moves the script.control-points(list)- List of offsets (number pairs) that form control points for the tie, slur, or bracket shape. For Béziers, this should list the control points of a third-order Bézier curve.
dash-fraction(number)- Size of the dashes, relative to
dash-period. Should be between0.0(no line) and1.0(continuous line).dash-period(number)- The length of one dash together with whitespace. If negative, no line is drawn at all.
direction(direction)- If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.eccentricity(number)- How asymmetrical to make a slur. Positive means move the center to the right.
height-limit(dimension, in staff space)- Maximum slur height: The longer the slur, the closer it is to this height.
inspect-index(integer)- If debugging is set, set beam and slur configuration to this index, and print the respective scores.
inspect-quants(pair of numbers)- If debugging is set, set beam and slur quants to this position, and print the respective scores.
line-thickness(number)- The thickness of the tie or slur contour.
positions(pair of numbers)- Pair of staff coordinates
(left.right), where both left and right are instaff-spaceunits of the current staff. For slurs, this value selects which slur candidate to use; if extreme positions are requested, the closest one is taken.ratio(number)- Parameter for slur shape. The higher this number, the quicker the slur attains its
height-limit.thickness(number)- Line thickness, generally measured in
line-thickness.
details(list)- Alist of parameters for detailed grob behavior.
More information on the allowed parameters can be found by inspecting lily/slur-scoring.cc, lily/beam-quanting.cc, and lily/tie-formatting-problem.cc. Setting
debug-tie-scoring,debug-beam-scoringordebug-slur-scoringalso provides useful clues.encompass-objects(unknown)- Objects that a slur should avoid in addition to notes and stems.
note-columns(pair)- A list of
NoteColumngrobs.quant-score(string)- The beam quanting score; stored for debugging.
This grob interface is used in the following graphical object(s): PhrasingSlur and Slur.
A layout object that takes part in the spacing problem.
allow-loose-spacing(boolean)- If set, column can be detached from main spacing.
keep-inside-line(boolean)- If set, this column cannot have objects sticking into the margin.
measure-length(moment)- Length of a measure. Used in some spacing situations.
ideal-distances(list)(obj. (dist.strength))pairs.left-neighbors(unknown)- A list of
spacing-wishesgrobs that are close to the current column.The closest
spacing-wishesdetermine the actual distances between the columns.minimum-distances(list)- A list of rods that have the format
(obj.dist).right-neighbors(unknown)- See
left-neighbors.spacing-wishes(unknown)- List of note spacing or staff spacing objects.
This grob interface is used in the following graphical object(s): NonMusicalPaperColumn and PaperColumn.
This object calculates the desired and minimum distances between two columns.
left-items(unknown)- DOCME
right-items(unknown)- DOCME
This grob interface is used in the following graphical object(s): NoteSpacing and StaffSpacing.
Supports setting of spacing variables.
shortest-duration-space(dimension, in staff space)- Start with this much space for the shortest duration. This is expressed in
spacing-incrementas unit. See also spacing-spanner-interface.spacing-increment(number)- Add this much space for a doubled duration. Typically, the width of a note head. See also spacing-spanner-interface.
This grob interface is used in the following graphical object(s): GraceSpacing and SpacingSpanner.
The space taken by a note is dependent on its duration. Doubling a duration adds spacing-increment to the space. The most common shortest note gets shortest-duration-space. Notes that are even shorter are spaced proportonial to their duration.
Typically, the increment is the width of a black note head. In a piece with lots of 8th notes, and some 16th notes, the eighth note gets a 2 note heads width (i.e., the space following a note is a 1 note head width). A 16th note is followed by 0.5 note head width. The quarter note is followed by 3 NHW, the half by 4 NHW, etc.
average-spacing-wishes(boolean)- If set, the spacing wishes are averaged over staves.
base-shortest-duration(moment)- Spacing is based on the shortest notes in a piece. Normally, pieces are spaced as if notes at least as short as this are present.
common-shortest-duration(moment)- The most common shortest note length. This is used in spacing. Enlarging this sets the score tighter.
packed-spacing(boolean)- If set, the notes are spaced as tightly as possible.
shortest-duration-space(dimension, in staff space)- Start with this much space for the shortest duration. This is expressed in
spacing-incrementas unit. See also spacing-spanner-interface.spacing-increment(number)- Add this much space for a doubled duration. Typically, the width of a note head. See also spacing-spanner-interface.
strict-grace-spacing(boolean)- If set, grace notes are not spaced separately, but put before musical columns.
strict-note-spacing(boolean)- If set, unbroken columns with non-musical material (clefs, bar lines, etc.) are not spaced separately, but put before musical columns.
uniform-stretching(boolean)- If set, items stretch proportionally to their durations. This looks better in complex polyphonic patterns.
This grob interface is used in the following graphical object(s): SpacingSpanner.
A bar line that is spanned between other barlines. This interface is used for bar lines that connect different staves.
elements(unknown)- A list of grobs; the type is depending on the grob where this is set in.
glyph-name(string)- The glyph name within the font.
This grob interface is used in the following graphical object(s): SpanBar.
Some objects are horizontally spanned between objects. For example, slurs, beams, ties, etc. These grobs form a subtype called Spanner. All spanners have two span points (these must be Item objects), one on the left and one on the right. The left bound is also the X reference point of the spanner.
minimum-length(dimension, in staff space)- Try to make a spanner at least this long, normally in the horizontal direction. This requires an appropriate callback for the
springs-and-rodsproperty. If added to aTie, this sets the minimum distance between noteheads.to-barline(boolean)- If true, the spanner will stop at the bar line just before it would otherwise stop.
This grob interface is used in the following graphical object(s): BassFigureAlignment, BassFigureAlignmentPositioning, BassFigureContinuation, BassFigureLine, Beam, BendAfter, ClusterSpanner, DynamicLineSpanner, DynamicTextSpanner, Glissando, GraceSpacing, Hairpin, HorizontalBracket, InstrumentName, LedgerLineSpanner, LigatureBracket, LyricExtender, LyricHyphen, LyricSpace, MeasureGrouping, MensuralLigature, MultiMeasureRest, MultiMeasureRestNumber, MultiMeasureRestText, OttavaBracket, PercentRepeat, PercentRepeatCounter, PhrasingSlur, PianoPedalBracket, Slur, SostenutoPedalLineSpanner, SpacingSpanner, StaffSymbol, SustainPedalLineSpanner, System, SystemStartBar, SystemStartBrace, SystemStartBracket, SystemStartSquare, TextSpanner, Tie, TieColumn, TrillSpanner, TupletBracket, TupletNumber, UnaCordaPedalLineSpanner, VaticanaLigature, VerticalAlignment, VerticalAxisGroup, VoiceFollower, VoltaBracket and VoltaBracketSpanner.
This object calculates spacing details from a breakable symbol (left) to another object. For example, it takes care of optical spacing from a bar line to a note.
stem-spacing-correction(number)- Optical correction amount for stems that are placed in tight configurations. For opposite directions, this amount is the correction for two normal sized stems that overlap completely.
This grob interface is used in the following graphical object(s): StaffSpacing.
This spanner draws the lines of a staff. A staff symbol defines a vertical unit, the staff space. Quantities that go by a half staff space are called positions. The center (i.e., middle line or space) is position 0. The length of the symbol may be set by hand through the width property.
ledger-line-thickness(pair of numbers)- The thickness of ledger lines. It is the sum of 2 numbers: The first is the factor for line thickness, and the second for staff space. Both contributions are added.
line-count(integer)- The number of staff lines.
line-positions(list)- Vertical positions of staff lines.
staff-space(dimension, in staff space)- Amount of space between staff lines, expressed in global
staff-space.thickness(number)- Line thickness, generally measured in
line-thickness.width(dimension, in staff space)- The width of a grob measured in staff space.
This grob interface is used in the following graphical object(s): StaffSymbol.
An object whose Y position is meant relative to a staff symbol. These usually have Staff_symbol_referencer::callback in their Y-offset-callbacks.
staff-position(number)- Vertical position, measured in half staff spaces, counted from the middle line.
This grob interface is used in the following graphical object(s): AmbitusLine, AmbitusNoteHead, Arpeggio, Beam, Clef, Custos, Dots, MultiMeasureRest, NoteHead, Rest, TabNoteHead and TrillPitchHead.
A stanza number, to be put in from of a lyrics line.
This grob interface is used in the following graphical object(s): StanzaNumber.
The stem represents the graphical stem. In addition, it internally connects note heads, beams, and tremolos. Rests and whole notes have invisible stems.
The following properties may be set in the details list.
beamed-lengthsbeamed-minimum-free-lengthsbeamed-extreme-minimum-free-lengthslengthsstem-shorten
avoid-note-head(boolean)- If set, the stem of a chord does not pass through all note heads, but starts at the last note head.
beaming(pair)- Pair of number lists. Each number list specifies which beams to make.
0is the central beam,1is the next beam toward the note, etc. This information is used to determine how to connect the beaming patterns from stem to stem inside a beam.default-direction(direction)- Direction determined by note head positions.
direction(direction)- If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.duration-log(integer)- The 2-log of the note head duration, i.e.,
0= whole note,1= half note, etc.flag(unknown)- A function returning the full flag stencil for the
Stem, which is passed to the function as the only argument. The default ly:stem::calc-stencil function uses theflag-styleproperty to determine the correct glyph for the flag. By providing your own function, you can create arbitrary flags.flag-style(symbol)- A symbol determining what style of flag glyph is typeset on a
Stem. Valid options include'()for standard flags,'mensuraland'no-flag, which switches off the flag.french-beaming(boolean)- Use French beaming style for this stem. The stem stops at the innermost beams.
length(dimension, in staff space)- User override for the stem length of unbeamed stems.
length-fraction(number)- Multiplier for lengths. Used for determining ledger lines and stem lengths.
max-beam-connect(integer)- Maximum number of beams to connect to beams from this stem. Further beams are typeset as beamlets.
neutral-direction(direction)- Which direction to take in the center of the staff.
no-stem-extend(boolean)- If set, notes with ledger lines do not get stems extending to the middle staff line.
stem-end-position(number)- Where does the stem end (the end is opposite to the support-head)?
stemlet-length(number)- How long should a stem over a rest be?
stroke-style(string)- Set to
"grace"to turn stroke through flag on.thickness(number)- Line thickness, generally measured in
line-thickness.
beam(layout object)- A pointer to the beam, if applicable.
details(list)- Alist of parameters for detailed grob behavior.
More information on the allowed parameters can be found by inspecting lily/slur-scoring.cc, lily/beam-quanting.cc, and lily/tie-formatting-problem.cc. Setting
debug-tie-scoring,debug-beam-scoringordebug-slur-scoringalso provides useful clues.note-heads(unknown)- A list of note head grobs.
positioning-done(boolean)- Used to signal that a positioning element did its job. This ensures that a positioning is only done once.
rests(unknown)- A list of rest objects.
stem-info(pair)- A cache of stem parameters.
tremolo-flag(layout object)- The tremolo object on a stem.
This grob interface is used in the following graphical object(s): Stem.
A beam slashing a stem to indicate a tremolo. The property style can be default or rectangle.
beam-thickness(dimension, in staff space)- Beam thickness, measured in
staff-spaceunits.beam-width(dimension, in staff space)- Width of the tremolo sign.
flag-count(number)- The number of tremolo beams.
length-fraction(number)- Multiplier for lengths. Used for determining ledger lines and stem lengths.
slope(number)- The slope of this object.
style(symbol)- This setting determines in what style a grob is typeset. Valid choices depend on the
stencilcallback reading this property.
stem(layout object)- A pointer to a
Stemobject.
This grob interface is used in the following graphical object(s): StemTremolo.
A string number instruction.
This grob interface is used in the following graphical object(s): StringNumber.
A right hand finger instruction.
digit-names(unknown)- Names for string finger digits.
This grob interface is used in the following graphical object(s): StrokeFinger.
This is the top-level object: Each object in a score ultimately has a System object as its X and Y parent.
labels(list)- List of labels (symbols) placed on a column
all-elements(unknown)- A list of all grobs in this line. Its function is to protect objects from being garbage collected.
columns(unknown)- A list of grobs, typically containing
PaperColumnorNoteColumnobjects.pure-Y-extent(pair of numbers)- The estimated height of a system.
skyline-distance(number)- The distance between this staff and the next one, as determined by a skyline algorithm.
skyline-horizontal-padding(number)- For determining the vertical distance between two staves, it is possible to have a configuration which would result in a tight interleaving of grobs from the top staff and the bottom staff. The larger this parameter is, the farther apart the staves are placed in such a configuration.
spaceable-staves(unknown)- Objects to be spaced during page layout.
This grob interface is used in the following graphical object(s): System.
The brace, bracket or bar in front of the system. The following values for style are recognized:
bracketStaffGroup. SystemStartBracket uses this style.
braceGrandStaff. SystemStartBrace uses this style.
bar-line<< and >>. SystemStartBar uses this style.
line-bracketSystemStartSquare uses this style.
See also input/regression/system-start-nesting.ly.
collapse-height(dimension, in staff space)- Minimum height of system start delimiter. If equal or smaller, the bracket/brace/line is removed.
style(symbol)- This setting determines in what style a grob is typeset. Valid choices depend on the
stencilcallback reading this property.thickness(number)- Line thickness, generally measured in
line-thickness.
This grob interface is used in the following graphical object(s): SystemStartBar, SystemStartBrace, SystemStartBracket and SystemStartSquare.
Text in front of the system.
long-text(markup)- Text markup. See text Formatting text.
self-alignment-X(number)- Specify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified.self-alignment-Y(number)- Like
self-alignment-Xbut for the Y axis.text(markup)- Text markup. See Formatting text.
This grob interface is used in the following graphical object(s): InstrumentName.
An interface for any notes set in a tablature staff.
This grob interface is not used in any graphical object.
A Scheme markup text, see Formatting text and New markup command definition.
There are two important commands: ly:text-interface::print, which is a grob callback, and ly:text-interface::interpret-markup.
baseline-skip(dimension, in staff space)- Distance between base lines of multiple lines of text.
text(markup)- Text markup. See Formatting text.
text-direction(direction)- This controls the ordering of the words. The default
RIGHTis for roman text. Arabic or Hebrew should useLEFT.word-space(dimension, in staff space)- Space to insert between words in texts.
This grob interface is used in the following graphical object(s): BalloonTextItem, BarNumber, BassFigure, BreathingSign, ChordName, CombineTextScript, DoublePercentRepeatCounter, DynamicText, DynamicTextSpanner, Fingering, LyricText, MetronomeMark, MultiMeasureRestNumber, MultiMeasureRestText, NoteName, OctavateEight, OttavaBracket, PercentRepeatCounter, RehearsalMark, SostenutoPedal, StanzaNumber, StringNumber, StrokeFinger, SustainPedal, TabNoteHead, TextScript, TupletNumber, UnaCordaPedal and VoltaBracket.
An object that is put above or below a note.
add-stem-support(boolean)- If set, the
Stemobject is included in this script's support.avoid-slur(symbol)- Method of handling slur collisions. Choices are
around,inside,outside. If unset, scripts and slurs ignore each other.aroundonly moves the script if there is a collision;outsidealways moves the script.script-priority(number)- A sorting key that determines in what order a script is within a stack of scripts.
slur(layout object)- A pointer to a
Slurobject.
This grob interface is used in the following graphical object(s): CombineTextScript, Fingering, StringNumber, StrokeFinger and TextScript.
Object that sets directions of multiple ties in a tied chord.
tie-configuration(list)- List of
(position.dir)pairs, indicating the desired tie configuration, where position is the offset from the center of the staff in staff space and dir indicates the direction of the tie (1=>up,-1=>down,0=>center). A non-pair entry in the list causes the corresponding tie to be formatted automatically.
positioning-done(boolean)- Used to signal that a positioning element did its job. This ensures that a positioning is only done once.
This grob interface is used in the following graphical object(s): TieColumn.
A horizontal curve connecting two noteheads.
annotation(string)- Annotate a grob for debug purposes.
avoid-slur(symbol)- Method of handling slur collisions. Choices are
around,inside,outside. If unset, scripts and slurs ignore each other.aroundonly moves the script if there is a collision;outsidealways moves the script.control-points(list)- List of offsets (number pairs) that form control points for the tie, slur, or bracket shape. For Béziers, this should list the control points of a third-order Bézier curve.
dash-fraction(number)- Size of the dashes, relative to
dash-period. Should be between0.0(no line) and1.0(continuous line).dash-period(number)- The length of one dash together with whitespace. If negative, no line is drawn at all.
direction(direction)- If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.head-direction(direction)- Are the note heads left or right in a semitie?
line-thickness(number)- The thickness of the tie or slur contour.
neutral-direction(direction)- Which direction to take in the center of the staff.
staff-position(number)- Vertical position, measured in half staff spaces, counted from the middle line.
thickness(number)- Line thickness, generally measured in
line-thickness.
details(list)- Alist of parameters for detailed grob behavior.
More information on the allowed parameters can be found by inspecting lily/slur-scoring.cc, lily/beam-quanting.cc, and lily/tie-formatting-problem.cc. Setting
debug-tie-scoring,debug-beam-scoringordebug-slur-scoringalso provides useful clues.quant-score(string)- The beam quanting score; stored for debugging.
separation-item(layout object)- A separation item.
This grob interface is used in the following graphical object(s): Tie.
A time signature, in different styles. The following values for style are are recognized:
Cneomensuralmensuralsingle-digitSee also the test-file input/test/time.ly.
fraction(pair of numbers)- Numerator and denominator of a time signature object.
style(symbol)- This setting determines in what style a grob is typeset. Valid choices depend on the
stencilcallback reading this property.
This grob interface is used in the following graphical object(s): TimeSignature.
An accidental for trill pitch.
This grob interface is used in the following graphical object(s): TrillPitchAccidental.
A trill spanner.
This grob interface is used in the following graphical object(s): TrillSpanner.
A bracket with a number in the middle, used for tuplets. When the bracket spans a line break, the value of break-overshoot determines how far it extends beyond the staff. At a line break, the markups in the edge-text are printed at the edges.
bracket-flare(pair of numbers)- A pair of numbers specifying how much edges of brackets should slant outward. Value
0.0means straight edges.bracket-visibility(boolean or symbol)- This controls the visibility of the tuplet bracket. Setting it to false prevents printing of the bracket. Setting the property to
if-no-beammakes it print only if there is no beam associated with this tuplet bracket.break-overshoot(pair of numbers)- How much does a broken spanner stick out of its bounds?
connect-to-neighbor(pair)- Pair of booleans, indicating whether this grob looks as a continued break.
control-points(list)- List of offsets (number pairs) that form control points for the tie, slur, or bracket shape. For Béziers, this should list the control points of a third-order Bézier curve.
direction(direction)- If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.edge-height(pair)- A pair of numbers specifying the heights of the vertical edges:
(left-height.right-height).edge-text(pair)- A pair specifying the texts to be set at the edges:
(left-text.right-text).full-length-padding(number)- How much padding to use at the right side of a full-length tuplet bracket.
full-length-to-extent(boolean)- Run to the extent of the column for a full-length tuplet bracket.
gap(dimension, in staff space)- Size of a gap in a variable symbol.
padding(dimension, in staff space)- Add this much extra space between objects that are next to each other.
positions(pair of numbers)- Pair of staff coordinates
(left.right), where both left and right are instaff-spaceunits of the current staff. For slurs, this value selects which slur candidate to use; if extreme positions are requested, the closest one is taken.shorten-pair(pair of numbers)- The lengths to shorten a text-spanner on both sides, for example a pedal bracket. Positive values shorten the text-spanner, while negative values lengthen it.
staff-padding(dimension, in staff space)- Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
thickness(number)- Line thickness, generally measured in
line-thickness.
note-columns(pair)- A list of
NoteColumngrobs.tuplet-number(layout object)- The number for a bracket.
tuplets(unknown)- A list of smaller tuplet brackets.
This grob interface is used in the following graphical object(s): LigatureBracket and TupletBracket.
The number for a bracket.
avoid-slur(symbol)- Method of handling slur collisions. Choices are
around,inside,outside. If unset, scripts and slurs ignore each other.aroundonly moves the script if there is a collision;outsidealways moves the script.
bracket(layout object)- The bracket for a number.
This grob interface is used in the following graphical object(s): TupletNumber.
A spanner that should not be broken across line breaks. Override
with breakable=##t.
breakable(boolean)- Allow breaks here.
This grob interface is used in the following graphical object(s): Beam and Glissando.
A vaticana style Gregorian ligature.
thickness(number)- Line thickness, generally measured in
line-thickness.
add-cauda(boolean)- Does this flexa require an additional cauda on the left side?
add-join(boolean)- Is this ligature head-joined with the next one by a vertical line?
add-stem(boolean)- Is this ligature head a virga and therefore needs an additional stem on the right side?
delta-position(number)- The vertical position difference.
flexa-height(dimension, in staff space)- The height of a flexa shape in a ligature grob (in
staff-spaceunits).flexa-width(dimension, in staff space)- The width of a flexa shape in a ligature grob in (in
staff-spaceunits).glyph-name(string)- The glyph name within the font.
x-offset(dimension, in staff space)- Extra horizontal offset for ligature heads.
This grob interface is used in the following graphical object(s): VaticanaLigature.
Objects that should be kept at constant vertical distances. Typically: VerticalAxisGroup objects of Staff contexts.
This grob interface is used in the following graphical object(s): VerticalAxisGroup.
Volta bracket with number.
height(dimension, in staff space)- Height of an object in
staff-spaceunits.thickness(number)- Line thickness, generally measured in
line-thickness.
bars(unknown)- A list of bar line pointers.
This grob interface is used in the following graphical object(s): VoltaBracket.
X-extent (pair of numbers)X-offset (number)Y-extent (pair of numbers)Y-offset (number)add-stem-support (boolean)Stem object is
included in this script's support.
after-line-breaking (boolean)after-line-breaking.
align-dir (direction)-1: left side,
0: around center of width, 1: right side.
allow-loose-spacing (boolean)allow-span-bar (boolean)alteration (number)alteration-alist (list)(pitch
. accidental) pairs for key signature.
annotation (string)arpeggio-direction (direction)arrow-length (number)arrow-width (number)auto-knee-gap (dimension, in staff space)average-spacing-wishes (boolean)avoid-note-head (boolean)avoid-slur (symbol)around, inside, outside. If unset,
scripts and slurs ignore each other. around only moves the
script if there is a collision; outside always moves the
script.
axes (list)bar-size (dimension, in staff space)base-shortest-duration (moment)baseline-skip (dimension, in staff space)beam-thickness (dimension, in staff space)staff-space units.
beam-width (dimension, in staff space)beamed-stem-shorten (list)beaming (pair)0 is the central beam,
1 is the next beam toward the note, etc. This
information is used to determine how to connect the beaming patterns
from stem to stem inside a beam.
before-line-breaking (boolean)between-cols (pair)bound-details (list)bound-padding (number)bracket-flare (pair of numbers)0.0 means
straight edges.
bracket-visibility (boolean or symbol)if-no-beam
makes it print only if there is no beam associated with this tuplet
bracket.
break-align-anchor (number)break-align-anchor-alignment (number)ly:break-aligned-interface::calc-extent-aligned-anchor for aligning
an anchor to a grob's extent
break-align-orders (vector)For example, clefs are put after key signatures by setting
\override Score.BreakAlignment #'break-align-orders =
#(make-vector 3 '(span-bar
breathing-sign
staff-bar
key
clef
time-signature))
break-align-symbol (symbol)break-align-symbols (list)break-overshoot (pair of numbers)break-visibility (vector)#(end-of-line unbroken begin-of-line).
#t means visible, #f means killed.
breakable (boolean)c0-position (integer)clip-edges (boolean)collapse-height (dimension, in staff space)color (list)common-shortest-duration (moment)concaveness (number)connect-to-neighbor (pair)control-points (list)damping (number)dash-fraction (number)dash-period. Should be between 0.0 (no line) and
1.0 (continuous line).
dash-period (number)default-direction (direction)digit-names (unknown)direction (direction)side-axis is 0 (or
#X), then this property determines whether the object is placed
#LEFT, #CENTER or #RIGHT with respect to the
other object. Otherwise, it determines whether the object is placed
#UP, #CENTER or #DOWN. Numerical values may also
be used: #UP=1, #DOWN=-1,
#LEFT=-1, #RIGHT=1, #CENTER=0.
dot-count (integer)dot-placement-list (list)(description string-number
fret-number finger-number)
entries used to define fret diagrams.
duration-log (integer)0 = whole note, 1 = half note, etc.
eccentricity (number)edge-height (pair)(left-height . right-height).
edge-text (pair)(left-text . right-text).
expand-limit (integer)extra-X-extent (pair of numbers)extra-Y-extent (pair of numbers)extra-dy (number)extra-offset (pair of numbers)staff-space units of the staff's StaffSymbol.
extra-spacing-height (pair of numbers)(-inf.0 . +inf.0).
extra-spacing-width (pair of numbers)(+inf.0 . -inf.0).
flag (unknown)Stem, which is passed to the function as the only argument.
The default ly:stem::calc-stencil function uses the flag-style
property to determine the correct glyph for the
flag. By providing your own function, you can create arbitrary flags.
flag-count (number)flag-style (symbol)Stem. Valid options include '() for
standard flags, 'mensural and 'no-flag, which switches off
the flag.
font-encoding (symbol)fetaMusic,
fetaNumber, TeX-text, TeX-math,
fetaBraces, fetaDynamic.
font-family (symbol)sans,
roman.
font-name (string)font-family, font-series and font-shape.
font-series (symbol)medium, bold, bold-narrow, etc.
font-shape (symbol)upright, italic, caps.
font-size (number)0 is style-sheet's normal size,
-1 is smaller, +1 is bigger. Each step of 1 is
approximately 12% larger; 6 steps are exactly a factor 2 larger.
Fractional values are allowed.
force-hshift (number)forced (boolean)fraction (pair of numbers)french-beaming (boolean)fret-diagram-details (list)property . value) pair.
The properties which can be included in fret-diagram-details
include the following:
barre-type – Type of barre indication used.
Choices include curved, straight, and
none. Default curved.
dot-color – Color of dots. Options include
black and white. Default black.
dot-label-font-mag – Magnification for font used to
label fret dots. Default value 1.
dot-radius – Radius of dots, in terms of fret spaces.
Default value 0.425 for labeled dots, 0.25 for unlabeled dots.
finger-code – Code for the type of fingering indication used.
Options include none, in-dot, and
below-string. Default none for markup fret diagrams,
below-string for FretBoards fret diagrams.
fret-count – The number of frets. Default 4.
fret-label-font-mag – The magnification of the font used to label
the lowest fret number. Default 0.5
fret-label-vertical-offset – The vertical offset of the fret label
from the fret. Default -0.2
label-dir – Side to which the fret label is attached.
-1, #LEFT, or #DOWN for left or down;
1, #RIGHT, or #UP for right or up.
Default #RIGHT.
mute-string – Character string to be used to indicate muted
string. Default "x".
number-type – Type of numbers to use in fret label. Choices
include roman-lower, roman-upper, and arabic. Default
roman-lower.
open-string – Character string to be used to indicate open
string. Default "o".
orientation – Orientation of fret-diagram. Options include
normal and landscape. Default normal.
string-count – The number of strings. Default 6.
string-label-font-mag – The magnification of the font used to label
fingerings at the string, rather than in the dot. Default value 0.6.
top-fret-thickness – The thickness of the top fret line, as a multiple
of the standard thickness. Default value 3.
xo-font-magnification – Magnification used for mute and
open string indicators. Default value 0.5.
xo-padding – Padding for open and mute indicators from top fret.
Default value 0.25.
full-length-padding (number)full-length-to-extent (boolean)full-size-change (boolean)gap (dimension, in staff space)gap-count (integer)glyph (string)glyph-name-alist (list)grow-direction (direction)hair-thickness (number)harp-pedal-details (list)property . value) pair.
The properties which can be included in harp-pedal-details
include the following:
box-offset – Vertical shift of the center of flat / sharp pedal
boxes above / below the horizontal line. Default value 0.8.
box-width – Width of each pedal box. Default value 0.4.
box-height – Height of each pedal box. Default value 1.0.
space-before-divider – Space between boxes before the first divider
(so that the diagram can be made symmetric). Default value 0.8.
space-after-divider – Space between boxes after the first divider.
Default value 0.8.
circle-thickness – Thickness (in unit of the line-thickness) of the
ellipse around circled pedals. Default value 0.5.
circle-x-padding – Padding in X direction of the ellipse around
circled pedals. Default value 0.15.
circle-y-padding – Padding in Y direction of the ellipse around
circled pedals. Default value 0.2.
head-direction (direction)height (dimension, in staff space)staff-space units.
height-limit (dimension, in staff space)horizontal-shift (integer)NoteColumns for horizontal shifting. This is used by
note-collision-interface.
horizontal-skylines (unknown)ignore-collision (boolean)NoteColumn.
implicit (boolean)inspect-index (integer)inspect-quants (pair of numbers)keep-fixed-while-stretching (boolean)keep-inside-line (boolean)kern (dimension, in staff space)knee (boolean)knee-spacing-correction (number)0 for no
correction and 1 for full correction.
labels (list)layer (integer)ledger-line-thickness (pair of numbers)left-bound-info (list)left-padding (dimension, in staff space)length (dimension, in staff space)length-fraction (number)line-break-penalty (number)line-break-permission (symbol)force or
allow.
line-break-system-details (list)line-count (integer)line-positions (list)line-thickness (number)long-text (markup)max-beam-connect (integer)max-stretch (number)VerticalAxisGroup can be vertically stretched (for example, in
order to better fill a page).
measure-count (integer)measure-length (moment)merge-differently-dotted (boolean)merge-differently-dotted only applies to opposing stem
directions (i.e., voice 1 & 2).
merge-differently-headed (boolean)merge-differently-headed only applies to opposing stem
directions (i.e., voice 1 & 2).
minimum-X-extent (pair of numbers)staff-space units.
minimum-Y-extent (pair of numbers)staff-space units.
minimum-distance (dimension, in staff space)minimum-length (dimension, in staff space)springs-and-rods property. If
added to a Tie, this sets the minimum distance between
noteheads.
minimum-length-fraction (number)minimum-space (dimension, in staff space)neutral-direction (direction)neutral-position (number)next (layout object)no-alignment (boolean)VerticalAlignment; rather, place it using its own Y-offset
callback.
no-ledgers (boolean)no-stem-extend (boolean)non-default (boolean)non-musical (boolean)NonMusicalPaperColumn.
note-names (vector)outside-staff-horizontal-padding (number)outside-staff-padding (number)outside-staff-priority.
outside-staff-priority (number)outside-staff-priority is closer to the staff.
packed-spacing (boolean)padding (dimension, in staff space)page-break-penalty (number)page-break-permission (symbol)force or
allow.
page-turn-penalty (number)page-turn-permission (symbol)force or
allow.
parenthesized (boolean)positions (pair of numbers)(left . right), where both left and
right are in staff-space units of the current staff.
For slurs, this value selects which slur candidate to use; if
extreme positions are requested, the closest one is taken.
prefer-dotted-right (boolean)ratio (number)height-limit.
remove-empty (boolean)remove-first (boolean)restore-first (boolean)rhythmic-location (rhythmic location)right-bound-info (list)right-padding (dimension, in staff space)rotation (list)#'(45 0 0) rotates
by 45 degrees around the center of this object.
same-direction-correction (number)script-priority (number)self-alignment-X (number)-1 means left aligned, 0 centered, and
1 right-aligned in X direction. Other numerical
values may also be specified.
self-alignment-Y (number)self-alignment-X but for
the Y axis.
shorten-pair (pair of numbers)shortest-duration-space (dimension, in staff space)spacing-increment as unit. See also
spacing-spanner-interface.
shortest-playing-duration (moment)shortest-starter-duration (moment)side-axis (number)#X (or
equivalently 0), the object is placed horizontally next
to the other object. If the value is #Y or 1, it
is placed vertically.
side-relative-direction (direction)direction-source with this to get the direction of this
object.
size (number)slope (number)slur-padding (number)space-alist (list)(break-align-symbol type
. distance), where type can be the symbols
minimum-space or extra-space.
space-to-barline (boolean)spacing-increment (number)springs-and-rods (boolean)stacking-dir (direction)staff-padding (dimension, in staff space)staff-position (number)staff-space (dimension, in staff space)staff-space.
stem-attachment (pair of numbers)(x . y) pair
where the stem attaches to the notehead.
stem-end-position (number)stem-spacing-correction (number)stemlet-length (number)stencil (unknown)stencils (list)strict-grace-spacing (boolean)strict-note-spacing (boolean)stroke-style (string)"grace" to turn stroke
through flag on.
style (symbol)stencil callback reading
this property.
text (markup)text-direction (direction)RIGHT is for roman text. Arabic or Hebrew
should use LEFT.
thick-thickness (number)line-thickness.
thickness (number)line-thickness.
thin-kern (number)threshold (pair of numbers)(min . max), where
min and max are dimensions in staff space.
tie-configuration (list)(position .
dir) pairs, indicating the desired tie configuration, where
position is the offset from the center of the staff in staff
space and dir indicates the direction of the tie
(1=>up, -1=>down, 0=>center). A non-pair entry
in the list causes the corresponding tie to be formatted
automatically.
to-barline (boolean)transparent (boolean)uniform-stretching (boolean)used (boolean)vertical-skylines (unknown)when (moment)width (dimension, in staff space)word-space (dimension, in staff space)zigzag-length (dimension, in staff space)zigzag-width. A value of 1
gives 60-degree zigzags.
zigzag-width (dimension, in staff space)X-common (layout object)Y-common (layout object)X-common.
accidental-grob (layout object)accidental-grobs (list)(notename .
groblist) entries.
add-cauda (boolean)add-join (boolean)add-stem (boolean)adjacent-hairpins (unknown)adjacent-pure-heights (vector)VerticalAxisGroup to
cache the Y-extents of different column ranges.
all-elements (unknown)arpeggio (layout object)Arpeggio object.
ascendens (boolean)auctum (boolean)axis-group-parent-X (layout object)axis-group-parent-Y (layout object)bar-extent (pair of numbers)Y-extent because it does not include the dots in
a repeat bar line.
bars (unknown)beam (layout object)begin-of-line-visible (boolean)ChordNames
that should only show changes.
bounded-by-me (unknown)bracket (layout object)cause (any type)cavum (boolean)circled-tip (boolean)columns (unknown)PaperColumn or NoteColumn objects.
conditional-elements (unknown)context-info (integer)context-info holds for each head such information about the left and
right neighbour, encoded as a bit mask.
cross-staff (boolean)delta-position (number)deminutum (boolean)descendens (boolean)details (list)More information on the allowed parameters can be found by inspecting
lily/slur-scoring.cc, lily/beam-quanting.cc, and
lily/tie-formatting-problem.cc. Setting debug-tie-scoring,
debug-beam-scoring or debug-slur-scoring also provides
useful clues.
direction-source (layout object)side-relative-direction is
set, which grob to get the direction from.
dot (layout object)Dots object.
dots (unknown)Dots objects.
elements (unknown)encompass-objects (unknown)figures (unknown)flexa-height (dimension, in staff space)staff-space units).
flexa-width (dimension, in staff space)staff-space units).
font (font metric)glyph-name (string)grace-spacing (layout object)head-width (dimension, in staff space)heads (unknown)ideal-distances (list)(obj . (dist .
strength)) pairs.
important-column-ranks (vector)items-worth-living data.
inclinatum (boolean)interfaces (list)meta field.
items-worth-living (unknown)join-heads (boolean)join-right-amount (number)least-squares-dy (number)left-items (unknown)left-neighbors (unknown)spacing-wishes grobs
that are close to the current column.
The closest spacing-wishes determine the actual distances between the
columns.
linea (boolean)meta (list)name and interfaces.
minimum-distances (list)(obj . dist).
normal-stems (unknown)note-columns (pair)NoteColumn grobs.
note-head (layout object)note-heads (unknown)oriscus (boolean)padding-pairs (list)(name . name)
to distances.
pedal-text (layout object)pes-or-flexa (boolean)positioning-done (boolean)prefix-set (number)\virga or \quilisma.
primitive (integer)pure-Y-common (layout object)common_refpoint_of_array of the elements grob set.
pure-Y-extent (pair of numbers)pure-Y-offset-in-progress (boolean)pure-relevant-items (unknown)pure-Y-extent.
pure-relevant-spanners (unknown)pure-Y-extent.
quant-score (string)quantize-position (boolean)quantized-positions (pair of numbers)quilisma (boolean)rest (layout object)Rest object.
rest-collision (layout object)rests (unknown)right-items (unknown)right-neighbors (unknown)left-neighbors.
script-stencil (pair)(type . arg) which
acts as an index for looking up a Stencil object.
separation-item (layout object)shorten (dimension, in staff space)side-support-elements (unknown)skyline-distance (number)skyline-horizontal-padding (number)slur (layout object)Slur object.
spaceable-staves (unknown)spacing (layout object)spacing-wishes (unknown)staff-symbol (layout object)stem (layout object)Stem object.
stem-info (pair)stems (unknown)stropha (boolean)tie (layout object)Tie object.
tremolo-flag (layout object)tuplet-number (layout object)tuplets (unknown)use-breve-rest (boolean)virga (boolean)x-offset (dimension, in staff space)Add the listener list to the dispatcher disp. Whenever disp hears an event of class cl, it is forwarded to list.
Return value if key in alist, else
default-value(or#fif not specified).
Print book. output is passed to the backend unchanged. For example, it may be a string (for file based outputs) or a socket (for network based output).
Print book. output is passed to the backend unchanged. For example, it may be a string (for file based outputs) or a socket (for network based output).
Make a bracket in direction a. The extent of the bracket is given by iv. The wings protrude by an amount of p, which may be negative. The thickness is given by t.
Return value for key from a list of alists achain. If no entry is found, return dfault or
#fif no dfault is specified.
Plug a GUILE 1.6 and 1.7 memory leak by breaking a weak reference pointer cycle explicitly.
Return a
stream-distributorthat distributes all events from context and all its subcontexts.
Find a parent of context that has name or alias name. Return
#fif not found.
Return the definition of name (a symbol) within context as an alist.
Return the ID string of context, i.e., for
\context Voice = one ...return the stringone.
Return the name of context, i.e., for
\context Voice = one ...return the symbolVoice.
Return the context above context where name is defined.
Do a single
\overrideor\revertoperation in context. The grob definition grob is extended with eltprop (if val is specified) or reverted (if unspecified).
Set value of property name in context context to val.
Return d as a number. Used to distinguish length variables from normal numbers.
A type predicate. The direction
sis-1,0or1, where-1represents left or down and1represents right or up.
A Scheme callable function to issue the error str. The error is formatted with
formatand rest.
Evaluate a simple closure with the given delayed argument. If scm-start and scm-end are defined, evaluate it purely with those start and end points.
Get the property sym of stream event mus. If sym is undefined, return
'().
Checks the need for an accidental and a ‘restore’ accidental against a key signature. The laziness is the number of bars for which reminder accidentals are used (ie. if laziness is zero, we only cancel accidentals in the same bar; if laziness is three, we cancel accidentals up to three bars after they first appear. octaveness is either
'same-octaveor'any-octaveand it specifies whether accidentals should be canceled in different octaves.
Given the font metric font, return the design size, relative to the current output-scale.
Return a stencil from font for the glyph named name. If the glyph is not available, return an empty stencil.
Return the character code for glyph name in font.
Given the font metric font, return the magnification, relative to the current output-scale.
Given the font metric font of an OpenType font, return the names of the subfonts within font.
Given a global context in its final state, process it and return the
Music_outputobject in its final state.
Get a hash table with all LilyPond Scheme extension functions.
Return a list of all translator objects that may be instantiated.
Return a list of all event classes that some translator listens to.
Get an alist chain for grob grob, with global as the global default. If unspecified,
font-defaultsfrom the layout block is taken.
Find the common refpoint of grob and other for axis.
Find the common refpoint of grob and others (a grob-array) for axis.
Get the extent in axis direction of grob relative to the grob refp.
Return the value of a pointer in grob g of property sym. It returns
'()(end-of-list) if sym is undefined in g.
Get the parent of grob. axis is 0 for the X-axis, 1 for the Y-axis.
Return the value of a value in grob g of property sym. It returns
'()(end-of-list) or deflt (if specified) if sym is undefined in g.
Get the coordinate in axis direction of grob relative to the grob refp.
Get the extent in axis direction of grob relative to the grob refp, or
(0,0)if empty.
Compare two grobs by script priority. For internal use.
Read the file name, and return its contents in a string. The file is looked up using the search path.
Return input location in sip as
(file-name first-line first-column last-line last-column).
Return input location in sip as
(file-name line char column).
Print msg as a GNU compliant error message, pointing to the location in sip. msg is interpreted similar to
format's argument, using rest.
Interpret the music expression mus in the global context ctx. The context is returned in its final state.
Parse expr, feed bits to func with first arg arg1 having offset offset.
The break status direction of item it.
-1means end of line,0unbroken, and1beginning of line.
Return a list of
(KEY . CODE)pairs, signifying the LilyPond reserved words list.
Load dimensions from TeX in a
(KEY . (W H D))format alist.
Make a
\bookof paper and header (which may be#fas well) containing\scores.
length is the negative logarithm (base 2) of the duration: 1 is a half note, 2 is a quarter note, 3 is an eighth note, etc. The number of dots after the note is given by the optional argument dotcount.
The duration factor is optionally given by num and den.
A duration is a musical duration, i.e., a length of time described by a power of two (whole, half, quarter, etc.) and a number of augmentation dots.
Set up a global interpretation context, using the output block output_def. The context is returned.
Create a translator group and connect it to the global context global. The translator group is returned.
Create a listener. Any time the listener hears an object, it will call callback with that object.
callback should take exactly one argument.
Create the rational number with main timing n/d, and optional grace timing gn/gd.
A moment is a point in musical time. It consists of a pair of rationals (m, g), where m is the timing for the main notes, and g the timing for grace notes. In absence of grace notes, g is zero.
Make a C++
Musicobject and initialize it with props.This function is for internal use and is only called by
make-music, which is the preferred interface for creating music objects.
Make a function to process music, to be used for the parser.
funcis the function, andsignaturedescribes its arguments.signatureis a list containing eitherly:music?predicates or other type predicates.
Return page marker with page breaking and turning permissions.
Make a
PangoFontDescriptionstring for the property alist chain at size size.
Create an outputter that evaluates within
output-format, writing to port.
octave is specified by an integer, zero for the octave containing middle C. note is a number from 0 to 6, with 0 corresponding to pitch C and 6 corresponding to pitch B. alter is a rational number of whole tones for alteration.
Create a scale. The argument is a vector of rational numbers, each of which represents the number of tones of a pitch above the tonic.
Make a simple closure. expr should be form of
(func a1 A2...), and will be invoked as(func delayed-arg a1 a2...).
Stencils are device independent output expressions. They carry two pieces of information:
- A specification of how to print this object. This specification is processed by the output backends, for example scm/output-ps.scm.
- The vertical and horizontal extents of the object, given as pairs. If an extent is unspecified (or if you use
(1000 . -1000)as its value), it is taken to be empty.
Create a stream event of class cl with the given mutable property list.
A Scheme callable function to issue the message str. The message is formatted with
formatand rest.
Break (pages and lines) the
Paper_bookobject pb without looking for optimal spacing: stack as many lines on a page before moving to the next one.
Look up sym in the list modules, returning the first occurence. If not found, return def or
#fif def isn't specified.
Get the length of music expression mus and return it as a
Momentobject.
Return an alist containing the mutable properties of mus. The immutable properties are not available, since they are constant and initialized by the
make-musicfunction.
Get the property sym of music expression mus. If sym is undefined, return
'().
Get attachment in font-metric for attaching a stem to notehead glyph-name.
Optimally break (pages and lines) the
Paper_bookobject pb to minimize badness in bother vertical and horizontal spacing.
Convert the contents of an OTF file to a CFF file, returning it as a string.
Given the font metric font of an OpenType font, return the information about named glyph glyph (a string).
Extract a table tag from font. Return empty string for non-existent tag.
Look up sym in the pap output definition (e.g.,
\paper). Return the value or def (which defaults to'()) if undefined.
Set an output definition def variable sym to val.
Optimally break (pages and lines) the
Paper_bookobject pb such that page turns only happen in specified places, returning its pages.
Return a font metric satisfying the font-qualifiers in the alist chain chain. (An alist chain is a list of alists, containing grob properties.)
Return vector of
paper_systemobjects from paper-score.
Measure the minimum distance between these two paper-systems, using their stored skylines if possible and falling back to their extents otherwise.
Look up symbol in parser-smob's module. Return
'()if not defined.
Parse the string ly-code with parser-smob. Upon failure, throw
ly-file-failedkey.
Replace current note names in parser. names is an alist of symbols. This only has effect if the current mode is notes.
Return pitch delta such that pitch transposed by delta equals root.
Transpose p by the amount delta, where delta is relative to middle C.
Return whether pos is on a line of the staff associated with the the grob sg (even on an extender line).
A Scheme callable function to issue the internal warning str. The message is formatted with
formatand rest.
A Scheme callable function to print progress str. The message is formatted with
formatand rest.
Return hash table with a property access corresponding to sym. Choices are
prob,grob, andcontext.
Determine the extent of elements relative to common in the axis direction.
Make a
Stencilobject that prints a black box of dimensions xext, yext and roundness blot.
Make a
Stencilobject that prints a black polygon with corners at the points defined by points (list of coordinate pairs) and roundness blot.
Process mus according to output-def. An interpretation context is set up, and mus is interpreted with it. The context is returned in its final state.
Optionally, this routine takes an object-key to to uniquely identify the score block containing it.
Run score through layout (an output definition) scaled to correct output-scale already, returning a list of layout-lines. This function takes an optional
Object_keyargument.
Specify a procedure that will be called every time LilyPond modifies a grob property. The callback will receive as arguments the grob that is being modified, the name of the C++ file in which the modification was requested, the line number in the C++ file in which the modification was requested, the name of the function in which the modification was requested, the property to be changed, and the new value for the property.
Set the
middleCPositionvariable in context based on the variablesmiddleCClefPositionand middleCOffset.
Specify a procedure that will be called whenever lilypond calculates a callback function and caches the result. The callback will receive as arguments the grob whose property it is, the name of the property, the name of the callback that calculated the property, and the new (cached) value of the property.
Solve a spring and rod problem for count objects, that are connected by count-1 springs, and an arbitrary number of rods. count is implicitly given by springs and rods. The springs argument has the format
(ideal, inverse_hook)and rods is of the form(idx1, idx2, distance).length is a number, ragged a boolean.
The function returns a list containing the force (positive for stretching, negative for compressing and
#ffor non-satisfied constraints) followed by spring-count+1 positions of the objects.
Get one of the bounds of slur. dir is
-1for left, and1for right.
Return the environment (a list of strings) that was in effect at program start.
Align stil using its own extents. dir is a number.
-1and1are left and right, respectively. Other values are interpolated (so0means the center).
Construct a stencil by putting second next to first. axis can be 0 (x-axis) or 1 (y-axis). direction can be -1 (left or down) or 1 (right or up). The stencils are juxtaposed with padding as extra space. If this puts the reference points closer than minimum, they are moved by the latter amount. first and second may also be
'()or#f.
Return a pair of numbers signifying the extent of stil in axis direction (
0or1for x and y axis, respectively).
Return a stencil stil rotated angle degrees around point (x, y).
Return a stil, but translated by offset (a pair of numbers).
Return a copy of stil but translated by amount in axis direction.
Stretch the system vertically by the given amount. This must be called before the system is drawn (for example with
ly:system-print).
Given the font metric in font and the string text, compute the extents of that text in that font. The return value is a pair of number-pairs.
Convert a text markup into a stencil. Takes three arguments, layout, props, and markup.
layout is a
\layoutblock; it may be obtained from a grob withly:grob-layout. props is a alist chain, ie. a list of alists. This is typically obtained with(ly:grob-alist-chain (ly:layout-lookup layout 'text-font-defaults)). markup is the markup text to be processed.
Return the type name of the translator object trans. The name is a symbol.
Convert the contents of a TTF file to Type42 PFA, returning it as a string.
A Scheme callable function to issue the warning
str. The message is formatted withformatandrest.
dispatcher: Scheme functionslistener: Scheme functionsly:add-file-name-alist: Scheme functionsly:add-interface: Scheme functionsly:add-listener: Scheme functionsly:add-option: Scheme functionsly:all-grob-interfaces: Scheme functionsly:all-options: Scheme functionsly:all-stencil-expressions: Scheme functionsly:assoc-get: Scheme functionsly:book-add-score!: Scheme functionsly:book-process: Scheme functionsly:book-process-to-systems: Scheme functionsly:box?: Scheme functionsly:bp: Scheme functionsly:bracket: Scheme functionsly:broadcast: Scheme functionsly:camel-case->lisp-identifier: Scheme functionsly:chain-assoc-get: Scheme functionsly:clear-anonymous-modules: Scheme functionsly:cm: Scheme functionsly:command-line-code: Scheme functionsly:command-line-options: Scheme functionsly:command-line-verbose?: Scheme functionsly:connect-dispatchers: Scheme functionsly:context-event-source: Scheme functionsly:context-events-below: Scheme functionsly:context-find: Scheme functionsly:context-grob-definition: Scheme functionsly:context-id: Scheme functionsly:context-name: Scheme functionsly:context-now: Scheme functionsly:context-parent: Scheme functionsly:context-property: Scheme functionsly:context-property-where-defined: Scheme functionsly:context-pushpop-property: Scheme functionsly:context-set-property!: Scheme functionsly:context-unset-property: Scheme functionsly:context?: Scheme functionsly:default-scale: Scheme functionsly:dimension?: Scheme functionsly:dir?: Scheme functionsly:duration->string: Scheme functionsly:duration-dot-count: Scheme functionsly:duration-factor: Scheme functionsly:duration-length: Scheme functionsly:duration-log: Scheme functionsly:duration<?: Scheme functionsly:duration?: Scheme functionsly:effective-prefix: Scheme functionsly:error: Scheme functionsly:eval-simple-closure: Scheme functionsly:event-deep-copy: Scheme functionsly:event-property: Scheme functionsly:event-set-property!: Scheme functionsly:expand-environment: Scheme functionsly:export: Scheme functionsly:find-accidentals-simple: Scheme functionsly:find-file: Scheme functionsly:font-config-display-fonts: Scheme functionsly:font-config-get-font-file: Scheme functionsly:font-design-size: Scheme functionsly:font-file-name: Scheme functionsly:font-get-glyph: Scheme functionsly:font-glyph-name-to-charcode: Scheme functionsly:font-glyph-name-to-index: Scheme functionsly:font-index-to-charcode: Scheme functionsly:font-load: Scheme functionsly:font-magnification: Scheme functionsly:font-metric?: Scheme functionsly:font-name: Scheme functionsly:font-sub-fonts: Scheme functionsly:format: Scheme functionsly:format-output: Scheme functionsly:get-all-function-documentation: Scheme functionsly:get-all-translators: Scheme functionsly:get-glyph: Scheme functionsly:get-listened-event-classes: Scheme functionsly:get-option: Scheme functionsly:gettext: Scheme functionsly:grob-alist-chain: Scheme functionsly:grob-array-length: Scheme functionsly:grob-array-ref: Scheme functionsly:grob-array?: Scheme functionsly:grob-basic-properties: Scheme functionsly:grob-common-refpoint: Scheme functionsly:grob-common-refpoint-of-array: Scheme functionsly:grob-default-font: Scheme functionsly:grob-extent: Scheme functionsly:grob-interfaces: Scheme functionsly:grob-layout: Scheme functionsly:grob-object: Scheme functionsly:grob-original: Scheme functionsly:grob-parent: Scheme functionsly:grob-pq<?: Scheme functionsly:grob-properties: Scheme functionsly:grob-property: Scheme functionsly:grob-property-data: Scheme functionsly:grob-relative-coordinate: Scheme functionsly:grob-robust-relative-extent: Scheme functionsly:grob-script-priority-less: Scheme functionsly:grob-set-property!: Scheme functionsly:grob-staff-position: Scheme functionsly:grob-suicide!: Scheme functionsly:grob-system: Scheme functionsly:grob-translate-axis!: Scheme functionsly:grob?: Scheme functionsly:gulp-file: Scheme functionsly:hash-table-keys: Scheme functionsly:inch: Scheme functionsly:input-both-locations: Scheme functionsly:input-file-line-char-column: Scheme functionsly:input-location?: Scheme functionsly:input-message: Scheme functionsly:interpret-music-expression: Scheme functionsly:interpret-stencil-expression: Scheme functionsly:intlog2: Scheme functionsly:is-listened-event-class: Scheme functionsly:item-break-dir: Scheme functionsly:item?: Scheme functionsly:iterator?: Scheme functionsly:lexer-keywords: Scheme functionsly:lily-lexer?: Scheme functionsly:lily-parser?: Scheme functionsly:load-text-dimensions: Scheme functionsly:make-book: Scheme functionsly:make-dispatcher: Scheme functionsly:make-duration: Scheme functionsly:make-global-context: Scheme functionsly:make-global-translator: Scheme functionsly:make-listener: Scheme functionsly:make-moment: Scheme functionsly:make-music: Scheme functionsly:make-music-function: Scheme functionsly:make-output-def: Scheme functionsly:make-page-label-marker: Scheme functionsly:make-page-permission-marker: Scheme functionsly:make-pango-description-string: Scheme functionsly:make-paper-outputter: Scheme functionsly:make-pitch: Scheme functionsly:make-prob: Scheme functionsly:make-scale: Scheme functionsly:make-score: Scheme functionsly:make-simple-closure: Scheme functionsly:make-stencil: Scheme functionsly:make-stream-event: Scheme functionsly:message: Scheme functionsly:minimal-breaking: Scheme functionsly:mm: Scheme functionsly:module->alist: Scheme functionsly:module-copy: Scheme functionsly:modules-lookup: Scheme functionsly:moment-add: Scheme functionsly:moment-div: Scheme functionsly:moment-grace-denominator: Scheme functionsly:moment-grace-numerator: Scheme functionsly:moment-main-denominator: Scheme functionsly:moment-main-numerator: Scheme functionsly:moment-mod: Scheme functionsly:moment-mul: Scheme functionsly:moment-sub: Scheme functionsly:moment<?: Scheme functionsly:moment?: Scheme functionsly:music-compress: Scheme functionsly:music-deep-copy: Scheme functionsly:music-duration-compress: Scheme functionsly:music-duration-length: Scheme functionsly:music-function-extract: Scheme functionsly:music-function?: Scheme functionsly:music-length: Scheme functionsly:music-list?: Scheme functionsly:music-mutable-properties: Scheme functionsly:music-output?: Scheme functionsly:music-property: Scheme functionsly:music-set-property!: Scheme functionsly:music-transpose: Scheme functionsly:music?: Scheme functionsly:note-head::stem-attachment: Scheme functionsly:number->string: Scheme functionsly:optimal-breaking: Scheme functionsly:option-usage: Scheme functionsly:otf->cff: Scheme functionsly:otf-font-glyph-info: Scheme functionsly:otf-font-table-data: Scheme functionsly:otf-font?: Scheme functionsly:otf-glyph-list: Scheme functionsly:output-def-clone: Scheme functionsly:output-def-lookup: Scheme functionsly:output-def-parent: Scheme functionsly:output-def-scope: Scheme functionsly:output-def-set-variable!: Scheme functionsly:output-def?: Scheme functionsly:output-description: Scheme functionsly:output-formats: Scheme functionsly:outputter-close: Scheme functionsly:outputter-dump-stencil: Scheme functionsly:outputter-dump-string: Scheme functionsly:outputter-output-scheme: Scheme functionsly:outputter-port: Scheme functionsly:page-marker?: Scheme functionsly:page-turn-breaking: Scheme functionsly:pango-font-physical-fonts: Scheme functionsly:pango-font?: Scheme functionsly:paper-book-pages: Scheme functionsly:paper-book-paper: Scheme functionsly:paper-book-performances: Scheme functionsly:paper-book-scopes: Scheme functionsly:paper-book-systems: Scheme functionsly:paper-book?: Scheme functionsly:paper-fonts: Scheme functionsly:paper-get-font: Scheme functionsly:paper-get-number: Scheme functionsly:paper-outputscale: Scheme functionsly:paper-score-paper-systems: Scheme functionsly:paper-system-minimum-distance: Scheme functionsly:paper-system?: Scheme functionsly:parse-file: Scheme functionsly:parser-clear-error: Scheme functionsly:parser-clone: Scheme functionsly:parser-define!: Scheme functionsly:parser-error: Scheme functionsly:parser-has-error?: Scheme functionsly:parser-lexer: Scheme functionsly:parser-lookup: Scheme functionsly:parser-output-name: Scheme functionsly:parser-parse-string: Scheme functionsly:parser-set-note-names: Scheme functionsly:performance-write: Scheme functionsly:pfb->pfa: Scheme functionsly:pitch-alteration: Scheme functionsly:pitch-diff: Scheme functionsly:pitch-negate: Scheme functionsly:pitch-notename: Scheme functionsly:pitch-octave: Scheme functionsly:pitch-quartertones: Scheme functionsly:pitch-semitones: Scheme functionsly:pitch-steps: Scheme functionsly:pitch-transpose: Scheme functionsly:pitch<?: Scheme functionsly:pitch?: Scheme functionsly:position-on-line?: Scheme functionsly:prob-immutable-properties: Scheme functionsly:prob-mutable-properties: Scheme functionsly:prob-property: Scheme functionsly:prob-property?: Scheme functionsly:prob-set-property!: Scheme functionsly:prob-type?: Scheme functionsly:prob?: Scheme functionsly:programming-error: Scheme functionsly:progress: Scheme functionsly:property-lookup-stats: Scheme functionsly:protects: Scheme functionsly:pt: Scheme functionsly:register-stencil-expression: Scheme functionsly:relative-group-extent: Scheme functionsly:reset-all-fonts: Scheme functionsly:round-filled-box: Scheme functionsly:round-filled-polygon: Scheme functionsly:run-translator: Scheme functionsly:score-add-output-def!: Scheme functionsly:score-embedded-format: Scheme functionsly:score-error?: Scheme functionsly:score-header: Scheme functionsly:score-music: Scheme functionsly:score-output-defs: Scheme functionsly:score-set-header!: Scheme functionsly:score?: Scheme functionsly:set-default-scale: Scheme functionsly:set-grob-modification-callback: Scheme functionsly:set-middle-C!: Scheme functionsly:set-option: Scheme functionsly:set-point-and-click: Scheme functionsly:set-property-cache-callback: Scheme functionsly:simple-closure?: Scheme functionsly:skyline-pair?: Scheme functionsly:skyline?: Scheme functionsly:smob-protects: Scheme functionsly:solve-spring-rod-problem: Scheme functionsly:source-file?: Scheme functionsly:spanner-bound: Scheme functionsly:spanner-broken-into: Scheme functionsly:spanner?: Scheme functionsly:start-environment: Scheme functionsly:stderr-redirect: Scheme functionsly:stencil-add: Scheme functionsly:stencil-aligned-to: Scheme functionsly:stencil-combine-at-edge: Scheme functionsly:stencil-empty?: Scheme functionsly:stencil-expr: Scheme functionsly:stencil-extent: Scheme functionsly:stencil-fonts: Scheme functionsly:stencil-in-color: Scheme functionsly:stencil-rotate: Scheme functionsly:stencil-translate: Scheme functionsly:stencil-translate-axis: Scheme functionsly:stencil?: Scheme functionsly:stream-event?: Scheme functionsly:string-substitute: Scheme functionsly:system-print: Scheme functionsly:system-stretch: Scheme functionsly:text-dimension: Scheme functionsly:text-interface::interpret-markup: Scheme functionsly:translator-description: Scheme functionsly:translator-group?: Scheme functionsly:translator-name: Scheme functionsly:translator?: Scheme functionsly:transpose-key-alist: Scheme functionsly:truncate-list!: Scheme functionsly:ttf->pfa: Scheme functionsly:ttf-ps-name: Scheme functionsly:unit: Scheme functionsly:usage: Scheme functionsly:version: Scheme functionsly:warning: Scheme functionsly:wide-char->utf-8: Scheme functions
This page is for LilyPond-2.11.58 (development-branch).
Report errors to http://post.gmane.org/post.php?group=gmane.comp.gnu.lilypond.bugs.
Your suggestions for the documentation are welcome.