This is the program reference for version 2.11.28 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 and Dynamic_performer.
Properties:
name
(symbol):'AbsoluteDynamicEvent
Name 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):'AnnotateOutputEvent
Name 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):'ApplyContext
Name 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::constructor
Function to construct a
music-event-iterator
object 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):'ApplyOutputEvent
Name 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):'ArpeggioEvent
Name 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: notex
y
, 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 user manual for details.
Event classes: articulation-event, script-event, music-event and StreamEvent.
Accepted by: Script_engraver.
Properties:
name
(symbol):'ArticulationEvent
Name 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):'AutoChangeMusic
Name of this music object.
iterator-ctor
(procedure):ly:auto-change-iterator::constructor
Function to construct a
music-event-iterator
object for this music.start-callback
(procedure):ly:music-wrapper::start-callback
Function 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-callback
How 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):'BarCheck
Name 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::constructor
Function to construct a
music-event-iterator
object 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):'BassFigureEvent
Name 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):'BeamEvent
Name 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):'BeamForbidEvent
Name 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):'BendAfterEvent
Name 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):'BreathingEvent
Name 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):'ClusterNoteEvent
Name 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):'ContextChange
Name of this music object.
iterator-ctor
(procedure):ly:change-iterator::constructor
Function to construct a
music-event-iterator
object 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):'ContextSpeccedMusic
Name of this music object.
iterator-ctor
(procedure):ly:context-specced-music-iterator::constructor
Function to construct a
music-event-iterator
object for this music.length-callback
(procedure):ly:music-wrapper::length-callback
How 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-callback
Function 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 user manual for details.
Event classes: crescendo-event, span-dynamic-event, span-event, music-event and StreamEvent.
Accepted by: Dynamic_engraver and Dynamic_performer.
Properties:
name
(symbol):'CrescendoEvent
Name 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 and Dynamic_performer.
Properties:
name
(symbol):'DecrescendoEvent
Name 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):'Event
Name 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):'EventChord
Name of this music object.
iterator-ctor
(procedure):ly:event-chord-iterator::constructor
Function to construct a
music-event-iterator
object for this music.length-callback
(procedure):ly:music-sequence::maximum-length-callback
How 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-callback
How 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):'ExtenderEvent
Name 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):'FingeringEvent
Name 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):'GlissandoEvent
Name 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):'GraceMusic
Name of this music object.
start-callback
(procedure):ly:grace-music::start-callback
Function 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::constructor
Function to construct a
music-event-iterator
object 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.
Accepted by: none.
Properties:
name
(symbol):'HarmonicEvent
Name 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):'HyphenEvent
Name 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):'KeyChangeEvent
Name 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):'LabelEvent
Name 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):'LaissezVibrerEvent
Name 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):'LigatureEvent
Name of this music object.
span-type
(string):'ligature
What 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):'LineBreakEvent
Name 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):'LyricCombineMusic
Name 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::constructor
Function to construct a
music-event-iterator
object 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):'LyricEvent
Name 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):'MarkEvent
Name 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):'MultiMeasureRestEvent
Name 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):'MultiMeasureRestMusic
Name of this music object.
iterator-ctor
(procedure):ly:sequential-iterator::constructor
Function to construct a
music-event-iterator
object for this music.elements-callback
(procedure):mm-rest-child-list
Return 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):'MultiMeasureTextEvent
Name 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):'Music
Name 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):'NoteEvent
Name 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):'NoteGroupingEvent
Name 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):'OverrideProperty
Name 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::constructor
Function to construct a
music-event-iterator
object 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):'PageBreakEvent
Name 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):'PageTurnEvent
Name 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):'PartCombineMusic
Name of this music object.
length-callback
(procedure):ly:music-sequence::maximum-length-callback
How 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-callback
Function 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::constructor
Function to construct a
music-event-iterator
object 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):'PercentEvent
Name 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):'PercentRepeatedMusic
Name of this music object.
iterator-ctor
(procedure):ly:percent-repeat-iterator::constructor
Function to construct a
music-event-iterator
object for this music.start-callback
(procedure):ly:repeated-music::first-start
Function 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-length
How 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):'PesOrFlexaEvent
Name 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):'PhrasingSlurEvent
Name 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):'PropertySet
Name 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::constructor
Function to construct a
music-event-iterator
object for this music.
Remove the definition of a context
\property
.
Properties:
name
(symbol):'PropertyUnset
Name 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::constructor
Function to construct a
music-event-iterator
object for this music.
Quote preprocessed snippets of music.
Properties:
name
(symbol):'QuoteMusic
Name of this music object.
iterator-ctor
(procedure):ly:music-wrapper-iterator::constructor
Function to construct a
music-event-iterator
object for this music.length-callback
(procedure):ly:music-wrapper::length-callback
How 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-callback
Function 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):'RelativeOctaveCheck
Name of this music object.
to-relative-callback
(procedure):ly:relative-octave-check::relative-callback
How 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):'RelativeOctaveMusic
Name of this music object.
to-relative-callback
(procedure):ly:relative-octave-music::relative-callback
How to transform a piece of music to relative pitches.
iterator-ctor
(procedure):ly:music-wrapper-iterator::constructor
Function to construct a
music-event-iterator
object for this music.length-callback
(procedure):ly:music-wrapper::length-callback
How 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-callback
Function 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):'RepeatTieEvent
Name 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):'RepeatedMusic
Name 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):'RestEvent
Name 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):'RevertProperty
Name 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::constructor
Function to construct a
music-event-iterator
object for this music.
Add an articulation mark to a note.
Event classes: script-event, music-event and StreamEvent.
Accepted by: none.
Properties:
name
(symbol):'ScriptEvent
Name 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):'SequentialMusic
Name of this music object.
length-callback
(procedure):ly:music-sequence::cumulative-length-callback
How 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-callback
Function 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::constructor
Function to construct a
music-event-iterator
object 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):'SimultaneousMusic
Name of this music object.
iterator-ctor
(procedure):ly:simultaneous-music-iterator::constructor
Function to construct a
music-event-iterator
object for this music.start-callback
(procedure):ly:music-sequence::minimum-start-callback
Function 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-callback
How 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-callback
How 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.
Accepted by: none.
Properties:
name
(symbol):'SkipEvent
Name 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):'SkipMusic
Name of this music object.
length-callback
(procedure):ly:music-duration-length
How 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::constructor
Function to construct a
music-event-iterator
object 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):'SlurEvent
Name 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):'SoloOneEvent
Name of this music object.
part-combine-status
(symbol):'solo1
Change to what kind of state? Options are
solo1
,solo2
andunisono
.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):'SoloTwoEvent
Name of this music object.
part-combine-status
(symbol):'solo2
Change to what kind of state? Options are
solo1
,solo2
andunisono
.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):'SostenutoEvent
Name 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):'SpacingSectionEvent
Name 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.
Accepted by: none.
Properties:
name
(symbol):'SpanEvent
Name 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):'StaffSpanEvent
Name 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):'StringNumberEvent
Name 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):'StrokeFingerEvent
Name 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):'SustainEvent
Name 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):'TextScriptEvent
Name 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):'TextSpanEvent
Name 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):'TieEvent
Name 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):'TimeScaledMusic
Name of this music object.
length-callback
(procedure):ly:music-wrapper::length-callback
How 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-callback
Function 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::constructor
Function to construct a
music-event-iterator
object 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):'TransposedMusic
Name of this music object.
iterator-ctor
(procedure):ly:music-wrapper-iterator::constructor
Function to construct a
music-event-iterator
object for this music.start-callback
(procedure):ly:music-wrapper::start-callback
Function 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-callback
How 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-callback
How 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):'TremoloEvent
Name 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):'TremoloRepeatedMusic
Name of this music object.
iterator-ctor
(procedure):ly:chord-tremolo-iterator::constructor
Function to construct a
music-event-iterator
object for this music.start-callback
(procedure):ly:repeated-music::first-start
Function 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-length
How 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):'TremoloSpanEvent
Name 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):'TrillSpanEvent
Name 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):'TupletSpanEvent
Name 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):'UnaCordaEvent
Name 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):'UnfoldedRepeatedMusic
Name of this music object.
iterator-ctor
(procedure):ly:unfolded-repeat-iterator::constructor
Function to construct a
music-event-iterator
object for this music.start-callback
(procedure):ly:repeated-music::first-start
Function 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-length
How 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):'UnisonoEvent
Name of this music object.
part-combine-status
(symbol):'unisono
Change to what kind of state? Options are
solo1
,solo2
andunisono
.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):'UnrelativableMusic
Name of this music object.
to-relative-callback
(procedure):ly:relative-octave-music::no-relative-callback
How to transform a piece of music to relative pitches.
iterator-ctor
(procedure):ly:music-wrapper-iterator::constructor
Function to construct a
music-event-iterator
object for this music.length-callback
(procedure):ly:music-wrapper::length-callback
How 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):'VoiceSeparator
Name 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):'VoltaRepeatedMusic
Name of this music object.
iterator-ctor
(procedure):ly:volta-repeat-iterator::constructor
Function to construct a
music-event-iterator
object for this music.start-callback
(procedure):ly:repeated-music::first-start
Function 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-length
How 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.
Accepted by: none.
Music event type absolute-dynamic-event
is in music objects of type AbsoluteDynamicEvent.
Accepted by: Dynamic_engraver and Dynamic_performer.
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.
Accepted by: none.
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.
Accepted by: none.
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.
Accepted by: none.
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.
Accepted by: none.
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.
Accepted by: none.
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.
Accepted by: none.
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.
Accepted by: none.
Music event type page-turn-event
is in music objects of type PageTurnEvent.
Accepted by: none.
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.
Accepted by: none.
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.
Accepted by: none.
Music event type script-event
is in music objects of type ArticulationEvent, ScriptEvent and TextScriptEvent.
Accepted by: none.
Music event type skip-event
is in music objects of type SkipEvent.
Accepted by: none.
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.
Accepted by: none.
Music event type solo-two-event
is in music objects of type SoloTwoEvent.
Accepted by: none.
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.
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.
Accepted by: none.
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.
Accepted by: none.
X-offset
(number)- Offset of resulting grob; only used for balloon texts.
Y-offset
(number)- Offset of resulting grob; only used for balloon texts.
absolute-octave
(integer)- The absolute octave for a octave check note.
alteration
(number)- Alteration for figured bass.
articulation-type
(string)- Key for script definitions alist.
TODO: Consider making type into symbol.
articulations
(list of music)- Articulation events specifically for this note.
associated-context
(string)- Name of the Voice context associated with this
\newaddlyrics
section.augmented
(boolean)- This figure is for an augmented figured bass (with
+
sign).bass
(boolean)- Set if this note is a bass note in a chord.
bracket-start
(boolean)- Start a bracket here.
TODO: Use SpanEvents?
bracket-stop
(boolean)- Stop a bracket here.
break-penalty
(number)- Penalty for line break hint.
break-permission
(symbol)- Whether to allow, forbid or force a line break.
cautionary
(boolean)- If set, this alteration needs a cautionary accidental.
change-to-id
(string)- Name of the context to change to.
change-to-type
(symbol)- Type of the context to change to.
compress-procedure
(procedure)- Compress this music expression. Arg 1: the music, arg 2: factor.
context-id
(string)- Name of context.
context-type
(symbol)- Type of context.
create-new
(boolean)- Create a fresh context.
delta-step
(number)- How much should a fall change pitch?
denominator
(integer)- Denominator in a time signature.
descend-only
(boolean)- If set, this
\context
only descends in the context tree.digit
(integer)- Digit for fingering.
diminished
(boolean)- This bass figure should be slashed.
direction
(direction)- Print this up or down?
drum-type
(symbol)- Which percussion instrument to play this note on.
duration
(duration)- Duration of this note or lyric.
element
(music)- The single child of a Music_wrapper music object, or the body of a repeat.
elements
(list of music)- A list of elements for sequential of simultaneous music, or the alternatives of repeated music.
elements-callback
(procedure)- Return a list of children, for use by a sequential iterator. Takes a single music parameter.
error-found
(boolean)- If true, a parsing error was found in this expression.
expected-beam-count
(integer)- Expected number of non-tremolo beams in a tremolo repeat.
figure
(integer)- A bass figure.
force-accidental
(boolean)- If set, a cautionary accidental should always be printed on this note.
grob-property
(symbol)- The symbol of the grob property to set.
grob-property-path
(list)- A list of symbols, locating a nested grob property, e.g.,
(beamed-lengths details)
.grob-value
(any type)- The value of the grob property to set.
input-tag
(any type)- Arbitrary marker to relate input and output.
inversion
(boolean)- If set, this chord note is inverted.
iterator-ctor
(procedure)- Function to construct a
music-event-iterator
object for this music.label
(markup)- Label of a mark.
last-pitch
(pitch)- The last pitch after relativization.
length
(moment)- The duration of this music.
length-callback
(procedure)- How to compute the duration of this music. This property can only be defined as initializer in scm/define-music-types.scm.
line-break-permission
(symbol)- When the music is at top-level, whether to allow, forbid or force a line break.
metronome-count
(number)- How many beats in a minute?
name
(symbol)- Name of this music object.
no-continuation
(boolean)- If set, disallow continuation lines.
numerator
(integer)- Numerator of a time signature.
octavation
(integer)- This pitch was octavated by how many octaves? For chord inversions, this is negative.
once
(boolean)- Apply this operation only during one time step?
origin
(input location)- Where was this piece of music defined?
page-break-permission
(symbol)- When the music is at top-level, whether to allow, forbid or force a page break.
page-label
(symbol)- The label of a page marker.
page-marker
(boolean)- If true, and the music expression is found at top-level, a page marker object is instanciated instead of a score.
page-turn-permission
(symbol)- When the music is at top-level, whether to allow, forbid or force a page turn.
parenthesize
(boolean)- Enclose resulting objects in parentheses?
part-combine-status
(symbol)- Change to what kind of state? Options are
solo1
,solo2
andunisono
.pitch
(pitch)- The pitch of this note.
pitch-alist
(list)- A list of pitches jointly forming the scale of a key signature.
pop-first
(boolean)- Do a revert before we try to do a override on some grob property.
prob-property
(symbol)- The symbol of the prob property to set.
procedure
(procedure)- The function to run with
\applycontext
. It must take a single argument, being the context.property-operations
(list)- Do these operations for instantiating the context.
quoted-context-id
(string)- The ID of the context to direct quotes to, e.g.,
cue
.quoted-context-type
(symbol)- The name of the context to direct quotes to, e.g.,
Voice
.quoted-events
(vector)- A vector of with
moment
andevent-list
entries.quoted-music-name
(string)- The name of the voice to quote.
quoted-transposition
(pitch)- The pitch used for the quote, overriding
\transposition
.quoted-voice-direction
(direction)- Should the quoted voice be up-stem or down-stem?
repeat-count
(integer)- Do a
\repeat
how often?span-direction
(direction)- Does this start or stop a spanner?
span-type
(string)- What kind of spanner should be created?
TODO: Consider making type into symbol.
split-list
(list)- Splitting moments for part combiner.
start-callback
(procedure)- Function to compute the negative length of starting grace notes. This property can only be defined as initializer in scm/define-music-types.scm.
string-number
(integer)- The number of the string in a
StringNumberEvent.
symbol
(symbol)- Grob name to perform an override or revert on.
tags
(list)- List of symbols that for denoting extra details, e.g.,
\tag #'part ...
could tag a piece of music as only being active in a part.tempo-unit
(duration)- The unit for the metronome count.
text
(markup)- Markup expression to be printed.
text-type
(symbol)- Particular type of text script (e.g., finger, dynamic).
to-relative-callback
(procedure)- How to transform a piece of music to relative pitches.
tonic
(pitch)- Base of the scale.
tremolo-type
(integer)- Speed of tremolo, e.g., 16 for
c4:16
.trill-pitch
(pitch)- Pitch of other note of the trill.
tweaks
(list)- An alist of properties to override in the backend for the grob made of this event.
type
(symbol)- The type of this music object. Determines iteration in some cases.
types
(list)- The types of this music object; determines by what engraver this music expression is processed.
untransposable
(boolean)- If set, this music is not transposed.
value
(any type)- Assignment value for a translation property.
void
(boolean)- If this property is
#t
, then the music expression is to be discarded by the toplevel music handler.what
(symbol)- What to change for auto-change.
FIXME: Naming.
Identical to StaffGroup
except that the
contained staves are not connected vertically.
This context creates the following layout objects:
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 engravers:
System_start_delimiter_engraver
- Creates a system start delimiter (ie. SystemStart{Bar, Brace, Bracket} spanner
Properties (read)
systemStartDelimiter
(symbol)- Which grob to make for the start of the system/staff? Set to
SystemStartBrace
,SystemStartBracket
orSystemStartBar
.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 objects:
SystemStartBar, SystemStartBrace, SystemStartBracket and SystemStartSquare.
Typesets chord names.
This context creates the following layout objects:
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 engravers:
Hara_kiri_engraver
- Like Axis_group_engraver, but make a hara-kiri spanner, and add interesting items (ie. note heads, lyric syllables and normal rests)
Properties (read)
keepAliveInterfaces
(list)- List of symbols, signifying grob interfaces that are worth keeping an staff with
remove-empty
set around for.This engraver creates the following layout objects:
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)- Function that converts from a pitch object to a text markup. Used for single pitches.
chordRootNamer
(procedure)- 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 objects:
Separating_line_group_engraver
- Generates objects for computing spacing parameters.
Properties (read)
Properties (write)
createSpacing
(boolean)- Create
StaffSpacing
objects? Should be set for staves.
hasStaffSpacing
(boolean)- True if the currentCommandColumn contains items that will affect spacing
This engraver creates the following layout objects:
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 objects:
Arpeggio, Beam, Beam, Beam, Beam, BendAfter, BreathingSign, ClusterSpannerBeacon, ClusterSpanner, CombineTextScript, Dots, DoublePercentRepeatCounter, DoublePercentRepeat, DynamicLineSpanner, DynamicTextSpanner, DynamicText, Fingering, Fingering, Glissando, Glissando, Hairpin, InstrumentSwitch, LaissezVibrerTieColumn, LaissezVibrerTie, MultiMeasureRestNumber, MultiMeasureRestText, MultiMeasureRest, NoteColumn, NoteHead, NoteSpacing, PercentRepeatCounter, PercentRepeat, PhrasingSlur, RepeatSlash, RepeatTieColumn, RepeatTie, Rest, ScriptColumn, Script, Script, Slur, StemTremolo, Stem, StringNumber, StrokeFinger, TextScript, TextSpanner, TextSpanner, TieColumn, Tie, TrillPitchAccidental, TrillPitchGroup, TrillPitchHead, TrillSpanner, TupletBracket, 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 engravers:
Skip_event_swallow_translator
- Swallow \skip.
Instrument_switch_engraver
- Create a cue text for taking instrument.
Properties (read)
instrumentCueName
(markup)- Name to print if another instrument is to be taken.
This engraver creates the following layout objects:
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-property
function.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 sigs, etc.) before the note.
This engraver creates the following layout objects:
Tie_engraver
- Generate ties between noteheads 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 objects:
Slur_engraver
- Build slur grobs from slur events
Music types accepted:
Properties (read)
slurMelismaBusy
(boolean)- Signal if a slur is present.
doubleSlurs
(boolean)- When set, two slurs are created for every slurred note, one above and one below the chord.
This engraver creates the following layout objects:
Slur.
Cluster_spanner_engraver
- Engraves a cluster using Spanner notation
Music types accepted:
This engraver creates the following layout objects:
Phrasing_slur_engraver
- Print phrasing slurs. Similar to Slur_engraver
Music types accepted:
This engraver creates the following layout objects:
Spanner_break_forbid_engraver
- Forbid breaks in certain spanners
Note_spacing_engraver
- Generates NoteSpacing, an object linking horizontal lines for use in spacing.
This engraver creates the following layout objects:
Rhythmic_column_engraver
- Generates NoteColumn, an objects that groups stems, noteheads and rests.
This engraver creates the following layout objects:
Script_column_engraver
This engraver creates the following layout objects:
Script_engraver
- Handles note scripted articulations.
Music types accepted:
Properties (read)
scriptDefinitions
(list)- Description of scripts. This is used by Script_engraver for typesetting note-super/subscripts. See scm/script.scm for more information
This engraver creates the following layout objects:
Bend_engraver
- Create fall spanners.
Music types accepted:
This engraver creates the following layout objects:
Fingering_engraver
- Create fingering-scripts
Music types accepted:
stroke-finger-event and fingering-event
This engraver creates the following layout objects:
Dynamic_engraver
- This engraver creates 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 objects:
DynamicLineSpanner, DynamicText, DynamicTextSpanner, Hairpin and TextSpanner.
Text_engraver
- Create text-scripts
Music types accepted:
This engraver creates the following layout objects:
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/A due texts in the part combiner?
soloText
(string)- text for begin of solo when part-combining.
soloIIText
(string)- text for begin of solo for voice “two” when part-combining.
aDueText
(string)- Text to print at a unisono passage.
This engraver creates the following layout objects:
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 objects:
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 objects:
DoublePercentRepeat, DoublePercentRepeatCounter, PercentRepeat and PercentRepeatCounter.
Chord_tremolo_engraver
- Generates beams for tremolo repeats.
Music types accepted:
This engraver creates the following layout objects:
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)- List of symbols, containing `left', `right', `up' and/or `down'. This list determines where fingerings are put relative to the chord being fingered.
strokeFingerOrientations
(list)- See
fingeringOrientations
stringNumberOrientations
(list)- See
fingeringOrientations
This engraver creates the following layout objects:
Fingering, Script, StringNumber and StrokeFinger.
Auto_beam_engraver
- Generate beams based on measure characteristics and observed Stems. Uses beatLength, measureLength and measurePosition to decide when to start and stop a beam. Overriding beaming is done through Stem_engraver properties
stemLeftBeamCount
andstemRightBeamCount
.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 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 objects:
Beam.
Grace_beam_engraver
- Handles Beam events by engraving Beams. If omitted, then notes will be 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 objects:
Beam.
Beam_engraver
- Handles Beam events by engraving Beams. If omitted, then notes will be 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 objects:
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)- 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 objects:
Stem and StemTremolo.
Tweak_engraver
- Read the
tweaks
property from the originating event, and set properties.Rest_engraver
Music types accepted:
Properties (read)
middleCPosition
(number)- Place of the middle C, measured in half staff-spaces. Usually determined by looking at
clefPosition
andclefGlyph
.This engraver creates the following layout objects:
Rest.
Dots_engraver
- Create Dots objects for rhythmic-head-interfaces.
This engraver creates the following layout objects:
Dots.
Note_heads_engraver
- Generate noteheads.
Music types accepted:
Properties (read)
middleCPosition
(number)- Place of the middle C, measured in half staff-spaces. Usually determined by looking at
clefPosition
andclefGlyph
.staffLineLayoutFunction
(procedure)- Layout of staff lines, 'traditional, or 'semitone.
This engraver creates the following layout objects:
Breathing_sign_engraver
Music types accepted:
This engraver creates the following layout objects:
Ligature_bracket_engraver
- Handles Ligature_events by engraving Ligature brackets.
Music types accepted:
This engraver creates the following layout objects:
Glissando_engraver
Music types accepted:
This engraver creates the following layout objects:
Note_head_line_engraver
- Engrave a line between two note heads, for example a glissando. If followVoice is set, staff switches also generate a line.
Properties (read)
followVoice
(boolean)- If set, note heads are tracked across staff switches by a thin line
This engraver creates the following layout objects:
Glissando and VoiceFollower.
Repeat_tie_engraver
- Create Laissez vibrer items.
Music types accepted:
This engraver creates the following layout objects:
RepeatTie and RepeatTieColumn.
Laissez_vibrer_engraver
- Create Laissez vibrer items.
Music types accepted:
This engraver creates the following layout objects:
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) conses. 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 (eg. note heads) stop playing
Properties (read)
Properties (write)
busyGrobs
(list)- a queue of (end-moment . GROB) conses. 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) conses. 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 objects:
Text_spanner_engraver
- Create text spanner from an event.
Music types accepted:
This engraver creates the following layout objects:
Multi_measure_rest_engraver
- Engraves multi-measure rests that are produced with
R
. ReadsmeasurePosition
andinternalBarNumber
to determine what number to print over the MultiMeasureRest. ReadsmeasureLength
to determine if it should use a whole rest or a breve rest to represent 1 measureMusic 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 objects:
MultiMeasureRest, MultiMeasureRestNumber and MultiMeasureRestText.
Arpeggio_engraver
- Generate an Arpeggio symbol
Music types accepted:
This engraver creates the following layout objects:
Output_property_engraver
- Apply a procedure to any grob acknowledged.
Music types accepted:
Pitched_trill_engraver
- Print the bracketed notehead after a notehead with trill.
This engraver creates the following layout objects:
Font_size_engraver
- Puts fontSize into font-size grob 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 objects:
none.
This context is a `bottom' context; it cannot contain other contexts.
This context is built from the following engravers:
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 objects:
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 '()
.
ignoreFiguredBassRest
to #t
.
createSpacing
to #t
.
localKeySignature
to '()
.
Context DrumStaff can contain DrumVoice and CueVoice.
This context is built from the following engravers:
Script_row_engraver
- Determine order in horizontal side position elements.
This engraver creates the following layout objects:
Figured_bass_position_engraver
- Position figured bass alignments over notes.
This engraver creates the following layout objects:
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)- Routine generating a markup for a bass figure.
implicitBassFigures
(list)- 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 objects:
BassFigure, BassFigureAlignment, BassFigureBracket, BassFigureContinuation and BassFigureLine.
Axis_group_engraver
- Group all objects created in this context in a VerticalAxisGroup spanner.
Properties (read)
currentCommandColumn
(layout object)- Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
This engraver creates the following layout objects:
Instrument_name_engraver
- Creates 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
instrument
property labels the staff in the first system, and theinstr
property 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 objects:
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 objects:
SostenutoPedalLineSpanner, SustainPedalLineSpanner and UnaCordaPedalLineSpanner.
Rest_collision_engraver
- Handles collisions of rests.
This engraver creates the following layout objects:
Collision_engraver
- Collect NoteColumns, and as soon as there are two or more, put them in a NoteCollision object.
This engraver creates the following layout objects:
Staff_symbol_engraver
- Create the constellation of five (default) staff lines.
Music types accepted:
This engraver creates the following layout objects:
Ledger_line_engraver
- Creates the spanner to draw ledger lines, and notices objects that need ledger lines
This engraver creates the following layout objects:
Time_signature_engraver
- Create a TimeSignature whenever
timeSignatureFraction
changesProperties (read)
implicitTimeSignatureVisibility
(vector)- break visibility for the default timesignature.
timeSignatureFraction
(pair of numbers)- pair of numbers, signifying the time signature. For example
#'(4 . 4)
is a 4/4 time signature.This engraver creates the following layout objects:
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.
middleCPosition
(number)- Place of the middle C, measured in half staff-spaces. Usually determined by looking at
clefPosition
andclefGlyph
.This engraver creates the following layout objects:
Clef and OctavateEight.
Staff_collecting_engraver
- Maintain the stavesFound variable
Properties (read)
Properties (write)
stavesFound
(list of grobs)- list of all staff-symbols found.
stavesFound
(list of grobs)- list of all staff-symbols found.
Dot_column_engraver
- Engraves 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 objects:
Separating_line_group_engraver
- Generates objects for computing spacing parameters.
Properties (read)
Properties (write)
createSpacing
(boolean)- Create
StaffSpacing
objects? Should be set for staves.
hasStaffSpacing
(boolean)- True if the currentCommandColumn contains items that will affect spacing
This engraver creates the following layout objects:
Font_size_engraver
- Puts fontSize into font-size grob property.
Properties (read)
fontSize
(number)- The relative size of all grobs in a context.
Bar_engraver
- Create barlines. This engraver is controlled through the
whichBar
property. If it has no bar line to create, it will forbid a linebreak at this pointProperties (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 objects:
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 objects:
Beam, Beam, Beam, Beam, BendAfter, BreathingSign, CombineTextScript, Dots, DoublePercentRepeatCounter, DoublePercentRepeat, DynamicLineSpanner, DynamicTextSpanner, DynamicText, Hairpin, InstrumentSwitch, LaissezVibrerTieColumn, LaissezVibrerTie, MultiMeasureRestNumber, MultiMeasureRestNumber, MultiMeasureRestText, MultiMeasureRestText, MultiMeasureRest, MultiMeasureRest, NoteColumn, NoteHead, NoteSpacing, PercentRepeatCounter, PercentRepeat, PhrasingSlur, RepeatSlash, RepeatTieColumn, RepeatTie, Rest, ScriptColumn, Script, Script, Slur, StemTremolo, Stem, TextScript, TextSpanner, TextSpanner, TextSpanner, TieColumn, Tie, TrillPitchAccidental, TrillPitchGroup, TrillPitchHead, TrillSpanner, TupletBracket, TupletBracket, TupletNumber 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 engravers:
Skip_event_swallow_translator
- Swallow \skip.
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 sigs, etc.) before the note.
This engraver creates the following layout objects:
Drum_notes_engraver
- Generate noteheads.
Music types accepted:
Properties (read)
drumStyleTable
(hash table)- A hash table containing mapping 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 key, and a list (notehead-style script vertical-position) as values.
This engraver creates the following layout objects:
Grob_pq_engraver
- Administrate when certain grobs (eg. note heads) stop playing
Properties (read)
Properties (write)
busyGrobs
(list)- a queue of (end-moment . GROB) conses. 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) conses. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.)
Text_spanner_engraver
- Create text spanner from an event.
Music types accepted:
This engraver creates the following layout objects:
Multi_measure_rest_engraver
- Engraves multi-measure rests that are produced with
R
. ReadsmeasurePosition
andinternalBarNumber
to determine what number to print over the MultiMeasureRest. ReadsmeasureLength
to determine if it should use a whole rest or a breve rest to represent 1 measureMusic 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 objects:
MultiMeasureRest, MultiMeasureRestNumber and MultiMeasureRestText.
Skip_event_swallow_translator
- Swallow \skip.
Instrument_switch_engraver
- Create a cue text for taking instrument.
Properties (read)
instrumentCueName
(markup)- Name to print if another instrument is to be taken.
This engraver creates the following layout objects:
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-property
function.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 sigs, etc.) before the note.
This engraver creates the following layout objects:
Tie_engraver
- Generate ties between noteheads 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 objects:
Slur_engraver
- Build slur grobs from slur events
Music types accepted:
Properties (read)
slurMelismaBusy
(boolean)- Signal if a slur is present.
doubleSlurs
(boolean)- When set, two slurs are created for every slurred note, one above and one below the chord.
This engraver creates the following layout objects:
Slur.
Phrasing_slur_engraver
- Print phrasing slurs. Similar to Slur_engraver
Music types accepted:
This engraver creates the following layout objects:
Spanner_break_forbid_engraver
- Forbid breaks in certain spanners
Note_spacing_engraver
- Generates NoteSpacing, an object linking horizontal lines for use in spacing.
This engraver creates the following layout objects:
Rhythmic_column_engraver
- Generates NoteColumn, an objects that groups stems, noteheads and rests.
This engraver creates the following layout objects:
Script_column_engraver
This engraver creates the following layout objects:
Script_engraver
- Handles note scripted articulations.
Music types accepted:
Properties (read)
scriptDefinitions
(list)- Description of scripts. This is used by Script_engraver for typesetting note-super/subscripts. See scm/script.scm for more information
This engraver creates the following layout objects:
Bend_engraver
- Create fall spanners.
Music types accepted:
This engraver creates the following layout objects:
Dynamic_engraver
- This engraver creates 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 objects:
DynamicLineSpanner, DynamicText, DynamicTextSpanner, Hairpin and TextSpanner.
Text_engraver
- Create text-scripts
Music types accepted:
This engraver creates the following layout objects:
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/A due texts in the part combiner?
soloText
(string)- text for begin of solo when part-combining.
soloIIText
(string)- text for begin of solo for voice “two” when part-combining.
aDueText
(string)- Text to print at a unisono passage.
This engraver creates the following layout objects:
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 objects:
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 objects:
DoublePercentRepeat, DoublePercentRepeatCounter, PercentRepeat and PercentRepeatCounter.
Chord_tremolo_engraver
- Generates beams for tremolo repeats.
Music types accepted:
This engraver creates the following layout objects:
Beam.
Auto_beam_engraver
- Generate beams based on measure characteristics and observed Stems. Uses beatLength, measureLength and measurePosition to decide when to start and stop a beam. Overriding beaming is done through Stem_engraver properties
stemLeftBeamCount
andstemRightBeamCount
.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 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 objects:
Beam.
Grace_beam_engraver
- Handles Beam events by engraving Beams. If omitted, then notes will be 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 objects:
Beam.
Beam_engraver
- Handles Beam events by engraving Beams. If omitted, then notes will be 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 objects:
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)- 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 objects:
Stem and StemTremolo.
Tweak_engraver
- Read the
tweaks
property from the originating event, and set properties.Rest_engraver
Music types accepted:
Properties (read)
middleCPosition
(number)- Place of the middle C, measured in half staff-spaces. Usually determined by looking at
clefPosition
andclefGlyph
.This engraver creates the following layout objects:
Rest.
Dots_engraver
- Create Dots objects for rhythmic-head-interfaces.
This engraver creates the following layout objects:
Dots.
Breathing_sign_engraver
Music types accepted:
This engraver creates the following layout objects:
Repeat_tie_engraver
- Create Laissez vibrer items.
Music types accepted:
This engraver creates the following layout objects:
RepeatTie and RepeatTieColumn.
Laissez_vibrer_engraver
- Create Laissez vibrer items.
Music types accepted:
This engraver creates the following layout objects:
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) conses. 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 (eg. note heads) stop playing
Properties (read)
Properties (write)
busyGrobs
(list)- a queue of (end-moment . GROB) conses. 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) conses. 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 objects:
Text_spanner_engraver
- Create text spanner from an event.
Music types accepted:
This engraver creates the following layout objects:
Multi_measure_rest_engraver
- Engraves multi-measure rests that are produced with
R
. ReadsmeasurePosition
andinternalBarNumber
to determine what number to print over the MultiMeasureRest. ReadsmeasureLength
to determine if it should use a whole rest or a breve rest to represent 1 measureMusic 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 objects:
MultiMeasureRest, MultiMeasureRestNumber and MultiMeasureRestText.
Output_property_engraver
- Apply a procedure to any grob acknowledged.
Music types accepted:
Pitched_trill_engraver
- Print the bracketed notehead after a notehead with trill.
This engraver creates the following layout objects:
Font_size_engraver
- Puts fontSize into font-size grob property.
Properties (read)
fontSize
(number)- The relative size of all grobs in a context.
(not documented)
This context creates the following layout objects:
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 engravers:
Hara_kiri_engraver
- Like Axis_group_engraver, but make a hara-kiri spanner, and add interesting items (ie. note heads, lyric syllables and normal rests)
Properties (read)
keepAliveInterfaces
(list)- List of symbols, signifying grob interfaces that are worth keeping an staff with
remove-empty
set around for.This engraver creates the following layout objects:
Separating_line_group_engraver
- Generates objects for computing spacing parameters.
Properties (read)
Properties (write)
createSpacing
(boolean)- Create
StaffSpacing
objects? Should be set for staves.
hasStaffSpacing
(boolean)- True if the currentCommandColumn contains items that will affect spacing
This engraver creates the following layout objects:
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)- Routine generating a markup for a bass figure.
implicitBassFigures
(list)- 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 objects:
BassFigure, BassFigureAlignment, BassFigureBracket, BassFigureContinuation and BassFigureLine.
(not documented)
This context creates the following layout objects:
FretBoard, InstrumentName, StaffSpacing and VerticalAxisGroup.
This context is a `bottom' context; it cannot contain other contexts.
This context is built from the following engravers:
Instrument_name_engraver
- Creates 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
instrument
property labels the staff in the first system, and theinstr
property 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 objects:
Font_size_engraver
- Puts fontSize into font-size grob property.
Properties (read)
fontSize
(number)- The relative size of all grobs in a context.
Separating_line_group_engraver
- Generates objects for computing spacing parameters.
Properties (read)
Properties (write)
createSpacing
(boolean)- Create
StaffSpacing
objects? Should be set for staves.
hasStaffSpacing
(boolean)- True if the currentCommandColumn contains items that will affect spacing
This engraver creates the following layout objects:
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
tablatureFormat
(procedure)- Function formatting a tab note head; it takes a string number, a list of string tunings and Pitch object. It returns the text as a string.
highStringOne
(boolean)- Whether the 1st string is the string with highest pitch on the instrument. This used by the automatic string selector for tab notation.
This engraver creates the following layout objects:
Axis_group_engraver
- Group all objects created in this context in a VerticalAxisGroup spanner.
Properties (read)
currentCommandColumn
(layout object)- Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
This engraver creates the following layout objects:
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 objects:
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 objects:
Arpeggio, SpanBar, SystemStartBar, SystemStartBrace, SystemStartBracket and SystemStartSquare.
This context sets the following properties:
systemStartDelimiter
to 'SystemStartBrace
.
localKeySignature
to '()
.
Context GrandStaff can contain FiguredBass and Staff.
This context is built from the following engravers:
System_start_delimiter_engraver
- Creates a system start delimiter (ie. SystemStart{Bar, Brace, Bracket} spanner
Properties (read)
systemStartDelimiter
(symbol)- Which grob to make for the start of the system/staff? Set to
SystemStartBrace
,SystemStartBracket
orSystemStartBar
.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 objects:
SystemStartBar, SystemStartBrace, SystemStartBracket and SystemStartSquare.
Span_arpeggio_engraver
Properties (read)
connectArpeggios
(boolean)- If set, connect arpeggios across piano staff.
This engraver creates the following layout objects:
Span_bar_engraver
- This engraver makes cross-staff barlines: It catches all normal bar lines, and draws a single span-bar across them.
This engraver creates the following layout objects:
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 objects:
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 '()
.
ignoreFiguredBassRest
to #t
.
createSpacing
to #t
.
localKeySignature
to '()
.
Context GregorianTranscriptionStaff can contain GregorianTranscriptionVoice and CueVoice.
This context is built from the following engravers:
Script_row_engraver
- Determine order in horizontal side position elements.
This engraver creates the following layout objects:
Figured_bass_position_engraver
- Position figured bass alignments over notes.
This engraver creates the following layout objects:
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)- Routine generating a markup for a bass figure.
implicitBassFigures
(list)- 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 objects:
BassFigure, BassFigureAlignment, BassFigureBracket, BassFigureContinuation and BassFigureLine.
Axis_group_engraver
- Group all objects created in this context in a VerticalAxisGroup spanner.
Properties (read)
currentCommandColumn
(layout object)- Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
This engraver creates the following layout objects:
String_number_engraver
- Swallow string-number-events - the purpose of this engraver is to process tab for normal notation. To provent warnings for unprocessed string-number-event to obscure real error messages, this engraver swallows them all.
Instrument_name_engraver
- Creates 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
instrument
property labels the staff in the first system, and theinstr
property 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 objects:
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 objects:
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)- List of string 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
,bracket
ormixed
(both).pedalUnaCordaStrings
(list)- See
pedalSustainStrings
.pedalUnaCordaStyle
(symbol)- see
pedalSustainStyle
.This engraver creates the following layout objects:
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
Voice
level, so you can\override
them 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 rule consists of
- context:
- In which context is the rule 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.
- octavation:
- Whether the accidental changes all octaves or only the current octave. Valid choices are
- `same-octave:'
- This is the default algorithm. Accidentals are typeset if the note changes the accidental of that note in that octave. Accidentals lasts to the end of the measure and then as many measures as specified in the value. I.e. 1 means to the end of next measure, -1 means to the end of previous measure (that is: no duration at all), etc. #t means forever.
- `any-octave:'
- Accidentals are typeset if the note is different from the previous note on the same pitch in any octave. The value has same meaning as in same-octave.
- laziness
- Over how many bar lines the accidental lasts. If laziness is
-1
then the accidental is forgotten immediately, and if laziness is#t
then the accidental lasts forever.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.
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)) pairs. It is reset at every bar line.
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)) pairs. It is reset at every bar line.
This engraver creates the following layout objects:
Rest_collision_engraver
- Handles collisions of rests.
This engraver creates the following layout objects:
Collision_engraver
- Collect NoteColumns, and as soon as there are two or more, put them in a NoteCollision object.
This engraver creates the following layout objects:
Staff_symbol_engraver
- Create the constellation of five (default) staff lines.
Music types accepted:
This engraver creates the following layout objects:
Ledger_line_engraver
- Creates the spanner to draw ledger lines, and notices objects that need ledger lines
This engraver creates the following layout objects:
Time_signature_engraver
- Create a TimeSignature whenever
timeSignatureFraction
changesProperties (read)
implicitTimeSignatureVisibility
(vector)- break visibility for the default timesignature.
timeSignatureFraction
(pair of numbers)- pair of numbers, signifying the time signature. For example
#'(4 . 4)
is a 4/4 time signature.This engraver creates the following layout objects:
Key_engraver
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-visibility
property 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)- Alist that defines in what order alterations should be printed. The format is (step . alter), where step is from 0 .. 6 and alter from -2 (sharp) and 2 (flat).
keySignature
(list)- The current key signature. This is an alist containing (step . alter) or ((octave . step) . alter). where step is from 0.. 6 and alter a fraction, denoting alteration. For alterations, use symbols, eg.
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 from 0.. 6 and alter a fraction, denoting alteration. For alterations, use symbols, eg.
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 objects:
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.
middleCPosition
(number)- Place of the middle C, measured in half staff-spaces. Usually determined by looking at
clefPosition
andclefGlyph
.This engraver creates the following layout objects:
Clef and OctavateEight.
Ottava_spanner_engraver
- Create a text spanner when the ottavation property changes..
Properties (read)
ottavation
(string)- 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 objects:
Staff_collecting_engraver
- Maintain the stavesFound variable
Properties (read)
Properties (write)
stavesFound
(list of grobs)- list of all staff-symbols found.
stavesFound
(list of grobs)- list of all staff-symbols found.
Dot_column_engraver
- Engraves 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 objects:
Separating_line_group_engraver
- Generates objects for computing spacing parameters.
Properties (read)
Properties (write)
createSpacing
(boolean)- Create
StaffSpacing
objects? Should be set for staves.
hasStaffSpacing
(boolean)- True if the currentCommandColumn contains items that will affect spacing
This engraver creates the following layout objects:
Font_size_engraver
- Puts fontSize into font-size grob property.
Properties (read)
fontSize
(number)- The relative size of all grobs in a context.
Bar_engraver
- Create barlines. This engraver is controlled through the
whichBar
property. If it has no bar line to create, it will forbid a linebreak at this pointProperties (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 objects:
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 objects:
Arpeggio, Beam, Beam, Beam, Beam, BendAfter, BreathingSign, ClusterSpannerBeacon, ClusterSpanner, CombineTextScript, Dots, DoublePercentRepeatCounter, DoublePercentRepeat, DynamicLineSpanner, DynamicTextSpanner, DynamicText, Fingering, Fingering, Glissando, Glissando, Hairpin, InstrumentSwitch, LaissezVibrerTieColumn, LaissezVibrerTie, MultiMeasureRestNumber, MultiMeasureRestText, MultiMeasureRest, NoteColumn, NoteHead, NoteSpacing, PercentRepeatCounter, PercentRepeat, PhrasingSlur, RepeatSlash, RepeatTieColumn, RepeatTie, Rest, ScriptColumn, Script, Script, Slur, StemTremolo, Stem, StringNumber, StrokeFinger, TextScript, TextSpanner, TextSpanner, TieColumn, Tie, TrillPitchAccidental, TrillPitchGroup, TrillPitchHead, TrillSpanner, TupletBracket, 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 engravers:
Skip_event_swallow_translator
- Swallow \skip.
Instrument_switch_engraver
- Create a cue text for taking instrument.
Properties (read)
instrumentCueName
(markup)- Name to print if another instrument is to be taken.
This engraver creates the following layout objects:
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-property
function.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 sigs, etc.) before the note.
This engraver creates the following layout objects:
Tie_engraver
- Generate ties between noteheads 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 objects:
Slur_engraver
- Build slur grobs from slur events
Music types accepted:
Properties (read)
slurMelismaBusy
(boolean)- Signal if a slur is present.
doubleSlurs
(boolean)- When set, two slurs are created for every slurred note, one above and one below the chord.
This engraver creates the following layout objects:
Slur.
Cluster_spanner_engraver
- Engraves a cluster using Spanner notation
Music types accepted:
This engraver creates the following layout objects:
Phrasing_slur_engraver
- Print phrasing slurs. Similar to Slur_engraver
Music types accepted:
This engraver creates the following layout objects:
Spanner_break_forbid_engraver
- Forbid breaks in certain spanners
Note_spacing_engraver
- Generates NoteSpacing, an object linking horizontal lines for use in spacing.
This engraver creates the following layout objects:
Rhythmic_column_engraver
- Generates NoteColumn, an objects that groups stems, noteheads and rests.
This engraver creates the following layout objects:
Script_column_engraver
This engraver creates the following layout objects:
Script_engraver
- Handles note scripted articulations.
Music types accepted:
Properties (read)
scriptDefinitions
(list)- Description of scripts. This is used by Script_engraver for typesetting note-super/subscripts. See scm/script.scm for more information
This engraver creates the following layout objects:
Bend_engraver
- Create fall spanners.
Music types accepted:
This engraver creates the following layout objects:
Fingering_engraver
- Create fingering-scripts
Music types accepted:
stroke-finger-event and fingering-event
This engraver creates the following layout objects:
Dynamic_engraver
- This engraver creates 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 objects:
DynamicLineSpanner, DynamicText, DynamicTextSpanner, Hairpin and TextSpanner.
Text_engraver
- Create text-scripts
Music types accepted:
This engraver creates the following layout objects:
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/A due texts in the part combiner?
soloText
(string)- text for begin of solo when part-combining.
soloIIText
(string)- text for begin of solo for voice “two” when part-combining.
aDueText
(string)- Text to print at a unisono passage.
This engraver creates the following layout objects:
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 objects:
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 objects:
DoublePercentRepeat, DoublePercentRepeatCounter, PercentRepeat and PercentRepeatCounter.
Chord_tremolo_engraver
- Generates beams for tremolo repeats.
Music types accepted:
This engraver creates the following layout objects:
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)- List of symbols, containing `left', `right', `up' and/or `down'. This list determines where fingerings are put relative to the chord being fingered.
strokeFingerOrientations
(list)- See
fingeringOrientations
stringNumberOrientations
(list)- See
fingeringOrientations
This engraver creates the following layout objects:
Fingering, Script, StringNumber and StrokeFinger.
Auto_beam_engraver
- Generate beams based on measure characteristics and observed Stems. Uses beatLength, measureLength and measurePosition to decide when to start and stop a beam. Overriding beaming is done through Stem_engraver properties
stemLeftBeamCount
andstemRightBeamCount
.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 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 objects:
Beam.
Grace_beam_engraver
- Handles Beam events by engraving Beams. If omitted, then notes will be 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 objects:
Beam.
Beam_engraver
- Handles Beam events by engraving Beams. If omitted, then notes will be 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 objects:
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)- 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 objects:
Stem and StemTremolo.
Tweak_engraver
- Read the
tweaks
property from the originating event, and set properties.Rest_engraver
Music types accepted:
Properties (read)
middleCPosition
(number)- Place of the middle C, measured in half staff-spaces. Usually determined by looking at
clefPosition
andclefGlyph
.This engraver creates the following layout objects:
Rest.
Dots_engraver
- Create Dots objects for rhythmic-head-interfaces.
This engraver creates the following layout objects:
Dots.
Note_heads_engraver
- Generate noteheads.
Music types accepted:
Properties (read)
middleCPosition
(number)- Place of the middle C, measured in half staff-spaces. Usually determined by looking at
clefPosition
andclefGlyph
.staffLineLayoutFunction
(procedure)- Layout of staff lines, 'traditional, or 'semitone.
This engraver creates the following layout objects:
Breathing_sign_engraver
Music types accepted:
This engraver creates the following layout objects:
Ligature_bracket_engraver
- Handles Ligature_events by engraving Ligature brackets.
Music types accepted:
This engraver creates the following layout objects:
Glissando_engraver
Music types accepted:
This engraver creates the following layout objects:
Note_head_line_engraver
- Engrave a line between two note heads, for example a glissando. If followVoice is set, staff switches also generate a line.
Properties (read)
followVoice
(boolean)- If set, note heads are tracked across staff switches by a thin line
This engraver creates the following layout objects:
Glissando and VoiceFollower.
Repeat_tie_engraver
- Create Laissez vibrer items.
Music types accepted:
This engraver creates the following layout objects:
RepeatTie and RepeatTieColumn.
Laissez_vibrer_engraver
- Create Laissez vibrer items.
Music types accepted:
This engraver creates the following layout objects:
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) conses. 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 (eg. note heads) stop playing
Properties (read)
Properties (write)
busyGrobs
(list)- a queue of (end-moment . GROB) conses. 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) conses. 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 objects:
Text_spanner_engraver
- Create text spanner from an event.
Music types accepted:
This engraver creates the following layout objects:
Multi_measure_rest_engraver
- Engraves multi-measure rests that are produced with
R
. ReadsmeasurePosition
andinternalBarNumber
to determine what number to print over the MultiMeasureRest. ReadsmeasureLength
to determine if it should use a whole rest or a breve rest to represent 1 measureMusic 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 objects:
MultiMeasureRest, MultiMeasureRestNumber and MultiMeasureRestText.
Arpeggio_engraver
- Generate an Arpeggio symbol
Music types accepted:
This engraver creates the following layout objects:
Output_property_engraver
- Apply a procedure to any grob acknowledged.
Music types accepted:
Pitched_trill_engraver
- Print the bracketed notehead after a notehead with trill.
This engraver creates the following layout objects:
Font_size_engraver
- Puts fontSize into font-size grob property.
Properties (read)
fontSize
(number)- The relative size of all grobs in a context.
(not documented)
This context creates the following layout objects:
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 engravers:
System_start_delimiter_engraver
- Creates a system start delimiter (ie. SystemStart{Bar, Brace, Bracket} spanner
Properties (read)
systemStartDelimiter
(symbol)- Which grob to make for the start of the system/staff? Set to
SystemStartBrace
,SystemStartBracket
orSystemStartBar
.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 objects:
SystemStartBar, SystemStartBrace, SystemStartBracket and SystemStartSquare.
(not documented)
This context creates the following layout objects:
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 engravers:
System_start_delimiter_engraver
- Creates a system start delimiter (ie. SystemStart{Bar, Brace, Bracket} spanner
Properties (read)
systemStartDelimiter
(symbol)- Which grob to make for the start of the system/staff? Set to
SystemStartBrace
,SystemStartBracket
orSystemStartBar
.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 objects:
SystemStartBar, SystemStartBrace, SystemStartBracket and SystemStartSquare.
Output_property_engraver
- Apply a procedure to any grob acknowledged.
Music types accepted:
Span_arpeggio_engraver
Properties (read)
connectArpeggios
(boolean)- If set, connect arpeggios across piano staff.
This engraver creates the following layout objects:
Span_bar_engraver
- This engraver makes cross-staff barlines: It catches all normal bar lines, and draws a single span-bar across them.
This engraver creates the following layout objects:
Corresponds to a voice with lyrics. Handles the printing of a single line of lyrics.
This context creates the following layout objects:
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 engravers:
Hara_kiri_engraver
- Like Axis_group_engraver, but make a hara-kiri spanner, and add interesting items (ie. note heads, lyric syllables and normal rests)
Properties (read)
keepAliveInterfaces
(list)- List of symbols, signifying grob interfaces that are worth keeping an staff with
remove-empty
set around for.This engraver creates the following layout objects:
Font_size_engraver
- Puts fontSize into font-size grob property.
Properties (read)
fontSize
(number)- The relative size of all grobs in a context.
Skip_event_swallow_translator
- Swallow \skip.
Instrument_name_engraver
- Creates 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
instrument
property labels the staff in the first system, and theinstr
property 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 objects:
Stanza_number_engraver
Properties (read)
stanza
(markup)- Stanza `number' to print before the start of a verse. Use in Lyrics context.
This engraver creates the following layout objects:
Hyphen_engraver
- Create lyric hyphens and distance constraints between words.
Music types accepted:
This engraver creates the following layout objects:
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 objects:
Lyric_engraver
Music types accepted:
This engraver creates the following layout objects:
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 objects:
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 (same-octave . -1))
.
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.mensural-1) (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
.
clefGlyph
to clefs.petrucci.g
.
thickness
in StaffSymbol to 0.6
.
transparent
in BarLine to #t
.
shortInstrumentName
to '()
.
instrumentName
to '()
.
ignoreFiguredBassRest
to #t
.
createSpacing
to #t
.
localKeySignature
to '()
.
Context MensuralStaff can contain MensuralVoice and CueVoice.
This context is built from the following engravers:
Custos_engraver
This engraver creates the following layout objects:
Script_row_engraver
- Determine order in horizontal side position elements.
This engraver creates the following layout objects:
Figured_bass_position_engraver
- Position figured bass alignments over notes.
This engraver creates the following layout objects:
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)- Routine generating a markup for a bass figure.
implicitBassFigures
(list)- 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 objects:
BassFigure, BassFigureAlignment, BassFigureBracket, BassFigureContinuation and BassFigureLine.
Axis_group_engraver
- Group all objects created in this context in a VerticalAxisGroup spanner.
Properties (read)
currentCommandColumn
(layout object)- Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
This engraver creates the following layout objects:
String_number_engraver
- Swallow string-number-events - the purpose of this engraver is to process tab for normal notation. To provent warnings for unprocessed string-number-event to obscure real error messages, this engraver swallows them all.
Instrument_name_engraver
- Creates 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
instrument
property labels the staff in the first system, and theinstr
property 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 objects:
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 objects:
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)- List of string 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
,bracket
ormixed
(both).pedalUnaCordaStrings
(list)- See
pedalSustainStrings
.pedalUnaCordaStyle
(symbol)- see
pedalSustainStyle
.This engraver creates the following layout objects:
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
Voice
level, so you can\override
them 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 rule consists of
- context:
- In which context is the rule 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.
- octavation:
- Whether the accidental changes all octaves or only the current octave. Valid choices are
- `same-octave:'
- This is the default algorithm. Accidentals are typeset if the note changes the accidental of that note in that octave. Accidentals lasts to the end of the measure and then as many measures as specified in the value. I.e. 1 means to the end of next measure, -1 means to the end of previous measure (that is: no duration at all), etc. #t means forever.
- `any-octave:'
- Accidentals are typeset if the note is different from the previous note on the same pitch in any octave. The value has same meaning as in same-octave.
- laziness
- Over how many bar lines the accidental lasts. If laziness is
-1
then the accidental is forgotten immediately, and if laziness is#t
then the accidental lasts forever.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.
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)) pairs. It is reset at every bar line.
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)) pairs. It is reset at every bar line.
This engraver creates the following layout objects:
Rest_collision_engraver
- Handles collisions of rests.
This engraver creates the following layout objects:
Collision_engraver
- Collect NoteColumns, and as soon as there are two or more, put them in a NoteCollision object.
This engraver creates the following layout objects:
Staff_symbol_engraver
- Create the constellation of five (default) staff lines.
Music types accepted:
This engraver creates the following layout objects:
Ledger_line_engraver
- Creates the spanner to draw ledger lines, and notices objects that need ledger lines
This engraver creates the following layout objects:
Time_signature_engraver
- Create a TimeSignature whenever
timeSignatureFraction
changesProperties (read)
implicitTimeSignatureVisibility
(vector)- break visibility for the default timesignature.
timeSignatureFraction
(pair of numbers)- pair of numbers, signifying the time signature. For example
#'(4 . 4)
is a 4/4 time signature.This engraver creates the following layout objects:
Key_engraver
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-visibility
property 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)- Alist that defines in what order alterations should be printed. The format is (step . alter), where step is from 0 .. 6 and alter from -2 (sharp) and 2 (flat).
keySignature
(list)- The current key signature. This is an alist containing (step . alter) or ((octave . step) . alter). where step is from 0.. 6 and alter a fraction, denoting alteration. For alterations, use symbols, eg.
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 from 0.. 6 and alter a fraction, denoting alteration. For alterations, use symbols, eg.
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 objects:
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.
middleCPosition
(number)- Place of the middle C, measured in half staff-spaces. Usually determined by looking at
clefPosition
andclefGlyph
.This engraver creates the following layout objects:
Clef and OctavateEight.
Ottava_spanner_engraver
- Create a text spanner when the ottavation property changes..
Properties (read)
ottavation
(string)- 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 objects:
Staff_collecting_engraver
- Maintain the stavesFound variable
Properties (read)
Properties (write)
stavesFound
(list of grobs)- list of all staff-symbols found.
stavesFound
(list of grobs)- list of all staff-symbols found.
Dot_column_engraver
- Engraves 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 objects:
Separating_line_group_engraver
- Generates objects for computing spacing parameters.
Properties (read)
Properties (write)
createSpacing
(boolean)- Create
StaffSpacing
objects? Should be set for staves.
hasStaffSpacing
(boolean)- True if the currentCommandColumn contains items that will affect spacing
This engraver creates the following layout objects:
Font_size_engraver
- Puts fontSize into font-size grob property.
Properties (read)
fontSize
(number)- The relative size of all grobs in a context.
Bar_engraver
- Create barlines. This engraver is controlled through the
whichBar
property. If it has no bar line to create, it will forbid a linebreak at this pointProperties (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 objects:
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 objects:
Arpeggio, Beam, Beam, Beam, Beam, BendAfter, BreathingSign, ClusterSpannerBeacon, ClusterSpanner, CombineTextScript, Dots, DoublePercentRepeatCounter, DoublePercentRepeat, DynamicLineSpanner, DynamicTextSpanner, DynamicText, Fingering, Fingering, Glissando, Glissando, Hairpin, InstrumentSwitch, LaissezVibrerTieColumn, LaissezVibrerTie, MensuralLigature, MultiMeasureRestNumber, MultiMeasureRestText, MultiMeasureRest, NoteColumn, NoteHead, NoteSpacing, PercentRepeatCounter, PercentRepeat, PhrasingSlur, RepeatSlash, RepeatTieColumn, RepeatTie, Rest, ScriptColumn, Script, Script, StemTremolo, Stem, StringNumber, StrokeFinger, TextScript, TextSpanner, 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 engravers:
Mensural_ligature_engraver
- Handles Mensural_ligature_events by glueing special ligature heads together.
Music types accepted:
This engraver creates the following layout objects:
Skip_event_swallow_translator
- Swallow \skip.
Instrument_switch_engraver
- Create a cue text for taking instrument.
Properties (read)
instrumentCueName
(markup)- Name to print if another instrument is to be taken.
This engraver creates the following layout objects:
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-property
function.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 sigs, etc.) before the note.
This engraver creates the following layout objects:
Tie_engraver
- Generate ties between noteheads 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 objects:
Cluster_spanner_engraver
- Engraves a cluster using Spanner notation
Music types accepted:
This engraver creates the following layout objects:
Phrasing_slur_engraver
- Print phrasing slurs. Similar to Slur_engraver
Music types accepted:
This engraver creates the following layout objects:
Spanner_break_forbid_engraver
- Forbid breaks in certain spanners
Note_spacing_engraver
- Generates NoteSpacing, an object linking horizontal lines for use in spacing.
This engraver creates the following layout objects:
Rhythmic_column_engraver
- Generates NoteColumn, an objects that groups stems, noteheads and rests.
This engraver creates the following layout objects:
Script_column_engraver
This engraver creates the following layout objects:
Script_engraver
- Handles note scripted articulations.
Music types accepted:
Properties (read)
scriptDefinitions
(list)- Description of scripts. This is used by Script_engraver for typesetting note-super/subscripts. See scm/script.scm for more information
This engraver creates the following layout objects:
Bend_engraver
- Create fall spanners.
Music types accepted:
This engraver creates the following layout objects:
Fingering_engraver
- Create fingering-scripts
Music types accepted:
stroke-finger-event and fingering-event
This engraver creates the following layout objects:
Dynamic_engraver
- This engraver creates 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 objects:
DynamicLineSpanner, DynamicText, DynamicTextSpanner, Hairpin and TextSpanner.
Text_engraver
- Create text-scripts
Music types accepted:
This engraver creates the following layout objects:
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/A due texts in the part combiner?
soloText
(string)- text for begin of solo when part-combining.
soloIIText
(string)- text for begin of solo for voice “two” when part-combining.
aDueText
(string)- Text to print at a unisono passage.
This engraver creates the following layout objects:
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 objects:
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 objects:
DoublePercentRepeat, DoublePercentRepeatCounter, PercentRepeat and PercentRepeatCounter.
Chord_tremolo_engraver
- Generates beams for tremolo repeats.
Music types accepted:
This engraver creates the following layout objects:
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)- List of symbols, containing `left', `right', `up' and/or `down'. This list determines where fingerings are put relative to the chord being fingered.
strokeFingerOrientations
(list)- See
fingeringOrientations
stringNumberOrientations
(list)- See
fingeringOrientations
This engraver creates the following layout objects:
Fingering, Script, StringNumber and StrokeFinger.
Auto_beam_engraver
- Generate beams based on measure characteristics and observed Stems. Uses beatLength, measureLength and measurePosition to decide when to start and stop a beam. Overriding beaming is done through Stem_engraver properties
stemLeftBeamCount
andstemRightBeamCount
.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 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 objects:
Beam.
Grace_beam_engraver
- Handles Beam events by engraving Beams. If omitted, then notes will be 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 objects:
Beam.
Beam_engraver
- Handles Beam events by engraving Beams. If omitted, then notes will be 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 objects:
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)- 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 objects:
Stem and StemTremolo.
Tweak_engraver
- Read the
tweaks
property from the originating event, and set properties.Rest_engraver
Music types accepted:
Properties (read)
middleCPosition
(number)- Place of the middle C, measured in half staff-spaces. Usually determined by looking at
clefPosition
andclefGlyph
.This engraver creates the following layout objects:
Rest.
Dots_engraver
- Create Dots objects for rhythmic-head-interfaces.
This engraver creates the following layout objects:
Dots.
Note_heads_engraver
- Generate noteheads.
Music types accepted:
Properties (read)
middleCPosition
(number)- Place of the middle C, measured in half staff-spaces. Usually determined by looking at
clefPosition
andclefGlyph
.staffLineLayoutFunction
(procedure)- Layout of staff lines, 'traditional, or 'semitone.
This engraver creates the following layout objects:
Breathing_sign_engraver
Music types accepted:
This engraver creates the following layout objects:
Glissando_engraver
Music types accepted:
This engraver creates the following layout objects:
Note_head_line_engraver
- Engrave a line between two note heads, for example a glissando. If followVoice is set, staff switches also generate a line.
Properties (read)
followVoice
(boolean)- If set, note heads are tracked across staff switches by a thin line
This engraver creates the following layout objects:
Glissando and VoiceFollower.
Repeat_tie_engraver
- Create Laissez vibrer items.
Music types accepted:
This engraver creates the following layout objects:
RepeatTie and RepeatTieColumn.
Laissez_vibrer_engraver
- Create Laissez vibrer items.
Music types accepted:
This engraver creates the following layout objects:
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) conses. 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 (eg. note heads) stop playing
Properties (read)
Properties (write)
busyGrobs
(list)- a queue of (end-moment . GROB) conses. 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) conses. 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 objects:
Text_spanner_engraver
- Create text spanner from an event.
Music types accepted:
This engraver creates the following layout objects:
Multi_measure_rest_engraver
- Engraves multi-measure rests that are produced with
R
. ReadsmeasurePosition
andinternalBarNumber
to determine what number to print over the MultiMeasureRest. ReadsmeasureLength
to determine if it should use a whole rest or a breve rest to represent 1 measureMusic 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 objects:
MultiMeasureRest, MultiMeasureRestNumber and MultiMeasureRestText.
Arpeggio_engraver
- Generate an Arpeggio symbol
Music types accepted:
This engraver creates the following layout objects:
Output_property_engraver
- Apply a procedure to any grob acknowledged.
Music types accepted:
Pitched_trill_engraver
- Print the bracketed notehead after a notehead with trill.
This engraver creates the following layout objects:
Font_size_engraver
- Puts fontSize into font-size grob property.
Properties (read)
fontSize
(number)- The relative size of all grobs in a context.
(not documented)
This context creates the following layout objects:
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 engravers:
Separating_line_group_engraver
- Generates objects for computing spacing parameters.
Properties (read)
Properties (write)
createSpacing
(boolean)- Create
StaffSpacing
objects? Should be set for staves.
hasStaffSpacing
(boolean)- True if the currentCommandColumn contains items that will affect spacing
This engraver creates the following layout objects:
Note_name_engraver
- Print pitches as words.
Music types accepted:
Properties (read)
printOctaveNames
(boolean)- Print octave marks for the NoteNames context.
This engraver creates the following layout objects:
Tie_engraver
- Generate ties between noteheads 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 objects:
Skip_event_swallow_translator
- Swallow \skip.
Rest_swallow_translator
- Swallow rest
Axis_group_engraver
- Group all objects created in this context in a VerticalAxisGroup spanner.
Properties (read)
currentCommandColumn
(layout object)- Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
This engraver creates the following layout objects:
Just like GrandStaff
but with a forced
distance between the staves, so cross staff beaming and slurring
can be used.
This context also accepts commands for the following context(s):
GrandStaff.
This context creates the following layout objects:
Arpeggio, InstrumentName, SpanBar, SystemStartBar, SystemStartBrace, SystemStartBracket and SystemStartSquare.
This context sets the following properties:
shortInstrumentName
to '()
.
instrumentName
to '()
.
minimum-Y-extent
in VerticalAxisGroup to '(-4 . 4)
.
systemStartDelimiter
to 'SystemStartBrace
.
localKeySignature
to '()
.
Context PianoStaff can contain FiguredBass and Staff.
This context is built from the following engravers:
Instrument_name_engraver
- Creates 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
instrument
property labels the staff in the first system, and theinstr
property 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 objects:
System_start_delimiter_engraver
- Creates a system start delimiter (ie. SystemStart{Bar, Brace, Bracket} spanner
Properties (read)
systemStartDelimiter
(symbol)- Which grob to make for the start of the system/staff? Set to
SystemStartBrace
,SystemStartBracket
orSystemStartBar
.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 objects:
SystemStartBar, SystemStartBrace, SystemStartBracket and SystemStartSquare.
Span_arpeggio_engraver
Properties (read)
connectArpeggios
(boolean)- If set, connect arpeggios across piano staff.
This engraver creates the following layout objects:
Span_bar_engraver
- This engraver makes cross-staff barlines: It catches all normal bar lines, and draws a single span-bar across them.
This engraver creates the following layout objects:
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 objects:
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 engravers:
Ledger_line_engraver
- Creates the spanner to draw ledger lines, and notices objects that need ledger lines
This engraver creates the following layout objects:
Axis_group_engraver
- Group all objects created in this context in a VerticalAxisGroup spanner.
Properties (read)
currentCommandColumn
(layout object)- Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
This engraver creates the following layout objects:
Instrument_name_engraver
- Creates 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
instrument
property labels the staff in the first system, and theinstr
property 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 objects:
Time_signature_engraver
- Create a TimeSignature whenever
timeSignatureFraction
changesProperties (read)
implicitTimeSignatureVisibility
(vector)- break visibility for the default timesignature.
timeSignatureFraction
(pair of numbers)- pair of numbers, signifying the time signature. For example
#'(4 . 4)
is a 4/4 time signature.This engraver creates the following layout objects:
Pitch_squash_engraver
- Set the vertical position of noteheads 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 objects:
Bar_engraver
- Create barlines. This engraver is controlled through the
whichBar
property. If it has no bar line to create, it will forbid a linebreak at this pointProperties (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 objects:
Dot_column_engraver
- Engraves 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 objects:
Separating_line_group_engraver
- Generates objects for computing spacing parameters.
Properties (read)
Properties (write)
createSpacing
(boolean)- Create
StaffSpacing
objects? Should be set for staves.
hasStaffSpacing
(boolean)- True if the currentCommandColumn contains items that will affect spacing
This engraver creates the following layout objects:
Font_size_engraver
- Puts fontSize into font-size grob 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 objects:
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
.
hairpinToBarline
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 stanza-number-interface percent-repeat-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 Slur direction -1))
.
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))
.
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 (same-octave . 0))
.
extraNatural
to #t
.
allowBeamBreak
to #f
.
subdivideBeams
to #f
.
rehearsalMark
to 1
.
markFormatter
to format-mark-letters
.
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 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 |
.
firstClef
to #t
.
middleCPosition
to -6
.
clefPosition
to -2
.
clefGlyph
to clefs.G
.
tieWaitForNote
to #f
.
melismaBusyProperties
to '(melismaBusy slurMelismaBusy tieMelismaBusy beamMelismaBusy)
.
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 engravers:
Parenthesis_engraver
- Parenthesize objects whose music cause has the
parenthesize
property.This engraver creates the following layout objects:
Bar_number_engraver
- A bar number is created whenever measurePosition is zero and when there is a bar line (ie. when
whichBar
is set. It is put on top of all staves, and appears only at left side of the staff. The staves are taken fromstavesFound
, which is maintained byStaff_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)- list of all staff-symbols found.
barNumberVisibility
(procedure)- Procedure that takes an int and returns whether the corresponding bar number should be printed
This engraver creates the following layout objects:
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 objects:
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 objects:
Spacing_engraver
- 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 objects:
Break_align_engraver
- Align grobs with corresponding
break-align-symbols
into 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 objects:
Metronome_mark_engraver
- Engrave metro nome 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 byStaff_collecting_engraver
.Properties (read)
stavesFound
(list of grobs)- list of all staff-symbols found.
metronomeMarkFormatter
(procedure)- How to produce a metronome markup. Called with 2 arguments, event and context.
tempoUnitDuration
(duration)- Unit for specifying tempo.
tempoUnitCount
(number)- Count for specifying tempo.
This engraver creates the following layout objects:
Volta_engraver
- Make volta brackets.
Properties (read)
repeatCommands
(list)- This property is read to find any command of the form
(volta .
x)
, where x is a string or#f
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)- list of all staff-symbols found.
This engraver creates the following layout objects:
Mark_engraver
- This engraver will 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 marksend up on the same Y-locationMusic types accepted:
Properties (read)
markFormatter
(procedure)- Procedure taking as arguments context and rehearsal mark. It should return the formatted mark as a markup object.
rehearsalMark
(integer)- The last rehearsal mark printed.
stavesFound
(list of grobs)- list of all staff-symbols found.
This engraver creates the following layout objects:
System_start_delimiter_engraver
- Creates a system start delimiter (ie. SystemStart{Bar, Brace, Bracket} spanner
Properties (read)
systemStartDelimiter
(symbol)- Which grob to make for the start of the system/staff? Set to
SystemStartBrace
,SystemStartBracket
orSystemStartBar
.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 objects:
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
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
\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)- If set to true a bar line is drawn after each note.
defaultBarType
(string)- Sets the default type of bar line. See
whichBar
for 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
\bar
command. Unlike the\cadenza
keyword, measures are still counted. Bar generation will resume according to that count if this property is unset.Timing_translator
- This engraver adds the alias
Timing
to its containing context.Responsible for synchronizing timing information from staves. Normally inScore
. In order to create polyrhythmic music, this engraver should be removed fromScore
and placed inStaff
.This engraver adds the alias
Timing
to its containing context.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 stavesFound variable
Properties (read)
Properties (write)
stavesFound
(list of grobs)- list of all staff-symbols found.
stavesFound
(list of grobs)- list of all staff-symbols found.
Repeat_acknowledge_engraver
- Acknowledge repeated music, and convert the contents of repeatCommands ainto an appropriate setting for whichBar.
Properties (read)
repeatCommands
(list)- This property is read to find any command of the form
(volta .
x)
, where x is a string or#f
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_engraver
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.
Paper_column_engraver
- Takes 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 linebreaks. In practice, this means that you can make a breakpoint by creating a barline (assuming that there are no beams or notes that prevent a breakpoint.)
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 objects:
Handles clefs, bar lines, keys, accidentals. It can contain
Voice
contexts.
This context creates the following layout objects:
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 '()
.
ignoreFiguredBassRest
to #t
.
createSpacing
to #t
.
localKeySignature
to '()
.
Context Staff can contain Voice and CueVoice.
This context is built from the following engravers:
Script_row_engraver
- Determine order in horizontal side position elements.
This engraver creates the following layout objects:
Figured_bass_position_engraver
- Position figured bass alignments over notes.
This engraver creates the following layout objects:
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)- Routine generating a markup for a bass figure.
implicitBassFigures
(list)- 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 objects:
BassFigure, BassFigureAlignment, BassFigureBracket, BassFigureContinuation and BassFigureLine.
Axis_group_engraver
- Group all objects created in this context in a VerticalAxisGroup spanner.
Properties (read)
currentCommandColumn
(layout object)- Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
This engraver creates the following layout objects:
String_number_engraver
- Swallow string-number-events - the purpose of this engraver is to process tab for normal notation. To provent warnings for unprocessed string-number-event to obscure real error messages, this engraver swallows them all.
Instrument_name_engraver
- Creates 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
instrument
property labels the staff in the first system, and theinstr
property 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 objects:
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 objects:
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)- List of string 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
,bracket
ormixed
(both).pedalUnaCordaStrings
(list)- See
pedalSustainStrings
.pedalUnaCordaStyle
(symbol)- see
pedalSustainStyle
.This engraver creates the following layout objects:
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
Voice
level, so you can\override
them 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 rule consists of
- context:
- In which context is the rule 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.
- octavation:
- Whether the accidental changes all octaves or only the current octave. Valid choices are
- `same-octave:'
- This is the default algorithm. Accidentals are typeset if the note changes the accidental of that note in that octave. Accidentals lasts to the end of the measure and then as many measures as specified in the value. I.e. 1 means to the end of next measure, -1 means to the end of previous measure (that is: no duration at all), etc. #t means forever.
- `any-octave:'
- Accidentals are typeset if the note is different from the previous note on the same pitch in any octave. The value has same meaning as in same-octave.
- laziness
- Over how many bar lines the accidental lasts. If laziness is
-1
then the accidental is forgotten immediately, and if laziness is#t
then the accidental lasts forever.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.
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)) pairs. It is reset at every bar line.
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)) pairs. It is reset at every bar line.
This engraver creates the following layout objects:
Rest_collision_engraver
- Handles collisions of rests.
This engraver creates the following layout objects:
Collision_engraver
- Collect NoteColumns, and as soon as there are two or more, put them in a NoteCollision object.
This engraver creates the following layout objects:
Staff_symbol_engraver
- Create the constellation of five (default) staff lines.
Music types accepted:
This engraver creates the following layout objects:
Ledger_line_engraver
- Creates the spanner to draw ledger lines, and notices objects that need ledger lines
This engraver creates the following layout objects:
Time_signature_engraver
- Create a TimeSignature whenever
timeSignatureFraction
changesProperties (read)
implicitTimeSignatureVisibility
(vector)- break visibility for the default timesignature.
timeSignatureFraction
(pair of numbers)- pair of numbers, signifying the time signature. For example
#'(4 . 4)
is a 4/4 time signature.This engraver creates the following layout objects:
Key_engraver
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-visibility
property 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)- Alist that defines in what order alterations should be printed. The format is (step . alter), where step is from 0 .. 6 and alter from -2 (sharp) and 2 (flat).
keySignature
(list)- The current key signature. This is an alist containing (step . alter) or ((octave . step) . alter). where step is from 0.. 6 and alter a fraction, denoting alteration. For alterations, use symbols, eg.
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 from 0.. 6 and alter a fraction, denoting alteration. For alterations, use symbols, eg.
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 objects:
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.
middleCPosition
(number)- Place of the middle C, measured in half staff-spaces. Usually determined by looking at
clefPosition
andclefGlyph
.This engraver creates the following layout objects:
Clef and OctavateEight.
Ottava_spanner_engraver
- Create a text spanner when the ottavation property changes..
Properties (read)
ottavation
(string)- 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 objects:
Staff_collecting_engraver
- Maintain the stavesFound variable
Properties (read)
Properties (write)
stavesFound
(list of grobs)- list of all staff-symbols found.
stavesFound
(list of grobs)- list of all staff-symbols found.
Dot_column_engraver
- Engraves 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 objects:
Separating_line_group_engraver
- Generates objects for computing spacing parameters.
Properties (read)
Properties (write)
createSpacing
(boolean)- Create
StaffSpacing
objects? Should be set for staves.
hasStaffSpacing
(boolean)- True if the currentCommandColumn contains items that will affect spacing
This engraver creates the following layout objects:
Font_size_engraver
- Puts fontSize into font-size grob property.
Properties (read)
fontSize
(number)- The relative size of all grobs in a context.
Bar_engraver
- Create barlines. This engraver is controlled through the
whichBar
property. If it has no bar line to create, it will forbid a linebreak at this pointProperties (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 objects:
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 objects:
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 engravers:
System_start_delimiter_engraver
- Creates a system start delimiter (ie. SystemStart{Bar, Brace, Bracket} spanner
Properties (read)
systemStartDelimiter
(symbol)- Which grob to make for the start of the system/staff? Set to
SystemStartBrace
,SystemStartBracket
orSystemStartBar
.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 objects:
SystemStartBar, SystemStartBrace, SystemStartBracket and SystemStartSquare.
Output_property_engraver
- Apply a procedure to any grob acknowledged.
Music types accepted:
Span_arpeggio_engraver
Properties (read)
connectArpeggios
(boolean)- If set, connect arpeggios across piano staff.
This engraver creates the following layout objects:
Span_bar_engraver
- This engraver makes cross-staff barlines: It catches all normal bar lines, and draws a single span-bar across them.
This engraver creates the following layout objects:
Context for generating tablature. [DOCME]
This context also accepts commands for the following context(s):
Staff.
This context creates the following layout objects:
BarLine, BassFigureAlignmentPositioning, BassFigureAlignment, BassFigureBracket, BassFigureContinuation, BassFigureLine, BassFigure, Clef, DotColumn, InstrumentName, LedgerLineSpanner, NoteCollision, OctavateEight, OttavaBracket, PianoPedalBracket, RestCollision, ScriptRow, SostenutoPedalLineSpanner, SostenutoPedal, StaffSpacing, StaffSymbol, 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 '()
.
ignoreFiguredBassRest
to #t
.
createSpacing
to #t
.
localKeySignature
to '()
.
Context TabStaff can contain TabVoice and CueVoice.
This context is built from the following engravers:
Tab_staff_symbol_engraver
- Create a 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 objects:
Script_row_engraver
- Determine order in horizontal side position elements.
This engraver creates the following layout objects:
Figured_bass_position_engraver
- Position figured bass alignments over notes.
This engraver creates the following layout objects:
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)- Routine generating a markup for a bass figure.
implicitBassFigures
(list)- 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 objects:
BassFigure, BassFigureAlignment, BassFigureBracket, BassFigureContinuation and BassFigureLine.
Axis_group_engraver
- Group all objects created in this context in a VerticalAxisGroup spanner.
Properties (read)
currentCommandColumn
(layout object)- Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
This engraver creates the following layout objects:
Instrument_name_engraver
- Creates 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
instrument
property labels the staff in the first system, and theinstr
property 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 objects:
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 objects:
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)- List of string 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
,bracket
ormixed
(both).pedalUnaCordaStrings
(list)- See
pedalSustainStrings
.pedalUnaCordaStyle
(symbol)- see
pedalSustainStyle
.This engraver creates the following layout objects:
PianoPedalBracket, SostenutoPedal, SustainPedal and UnaCordaPedal.
Rest_collision_engraver
- Handles collisions of rests.
This engraver creates the following layout objects:
Collision_engraver
- Collect NoteColumns, and as soon as there are two or more, put them in a NoteCollision object.
This engraver creates the following layout objects:
Staff_symbol_engraver
- Create the constellation of five (default) staff lines.
Music types accepted:
This engraver creates the following layout objects:
Ledger_line_engraver
- Creates the spanner to draw ledger lines, and notices objects that need ledger lines
This engraver creates the following layout objects:
Time_signature_engraver
- Create a TimeSignature whenever
timeSignatureFraction
changesProperties (read)
implicitTimeSignatureVisibility
(vector)- break visibility for the default timesignature.
timeSignatureFraction
(pair of numbers)- pair of numbers, signifying the time signature. For example
#'(4 . 4)
is a 4/4 time signature.This engraver creates the following layout objects:
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.
middleCPosition
(number)- Place of the middle C, measured in half staff-spaces. Usually determined by looking at
clefPosition
andclefGlyph
.This engraver creates the following layout objects:
Clef and OctavateEight.
Ottava_spanner_engraver
- Create a text spanner when the ottavation property changes..
Properties (read)
ottavation
(string)- 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 objects:
Staff_collecting_engraver
- Maintain the stavesFound variable
Properties (read)
Properties (write)
stavesFound
(list of grobs)- list of all staff-symbols found.
stavesFound
(list of grobs)- list of all staff-symbols found.
Dot_column_engraver
- Engraves 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 objects:
Separating_line_group_engraver
- Generates objects for computing spacing parameters.
Properties (read)
Properties (write)
createSpacing
(boolean)- Create
StaffSpacing
objects? Should be set for staves.
hasStaffSpacing
(boolean)- True if the currentCommandColumn contains items that will affect spacing
This engraver creates the following layout objects:
Font_size_engraver
- Puts fontSize into font-size grob property.
Properties (read)
fontSize
(number)- The relative size of all grobs in a context.
Bar_engraver
- Create barlines. This engraver is controlled through the
whichBar
property. If it has no bar line to create, it will forbid a linebreak at this pointProperties (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 objects:
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 objects:
Arpeggio, Beam, Beam, Beam, Beam, BendAfter, BreathingSign, ClusterSpannerBeacon, ClusterSpanner, CombineTextScript, Dots, DoublePercentRepeatCounter, DoublePercentRepeat, DynamicLineSpanner, DynamicTextSpanner, DynamicText, Glissando, Glissando, Hairpin, HarmonicParenthesesItem, InstrumentSwitch, LaissezVibrerTieColumn, LaissezVibrerTie, MultiMeasureRestNumber, MultiMeasureRestText, MultiMeasureRest, NoteColumn, NoteSpacing, PercentRepeatCounter, PercentRepeat, PhrasingSlur, RepeatSlash, RepeatTieColumn, RepeatTie, Rest, ScriptColumn, Script, Slur, StemTremolo, Stem, TabNoteHead, TextScript, TextSpanner, TextSpanner, TieColumn, Tie, TrillPitchAccidental, TrillPitchGroup, TrillPitchHead, TrillSpanner, TupletBracket, 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 engravers:
Tab_harmonic_engraver
- Parenthesize objects whose music cause has the
parenthesize
property.This engraver creates the following layout objects:
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)- Place of the middle C, measured in half staff-spaces. Usually determined by looking at
clefPosition
andclefGlyph
.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)- Function formatting a tab note head; it takes a string number, a list of string tunings and Pitch object. It returns the text as a string.
highStringOne
(boolean)- Whether the 1st string is the string with highest pitch on the instrument. This used by the automatic string selector for tab notation.
stringOneTopmost
(boolean)- Whether the 1st string is printed on the top line of the tablature.
This engraver creates the following layout objects:
Skip_event_swallow_translator
- Swallow \skip.
Instrument_switch_engraver
- Create a cue text for taking instrument.
Properties (read)
instrumentCueName
(markup)- Name to print if another instrument is to be taken.
This engraver creates the following layout objects:
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-property
function.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 sigs, etc.) before the note.
This engraver creates the following layout objects:
Tie_engraver
- Generate ties between noteheads 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 objects:
Slur_engraver
- Build slur grobs from slur events
Music types accepted:
Properties (read)
slurMelismaBusy
(boolean)- Signal if a slur is present.
doubleSlurs
(boolean)- When set, two slurs are created for every slurred note, one above and one below the chord.
This engraver creates the following layout objects:
Slur.
Cluster_spanner_engraver
- Engraves a cluster using Spanner notation
Music types accepted:
This engraver creates the following layout objects:
Phrasing_slur_engraver
- Print phrasing slurs. Similar to Slur_engraver
Music types accepted:
This engraver creates the following layout objects:
Spanner_break_forbid_engraver
- Forbid breaks in certain spanners
Note_spacing_engraver
- Generates NoteSpacing, an object linking horizontal lines for use in spacing.
This engraver creates the following layout objects:
Rhythmic_column_engraver
- Generates NoteColumn, an objects that groups stems, noteheads and rests.
This engraver creates the following layout objects:
Script_column_engraver
This engraver creates the following layout objects:
Script_engraver
- Handles note scripted articulations.
Music types accepted:
Properties (read)
scriptDefinitions
(list)- Description of scripts. This is used by Script_engraver for typesetting note-super/subscripts. See scm/script.scm for more information
This engraver creates the following layout objects:
Bend_engraver
- Create fall spanners.
Music types accepted:
This engraver creates the following layout objects:
Dynamic_engraver
- This engraver creates 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 objects:
DynamicLineSpanner, DynamicText, DynamicTextSpanner, Hairpin and TextSpanner.
Text_engraver
- Create text-scripts
Music types accepted:
This engraver creates the following layout objects:
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/A due texts in the part combiner?
soloText
(string)- text for begin of solo when part-combining.
soloIIText
(string)- text for begin of solo for voice “two” when part-combining.
aDueText
(string)- Text to print at a unisono passage.
This engraver creates the following layout objects:
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 objects:
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 objects:
DoublePercentRepeat, DoublePercentRepeatCounter, PercentRepeat and PercentRepeatCounter.
Chord_tremolo_engraver
- Generates beams for tremolo repeats.
Music types accepted:
This engraver creates the following layout objects:
Beam.
Auto_beam_engraver
- Generate beams based on measure characteristics and observed Stems. Uses beatLength, measureLength and measurePosition to decide when to start and stop a beam. Overriding beaming is done through Stem_engraver properties
stemLeftBeamCount
andstemRightBeamCount
.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 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 objects:
Beam.
Grace_beam_engraver
- Handles Beam events by engraving Beams. If omitted, then notes will be 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 objects:
Beam.
Beam_engraver
- Handles Beam events by engraving Beams. If omitted, then notes will be 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 objects:
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)- 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 objects:
Stem and StemTremolo.
Tweak_engraver
- Read the
tweaks
property from the originating event, and set properties.Rest_engraver
Music types accepted:
Properties (read)
middleCPosition
(number)- Place of the middle C, measured in half staff-spaces. Usually determined by looking at
clefPosition
andclefGlyph
.This engraver creates the following layout objects:
Rest.
Dots_engraver
- Create Dots objects for rhythmic-head-interfaces.
This engraver creates the following layout objects:
Dots.
Breathing_sign_engraver
Music types accepted:
This engraver creates the following layout objects:
Ligature_bracket_engraver
- Handles Ligature_events by engraving Ligature brackets.
Music types accepted:
This engraver creates the following layout objects:
Glissando_engraver
Music types accepted:
This engraver creates the following layout objects:
Note_head_line_engraver
- Engrave a line between two note heads, for example a glissando. If followVoice is set, staff switches also generate a line.
Properties (read)
followVoice
(boolean)- If set, note heads are tracked across staff switches by a thin line
This engraver creates the following layout objects:
Glissando and VoiceFollower.
Repeat_tie_engraver
- Create Laissez vibrer items.
Music types accepted:
This engraver creates the following layout objects:
RepeatTie and RepeatTieColumn.
Laissez_vibrer_engraver
- Create Laissez vibrer items.
Music types accepted:
This engraver creates the following layout objects:
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) conses. 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 (eg. note heads) stop playing
Properties (read)
Properties (write)
busyGrobs
(list)- a queue of (end-moment . GROB) conses. 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) conses. 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 objects:
Text_spanner_engraver
- Create text spanner from an event.
Music types accepted:
This engraver creates the following layout objects:
Multi_measure_rest_engraver
- Engraves multi-measure rests that are produced with
R
. ReadsmeasurePosition
andinternalBarNumber
to determine what number to print over the MultiMeasureRest. ReadsmeasureLength
to determine if it should use a whole rest or a breve rest to represent 1 measureMusic 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 objects:
MultiMeasureRest, MultiMeasureRestNumber and MultiMeasureRestText.
Arpeggio_engraver
- Generate an Arpeggio symbol
Music types accepted:
This engraver creates the following layout objects:
Output_property_engraver
- Apply a procedure to any grob acknowledged.
Music types accepted:
Pitched_trill_engraver
- Print the bracketed notehead after a notehead with trill.
This engraver creates the following layout objects:
Font_size_engraver
- Puts fontSize into font-size grob 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 objects:
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.vaticana-1) (0 . accidentals.vaticana0) (-1/2 . accidentals.mensural1))
.
style
in KeySignature to 'vaticana
.
clefOctavation
to 0
.
clefPosition
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 '()
.
ignoreFiguredBassRest
to #t
.
createSpacing
to #t
.
localKeySignature
to '()
.
Context VaticanaStaff can contain VaticanaVoice and CueVoice.
This context is built from the following engravers:
Custos_engraver
This engraver creates the following layout objects:
Script_row_engraver
- Determine order in horizontal side position elements.
This engraver creates the following layout objects:
Figured_bass_position_engraver
- Position figured bass alignments over notes.
This engraver creates the following layout objects:
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)- Routine generating a markup for a bass figure.
implicitBassFigures
(list)- 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 objects:
BassFigure, BassFigureAlignment, BassFigureBracket, BassFigureContinuation and BassFigureLine.
Axis_group_engraver
- Group all objects created in this context in a VerticalAxisGroup spanner.
Properties (read)
currentCommandColumn
(layout object)- Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
This engraver creates the following layout objects:
String_number_engraver
- Swallow string-number-events - the purpose of this engraver is to process tab for normal notation. To provent warnings for unprocessed string-number-event to obscure real error messages, this engraver swallows them all.
Instrument_name_engraver
- Creates 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
instrument
property labels the staff in the first system, and theinstr
property 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 objects:
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 objects:
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)- List of string 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
,bracket
ormixed
(both).pedalUnaCordaStrings
(list)- See
pedalSustainStrings
.pedalUnaCordaStyle
(symbol)- see
pedalSustainStyle
.This engraver creates the following layout objects:
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
Voice
level, so you can\override
them 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 rule consists of
- context:
- In which context is the rule 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.
- octavation:
- Whether the accidental changes all octaves or only the current octave. Valid choices are
- `same-octave:'
- This is the default algorithm. Accidentals are typeset if the note changes the accidental of that note in that octave. Accidentals lasts to the end of the measure and then as many measures as specified in the value. I.e. 1 means to the end of next measure, -1 means to the end of previous measure (that is: no duration at all), etc. #t means forever.
- `any-octave:'
- Accidentals are typeset if the note is different from the previous note on the same pitch in any octave. The value has same meaning as in same-octave.
- laziness
- Over how many bar lines the accidental lasts. If laziness is
-1
then the accidental is forgotten immediately, and if laziness is#t
then the accidental lasts forever.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.
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)) pairs. It is reset at every bar line.
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)) pairs. It is reset at every bar line.
This engraver creates the following layout objects:
Rest_collision_engraver
- Handles collisions of rests.
This engraver creates the following layout objects:
Collision_engraver
- Collect NoteColumns, and as soon as there are two or more, put them in a NoteCollision object.
This engraver creates the following layout objects:
Staff_symbol_engraver
- Create the constellation of five (default) staff lines.
Music types accepted:
This engraver creates the following layout objects:
Ledger_line_engraver
- Creates the spanner to draw ledger lines, and notices objects that need ledger lines
This engraver creates the following layout objects:
Key_engraver
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-visibility
property 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)- Alist that defines in what order alterations should be printed. The format is (step . alter), where step is from 0 .. 6 and alter from -2 (sharp) and 2 (flat).
keySignature
(list)- The current key signature. This is an alist containing (step . alter) or ((octave . step) . alter). where step is from 0.. 6 and alter a fraction, denoting alteration. For alterations, use symbols, eg.
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 from 0.. 6 and alter a fraction, denoting alteration. For alterations, use symbols, eg.
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 objects:
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.
middleCPosition
(number)- Place of the middle C, measured in half staff-spaces. Usually determined by looking at
clefPosition
andclefGlyph
.This engraver creates the following layout objects:
Clef and OctavateEight.
Ottava_spanner_engraver
- Create a text spanner when the ottavation property changes..
Properties (read)
ottavation
(string)- 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 objects:
Staff_collecting_engraver
- Maintain the stavesFound variable
Properties (read)
Properties (write)
stavesFound
(list of grobs)- list of all staff-symbols found.
stavesFound
(list of grobs)- list of all staff-symbols found.
Dot_column_engraver
- Engraves 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 objects:
Separating_line_group_engraver
- Generates objects for computing spacing parameters.
Properties (read)
Properties (write)
createSpacing
(boolean)- Create
StaffSpacing
objects? Should be set for staves.
hasStaffSpacing
(boolean)- True if the currentCommandColumn contains items that will affect spacing
This engraver creates the following layout objects:
Font_size_engraver
- Puts fontSize into font-size grob property.
Properties (read)
fontSize
(number)- The relative size of all grobs in a context.
Bar_engraver
- Create barlines. This engraver is controlled through the
whichBar
property. If it has no bar line to create, it will forbid a linebreak at this pointProperties (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 objects:
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 objects:
Arpeggio, Beam, Beam, Beam, Beam, BendAfter, BreathingSign, ClusterSpannerBeacon, ClusterSpanner, CombineTextScript, DotColumn, Dots, DoublePercentRepeatCounter, DoublePercentRepeat, DynamicLineSpanner, DynamicTextSpanner, DynamicText, Fingering, Fingering, Glissando, Glissando, Hairpin, InstrumentSwitch, LaissezVibrerTieColumn, LaissezVibrerTie, MultiMeasureRestNumber, MultiMeasureRestText, MultiMeasureRest, NoteColumn, NoteHead, NoteSpacing, PercentRepeatCounter, PercentRepeat, PhrasingSlur, RepeatSlash, RepeatTieColumn, RepeatTie, Rest, ScriptColumn, Script, Script, StringNumber, StrokeFinger, TextScript, TextSpanner, 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
.
dash-fraction
in TextSpanner to '()
.
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 engravers:
Vaticana_ligature_engraver
- Handles ligatures by glueing special ligature heads together.
Music types accepted:
ligature-event and pes-or-flexa-event
This engraver creates the following layout objects:
Skip_event_swallow_translator
- Swallow \skip.
Instrument_switch_engraver
- Create a cue text for taking instrument.
Properties (read)
instrumentCueName
(markup)- Name to print if another instrument is to be taken.
This engraver creates the following layout objects:
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-property
function.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 sigs, etc.) before the note.
This engraver creates the following layout objects:
Tie_engraver
- Generate ties between noteheads 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 objects:
Cluster_spanner_engraver
- Engraves a cluster using Spanner notation
Music types accepted:
This engraver creates the following layout objects:
Phrasing_slur_engraver
- Print phrasing slurs. Similar to Slur_engraver
Music types accepted:
This engraver creates the following layout objects:
Spanner_break_forbid_engraver
- Forbid breaks in certain spanners
Note_spacing_engraver
- Generates NoteSpacing, an object linking horizontal lines for use in spacing.
This engraver creates the following layout objects:
Rhythmic_column_engraver
- Generates NoteColumn, an objects that groups stems, noteheads and rests.
This engraver creates the following layout objects:
Script_column_engraver
This engraver creates the following layout objects:
Script_engraver
- Handles note scripted articulations.
Music types accepted:
Properties (read)
scriptDefinitions
(list)- Description of scripts. This is used by Script_engraver for typesetting note-super/subscripts. See scm/script.scm for more information
This engraver creates the following layout objects:
Bend_engraver
- Create fall spanners.
Music types accepted:
This engraver creates the following layout objects:
Fingering_engraver
- Create fingering-scripts
Music types accepted:
stroke-finger-event and fingering-event
This engraver creates the following layout objects:
Dynamic_engraver
- This engraver creates 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 objects:
DynamicLineSpanner, DynamicText, DynamicTextSpanner, Hairpin and TextSpanner.
Text_engraver
- Create text-scripts
Music types accepted:
This engraver creates the following layout objects:
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/A due texts in the part combiner?
soloText
(string)- text for begin of solo when part-combining.
soloIIText
(string)- text for begin of solo for voice “two” when part-combining.
aDueText
(string)- Text to print at a unisono passage.
This engraver creates the following layout objects:
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 objects:
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 objects:
DoublePercentRepeat, DoublePercentRepeatCounter, PercentRepeat and PercentRepeatCounter.
Chord_tremolo_engraver
- Generates beams for tremolo repeats.
Music types accepted:
This engraver creates the following layout objects:
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)- List of symbols, containing `left', `right', `up' and/or `down'. This list determines where fingerings are put relative to the chord being fingered.
strokeFingerOrientations
(list)- See
fingeringOrientations
stringNumberOrientations
(list)- See
fingeringOrientations
This engraver creates the following layout objects:
Fingering, Script, StringNumber and StrokeFinger.
Auto_beam_engraver
- Generate beams based on measure characteristics and observed Stems. Uses beatLength, measureLength and measurePosition to decide when to start and stop a beam. Overriding beaming is done through Stem_engraver properties
stemLeftBeamCount
andstemRightBeamCount
.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 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 objects:
Beam.
Grace_beam_engraver
- Handles Beam events by engraving Beams. If omitted, then notes will be 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 objects:
Beam.
Beam_engraver
- Handles Beam events by engraving Beams. If omitted, then notes will be 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 objects:
Beam.
Tweak_engraver
- Read the
tweaks
property from the originating event, and set properties.Rest_engraver
Music types accepted:
Properties (read)
middleCPosition
(number)- Place of the middle C, measured in half staff-spaces. Usually determined by looking at
clefPosition
andclefGlyph
.This engraver creates the following layout objects:
Rest.
Dots_engraver
- Create Dots objects for rhythmic-head-interfaces.
This engraver creates the following layout objects:
Dots.
Note_heads_engraver
- Generate noteheads.
Music types accepted:
Properties (read)
middleCPosition
(number)- Place of the middle C, measured in half staff-spaces. Usually determined by looking at
clefPosition
andclefGlyph
.staffLineLayoutFunction
(procedure)- Layout of staff lines, 'traditional, or 'semitone.
This engraver creates the following layout objects:
Breathing_sign_engraver
Music types accepted:
This engraver creates the following layout objects:
Glissando_engraver
Music types accepted:
This engraver creates the following layout objects:
Note_head_line_engraver
- Engrave a line between two note heads, for example a glissando. If followVoice is set, staff switches also generate a line.
Properties (read)
followVoice
(boolean)- If set, note heads are tracked across staff switches by a thin line
This engraver creates the following layout objects:
Glissando and VoiceFollower.
Repeat_tie_engraver
- Create Laissez vibrer items.
Music types accepted:
This engraver creates the following layout objects:
RepeatTie and RepeatTieColumn.
Laissez_vibrer_engraver
- Create Laissez vibrer items.
Music types accepted:
This engraver creates the following layout objects:
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) conses. 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 (eg. note heads) stop playing
Properties (read)
Properties (write)
busyGrobs
(list)- a queue of (end-moment . GROB) conses. 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) conses. 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 objects:
Text_spanner_engraver
- Create text spanner from an event.
Music types accepted:
This engraver creates the following layout objects:
Multi_measure_rest_engraver
- Engraves multi-measure rests that are produced with
R
. ReadsmeasurePosition
andinternalBarNumber
to determine what number to print over the MultiMeasureRest. ReadsmeasureLength
to determine if it should use a whole rest or a breve rest to represent 1 measureMusic 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 objects:
MultiMeasureRest, MultiMeasureRestNumber and MultiMeasureRestText.
Arpeggio_engraver
- Generate an Arpeggio symbol
Music types accepted:
This engraver creates the following layout objects:
Output_property_engraver
- Apply a procedure to any grob acknowledged.
Music types accepted:
Pitched_trill_engraver
- Print the bracketed notehead after a notehead with trill.
This engraver creates the following layout objects:
Font_size_engraver
- Puts fontSize into font-size grob 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 objects:
Arpeggio, Beam, Beam, Beam, Beam, BendAfter, BreathingSign, ClusterSpannerBeacon, ClusterSpanner, CombineTextScript, Dots, DoublePercentRepeatCounter, DoublePercentRepeat, DynamicLineSpanner, DynamicTextSpanner, DynamicText, Fingering, Fingering, Glissando, Glissando, Hairpin, InstrumentSwitch, LaissezVibrerTieColumn, LaissezVibrerTie, MultiMeasureRestNumber, MultiMeasureRestText, MultiMeasureRest, NoteColumn, NoteHead, NoteSpacing, PercentRepeatCounter, PercentRepeat, PhrasingSlur, RepeatSlash, RepeatTieColumn, RepeatTie, Rest, ScriptColumn, Script, Script, Slur, StemTremolo, Stem, StringNumber, StrokeFinger, TextScript, TextSpanner, TextSpanner, TieColumn, Tie, TrillPitchAccidental, TrillPitchGroup, TrillPitchHead, TrillSpanner, TupletBracket, 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 engravers:
Skip_event_swallow_translator
- Swallow \skip.
Instrument_switch_engraver
- Create a cue text for taking instrument.
Properties (read)
instrumentCueName
(markup)- Name to print if another instrument is to be taken.
This engraver creates the following layout objects:
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-property
function.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 sigs, etc.) before the note.
This engraver creates the following layout objects:
Tie_engraver
- Generate ties between noteheads 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 objects:
Slur_engraver
- Build slur grobs from slur events
Music types accepted:
Properties (read)
slurMelismaBusy
(boolean)- Signal if a slur is present.
doubleSlurs
(boolean)- When set, two slurs are created for every slurred note, one above and one below the chord.
This engraver creates the following layout objects:
Slur.
Cluster_spanner_engraver
- Engraves a cluster using Spanner notation
Music types accepted:
This engraver creates the following layout objects:
Phrasing_slur_engraver
- Print phrasing slurs. Similar to Slur_engraver
Music types accepted:
This engraver creates the following layout objects:
Spanner_break_forbid_engraver
- Forbid breaks in certain spanners
Note_spacing_engraver
- Generates NoteSpacing, an object linking horizontal lines for use in spacing.
This engraver creates the following layout objects:
Rhythmic_column_engraver
- Generates NoteColumn, an objects that groups stems, noteheads and rests.
This engraver creates the following layout objects:
Script_column_engraver
This engraver creates the following layout objects:
Script_engraver
- Handles note scripted articulations.
Music types accepted:
Properties (read)
scriptDefinitions
(list)- Description of scripts. This is used by Script_engraver for typesetting note-super/subscripts. See scm/script.scm for more information
This engraver creates the following layout objects:
Bend_engraver
- Create fall spanners.
Music types accepted:
This engraver creates the following layout objects:
Fingering_engraver
- Create fingering-scripts
Music types accepted:
stroke-finger-event and fingering-event
This engraver creates the following layout objects:
Dynamic_engraver
- This engraver creates 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 objects:
DynamicLineSpanner, DynamicText, DynamicTextSpanner, Hairpin and TextSpanner.
Text_engraver
- Create text-scripts
Music types accepted:
This engraver creates the following layout objects:
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/A due texts in the part combiner?
soloText
(string)- text for begin of solo when part-combining.
soloIIText
(string)- text for begin of solo for voice “two” when part-combining.
aDueText
(string)- Text to print at a unisono passage.
This engraver creates the following layout objects:
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 objects:
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 objects:
DoublePercentRepeat, DoublePercentRepeatCounter, PercentRepeat and PercentRepeatCounter.
Chord_tremolo_engraver
- Generates beams for tremolo repeats.
Music types accepted:
This engraver creates the following layout objects:
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)- List of symbols, containing `left', `right', `up' and/or `down'. This list determines where fingerings are put relative to the chord being fingered.
strokeFingerOrientations
(list)- See
fingeringOrientations
stringNumberOrientations
(list)- See
fingeringOrientations
This engraver creates the following layout objects:
Fingering, Script, StringNumber and StrokeFinger.
Auto_beam_engraver
- Generate beams based on measure characteristics and observed Stems. Uses beatLength, measureLength and measurePosition to decide when to start and stop a beam. Overriding beaming is done through Stem_engraver properties
stemLeftBeamCount
andstemRightBeamCount
.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 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 objects:
Beam.
Grace_beam_engraver
- Handles Beam events by engraving Beams. If omitted, then notes will be 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 objects:
Beam.
Beam_engraver
- Handles Beam events by engraving Beams. If omitted, then notes will be 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 objects:
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)- 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 objects:
Stem and StemTremolo.
Tweak_engraver
- Read the
tweaks
property from the originating event, and set properties.Rest_engraver
Music types accepted:
Properties (read)
middleCPosition
(number)- Place of the middle C, measured in half staff-spaces. Usually determined by looking at
clefPosition
andclefGlyph
.This engraver creates the following layout objects:
Rest.
Dots_engraver
- Create Dots objects for rhythmic-head-interfaces.
This engraver creates the following layout objects:
Dots.
Note_heads_engraver
- Generate noteheads.
Music types accepted:
Properties (read)
middleCPosition
(number)- Place of the middle C, measured in half staff-spaces. Usually determined by looking at
clefPosition
andclefGlyph
.staffLineLayoutFunction
(procedure)- Layout of staff lines, 'traditional, or 'semitone.
This engraver creates the following layout objects:
Breathing_sign_engraver
Music types accepted:
This engraver creates the following layout objects:
Ligature_bracket_engraver
- Handles Ligature_events by engraving Ligature brackets.
Music types accepted:
This engraver creates the following layout objects:
Glissando_engraver
Music types accepted:
This engraver creates the following layout objects:
Note_head_line_engraver
- Engrave a line between two note heads, for example a glissando. If followVoice is set, staff switches also generate a line.
Properties (read)
followVoice
(boolean)- If set, note heads are tracked across staff switches by a thin line
This engraver creates the following layout objects:
Glissando and VoiceFollower.
Repeat_tie_engraver
- Create Laissez vibrer items.
Music types accepted:
This engraver creates the following layout objects:
RepeatTie and RepeatTieColumn.
Laissez_vibrer_engraver
- Create Laissez vibrer items.
Music types accepted:
This engraver creates the following layout objects:
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) conses. 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 (eg. note heads) stop playing
Properties (read)
Properties (write)
busyGrobs
(list)- a queue of (end-moment . GROB) conses. 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) conses. 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 objects:
Text_spanner_engraver
- Create text spanner from an event.
Music types accepted:
This engraver creates the following layout objects:
Multi_measure_rest_engraver
- Engraves multi-measure rests that are produced with
R
. ReadsmeasurePosition
andinternalBarNumber
to determine what number to print over the MultiMeasureRest. ReadsmeasureLength
to determine if it should use a whole rest or a breve rest to represent 1 measureMusic 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 objects:
MultiMeasureRest, MultiMeasureRestNumber and MultiMeasureRestText.
Arpeggio_engraver
- Generate an Arpeggio symbol
Music types accepted:
This engraver creates the following layout objects:
Output_property_engraver
- Apply a procedure to any grob acknowledged.
Music types accepted:
Pitched_trill_engraver
- Print the bracketed notehead after a notehead with trill.
This engraver creates the following layout objects:
Font_size_engraver
- Puts fontSize into font-size grob 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 rule consists of
- context:
- In which context is the rule 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.
- octavation:
- Whether the accidental changes all octaves or only the current octave. Valid choices are
- `same-octave:'
- This is the default algorithm. Accidentals are typeset if the note changes the accidental of that note in that octave. Accidentals lasts to the end of the measure and then as many measures as specified in the value. I.e. 1 means to the end of next measure, -1 means to the end of previous measure (that is: no duration at all), etc. #t means forever.
- `any-octave:'
- Accidentals are typeset if the note is different from the previous note on the same pitch in any octave. The value has same meaning as in same-octave.
- laziness
- Over how many bar lines the accidental lasts. If laziness is
-1
then the accidental is forgotten immediately, and if laziness is#t
then the accidental lasts forever.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.
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)) pairs. It is reset at every bar line.
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)) pairs. It is reset at every bar line.
This engraver creates the following layout objects:
Accidental, AccidentalCautionary and AccidentalSuggestion.
Accidental_engraver
is part of contexts: GregorianTranscriptionStaff, MensuralStaff, Staff and VaticanaStaff
This engraver creates the following layout objects:
Ambitus, AmbitusAccidental, AmbitusLine and AmbitusNoteHead.
Ambitus_engraver
is part of contexts: none
Generate an Arpeggio symbol
Music types accepted:
This engraver creates the following layout objects:
Arpeggio_engraver
is part of contexts: 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 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 objects:
Beam.
Auto_beam_engraver
is part of contexts: 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 objects:
Axis_group_engraver
is part of contexts: DrumStaff, FretBoards, GregorianTranscriptionStaff, MensuralStaff, NoteNames, RhythmicStaff, Staff, TabStaff and VaticanaStaff
Create balloon texts
Music types accepted:
This engraver creates the following layout objects:
Balloon_engraver
is part of contexts: none
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 objects:
Bar_engraver
is part of contexts: DrumStaff, GregorianTranscriptionStaff, MensuralStaff, RhythmicStaff, Staff, TabStaff and VaticanaStaff
A bar number is created whenever measurePosition is zero and when there is a bar line (ie. when whichBar
is set. It is
put on top of all staves, and appears only at 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)- list of all staff-symbols found.
barNumberVisibility
(procedure)- Procedure that takes an int and returns whether the corresponding bar number should be printed
This engraver creates the following layout objects:
Bar_number_engraver
is part of contexts: Score
Handles Beam events by engraving Beams. If omitted, then notes will be 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 objects:
Beam.
Beam_engraver
is part of contexts: CueVoice, DrumVoice, GregorianTranscriptionVoice, MensuralVoice, TabVoice, VaticanaVoice and Voice
Music types accepted:
Beam_performer
is part of contexts: none
Create fall spanners.
Music types accepted:
This engraver creates the following layout objects:
Bend_engraver
is part of contexts: 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 objects:
BreakAlignGroup, BreakAlignment and LeftEdge.
Break_align_engraver
is part of contexts: Score
Music types accepted:
This engraver creates the following layout objects:
Breathing_sign_engraver
is part of contexts: 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)- Function that converts from a pitch object to a text markup. Used for single pitches.
chordRootNamer
(procedure)- 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 objects:
Chord_name_engraver
is part of contexts: ChordNames
Generates beams for tremolo repeats.
Music types accepted:
This engraver creates the following layout objects:
Beam.
Chord_tremolo_engraver
is part of contexts: 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.
middleCPosition
(number)- Place of the middle C, measured in half staff-spaces. Usually determined by looking at
clefPosition
andclefGlyph
.
This engraver creates the following layout objects:
Clef and OctavateEight.
Clef_engraver
is part of contexts: DrumStaff, GregorianTranscriptionStaff, MensuralStaff, Staff, TabStaff and VaticanaStaff
Engraves a cluster using Spanner notation
Music types accepted:
This engraver creates the following layout objects:
ClusterSpanner and ClusterSpannerBeacon.
Cluster_spanner_engraver
is part of contexts: 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 objects:
Collision_engraver
is part of contexts: 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)
middleCPosition
(number)- Place of the middle C, measured in half staff-spaces. Usually determined by looking at
clefPosition
andclefGlyph
.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 objects:
Completion_heads_engraver
is part of contexts: none
Control_track_performer
is part of contexts: none
This engraver creates the following layout objects:
Custos_engraver
is part of contexts: 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
\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)- If set to true a bar line is drawn after each note.
defaultBarType
(string)- Sets the default type of bar line. See
whichBar
for 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
\bar
command. Unlike the\cadenza
keyword, measures are still counted. Bar generation will resume according to that count if this property is unset.
Default_bar_line_engraver
is part of contexts: Score
Engraves 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 objects:
Dot_column_engraver
is part of contexts: DrumStaff, GregorianTranscriptionStaff, MensuralStaff, RhythmicStaff, Staff, TabStaff and VaticanaStaff
Create Dots objects for rhythmic-head-interfaces.
This engraver creates the following layout objects:
Dots.
Dots_engraver
is part of contexts: CueVoice, DrumVoice, GregorianTranscriptionVoice, MensuralVoice, TabVoice, VaticanaVoice and Voice
Play drum notes.
Music types accepted:
Drum_note_performer
is part of contexts: none
Generate noteheads.
Music types accepted:
Properties (read)
drumStyleTable
(hash table)- A hash table containing mapping 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 key, and a list (notehead-style script vertical-position) as values.
This engraver creates the following layout objects:
Drum_notes_engraver
is part of contexts: DrumVoice
This engraver creates 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 objects:
DynamicLineSpanner, DynamicText, DynamicTextSpanner, Hairpin and TextSpanner.
Dynamic_engraver
is part of contexts: CueVoice, DrumVoice, GregorianTranscriptionVoice, MensuralVoice, TabVoice, VaticanaVoice and Voice
Music types accepted:
absolute-dynamic-event, crescendo-event and decrescendo-event
Properties (read)
dynamicAbsoluteVolumeFunction
(procedure)- [DOCUMENT-ME]
instrumentEqualizer
(procedure)- 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)- Sets the minimum loudness for MIDI. Ranges from 0 to 1.
midiInstrument
(string)- Name of the MIDI instrument to use
Dynamic_performer
is part of contexts: none
Base class for engravers. Does nothing, so it is not used.
Engraver
is part of contexts: none
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 objects:
Extender_engraver
is part of contexts: 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)- Routine generating a markup for a bass figure.
implicitBassFigures
(list)- 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 objects:
BassFigure, BassFigureAlignment, BassFigureBracket, BassFigureContinuation and BassFigureLine.
Figured_bass_engraver
is part of contexts: DrumStaff, FiguredBass, GregorianTranscriptionStaff, MensuralStaff, Staff, TabStaff and VaticanaStaff
Position figured bass alignments over notes.
This engraver creates the following layout objects:
BassFigureAlignmentPositioning.
Figured_bass_position_engraver
is part of contexts: 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 objects:
Fingering_engraver
is part of contexts: CueVoice, GregorianTranscriptionVoice, MensuralVoice, VaticanaVoice and Voice
Puts 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 contexts: 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) conses. 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 contexts: 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
tablatureFormat
(procedure)- Function formatting a tab note head; it takes a string number, a list of string tunings and Pitch object. It returns the text as a string.
highStringOne
(boolean)- Whether the 1st string is the string with highest pitch on the instrument. This used by the automatic string selector for tab notation.
This engraver creates the following layout objects:
Fretboard_engraver
is part of contexts: FretBoards
Music types accepted:
This engraver creates the following layout objects:
Glissando_engraver
is part of contexts: CueVoice, GregorianTranscriptionVoice, MensuralVoice, TabVoice, VaticanaVoice and Voice
Handles Beam events by engraving Beams. If omitted, then notes will be 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 objects:
Beam.
Grace_beam_engraver
is part of contexts: 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-property
function.
Grace_engraver
is part of contexts: 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 objects:
Grace_spacing_engraver
is part of contexts: Score
This engraver makes cross-staff linelines: It catches all normal line lines, and draws a single span-line across them.
This engraver creates the following layout objects:
Grid_line_span_engraver
is part of contexts: none
generate grid points.
Properties (read)
gridInterval
(moment)- Interval for which to generate GridPoints
This engraver creates the following layout objects:
Grid_point_engraver
is part of contexts: none
Administrate when certain grobs (eg. note heads) stop playing
Properties (read)
Properties (write)
busyGrobs
(list)- a queue of (end-moment . GROB) conses. 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) conses. 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 contexts: CueVoice, DrumVoice, GregorianTranscriptionVoice, MensuralVoice, TabVoice, VaticanaVoice and Voice
Like Axis_group_engraver, but make a hara-kiri spanner, and add interesting items (ie. note heads, lyric syllables and normal rests)
Properties (read)
keepAliveInterfaces
(list)- List of symbols, signifying grob interfaces that are worth keeping an staff with
remove-empty
set around for.
This engraver creates the following layout objects:
Hara_kiri_engraver
is part of contexts: ChordNames, FiguredBass and Lyrics
Create horizontal brackets over notes for musical analysis purposes.
Music types accepted:
This engraver creates the following layout objects:
Horizontal_bracket_engraver
is part of contexts: none
Create lyric hyphens and distance constraints between words.
Music types accepted:
This engraver creates the following layout objects:
LyricHyphen and LyricSpace.
Hyphen_engraver
is part of contexts: Lyrics
Creates 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
instrument
property labels the staff in the first system, and theinstr
property 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 objects:
Instrument_name_engraver
is part of contexts: DrumStaff, FretBoards, GregorianTranscriptionStaff, Lyrics, MensuralStaff, PianoStaff, RhythmicStaff, Staff, TabStaff and VaticanaStaff
Create a cue text for taking instrument.
Properties (read)
instrumentCueName
(markup)- Name to print if another instrument is to be taken.
This engraver creates the following layout objects:
Instrument_switch_engraver
is part of contexts: CueVoice, DrumVoice, GregorianTranscriptionVoice, MensuralVoice, TabVoice, VaticanaVoice and Voice
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-visibility
property 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)- Alist that defines in what order alterations should be printed. The format is (step . alter), where step is from 0 .. 6 and alter from -2 (sharp) and 2 (flat).
keySignature
(list)- The current key signature. This is an alist containing (step . alter) or ((octave . step) . alter). where step is from 0.. 6 and alter a fraction, denoting alteration. For alterations, use symbols, eg.
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 from 0.. 6 and alter a fraction, denoting alteration. For alterations, use symbols, eg.
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 objects:
Key_engraver
is part of contexts: GregorianTranscriptionStaff, MensuralStaff, Staff and VaticanaStaff
Music types accepted:
Key_performer
is part of contexts: none
Create Laissez vibrer items.
Music types accepted:
This engraver creates the following layout objects:
LaissezVibrerTie and LaissezVibrerTieColumn.
Laissez_vibrer_engraver
is part of contexts: CueVoice, DrumVoice, GregorianTranscriptionVoice, MensuralVoice, TabVoice, VaticanaVoice and Voice
Creates the spanner to draw ledger lines, and notices objects that need ledger lines
This engraver creates the following layout objects:
Ledger_line_engraver
is part of contexts: DrumStaff, GregorianTranscriptionStaff, MensuralStaff, RhythmicStaff, Staff, TabStaff and VaticanaStaff
Handles Ligature_events by engraving Ligature brackets.
Music types accepted:
This engraver creates the following layout objects:
Ligature_bracket_engraver
is part of contexts: CueVoice, GregorianTranscriptionVoice, TabVoice and Voice
Music types accepted:
This engraver creates the following layout objects:
Lyric_engraver
is part of contexts: Lyrics
Music types accepted:
Lyric_performer
is part of contexts: none
This engraver will 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 marksend up on the same Y-location
Music types accepted:
Properties (read)
markFormatter
(procedure)- Procedure taking as arguments context and rehearsal mark. It should return the formatted mark as a markup object.
rehearsalMark
(integer)- The last rehearsal mark printed.
stavesFound
(list of grobs)- list of all staff-symbols found.
This engraver creates the following layout objects:
Mark_engraver
is part of contexts: Score
Creates 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)- List of beatgroups, e.g., in 5/8 time
'(2 3)
.
This engraver creates the following layout objects:
Measure_grouping_engraver
is part of contexts: none
Create information for context dependent typesetting decisions.
This engraver creates the following layout objects:
Melody_engraver
is part of contexts: none
Handles Mensural_ligature_events by glueing special ligature heads together.
Music types accepted:
This engraver creates the following layout objects:
Mensural_ligature_engraver
is part of contexts: MensuralVoice
Engrave metro nome 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)- list of all staff-symbols found.
metronomeMarkFormatter
(procedure)- How to produce a metronome markup. Called with 2 arguments, event and context.
tempoUnitDuration
(duration)- Unit for specifying tempo.
tempoUnitCount
(number)- Count for specifying tempo.
This engraver creates the following layout objects:
Metronome_mark_engraver
is part of contexts: Score
Engraves multi-measure rests that are produced with R
. Reads measurePosition
and internalBarNumber
to determine what number to print over the MultiMeasureRest. Reads measureLength
to determine if it should use a whole rest or a breve rest to represent 1 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 objects:
MultiMeasureRest, MultiMeasureRestNumber and MultiMeasureRestText.
Multi_measure_rest_engraver
is part of contexts: 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)- List of symbols, containing `left', `right', `up' and/or `down'. This list determines where fingerings are put relative to the chord being fingered.
strokeFingerOrientations
(list)- See
fingeringOrientations
stringNumberOrientations
(list)- See
fingeringOrientations
This engraver creates the following layout objects:
Fingering, Script, StringNumber and StrokeFinger.
New_fingering_engraver
is part of contexts: 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 objects:
Glissando and VoiceFollower.
Note_head_line_engraver
is part of contexts: CueVoice, GregorianTranscriptionVoice, MensuralVoice, TabVoice, VaticanaVoice and Voice
Generate noteheads.
Music types accepted:
Properties (read)
middleCPosition
(number)- Place of the middle C, measured in half staff-spaces. Usually determined by looking at
clefPosition
andclefGlyph
.staffLineLayoutFunction
(procedure)- Layout of staff lines, 'traditional, or 'semitone.
This engraver creates the following layout objects:
Note_heads_engraver
is part of contexts: CueVoice, GregorianTranscriptionVoice, MensuralVoice, VaticanaVoice and Voice
Print pitches as words.
Music types accepted:
Properties (read)
printOctaveNames
(boolean)- Print octave marks for the NoteNames context.
This engraver creates the following layout objects:
Note_name_engraver
is part of contexts: NoteNames
Music types accepted:
Note_performer
is part of contexts: none
Generates NoteSpacing, an object linking horizontal lines for use in spacing.
This engraver creates the following layout objects:
Note_spacing_engraver
is part of contexts: CueVoice, DrumVoice, GregorianTranscriptionVoice, MensuralVoice, TabVoice, VaticanaVoice and Voice
Swallow notes
Note_swallow_translator
is part of contexts: FiguredBass
Create a text spanner when the ottavation property changes..
Properties (read)
ottavation
(string)- 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 objects:
Ottava_spanner_engraver
is part of contexts: GregorianTranscriptionStaff, MensuralStaff, Staff, TabStaff and VaticanaStaff
Apply a procedure to any grob acknowledged.
Music types accepted:
Output_property_engraver
is part of contexts: 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 part of contexts: none
Takes 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 linebreaks. In practice, this means that you can make a breakpoint by creating a barline (assuming that there are no beams or notes that prevent a breakpoint.)
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 objects:
NonMusicalPaperColumn and PaperColumn.
Paper_column_engraver
is part of contexts: Score
Parenthesize objects whose music cause has the parenthesize
property.
This engraver creates the following layout objects:
Parenthesis_engraver
is part of contexts: Score
Part combine engraver for orchestral scores: Print markings a2, Solo, Solo II, and unisono
Music types accepted:
Properties (read)
printPartCombineTexts
(boolean)- set Solo/A due texts in the part combiner?
soloText
(string)- text for begin of solo when part-combining.
soloIIText
(string)- text for begin of solo for voice “two” when part-combining.
aDueText
(string)- Text to print at a unisono passage.
This engraver creates the following layout objects:
Part_combine_engraver
is part of contexts: 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 objects:
DoublePercentRepeat, DoublePercentRepeatCounter, PercentRepeat and PercentRepeatCounter.
Percent_repeat_engraver
is part of contexts: CueVoice, DrumVoice, GregorianTranscriptionVoice, MensuralVoice, TabVoice, VaticanaVoice and Voice
Print phrasing slurs. Similar to Slur_engraver
Music types accepted:
This engraver creates the following layout objects:
Phrasing_slur_engraver
is part of contexts: 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 objects:
SostenutoPedalLineSpanner, SustainPedalLineSpanner and UnaCordaPedalLineSpanner.
Piano_pedal_align_engraver
is part of contexts: 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)- List of string 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
,bracket
ormixed
(both).pedalUnaCordaStrings
(list)- See
pedalSustainStrings
.pedalUnaCordaStyle
(symbol)- see
pedalSustainStyle
.
This engraver creates the following layout objects:
PianoPedalBracket, SostenutoPedal, SustainPedal and UnaCordaPedal.
Piano_pedal_engraver
is part of contexts: GregorianTranscriptionStaff, MensuralStaff, Staff, TabStaff and VaticanaStaff
Music types accepted:
una-corda-event, sustain-event and sostenuto-event
Piano_pedal_performer
is part of contexts: none
Set the vertical position of noteheads 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 contexts: RhythmicStaff
Print the bracketed notehead after a notehead with trill.
This engraver creates the following layout objects:
TrillPitchAccidental, TrillPitchGroup and TrillPitchHead.
Pitched_trill_engraver
is part of contexts: CueVoice, DrumVoice, GregorianTranscriptionVoice, MensuralVoice, TabVoice, VaticanaVoice and Voice
Acknowledge repeated music, and convert the contents of repeatCommands ainto an appropriate setting for whichBar.
Properties (read)
repeatCommands
(list)- This property is read to find any command of the form
(volta .
x)
, where x is a string or#f
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 contexts: Score
Create Laissez vibrer items.
Music types accepted:
This engraver creates the following layout objects:
RepeatTie and RepeatTieColumn.
Repeat_tie_engraver
is part of contexts: CueVoice, DrumVoice, GregorianTranscriptionVoice, MensuralVoice, TabVoice, VaticanaVoice and Voice
Handles collisions of rests.
This engraver creates the following layout objects:
Rest_collision_engraver
is part of contexts: DrumStaff, GregorianTranscriptionStaff, MensuralStaff, Staff, TabStaff and VaticanaStaff
Music types accepted:
Properties (read)
middleCPosition
(number)- Place of the middle C, measured in half staff-spaces. Usually determined by looking at
clefPosition
andclefGlyph
.
This engraver creates the following layout objects:
Rest.
Rest_engraver
is part of contexts: CueVoice, DrumVoice, GregorianTranscriptionVoice, MensuralVoice, TabVoice, VaticanaVoice and Voice
Swallow rest
Rest_swallow_translator
is part of contexts: ChordNames and NoteNames
Generates NoteColumn, an objects that groups stems, noteheads and rests.
This engraver creates the following layout objects:
Rhythmic_column_engraver
is part of contexts: CueVoice, DrumVoice, GregorianTranscriptionVoice, MensuralVoice, TabVoice, VaticanaVoice and Voice
This engraver creates the following layout objects:
Script_column_engraver
is part of contexts: CueVoice, DrumVoice, GregorianTranscriptionVoice, MensuralVoice, TabVoice, VaticanaVoice and Voice
Handles note scripted articulations.
Music types accepted:
Properties (read)
scriptDefinitions
(list)- Description of scripts. This is used by Script_engraver for typesetting note-super/subscripts. See scm/script.scm for more information
This engraver creates the following layout objects:
Script_engraver
is part of contexts: CueVoice, DrumVoice, GregorianTranscriptionVoice, MensuralVoice, TabVoice, VaticanaVoice and Voice
Determine order in horizontal side position elements.
This engraver creates the following layout objects:
Script_row_engraver
is part of contexts: DrumStaff, GregorianTranscriptionStaff, MensuralStaff, Staff, TabStaff and VaticanaStaff
Generates objects for computing spacing parameters.
Properties (read)
Properties (write)
createSpacing
(boolean)- Create
StaffSpacing
objects? Should be set for staves.
hasStaffSpacing
(boolean)- True if the currentCommandColumn contains items that will affect spacing
This engraver creates the following layout objects:
Separating_line_group_engraver
is part of contexts: ChordNames, DrumStaff, FiguredBass, FretBoards, GregorianTranscriptionStaff, MensuralStaff, NoteNames, RhythmicStaff, Staff, TabStaff and VaticanaStaff
Swallow \skip.
Skip_event_swallow_translator
is part of contexts: 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 objects:
Slash_repeat_engraver
is part of contexts: 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)- When set, two slurs are created for every slurred note, one above and one below the chord.
This engraver creates the following layout objects:
Slur.
Slur_engraver
is part of contexts: CueVoice, DrumVoice, GregorianTranscriptionVoice, TabVoice and Voice
Music types accepted:
Slur_performer
is part of contexts: none
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 objects:
Spacing_engraver
is part of contexts: Score
Properties (read)
connectArpeggios
(boolean)- If set, connect arpeggios across piano staff.
This engraver creates the following layout objects:
Span_arpeggio_engraver
is part of contexts: GrandStaff, InnerStaffGroup, PianoStaff and StaffGroup
This engraver makes cross-staff barlines: It catches all normal bar lines, and draws a single span-bar across them.
This engraver creates the following layout objects:
Span_bar_engraver
is part of contexts: GrandStaff, InnerStaffGroup, PianoStaff and StaffGroup
Forbid breaks in certain spanners
Spanner_break_forbid_engraver
is part of contexts: CueVoice, DrumVoice, GregorianTranscriptionVoice, MensuralVoice, TabVoice, VaticanaVoice and Voice
Maintain the stavesFound variable
Properties (read)
Properties (write)
stavesFound
(list of grobs)- list of all staff-symbols found.
stavesFound
(list of grobs)- list of all staff-symbols found.
Staff_collecting_engraver
is part of contexts: DrumStaff, GregorianTranscriptionStaff, MensuralStaff, Score, Staff, TabStaff and VaticanaStaff
Staff_performer
is part of contexts: none
Create the constellation of five (default) staff lines.
Music types accepted:
This engraver creates the following layout objects:
Staff_symbol_engraver
is part of contexts: DrumStaff, GregorianTranscriptionStaff, MensuralStaff, RhythmicStaff, Staff, TabStaff and VaticanaStaff
This engraver ensures that stanza numbers are neatly aligned.
Stanza_number_align_engraver
is part of contexts: Score
Properties (read)
stanza
(markup)- Stanza `number' to print before the start of a verse. Use in Lyrics context.
This engraver creates the following layout objects:
Stanza_number_engraver
is part of contexts: 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)- 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 objects:
Stem and StemTremolo.
Stem_engraver
is part of contexts: CueVoice, DrumVoice, GregorianTranscriptionVoice, MensuralVoice, TabVoice and Voice
Swallow string-number-events - the purpose of this engraver is to process tab for normal notation. To provent warnings for unprocessed string-number-event to obscure real error messages, this engraver swallows them all.
String_number_engraver
is part of contexts: 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 contexts: Devnull
Swallow_performer
is part of contexts: none
Creates a system start delimiter (ie. SystemStart{Bar, Brace, Bracket} spanner
Properties (read)
systemStartDelimiter
(symbol)- Which grob to make for the start of the system/staff? Set to
SystemStartBrace
,SystemStartBracket
orSystemStartBar
.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 objects:
SystemStartBar, SystemStartBrace, SystemStartBracket and SystemStartSquare.
System_start_delimiter_engraver
is part of contexts: ChoirStaff, GrandStaff, InnerChoirStaff, InnerStaffGroup, PianoStaff, Score and StaffGroup
Parenthesize objects whose music cause has the parenthesize
property.
This engraver creates the following layout objects:
Tab_harmonic_engraver
is part of contexts: 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)- Place of the middle C, measured in half staff-spaces. Usually determined by looking at
clefPosition
andclefGlyph
.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)- Function formatting a tab note head; it takes a string number, a list of string tunings and Pitch object. It returns the text as a string.
highStringOne
(boolean)- Whether the 1st string is the string with highest pitch on the instrument. This used by the automatic string selector for tab notation.
stringOneTopmost
(boolean)- Whether the 1st string is printed on the top line of the tablature.
This engraver creates the following layout objects:
Tab_note_heads_engraver
is part of contexts: TabVoice
Create a 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 objects:
Tab_staff_symbol_engraver
is part of contexts: TabStaff
Properties (read)
tempoWholesPerMinute
(moment)- The tempo in whole notes per minute.
Tempo_performer
is part of contexts: none
Create text-scripts
Music types accepted:
This engraver creates the following layout objects:
Text_engraver
is part of contexts: CueVoice, DrumVoice, GregorianTranscriptionVoice, MensuralVoice, TabVoice, VaticanaVoice and Voice
Create text spanner from an event.
Music types accepted:
This engraver creates the following layout objects:
Text_spanner_engraver
is part of contexts: CueVoice, DrumVoice, GregorianTranscriptionVoice, MensuralVoice, TabVoice, VaticanaVoice and Voice
Generate ties between noteheads 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 objects:
Tie_engraver
is part of contexts: CueVoice, DrumVoice, GregorianTranscriptionVoice, MensuralVoice, NoteNames, TabVoice, VaticanaVoice and Voice
Generate ties between noteheads of equal pitch.
Music types accepted:
Properties (read)
tieMelismaBusy
(boolean)- Signal whether a tie is present.
Tie_performer
is part of contexts: none
Create a TimeSignature whenever timeSignatureFraction
changes
Properties (read)
implicitTimeSignatureVisibility
(vector)- break visibility for the default timesignature.
timeSignatureFraction
(pair of numbers)- pair of numbers, signifying the time signature. For example
#'(4 . 4)
is a 4/4 time signature.
This engraver creates the following layout objects:
Time_signature_engraver
is part of contexts: DrumStaff, GregorianTranscriptionStaff, MensuralStaff, RhythmicStaff, Staff and TabStaff
Time_signature_performer
is part of contexts: none
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
.
This engraver adds the alias Timing
to its containing context.
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 contexts: Score
Base class. Not instantiated.
Translator
is part of contexts: none
Create trill spanner from an event.
Music types accepted:
This engraver creates the following layout objects:
Trill_spanner_engraver
is part of contexts: 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 sigs, etc.) before the note.
This engraver creates the following layout objects:
TupletBracket and TupletNumber.
Tuplet_engraver
is part of contexts: CueVoice, DrumVoice, GregorianTranscriptionVoice, MensuralVoice, TabVoice, VaticanaVoice and Voice
Read the tweaks
property from the originating event, and set properties.
Tweak_engraver
is part of contexts: CueVoice, DrumVoice, GregorianTranscriptionVoice, MensuralVoice, TabVoice, VaticanaVoice and Voice
Handles ligatures by glueing special ligature heads together.
Music types accepted:
ligature-event and pes-or-flexa-event
This engraver creates the following layout objects:
DotColumn and VaticanaLigature.
Vaticana_ligature_engraver
is part of contexts: 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 objects:
Vertical_align_engraver
is part of contexts: 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 contexts: Score
Make volta brackets.
Properties (read)
repeatCommands
(list)- This property is read to find any command of the form
(volta .
x)
, where x is a string or#f
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)- list of all staff-symbols found.
This engraver creates the following layout objects:
VoltaBracket and VoltaBracketSpanner.
Volta_engraver
is part of contexts: Score
aDueText
(string)- Text to print at a unisono passage.
alignAboveContext
(string)- Where to insert newly created context in vertiical alignment.
alignBassFigureAccidentals
(boolean)- If true, then the accidentals are aligned in bass figure context.
alignBelowContext
(string)- Where to insert newly created context in vertiical alignment.
associatedVoice
(string)- Name of the
Voice
that has the melody for thisLyrics
line.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 rule consists of
- context:
- In which context is the rule 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.
- octavation:
- Whether the accidental changes all octaves or only the current octave. Valid choices are
- `same-octave:'
- This is the default algorithm. Accidentals are typeset if the note changes the accidental of that note in that octave. Accidentals lasts to the end of the measure and then as many measures as specified in the value. I.e. 1 means to the end of next measure, -1 means to the end of previous measure (that is: no duration at all), etc. #t means forever.
- `any-octave:'
- Accidentals are typeset if the note is different from the previous note on the same pitch in any octave. The value has same meaning as in same-octave.
- laziness
- Over how many bar lines the accidental lasts. If laziness is
-1
then the accidental is forgotten immediately, and if laziness is#t
then the accidental lasts forever.autoBeamCheck
(procedure)- Procedure taking three arguments, CONTEXT, DIR start/stop (-1 or 1) and TEST shortest note in the beam. A non-#f return value starts or stops the auto beam.
autoBeamSettings
(list)- Specifies when automatically generated beams should begin and end. See Setting automatic beam behavior for more information.
autoBeaming
(boolean)- If set to true then beams are generated automatically.
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.automaticBars
(boolean)- If set to true then bar lines will not be printed automatically; they must be explicitly created with
\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)- If set to true a bar line is drawn after each note.
barCheckSynchronize
(boolean)- If true then reset
measurePosition
when finding a barcheck.barNumberVisibility
(procedure)- Procedure that takes an int and returns whether the corresponding bar number should be printed
bassFigureFormatFunction
(procedure)- Procedure that is called to produce the formatting for a
BassFigure
grob. It takes a list ofBassFigureEvent
s, a context, and the grob to format.bassStaffProperties
(list)- Alist of property settings to apply for the down staff of PianoStaff. Used by
\autochange
beatGrouping
(list)- List of beatgroups, e.g., in 5/8 time
'(2 3)
.beatLength
(moment)- The length of one beat in this time signature.
chordChanges
(boolean)- Only show changes in chords scheme?
chordNameExceptions
(list)- An alist of chord exceptions. Contains (chord . markup) entries.
chordNameExceptionsFull
(list)- An alist of chord exceptions. Contains (chord . markup) entries.
chordNameExceptionsPartial
(list)- An alist of partial chord exceptions. Contains (chord . (prefix-markup suffix-markup)) entries.
chordNameFunction
(procedure)- The function that converts lists of pitches to chord names.
chordNameSeparator
(markup)- The markup object used to separate parts of a chord name.
chordNoteNamer
(procedure)- Function that converts from a pitch object to a text markup. Used for single pitches.
chordPrefixSpacer
(number)- The space added between the root symbol and the prefix of a chord name
chordRootNamer
(procedure)- Function that converts from a pitch object to a text markup. Used for chords.
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.
connectArpeggios
(boolean)- If set, connect arpeggios across piano staff.
countPercentRepeats
(boolean)- If set, produce counters for percent repeats.
createKeyOnClefChange
(boolean)- Print a key signature whenever the clef is changed.
createSpacing
(boolean)- Create
StaffSpacing
objects? Should be set for staves.crescendoSpanner
(symbol)- Type of spanner to be used for crescendi. One of: `hairpin', `line', `dashed-line', `dotted-line'. If unset, hairpin type is used.
crescendoText
(markup)- Text to print at start of non-hairpin crescendo, i.e.: `cresc.'
currentBarNumber
(integer)- Contains the current barnumber. This property is incremented at every bar line.
decrescendoSpanner
(symbol)- See
crescendoSpanner
.decrescendoText
(markup)- Text to print at start of non-hairpin decrescendo, i.e.: `dim.'
defaultBarType
(string)- Sets the default type of bar line. See
whichBar
for information on available bar types.This variable is read by Timing_translator at Score level.
doubleSlurs
(boolean)- When set, two slurs are created for every slurred note, one above and one below the chord.
drumPitchTable
(hash table)- A table mapping percussion instruments (symbols) to pitches.
drumStyleTable
(hash table)- A hash table containing mapping 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 key, and a list (notehead-style script vertical-position) as values.
explicitClefVisibility
(vector)- `break-visibility' function for clef changes.
explicitKeySignatureVisibility
(vector)- `break-visibility' function for explicit key changes. `\override' of the
break-visibility
property will set the visibility for normal (i.e. at the start of the line) key signatures.extendersOverRests
(boolean)- Whether to continue extenders as they cross a rest.
extraNatural
(boolean)- Whether to typeset an extra natural sign before accidentals changing from a non-natural to another non-natural.
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)- Routine generating a markup for a bass figure.
figuredBassPlusDirection
(direction)- Where to put plus signs relative to the the main figure.
fingeringOrientations
(list)- List of symbols, containing `left', `right', `up' and/or `down'. This list determines where fingerings are put relative to the chord being fingered.
firstClef
(boolean)- If true, create a new clef when starting a staff.
followVoice
(boolean)- If set, note heads are tracked across staff switches by a thin line
fontSize
(number)- The relative size of all grobs in a context.
forbidBreak
(boolean)- If set to ##t, prevent a line break at this point.
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.
gridInterval
(moment)- Interval for which to generate GridPoints
hairpinToBarline
(boolean)- If set, end a hairpin at the barline before the ending note.
harmonicAccidentals
(boolean)- If set, harmonic notes in chords get accidentals.
highStringOne
(boolean)- Whether the 1st string is the string with highest pitch on the instrument. This used by the automatic string selector for tab notation.
ignoreBarChecks
(boolean)- Ignore bar checks
ignoreFiguredBassRest
(boolean)- Don't swallow rest events.
ignoreMelismata
(boolean)- Ignore melismata for this Lyrics line.
implicitBassFigures
(list)- List of bass figures that are not printed as numbers, but only as extender lines.
implicitTimeSignatureVisibility
(vector)- break visibility for the default timesignature.
instrumentCueName
(markup)- Name to print if another instrument is to be taken.
instrumentEqualizer
(procedure)- Function taking a string (instrument name), and returning a (min . max) pair of numbers for the loudness range of the instrument.
instrumentName
(markup)- The name to print left of a staff. The
instrument
property labels the staff in the first system, and theinstr
property labels following lines.instrumentTransposition
(pitch)- Defines the transposition of the instrument. Its value is the pitch that sounds like middle C. This is used to transpose the MIDI output, and
\quote
s.internalBarNumber
(integer)- Contains the current barnumber. This property is used for internal timekeeping, among others by the
Accidental_engraver
.keepAliveInterfaces
(list)- List of symbols, signifying grob interfaces that are worth keeping an staff with
remove-empty
set around for.keyAlterationOrder
(list)- Alist that defines in what order alterations should be printed. The format is (step . alter), where step is from 0 .. 6 and alter from -2 (sharp) and 2 (flat).
keySignature
(list)- The current key signature. This is an alist containing (step . alter) or ((octave . step) . alter). where step is from 0.. 6 and alter a fraction, denoting alteration. For alterations, use symbols, eg.
keySignature = #`((6 . ,FLAT))
majorSevenSymbol
(markup)- How should the major 7th be formatted in a chord name?
markFormatter
(procedure)- Procedure taking as arguments context and rehearsal mark. It should return the formatted mark as a markup object.
maximumFretStretch
(number)- Don't allocate frets further than this from specified frets.
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.
melismaBusyProperties
(list)- List of properties (symbols) to determine whether a melisma is playing. Setting this property will influence how lyrics are aligned to notes. For example, if set to
#'(melismaBusy beamMelismaBusy)
, only manual melismata and manual beams are considered. Possible values includemelismaBusy
,slurMelismaBusy
,tieMelismaBusy
, andbeamMelismaBusy
metronomeMarkFormatter
(procedure)- How to produce a metronome markup. Called with 2 arguments, event and context.
middleCPosition
(number)- Place of the middle C, measured in half staff-spaces. Usually determined by looking at
clefPosition
andclefGlyph
.midiInstrument
(string)- Name of the MIDI instrument to use
midiMaximumVolume
(number)- Analogous to
midiMinimumVolume
.midiMinimumVolume
(number)- Sets the minimum loudness for MIDI. Ranges from 0 to 1.
minimumFret
(number)- The tablature auto string-selecting mechanism selects the highest string with a fret at least
minimumFret
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
noteToFretFunction
(procedure)- How to produce a fret diagram. Parameters: list of note events and list of tabstring events.
ottavation
(string)- If set, the text for an ottava spanner. Changing this creates a new text spanner.
output
(unknown)- The output produced by a score-level translator during music interpretation
pedalSostenutoStrings
(list)- See
pedalSustainStrings
.pedalSostenutoStyle
(symbol)- see
pedalSustainStyle
.pedalSustainStrings
(list)- List of string 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
,bracket
ormixed
(both).pedalUnaCordaStrings
(list)- See
pedalSustainStrings
.pedalUnaCordaStyle
(symbol)- see
pedalSustainStyle
.printKeyCancellation
(boolean)- Print restoration alterations before a key signature change.
printOctaveNames
(boolean)- Print octave marks for the NoteNames context.
printPartCombineTexts
(boolean)- set Solo/A due texts in the part combiner?
proportionalNotationDuration
(moment)- Global override for shortest-playing duration. This is used for switching on proportional notation.
recordEventSequence
(procedure)- When 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)- The last rehearsal mark printed.
repeatCommands
(list)- This property is read to find any command of the form
(volta .
x)
, where x is a string or#f
restNumberThreshold
(number)- If a multimeasure rest has more measures than this, a number is printed.
shapeNoteStyles
(vector)- Vector of symbols, listing style for each note head relative to the tonic (qv.) of the scale.
shortInstrumentName
(markup)- See
instrument
shortVocalName
(markup)- Name of a vocal line, short version.
skipBars
(boolean)- If set to true, then skip the empty bars that are produced by multimeasure notes and rests. These bars will not appear on the printed output. If not set (the default) multimeasure notes and rests expand into their full length, printing the appropriate number of empty bars so that synchronization with other voices is preserved.
{ r1 r1*3 R1*3 \set Score.skipBars= ##t r1*3 R1*3 }skipTypesetting
(boolean)- When true, all no typesetting is done, speeding up the interpretation phase. This speeds up debugging large scores.
soloIIText
(string)- text for begin of solo for voice “two” when part-combining.
soloText
(string)- text for begin of solo when part-combining.
squashedPosition
(integer)- Vertical position of squashing for Pitch_squash_engraver.
staffLineLayoutFunction
(procedure)- Layout of staff lines, 'traditional, or 'semitone.
stanza
(markup)- Stanza `number' to print before the start of a verse. Use in Lyrics context.
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
.stringNumberOrientations
(list)- See
fingeringOrientations
stringOneTopmost
(boolean)- Whether the 1st string is printed on the top line of the tablature.
stringTunings
(list)- The tablature strings tuning. It is a list of the pitch (in semitones) of each string (starting with the lower one).
strokeFingerOrientations
(list)- See
fingeringOrientations
subdivideBeams
(boolean)- If set, multiple beams will be subdivided at beat positions by only drawing one beam over the beat.
suggestAccidentals
(boolean)- If set, accidentals are typeset as cautionary suggestions over the note.
systemStartDelimiter
(symbol)- Which grob to make for the start of the system/staff? Set to
SystemStartBrace
,SystemStartBracket
orSystemStartBar
.systemStartDelimiterHierarchy
(pair)- A nested list, indicating the nesting of a start delimiters.
tablatureFormat
(procedure)- Function formatting a tab note head; it takes a string number, a list of string tunings and Pitch object. It returns the text as a string.
tempoUnitCount
(number)- Count for specifying tempo.
tempoUnitDuration
(duration)- Unit for specifying tempo.
tempoWholesPerMinute
(moment)- The tempo in whole notes per minute.
tieWaitForNote
(boolean)- If true, tied notes do not have to follow each other directly. This can be used for writing out arpeggios
timeSignatureFraction
(pair of numbers)- pair of numbers, signifying the time signature. For example
#'(4 . 4)
is a 4/4 time signature.timing
(boolean)- Keep administration of measure length, position, bar number, etc? Switch off for cadenzas.
tonic
(pitch)- The tonic of the current scale
trebleStaffProperties
(list)- Alist of property settings to apply for the up staff of PianoStaff. Used by
\autochange
tremoloFlags
(integer)- Number of tremolo flags to add if no number is specified.
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 sigs, etc.) before the note.
tupletSpannerDuration
(moment)- Normally a tuplet bracket is as wide as the
\times
expression that gave rise to it. By setting this property, you can make brackets last shorter. Example{ \set tupletSpannerDuration = #(ly:make-moment 1 4) \times 2/3 { c8 c c c c c } }.
useBassFigureExtenders
(boolean)- Whether to use extender lines for repeated bass figures
verticallySpacedContexts
(list)- List of symbols, containing context names whose vertical axis groups should be taken into account for vertical spacing of systems.
vocalName
(markup)- Name of a vocal line.
voltaOnThisStaff
(boolean)- Normally, volta brackets are put only on the topmost staff. This variable overrides this behavior, when set to
#t
or#f
.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.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.
associatedVoiceContext
(context)- The context object of the Voice that has the melody for this Lyrics.
barCheckLastFail
(moment)- Where in the measure did the last barcheck fail?
beamMelismaBusy
(boolean)- Signal if a beam is present.
breakableSeparationItem
(layout object)- The breakable items in this time step, for this staff.
busyGrobs
(list)- a queue of (end-moment . GROB) conses. 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)- 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.).
dynamicAbsoluteVolumeFunction
(procedure)- [DOCUMENT-ME]
finalizations
(list)- List of expressions to evaluate before proceeding to next time step. Internal variable.
graceSettings
(list)- Overrides for grace notes. This property should be manipulated through the
add-grace-property
function.hasStaffSpacing
(boolean)- True if the currentCommandColumn contains items that will affect spacing
instrumentSupport
(list of grobs)- list of grobs to attach instrument name to.
lastKeySignature
(list)- Last key signature before a key signature change.
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)) pairs. It is reset at every bar line.
melismaBusy
(boolean)- Signifies whether a melisma is active. This can be used to signal melismas on top of those automatically detected.
originalMiddleCPosition
(integer)- Used for temporary overriding middle C in octavation brackets.
quotedEventTypes
(list)- List of symbols, representing the event types that should be duplicated for
\quote
commands.rootSystem
(layout object)- The System object
scriptDefinitions
(list)- Description of scripts. This is used by Script_engraver for typesetting note-super/subscripts. See scm/script.scm for more information
slurMelismaBusy
(boolean)- Signal if a slur is present.
stavesFound
(list of grobs)- list of all staff-symbols found.
tieMelismaBusy
(boolean)- Signal whether a tie is present.
Accidental objects are created by: Accidental_engraver
Standard settings:
avoid-slur
(symbol):'inside
Method of handling slur collisions. Choices are
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.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-alteration
Alteration numbers for accidental.
stencil
(unknown):ly:accidental-interface::print
The symbol to print.
Y-extent
(pair of numbers):ly:accidental-interface::height
See
X-extent
.X-extent
(pair of numbers):ly:accidental-interface::width
Hard coded extent in X direction.
This object supports the following interfaces: item-interface, font-interface, accidental-interface and grob-interface
AccidentalCautionary objects are created by: Accidental_engraver
Standard settings:
avoid-slur
(symbol):'inside
Method of handling slur collisions. Choices are
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.parenthesized
(boolean):#t
Parenthesize 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-alteration
Alteration numbers for accidental.
stencil
(unknown):ly:accidental-interface::print
The symbol to print.
Y-extent
(pair of numbers):ly:accidental-interface::height
See
X-extent
.
This object supports the following interfaces: item-interface, font-interface, accidental-interface and grob-interface
AccidentalPlacement objects are created by: none
Standard settings:
left-padding
(dimension, in staff space):0.2
The amount of space that is put left to an object (e.g., a group of accidentals).
script-priority
(number):-100
A sorting key that determines in what order a script is within a stack of scripts.
direction
(direction):-1
If
side-axis
is1
(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
but also other numerical values are permitted.X-extent
(pair of numbers):ly:axis-group-interface::width
Hard coded extent in X direction.
right-padding
(dimension, in staff space):0.15
Space to insert on the right side of an object (e.g., between note and its accidentals).
This object supports the following interfaces: item-interface, accidental-placement-interface and grob-interface
AccidentalSuggestion objects are created by: Accidental_engraver
Standard settings:
stencil
(unknown):ly:accidental-interface::print
The symbol to print.
Y-extent
(pair of numbers):ly:accidental-interface::height
See
X-extent
.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):0
Specify alignment of an object. The value
-1
means left aligned,0
centered, and1
right-aligned in X direction. Values in-between may also be specified.font-size
(number):-2
The font size, compared to the ‘normal’
size.
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.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-alteration
Alteration numbers for accidental.
Y-offset
(number):ly:side-position-interface::y-aligned-side
The vertical amount that this object is moved relative to its Y-parent.
direction
(direction):1
If
side-axis
is1
(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
but also other numerical values are permitted.staff-padding
(dimension, in staff space):0.25
Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamic p and f) on their baselines.
outside-staff-priority
(number):0
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-priority
is closer to the staff.script-priority
(number):0
A sorting key that determines in what order a script is within a stack of scripts.
side-axis
(number):0
If the value is
#X
(or equivalently1
), the object is placed horizontally next to the other object. If the value is#Y
or0
, it is placed vertically.
This object supports the following interfaces: 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::width
Hard coded extent in X direction.
Y-extent
(pair of numbers):ly:axis-group-interface::height
See
X-extent
.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-space
orextra-space
.non-musical
(boolean):#t
True if the grob belongs to a
NonMusicalPaperColumn
.break-align-symbol
(symbol):'ambitus
This 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)
.#t
means visible,#f
means killed.
This object supports the following interfaces: 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):'music
The font family is the broadest category for selecting text fonts. Options include:
sans
,roman
.padding
(dimension, in staff space):0.5
Add this much extra space between objects that are next to each other.
X-offset
(number):ly:side-position-interface::x-aligned-side
The horizontal amount that this object is moved relative to its X-parent.
direction
(direction):-1
If
side-axis
is1
(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
but also other numerical values are permitted.stencil
(unknown):ly:accidental-interface::print
The symbol to print.
Y-extent
(pair of numbers):ly:accidental-interface::height
See
X-extent
.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):0
If the value is
#X
(or equivalently1
), the object is placed horizontally next to the other object. If the value is#Y
or0
, it is placed vertically.
This object supports the following interfaces: 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::print
The symbol to print.
thickness
(number):2
Line thickness, generally measured in
line-thickness
.X-offset
(number):ly:self-alignment-interface::centered-on-x-parent
The horizontal amount that this object is moved relative to its X-parent.
This object supports the following interfaces: 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):2
The 2-log of the note head duration, i.e.
0
= whole note,1
= half note, etc.stencil
(unknown):ly:note-head::print
The symbol to print.
Y-offset
(number):ly:staff-symbol-referencer::callback
The vertical amount that this object is moved relative to its Y-parent.
This object supports the following interfaces: 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::width
Hard coded extent in X direction.
stencil
(unknown):ly:arpeggio::print
The symbol to print.
Y-offset
(number):ly:staff-symbol-referencer::callback
The vertical amount that this object is moved relative to its Y-parent.
X-offset
(number):ly:side-position-interface::x-aligned-side
The horizontal amount that this object is moved relative to its X-parent.
direction
(direction):-1
If
side-axis
is1
(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
but also other numerical values are permitted.padding
(dimension, in staff space):0.5
Add this much extra space between objects that are next to each other.
script-priority
(number):0
A sorting key that determines in what order a script is within a stack of scripts.
side-axis
(number):0
If the value is
#X
(or equivalently1
), the object is placed horizontally next to the other object. If the value is#Y
or0
, it is placed vertically.staff-position
(number):0.0
Vertical position, measured in half staff spaces, counted from the middle line.
Y-extent
(pair of numbers):ly:arpeggio::height
See
X-extent
.
This object supports the following interfaces: 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::print
The symbol to print.
text
(markup):#<procedure #f (grob)>
Text markup. See Text markup .
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 interfaces: text-interface, item-interface, font-interface and grob-interface
BarLine objects are created by: Bar_engraver
Standard settings:
break-align-symbol
(symbol):'staff-bar
This key is used for aligning and spacing breakable items.
break-align-anchor
(number):ly:bar-line::calc-anchor
Grobs aligned to this break-align grob will have their X-offsets shifted by this number. In barlines, for example, this is used to position grobs relative to the (visual) center of the barline.
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.4
Size of a gap in a variable symbol.
layer
(number):0
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.
break-visibility
(vector):bar-line::calc-break-visibility
A vector of 3 booleans,
#(
end-of-line unbroken begin-of-line)
.#t
means visible,#f
means killed.non-musical
(boolean):#t
True if the grob belongs to a
NonMusicalPaperColumn
.stencil
(unknown):ly:bar-line::print
The symbol to print.
bar-size
(dimension, in staff space):ly:bar-line::calc-bar-size
The size of a 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-space
orextra-space
.kern
(dimension, in staff space):3.0
Amount of extra white space to add. For bar lines, this is the amount of space after a thick line.
thin-kern
(number):3.0
The space after a hair-line in a bar line.
hair-thickness
(number):1.9
Thickness of the thin line in a bar line.
thick-thickness
(number):6.0
Bar line thickness, measured in
line-thickness
.
This object supports the following interfaces: 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::print
The symbol to print.
non-musical
(boolean):#t
True 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)
.#t
means visible,#f
means killed.padding
(dimension, in staff space):1.0
Add this much extra space between objects that are next to each other.
direction
(direction):1
If
side-axis
is1
(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
but also other numerical values are permitted.font-family
(symbol):'roman
The font family is the broadest category for selecting text fonts. Options include:
sans
,roman
.font-size
(number):-2
The font size, compared to the ‘normal’
size.
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.Y-offset
(number):ly:side-position-interface::y-aligned-side
The vertical amount that this object is moved relative to its Y-parent.
side-axis
(number):1
If the value is
#X
(or equivalently1
), the object is placed horizontally next to the other object. If the value is#Y
or0
, it is placed vertically.outside-staff-priority
(number):100
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-priority
is 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):1
Specify alignment of an object. The value
-1
means left aligned,0
centered, and1
right-aligned in X direction. Values in-between 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 interfaces: 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::print
The symbol to print.
This object supports the following interfaces: 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::height
See
X-extent
.stacking-dir
(direction):-1
Stack objects in which direction?
padding
(dimension, in staff space):0.2
Add this much extra space between objects that are next to each other.
This object supports the following interfaces: 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-side
The vertical amount that this object is moved relative to its Y-parent.
side-axis
(number):1
If the value is
#X
(or equivalently1
), the object is placed horizontally next to the other object. If the value is#Y
or0
, it is placed vertically.direction
(direction):1
If
side-axis
is1
(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
but also other numerical values are permitted.Y-extent
(pair of numbers):ly:axis-group-interface::height
See
X-extent
.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.0
Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamic p and f) on their baselines.
padding
(dimension, in staff space):0.5
Add this much extra space between objects that are next to each other.
This object supports the following interfaces: 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::print
The symbol to print.
X-extent
(pair of numbers):ly:enclosing-bracket::width
Hard 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 interfaces: item-interface, enclosing-bracket-interface and grob-interface
BassFigureContinuation objects are created by: Figured_bass_engraver
Standard settings:
stencil
(unknown):ly:figured-bass-continuation::print
The symbol to print.
Y-offset
(number):ly:figured-bass-continuation::center-on-figures
The vertical amount that this object is moved relative to its Y-parent.
This object supports the following interfaces: 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::height
See
X-extent
.vertical-skylines
(unknown):ly:axis-group-interface::calc-skylines
Two skylines, one above and one below this grob.
This object supports the following interfaces: 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.8
Size of a gap in a variable symbol.
positions
(pair):#<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-space
units of the current staff. LilyPond uses these values to select which slur candidate positions to use; if extreme positions are requested, LilyPond selects the closest positions.concaveness
(number):ly:beam::calc-concaveness
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.
direction
(direction):ly:beam::calc-direction
If
side-axis
is1
(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
but also other numerical values are permitted.beaming
(pair):ly:beam::calc-beaming
Pair of number lists. Each number list specifies which beams to make.
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.stencil
(unknown):ly:beam::print
The symbol to print.
clip-edges
(boolean):#t
Allow outward pointing beamlets at the edges of beams?
thickness
(number):0.48
Line thickness, generally measured in
line-thickness
.neutral-direction
(direction):-1
Which 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):1
Amount of beam slope damping.
auto-knee-gap
(dimension, in staff space):5.5
If 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):'roman
The font family is the broadest category for selecting text fonts. Options include:
sans
,roman
.
This object supports the following interfaces: 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::print
The symbol to print.
thickness
(number):2.0
Line thickness, generally measured in
line-thickness
.
This object supports the following interfaces: 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::width
Hard coded extent in X direction.
break-align-anchor
(number):ly:break-aligned-interface::calc-average-anchor
Grobs aligned to this break-align grob will have their X-offsets shifted by this number. In barlines, for example, this is used to position grobs relative to the (visual) center of the barline.
break-visibility
(vector):ly:break-aligned-interface::calc-break-visibility
A vector of 3 booleans,
#(
end-of-line unbroken begin-of-line)
.#t
means visible,#f
means killed.
This object supports the following interfaces: item-interface, break-aligned-interface, axis-group-interface and grob-interface
BreakAlignment objects are created by: Break_align_engraver
Standard settings:
non-musical
(boolean):#t
True if the grob belongs to a
NonMusicalPaperColumn
.stacking-dir
(direction):1
Stack objects in which direction?
X-extent
(pair of numbers):ly:axis-group-interface::width
Hard 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 interfaces: 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-sign
This key is used for aligning and spacing breakable items.
non-musical
(boolean):#t
True 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-space
orextra-space
.stencil
(unknown):ly:text-interface::print
The symbol to print.
text
(markup):'(#<procedure musicglyph-markup (layout props glyph-name)> scripts.rcomma)
Text markup. See Text markup .
Y-offset
(number):ly:breathing-sign::offset-callback
The 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)
.#t
means visible,#f
means killed.
This object supports the following interfaces: 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::print
The symbol to print.
after-line-breaking
(boolean):ly:chord-name::after-line-breaking
Dummy property, used to trigger callback for
after-line-breaking
.word-space
(dimension, in staff space):0.0
Space to insert between words in texts.
font-family
(symbol):'sans
The font family is the broadest category for selecting text fonts. Options include:
sans
,roman
.font-size
(number):1.5
The font size, compared to the ‘normal’
size.
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.
This object supports the following interfaces: 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::print
The symbol to print.
non-musical
(boolean):#t
True if the grob belongs to a
NonMusicalPaperColumn
.avoid-slur
(symbol):'inside
Method of handling slur collisions. Choices are
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.font-family
(symbol):'music
The font family is the broadest category for selecting text fonts. Options include:
sans
,roman
.break-align-symbol
(symbol):'clef
This key is used for aligning and spacing breakable items.
break-align-anchor
(number):ly:break-aligned-interface::calc-extent-aligned-anchor
Grobs aligned to this break-align grob will have their X-offsets shifted by this number. In barlines, for example, this is used to position grobs relative to the (visual) center of the barline.
break-visibility
(vector):#(#f #f #t)
A vector of 3 booleans,
#(
end-of-line unbroken begin-of-line)
.#t
means visible,#f
means 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-space
orextra-space
.Y-offset
(number):ly:staff-symbol-referencer::callback
The vertical amount that this object is moved relative to its Y-parent.
This object supports the following interfaces: 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-rods
Dummy variable for triggering spacing routines.
stencil
(unknown):ly:cluster::print
The symbol to print.
minimum-length
(dimension, in staff space):0.0
Try to make a spanner at least this long, normally in the horizontal direction. This requires an appropriate callback for the
springs-and-rods
property. If added to aTie
, this sets the minimum distance between noteheads.padding
(dimension, in staff space):0.25
Add this much extra space between objects that are next to each other.
style
(symbol):'ramp
This setting determines in what style a grob is typeset. Valid choices depend on the
stencil
callback reading this property.
This object supports the following interfaces: 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::height
See
X-extent
.
This object supports the following interfaces: 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::print
The 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-side
The vertical amount that this object is moved relative to its Y-parent.
X-offset
(number):ly:self-alignment-interface::x-aligned-on-self
The horizontal amount that this object is moved relative to its X-parent.
direction
(direction):1
If
side-axis
is1
(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
but also other numerical values are permitted.padding
(dimension, in staff space):0.5
Add this much extra space between objects that are next to each other.
staff-padding
(dimension, in staff space):0.5
Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamic p and f) on their baselines.
script-priority
(number):200
A sorting key that determines in what order a script is within a stack of scripts.
baseline-skip
(dimension, in staff space):2
Distance between base lines of multiple lines of text.
side-axis
(number):1
If the value is
#X
(or equivalently1
), the object is placed horizontally next to the other object. If the value is#Y
or0
, it is placed vertically.font-series
(symbol):'bold
Select the series of a font. Choices include
medium
,bold
,bold-narrow
, etc.
This object supports the following interfaces: 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):'custos
This key is used for aligning and spacing breakable items.
non-musical
(boolean):#t
True if the grob belongs to a
NonMusicalPaperColumn
.stencil
(unknown):ly:custos::print
The symbol to print.
break-visibility
(vector):#(#t #f #f)
A vector of 3 booleans,
#(
end-of-line unbroken begin-of-line)
.#t
means visible,#f
means killed.style
(symbol):'vaticana
This setting determines in what style a grob is typeset. Valid choices depend on the
stencil
callback reading this property.neutral-direction
(direction):-1
Which direction to take in the center of the staff.
Y-offset
(number):ly:staff-symbol-referencer::callback
The 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-space
orextra-space
.
This object supports the following interfaces: 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):1
If
side-axis
is1
(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
but also other numerical values are permitted.X-extent
(pair of numbers):ly:axis-group-interface::width
Hard coded extent in X direction.
This object supports the following interfaces: 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::print
The symbol to print.
dot-count
(integer):dots::calc-dot-count
The number of dots.
staff-position
(number):dots::calc-staff-position
Vertical position, measured in half staff spaces, counted from the middle line.
This object supports the following interfaces: 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-percent
The symbol to print.
non-musical
(boolean):#t
True if the grob belongs to a
NonMusicalPaperColumn
.slope
(number):1.0
The slope of this object.
font-encoding
(symbol):'fetaMusic
The 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.0
The width of a grob measured in staff space.
thickness
(number):0.48
Line thickness, generally measured in
line-thickness
.break-align-symbol
(symbol):'staff-bar
This 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)
.#t
means visible,#f
means killed.
This object supports the following interfaces: percent-repeat-item-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::print
The 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-side
The vertical amount that this object is moved relative to its Y-parent.
font-encoding
(symbol):'fetaNumber
The font encoding is the broadest category for selecting a font. Options include:
fetaMusic
,fetaNumber
,TeX-text
,TeX-math
,fetaBraces
,fetaDynamic
.self-alignment-X
(number):0
Specify alignment of an object. The value
-1
means left aligned,0
centered, and1
right-aligned in X direction. Values in-between may also be specified.font-size
(number):-2
The font size, compared to the ‘normal’
size.
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.direction
(direction):1
If
side-axis
is1
(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
but also other numerical values are permitted.padding
(dimension, in staff space):0.2
Add this much extra space between objects that are next to each other.
staff-padding
(dimension, in staff space):0.25
Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamic p and f) on their baselines.
side-axis
(number):1
If the value is
#X
(or equivalently1
), the object is placed horizontally next to the other object. If the value is#Y
or0
, it is placed vertically.
This object supports the following interfaces: text-interface, side-position-interface, self-alignment-interface, percent-repeat-item-interface, item-interface, font-interface and grob-interface
DynamicLineSpanner objects are created by: 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-side
The vertical amount that this object is moved relative to its Y-parent.
staff-padding
(dimension, in staff space):0.1
Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamic p and f) on their baselines.
padding
(dimension, in staff space):0.6
Add this much extra space between objects that are next to each other.
slur-padding
(number):0.3
Extra distance between slur and script.
minimum-space
(dimension, in staff space):1.2
Minimum distance that the victim should move (after padding).
direction
(direction):-1
If
side-axis
is1
(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
but also other numerical values are permitted.side-axis
(number):1
If the value is
#X
(or equivalently1
), the object is placed horizontally next to the other object. If the value is#Y
or0
, it is placed vertically.outside-staff-priority
(number):250
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-priority
is closer to the staff.Y-extent
(pair of numbers):ly:axis-group-interface::height
See
X-extent
.X-extent
(pair of numbers):ly:axis-group-interface::width
Hard coded extent in X direction.
This object supports the following interfaces: spanner-interface, side-position-interface, dynamic-line-spanner-interface, dynamic-interface, axis-group-interface and grob-interface
DynamicText objects are created by: Dynamic_engraver
Standard settings:
stencil
(unknown):ly:text-interface::print
The symbol to print.
direction
(direction):ly:script-interface::calc-direction
If
side-axis
is1
(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
but also other numerical values are permitted.X-offset
(number):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):0
Specify alignment of an object. The value
-1
means left aligned,0
centered, and1
right-aligned in X direction. Values in-between may also be specified.Y-offset
(number):ly:self-alignment-interface::y-aligned-on-self
The vertical amount that this object is moved relative to its Y-parent.
self-alignment-Y
(number):0
Like
self-alignment-X
but for the Y axis.font-series
(symbol):'bold
Select the series of a font. Choices include
medium
,bold
,bold-narrow
, etc.font-encoding
(symbol):'fetaDynamic
The font encoding is the broadest category for selecting a font. Options include:
fetaMusic
,fetaNumber
,TeX-text
,TeX-math
,fetaBraces
,fetaDynamic
.font-shape
(symbol):'italic
Select 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):250
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-priority
is closer to the staff.
This object supports the following interfaces: text-interface, self-alignment-interface, script-interface, item-interface, font-interface, dynamic-interface and grob-interface
DynamicTextSpanner objects are created by: Dynamic_engraver
Standard settings:
font-shape
(symbol):'italic
Select the shape of a font. Choices include
upright
,italic
,caps
.style
(symbol):'dashed-line
This setting determines in what style a grob is typeset. Valid choices depend on the
stencil
callback reading this property.minimum-Y-extent
(pair of numbers):'(-1 . 1)
See
minimum-X-extent
.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::print
The symbol to print.
left-bound-info
(list):ly:line-spanner::calc-left-bound-info-and-text
An alist of properties for determining attachments of spanners to edges.
right-bound-info
(list):ly:line-spanner::calc-right-bound-info
An alist of properties for determining attachments of spanners to edges.
font-size
(number):1
The font size, compared to the ‘normal’
size.
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.dash-fraction
(number):0.2
Size of the dashes, relative to
dash-period
. Should be between0.0
(no line) and1.0
(continuous line).dash-period
(number):3.0
The length of one dash together with whitespace. If negative, no line is drawn at all.
This object supports the following interfaces: 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.5
Add this much extra space between objects that are next to each other.
avoid-slur
(symbol):'around
Method of handling slur collisions. Choices are
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.slur-padding
(number):0.2
Extra distance between slur and script.
staff-padding
(dimension, in staff space):0.5
Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamic p and f) on their baselines.
self-alignment-X
(number):0
Specify alignment of an object. The value
-1
means left aligned,0
centered, and1
right-aligned in X direction. Values in-between may also be specified.self-alignment-Y
(number):0
Like
self-alignment-X
but for the Y axis.script-priority
(number):100
A sorting key that determines in what order a script is within a stack of scripts.
stencil
(unknown):ly:text-interface::print
The symbol to print.
direction
(direction):ly:script-interface::calc-direction
If
side-axis
is1
(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
but also other numerical values are permitted.text
(markup):fingering::calc-text
Text markup. See Text markup .
font-encoding
(symbol):'fetaNumber
The font encoding is the broadest category for selecting a font. Options include:
fetaMusic
,fetaNumber
,TeX-text
,TeX-math
,fetaBraces
,fetaDynamic
.font-size
(number):-5
The font size, compared to the ‘normal’
size.
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.
This object supports the following interfaces: 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-stencil
The symbol to print.
finger-code
(symbol):'below-string
Code for the type of fingering indication in a fret diagram. Options include
none
,in-dot
, andbelow-string
.
This object supports the following interfaces: 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):'line
This setting determines in what style a grob is typeset. Valid choices depend on the
stencil
callback reading this property.gap
(dimension, in staff space):0.5
Size of a gap in a variable symbol.
zigzag-width
(dimension, in staff space):0.75
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.
X-extent
(pair of numbers):#f
Hard coded extent in X direction.
Y-extent
(pair of numbers):#f
See
X-extent
.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::print
The symbol to print.
left-bound-info
(list):ly:line-spanner::calc-left-bound-info
An alist of properties for determining attachments of spanners to edges.
right-bound-info
(list):ly:line-spanner::calc-right-bound-info
An alist of properties for determining attachments of spanners to edges.
This object supports the following interfaces: 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-duration
The most common shortest note length. This is used in spacing. Enlarging this sets the score tighter.
spacing-increment
(number):0.8
Add 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.6
Start with this much space for the shortest duration. This is expressed in
spacing-increment
as unit. See also spacing-spanner-interface.
This object supports the following interfaces: 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::width
Hard coded extent in X direction.
stencil
(unknown):ly:grid-line-interface::print
The symbol to print.
self-alignment-X
(number):0
Specify alignment of an object. The value
-1
means left aligned,0
centered, and1
right-aligned in X direction. Values in-between 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
(number):0
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.
This object supports the following interfaces: 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)
See
X-extent
.
This object supports the following interfaces: item-interface, grid-point-interface and grob-interface
Hairpin objects are created by: Dynamic_engraver
Standard settings:
stencil
(unknown):ly:hairpin::print
The symbol to print.
springs-and-rods
(boolean):ly:spanner::set-spacing-rods
Dummy variable for triggering spacing routines.
after-line-breaking
(boolean):ly:hairpin::after-line-breaking
Dummy property, used to trigger callback for
after-line-breaking
.grow-direction
(direction):hairpin::calc-grow-direction
Crescendo or decrescendo?
thickness
(number):1.0
Line thickness, generally measured in
line-thickness
.height
(dimension, in staff space):0.6666
Height of an object in
staff-space
units.minimum-length
(dimension, in staff space):2.0
Try to make a spanner at least this long, normally in the horizontal direction. This requires an appropriate callback for the
springs-and-rods
property. If added to aTie
, this sets the minimum distance between noteheads.bound-padding
(number):1.0
The amount of padding to insert around spanner bounds.
self-alignment-Y
(number):0
Like
self-alignment-X
but for the Y axis.Y-offset
(number):ly:self-alignment-interface::y-aligned-on-self
The vertical amount that this object is moved relative to its Y-parent.
This object supports the following interfaces: 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::print
The symbol to print.
padding
(dimension, in staff space):0
Add this much extra space between objects that are next to each other.
stencils
(list):parentheses-item::calc-angled-bracket-stencils
Multiple stencils, used as intermediate value.
This object supports the following interfaces: parentheses-interface, item-interface, font-interface and grob-interface
HorizontalBracket objects are created by: Horizontal_bracket_engraver
Standard settings:
thickness
(number):1.0
Line thickness, generally measured in
line-thickness
.stencil
(unknown):ly:horizontal-bracket::print
The symbol to print.
Y-offset
(number):ly:side-position-interface::y-aligned-side
The vertical amount that this object is moved relative to its Y-parent.
connect-to-neighbor
(pair):ly:tuplet-bracket::calc-connect-to-neighbors
Pair of booleans, indicating whether this grob looks as a continued break.
padding
(dimension, in staff space):0.2
Add this much extra space between objects that are next to each other.
staff-padding
(dimension, in staff space):0.2
Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamic p and f) on their baselines.
direction
(direction):-1
If
side-axis
is1
(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
but also other numerical values are permitted.side-axis
(number):1
If the value is
#X
(or equivalently1
), the object is placed horizontally next to the other object. If the value is#Y
or0
, 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.0
means straight edges.
This object supports the following interfaces: 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.3
Add this much extra space between objects that are next to each other.
stencil
(unknown):ly:system-start-text::print
The symbol to print.
X-offset
(number):ly:side-position-interface::x-aligned-side
The horizontal amount that this object is moved relative to its X-parent.
direction
(direction):-1
If
side-axis
is1
(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
but also other numerical values are permitted.self-alignment-Y
(number):0
Like
self-alignment-X
but for the Y axis.
This object supports the following interfaces: 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.3
Add this much extra space between objects that are next to each other.
stencil
(unknown):ly:text-interface::print
The symbol to print.
Y-offset
(number):ly:side-position-interface::y-aligned-side
The vertical amount that this object is moved relative to its Y-parent.
X-offset
(number):ly:self-alignment-interface::x-aligned-on-self
The horizontal amount that this object is moved relative to its X-parent.
staff-padding
(dimension, in staff space):2
Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamic p and f) on their baselines.
direction
(direction):1
If
side-axis
is1
(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
but also other numerical values are permitted.self-alignment-X
(number):0
Specify alignment of an object. The value
-1
means left aligned,0
centered, and1
right-aligned in X direction. Values in-between may also be specified.
This object supports the following interfaces: side-position-interface, item-interface, font-interface and grob-interface
KeyCancellation objects are created by: none
Standard settings:
stencil
(unknown):ly:key-signature-interface::print
The 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-space
orextra-space
.Y-offset
(number):ly:staff-symbol-referencer::callback
The vertical amount that this object is moved relative to its Y-parent.
break-align-symbol
(symbol):'key-cancellation
This 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)
.#t
means visible,#f
means killed.non-musical
(boolean):#t
True if the grob belongs to a
NonMusicalPaperColumn
.
This object supports the following interfaces: 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::print
The symbol to print.
avoid-slur
(symbol):'inside
Method of handling slur collisions. Choices are
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.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-space
orextra-space
.Y-offset
(number):ly:staff-symbol-referencer::callback
The vertical amount that this object is moved relative to its Y-parent.
break-align-symbol
(symbol):'key-signature
This key is used for aligning and spacing breakable items.
break-align-anchor
(number):ly:break-aligned-interface::calc-extent-aligned-anchor
Grobs aligned to this break-align grob will have their X-offsets shifted by this number. In barlines, for example, this is used to position grobs relative to the (visual) center of the barline.
break-visibility
(vector):#(#f #f #t)
A vector of 3 booleans,
#(
end-of-line unbroken begin-of-line)
.#t
means visible,#f
means killed.non-musical
(boolean):#t
True if the grob belongs to a
NonMusicalPaperColumn
.
This object supports the following interfaces: 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::print
The symbol to print.
control-points
(list):ly:semi-tie::calc-control-points
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):ly:tie::calc-direction
If
side-axis
is1
(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
but also other numerical values are permitted.head-direction
(direction):-1
Are the note heads left or right in a semitie?
thickness
(number):1.0
Line thickness, generally measured in
line-thickness
.
This object supports the following interfaces: semi-tie-interface, item-interface and grob-interface
LaissezVibrerTieColumn objects are created by: Laissez_vibrer_engraver
Standard settings:
X-extent
(pair of numbers):#f
Hard coded extent in X direction.
Y-extent
(pair of numbers):#f
See
X-extent
.head-direction
(direction):-1
Are the note heads left or right in a semitie?
This object supports the following interfaces: 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-rods
Dummy variable for triggering spacing routines.
stencil
(unknown):ly:ledger-line-spanner::print
The symbol to print.
X-extent
(pair of numbers):#f
Hard coded extent in X direction.
Y-extent
(pair of numbers):#f
See
X-extent
.minimum-length-fraction
(number):0.25
Minimum length of ledger line as fraction of note head size.
length-fraction
(number):0.25
Multiplier for lengths. Used for determining ledger lines and stem lengths.
layer
(number):0
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.
This object supports the following interfaces: spanner-interface, ledger-line-spanner-interface and grob-interface
LeftEdge objects are created by: Break_align_engraver
Standard settings:
break-align-symbol
(symbol):'left-edge
This key is used for aligning and spacing breakable items.
break-align-anchor
(number):ly:break-aligned-interface::calc-extent-aligned-anchor
Grobs aligned to this break-align grob will have their X-offsets shifted by this number. In barlines, for example, this is used to position grobs relative to the (visual) center of the barline.
X-extent
(pair of numbers):'(0 . 0)
Hard coded extent in X direction.
non-musical
(boolean):#t
True 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)
.#t
means visible,#f
means 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-space
orextra-space
.
This object supports the following interfaces: item-interface, break-aligned-interface and grob-interface
LigatureBracket objects are created by: none
Standard settings:
padding
(dimension, in staff space):2.0
Add this much extra space between objects that are next to each other.
thickness
(number):1.6
Line 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):1
If
side-axis
is1
(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
but also other numerical values are permitted.positions
(pair):ly:tuplet-bracket::calc-positions
Pair of staff coordinates
(
left.
right)
, where both left and right are instaff-space
units of the current staff. LilyPond uses these values to select which slur candidate positions to use; if extreme positions are requested, LilyPond selects the closest positions.stencil
(unknown):ly:tuplet-bracket::print
The symbol to print.
staff-padding
(dimension, in staff space):0.25
Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamic p and f) on their baselines.
connect-to-neighbor
(pair):ly:tuplet-bracket::calc-connect-to-neighbors
Pair of booleans, indicating whether this grob looks as a continued break.
control-points
(list):ly:tuplet-bracket::calc-control-points
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.
This object supports the following interfaces: tuplet-bracket-interface, spanner-interface, line-interface and grob-interface
LyricExtender objects are created by: Extender_engraver
Standard settings:
stencil
(unknown):ly:lyric-extender::print
The symbol to print.
thickness
(number):0.8
Line thickness, generally measured in
line-thickness
.minimum-length
(dimension, in staff space):1.5
Try to make a spanner at least this long, normally in the horizontal direction. This requires an appropriate callback for the
springs-and-rods
property. If added to aTie
, this sets the minimum distance between noteheads.Y-extent
(pair of numbers):'(0 . 0)
See
X-extent
.
This object supports the following interfaces: spanner-interface, lyric-interface, lyric-extender-interface and grob-interface
LyricHyphen objects are created by: Hyphen_engraver
Standard settings:
thickness
(number):1.3
Line thickness, generally measured in
line-thickness
.height
(dimension, in staff space):0.42
Height of an object in
staff-space
units.dash-period
(number):10.0
The length of one dash together with whitespace. If negative, no line is drawn at all.
length
(dimension, in staff space):0.66
User override for the stem length of unbeamed stems.
minimum-length
(dimension, in staff space):0.3
Try to make a spanner at least this long, normally in the horizontal direction. This requires an appropriate callback for the
springs-and-rods
property. If added to aTie
, this sets the minimum distance between noteheads.minimum-distance
(dimension, in staff space):0.1
Minimum distance between rest and notes or beam.
padding
(dimension, in staff space):0.07
Add this much extra space between objects that are next to each other.
springs-and-rods
(boolean):ly:lyric-hyphen::set-spacing-rods
Dummy variable for triggering spacing routines.
stencil
(unknown):ly:lyric-hyphen::print
The symbol to print.
Y-extent
(pair of numbers):'(0 . 0)
See
X-extent
.
This object supports the following interfaces: 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.45
Minimum distance between rest and notes or beam.
springs-and-rods
(boolean):ly:lyric-hyphen::set-spacing-rods
Dummy variable for triggering spacing routines.
padding
(dimension, in staff space):0.0
Add this much extra space between objects that are next to each other.
Y-extent
(pair of numbers):#f
See
X-extent
.X-extent
(pair of numbers):#f
Hard coded extent in X direction.
This object supports the following interfaces: spanner-interface, lyric-hyphen-interface and grob-interface
LyricText objects are created by: Lyric_engraver
Standard settings:
stencil
(unknown):lyric-text::print
The symbol to print.
text
(markup):#<procedure #f (grob)>
Text markup. See Text markup .
X-offset
(number):ly:self-alignment-interface::aligned-on-x-parent
The horizontal amount that this object is moved relative to its X-parent.
self-alignment-X
(number):0
Specify alignment of an object. The value
-1
means left aligned,0
centered, and1
right-aligned in X direction. Values in-between may also be specified.word-space
(dimension, in staff space):0.6
Space to insert between words in texts.
font-series
(symbol):'bold-narrow
Select the series of a font. Choices include
medium
,bold
,bold-narrow
, etc.font-size
(number):1.0
The font size, compared to the ‘normal’
size.
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.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 interfaces: 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-side
The vertical amount that this object is moved relative to its Y-parent.
side-axis
(number):1
If the value is
#X
(or equivalently1
), the object is placed horizontally next to the other object. If the value is#Y
or0
, it is placed vertically.stencil
(unknown):ly:measure-grouping::print
The symbol to print.
padding
(dimension, in staff space):2
Add this much extra space between objects that are next to each other.
direction
(direction):1
If
side-axis
is1
(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
but also other numerical values are permitted.thickness
(number):1
Line thickness, generally measured in
line-thickness
.height
(dimension, in staff space):2.0
Height of an object in
staff-space
units.staff-padding
(dimension, in staff space):3
Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamic p and f) on their baselines.
This object supports the following interfaces: spanner-interface, side-position-interface, measure-grouping-interface and grob-interface
MelodyItem objects are created by: Melody_engraver
Standard settings:
neutral-direction
(direction):-1
Which direction to take in the center of the staff.
This object supports the following interfaces: melody-spanner-interface, item-interface and grob-interface
MensuralLigature objects are created by: Mensural_ligature_engraver
Standard settings:
thickness
(number):1.4
Line thickness, generally measured in
line-thickness
.stencil
(unknown):ly:mensural-ligature::print
The symbol to print.
This object supports the following interfaces: 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::print
The symbol to print.
Y-offset
(number):ly:side-position-interface::y-aligned-side
The vertical amount that this object is moved relative to its Y-parent.
direction
(direction):1
If
side-axis
is1
(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
but also other numerical values are permitted.padding
(dimension, in staff space):0.8
Add this much extra space between objects that are next to each other.
side-axis
(number):1
If the value is
#X
(or equivalently1
), the object is placed horizontally next to the other object. If the value is#Y
or0
, it is placed vertically.outside-staff-priority
(number):1000
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-priority
is closer to the staff.
This object supports the following interfaces: 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::print
The symbol to print.
springs-and-rods
(boolean):ly:multi-measure-rest::set-spacing-rods
Dummy variable for triggering spacing routines.
Y-offset
(number):ly:staff-symbol-referencer::callback
The vertical amount that this object is moved relative to its Y-parent.
staff-position
(number):0
Vertical position, measured in half staff spaces, counted from the middle line.
expand-limit
(integer):10
Maximum number of measures expanded in church rests.
thick-thickness
(number):6.6
Bar line thickness, measured in
line-thickness
.hair-thickness
(number):2.0
Thickness of the thin line in a bar line.
padding
(dimension, in staff space):1
Add this much extra space between objects that are next to each other.
This object supports the following interfaces: 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.0
The amount of padding to insert around spanner bounds.
springs-and-rods
(boolean):ly:multi-measure-rest::set-text-rods
Dummy variable for triggering spacing routines.
stencil
(unknown):ly:text-interface::print
The 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-side
The vertical amount that this object is moved relative to its Y-parent.
side-axis
(number):1
If the value is
#X
(or equivalently1
), the object is placed horizontally next to the other object. If the value is#Y
or0
, it is placed vertically.self-alignment-X
(number):0
Specify alignment of an object. The value
-1
means left aligned,0
centered, and1
right-aligned in X direction. Values in-between may also be specified.direction
(direction):1
If
side-axis
is1
(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
but also other numerical values are permitted.padding
(dimension, in staff space):0.4
Add this much extra space between objects that are next to each other.
staff-padding
(dimension, in staff space):0.4
Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamic p and f) on their baselines.
font-encoding
(symbol):'fetaNumber
The 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 interfaces: 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::print
The 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-side
The vertical amount that this object is moved relative to its Y-parent.
self-alignment-X
(number):0
Specify alignment of an object. The value
-1
means left aligned,0
centered, and1
right-aligned in X direction. Values in-between may also be specified.direction
(direction):1
If
side-axis
is1
(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
but also other numerical values are permitted.padding
(dimension, in staff space):0.2
Add this much extra space between objects that are next to each other.
staff-padding
(dimension, in staff space):0.25
Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamic p and f) on their baselines.
This object supports the following interfaces: 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):#t
If 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-breaking
Dummy property, used to trigger a callback function.
X-extent
(pair of numbers):ly:axis-group-interface::width
Hard coded extent in X direction.
horizontal-skylines
(unknown):ly:separation-item::calc-skylines
Two skylines, one to the left and one to the right of this grob.
non-musical
(boolean):#t
True if the grob belongs to a
NonMusicalPaperColumn
.line-break-permission
(symbol):'allow
Instructs the line breaker on whether to put a line break at this column. Can be
force
orallow
.page-break-permission
(symbol):'allow
Instructs the page breaker on whether to put a page break at this column. Can be
force
orallow
.
This object supports the following interfaces: 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::width
Hard coded extent in X direction.
Y-extent
(pair of numbers):ly:axis-group-interface::height
See
X-extent
.
This object supports the following interfaces: 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::width
Hard coded extent in X direction.
Y-extent
(pair of numbers):ly:axis-group-interface::height
See
X-extent
.horizontal-skylines
(unknown):ly:separation-item::calc-skylines
Two skylines, one to the left and one to the right of this grob.
This object supports the following interfaces: 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::print
The symbol to print.
duration-log
(integer):note-head::calc-duration-log
The 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-attachment
A
(
x.
y)
pair where the stem attaches to the notehead.Y-offset
(number):ly:staff-symbol-referencer::callback
The vertical amount that this object is moved relative to its Y-parent.
X-offset
(number):ly:note-head::stem-x-shift
The horizontal amount that this object is moved relative to its X-parent.
This object supports the following interfaces: 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::print
The symbol to print.
This object supports the following interfaces: 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.5
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.
same-direction-correction
(number):0.25
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.
knee-spacing-correction
(number):1.0
Factor for the optical correction amount for kneed beams. Set between
0
for no correction and1
for full correction.
This object supports the following interfaces: spacing-interface, note-spacing-interface, item-interface and grob-interface
OctavateEight objects are created by: Clef_engraver
Standard settings:
self-alignment-X
(number):0
Specify alignment of an object. The value
-1
means left aligned,0
centered, and1
right-aligned in X direction. Values in-between may also be specified.break-visibility
(vector):#(#f #f #t)
A vector of 3 booleans,
#(
end-of-line unbroken begin-of-line)
.#t
means visible,#f
means 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-side
The vertical amount that this object is moved relative to its Y-parent.
stencil
(unknown):ly:text-interface::print
The symbol to print.
font-shape
(symbol):'italic
Select the shape of a font. Choices include
upright
,italic
,caps
.staff-padding
(dimension, in staff space):0.2
Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamic p and f) on their baselines.
font-size
(number):-4
The font size, compared to the ‘normal’
size.
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.
This object supports the following interfaces: 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-side
The vertical amount that this object is moved relative to its Y-parent.
stencil
(unknown):ly:ottava-bracket::print
The symbol to print.
font-shape
(symbol):'italic
Select 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.0
Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamic p and f) on their baselines.
padding
(dimension, in staff space):0.5
Add this much extra space between objects that are next to each other.
minimum-length
(dimension, in staff space):1.0
Try to make a spanner at least this long, normally in the horizontal direction. This requires an appropriate callback for the
springs-and-rods
property. If added to aTie
, this sets the minimum distance between noteheads.dash-fraction
(number):0.3
Size 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):1
If
side-axis
is1
(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
but also other numerical values are permitted.outside-staff-priority
(number):400
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-priority
is closer to the staff.
This object supports the following interfaces: 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):#t
If set, column can be detached from main spacing.
before-line-breaking
(boolean):ly:paper-column::before-line-breaking
Dummy property, used to trigger a callback function.
horizontal-skylines
(unknown):ly:separation-item::calc-skylines
Two skylines, one to the left and one to the right of this grob.
X-extent
(pair of numbers):ly:axis-group-interface::width
Hard coded extent in X direction.
This object supports the following interfaces: 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::print
The symbol to print.
stencils
(list):parentheses-item::calc-parenthesis-stencils
Multiple stencils, used as intermediate value.
font-size
(number):-6
The font size, compared to the ‘normal’
size.
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.padding
(dimension, in staff space):0.2
Add this much extra space between objects that are next to each other.
This object supports the following interfaces: 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-rods
Dummy variable for triggering spacing routines.
stencil
(unknown):ly:multi-measure-rest::percent
The symbol to print.
slope
(number):1.0
The slope of this object.
thickness
(number):0.48
Line thickness, generally measured in
line-thickness
.font-encoding
(symbol):'fetaMusic
The 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 interfaces: spanner-interface, percent-repeat-item-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::print
The 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-side
The vertical amount that this object is moved relative to its Y-parent.
self-alignment-X
(number):0
Specify alignment of an object. The value
-1
means left aligned,0
centered, and1
right-aligned in X direction. Values in-between may also be specified.direction
(direction):1
If
side-axis
is1
(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
but also other numerical values are permitted.padding
(dimension, in staff space):0.2
Add this much extra space between objects that are next to each other.
staff-padding
(dimension, in staff space):0.25
Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamic p and f) on their baselines.
font-size
(number):-2
The font size, compared to the ‘normal’
size.
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.font-encoding
(symbol):'fetaNumber
The 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 interfaces: text-interface, spanner-interface, side-position-interface, self-alignment-interface, percent-repeat-item-interface, font-interface and grob-interface
PhrasingSlur objects are created by: Phrasing_slur_engraver
Standard settings:
control-points
(list):ly:slur::calc-control-points
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):ly:slur::calc-direction
If
side-axis
is1
(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
but also other numerical values are permitted.springs-and-rods
(boolean):ly:spanner::set-spacing-rods
Dummy variable for triggering spacing routines.
Y-extent
(pair of numbers):ly:slur::height
See
X-extent
.stencil
(unknown):ly:slur::print
The symbol to print.
thickness
(number):1.1
Line thickness, generally measured in
line-thickness
.minimum-length
(dimension, in staff space):1.5
Try to make a spanner at least this long, normally in the horizontal direction. This requires an appropriate callback for the
springs-and-rods
property. If added to aTie
, this sets the minimum distance between noteheads.height-limit
(dimension, in staff space):2.0
Maximum slur height: The longer the slur, the closer it is to this height.
ratio
(number):0.333
Parameter for slur shape. The higher this number, the quicker the slur attains its
height-limit
.
This object supports the following interfaces: spanner-interface, slur-interface and grob-interface
PianoPedalBracket objects are created by: Piano_pedal_engraver
Standard settings:
stencil
(unknown):ly:piano-pedal-bracket::print
The symbol to print.
style
(symbol):'line
This setting determines in what style a grob is typeset. Valid choices depend on the
stencil
callback reading this property.bound-padding
(number):1.0
The amount of padding to insert around spanner bounds.
direction
(direction):-1
If
side-axis
is1
(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
but also other numerical values are permitted.bracket-flare
(pair of numbers):'(0.5 . 0.5)
A pair of numbers specifying how much edges of brackets should slant outward. Value
0.0
means 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.0
Line thickness, generally measured in
line-thickness
.
This object supports the following interfaces: 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::print
The 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-side
The 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):0
Specify alignment of an object. The value
-1
means left aligned,0
centered, and1
right-aligned in X direction. Values in-between may also be specified.direction
(direction):1
If
side-axis
is1
(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
but also other numerical values are permitted.non-musical
(boolean):#t
True if the grob belongs to a
NonMusicalPaperColumn
.font-size
(number):2
The font size, compared to the ‘normal’
size.
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.baseline-skip
(dimension, in staff space):2
Distance 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)
.#t
means visible,#f
means 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.8
Add this much extra space between objects that are next to each other.
outside-staff-priority
(number):1500
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-priority
is closer to the staff.
This object supports the following interfaces: 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-slash
The symbol to print.
thickness
(number):0.48
Line thickness, generally measured in
line-thickness
.slope
(number):1.7
The slope of this object.
This object supports the following interfaces: rhythmic-grob-interface, percent-repeat-item-interface, item-interface and grob-interface
RepeatTie objects are created by: Repeat_tie_engraver
Standard settings:
stencil
(unknown):ly:tie::print
The symbol to print.
control-points
(list):ly:semi-tie::calc-control-points
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):ly:tie::calc-direction
If
side-axis
is1
(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
but also other numerical values are permitted.thickness
(number):1.0
Line thickness, generally measured in
line-thickness
.head-direction
(direction):1
Are the note heads left or right in a semitie?
This object supports the following interfaces: semi-tie-interface, item-interface and grob-interface
RepeatTieColumn objects are created by: Repeat_tie_engraver
Standard settings:
X-extent
(pair of numbers):#f
Hard coded extent in X direction.
Y-extent
(pair of numbers):#f
See
X-extent
.direction
(direction):ly:tie::calc-direction
If
side-axis
is1
(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
but also other numerical values are permitted.head-direction
(direction):ly:semi-tie-column::calc-head-direction
Are the note heads left or right in a semitie?
This object supports the following interfaces: semi-tie-column-interface, item-interface and grob-interface
Rest objects are created by: Rest_engraver
Standard settings:
stencil
(unknown):ly:rest::print
The symbol to print.
duration-log
(integer):stem::calc-duration-log
The 2-log of the note head duration, i.e.
0
= whole note,1
= half note, etc.X-extent
(pair of numbers):ly:rest::width
Hard coded extent in X direction.
Y-extent
(pair of numbers):ly:rest::height
See
X-extent
.Y-offset
(number):ly:rest::y-offset-callback
The vertical amount that this object is moved relative to its Y-parent.
minimum-distance
(dimension, in staff space):0.25
Minimum distance between rest and notes or beam.
This object supports the following interfaces: 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.75
Minimum distance between rest and notes or beam.
This object supports the following interfaces: 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.25
Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamic p and f) on their baselines.
X-offset
(number):script-interface::calc-x-offset
The horizontal amount that this object is moved relative to its X-parent.
Y-offset
(number):ly:side-position-interface::y-aligned-side
The vertical amount that this object is moved relative to its Y-parent.
side-axis
(number):1
If the value is
#X
(or equivalently1
), the object is placed horizontally next to the other object. If the value is#Y
or0
, it is placed vertically.stencil
(unknown):ly:script-interface::print
The symbol to print.
direction
(direction):ly:script-interface::calc-direction
If
side-axis
is1
(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
but also other numerical values are permitted.font-encoding
(symbol):'fetaMusic
The 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 interfaces: 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-breaking
Dummy property, used to trigger a callback function.
This object supports the following interfaces: 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-breaking
Dummy property, used to trigger a callback function.
This object supports the following interfaces: script-column-interface, item-interface and grob-interface
SeparationItem objects are created by: none
Standard settings:
avoid-slur
(symbol):'inside
Method of handling slur collisions. Choices are
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.X-extent
(pair of numbers):ly:axis-group-interface::width
Hard coded extent in X direction.
Y-extent
(pair of numbers):ly:axis-group-interface::height
See
X-extent
.horizontal-skylines
(unknown):ly:separation-item::calc-skylines
Two skylines, one to the left and one to the right of this grob.
stencil
(unknown):ly:separation-item::print
The symbol to print.
This object supports the following interfaces: separation-item-interface, item-interface and grob-interface
Slur objects are created by: Slur_engraver
Standard settings:
control-points
(list):ly:slur::calc-control-points
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):ly:slur::calc-direction
If
side-axis
is1
(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
but also other numerical values are permitted.springs-and-rods
(boolean):ly:spanner::set-spacing-rods
Dummy variable for triggering spacing routines.
Y-extent
(pair of numbers):ly:slur::height
See
X-extent
.stencil
(unknown):ly:slur::print
The symbol to print.
thickness
(number):1.2
Line thickness, generally measured in
line-thickness
.line-thickness
(number):0.8
The thickness of the tie or slur contour.
minimum-length
(dimension, in staff space):1.5
Try to make a spanner at least this long, normally in the horizontal direction. This requires an appropriate callback for the
springs-and-rods
property. If added to aTie
, this sets the minimum distance between noteheads.height-limit
(dimension, in staff space):2.0
Maximum slur height: The longer the slur, the closer it is to this height.
ratio
(number):0.25
Parameter for slur shape. The higher this number, the quicker the slur attains its
height-limit
.avoid-slur
(symbol):'inside
Method of handling slur collisions. Choices are
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.
This object supports the following interfaces: spanner-interface, slur-interface and grob-interface
SostenutoPedal objects are created by: Piano_pedal_engraver
Standard settings:
stencil
(unknown):ly:text-interface::print
The symbol to print.
direction
(direction):1
If
side-axis
is1
(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
but also other numerical values are permitted.X-offset
(number):ly:self-alignment-interface::x-aligned-on-self
The 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.0
Add this much extra space between objects that are next to each other.
font-shape
(symbol):'italic
Select the shape of a font. Choices include
upright
,italic
,caps
.self-alignment-X
(number):0
Specify alignment of an object. The value
-1
means left aligned,0
centered, and1
right-aligned in X direction. Values in-between may also be specified.
This object supports the following interfaces: 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::height
See
X-extent
.Y-offset
(number):ly:side-position-interface::y-aligned-side
The vertical amount that this object is moved relative to its Y-parent.
side-axis
(number):1
If the value is
#X
(or equivalently1
), the object is placed horizontally next to the other object. If the value is#Y
or0
, it is placed vertically.staff-padding
(dimension, in staff space):1.0
Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamic p and f) on their baselines.
padding
(dimension, in staff space):1.2
Add this much extra space between objects that are next to each other.
minimum-space
(dimension, in staff space):1.0
Minimum distance that the victim should move (after padding).
direction
(direction):-1
If
side-axis
is1
(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
but also other numerical values are permitted.
This object supports the following interfaces: 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-springs
Dummy variable for triggering spacing routines.
common-shortest-duration
(moment):ly:spacing-spanner::calc-common-shortest-duration
The most common shortest note length. This is used in spacing. Enlarging this sets the score tighter.
average-spacing-wishes
(boolean):#t
If set, the spacing wishes are averaged over staves.
shortest-duration-space
(dimension, in staff space):2.0
Start with this much space for the shortest duration. This is expressed in
spacing-increment
as unit. See also spacing-spanner-interface.spacing-increment
(number):1.2
Add 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 interfaces: 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-bar
This key is used for aligning and spacing breakable items.
Y-extent
(pair of numbers):'()
See
X-extent
.layer
(number):0
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.
non-musical
(boolean):#t
True if the grob belongs to a
NonMusicalPaperColumn
.stencil
(unknown):ly:span-bar::print
The symbol to print.
bar-size
(dimension, in staff space):ly:span-bar::calc-bar-size
The size of a bar line.
X-extent
(pair of numbers):ly:span-bar::width
Hard coded extent in X direction.
before-line-breaking
(boolean):ly:span-bar::before-line-breaking
Dummy property, used to trigger a callback function.
kern
(dimension, in staff space):3.0
Amount of extra white space to add. For bar lines, this is the amount of space after a thick line.
thin-kern
(number):3.0
The space after a hair-line in a bar line.
hair-thickness
(number):1.6
Thickness of the thin line in a bar line.
thick-thickness
(number):6.0
Bar line thickness, measured in
line-thickness
.
This object supports the following interfaces: 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):#t
True if the grob belongs to a
NonMusicalPaperColumn
.stem-spacing-correction
(number):0.4
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 object supports the following interfaces: 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::height
See
X-extent
.stencil
(unknown):ly:staff-symbol::print
The symbol to print.
line-count
(integer):5
The 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
(number):0
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.
This object supports the following interfaces: staff-symbol-interface, spanner-interface and grob-interface
StanzaNumber objects are created by: Stanza_number_engraver
Standard settings:
stencil
(unknown):ly:text-interface::print
The symbol to print.
font-series
(symbol):'bold
Select the series of a font. Choices include
medium
,bold
,bold-narrow
, etc.padding
(dimension, in staff space):1.0
Add this much extra space between objects that are next to each other.
X-offset
(number):ly:side-position-interface::x-aligned-side
The horizontal amount that this object is moved relative to its X-parent.
side-axis
(number):0
If the value is
#X
(or equivalently1
), the object is placed horizontally next to the other object. If the value is#Y
or0
, it is placed vertically.direction
(direction):-1
If
side-axis
is1
(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
but also other numerical values are permitted.
This object supports the following interfaces: 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-direction
If
side-axis
is1
(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
but also other numerical values are permitted.duration-log
(integer):stem::calc-duration-log
The 2-log of the note head duration, i.e.
0
= whole note,1
= half note, etc.default-direction
(direction):ly:stem::calc-default-direction
Direction determined by note head positions.
stem-end-position
(number):ly:stem::calc-stem-end-position
Where does the stem end (the end is opposite to the support-head)?
neutral-direction
(direction):-1
Which direction to take in the center of the staff.
stencil
(unknown):ly:stem::print
The symbol to print.
X-extent
(pair of numbers):ly:stem::width
Hard coded extent in X direction.
Y-extent
(pair of numbers):ly:stem::height
See
X-extent
.length
(dimension, in staff space):ly:stem::calc-length
User override for the stem length of unbeamed stems.
thickness
(number):1.3
Line thickness, generally measured in
line-thickness
.X-offset
(number):ly:stem::offset-callback
The horizontal amount that this object is moved relative to its X-parent.
Y-offset
(number):ly:staff-symbol-referencer::callback
The vertical amount that this object is moved relative to its Y-parent.
This object supports the following interfaces: 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::height
See
X-extent
.X-extent
(pair of numbers):ly:stem-tremolo::width
Hard coded extent in X direction.
stencil
(unknown):ly:stem-tremolo::print
The symbol to print.
slope
(number):ly:stem-tremolo::calc-slope
The slope of this object.
beam-width
(dimension, in staff space):ly:stem-tremolo::calc-width
Width of the tremolo sign.
style
(symbol):ly:stem-tremolo::calc-style
This setting determines in what style a grob is typeset. Valid choices depend on the
stencil
callback reading this property.beam-thickness
(dimension, in staff space):0.48
Beam thickness, measured in
staff-space
units.
This object supports the following interfaces: stem-tremolo-interface, item-interface and grob-interface
StringNumber objects are created by: New_fingering_engraver
Standard settings:
stencil
(unknown):print-circled-text-callback
The symbol to print.
text
(markup):string-number::calc-text
Text markup. See Text markup .
padding
(dimension, in staff space):0.5
Add this much extra space between objects that are next to each other.
staff-padding
(dimension, in staff space):0.5
Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamic p and f) on their baselines.
self-alignment-X
(number):0
Specify alignment of an object. The value
-1
means left aligned,0
centered, and1
right-aligned in X direction. Values in-between may also be specified.self-alignment-Y
(number):0
Like
self-alignment-X
but for the Y axis.script-priority
(number):100
A sorting key that determines in what order a script is within a stack of scripts.
font-encoding
(symbol):'fetaNumber
The font encoding is the broadest category for selecting a font. Options include:
fetaMusic
,fetaNumber
,TeX-text
,TeX-math
,fetaBraces
,fetaDynamic
.font-size
(number):-5
The font size, compared to the ‘normal’
size.
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.
This object supports the following interfaces: 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::print
The symbol to print.
text
(markup):stroke-finger::calc-text
Text markup. See Text markup .
digit-names
(unknown):#(p i m a x)
Names for string finger digits.
padding
(dimension, in staff space):0.5
Add this much extra space between objects that are next to each other.
staff-padding
(dimension, in staff space):0.5
Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamic p and f) on their baselines.
self-alignment-X
(number):0
Specify alignment of an object. The value
-1
means left aligned,0
centered, and1
right-aligned in X direction. Values in-between may also be specified.self-alignment-Y
(number):0
Like
self-alignment-X
but for the Y axis.script-priority
(number):100
A sorting key that determines in what order a script is within a stack of scripts.
font-shape
(symbol):'italic
Select the shape of a font. Choices include
upright
,italic
,caps
.font-size
(number):-4
The font size, compared to the ‘normal’
size.
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.
This object supports the following interfaces: 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::print
The symbol to print.
self-alignment-X
(number):0
Specify alignment of an object. The value
-1
means left aligned,0
centered, and1
right-aligned in X direction. Values in-between may also be specified.direction
(direction):1
If
side-axis
is1
(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
but also other numerical values are permitted.padding
(dimension, in staff space):0.0
Add this much extra space between objects that are next to each other.
X-offset
(number):ly:self-alignment-interface::x-aligned-on-self
The horizontal amount that this object is moved relative to its X-parent.
This object supports the following interfaces: 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::height
See
X-extent
.Y-offset
(number):ly:side-position-interface::y-aligned-side
The vertical amount that this object is moved relative to its Y-parent.
side-axis
(number):1
If the value is
#X
(or equivalently1
), the object is placed horizontally next to the other object. If the value is#Y
or0
, it is placed vertically.padding
(dimension, in staff space):1.2
Add this much extra space between objects that are next to each other.
staff-padding
(dimension, in staff space):1.2
Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamic p and f) on their baselines.
minimum-space
(dimension, in staff space):1.0
Minimum distance that the victim should move (after padding).
direction
(direction):-1
If
side-axis
is1
(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
but also other numerical values are permitted.
This object supports the following interfaces: spanner-interface, side-position-interface, piano-pedal-interface, axis-group-interface and grob-interface
System objects are created by: none
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::width
Hard coded extent in X direction.
Y-extent
(pair of numbers):ly:axis-group-interface::height
See
X-extent
.vertical-skylines
(unknown):ly:axis-group-interface::calc-skylines
Two skylines, one above and one below this grob.
max-stretch
(number):ly:axis-group-interface::calc-max-stretch
The maximum amount that this
VerticalAxisGroup
can be vertically stretched (for example, in order to better fill a page).
This object supports the following interfaces: 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):#f
See
X-extent
.padding
(dimension, in staff space):-0.1
Add this much extra space between objects that are next to each other.
X-offset
(number):ly:side-position-interface::x-aligned-side
The horizontal amount that this object is moved relative to its X-parent.
direction
(direction):-1
If
side-axis
is1
(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
but also other numerical values are permitted.style
(symbol):'bar-line
This setting determines in what style a grob is typeset. Valid choices depend on the
stencil
callback reading this property.thickness
(number):1.6
Line thickness, generally measured in
line-thickness
.stencil
(unknown):ly:system-start-delimiter::print
The symbol to print.
This object supports the following interfaces: 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):'brace
This setting determines in what style a grob is typeset. Valid choices depend on the
stencil
callback reading this property.padding
(dimension, in staff space):0.3
Add this much extra space between objects that are next to each other.
stencil
(unknown):ly:system-start-delimiter::print
The symbol to print.
collapse-height
(dimension, in staff space):5.0
Minimum height of system start delimiter. If equal or smaller, the bracket is removed.
X-offset
(number):ly:side-position-interface::x-aligned-side
The horizontal amount that this object is moved relative to its X-parent.
direction
(direction):-1
If
side-axis
is1
(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
but also other numerical values are permitted.font-encoding
(symbol):'fetaBraces
The 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):#f
See
X-extent
.
This object supports the following interfaces: 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):#f
See
X-extent
.padding
(dimension, in staff space):0.8
Add this much extra space between objects that are next to each other.
X-offset
(number):ly:side-position-interface::x-aligned-side
The horizontal amount that this object is moved relative to its X-parent.
direction
(direction):-1
If
side-axis
is1
(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
but also other numerical values are permitted.stencil
(unknown):ly:system-start-delimiter::print
The symbol to print.
style
(symbol):'bracket
This setting determines in what style a grob is typeset. Valid choices depend on the
stencil
callback reading this property.collapse-height
(dimension, in staff space):5.0
Minimum height of system start delimiter. If equal or smaller, the bracket is removed.
thickness
(number):0.45
Line thickness, generally measured in
line-thickness
.
This object supports the following interfaces: 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):#f
See
X-extent
.X-offset
(number):ly:side-position-interface::x-aligned-side
The horizontal amount that this object is moved relative to its X-parent.
direction
(direction):-1
If
side-axis
is1
(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
but also other numerical values are permitted.stencil
(unknown):ly:system-start-delimiter::print
The symbol to print.
style
(symbol):'line-bracket
This setting determines in what style a grob is typeset. Valid choices depend on the
stencil
callback reading this property.thickness
(number):1.0
Line thickness, generally measured in
line-thickness
.
This object supports the following interfaces: 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::print
The symbol to print.
Y-offset
(number):ly:staff-symbol-referencer::callback
The vertical amount that this object is moved relative to its Y-parent.
X-offset
(number):ly:self-alignment-interface::x-aligned-on-self
The horizontal amount that this object is moved relative to its X-parent.
direction
(direction):0
If
side-axis
is1
(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
but also other numerical values are permitted.font-size
(number):-2
The font size, compared to the ‘normal’
size.
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.stem-attachment
(pair of numbers):'(0.0 . 1.35)
A
(
x.
y)
pair where the stem attaches to the notehead.font-series
(symbol):'bold
Select the series of a font. Choices include
medium
,bold
,bold-narrow
, etc.
This object supports the following interfaces: 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-self
The horizontal amount that this object is moved relative to its X-parent.
Y-offset
(number):ly:side-position-interface::y-aligned-side
The vertical amount that this object is moved relative to its Y-parent.
side-axis
(number):1
If the value is
#X
(or equivalently1
), the object is placed horizontally next to the other object. If the value is#Y
or0
, it is placed vertically.direction
(direction):-1
If
side-axis
is1
(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
but also other numerical values are permitted.padding
(dimension, in staff space):0.5
Add this much extra space between objects that are next to each other.
staff-padding
(dimension, in staff space):0.5
Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamic p and f) on their baselines.
stencil
(unknown):ly:text-interface::print
The symbol to print.
direction
(direction):-1
If
side-axis
is1
(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
but also other numerical values are permitted.outside-staff-priority
(number):450
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-priority
is closer to the staff.avoid-slur
(symbol):'around
Method of handling slur collisions. Choices are
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.slur-padding
(number):0.5
Extra distance between slur and script.
script-priority
(number):200
A sorting key that determines in what order a script is within a stack of scripts.
This object supports the following interfaces: text-script-interface, text-interface, side-position-interface, item-interface, font-interface and grob-interface
TextSpanner objects are created by: Dynamic_engraver and Text_spanner_engraver
Standard settings:
Y-offset
(number):ly:side-position-interface::y-aligned-side
The vertical amount that this object is moved relative to its Y-parent.
font-shape
(symbol):'italic
Select the shape of a font. Choices include
upright
,italic
,caps
.style
(symbol):'dashed-line
This setting determines in what style a grob is typeset. Valid choices depend on the
stencil
callback reading this property.staff-padding
(dimension, in staff space):0.8
Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamic p and f) on their baselines.
dash-fraction
(number):0.2
Size of the dashes, relative to
dash-period
. Should be between0.0
(no line) and1.0
(continuous line).dash-period
(number):3.0
The length of one dash together with whitespace. If negative, no line is drawn at all.
side-axis
(number):1
If the value is
#X
(or equivalently1
), the object is placed horizontally next to the other object. If the value is#Y
or0
, it is placed vertically.direction
(direction):1
If
side-axis
is1
(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
but also other numerical values are permitted.outside-staff-priority
(number):350
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-priority
is closer to the staff.left-bound-info
(list):ly:line-spanner::calc-left-bound-info
An alist of properties for determining attachments of spanners to edges.
right-bound-info
(list):ly:line-spanner::calc-right-bound-info
An 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::print
The symbol to print.
This object supports the following interfaces: 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-points
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.
springs-and-rods
(boolean):ly:spanner::set-spacing-rods
Dummy variable for triggering spacing routines.
avoid-slur
(symbol):'inside
Method of handling slur collisions. Choices are
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.direction
(direction):ly:tie::calc-direction
If
side-axis
is1
(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
but also other numerical values are permitted.stencil
(unknown):ly:tie::print
The symbol to print.
font-size
(number):-6
The font size, compared to the ‘normal’
size.
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.thickness
(number):1.2
Line thickness, generally measured in
line-thickness
.line-thickness
(number):0.8
The thickness of the tie or slur contour.
This object supports the following interfaces: 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-breaking
Dummy property, used to trigger a callback function.
X-extent
(pair of numbers):#f
Hard coded extent in X direction.
Y-extent
(pair of numbers):#f
See
X-extent
.
This object supports the following interfaces: tie-column-interface, spanner-interface and grob-interface
TimeSignature objects are created by: Time_signature_engraver
Standard settings:
stencil
(unknown):ly:time-signature::print
The symbol to print.
break-align-symbol
(symbol):'time-signature
This key is used for aligning and spacing breakable items.
break-align-anchor
(number):ly:break-aligned-interface::calc-extent-aligned-anchor
Grobs aligned to this break-align grob will have their X-offsets shifted by this number. In barlines, for example, this is used to position grobs relative to the (visual) center of the barline.
break-visibility
(vector):#(#t #t #t)
A vector of 3 booleans,
#(
end-of-line unbroken begin-of-line)
.#t
means visible,#f
means killed.avoid-slur
(symbol):'inside
Method of handling slur collisions. Choices are
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.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-space
orextra-space
.non-musical
(boolean):#t
True if the grob belongs to a
NonMusicalPaperColumn
.style
(symbol):'C
This setting determines in what style a grob is typeset. Valid choices depend on the
stencil
callback reading this property.
This object supports the following interfaces: 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-side
The horizontal amount that this object is moved relative to its X-parent.
padding
(dimension, in staff space):0.2
Add this much extra space between objects that are next to each other.
direction
(direction):-1
If
side-axis
is1
(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
but also other numerical values are permitted.font-size
(number):-4
The font size, compared to the ‘normal’
size.
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.side-axis
(number):0
If the value is
#X
(or equivalently1
), the object is placed horizontally next to the other object. If the value is#Y
or0
, it is placed vertically.stencil
(unknown):ly:accidental-interface::print
The symbol to print.
Y-extent
(pair of numbers):ly:accidental-interface::height
See
X-extent
.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 interfaces: 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-side
The 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):-4
The font size, compared to the ‘normal’
size.
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.stencil
(unknown):parenthesize-elements
The symbol to print.
stencils
(list):parentheses-item::calc-parenthesis-stencils
Multiple stencils, used as intermediate value.
direction
(direction):1
If
side-axis
is1
(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
but also other numerical values are permitted.side-axis
(number):0
If the value is
#X
(or equivalently1
), the object is placed horizontally next to the other object. If the value is#Y
or0
, it is placed vertically.padding
(dimension, in staff space):0.3
Add this much extra space between objects that are next to each other.
This object supports the following interfaces: side-position-interface, rhythmic-head-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::print
The symbol to print.
duration-log
(integer):2
The 2-log of the note head duration, i.e.
0
= whole note,1
= half note, etc.Y-offset
(number):ly:staff-symbol-referencer::callback
The vertical amount that this object is moved relative to its Y-parent.
font-size
(number):-4
The font size, compared to the ‘normal’
size.
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.
This object supports the following interfaces: 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-info
An alist of properties for determining attachments of spanners to edges.
right-bound-info
(list):ly:line-spanner::calc-right-bound-info
An alist of properties for determining attachments of spanners to edges.
bound-details
(list):'((left (text #<procedure translate-scaled-markup (layout props offset arg)> (0.5 . -0.6) (#<procedure musicglyph-markup (layout props glyph-name)> scripts.trill)) (Y . 0) (padding . 0.25) (attach-dir . -1)) (right (Y . 0)))
An alist of properties for determining attachments of spanners to edges.
stencil
(unknown):ly:line-spanner::print
The symbol to print.
style
(symbol):'trill
This setting determines in what style a grob is typeset. Valid choices depend on the
stencil
callback reading this property.staff-padding
(dimension, in staff space):1.0
Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamic p and f) on their baselines.
padding
(dimension, in staff space):0.5
Add this much extra space between objects that are next to each other.
direction
(direction):1
If
side-axis
is1
(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
but also other numerical values are permitted.Y-offset
(number):ly:side-position-interface::y-aligned-side
The vertical amount that this object is moved relative to its Y-parent.
side-axis
(number):1
If the value is
#X
(or equivalently1
), the object is placed horizontally next to the other object. If the value is#Y
or0
, it is placed vertically.outside-staff-priority
(number):50
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-priority
is closer to the staff.
This object supports the following interfaces: trill-spanner-interface, spanner-interface, side-position-interface, line-spanner-interface, line-interface, font-interface and grob-interface
TupletBracket objects are created by: Ligature_bracket_engraver and Tuplet_engraver
Standard settings:
padding
(dimension, in staff space):1.1
Add this much extra space between objects that are next to each other.
thickness
(number):1.6
Line 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.25
Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamic p and f) on their baselines.
direction
(direction):ly:tuplet-bracket::calc-direction
If
side-axis
is1
(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
but also other numerical values are permitted.positions
(pair):ly:tuplet-bracket::calc-positions
Pair of staff coordinates
(
left.
right)
, where both left and right are instaff-space
units of the current staff. LilyPond uses these values to select which slur candidate positions to use; if extreme positions are requested, LilyPond selects the closest positions.connect-to-neighbor
(pair):ly:tuplet-bracket::calc-connect-to-neighbors
Pair of booleans, indicating whether this grob looks as a continued break.
control-points
(list):ly:tuplet-bracket::calc-control-points
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.
stencil
(unknown):ly:tuplet-bracket::print
The symbol to print.
This object supports the following interfaces: tuplet-bracket-interface, spanner-interface, line-interface and grob-interface
TupletNumber objects are created by: Tuplet_engraver
Standard settings:
stencil
(unknown):ly:tuplet-number::print
The symbol to print.
text
(markup):tuplet-number::calc-denominator-text
Text markup. See Text markup .
font-shape
(symbol):'italic
Select the shape of a font. Choices include
upright
,italic
,caps
.font-size
(number):-2
The font size, compared to the ‘normal’
size.
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.avoid-slur
(symbol):'inside
Method of handling slur collisions. Choices are
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.
This object supports the following interfaces: 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::print
The symbol to print.
font-shape
(symbol):'italic
Select 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):0
Specify alignment of an object. The value
-1
means left aligned,0
centered, and1
right-aligned in X direction. Values in-between may also be specified.direction
(direction):1
If
side-axis
is1
(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
but also other numerical values are permitted.padding
(dimension, in staff space):0.0
Add this much extra space between objects that are next to each other.
X-offset
(number):ly:self-alignment-interface::x-aligned-on-self
The horizontal amount that this object is moved relative to its X-parent.
This object supports the following interfaces: 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::height
See
X-extent
.Y-offset
(number):ly:side-position-interface::y-aligned-side
The vertical amount that this object is moved relative to its Y-parent.
side-axis
(number):1
If the value is
#X
(or equivalently1
), the object is placed horizontally next to the other object. If the value is#Y
or0
, it is placed vertically.padding
(dimension, in staff space):1.2
Add this much extra space between objects that are next to each other.
staff-padding
(dimension, in staff space):1.2
Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamic p and f) on their baselines.
minimum-space
(dimension, in staff space):1.0
Minimum distance that the victim should move (after padding).
direction
(direction):-1
If
side-axis
is1
(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
but also other numerical values are permitted.
This object supports the following interfaces: 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.6
Line thickness, generally measured in
line-thickness
.stencil
(unknown):ly:vaticana-ligature::print
The symbol to print.
This object supports the following interfaces: 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-break
Dummy property, used to trigger callback for
after-line-breaking
.Y-extent
(pair of numbers):ly:axis-group-interface::height
See
X-extent
.X-extent
(pair of numbers):ly:axis-group-interface::width
Hard coded extent in X direction.
stacking-dir
(direction):-1
Stack objects in which direction?
padding
(dimension, in staff space):0.5
Add this much extra space between objects that are next to each other.
vertical-skylines
(unknown):ly:axis-group-interface::combine-skylines
Two skylines, one above and one below this grob.
max-stretch
(number):ly:align-interface::calc-max-stretch
The maximum amount that this
VerticalAxisGroup
can be vertically stretched (for example, in order to better fill a page).
This object supports the following interfaces: 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-callback
The vertical amount that this object is moved relative to its Y-parent.
Y-extent
(pair of numbers):ly:hara-kiri-group-spanner::y-extent
See
X-extent
.X-extent
(pair of numbers):ly:axis-group-interface::width
Hard coded extent in X direction.
vertical-skylines
(unknown):ly:hara-kiri-group-spanner::calc-skylines
Two skylines, one above and one below this grob.
max-stretch
(number):ly:axis-group-interface::calc-max-stretch
The maximum amount that this
VerticalAxisGroup
can be vertically stretched (for example, in order to better fill a page).stencil
(unknown):ly:axis-group-interface::print
The symbol to print.
This object supports the following interfaces: 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):'line
This setting determines in what style a grob is typeset. Valid choices depend on the
stencil
callback reading this property.gap
(dimension, in staff space):0.5
Size of a gap in a variable symbol.
non-musical
(boolean):#t
True if the grob belongs to a
NonMusicalPaperColumn
.X-extent
(pair of numbers):#f
Hard coded extent in X direction.
Y-extent
(pair of numbers):#f
See
X-extent
.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::print
The symbol to print.
left-bound-info
(list):ly:line-spanner::calc-left-bound-info
An alist of properties for determining attachments of spanners to edges.
right-bound-info
(list):ly:line-spanner::calc-right-bound-info
An alist of properties for determining attachments of spanners to edges.
This object supports the following interfaces: 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::print
The symbol to print.
font-encoding
(symbol):'fetaNumber
The font encoding is the broadest category for selecting a font. Options include:
fetaMusic
,fetaNumber
,TeX-text
,TeX-math
,fetaBraces
,fetaDynamic
.thickness
(number):1.6
Line 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):-4
The font size, compared to the ‘normal’
size.
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.direction
(direction):1
If
side-axis
is1
(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
but also other numerical values are permitted.
This object supports the following interfaces: 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):1
If the value is
#X
(or equivalently1
), the object is placed horizontally next to the other object. If the value is#Y
or0
, it is placed vertically.direction
(direction):1
If
side-axis
is1
(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
but also other numerical values are permitted.padding
(dimension, in staff space):1
Add this much extra space between objects that are next to each other.
Y-offset
(number):ly:side-position-interface::y-aligned-side
The vertical amount that this object is moved relative to its Y-parent.
outside-staff-priority
(number):100
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-priority
is closer to the staff.Y-extent
(pair of numbers):ly:axis-group-interface::height
See
X-extent
.X-extent
(pair of numbers):ly:axis-group-interface::width
Hard coded extent in X direction.
no-alignment
(boolean):#t
If set, don't place this grob in a VerticalAlignment; rather, place it using its own Y-offset callback
This object supports the following interfaces: 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.around
only moves the script if there is a collision;outside
always 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)
This grob interface is used in the following graphical objects: 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)- 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 objects: AccidentalPlacement
An accidental, printed as a suggestion (typically: vertically over a note)
This grob interface is used in the following graphical objects: 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 PianoStaves 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)- list of grobs, type 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 objects: 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)- List of note head grobs
This grob interface is used in the following graphical objects: 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.
script-priority
(number)- A sorting key that determines in what order a script is within a stack of scripts.
stems
(unknown)- list of stem objects, corresponding to the notes that the arpeggio has to be before.
This grob interface is used in the following graphical objects: 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
VerticalAxisGroup
can 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 own Y-offset callback
vertical-skylines
(unknown)- Two skylines, one above and one below this grob.
X-common
(layout object)- Common refpoint for axis group.
Y-common
(layout object)- See
X-common
.adjacent-pure-heights
(vector)- Used by a VerticalAxisGroup to cache the Y-extents of different column ranges.
elements
(unknown)- list of grobs, type depending on the Grob where this is set in.
pure-Y-common
(layout object)- Caches the common_refpoint_of_array of the elements grob-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 objects: 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 Text markup .
This grob interface is used in the following graphical objects: none
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.
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.
glyph-name
(string)- a name of character within font.
This grob interface is used in the following graphical objects: BarLine and SpanBar
This grob interface is used in the following graphical objects: BassFigureAlignment
A bass figure text
implicit
(boolean)- Is this an implicit bass figure?
This grob interface is used in the following graphical objects: 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.
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.
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.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-axis
is1
(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
but also other numerical values are permitted.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)- Pair of staff coordinates
(
left.
right)
, where both left and right are instaff-space
units of the current staff. LilyPond uses these values to select which slur candidate positions to use; if extreme positions are requested, LilyPond selects the closest positions.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-scoring
ordebug-slur-scoring
also provides useful clues.least-squares-dy
(number)- ideal beam slope, without damping.
normal-stems
(unknown)- Array of visible stems.
quant-score
(string)- Beam quanting score – can be stored for debugging
quantized-positions
(pair of numbers)- Beam positions after quanting.
shorten
(dimension, in staff space)- The amount of space that a stem. Internally used to distribute beam shortening over stems.
stems
(unknown)- list of stem objects, corresponding to the notes that the arpeggio has to be before.
This grob interface is used in the following graphical objects: Beam
A doit or drop.
thickness
(number)- Line thickness, generally measured in
line-thickness
.
delta-position
(number)- vertical position difference
This grob interface is used in the following graphical objects: 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 objects: 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-symbol
s 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] pg 143 – 147
break-align-anchor
(number)- Grobs aligned to this break-align grob will have their X-offsets shifted by this number. In barlines, for example, this is used to position grobs relative to the (visual) center of the barline.
break-align-anchor-alignment
(number)- Read by ly:break-aligned-interface::calc-extent-aligned-anchor for aligning an anchor to a grobs extent
break-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-space
orextra-space
.
This grob interface is used in the following graphical objects: 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 objects: BreakAlignment
A breathing sign.
direction
(direction)- If
side-axis
is1
(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
but also other numerical values are permitted.
This grob interface is used in the following graphical objects: BreathingSign
A chord name.
begin-of-line-visible
(boolean)- Used for marking ChordNames that should only show changes.
This grob interface is used in the following graphical objects: 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)- a name of character within font.
This grob interface is used in the following graphical objects: Clef
A place holder for the cluster spanner to determine the vertical extents of a cluster spanner at this X position.
positions
(pair)- Pair of staff coordinates
(
left.
right)
, where both left and right are instaff-space
units of the current staff. LilyPond uses these values to select which slur candidate positions to use; if extreme positions are requested, LilyPond selects the closest positions.
This grob interface is used in the following graphical objects: 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
stencil
callback reading this property.
columns
(unknown)- list of grobs, typically containing paper-columns or note-column objects.
This grob interface is used in the following graphical objects: ClusterSpanner
A custos object.
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
stencil
callback reading this property.
This grob interface is used in the following graphical objects: Custos
Groups dot objects so they form a column, and position dots so they do not clash with staff lines.
direction
(direction)- If
side-axis
is1
(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
but also other numerical values are permitted.
dots
(unknown)- multiple Dots objects.
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 objects: DotColumn
The dots to go with a notehead or rest.direction
sets the preferred direction to move in case of staff line collisions.
direction
(direction)- If
side-axis
is1
(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
but also other numerical values are permitted.dot-count
(integer)- The number of dots.
style
(symbol)- This setting determines in what style a grob is typeset. Valid choices depend on the
stencil
callback reading this property.
This grob interface is used in the following graphical objects: Dots
Any kind of loudness sign
This grob interface is used in the following graphical objects: 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.around
only moves the script if there is a collision;outside
always moves the script.
This grob interface is used in the following graphical objects: DynamicLineSpanner
Dynamic text spanner
text
(markup)- Text markup. See Text markup .
This grob interface is used in the following graphical objects: 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.0
means 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)- list of grobs, type depending on the Grob where this is set in.
This grob interface is used in the following graphical objects: 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 objects: BassFigureContinuation
A fingering instruction
This grob interface is used in the following graphical objects: Fingering
Any symbol that is typeset through fixed sets of glyphs, (ie. 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-series
andfont-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.
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.
font
(font metric)- Cached font metric object
This grob interface is used in the following graphical objects: 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.barre-type
(symbol)- Type of barre indication used in a fret diagram. Choices include
curved
andstraight
.dot-color
(symbol)- Color of dots. Options include
black
andwhite
.dot-radius
(number)- Radius of dots.
finger-code
(symbol)- Code for the type of fingering indication in a fret diagram. Options include
none
,in-dot
, andbelow-string
.fret-count
(integer)- The number of frets in a fret diagram.
label-dir
(direction)- Side to which a label is attached.
-1
for left,1
for right.number-type
(symbol)- Type of numbers to use in label. Choices include
roman-lower
,roman-upper
, andarabic
.size
(number)- Size of object, relative to standard size.
string-count
(integer)- The number of strings in a fret diagram.
string-fret-finger-combinations
(list)- List consisting of
(
string-number fret-number finger-number)
entries.thickness
(number)- Line thickness, generally measured in
line-thickness
.
mute-string
(string)- String to be used to indicate muted string in fret diagrams
open-string
(string)- String to be used to indicate open string in fret diagrams
orientation
(symbol)- Orientation of fret-diagram. Options include
normal
andlandscape
xo-font-magnification
(number)- Magnification used for mute and open string indicators in fret diagrams
This grob interface is used in the following graphical objects: 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)- list of grobs, typically containing paper-columns or note-column objects.
This grob interface is used in the following graphical objects: GraceSpacing
A gregorian ligature
ascendens
(boolean)- is this neume of an 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-info holds 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 a 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
\virga
or\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 used in the following graphical objects: none
A line that spanned between grid-points.
thickness
(number)- Line thickness, generally measured in
line-thickness
.
elements
(unknown)- list of grobs, type depending on the Grob where this is set in.
This grob interface is used in the following graphical objects: GridLine
A spanning point for grid lines.
This grob interface is used in the following graphical objects: 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, so they can easily be combined by stacking them, hanging one grob to the side of another, and coupling them into a 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 is also an abstract grob: it only moves around chords, but doesn't print anything.
Grobs have a properties: Scheme variables, that can be read and set. They have two types. 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 inmutable properties: 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)- See
X-extent
.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.around
only moves the script if there is a collision;outside
always 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)- See
extra-X-extent
.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.
layer
(number)- 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-space
units.minimum-Y-extent
(pair of numbers)- See
minimum-X-extent
.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 neighbour.
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-priority
is 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, true if we depend on inter-staff spacing
interfaces
(list)- list of symbols indicating the interfaces supported by this object. Is initialized from the
meta
field.meta
(list)- Contains meta information. It is an alist with the entries
name
andinterfaces
.pure-Y-offset-in-progress
(boolean)- A debugging aid for catching cyclic dependencies.
staff-symbol
(layout object)- the staff symbol grob that we're in.
This grob interface is used in the following graphical objects: 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/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-space
units.
adjacent-hairpins
(unknown)- 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 objects: Hairpin
A group spanner that keeps track of interesting items. If it doesn't contain any after linebreaking, then it will remove 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)- Cache of columns that contain items-worth-living.
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 objects: 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.0
means 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)- list of grobs, typically containing paper-columns or note-column objects.
This grob interface is used in the following graphical objects: HorizontalBracket, OttavaBracket and VoltaBracket
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), 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
. This grob property is a
function taking a direction (-1, 0 or 1) as 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)
.#t
means visible,#f
means killed.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)
.infinite-spacing-height
(boolean)- If true, then for the purposes of horizontal spacing, treat this item as though it were infinitely tall. That is, no object from another column is allowed to stick above or below this item.
non-musical
(boolean)- True if the grob belongs to a
NonMusicalPaperColumn
.
This grob interface is used in the following graphical objects: 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 objects: 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
stencil
callback reading this property.
This grob interface is used in the following graphical objects: 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)- List of note head grobs
This grob interface is used in the following graphical objects: 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 objects: AmbitusNoteHead, NoteHead and TrillPitchHead
A bracket indicating a ligature in the original edition
height
(dimension, in staff space)- Height of an object in
staff-space
units.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 objects: none
A ligature
This grob interface is used in the following graphical objects: none
Generic line objects. Any object using lines supports this. Normally, you get a straight line. If dash-period
is defined, a dashed line is produced; the length of the dashes is tuned with dash-fraction
. If the latter is set to 0, a dotted line is produced. If dash-fraction
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
stencil
callback 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 of1
gives 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 objects: 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
.
This grob interface is used in the following graphical objects: 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 melissima (tied/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)- List of note heads.
This grob interface is used in the following graphical objects: LyricExtender
A centered hyphen is a simple 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-space
units.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-rods
property. 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 objects: LyricHyphen and LyricSpace
Any object that is related to lyrics.
This grob interface is used in the following graphical objects: LyricExtender and LyricHyphen
A single piece of lyrics
This grob interface is used in the following graphical objects: LyricText
A rehearsal mark
This grob interface is used in the following graphical objects: 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-space
units.style
(symbol)- This setting determines in what style a grob is typeset. Valid choices depend on the
stencil
callback reading this property.thickness
(number)- Line thickness, generally measured in
line-thickness
.
This grob interface is used in the following graphical objects: MeasureGrouping
Context dependent typesetting decisions.
neutral-direction
(direction)- Which direction to take in the center of the staff.
stems
(unknown)- list of stem objects, corresponding to the notes that the arpeggio has to be before.
This grob interface is used in the following graphical objects: MelodyItem
A mensural ligature
thickness
(number)- Line thickness, generally measured in
line-thickness
.
delta-position
(number)- vertical position difference
flexa-width
(dimension, in staff space)- width of a flexa shape in a ligature grob in staff_space.
head-width
(dimension, in staff space)- width of this ligature head
join-right-amount
(number)primitive
(integer)- 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 objects: MensuralLigature
A metronome mark
This grob interface is used in the following graphical objects: 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 objects: 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-rods
property. 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 objects: 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
.
ignore-collision
(boolean)- If set, don't do note collision resolution on this
NoteColumn
.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-dotted
only 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-headed
only applies to opposing stem directions (i.e. voice 1 & 2).
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 objects: 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
NoteColumn
s for horizontal shifting. This is used by note-collision-interface.
arpeggio
(layout object)- pointer to arpeggio object.
note-heads
(unknown)- List of note head grobs
rest
(layout object)- the staff symbol grob that we're in.
rest-collision
(layout object)- rest collision that a rest is in.
stem
(layout object)- pointer to Stem object.
This grob interface is used in the following graphical objects: NoteColumn
Note head
note-names
(vector)- Vector of strings containing names for easy-notation note heads.
stem-attachment
(pair of numbers)- A
(
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
stencil
callback reading this property.
accidental-grob
(layout object)- Accidental for this note.
glyph-name
(string)- a name of character within font.
This grob interface is used in the following graphical objects: AmbitusNoteHead, NoteHead, TabNoteHead and TrillPitchGroup
Note name
style
(symbol)- This setting determines in what style a grob is typeset. Valid choices depend on the
stencil
callback reading this property.
This grob interface is used in the following graphical objects: NoteName
This object calculates spacing wishes for individual voices.
knee-spacing-correction
(number)- Factor for the optical correction amount for kneed beams. Set between
0
for no correction and1
for 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.
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)right-items
(unknown)
This grob interface is used in the following graphical objects: NoteSpacing
Kill this grob after the line breaking process.
This grob interface is used in the following graphical objects: none
An ottava bracket
bracket-flare
(pair of numbers)- A pair of numbers specifying how much edges of brackets should slant outward. Value
0.0
means 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-rods
property. 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 objects: OttavaBracket
Paper_column
objects form the top-most X-parents for items. The 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 prefer 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
force
orallow
.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 prefer 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
force
orallow
.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 prefer 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
force
orallow
.rhythmic-location
(rhythmic location)- Where (bar number, measure position) in the score.
shortest-playing-duration
(moment)- The duration of the shortest 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)- 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 objects: 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 objects: HarmonicParenthesesItem, ParenthesesItem and TrillPitchGroup
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 objects: DoublePercentRepeat, DoublePercentRepeatCounter, PercentRepeat, PercentRepeatCounter 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.0
means 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)- Pointer to the text of a mixed-style piano pedal.
This grob interface is used in the following graphical objects: PianoPedalBracket
A piano pedal sign
This grob interface is used in the following graphical objects: PianoPedalBracket, SostenutoPedalLineSpanner, SustainPedal, SustainPedalLineSpanner and UnaCordaPedalLineSpanner
A piano pedal sign, fixed size
This grob interface is used in the following graphical objects: SostenutoPedal, SustainPedal and UnaCordaPedal
A note head to indicate trill pitches
accidental-grob
(layout object)- Accidental for this note.
This grob interface is used in the following graphical objects: 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)- list of grobs, type 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 objects: RestCollision
A rest symbol.
direction
(direction)- If
side-axis
is1
(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
but also other numerical values are permitted.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
stencil
callback reading this property.
This grob interface is used in the following graphical objects: 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 objects: 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)- reference to Dots object.
stem
(layout object)- pointer to Stem object.
This grob interface is used in the following graphical objects: AmbitusNoteHead, NoteHead, Rest, TabNoteHead, TrillPitchGroup and TrillPitchHead
An interface that sorts scripts according to their script-priority
This grob interface is used in the following graphical objects: ScriptColumn and ScriptRow
An object that is put above or below a note
add-stem-support
(boolean)- If set, the
Stem
object 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.around
only moves the script if there is a collision;outside
always 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)- Pair (
type
.arg
), which acts as an index for looking up a Stencil object.slur
(layout object)- A pointer to a slur object
This grob interface is used in the following graphical objects: 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_self
self-alignment-X
and self-alignment-Y
.Self_alignment_interface::aligned_on_[xy]_parent
Self_alignment_interface::centered_on_[xy]_parent
self-alignment-X
(number)- Specify alignment of an object. The value
-1
means left aligned,0
centered, and1
right-aligned in X direction. Values in-between may also be specified.self-alignment-Y
(number)- Like
self-alignment-X
but for the Y axis.
This grob interface is used in the following graphical objects: 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. 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 objects: LaissezVibrerTieColumn and RepeatTieColumn
A tie which is only on one side connected to note heads.
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-axis
is1
(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
but also other numerical values are permitted.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-scoring
ordebug-slur-scoring
also provides useful clues.note-head
(layout object)- A single note head
This grob interface is used in the following graphical objects: 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)- list of grobs, type depending on the Grob where this is set in.
This grob interface is used in the following graphical objects: 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 the staff into account if staff-padding
is set. If undefined, the staff symbol is ignored.
direction
(direction)- If
side-axis
is1
(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
but also other numerical values are permitted.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 equivalently1
), the object is placed horizontally next to the other object. If the value is#Y
or0
, it is placed vertically.side-relative-direction
(direction)- Multiply direction of
direction-source
with 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 dynamic p and f) on their baselines.
direction-source
(layout object)- in case side-relative-direction is 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 support, a list of grobs.
This grob interface is used in the following graphical objects: 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
avoid-slur
(symbol)- Method of handling slur collisions. Choices are
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.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-axis
is1
(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
but also other numerical values are permitted.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)- Pair of staff coordinates
(
left.
right)
, where both left and right are instaff-space
units of the current staff. LilyPond uses these values to select which slur candidate positions to use; if extreme positions are requested, LilyPond selects the closest positions.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-scoring
ordebug-slur-scoring
also provides useful clues.encompass-objects
(unknown)- Objects that a slur should avoid in addition to notes and stems.
note-columns
(pair)- list of NoteColumn grobs.
quant-score
(string)- Beam quanting score – can be stored for debugging
This grob interface is used in the following graphical objects: 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 things 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)- List of spacing-wish grobs that are close to the current column.
The closest spacing-wishes determine the actual distances between the columns.
minimum-distances
(list)- 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 objects: NonMusicalPaperColumn and PaperColumn
This object calculates the desired and minimum distances between two columns.
left-items
(unknown)right-items
(unknown)
This grob interface is used in the following graphical objects: 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-increment
as 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 objects: 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 2 note heads width (i.e. the space following a note is 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-increment
as 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, barlines, 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 objects: SpacingSpanner
A bar line that spanned between other barlines. This interface is used for bar lines that connect different staves.
elements
(unknown)- list of grobs, type depending on the Grob where this is set in.
glyph-name
(string)- a name of character within font.
This grob interface is used in the following graphical objects: SpanBar
Some objects are horizontally spanned between objects. For
example, slur, beam, tie, 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-rods
property. If added to aTie
, this sets the minimum distance between noteheads.to-barline
(boolean)- If true, the spanner will stop at that barline just before it would otherwise stop.
This grob interface is used in the following graphical objects: 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 lines 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 objects: StaffSpacing
This spanner draws the lines of a staff. A staff symbol definines 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 objects: 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 objects: 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 objects: StanzaNumber
The stem represent the graphical stem. In addition, it internally connects note heads, beams andtremolos. Rests and whole notes have invisible stems.
The following properties may be set in the details list.
beamed-lengths
beamed-minimum-free-lengths
beamed-extreme-minimum-free-lengths
lengths
stem-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.
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.default-direction
(direction)- Direction determined by note head positions.
direction
(direction)- If
side-axis
is1
(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
but also other numerical values are permitted.duration-log
(integer)- The 2-log of the note head duration, i.e.
0
= whole note,1
= half note, etc.flag-style
(symbol)- A string determining what style of flag glyph is typeset on a
Stem
. Valid options include()
andmensural
. Additionally,no-flag
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)- 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-scoring
ordebug-slur-scoring
also provides useful clues.note-heads
(unknown)- 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)- caching of stem parameters
tremolo-flag
(layout object)- The tremolo object on a stem.
This grob interface is used in the following graphical objects: Stem
A beam slashing a stem to indicate a tremolo.
beam-thickness
(dimension, in staff space)- Beam thickness, measured in
staff-space
units.beam-width
(dimension, in staff space)- Width of the tremolo sign.
flag-count
(number)- The number of tremolo beams.
slope
(number)- The slope of this object.
style
(symbol)- This setting determines in what style a grob is typeset. Valid choices depend on the
stencil
callback reading this property.
stem
(layout object)- pointer to Stem object.
This grob interface is used in the following graphical objects: StemTremolo
A string number instruction
This grob interface is used in the following graphical objects: StringNumber
A right hand finger instruction
digit-names
(unknown)- Names for string finger digits.
This grob interface is used in the following graphical objects: StrokeFinger
This is the toplevel 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)- list of all grobs in this line. Its function is to protect objects from being garbage collected.
columns
(unknown)- list of grobs, typically containing paper-columns or note-column objects.
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 2 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 objects: System
The brace, bracket or bar in front of the system.
collapse-height
(dimension, in staff space)- Minimum height of system start delimiter. If equal or smaller, the bracket is removed.
style
(symbol)- This setting determines in what style a grob is typeset. Valid choices depend on the
stencil
callback reading this property.thickness
(number)- Line thickness, generally measured in
line-thickness
.
This grob interface is used in the following graphical objects: SystemStartBar, SystemStartBrace, SystemStartBracket and SystemStartSquare
A text at the beginning of a system.
collapse-height
(dimension, in staff space)- Minimum height of system start delimiter. If equal or smaller, the bracket is removed.
long-text
(markup)- Text markup. See Text markup markup.
style
(symbol)- This setting determines in what style a grob is typeset. Valid choices depend on the
stencil
callback reading this property.text
(markup)- Text markup. See Text markup .
This grob interface is used in the following graphical objects: InstrumentName
An interface for any notes set in a tablature staff
This grob interface is used in the following graphical objects: none
A scheme markup text, see Text markup 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 Text markup .
text-direction
(direction)- This controls the ordering of the words. The default
RIGHT
is 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 objects: 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
Stem
object 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.around
only moves the script if there is a collision;outside
always 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 slur object
This grob interface is used in the following graphical objects: 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 objects: TieColumn
A horizontal curve connecting two noteheads.
avoid-slur
(symbol)- Method of handling slur collisions. Choices are
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.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-axis
is1
(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
but also other numerical values are permitted.head-direction
(direction)- Are the note heads left or right in a semitie?
line-thickness
(number)- The thickness of the tie or slur contour.
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-scoring
ordebug-slur-scoring
also provides useful clues.quant-score
(string)- Beam quanting score – can be stored for debugging
separation-item
(layout object)- A separation item.
This grob interface is used in the following graphical objects: Tie
A time signature, in different styles. The following values for 'style are are recognized:
C
'neomensural
'mensural
'single-digit
'See 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
stencil
callback reading this property.
This grob interface is used in the following graphical objects: TimeSignature
An accidental for trill pitch
This grob interface is used in the following graphical objects: TrillPitchAccidental
An accidental for trill pitch
This grob interface is used in the following graphical objects: 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.0
means 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-beam
makes 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-axis
is1
(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
but also other numerical values are permitted.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)
.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)- Pair of staff coordinates
(
left.
right)
, where both left and right are instaff-space
units of the current staff. LilyPond uses these values to select which slur candidate positions to use; if extreme positions are requested, LilyPond selects the closest positions.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 dynamic p and f) on their baselines.
thickness
(number)- Line thickness, generally measured in
line-thickness
.
note-columns
(pair)- list of NoteColumn grobs.
tuplet-number
(layout object)- the number for a bracket.
tuplets
(unknown)- list of smaller tuplet brackets
This grob interface is used in the following graphical objects: 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.around
only moves the script if there is a collision;outside
always moves the script.
bracket
(layout object)- the bracket for a number.
This grob interface is used in the following graphical objects: 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 objects: 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)- vertical position difference
flexa-height
(dimension, in staff space)- height of a flexa shape in a ligature grob in staff_space.
flexa-width
(dimension, in staff space)- width of a flexa shape in a ligature grob in staff_space.
glyph-name
(string)- a name of character within font.
x-offset
(dimension, in staff space)- Extra horizontal offset for ligature heads.
This grob interface is used in the following graphical objects: 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 objects: VerticalAxisGroup
Volta bracket with number
height
(dimension, in staff space)- Height of an object in
staff-space
units.thickness
(number)- Line thickness, generally measured in
line-thickness
.
bars
(unknown)- list of bar line pointers.
This grob interface is used in the following graphical objects: VoltaBracket
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)- See
X-extent
.Y-offset
(number)- The vertical amount that this object is moved relative to its Y-parent.
add-stem-support
(boolean)- If set, the
Stem
object is included in this script's support.after-line-breaking
(boolean)- Dummy property, used to trigger callback for
after-line-breaking
.align-dir
(direction)- Which side to align?
-1
: left side,0
: around center of width,1
: right side.allow-loose-spacing
(boolean)- If set, column can be detached from main spacing.
alteration
(number)- Alteration numbers for accidental.
alteration-alist
(list)- List of
(
pitch.
accidental)
pairs for key signature.arpeggio-direction
(direction)- If set, put an arrow on the arpeggio squiggly line.
arrow-length
(number)- Arrow length.
arrow-width
(number)- Arrow width.
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.
average-spacing-wishes
(boolean)- If set, the spacing wishes are averaged over staves.
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.
avoid-slur
(symbol)- Method of handling slur collisions. Choices are
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)- List of axis numbers. In the case of alignment grobs, this should contain only one number.
bar-size
(dimension, in staff space)- The size of a bar line.
barre-type
(symbol)- Type of barre indication used in a fret diagram. Choices include
curved
andstraight
.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.
baseline-skip
(dimension, in staff space)- Distance between base lines of multiple lines of text.
beam-thickness
(dimension, in staff space)- Beam thickness, measured in
staff-space
units.beam-width
(dimension, in staff space)- Width of the tremolo sign.
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.
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)- Dummy property, used to trigger a callback function.
between-cols
(pair)- Where to attach a loose column to.
bound-details
(list)- An alist of properties for determining attachments of spanners to edges.
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.0
means 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-beam
makes it print only if there is no beam associated with this tuplet bracket.break-align-anchor
(number)- Grobs aligned to this break-align grob will have their X-offsets shifted by this number. In barlines, for example, this is used to position grobs relative to the (visual) center of the barline.
break-align-anchor-alignment
(number)- Read by ly:break-aligned-interface::calc-extent-aligned-anchor for aligning an anchor to a grobs extent
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))break-align-symbol
(symbol)- This key is used for aligning and spacing breakable items.
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).
break-overshoot
(pair of numbers)- How much does a broken spanner stick out of its bounds?
break-visibility
(vector)- A vector of 3 booleans,
#(
end-of-line unbroken begin-of-line)
.#t
means visible,#f
means killed.breakable
(boolean)- Allow breaks here.
c0-position
(integer)- An integer indicating the position of middle C.
clip-edges
(boolean)- Allow outward pointing beamlets at the edges of beams?
collapse-height
(dimension, in staff space)- Minimum height of system start delimiter. If equal or smaller, the bracket is removed.
color
(list)- The color of this grob.
common-shortest-duration
(moment)- The most common shortest note length. This is used in spacing. Enlarging this sets the score tighter.
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.
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.
damping
(number)- Amount of beam slope damping.
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.
default-direction
(direction)- Direction determined by note head positions.
digit-names
(unknown)- Names for string finger digits.
direction
(direction)- If
side-axis
is1
(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
but also other numerical values are permitted.dot-color
(symbol)- Color of dots. Options include
black
andwhite
.dot-count
(integer)- The number of dots.
dot-radius
(number)- Radius of dots.
duration-log
(integer)- The 2-log of the note head duration, i.e.
0
= whole note,1
= half note, etc.eccentricity
(number)- How asymmetrical to make a slur. Positive means move the center to the right.
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)
.expand-limit
(integer)- Maximum number of measures expanded in church rests.
extra-X-extent
(pair of numbers)- A grob is enlarged in X dimension by this much.
extra-Y-extent
(pair of numbers)- See
extra-X-extent
.extra-dy
(number)- Slope glissandi this much extra.
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.
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)
.finger-code
(symbol)- Code for the type of fingering indication in a fret diagram. Options include
none
,in-dot
, andbelow-string
.flag-count
(number)- The number of tremolo beams.
flag-style
(symbol)- A string determining what style of flag glyph is typeset on a
Stem
. Valid options include()
andmensural
. Additionally,no-flag
switches off the flag.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-series
andfont-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.
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)- 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.
forced
(boolean)- Manually forced accidental.
fraction
(pair of numbers)- Numerator and denominator of a time signature object.
french-beaming
(boolean)- Use French beaming style for this stem. The stem stops at the innermost beams.
fret-count
(integer)- The number of frets in a fret diagram.
full-size-change
(boolean)- Don't make a change clef smaller.
gap
(dimension, in staff space)- Size of a gap in a variable symbol.
gap-count
(integer)- Number of gapped beams for tremolo.
glyph
(string)- A string determining what ‘style’ of glyph is typeset. Valid choices depend on the function that is reading this property.
glyph-name-alist
(list)- An alist of key-string pairs.
grow-direction
(direction)- Crescendo or decrescendo?
hair-thickness
(number)- Thickness of the thin line in a bar line.
head-direction
(direction)- Are the note heads left or right in a semitie?
height
(dimension, in staff space)- Height of an object in
staff-space
units.height-limit
(dimension, in staff space)- Maximum slur height: The longer the slur, the closer it is to this height.
horizontal-shift
(integer)- An integer that identifies ranking of
NoteColumn
s for horizontal shifting. This is used by note-collision-interface.horizontal-skylines
(unknown)- Two skylines, one to the left and one to the right of this grob.
ignore-collision
(boolean)- If set, don't do note collision resolution on this
NoteColumn
.implicit
(boolean)- Is this an implicit bass figure?
infinite-spacing-height
(boolean)- If true, then for the purposes of horizontal spacing, treat this item as though it were infinitely tall. That is, no object from another column is allowed to stick above or below this item.
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.
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.
keep-inside-line
(boolean)- If set, this column cannot have things sticking into the margin.
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.
knee
(boolean)- Is this beam kneed?
knee-spacing-correction
(number)- Factor for the optical correction amount for kneed beams. Set between
0
for no correction and1
for full correction.label-dir
(direction)- Side to which a label is attached.
-1
for left,1
for right.labels
(list)- List of labels (symbols) placed on a column
layer
(number)- 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.
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.
left-bound-info
(list)- An alist of properties for determining attachments of spanners to edges.
left-padding
(dimension, in staff space)- The amount of space that is put left to an object (e.g., a group of accidentals).
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.
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 prefer 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
force
orallow
.line-break-system-details
(list)- An alist of properties to use if this column is the start of a system.
line-count
(integer)- The number of staff lines.
line-positions
(list)- Vertical positions of staff lines.
line-thickness
(number)- The thickness of the tie or slur contour.
long-text
(markup)- Text markup. See Text markup markup.
max-beam-connect
(integer)- Maximum number of beams to connect to beams from this stem. Further beams are typeset as beamlets.
max-stretch
(number)- The maximum amount that this
VerticalAxisGroup
can be vertically stretched (for example, in order to better fill a page).measure-count
(integer)- The number of measures for a multi-measure rest.
measure-length
(moment)- Length of a measure. Used in some spacing situations.
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-dotted
only 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-headed
only applies to opposing stem directions (i.e. voice 1 & 2).minimum-X-extent
(pair of numbers)- Minimum size of an object in X dimension, measured in
staff-space
units.minimum-Y-extent
(pair of numbers)- See
minimum-X-extent
.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-rods
property. If added to aTie
, this sets the minimum distance between noteheads.minimum-length-fraction
(number)- Minimum length of ledger line as fraction of note head size.
minimum-space
(dimension, in staff space)- Minimum distance that the victim should move (after padding).
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.
next
(layout object)- Object that is next relation (e.g., the lyric syllable following an extender.
no-alignment
(boolean)- If set, don't place this grob in a VerticalAlignment; rather, place it using its own Y-offset callback
no-ledgers
(boolean)- If set, don't draw ledger lines on this object.
no-stem-extend
(boolean)- If set, notes with ledger lines do not get stems extending to the middle staff line.
non-default
(boolean)- Set for manually specified clefs.
non-musical
(boolean)- True if the grob belongs to a
NonMusicalPaperColumn
.note-names
(vector)- Vector of strings containing names for easy-notation note heads.
number-type
(symbol)- Type of numbers to use in label. Choices include
roman-lower
,roman-upper
, andarabic
.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 neighbour.
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-priority
is closer to the staff.packed-spacing
(boolean)- If set, the notes are spaced as tightly as possible.
padding
(dimension, in staff space)- Add this much extra space between objects that are next to each other.
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 prefer 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
force
orallow
.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 prefer 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
force
orallow
.parenthesized
(boolean)- Parenthesize this grob.
positions
(pair)- Pair of staff coordinates
(
left.
right)
, where both left and right are instaff-space
units of the current staff. LilyPond uses these values to select which slur candidate positions to use; if extreme positions are requested, LilyPond selects the closest positions.ratio
(number)- Parameter for slur shape. The higher this number, the quicker the slur attains its
height-limit
.remove-empty
(boolean)- If set, remove group if it contains no interesting items.
remove-first
(boolean)- Remove the first staff of a orchestral score?
restore-first
(boolean)- Print a natural before the accidental.
rhythmic-location
(rhythmic location)- Where (bar number, measure position) in the score.
right-bound-info
(list)- An alist of properties for determining attachments of spanners to edges.
right-padding
(dimension, in staff space)- Space to insert on the right side of an object (e.g., between note and its accidentals).
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.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.
script-priority
(number)- A sorting key that determines in what order a script is within a stack of scripts.
self-alignment-X
(number)- Specify alignment of an object. The value
-1
means left aligned,0
centered, and1
right-aligned in X direction. Values in-between may also be specified.self-alignment-Y
(number)- Like
self-alignment-X
but for the Y axis.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.
shortest-duration-space
(dimension, in staff space)- Start with this much space for the shortest duration. This is expressed in
spacing-increment
as unit. See also spacing-spanner-interface.shortest-playing-duration
(moment)- The duration of the shortest playing here.
shortest-starter-duration
(moment)- The duration of the shortest note that starts here.
side-axis
(number)- If the value is
#X
(or equivalently1
), the object is placed horizontally next to the other object. If the value is#Y
or0
, it is placed vertically.side-relative-direction
(direction)- Multiply direction of
direction-source
with this to get the direction of this object.size
(number)- Size of object, relative to standard size.
slope
(number)- The slope of this object.
slur-padding
(number)- Extra distance between slur and script.
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-space
orextra-space
.spacing-increment
(number)- Add this much space for a doubled duration. Typically, the width of a note head. See also spacing-spanner-interface.
springs-and-rods
(boolean)- Dummy variable for triggering spacing routines.
stacking-dir
(direction)- Stack objects in which direction?
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 dynamic p and f) on their baselines.
staff-position
(number)- Vertical position, measured in half staff spaces, counted from the middle line.
staff-space
(dimension, in staff space)- Amount of space between staff lines, expressed in global
staff-space
.stem-attachment
(pair of numbers)- A
(
x.
y)
pair where the stem attaches to the notehead.stem-end-position
(number)- Where does the stem end (the end is opposite to the support-head)?
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.
stemlet-length
(number)- How long should a stem over a rest be?
stencil
(unknown)- The symbol to print.
stencils
(list)- Multiple stencils, used as intermediate value.
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, barlines, etc.) are not spaced separately, but put before musical columns.
string-count
(integer)- The number of strings in a fret diagram.
string-fret-finger-combinations
(list)- List consisting of
(
string-number fret-number finger-number)
entries.stroke-style
(string)- Set to
"grace"
to turn stroke through flag on.style
(symbol)- This setting determines in what style a grob is typeset. Valid choices depend on the
stencil
callback reading this property.text
(markup)- Text markup. See Text markup .
text-direction
(direction)- This controls the ordering of the words. The default
RIGHT
is for roman text. Arabic or Hebrew should useLEFT
.thick-thickness
(number)- Bar line thickness, measured in
line-thickness
.thickness
(number)- Line thickness, generally measured in
line-thickness
.thin-kern
(number)- The space after a hair-line in a bar line.
threshold
(pair of numbers)(
min.
max)
, where min and max are dimensions in staff space.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.to-barline
(boolean)- If true, the spanner will stop at that barline just before it would otherwise stop.
transparent
(boolean)- This makes the grob invisible.
uniform-stretching
(boolean)- If set, items stretch proportionally to their durations. This looks better in complex polyphonic patterns.
used
(boolean)- If set, this spacing column is kept in the spacing problem
vertical-skylines
(unknown)- Two skylines, one above and one below this grob.
when
(moment)- Global time step associated with this column happen?
width
(dimension, in staff space)- The width of a grob measured in staff space.
word-space
(dimension, in staff space)- Space to insert between words in texts.
zigzag-length
(dimension, in staff space)- The length of the lines of a zigzag, relative to
zigzag-width
. A value of1
gives 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.
X-common
(layout object)- Common refpoint for axis group.
Y-common
(layout object)- See
X-common
.accidental-grob
(layout object)- Accidental for this note.
accidental-grobs
(list)- Alist with (NOTENAME . GROBLIST) entries
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?
adjacent-hairpins
(unknown)- List of directly neighboring hairpins
adjacent-pure-heights
(vector)- Used by a VerticalAxisGroup to cache the Y-extents of different column ranges.
all-elements
(unknown)- list of all grobs in this line. Its function is to protect objects from being garbage collected.
arpeggio
(layout object)- pointer to arpeggio object.
ascendens
(boolean)- is this neume of an ascending type?
auctum
(boolean)- is this neume liquescentically augmented?
axis-group-parent-X
(layout object)- Containing X axis group
axis-group-parent-Y
(layout object)- Containing Y axis group
bars
(unknown)- list of bar line pointers.
beam
(layout object)- pointer to the beam, if applicable.
begin-of-line-visible
(boolean)- Used for marking ChordNames that should only show changes.
bounded-by-me
(unknown)- list of spanners that have this column as start/begin point. Only columns that have grobs or act as bounds are spaced.
bracket
(layout object)- the bracket for a number.
cause
(any type)- Any kind of causation objects (i.e. music, or perhaps translator) that was the cause for this grob.
cavum
(boolean)- is this neume outlined?
circled-tip
(boolean)- Put a circle at start/end of hairpins (al/del niente)
columns
(unknown)- list of grobs, typically containing paper-columns or note-column objects.
conditional-elements
(unknown)- Internal use only
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-info holds for each head such information about the left and right neighbour, encoded as a bit mask.
cross-staff
(boolean)- for a beam or a stem, true if we depend on inter-staff spacing
delta-position
(number)- vertical position difference
deminutum
(boolean)- is this neume deminished?
descendens
(boolean)- is this neume of a descendent type?
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-scoring
ordebug-slur-scoring
also provides useful clues.direction-source
(layout object)- in case side-relative-direction is set, which grob to get the direction from .
dot
(layout object)- reference to Dots object.
dots
(unknown)- multiple Dots objects.
elements
(unknown)- list of grobs, type depending on the Grob where this is set in.
encompass-objects
(unknown)- Objects that a slur should avoid in addition to notes and stems.
figures
(unknown)- Figured bass objects for continuation line.
flexa-height
(dimension, in staff space)- height of a flexa shape in a ligature grob in staff_space.
flexa-width
(dimension, in staff space)- width of a flexa shape in a ligature grob in staff_space.
font
(font metric)- Cached font metric object
glyph-name
(string)- a name of character within font.
grace-spacing
(layout object)- a run of grace notes.
head-width
(dimension, in staff space)- width of this ligature head
heads
(unknown)- List of note heads.
ideal-distances
(list)- (obj . (dist . strength)) pairs.
important-column-ranks
(vector)- Cache of columns that contain items-worth-living.
inclinatum
(boolean)- is this neume an inclinatum?
interfaces
(list)- list of symbols indicating the interfaces supported by this object. Is initialized from the
meta
field.items-worth-living
(unknown)- A list of interesting items. If empty in a particular staff, then that staff is erased.
join-heads
(boolean)- Whether to join the note heads of an ambitus grob with a vertical line.
join-right-amount
(number)least-squares-dy
(number)- ideal beam slope, without damping.
left-items
(unknown)left-neighbors
(unknown)- List of spacing-wish grobs that are close to the current column.
The closest spacing-wishes determine the actual distances between the columns.
linea
(boolean)- attach vertical lines to this neume?
meta
(list)- Contains meta information. It is an alist with the entries
name
andinterfaces
.minimum-distances
(list)- list of rods, that have the format (obj . dist).
mute-string
(string)- String to be used to indicate muted string in fret diagrams
normal-stems
(unknown)- Array of visible stems.
note-columns
(pair)- list of NoteColumn grobs.
note-head
(layout object)- A single note head
note-heads
(unknown)- List of note head grobs
open-string
(string)- String to be used to indicate open string in fret diagrams
orientation
(symbol)- Orientation of fret-diagram. Options include
normal
andlandscape
oriscus
(boolean)- is this neume an oriscus?
pedal-text
(layout object)- Pointer to the text of a mixed-style piano pedal.
pes-or-flexa
(boolean)- shall this neume be joined with the previous head?
positioning-done
(boolean)- Used to signal that a positioning element did its job. This ensures that a positioning is only done once.
prefix-set
(number)- a bit mask that holds all Gregorian head prefixes, such as
\virga
or\quilisma
primitive
(integer)- Pointer to a ligature primitive, i.e. an item similar to a note head that is part of a ligature.
pure-Y-common
(layout object)- Caches the common_refpoint_of_array of the elements grob-set
pure-Y-extent
(pair of numbers)- The estimated height of a system
pure-Y-offset-in-progress
(boolean)- A debugging aid for catching cyclic dependencies.
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.
quant-score
(string)- Beam quanting score – can be stored for debugging
quantize-position
(boolean)- If set, a vertical alignment is aligned to be within staff spaces.
quantized-positions
(pair of numbers)- Beam positions after quanting.
quilisma
(boolean)- is this neume a quilisma?
rest
(layout object)- the staff symbol grob that we're in.
rest-collision
(layout object)- rest collision that a rest is in.
rests
(unknown)- A list of rest objects.
right-items
(unknown)right-neighbors
(unknown)- see left-neighbors
script-stencil
(pair)- Pair (
type
.arg
), which acts as an index for looking up a Stencil object.separation-item
(layout object)- A separation item.
shorten
(dimension, in staff space)- The amount of space that a stem. Internally used to distribute beam shortening over stems.
side-support-elements
(unknown)- the support, a list of grobs.
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 2 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.
slur
(layout object)- A pointer to a slur object
spaceable-staves
(unknown)- Objects to be spaced during page layout.
spacing
(layout object)- the spacing spanner governing this section.
spacing-wishes
(unknown)- List of note spacing or staff spacing objects.
staff-symbol
(layout object)- the staff symbol grob that we're in.
stem
(layout object)- pointer to Stem object.
stem-info
(pair)- caching of stem parameters
stems
(unknown)- list of stem objects, corresponding to the notes that the arpeggio has to be before.
stropha
(boolean)- Is this neume a stropha?
tie
(layout object)tremolo-flag
(layout object)- The tremolo object on a stem.
tuplet-number
(layout object)- the number for a bracket.
tuplets
(unknown)- list of smaller tuplet brackets
use-breve-rest
(boolean)- Use breve rests for measures longer than a whole rest.
virga
(boolean)- Is this neume a virga?
x-offset
(dimension, in staff space)- Extra horizontal offset for ligature heads.
xo-font-magnification
(number)- Magnification used for mute and open string indicators in fret diagrams
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#f
if 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 protude 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
#f
if 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-distributor
that distributes all events from context and all its subcontexts.
Find a parent of context that has name or alias name. Return
#f
if 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
\override
or\revert
operation 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
s
is-1
,0
or1
, where-1
represents left or down and1
represents right or up.
A Scheme callable function to issue the error str. The error is formatted with
format
and 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
'()
.
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. font must be available as an AFM file. If the glyph is not available, return
#f
.
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_output
object 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-defaults
from 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.
-1
means end of line,0
unbroken, and1
beginning 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
\book
of paper and header (which may be#f
as 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++
Music
object 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.
func
is the function, andsignature
describes its arguments.signature
is a list containing eitherly:music?
predicates or other type predicates.
Return page marker with page breaking and turning permissions.
Make a
PangoFontDescription
string 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.
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
format
and rest.
Break (pages and lines) the
Paper_book
object pbwithout looking for optimal spacing: stack as many lines ona page before moving to the next one.
Look up sym in the list modules, returning the first occurence. If not found, return def or
#f
if def isn't specified.
Get the length of music expression mus and return it as a
Moment
object.
Return an alist containing the mutable properties of mus. The immutable properties are not available, since they are constant and initialized by the
make-music
function.
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_book
object 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.
Optimally break (pages and lines) the
Paper_book
object 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_system
objects 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-failed
key.
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.
A Scheme callable function to issue the internal warning str. The message is formatted with
format
and rest.
A Scheme callable function to print progress str. The message is formatted with
format
and 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
Stencil
object that prints a black box of dimensions xext, yext 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_key
argument.
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.
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
#f
for non-satisfied constraints) followed by spring-count+1 positions of the objects.
Get one of the bounds of slur. dir is
-1
for left, and1
for 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.
-1
and1
are left and right, respectively. Other values are interpolated (so0
means 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 (
0
or1
for 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
\layout
block; 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 withformat
andrest
.
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-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?
: 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: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:run-translator
: 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?
: Scheme functionsly:set-default-scale
: Scheme functionsly:set-grob-modification-callback
: 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.28 (development-branch).
Report errors to http://post.gmane.org/post.php?group=gmane.comp.gnu.lilypond.bugs.
Your suggestions for the documentation are welcome.