| [Top] | [Contents] | [Index] | [ ? ] |
This document is also available as a PDF and as a HTML indexed multiple pages.
This is the Internals Reference (IR) for version 2.21.3 of LilyPond, the GNU music typesetter.
| 1. Music definitions | Definition of the input data structures. | |
| 2. Translation | From music to layout. | |
| 3. Backend | Reference for the layout engine. | |
| 4. Scheme functions | Primitive functions exported by LilyPond. | |
| A. Indices |
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
| 1.1 Music expressions | Objects that represent music. | |
| 1.2 Music classes | ||
| 1.3 Music properties | All music properties, including descriptions. |
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
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):
'AbsoluteDynamicEventName of this music object.
types(list): '(post-event event dynamic-event absolute-dynamic-event)The types of this music object; determines by what engraver this music expression is processed.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Create an alternative event.
Event classes: alternative-event, music-event and StreamEvent.
Accepted by: Bar_number_engraver.
Properties:
name(symbol):
'AlternativeEventName of this music object.
types(list): '(event alternative-event)The types of this music object; determines by what engraver this music expression is processed.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Print an annotation of an output element.
Event classes: annotate-output-event, music-event and StreamEvent.
Accepted by: Balloon_engraver.
Properties:
name(symbol):
'AnnotateOutputEventName of this music object.
types(list): '(event annotate-output-event post-event)The types of this music object; determines by what engraver this music expression is processed.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Call the argument with the current context during interpreting phase.
Properties:
iterator-ctor(procedure):
ly:apply-context-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.name(symbol):
'ApplyContextName of this music object.
types(list): '(apply-context)The types of this music object; determines by what engraver this music expression is processed.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Call the argument with all current grobs during interpreting phase.
Syntax: \applyOutput #'context func
Arguments to func are 1. the grob, 2. the originating context, and 3. the context where func is called.
Event classes: apply-output-event, layout-instruction-event, music-event and StreamEvent.
Accepted by: Output_property_engraver.
Properties:
name(symbol):
'ApplyOutputEventName of this music object.
types(list): '(event apply-output-event)The types of this music object; determines by what engraver this music expression is processed.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Make an arpeggio on this note.
Syntax: note-\arpeggio
Event classes: arpeggio-event, music-event and StreamEvent.
Accepted by: Arpeggio_engraver.
Properties:
name(symbol):
'ArpeggioEventName of this music object.
types(list): '(post-event arpeggio-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Add an articulation marking to a note.
Syntax: notexy, where x is a direction
(^ for up or _ for down), or LilyPond’s choice
(no direction specified), and where y is an articulation
(such as -., ->, \tenuto, \downbow).
See the Notation Reference for details.
Event classes: articulation-event, music-event, script-event and StreamEvent.
Accepted by: Note_performer and Script_engraver.
Properties:
name(symbol):
'ArticulationEventName of this music object.
types(list): '(post-event event articulation-event script-event)The types of this music object; determines by what engraver this music expression is processed.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Used for making voices that switch between piano staves automatically.
Properties:
iterator-ctor(procedure):
ly:auto-change-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.length-callback(procedure):
ly:music-wrapper::length-callbackHow to compute the duration of this music. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
name(symbol):
'AutoChangeMusicName of this music object.
start-callback(procedure):
ly:music-wrapper::start-callbackFunction to compute the negative length of starting grace notes. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
types(list): '(music-wrapper-music auto-change-instruction)The types of this music object; determines by what engraver this music expression is processed.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Check whether this music coincides with the start of the measure.
Properties:
iterator-ctor(procedure):
ly:bar-check-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.name(symbol):
'BarCheckName of this music object.
types(list): '(bar-check)The types of this music object; determines by what engraver this music expression is processed.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Print a bass-figure text.
Event classes: bass-figure-event, music-event, rhythmic-event and StreamEvent.
Accepted by: Figured_bass_engraver.
Properties:
name(symbol):
'BassFigureEventName of this music object.
types(list): '(event rhythmic-event bass-figure-event)The types of this music object; determines by what engraver this music expression is processed.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Start or stop a beam.
Syntax for manual control: c8-[ c c-] c8
Event classes: beam-event, music-event, span-event and StreamEvent.
Accepted by: Beam_engraver, Beam_performer and Grace_beam_engraver.
Properties:
name(symbol):
'BeamEventName of this music object.
types(list): '(post-event event beam-event span-event)The types of this music object; determines by what engraver this music expression is processed.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Specify that a note may not auto-beamed.
Event classes: beam-forbid-event, music-event and StreamEvent.
Accepted by: Auto_beam_engraver and Grace_auto_beam_engraver.
Properties:
name(symbol):
'BeamForbidEventName of this music object.
types(list): '(post-event event beam-forbid-event)The types of this music object; determines by what engraver this music expression is processed.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
A drop/fall/doit jazz articulation.
Event classes: bend-after-event, music-event and StreamEvent.
Accepted by: Bend_engraver.
Properties:
name(symbol):
'BendAfterEventName of this music object.
types(list): '(post-event bend-after-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
End an alignment spanner for dynamics here.
Event classes: break-dynamic-span-event, break-span-event, music-event and StreamEvent.
Accepted by: Dynamic_engraver.
Properties:
name(symbol):
'BreakDynamicSpanEventName of this music object.
types(list): '(post-event break-span-event break-dynamic-span-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Create a ‘breath mark’ or ‘comma’.
Syntax: note\breathe
Event classes: breathing-event, music-event and StreamEvent.
Accepted by: Breathing_sign_engraver and Note_performer.
Properties:
midi-length(procedure):
breathe::midi-lengthFunction to determine how long to play a note in MIDI. It should take a moment (the written length of the note) and a context, and return a moment (the length to play the note).
name(symbol):
'BreathingEventName of this music object.
types(list): '(event breathing-event)The types of this music object; determines by what engraver this music expression is processed.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
A note that is part of a cluster.
Event classes: cluster-note-event, melodic-event, music-event, rhythmic-event and StreamEvent.
Accepted by: Cluster_spanner_engraver.
Properties:
iterator-ctor(procedure):
ly:rhythmic-music-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.name(symbol):
'ClusterNoteEventName of this music object.
types(list): '(cluster-note-event melodic-event rhythmic-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Used internally to signal the end of a lyrics block to
ensure extenders are completed correctly when a Lyrics context ends
before its associated Voice context.
Event classes: completize-extender-event, music-event and StreamEvent.
Accepted by: Extender_engraver.
Properties:
name(symbol):
'CompletizeExtenderEventName of this music object.
types(list): '(completize-extender-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Change staves in Piano staff.
Syntax: \change Staff = new-id
Properties:
iterator-ctor(procedure):
ly:change-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.name(symbol):
'ContextChangeName of this music object.
types(list): '(translator-change-instruction)The types of this music object; determines by what engraver this music expression is processed.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Interpret the argument music within a specific context.
Properties:
iterator-ctor(procedure):
ly:context-specced-music-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.length-callback(procedure):
ly:music-wrapper::length-callbackHow to compute the duration of this music. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
name(symbol):
'ContextSpeccedMusicName of this music object.
start-callback(procedure):
ly:music-wrapper::start-callbackFunction to compute the negative length of starting grace notes. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
types(list): '(context-specification music-wrapper-music)The types of this music object; determines by what engraver this music expression is processed.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Begin or end a crescendo.
Syntax: note\< … note\!
An alternative syntax is note\cr …
note\endcr.
Event classes: crescendo-event, music-event, span-dynamic-event, span-event and StreamEvent.
Accepted by: Dynamic_engraver and Dynamic_performer.
Properties:
name(symbol):
'CrescendoEventName of this music object.
types(list): '(post-event span-event span-dynamic-event crescendo-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Begin or end a decrescendo.
Syntax: note\> … note\!
An alternative syntax is note\decr …
note\enddecr.
Event classes: decrescendo-event, music-event, span-dynamic-event, span-event and StreamEvent.
Accepted by: Dynamic_engraver and Dynamic_performer.
Properties:
name(symbol):
'DecrescendoEventName of this music object.
types(list): '(post-event span-event span-dynamic-event decrescendo-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Used internally to signal double percent repeats.
Event classes: double-percent-event, music-event, rhythmic-event and StreamEvent.
Accepted by: Double_percent_repeat_engraver.
Properties:
name(symbol):
'DoublePercentEventName of this music object.
types(list): '(event double-percent-event rhythmic-event)The types of this music object; determines by what engraver this music expression is processed.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Begin or end an episema.
Event classes: episema-event, music-event, span-event and StreamEvent.
Accepted by: Episema_engraver.
Properties:
name(symbol):
'EpisemaEventName of this music object.
types(list): '(post-event span-event event episema-event)The types of this music object; determines by what engraver this music expression is processed.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Atomic music event.
Properties:
name(symbol):
'EventName of this music object.
types(list): '(event)The types of this music object; determines by what engraver this music expression is processed.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Explicitly entered chords.
When iterated, elements are converted to events at the current
timestep, followed by any articulations. Per-chord postevents
attached by the parser just follow any rhythmic events in
elements instead of utilizing articulations.
An unexpanded chord repetition ‘q’ is recognizable by having its
duration stored in duration.
Properties:
iterator-ctor(procedure):
ly:event-chord-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.length-callback(procedure):
ly:music-sequence::event-chord-length-callbackHow to compute the duration of this music. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
name(symbol):
'EventChordName of this music object.
to-relative-callback(procedure):
ly:music-sequence::event-chord-relative-callbackHow to transform a piece of music to relative pitches.
types(list): '(event-chord simultaneous-music)The types of this music object; determines by what engraver this music expression is processed.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Extend lyrics.
Event classes: extender-event, music-event and StreamEvent.
Accepted by: Extender_engraver.
Properties:
name(symbol):
'ExtenderEventName of this music object.
types(list): '(post-event extender-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Specify what finger to use for this note.
Event classes: fingering-event, music-event and StreamEvent.
Accepted by: Fingering_engraver, Fretboard_engraver and Tab_note_heads_engraver.
Properties:
name(symbol):
'FingeringEventName of this music object.
types(list): '(post-event fingering-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Footnote a grob.
Event classes: footnote-event, music-event and StreamEvent.
Not accepted by any engraver or performer.
Properties:
name(symbol):
'FootnoteEventName of this music object.
types(list): '(event footnote-event)The types of this music object; determines by what engraver this music expression is processed.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Start a glissando on this note.
Event classes: glissando-event, music-event and StreamEvent.
Accepted by: Glissando_engraver.
Properties:
name(symbol):
'GlissandoEventName of this music object.
types(list): '(post-event glissando-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Interpret the argument as grace notes.
Properties:
iterator-ctor(procedure):
ly:grace-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.length(moment):
#<Mom 0>The duration of this music.
name(symbol):
'GraceMusicName of this music object.
start-callback(procedure):
ly:grace-music::start-callbackFunction to compute the negative length of starting grace notes. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
types(list): '(grace-music music-wrapper-music)The types of this music object; determines by what engraver this music expression is processed.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Mark a note as harmonic.
Event classes: harmonic-event, music-event and StreamEvent.
Not accepted by any engraver or performer.
Properties:
name(symbol):
'HarmonicEventName of this music object.
types(list): '(post-event event harmonic-event)The types of this music object; determines by what engraver this music expression is processed.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
A hyphen between lyric syllables.
Event classes: hyphen-event, music-event and StreamEvent.
Accepted by: Hyphen_engraver.
Properties:
name(symbol):
'HyphenEventName of this music object.
types(list): '(post-event hyphen-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Change the key signature.
Syntax: \key name scale
Event classes: key-change-event, music-event and StreamEvent.
Accepted by: Key_engraver and Key_performer.
Properties:
name(symbol):
'KeyChangeEventName of this music object.
to-relative-callback(procedure):
#<procedure #f (x p)>How to transform a piece of music to relative pitches.
types(list): '(key-change-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Place a bookmarking label.
Event classes: label-event, music-event and StreamEvent.
Accepted by: Paper_column_engraver.
Properties:
name(symbol):
'LabelEventName of this music object.
types(list): '(label-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Don’t damp this chord.
Syntax: note\laissezVibrer
Event classes: laissez-vibrer-event, music-event and StreamEvent.
Accepted by: Laissez_vibrer_engraver.
Properties:
name(symbol):
'LaissezVibrerEventName of this music object.
types(list): '(post-event event laissez-vibrer-event)The types of this music object; determines by what engraver this music expression is processed.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Start or end a ligature.
Event classes: ligature-event, music-event, span-event and StreamEvent.
Accepted by: Kievan_ligature_engraver, Ligature_bracket_engraver, Mensural_ligature_engraver and Vaticana_ligature_engraver.
Properties:
name(symbol):
'LigatureEventName of this music object.
types(list): '(span-event ligature-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Allow, forbid or force a line break.
Event classes: break-event, line-break-event, music-event and StreamEvent.
Accepted by: Page_turn_engraver and Paper_column_engraver.
Properties:
name(symbol):
'LineBreakEventName of this music object.
types(list): '(line-break-event break-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Align lyrics to the start of notes.
Syntax: \lyricsto voicename lyrics
Properties:
iterator-ctor(procedure):
ly:lyric-combine-music-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.length(moment):
#<Mom 0>The duration of this music.
name(symbol):
'LyricCombineMusicName of this music object.
types(list): '(lyric-combine-music)The types of this music object; determines by what engraver this music expression is processed.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
A lyric syllable. Must be entered in lyrics mode,
i.e., \lyrics { twinkle4 twinkle4 } .
Event classes: lyric-event, music-event, rhythmic-event and StreamEvent.
Accepted by: Lyric_engraver and Lyric_performer.
Properties:
iterator-ctor(procedure):
ly:rhythmic-music-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.name(symbol):
'LyricEventName of this music object.
types(list): '(rhythmic-event lyric-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Insert a rehearsal mark.
Syntax: \mark marker
Example: \mark "A"
Event classes: mark-event, music-event and StreamEvent.
Accepted by: Mark_engraver.
Properties:
name(symbol):
'MarkEventName of this music object.
types(list): '(mark-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Used to signal the start and end of a measure count.
Event classes: measure-counter-event, music-event, span-event and StreamEvent.
Accepted by: Measure_counter_engraver.
Properties:
name(symbol):
'MeasureCounterEventName of this music object.
types(list): '(measure-counter-event span-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Used to signal the start and end of a measure spanner.
Event classes: measure-spanner-event, music-event, span-event and StreamEvent.
Accepted by: Measure_spanner_engraver.
Properties:
name(symbol):
'MeasureSpannerEventName of this music object.
types(list): '(measure-spanner-event span-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Articulations on multi-measure rests.
Event classes: multi-measure-articulation-event, music-event and StreamEvent.
Accepted by: Multi_measure_rest_engraver.
Properties:
name(symbol):
'MultiMeasureArticulationEventName of this music object.
types(list): '(post-event event multi-measure-articulation-event)The types of this music object; determines by what engraver this music expression is processed.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Used internally by MultiMeasureRestMusic
to signal rests.
Event classes: multi-measure-rest-event, music-event, rhythmic-event and StreamEvent.
Accepted by: Multi_measure_rest_engraver.
Properties:
iterator-ctor(procedure):
ly:rhythmic-music-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.name(symbol):
'MultiMeasureRestEventName of this music object.
types(list): '(event rhythmic-event multi-measure-rest-event)The types of this music object; determines by what engraver this music expression is processed.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Rests that may be compressed into multi-measure rests.
Syntax: R2.*4 for 4 measures in 3/4 time.
Properties:
elements-callback(procedure):
mm-rest-child-listReturn a list of children, for use by a sequential iterator. Takes a single music parameter.
iterator-ctor(procedure):
ly:sequential-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.name(symbol):
'MultiMeasureRestMusicName of this music object.
types(list): '(multi-measure-rest)The types of this music object; determines by what engraver this music expression is processed.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Texts on multi-measure rests.
Syntax: R-\markup { \roman "bla" }
Note the explicit font switch.
Event classes: multi-measure-text-event, music-event and StreamEvent.
Accepted by: Multi_measure_rest_engraver.
Properties:
name(symbol):
'MultiMeasureTextEventName of this music object.
types(list): '(post-event event multi-measure-text-event)The types of this music object; determines by what engraver this music expression is processed.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Generic type for music expressions.
Properties:
name(symbol):
'MusicName of this music object.
types(list):
'()The types of this music object; determines by what engraver this music expression is processed.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
A note.
Outside of chords, any events in articulations with a listener
are broadcast like chord articulations, the others are retained.
For iteration inside of chords, See section EventChord.
Event classes: melodic-event, music-event, note-event, rhythmic-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, Part_combine_engraver, Phrasing_slur_engraver, Slur_engraver and Tab_note_heads_engraver.
Properties:
iterator-ctor(procedure):
ly:rhythmic-music-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.name(symbol):
'NoteEventName of this music object.
types(list): '(event note-event rhythmic-event melodic-event)The types of this music object; determines by what engraver this music expression is processed.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Start or stop grouping brackets.
Event classes: music-event, note-grouping-event and StreamEvent.
Accepted by: Horizontal_bracket_engraver.
Properties:
name(symbol):
'NoteGroupingEventName of this music object.
types(list): '(post-event event note-grouping-event)The types of this music object; determines by what engraver this music expression is processed.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Start or stop an ottava bracket.
Properties:
elements-callback(procedure):
make-ottava-setReturn a list of children, for use by a sequential iterator. Takes a single music parameter.
iterator-ctor(procedure):
ly:sequential-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.name(symbol):
'OttavaMusicName of this music object.
types(list): '(ottava-music)The types of this music object; determines by what engraver this music expression is processed.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Extend the definition of a graphical object.
Syntax: \override [ context . ]
object property = value
Properties:
iterator-ctor(procedure):
ly:push-property-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.name(symbol):
'OverridePropertyName of this music object.
types(list): '(layout-instruction-event override-property-event)The types of this music object; determines by what engraver this music expression is processed.
untransposable(boolean):
#tIf set, this music is not transposed.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Allow, forbid or force a page break.
Event classes: break-event, music-event, page-break-event and StreamEvent.
Accepted by: Page_turn_engraver and Paper_column_engraver.
Properties:
name(symbol):
'PageBreakEventName of this music object.
types(list): '(break-event page-break-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Allow, forbid or force a page turn.
Event classes: break-event, music-event, page-turn-event and StreamEvent.
Accepted by: Page_turn_engraver and Paper_column_engraver.
Properties:
name(symbol):
'PageTurnEventName of this music object.
types(list): '(break-event page-turn-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Combine two parts on a staff, either merged or as separate voices.
Properties:
iterator-ctor(procedure):
ly:part-combine-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.length-callback(procedure):
ly:music-sequence::maximum-length-callbackHow to compute the duration of this music. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
name(symbol):
'PartCombineMusicName of this music object.
start-callback(procedure):
ly:music-sequence::minimum-start-callbackFunction to compute the negative length of starting grace notes. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
types(list): '(part-combine-music)The types of this music object; determines by what engraver this music expression is processed.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
A part to be combined with other parts on a staff.
Properties:
iterator-ctor(procedure):
ly:part-combine-part-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.length-callback(procedure):
ly:music-wrapper::length-callbackHow to compute the duration of this music. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
name(symbol):
'PartCombinePartMusicName of this music object.
start-callback(procedure):
ly:music-wrapper::start-callbackFunction to compute the negative length of starting grace notes. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
types(list): '(part-combine-part-music music-wrapper-music)The types of this music object; determines by what engraver this music expression is processed.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Create an anacrusis or upbeat (partial measure).
Properties:
iterator-ctor(procedure):
ly:partial-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.length-callback(procedure):
ly:music-sequence::cumulative-length-callbackHow to compute the duration of this music. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
name(symbol):
'PartialSetName of this music object.
types(list): '(partial-set)The types of this music object; determines by what engraver this music expression is processed.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Used internally to signal percent repeats.
Event classes: music-event, percent-event and StreamEvent.
Accepted by: Percent_repeat_engraver.
Properties:
name(symbol):
'PercentEventName of this music object.
types(list): '(event percent-event rhythmic-event)The types of this music object; determines by what engraver this music expression is processed.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Repeats encoded by percents and slashes.
Properties:
iterator-ctor(procedure):
ly:percent-repeat-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.length-callback(procedure):
ly:repeated-music::unfolded-music-lengthHow to compute the duration of this music. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
name(symbol):
'PercentRepeatedMusicName of this music object.
start-callback(procedure):
ly:repeated-music::first-startFunction to compute the negative length of starting grace notes. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
types(list): '(repeated-music percent-repeated-music)The types of this music object; determines by what engraver this music expression is processed.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
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: music-event, pes-or-flexa-event and StreamEvent.
Accepted by: Vaticana_ligature_engraver.
Properties:
name(symbol):
'PesOrFlexaEventName of this music object.
types(list): '(pes-or-flexa-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Start or end phrasing slur.
Syntax: note\( and note\)
Event classes: music-event, phrasing-slur-event, span-event and StreamEvent.
Accepted by: Phrasing_slur_engraver.
Properties:
name(symbol):
'PhrasingSlurEventName of this music object.
types(list): '(post-event span-event event phrasing-slur-event)The types of this music object; determines by what engraver this music expression is processed.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Container for several postevents.
This can be used to package several events into a single one. Should not be seen outside of the parser.
Properties:
name(symbol):
'PostEventsName of this music object.
types(list): '(post-event post-event-wrapper)The types of this music object; determines by what engraver this music expression is processed.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Set a context property.
Syntax: \set context.prop = scheme-val
Properties:
iterator-ctor(procedure):
ly:property-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.name(symbol):
'PropertySetName of this music object.
types(list): '(layout-instruction-event)The types of this music object; determines by what engraver this music expression is processed.
untransposable(boolean):
#tIf set, this music is not transposed.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Restore the default setting for a context property. See PropertySet.
Syntax: \unset context.prop
Properties:
iterator-ctor(procedure):
ly:property-unset-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.name(symbol):
'PropertyUnsetName of this music object.
types(list): '(layout-instruction-event)The types of this music object; determines by what engraver this music expression is processed.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Quote preprocessed snippets of music.
Properties:
iterator-ctor(procedure):
ly:music-wrapper-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.length-callback(procedure):
ly:music-wrapper::length-callbackHow to compute the duration of this music. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
name(symbol):
'QuoteMusicName of this music object.
start-callback(procedure):
ly:music-wrapper::start-callbackFunction to compute the negative length of starting grace notes. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
types(list): '(music-wrapper-music)The types of this music object; determines by what engraver this music expression is processed.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Check if a pitch is in the correct octave.
Properties:
name(symbol):
'RelativeOctaveCheckName of this music object.
to-relative-callback(procedure):
ly:relative-octave-check::relative-callbackHow to transform a piece of music to relative pitches.
types(list): '(relative-octave-check)The types of this music object; determines by what engraver this music expression is processed.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Music in which the assignment of octaves is complete.
Properties:
iterator-ctor(procedure):
ly:music-wrapper-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.length-callback(procedure):
ly:music-wrapper::length-callbackHow to compute the duration of this music. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
name(symbol):
'RelativeOctaveMusicName of this music object.
start-callback(procedure):
ly:music-wrapper::start-callbackFunction to compute the negative length of starting grace notes. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
to-relative-callback(procedure):
ly:relative-octave-music::relative-callbackHow to transform a piece of music to relative pitches.
types(list): '(music-wrapper-music relative-octave-music)The types of this music object; determines by what engraver this music expression is processed.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Used internally to signal beat repeats.
Event classes: music-event, repeat-slash-event, rhythmic-event and StreamEvent.
Accepted by: Slash_repeat_engraver.
Properties:
name(symbol):
'RepeatSlashEventName of this music object.
types(list): '(event repeat-slash-event rhythmic-event)The types of this music object; determines by what engraver this music expression is processed.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Ties for starting a second volta bracket.
Event classes: music-event, repeat-tie-event and StreamEvent.
Accepted by: Repeat_tie_engraver.
Properties:
name(symbol):
'RepeatTieEventName of this music object.
types(list): '(post-event event repeat-tie-event)The types of this music object; determines by what engraver this music expression is processed.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Repeat music in different ways.
Properties:
name(symbol):
'RepeatedMusicName of this music object.
types(list): '(repeated-music)The types of this music object; determines by what engraver this music expression is processed.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
A Rest.
Syntax: r4 for a quarter rest.
Event classes: music-event, rest-event, rhythmic-event and StreamEvent.
Accepted by: Chord_name_engraver, Completion_rest_engraver, Figured_bass_engraver and Rest_engraver.
Properties:
iterator-ctor(procedure):
ly:rhythmic-music-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.name(symbol):
'RestEventName of this music object.
types(list): '(event rhythmic-event rest-event)The types of this music object; determines by what engraver this music expression is processed.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
The opposite of OverrideProperty: remove a previously added property from a graphical object definition.
Properties:
iterator-ctor(procedure):
ly:pop-property-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.name(symbol):
'RevertPropertyName of this music object.
types(list): '(layout-instruction-event)The types of this music object; determines by what engraver this music expression is processed.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Add an articulation mark to a note.
Event classes: music-event, script-event and StreamEvent.
Not accepted by any engraver or performer.
Properties:
name(symbol):
'ScriptEventName of this music object.
types(list): '(event)The types of this music object; determines by what engraver this music expression is processed.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Music expressions concatenated.
Syntax: \sequential { … } or simply { … }
Properties:
elements-callback(procedure):
#<procedure #f (m)>Return a list of children, for use by a sequential iterator. Takes a single music parameter.
iterator-ctor(procedure):
ly:sequential-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.length-callback(procedure):
ly:music-sequence::cumulative-length-callbackHow to compute the duration of this music. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
name(symbol):
'SequentialMusicName of this music object.
start-callback(procedure):
ly:music-sequence::first-start-callbackFunction to compute the negative length of starting grace notes. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
types(list): '(sequential-music)The types of this music object; determines by what engraver this music expression is processed.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Music playing together.
Syntax: \simultaneous { … } or << … >>
Properties:
iterator-ctor(procedure):
ly:simultaneous-music-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.length-callback(procedure):
ly:music-sequence::maximum-length-callbackHow to compute the duration of this music. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
name(symbol):
'SimultaneousMusicName of this music object.
start-callback(procedure):
ly:music-sequence::minimum-start-callbackFunction to compute the negative length of starting grace notes. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
to-relative-callback(procedure):
ly:music-sequence::simultaneous-relative-callbackHow to transform a piece of music to relative pitches.
types(list): '(simultaneous-music)The types of this music object; determines by what engraver this music expression is processed.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Filler that takes up duration, but does not print anything.
Syntax: s4 for a skip equivalent to a quarter rest.
Event classes: music-event, rhythmic-event, skip-event and StreamEvent.
Not accepted by any engraver or performer.
Properties:
iterator-ctor(procedure):
ly:rhythmic-music-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.name(symbol):
'SkipEventName of this music object.
types(list): '(event rhythmic-event skip-event)The types of this music object; determines by what engraver this music expression is processed.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Filler that takes up duration, does not print anything, and also does not create staves or voices implicitly.
Syntax: \skip duration
Properties:
iterator-ctor(procedure):
ly:simple-music-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.length-callback(procedure):
ly:music-duration-lengthHow to compute the duration of this music. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
name(symbol):
'SkipMusicName of this music object.
types(list): '(event skip-event)The types of this music object; determines by what engraver this music expression is processed.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Start or end slur.
Syntax: note( and note)
Event classes: music-event, slur-event, span-event and StreamEvent.
Accepted by: Slur_engraver and Slur_performer.
Properties:
name(symbol):
'SlurEventName of this music object.
types(list): '(post-event span-event event slur-event)The types of this music object; determines by what engraver this music expression is processed.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Print ‘Solo 1’.
Event classes: music-event, part-combine-event, solo-one-event and StreamEvent.
Accepted by: Part_combine_engraver.
Properties:
name(symbol):
'SoloOneEventName of this music object.
part-combine-status(symbol):
'solo1Change to what kind of state? Options are
solo1,solo2andunisono.types(list): '(event part-combine-event solo-one-event)The types of this music object; determines by what engraver this music expression is processed.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Print ‘Solo 2’.
Event classes: music-event, part-combine-event, solo-two-event and StreamEvent.
Accepted by: Part_combine_engraver.
Properties:
name(symbol):
'SoloTwoEventName of this music object.
part-combine-status(symbol):
'solo2Change to what kind of state? Options are
solo1,solo2andunisono.types(list): '(event part-combine-event solo-two-event)The types of this music object; determines by what engraver this music expression is processed.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Depress or release sostenuto pedal.
Event classes: music-event, pedal-event, sostenuto-event, span-event and StreamEvent.
Accepted by: Piano_pedal_engraver and Piano_pedal_performer.
Properties:
name(symbol):
'SostenutoEventName of this music object.
types(list): '(post-event event pedal-event sostenuto-event)The types of this music object; determines by what engraver this music expression is processed.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Start a new spacing section.
Event classes: music-event, spacing-section-event and StreamEvent.
Accepted by: Spacing_engraver.
Properties:
name(symbol):
'SpacingSectionEventName of this music object.
types(list): '(event spacing-section-event)The types of this music object; determines by what engraver this music expression is processed.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Event for anything that is started at a different time than stopped.
Event classes: music-event, span-event and StreamEvent.
Not accepted by any engraver or performer.
Properties:
name(symbol):
'SpanEventName of this music object.
types(list): '(event)The types of this music object; determines by what engraver this music expression is processed.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Start or stop a staff symbol.
Event classes: music-event, span-event, staff-span-event and StreamEvent.
Accepted by: Staff_symbol_engraver.
Properties:
name(symbol):
'StaffSpanEventName of this music object.
types(list): '(event span-event staff-span-event)The types of this music object; determines by what engraver this music expression is processed.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Specify on which string to play this note.
Syntax: \number
Event classes: music-event, StreamEvent and string-number-event.
Accepted by: Fretboard_engraver and Tab_note_heads_engraver.
Properties:
name(symbol):
'StringNumberEventName of this music object.
types(list): '(post-event string-number-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Specify with which finger to pluck a string.
Syntax: \rightHandFinger text
Event classes: music-event, StreamEvent and stroke-finger-event.
Not accepted by any engraver or performer.
Properties:
name(symbol):
'StrokeFingerEventName of this music object.
types(list): '(post-event stroke-finger-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Depress or release sustain pedal.
Event classes: music-event, pedal-event, span-event, StreamEvent and sustain-event.
Accepted by: Piano_pedal_engraver and Piano_pedal_performer.
Properties:
name(symbol):
'SustainEventName of this music object.
types(list): '(post-event event pedal-event sustain-event)The types of this music object; determines by what engraver this music expression is processed.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
A metronome mark or tempo indication.
Event classes: music-event, StreamEvent and tempo-change-event.
Accepted by: Metronome_mark_engraver.
Properties:
name(symbol):
'TempoChangeEventName of this music object.
types(list): '(event tempo-change-event)The types of this music object; determines by what engraver this music expression is processed.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Print text.
Event classes: music-event, script-event, StreamEvent and text-script-event.
Accepted by: Text_engraver.
Properties:
name(symbol):
'TextScriptEventName of this music object.
types(list): '(post-event script-event text-script-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Start a text spanner, for example, an octavation.
Event classes: music-event, span-event, StreamEvent and text-span-event.
Accepted by: Text_spanner_engraver.
Properties:
name(symbol):
'TextSpanEventName of this music object.
types(list): '(post-event span-event event text-span-event)The types of this music object; determines by what engraver this music expression is processed.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
A tie.
Syntax: note-~
Event classes: music-event, StreamEvent and tie-event.
Accepted by: Note_performer, Tie_engraver and Tie_performer.
Properties:
name(symbol):
'TieEventName of this music object.
types(list): '(post-event tie-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Multiply durations, as in tuplets.
Syntax: \times fraction music, e.g.,
\times 2/3 { … } for triplets.
Properties:
iterator-ctor(procedure):
ly:tuplet-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.length-callback(procedure):
ly:music-wrapper::length-callbackHow to compute the duration of this music. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
name(symbol):
'TimeScaledMusicName of this music object.
start-callback(procedure):
ly:music-wrapper::start-callbackFunction to compute the negative length of starting grace notes. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
types(list): '(time-scaled-music)The types of this music object; determines by what engraver this music expression is processed.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
An event created when setting a new time signature
Event classes: music-event, StreamEvent and time-signature-event.
Accepted by: Time_signature_engraver.
Properties:
name(symbol):
'TimeSignatureEventName of this music object.
types(list): '(event time-signature-event)The types of this music object; determines by what engraver this music expression is processed.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Set a new time signature
Properties:
elements-callback(procedure):
make-time-signature-setReturn a list of children, for use by a sequential iterator. Takes a single music parameter.
iterator-ctor(procedure):
ly:sequential-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.name(symbol):
'TimeSignatureMusicName of this music object.
types(list): '(time-signature-music)The types of this music object; determines by what engraver this music expression is processed.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Music that has been transposed.
Properties:
iterator-ctor(procedure):
ly:music-wrapper-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.length-callback(procedure):
ly:music-wrapper::length-callbackHow to compute the duration of this music. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
name(symbol):
'TransposedMusicName of this music object.
start-callback(procedure):
ly:music-wrapper::start-callbackFunction to compute the negative length of starting grace notes. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
to-relative-callback(procedure):
ly:relative-octave-music::no-relative-callbackHow to transform a piece of music to relative pitches.
types(list): '(music-wrapper-music transposed-music)The types of this music object; determines by what engraver this music expression is processed.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Unmeasured tremolo.
Event classes: music-event, StreamEvent and tremolo-event.
Accepted by: Stem_engraver.
Properties:
name(symbol):
'TremoloEventName of this music object.
types(list): '(post-event event tremolo-event)The types of this music object; determines by what engraver this music expression is processed.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Repeated notes denoted by tremolo beams.
Properties:
iterator-ctor(procedure):
ly:chord-tremolo-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.length-callback(procedure):
ly:repeated-music::unfolded-music-lengthHow to compute the duration of this music. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
name(symbol):
'TremoloRepeatedMusicName of this music object.
start-callback(procedure):
ly:repeated-music::first-startFunction to compute the negative length of starting grace notes. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
types(list): '(repeated-music tremolo-repeated-music)The types of this music object; determines by what engraver this music expression is processed.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Tremolo over two stems.
Event classes: music-event, span-event, StreamEvent and tremolo-span-event.
Accepted by: Chord_tremolo_engraver.
Properties:
name(symbol):
'TremoloSpanEventName of this music object.
types(list): '(event span-event tremolo-span-event)The types of this music object; determines by what engraver this music expression is processed.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Start a trill spanner.
Event classes: music-event, span-event, StreamEvent and trill-span-event.
Accepted by: Trill_spanner_engraver.
Properties:
name(symbol):
'TrillSpanEventName of this music object.
types(list): '(post-event span-event event trill-span-event)The types of this music object; determines by what engraver this music expression is processed.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Used internally to signal where tuplet brackets start and stop.
Event classes: music-event, span-event, StreamEvent and tuplet-span-event.
Accepted by: Stem_engraver and Tuplet_engraver.
Properties:
name(symbol):
'TupletSpanEventName of this music object.
types(list): '(tuplet-span-event span-event event post-event)The types of this music object; determines by what engraver this music expression is processed.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Depress or release una-corda pedal.
Event classes: music-event, pedal-event, span-event, StreamEvent and una-corda-event.
Accepted by: Piano_pedal_engraver and Piano_pedal_performer.
Properties:
name(symbol):
'UnaCordaEventName of this music object.
types(list): '(post-event event pedal-event una-corda-event)The types of this music object; determines by what engraver this music expression is processed.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Repeated music which is fully written (and played) out.
Properties:
elements-callback(procedure):
make-unfolded-setReturn a list of children, for use by a sequential iterator. Takes a single music parameter.
iterator-ctor(procedure):
ly:sequential-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.length-callback(procedure):
ly:repeated-music::unfolded-music-lengthHow to compute the duration of this music. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
name(symbol):
'UnfoldedRepeatedMusicName of this music object.
start-callback(procedure):
ly:repeated-music::first-startFunction to compute the negative length of starting grace notes. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
types(list): '(repeated-music unfolded-repeated-music)The types of this music object; determines by what engraver this music expression is processed.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Print ‘a 2’.
Event classes: music-event, part-combine-event, StreamEvent and unisono-event.
Accepted by: Part_combine_engraver.
Properties:
name(symbol):
'UnisonoEventName of this music object.
part-combine-status(symbol):
'unisonoChange to what kind of state? Options are
solo1,solo2andunisono.types(list): '(event part-combine-event unisono-event)The types of this music object; determines by what engraver this music expression is processed.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Music that cannot be converted from relative to absolute notation. For example, transposed music.
Properties:
iterator-ctor(procedure):
ly:music-wrapper-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.length-callback(procedure):
ly:music-wrapper::length-callbackHow to compute the duration of this music. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
name(symbol):
'UnrelativableMusicName of this music object.
start-callback(procedure):
ly:music-wrapper::start-callbackFunction to compute the negative length of starting grace notes. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
to-relative-callback(procedure):
ly:relative-octave-music::no-relative-callbackHow to transform a piece of music to relative pitches.
types(list): '(music-wrapper-music unrelativable-music)The types of this music object; determines by what engraver this music expression is processed.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Separate polyphonic voices in simultaneous music.
Syntax: \\
Properties:
name(symbol):
'VoiceSeparatorName of this music object.
types(list): '(separator)The types of this music object; determines by what engraver this music expression is processed.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Repeats with alternatives placed sequentially.
Properties:
elements-callback(procedure):
make-volta-setReturn a list of children, for use by a sequential iterator. Takes a single music parameter.
iterator-ctor(procedure):
ly:volta-repeat-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.length-callback(procedure):
ly:repeated-music::volta-music-lengthHow to compute the duration of this music. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
name(symbol):
'VoltaRepeatedMusicName of this music object.
start-callback(procedure):
ly:repeated-music::first-startFunction to compute the negative length of starting grace notes. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
types(list): '(repeated-music volta-repeated-music)The types of this music object; determines by what engraver this music expression is processed.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
A vowel transition between lyric syllables.
Event classes: music-event, StreamEvent and vowel-transition-event.
Accepted by: Hyphen_engraver.
Properties:
name(symbol):
'VowelTransitionEventName of this music object.
types(list): '(post-event vowel-transition-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Music event type absolute-dynamic-event is in music objects of type AbsoluteDynamicEvent.
Accepted by: Dynamic_engraver and Dynamic_performer.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Music event type alternative-event is in music objects of type AlternativeEvent.
Accepted by: Bar_number_engraver.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Music event type annotate-output-event is in music objects of type AnnotateOutputEvent.
Accepted by: Balloon_engraver.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Music event type apply-output-event is in music objects of type ApplyOutputEvent.
Accepted by: Output_property_engraver.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Music event type arpeggio-event is in music objects of type ArpeggioEvent.
Accepted by: Arpeggio_engraver.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Music event type articulation-event is in music objects of type ArticulationEvent.
Accepted by: Note_performer and Script_engraver.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Music event type bass-figure-event is in music objects of type BassFigureEvent.
Accepted by: Figured_bass_engraver.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Music event type beam-event is in music objects of type BeamEvent.
Accepted by: Beam_engraver, Beam_performer and Grace_beam_engraver.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Music event type beam-forbid-event is in music objects of type BeamForbidEvent.
Accepted by: Auto_beam_engraver and Grace_auto_beam_engraver.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Music event type bend-after-event is in music objects of type BendAfterEvent.
Accepted by: Bend_engraver.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Music event type break-dynamic-span-event is in music objects of type BreakDynamicSpanEvent.
Not accepted by any engraver or performer.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Music event type break-event is in music objects of type LineBreakEvent, PageBreakEvent and PageTurnEvent.
Accepted by: Page_turn_engraver and Paper_column_engraver.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Music event type break-span-event is in music objects of type BreakDynamicSpanEvent.
Accepted by: Dynamic_engraver.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Music event type breathing-event is in music objects of type BreathingEvent.
Accepted by: Breathing_sign_engraver and Note_performer.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Music event type cluster-note-event is in music objects of type ClusterNoteEvent.
Accepted by: Cluster_spanner_engraver.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Music event type completize-extender-event is in music objects of type CompletizeExtenderEvent.
Accepted by: Extender_engraver.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Music event type crescendo-event is in music objects of type CrescendoEvent.
Accepted by: Dynamic_performer.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Music event type decrescendo-event is in music objects of type DecrescendoEvent.
Accepted by: Dynamic_performer.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Music event type double-percent-event is in music objects of type DoublePercentEvent.
Accepted by: Double_percent_repeat_engraver.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Music event type dynamic-event is in music objects of type AbsoluteDynamicEvent.
Not accepted by any engraver or performer.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Music event type episema-event is in music objects of type EpisemaEvent.
Accepted by: Episema_engraver.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Music event type extender-event is in music objects of type ExtenderEvent.
Accepted by: Extender_engraver.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Music event type fingering-event is in music objects of type FingeringEvent.
Accepted by: Fingering_engraver, Fretboard_engraver and Tab_note_heads_engraver.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Music event type footnote-event is in music objects of type FootnoteEvent.
Not accepted by any engraver or performer.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Music event type glissando-event is in music objects of type GlissandoEvent.
Accepted by: Glissando_engraver.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Music event type harmonic-event is in music objects of type HarmonicEvent.
Not accepted by any engraver or performer.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Music event type hyphen-event is in music objects of type HyphenEvent.
Accepted by: Hyphen_engraver.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Music event type key-change-event is in music objects of type KeyChangeEvent.
Accepted by: Key_engraver and Key_performer.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Music event type label-event is in music objects of type LabelEvent.
Accepted by: Paper_column_engraver.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Music event type laissez-vibrer-event is in music objects of type LaissezVibrerEvent.
Accepted by: Laissez_vibrer_engraver.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Music event type layout-instruction-event is in music objects of type ApplyOutputEvent.
Not accepted by any engraver or performer.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Music event type ligature-event is in music objects of type LigatureEvent.
Accepted by: Kievan_ligature_engraver, Ligature_bracket_engraver, Mensural_ligature_engraver and Vaticana_ligature_engraver.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Music event type line-break-event is in music objects of type LineBreakEvent.
Not accepted by any engraver or performer.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Music event type lyric-event is in music objects of type LyricEvent.
Accepted by: Lyric_engraver and Lyric_performer.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Music event type mark-event is in music objects of type MarkEvent.
Accepted by: Mark_engraver.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Music event type measure-counter-event is in music objects of type MeasureCounterEvent.
Accepted by: Measure_counter_engraver.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Music event type measure-spanner-event is in music objects of type MeasureSpannerEvent.
Accepted by: Measure_spanner_engraver.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Music event type melodic-event is in music objects of type ClusterNoteEvent and NoteEvent.
Not accepted by any engraver or performer.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Music event type multi-measure-articulation-event is in music objects of type MultiMeasureArticulationEvent.
Accepted by: Multi_measure_rest_engraver.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Music event type multi-measure-rest-event is in music objects of type MultiMeasureRestEvent.
Accepted by: Multi_measure_rest_engraver.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Music event type multi-measure-text-event is in music objects of type MultiMeasureTextEvent.
Accepted by: Multi_measure_rest_engraver.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Music event type music-event is in music objects of type AbsoluteDynamicEvent, AlternativeEvent, AnnotateOutputEvent, ApplyOutputEvent, ArpeggioEvent, ArticulationEvent, BassFigureEvent, BeamEvent, BeamForbidEvent, BendAfterEvent, BreakDynamicSpanEvent, BreathingEvent, ClusterNoteEvent, CompletizeExtenderEvent, CrescendoEvent, DecrescendoEvent, DoublePercentEvent, EpisemaEvent, ExtenderEvent, FingeringEvent, FootnoteEvent, GlissandoEvent, HarmonicEvent, HyphenEvent, KeyChangeEvent, LabelEvent, LaissezVibrerEvent, LigatureEvent, LineBreakEvent, LyricEvent, MarkEvent, MeasureCounterEvent, MeasureSpannerEvent, MultiMeasureArticulationEvent, MultiMeasureRestEvent, MultiMeasureTextEvent, NoteEvent, NoteGroupingEvent, PageBreakEvent, PageTurnEvent, PercentEvent, PesOrFlexaEvent, PhrasingSlurEvent, RepeatSlashEvent, RepeatTieEvent, RestEvent, ScriptEvent, SkipEvent, SlurEvent, SoloOneEvent, SoloTwoEvent, SostenutoEvent, SpacingSectionEvent, SpanEvent, StaffSpanEvent, StringNumberEvent, StrokeFingerEvent, SustainEvent, TempoChangeEvent, TextScriptEvent, TextSpanEvent, TieEvent, TimeSignatureEvent, TremoloEvent, TremoloSpanEvent, TrillSpanEvent, TupletSpanEvent, UnaCordaEvent, UnisonoEvent and VowelTransitionEvent.
Not accepted by any engraver or performer.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
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, Part_combine_engraver, Phrasing_slur_engraver, Slur_engraver and Tab_note_heads_engraver.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Music event type note-grouping-event is in music objects of type NoteGroupingEvent.
Accepted by: Horizontal_bracket_engraver.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Music event type page-break-event is in music objects of type PageBreakEvent.
Not accepted by any engraver or performer.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Music event type page-turn-event is in music objects of type PageTurnEvent.
Not accepted by any engraver or performer.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Music event type part-combine-event is in music objects of type SoloOneEvent, SoloTwoEvent and UnisonoEvent.
Accepted by: Part_combine_engraver.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Music event type pedal-event is in music objects of type SostenutoEvent, SustainEvent and UnaCordaEvent.
Not accepted by any engraver or performer.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Music event type percent-event is in music objects of type PercentEvent.
Accepted by: Percent_repeat_engraver.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Music event type pes-or-flexa-event is in music objects of type PesOrFlexaEvent.
Accepted by: Vaticana_ligature_engraver.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Music event type phrasing-slur-event is in music objects of type PhrasingSlurEvent.
Accepted by: Phrasing_slur_engraver.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Music event type repeat-slash-event is in music objects of type RepeatSlashEvent.
Accepted by: Slash_repeat_engraver.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Music event type repeat-tie-event is in music objects of type RepeatTieEvent.
Accepted by: Repeat_tie_engraver.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Music event type rest-event is in music objects of type RestEvent.
Accepted by: Chord_name_engraver, Completion_rest_engraver, Figured_bass_engraver and Rest_engraver.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Music event type rhythmic-event is in music objects of type BassFigureEvent, ClusterNoteEvent, DoublePercentEvent, LyricEvent, MultiMeasureRestEvent, NoteEvent, RepeatSlashEvent, RestEvent and SkipEvent.
Not accepted by any engraver or performer.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Music event type script-event is in music objects of type ArticulationEvent, ScriptEvent and TextScriptEvent.
Not accepted by any engraver or performer.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Music event type skip-event is in music objects of type SkipEvent.
Not accepted by any engraver or performer.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Music event type slur-event is in music objects of type SlurEvent.
Accepted by: Slur_engraver and Slur_performer.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Music event type solo-one-event is in music objects of type SoloOneEvent.
Not accepted by any engraver or performer.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Music event type solo-two-event is in music objects of type SoloTwoEvent.
Not accepted by any engraver or performer.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Music event type sostenuto-event is in music objects of type SostenutoEvent.
Accepted by: Piano_pedal_engraver and Piano_pedal_performer.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Music event type spacing-section-event is in music objects of type SpacingSectionEvent.
Accepted by: Spacing_engraver.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Music event type span-dynamic-event is in music objects of type CrescendoEvent and DecrescendoEvent.
Accepted by: Dynamic_engraver.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Music event type span-event is in music objects of type BeamEvent, CrescendoEvent, DecrescendoEvent, EpisemaEvent, LigatureEvent, MeasureCounterEvent, MeasureSpannerEvent, PhrasingSlurEvent, SlurEvent, SostenutoEvent, SpanEvent, StaffSpanEvent, SustainEvent, TextSpanEvent, TremoloSpanEvent, TrillSpanEvent, TupletSpanEvent and UnaCordaEvent.
Not accepted by any engraver or performer.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Music event type staff-span-event is in music objects of type StaffSpanEvent.
Accepted by: Staff_symbol_engraver.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Music event type StreamEvent is in music objects of type AbsoluteDynamicEvent, AlternativeEvent, AnnotateOutputEvent, ApplyOutputEvent, ArpeggioEvent, ArticulationEvent, BassFigureEvent, BeamEvent, BeamForbidEvent, BendAfterEvent, BreakDynamicSpanEvent, BreathingEvent, ClusterNoteEvent, CompletizeExtenderEvent, CrescendoEvent, DecrescendoEvent, DoublePercentEvent, EpisemaEvent, ExtenderEvent, FingeringEvent, FootnoteEvent, GlissandoEvent, HarmonicEvent, HyphenEvent, KeyChangeEvent, LabelEvent, LaissezVibrerEvent, LigatureEvent, LineBreakEvent, LyricEvent, MarkEvent, MeasureCounterEvent, MeasureSpannerEvent, MultiMeasureArticulationEvent, MultiMeasureRestEvent, MultiMeasureTextEvent, NoteEvent, NoteGroupingEvent, PageBreakEvent, PageTurnEvent, PercentEvent, PesOrFlexaEvent, PhrasingSlurEvent, RepeatSlashEvent, RepeatTieEvent, RestEvent, ScriptEvent, SkipEvent, SlurEvent, SoloOneEvent, SoloTwoEvent, SostenutoEvent, SpacingSectionEvent, SpanEvent, StaffSpanEvent, StringNumberEvent, StrokeFingerEvent, SustainEvent, TempoChangeEvent, TextScriptEvent, TextSpanEvent, TieEvent, TimeSignatureEvent, TremoloEvent, TremoloSpanEvent, TrillSpanEvent, TupletSpanEvent, UnaCordaEvent, UnisonoEvent and VowelTransitionEvent.
Not accepted by any engraver or performer.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Music event type string-number-event is in music objects of type StringNumberEvent.
Accepted by: Fretboard_engraver and Tab_note_heads_engraver.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Music event type stroke-finger-event is in music objects of type StrokeFingerEvent.
Not accepted by any engraver or performer.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Music event type sustain-event is in music objects of type SustainEvent.
Accepted by: Piano_pedal_engraver and Piano_pedal_performer.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Music event type tempo-change-event is in music objects of type TempoChangeEvent.
Accepted by: Metronome_mark_engraver.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Music event type text-script-event is in music objects of type TextScriptEvent.
Accepted by: Text_engraver.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Music event type text-span-event is in music objects of type TextSpanEvent.
Accepted by: Text_spanner_engraver.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Music event type tie-event is in music objects of type TieEvent.
Accepted by: Note_performer, Tie_engraver and Tie_performer.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Music event type time-signature-event is in music objects of type TimeSignatureEvent.
Accepted by: Time_signature_engraver.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Music event type tremolo-event is in music objects of type TremoloEvent.
Accepted by: Stem_engraver.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Music event type tremolo-span-event is in music objects of type TremoloSpanEvent.
Accepted by: Chord_tremolo_engraver.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Music event type trill-span-event is in music objects of type TrillSpanEvent.
Accepted by: Trill_spanner_engraver.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Music event type tuplet-span-event is in music objects of type TupletSpanEvent.
Accepted by: Stem_engraver and Tuplet_engraver.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Music event type una-corda-event is in music objects of type UnaCordaEvent.
Accepted by: Piano_pedal_engraver and Piano_pedal_performer.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Music event type unisono-event is in music objects of type UnisonoEvent.
Not accepted by any engraver or performer.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Music event type vowel-transition-event is in music objects of type VowelTransitionEvent.
Accepted by: Hyphen_engraver.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
absolute-octave (integer)The absolute octave for an octave check note.
alteration (number)Alteration for figured bass.
alternative-dir (direction)Indicates if an AlternativeMusic is the First (-1), Middle (0), or Last (1) of group of alternate endings.
alternative-increment (integer)The number of times an alternative’s lettering should be incremented.
articulation-type (string)Key for script definitions alist.
TODO: Consider making type into symbol.
articulations (list of music objects)Articulation events specifically for this note.
associated-context (string)Name of the context associated with
this \lyricsto section.
associated-context-type (symbol)Type of the context associated with
this \lyricsto section.
augmented (boolean)This figure is for an augmented figured
bass (with + sign).
augmented-slash (boolean)This figure is for an augmented figured bass (back-slashed number).
automatically-numbered (boolean)Should a footnote be automatically numbered?
autosplit-end (boolean)Duration of event was truncated by automatic
splitting in Completion_heads_engraver.
bass (boolean)Set if this note is a bass note in a chord.
beat-structure (list)A beatStructure to be used in autobeaming.
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.
class (symbol)The class name of an event class.
context (context)The context to which an event is sent.
context-change-list (list)Context changes for \autoChange or \partCombine.
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.
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 objects)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.
figure (integer)A bass figure.
footnote-text (markup)Text to appear in a footnote.
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.
id (symbol)The ID of an event.
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 (integer or 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 or pair)How many beats in a minute?
midi-extra-velocity (integer)How much louder or softer should this note be in MIDI output? The default is 0.
midi-length (procedure)Function to determine how long to play a note in MIDI. It should take a moment (the written length of the note) and a context, and return a moment (the length to play the note).
moment (moment)The moment at which an event happens.
music-cause (music)The music object that is the cause of an event.
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?
ops (any type)The operations to apply during the creation of a context.
origin (input location)Where was this piece of music defined?
ottava-number (integer)The octavation for \ottava.
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 and unisono.
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 an override on some grob property.
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.
property-path (symbol)The path of a property.
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 and
event-list entries.
quoted-music-clef (string)The clef of the voice to quote.
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?
search-direction (direction)Limits the scope of \context searches.
slash-count (integer)The number of slashes in a single-beat repeat. If zero, signals a beat containing varying durations.
span-direction (direction)Does this start or stop a spanner?
span-text (markup)The displayed text for dynamic text spanners (e.g., cresc.)
span-type (symbol)What kind of dynamic spanner should be created?
Options are 'text and 'hairpin.
spanner-id (index or symbol)Identifier to distinguish concurrent spanners.
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.
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.
volta-repeats (list)A list that is transformed into a volta repeat element list.
what (symbol)What to change for auto-change.
FIXME: Naming.
X-offset (number)Offset of resulting grob; only used for balloon texts.
Y-offset (number)Offset of resulting grob; only used for balloon texts.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
| 2.1 Contexts | Complete descriptions of all contexts. | |
| 2.2 Engravers and Performers | All separate engravers and performers. | |
| 2.3 Tunable context properties | All tunable context properties. | |
| 2.4 Internal context properties | All internal context properties. |
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Identical to StaffGroup except that the
contained staves are not connected vertically.
This context creates the following layout object(s):
InstrumentName, SystemStartBar, SystemStartBrace, SystemStartBracket, SystemStartSquare and VerticalAlignment.
This context sets the following properties:
instrumentName to
'().
localAlterations to
'().
shortInstrumentName to
'().
shortVocalName to
'().
systemStartDelimiter to
'SystemStartBracket.
topLevelAlignment to
#f.
vocalName to
'().
This is not a ‘Bottom’ context; search for such a one will commence after creating an implicit context of type Staff.
Context ChoirStaff can contain ChoirStaff, ChordNames, DrumStaff, Dynamics, FiguredBass, GrandStaff, Lyrics, OneStaff, PianoStaff, RhythmicStaff, Staff and StaffGroup.
This context is built from the following engraver(s):
Instrument_name_engraverCreate a system start text for instrument or vocal names.
Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
instrumentName(markup)The name to print left of a staff. The
instrumentNameproperty labels the staff in the first system, and theshortInstrumentNameproperty labels following lines.shortInstrumentName(markup)See
instrumentName.shortVocalName(markup)Name of a vocal line, short version.
vocalName(markup)Name of a vocal line.
This engraver creates the following layout object(s):
System_start_delimiter_engraverCreate a system start delimiter (i.e., a
SystemStartBar,SystemStartBrace,SystemStartBracketorSystemStartSquarespanner).Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
systemStartDelimiter(symbol)Which grob to make for the start of the system/staff? Set to
SystemStartBrace,SystemStartBracketorSystemStartBar.systemStartDelimiterHierarchy(pair)A nested list, indicating the nesting of a start delimiters.
This engraver creates the following layout object(s):
SystemStartBar, SystemStartBrace, SystemStartBracket and SystemStartSquare.
Vertical_align_engraverCatch groups (staves, lyrics lines, etc.) and stack them vertically.
Properties (read)
alignAboveContext(string)Where to insert newly created context in vertical alignment.
alignBelowContext(string)Where to insert newly created context in vertical alignment.
hasAxisGroup(boolean)True if the current context is contained in an axis group.
This engraver creates the following layout object(s):
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Typesets chord names.
This context also accepts commands for the following context(s):
Staff.
This context creates the following layout object(s):
ChordName, StaffSpacing and VerticalAxisGroup.
This context sets the following properties:
font-size in ParenthesesItem to
1.5.
nonstaff-nonstaff-spacing.padding in VerticalAxisGroup to
0.5.
nonstaff-relatedstaff-spacing.padding in VerticalAxisGroup to
0.5.
remove-empty in VerticalAxisGroup to
#t.
remove-first in VerticalAxisGroup to
#t.
staff-affinity in VerticalAxisGroup to
-1.
This is a ‘Bottom’ context; no contexts will be created implicitly from it.
This context cannot contain other contexts.
This context is built from the following engraver(s):
Axis_group_engraverGroup all objects created in this context in a
VerticalAxisGroupspanner.Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
hasAxisGroup(boolean)True if the current context is contained in an axis group.
keepAliveInterfaces(list)A list of symbols, signifying grob interfaces that are worth keeping a staff with
remove-emptyset around for.Properties (write)
hasAxisGroup(boolean)True if the current context is contained in an axis group.
This engraver creates the following layout object(s):
Chord_name_engraverCatch note and rest events and generate the appropriate chordname.
Music types accepted:
note-event and rest-event
Properties (read)
chordChanges(boolean)Only show changes in chords scheme?
chordNameExceptions(list)An alist of chord exceptions. Contains
(chord . markup)entries.chordNameExceptions(list)An alist of chord exceptions. Contains
(chord . markup)entries.chordNameFunction(procedure)The function that converts lists of pitches to chord names.
chordNoteNamer(procedure)A function that converts from a pitch object to a text markup. Used for single pitches.
chordRootNamer(procedure)A function that converts from a pitch object to a text markup. Used for chords.
lastChord(markup)Last chord, used for detecting chord changes.
majorSevenSymbol(markup)How should the major 7th be formatted in a chord name?
noChordSymbol(markup)Markup to be displayed for rests in a ChordNames context.
Properties (write)
lastChord(markup)Last chord, used for detecting chord changes.
This engraver creates the following layout object(s):
Output_property_engraverApply a procedure to any grob acknowledged.
Music types accepted:
Separating_line_group_engraverGenerate objects for computing spacing parameters.
Properties (read)
createSpacing(boolean)Create
StaffSpacingobjects? Should be set for staves.Properties (write)
hasStaffSpacing(boolean)True if the current
CommandColumncontains items that will affect spacing.This engraver creates the following layout object(s):
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Corresponds to a voice on a staff. This context handles the conversion of dynamic signs, stems, beams, super- and subscripts, slurs, ties, and rests.
You have to instantiate this explicitly if you want to have multiple voices on the same staff.
This context also accepts commands for the following context(s):
Voice.
This context creates the following layout object(s):
Arpeggio, Beam, BendAfter, BreathingSign, ClusterSpanner, ClusterSpannerBeacon, CombineTextScript, Dots, DoublePercentRepeat, DoublePercentRepeatCounter, DoubleRepeatSlash, DynamicLineSpanner, DynamicText, DynamicTextSpanner, Fingering, Flag, Glissando, Hairpin, InstrumentSwitch, LaissezVibrerTie, LaissezVibrerTieColumn, LigatureBracket, MultiMeasureRest, MultiMeasureRestNumber, MultiMeasureRestScript, MultiMeasureRestText, NoteColumn, NoteHead, NoteSpacing, PercentRepeat, PercentRepeatCounter, PhrasingSlur, RepeatSlash, RepeatTie, RepeatTieColumn, Rest, Script, ScriptColumn, Slur, Stem, StemStub, StemTremolo, StringNumber, StrokeFinger, TextScript, TextSpanner, Tie, TieColumn, TrillPitchAccidental, TrillPitchGroup, TrillPitchHead, TrillSpanner, TupletBracket, TupletNumber and VoiceFollower.
This context sets the following properties:
beam-thickness in Beam to
0.35.
beam-thickness in StemTremolo to
0.35.
ignore-ambitus in NoteHead to
#t.
length-fraction in Beam to
0.629960524947437.
length-fraction in Stem to
0.629960524947437.
fontSize to
-4.
This is a ‘Bottom’ context; no contexts will be created implicitly from it.
This context cannot contain other contexts.
This context is built from the following engraver(s):
Arpeggio_engraverGenerate an Arpeggio symbol.
Music types accepted:
This engraver creates the following layout object(s):
Auto_beam_engraverGenerate beams based on measure characteristics and observed Stems. Uses
baseMoment,beatStructure,beamExceptions,measureLength, andmeasurePositionto decide when to start and stop a beam. Overriding beaming is done through Stem_engraver propertiesstemLeftBeamCountandstemRightBeamCount.Music types accepted:
Properties (read)
autoBeaming(boolean)If set to true then beams are generated automatically.
baseMoment(moment)Smallest unit of time that will stand on its own as a subdivided section.
beamExceptions(list)An alist of exceptions to autobeam rules that normally end on beats.
beamHalfMeasure(boolean)Whether to allow a beam to begin halfway through the measure in triple time, which could look like 6/8.
beatStructure(list)List of
baseMoments that are combined to make beats.subdivideBeams(boolean)If set, multiple beams will be subdivided at
baseMomentpositions by only drawing one beam over the beat.This engraver creates the following layout object(s):
Beam.
Beam_engraverHandle
Beamevents by engraving beams. If omitted, then notes are printed with flags instead of beams.Music types accepted:
Properties (read)
baseMoment(moment)Smallest unit of time that will stand on its own as a subdivided section.
beamMelismaBusy(boolean)Signal if a beam is present.
beatStructure(list)List of
baseMoments that are combined to make beats.subdivideBeams(boolean)If set, multiple beams will be subdivided at
baseMomentpositions by only drawing one beam over the beat.Properties (write)
forbidBreak(boolean)If set to
#t, prevent a line break at this point.This engraver creates the following layout object(s):
Beam.
Bend_engraverCreate fall spanners.
Music types accepted:
This engraver creates the following layout object(s):
Breathing_sign_engraverCreate a breathing sign.
Music types accepted:
This engraver creates the following layout object(s):
Chord_tremolo_engraverGenerate beams for tremolo repeats.
Music types accepted:
This engraver creates the following layout object(s):
Beam.
Cluster_spanner_engraverEngrave a cluster using
Spannernotation.Music types accepted:
This engraver creates the following layout object(s):
Dots_engraverCreate Dots objects for rhythmic-head-interfaces.
This engraver creates the following layout object(s):
Dots.
Double_percent_repeat_engraverMake double measure repeats.
Music types accepted:
Properties (read)
countPercentRepeats(boolean)If set, produce counters for percent repeats.
measureLength(moment)Length of one measure in the current time signature.
repeatCountVisibility(procedure)A procedure taking as arguments an integer and context, returning whether the corresponding percent repeat number should be printed when
countPercentRepeatsis set.Properties (write)
forbidBreak(boolean)If set to
#t, prevent a line break at this point.This engraver creates the following layout object(s):
Dynamic_align_engraverAlign hairpins and dynamic texts on a horizontal line.
Properties (read)
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
Dynamic_engraverCreate hairpins, dynamic texts and dynamic text spanners.
Music types accepted:
absolute-dynamic-event, break-span-event and span-dynamic-event
Properties (read)
crescendoSpanner(symbol)The type of spanner to be used for crescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin crescendo is used.
crescendoText(markup)The text to print at start of non-hairpin crescendo, i.e., ‘cresc.’.
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
decrescendoSpanner(symbol)The type of spanner to be used for decrescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin decrescendo is used.
decrescendoText(markup)The text to print at start of non-hairpin decrescendo, i.e., ‘dim.’.
This engraver creates the following layout object(s):
Fingering_engraverCreate fingering scripts.
Music types accepted:
This engraver creates the following layout object(s):
Font_size_engraverPut
fontSizeintofont-sizegrob property.Properties (read)
fontSize(number)The relative size of all grobs in a context.
Forbid_line_break_engraverForbid line breaks when note heads are still playing at some point.
Properties (read)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Properties (write)
forbidBreak(boolean)If set to
#t, prevent a line break at this point.Glissando_engraverEngrave glissandi.
Music types accepted:
Properties (read)
glissandoMap(list)A map in the form of ’((source1 . target1) (source2 . target2) (sourcen . targetn)) showing the glissandi to be drawn for note columns. The value ’() will default to ’((0 . 0) (1 . 1) (n . n)), where n is the minimal number of note-heads in the two note columns between which the glissandi occur.
This engraver creates the following layout object(s):
Grace_auto_beam_engraverGenerates one autobeam group across an entire grace phrase. As usual, any manual beaming or
\noBeamwill block autobeaming, just like setting the context property ‘autoBeaming’ to##f.Music types accepted:
Properties (read)
autoBeaming(boolean)If set to true then beams are generated automatically.
This engraver creates the following layout object(s):
Beam.
Grace_beam_engraverHandle
Beamevents by engraving beams. If omitted, then notes are printed with flags instead of beams. Only engraves beams when we are at grace points in time.Music types accepted:
Properties (read)
baseMoment(moment)Smallest unit of time that will stand on its own as a subdivided section.
beamMelismaBusy(boolean)Signal if a beam is present.
beatStructure(list)List of
baseMoments that are combined to make beats.subdivideBeams(boolean)If set, multiple beams will be subdivided at
baseMomentpositions by only drawing one beam over the beat.This engraver creates the following layout object(s):
Beam.
Grace_engraverSet font size and other properties for grace notes.
Properties (read)
graceSettings(list)Overrides for grace notes. This property should be manipulated through the
add-grace-propertyfunction.Grob_pq_engraverAdministrate when certain grobs (e.g., note heads) stop playing.
Properties (read)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Properties (write)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Instrument_switch_engraverCreate a cue text for taking instrument.
Properties (read)
instrumentCueName(markup)The name to print if another instrument is to be taken.
This engraver creates the following layout object(s):
Laissez_vibrer_engraverCreate laissez vibrer items.
Music types accepted:
This engraver creates the following layout object(s):
Ligature_bracket_engraverHandle
Ligature_eventsby engravingLigaturebrackets.Music types accepted:
This engraver creates the following layout object(s):
Multi_measure_rest_engraverEngrave multi-measure rests that are produced with ‘R’. It reads
measurePositionandinternalBarNumberto determine what number to print over the MultiMeasureRest.Music types accepted:
multi-measure-articulation-event, multi-measure-rest-event and multi-measure-text-event
Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
internalBarNumber(integer)Contains the current barnumber. This property is used for internal timekeeping, among others by the
Accidental_engraver.measurePosition(moment)How much of the current measure have we had. This can be set manually to create incomplete measures.
restNumberThreshold(number)If a multimeasure rest has more measures than this, a number is printed.
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 ‘scm/bar-line.scm’.
This engraver creates the following layout object(s):
MultiMeasureRest, MultiMeasureRestNumber, MultiMeasureRestScript and MultiMeasureRestText.
New_fingering_engraverCreate fingering scripts for notes in a new chord. This engraver is ill-named, since it also takes care of articulations and harmonic note heads.
Properties (read)
fingeringOrientations(list)A list of symbols, containing ‘left’, ‘right’, ‘up’ and/or ‘down’. This list determines where fingerings are put relative to the chord being fingered.
harmonicDots(boolean)If set, harmonic notes in dotted chords get dots.
stringNumberOrientations(list)See
fingeringOrientations.strokeFingerOrientations(list)See
fingeringOrientations.This engraver creates the following layout object(s):
Fingering, Script, StringNumber and StrokeFinger.
Note_head_line_engraverEngrave a line between two note heads in a staff switch if
followVoiceis set.Properties (read)
followVoice(boolean)If set, note heads are tracked across staff switches by a thin line.
This engraver creates the following layout object(s):
Note_heads_engraverGenerate note heads.
Music types accepted:
Properties (read)
middleCPosition(number)The place of the middle C, measured in half staff-spaces. Usually determined by looking at
middleCClefPositionandmiddleCOffset.staffLineLayoutFunction(procedure)Layout of staff lines,
traditional, orsemitone.This engraver creates the following layout object(s):
Note_spacing_engraverGenerate
NoteSpacing, an object linking horizontal lines for use in spacing.This engraver creates the following layout object(s):
Output_property_engraverApply a procedure to any grob acknowledged.
Music types accepted:
Part_combine_engraverPart combine engraver for orchestral scores: Print markings ‘a2’, ‘Solo’, ‘Solo II’, and ‘unisono’.
Music types accepted:
note-event and part-combine-event
Properties (read)
aDueText(markup)Text to print at a unisono passage.
partCombineTextsOnNote(boolean)Print part-combine texts only on the next note rather than immediately on rests or skips.
printPartCombineTexts(boolean)Set ‘Solo’ and ‘A due’ texts in the part combiner?
soloIIText(markup)The text for the start of a solo for voice ‘two’ when part-combining.
soloText(markup)The text for the start of a solo when part-combining.
This engraver creates the following layout object(s):
Percent_repeat_engraverMake whole measure repeats.
Music types accepted:
Properties (read)
countPercentRepeats(boolean)If set, produce counters for percent repeats.
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
repeatCountVisibility(procedure)A procedure taking as arguments an integer and context, returning whether the corresponding percent repeat number should be printed when
countPercentRepeatsis set.This engraver creates the following layout object(s):
Phrasing_slur_engraverPrint phrasing slurs. Similar to Slur_engraver.
Music types accepted:
note-event and phrasing-slur-event
This engraver creates the following layout object(s):
Pitched_trill_engraverPrint the bracketed note head after a note head with trill.
This engraver creates the following layout object(s):
Repeat_tie_engraverCreate repeat ties.
Music types accepted:
This engraver creates the following layout object(s):
RepeatTie and RepeatTieColumn.
Rest_engraverEngrave rests.
Music types accepted:
Properties (read)
middleCPosition(number)The place of the middle C, measured in half staff-spaces. Usually determined by looking at
middleCClefPositionandmiddleCOffset.This engraver creates the following layout object(s):
Rest.
Rhythmic_column_engraverGenerate
NoteColumn, an object that groups stems, note heads, and rests.This engraver creates the following layout object(s):
Script_column_engraverFind potentially colliding scripts and put them into a
ScriptColumnobject; that will fix the collisions.This engraver creates the following layout object(s):
Script_engraverHandle note scripted articulations.
Music types accepted:
Properties (read)
scriptDefinitions(list)The description of scripts. This is used by the
Script_engraverfor typesetting note-superscripts and subscripts. See ‘scm/script.scm’ for more information.This engraver creates the following layout object(s):
Slash_repeat_engraverMake beat repeats.
Music types accepted:
This engraver creates the following layout object(s):
Slur_engraverBuild slur grobs from slur events.
Music types accepted:
note-event and slur-event
Properties (read)
doubleSlurs(boolean)If set, two slurs are created for every slurred note, one above and one below the chord.
slurMelismaBusy(boolean)Signal if a slur is present.
This engraver creates the following layout object(s):
Slur.
Spanner_break_forbid_engraverForbid breaks in certain spanners.
Stem_engraverCreate stems, flags and single-stem tremolos. It also works together with the beam engraver for overriding beaming.
Music types accepted:
tremolo-event and tuplet-span-event
Properties (read)
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.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 ‘scm/bar-line.scm’.
This engraver creates the following layout object(s):
Flag, Stem, StemStub and StemTremolo.
Text_engraverCreate text scripts.
Music types accepted:
This engraver creates the following layout object(s):
Text_spanner_engraverCreate text spanner from an event.
Music types accepted:
Properties (read)
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
Tie_engraverGenerate ties between note heads of equal pitch.
Music types accepted:
Properties (read)
skipTypesetting(boolean)If true, no typesetting is done, speeding up the interpretation phase. Useful for debugging large scores.
tieWaitForNote(boolean)If true, tied notes do not have to follow each other directly. This can be used for writing out arpeggios.
Properties (write)
tieMelismaBusy(boolean)Signal whether a tie is present.
This engraver creates the following layout object(s):
Trill_spanner_engraverCreate trill spanner from an event.
Music types accepted:
Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
Tuplet_engraverCatch tuplet events and generate appropriate bracket.
Music types accepted:
Properties (read)
tupletFullLength(boolean)If set, the tuplet is printed up to the start of the next note.
tupletFullLengthNote(boolean)If set, end at the next note, otherwise end on the matter (time signatures, etc.) before the note.
This engraver creates the following layout object(s):
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Silently discards all musical information given to this context.
This context also accepts commands for the following context(s):
Staff and Voice.
This context creates the following layout object(s):
none.
This is a ‘Bottom’ context; no contexts will be created implicitly from it.
This context cannot contain other contexts.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Handles typesetting for percussion.
This context also accepts commands for the following context(s):
Staff.
This context creates the following layout object(s):
BarLine, BassFigure, BassFigureAlignment, BassFigureAlignmentPositioning, BassFigureBracket, BassFigureContinuation, BassFigureLine, Clef, ClefModifier, CueClef, CueEndClef, DotColumn, FingeringColumn, InstrumentName, LedgerLineSpanner, NoteCollision, RestCollision, ScriptRow, SostenutoPedalLineSpanner, StaffSpacing, StaffSymbol, SustainPedalLineSpanner, TimeSignature, UnaCordaPedalLineSpanner and VerticalAxisGroup.
This context sets the following properties:
staff-padding in Script to
0.75.
clefGlyph to
"clefs.percussion".
clefPosition to
0.
createSpacing to
#t.
ignoreFiguredBassRest to
#f.
instrumentName to
'().
localAlterations to
'().
ottavationMarkups to:
'((4 . "29") (3 . "22") (2 . "15") (1 . "8") (-1 . "8") (-2 . "15") (-3 . "22") (-4 . "29"))
shortInstrumentName to
'().
This is not a ‘Bottom’ context; search for such a one will commence after creating an implicit context of type DrumVoice.
Context DrumStaff can contain CueVoice, DrumVoice and NullVoice.
This context is built from the following engraver(s):
Axis_group_engraverGroup all objects created in this context in a
VerticalAxisGroupspanner.Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
hasAxisGroup(boolean)True if the current context is contained in an axis group.
keepAliveInterfaces(list)A list of symbols, signifying grob interfaces that are worth keeping a staff with
remove-emptyset around for.Properties (write)
hasAxisGroup(boolean)True if the current context is contained in an axis group.
This engraver creates the following layout object(s):
Bar_engraverCreate barlines. This engraver is controlled through the
whichBarproperty. If it has no bar line to create, it will forbid a linebreak at this point. This engraver is required to trigger the creation of clefs at the start of systems.Properties (read)
whichBar(string)This property is read to determine what type of bar line to create.
Example:
\set Staff.whichBar = ".|:"This will create a start-repeat bar in this staff only. Valid values are described in ‘scm/bar-line.scm’.
Properties (write)
forbidBreak(boolean)If set to
#t, prevent a line break at this point.This engraver creates the following layout object(s):
Clef_engraverDetermine and set reference point for pitches.
Properties (read)
clefGlyph(string)Name of the symbol within the music font.
clefPosition(number)Where should the center of the clef symbol go, measured in half staff spaces from the center of the staff.
clefTransposition(integer)Add this much extra transposition. Values of 7 and -7 are common.
clefTranspositionStyle(symbol)Determines the way the ClefModifier grob is displayed. Possible values are ‘default’, ‘parenthesized’ and ‘bracketed’.
explicitClefVisibility(vector)‘break-visibility’ function for clef changes.
forceClef(boolean)Show clef symbol, even if it has not changed. Only active for the first clef after the property is set, not for the full staff.
This engraver creates the following layout object(s):
Clef and ClefModifier.
Collision_engraverCollect
NoteColumns, and as soon as there are two or more, put them in aNoteCollisionobject.This engraver creates the following layout object(s):
Cue_clef_engraverDetermine and set reference point for pitches in cued voices.
Properties (read)
clefTransposition(integer)Add this much extra transposition. Values of 7 and -7 are common.
cueClefGlyph(string)Name of the symbol within the music font.
cueClefPosition(number)Where should the center of the clef symbol go, measured in half staff spaces from the center of the staff.
cueClefTransposition(integer)Add this much extra transposition. Values of 7 and -7 are common.
cueClefTranspositionStyle(symbol)Determines the way the ClefModifier grob is displayed. Possible values are ‘default’, ‘parenthesized’ and ‘bracketed’.
explicitCueClefVisibility(vector)‘break-visibility’ function for cue clef changes.
middleCCuePosition(number)The position of the middle C, as determined only by the clef of the cue notes. This can be calculated by looking at
cueClefPositionandcueClefGlyph.This engraver creates the following layout object(s):
ClefModifier, CueClef and CueEndClef.
Dot_column_engraverEngrave dots on dotted notes shifted to the right of the note. If omitted, then dots appear on top of the notes.
This engraver creates the following layout object(s):
Figured_bass_engraverMake figured bass numbers.
Music types accepted:
bass-figure-event and rest-event
Properties (read)
figuredBassAlterationDirection(direction)Where to put alterations relative to the main figure.
figuredBassCenterContinuations(boolean)Whether to vertically center pairs of extender lines. This does not work with three or more lines.
figuredBassFormatter(procedure)A routine generating a markup for a bass figure.
ignoreFiguredBassRest(boolean)Don’t swallow rest events.
implicitBassFigures(list)A list of bass figures that are not printed as numbers, but only as extender lines.
useBassFigureExtenders(boolean)Whether to use extender lines for repeated bass figures.
This engraver creates the following layout object(s):
BassFigure, BassFigureAlignment, BassFigureBracket, BassFigureContinuation and BassFigureLine.
Figured_bass_position_engraverPosition figured bass alignments over notes.
This engraver creates the following layout object(s):
Fingering_column_engraverFind potentially colliding scripts and put them into a
FingeringColumnobject; that will fix the collisions.This engraver creates the following layout object(s):
Font_size_engraverPut
fontSizeintofont-sizegrob property.Properties (read)
fontSize(number)The relative size of all grobs in a context.
Grob_pq_engraverAdministrate when certain grobs (e.g., note heads) stop playing.
Properties (read)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Properties (write)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Instrument_name_engraverCreate a system start text for instrument or vocal names.
Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
instrumentName(markup)The name to print left of a staff. The
instrumentNameproperty labels the staff in the first system, and theshortInstrumentNameproperty labels following lines.shortInstrumentName(markup)See
instrumentName.shortVocalName(markup)Name of a vocal line, short version.
vocalName(markup)Name of a vocal line.
This engraver creates the following layout object(s):
Ledger_line_engraverCreate the spanner to draw ledger lines, and notices objects that need ledger lines.
This engraver creates the following layout object(s):
Output_property_engraverApply a procedure to any grob acknowledged.
Music types accepted:
Piano_pedal_align_engraverAlign piano pedal symbols and brackets.
Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
This engraver creates the following layout object(s):
SostenutoPedalLineSpanner, SustainPedalLineSpanner and UnaCordaPedalLineSpanner.
Pure_from_neighbor_engraverCoordinates items that get their pure heights from their neighbors.
Rest_collision_engraverHandle collisions of rests.
Properties (read)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).This engraver creates the following layout object(s):
Script_row_engraverDetermine order in horizontal side position elements.
This engraver creates the following layout object(s):
Separating_line_group_engraverGenerate objects for computing spacing parameters.
Properties (read)
createSpacing(boolean)Create
StaffSpacingobjects? Should be set for staves.Properties (write)
hasStaffSpacing(boolean)True if the current
CommandColumncontains items that will affect spacing.This engraver creates the following layout object(s):
Staff_collecting_engraverMaintain the
stavesFoundvariable.Properties (read)
stavesFound(list of grobs)A list of all staff-symbols found.
Properties (write)
stavesFound(list of grobs)A list of all staff-symbols found.
Staff_symbol_engraverCreate the constellation of five (default) staff lines.
Music types accepted:
This engraver creates the following layout object(s):
Time_signature_engraverCreate a TimeSignature whenever
timeSignatureFractionchanges.Music types accepted:
Properties (read)
initialTimeSignatureVisibility(vector)break visibility for the initial time signature.
partialBusy(boolean)Signal that \partial acts at the current timestep.
timeSignatureFraction(fraction, as pair)A pair of numbers, signifying the time signature. For example,
'(4 . 4)is a 4/4 time signature.This engraver creates the following layout object(s):
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
A voice on a percussion staff.
This context also accepts commands for the following context(s):
Voice.
This context creates the following layout object(s):
Beam, BendAfter, BreathingSign, CombineTextScript, Dots, DoublePercentRepeat, DoublePercentRepeatCounter, DoubleRepeatSlash, DynamicLineSpanner, DynamicText, DynamicTextSpanner, Flag, Hairpin, InstrumentSwitch, LaissezVibrerTie, LaissezVibrerTieColumn, MultiMeasureRest, MultiMeasureRestNumber, MultiMeasureRestScript, MultiMeasureRestText, NoteColumn, NoteHead, NoteSpacing, PercentRepeat, PercentRepeatCounter, PhrasingSlur, RepeatSlash, RepeatTie, RepeatTieColumn, Rest, Script, ScriptColumn, Slur, Stem, StemStub, StemTremolo, TextScript, TextSpanner, Tie, TieColumn, TrillPitchAccidental, TrillPitchGroup, TrillPitchHead, TrillSpanner, TupletBracket and TupletNumber.
This is a ‘Bottom’ context; no contexts will be created implicitly from it.
This context cannot contain other contexts.
This context is built from the following engraver(s):
Auto_beam_engraverGenerate beams based on measure characteristics and observed Stems. Uses
baseMoment,beatStructure,beamExceptions,measureLength, andmeasurePositionto decide when to start and stop a beam. Overriding beaming is done through Stem_engraver propertiesstemLeftBeamCountandstemRightBeamCount.Music types accepted:
Properties (read)
autoBeaming(boolean)If set to true then beams are generated automatically.
baseMoment(moment)Smallest unit of time that will stand on its own as a subdivided section.
beamExceptions(list)An alist of exceptions to autobeam rules that normally end on beats.
beamHalfMeasure(boolean)Whether to allow a beam to begin halfway through the measure in triple time, which could look like 6/8.
beatStructure(list)List of
baseMoments that are combined to make beats.subdivideBeams(boolean)If set, multiple beams will be subdivided at
baseMomentpositions by only drawing one beam over the beat.This engraver creates the following layout object(s):
Beam.
Beam_engraverHandle
Beamevents by engraving beams. If omitted, then notes are printed with flags instead of beams.Music types accepted:
Properties (read)
baseMoment(moment)Smallest unit of time that will stand on its own as a subdivided section.
beamMelismaBusy(boolean)Signal if a beam is present.
beatStructure(list)List of
baseMoments that are combined to make beats.subdivideBeams(boolean)If set, multiple beams will be subdivided at
baseMomentpositions by only drawing one beam over the beat.Properties (write)
forbidBreak(boolean)If set to
#t, prevent a line break at this point.This engraver creates the following layout object(s):
Beam.
Bend_engraverCreate fall spanners.
Music types accepted:
This engraver creates the following layout object(s):
Breathing_sign_engraverCreate a breathing sign.
Music types accepted:
This engraver creates the following layout object(s):
Chord_tremolo_engraverGenerate beams for tremolo repeats.
Music types accepted:
This engraver creates the following layout object(s):
Beam.
Dots_engraverCreate Dots objects for rhythmic-head-interfaces.
This engraver creates the following layout object(s):
Dots.
Double_percent_repeat_engraverMake double measure repeats.
Music types accepted:
Properties (read)
countPercentRepeats(boolean)If set, produce counters for percent repeats.
measureLength(moment)Length of one measure in the current time signature.
repeatCountVisibility(procedure)A procedure taking as arguments an integer and context, returning whether the corresponding percent repeat number should be printed when
countPercentRepeatsis set.Properties (write)
forbidBreak(boolean)If set to
#t, prevent a line break at this point.This engraver creates the following layout object(s):
Drum_notes_engraverGenerate drum note heads.
Music types accepted:
Properties (read)
drumStyleTable(hash table)A hash table which maps drums to layout settings. Predefined values: ‘drums-style’, ‘agostini-drums-style’, ‘timbales-style’, ‘congas-style’, ‘bongos-style’, and ‘percussion-style’.
The layout style is a hash table, containing the drum-pitches (e.g., the symbol ‘hihat’) as keys, and a list
(notehead-style script vertical-position)as values.This engraver creates the following layout object(s):
Dynamic_align_engraverAlign hairpins and dynamic texts on a horizontal line.
Properties (read)
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
Dynamic_engraverCreate hairpins, dynamic texts and dynamic text spanners.
Music types accepted:
absolute-dynamic-event, break-span-event and span-dynamic-event
Properties (read)
crescendoSpanner(symbol)The type of spanner to be used for crescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin crescendo is used.
crescendoText(markup)The text to print at start of non-hairpin crescendo, i.e., ‘cresc.’.
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
decrescendoSpanner(symbol)The type of spanner to be used for decrescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin decrescendo is used.
decrescendoText(markup)The text to print at start of non-hairpin decrescendo, i.e., ‘dim.’.
This engraver creates the following layout object(s):
Font_size_engraverPut
fontSizeintofont-sizegrob property.Properties (read)
fontSize(number)The relative size of all grobs in a context.
Forbid_line_break_engraverForbid line breaks when note heads are still playing at some point.
Properties (read)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Properties (write)
forbidBreak(boolean)If set to
#t, prevent a line break at this point.Grace_auto_beam_engraverGenerates one autobeam group across an entire grace phrase. As usual, any manual beaming or
\noBeamwill block autobeaming, just like setting the context property ‘autoBeaming’ to##f.Music types accepted:
Properties (read)
autoBeaming(boolean)If set to true then beams are generated automatically.
This engraver creates the following layout object(s):
Beam.
Grace_beam_engraverHandle
Beamevents by engraving beams. If omitted, then notes are printed with flags instead of beams. Only engraves beams when we are at grace points in time.Music types accepted:
Properties (read)
baseMoment(moment)Smallest unit of time that will stand on its own as a subdivided section.
beamMelismaBusy(boolean)Signal if a beam is present.
beatStructure(list)List of
baseMoments that are combined to make beats.subdivideBeams(boolean)If set, multiple beams will be subdivided at
baseMomentpositions by only drawing one beam over the beat.This engraver creates the following layout object(s):
Beam.
Grace_engraverSet font size and other properties for grace notes.
Properties (read)
graceSettings(list)Overrides for grace notes. This property should be manipulated through the
add-grace-propertyfunction.Grob_pq_engraverAdministrate when certain grobs (e.g., note heads) stop playing.
Properties (read)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Properties (write)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Grob_pq_engraverAdministrate when certain grobs (e.g., note heads) stop playing.
Properties (read)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Properties (write)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Instrument_switch_engraverCreate a cue text for taking instrument.
Properties (read)
instrumentCueName(markup)The name to print if another instrument is to be taken.
This engraver creates the following layout object(s):
Laissez_vibrer_engraverCreate laissez vibrer items.
Music types accepted:
This engraver creates the following layout object(s):
Multi_measure_rest_engraverEngrave multi-measure rests that are produced with ‘R’. It reads
measurePositionandinternalBarNumberto determine what number to print over the MultiMeasureRest.Music types accepted:
multi-measure-articulation-event, multi-measure-rest-event and multi-measure-text-event
Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
internalBarNumber(integer)Contains the current barnumber. This property is used for internal timekeeping, among others by the
Accidental_engraver.measurePosition(moment)How much of the current measure have we had. This can be set manually to create incomplete measures.
restNumberThreshold(number)If a multimeasure rest has more measures than this, a number is printed.
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 ‘scm/bar-line.scm’.
This engraver creates the following layout object(s):
MultiMeasureRest, MultiMeasureRestNumber, MultiMeasureRestScript and MultiMeasureRestText.
Note_spacing_engraverGenerate
NoteSpacing, an object linking horizontal lines for use in spacing.This engraver creates the following layout object(s):
Output_property_engraverApply a procedure to any grob acknowledged.
Music types accepted:
Part_combine_engraverPart combine engraver for orchestral scores: Print markings ‘a2’, ‘Solo’, ‘Solo II’, and ‘unisono’.
Music types accepted:
note-event and part-combine-event
Properties (read)
aDueText(markup)Text to print at a unisono passage.
partCombineTextsOnNote(boolean)Print part-combine texts only on the next note rather than immediately on rests or skips.
printPartCombineTexts(boolean)Set ‘Solo’ and ‘A due’ texts in the part combiner?
soloIIText(markup)The text for the start of a solo for voice ‘two’ when part-combining.
soloText(markup)The text for the start of a solo when part-combining.
This engraver creates the following layout object(s):
Percent_repeat_engraverMake whole measure repeats.
Music types accepted:
Properties (read)
countPercentRepeats(boolean)If set, produce counters for percent repeats.
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
repeatCountVisibility(procedure)A procedure taking as arguments an integer and context, returning whether the corresponding percent repeat number should be printed when
countPercentRepeatsis set.This engraver creates the following layout object(s):
Phrasing_slur_engraverPrint phrasing slurs. Similar to Slur_engraver.
Music types accepted:
note-event and phrasing-slur-event
This engraver creates the following layout object(s):
Pitched_trill_engraverPrint the bracketed note head after a note head with trill.
This engraver creates the following layout object(s):
Repeat_tie_engraverCreate repeat ties.
Music types accepted:
This engraver creates the following layout object(s):
RepeatTie and RepeatTieColumn.
Rest_engraverEngrave rests.
Music types accepted:
Properties (read)
middleCPosition(number)The place of the middle C, measured in half staff-spaces. Usually determined by looking at
middleCClefPositionandmiddleCOffset.This engraver creates the following layout object(s):
Rest.
Rhythmic_column_engraverGenerate
NoteColumn, an object that groups stems, note heads, and rests.This engraver creates the following layout object(s):
Script_column_engraverFind potentially colliding scripts and put them into a
ScriptColumnobject; that will fix the collisions.This engraver creates the following layout object(s):
Script_engraverHandle note scripted articulations.
Music types accepted:
Properties (read)
scriptDefinitions(list)The description of scripts. This is used by the
Script_engraverfor typesetting note-superscripts and subscripts. See ‘scm/script.scm’ for more information.This engraver creates the following layout object(s):
Slash_repeat_engraverMake beat repeats.
Music types accepted:
This engraver creates the following layout object(s):
Slur_engraverBuild slur grobs from slur events.
Music types accepted:
note-event and slur-event
Properties (read)
doubleSlurs(boolean)If set, two slurs are created for every slurred note, one above and one below the chord.
slurMelismaBusy(boolean)Signal if a slur is present.
This engraver creates the following layout object(s):
Slur.
Spanner_break_forbid_engraverForbid breaks in certain spanners.
Stem_engraverCreate stems, flags and single-stem tremolos. It also works together with the beam engraver for overriding beaming.
Music types accepted:
tremolo-event and tuplet-span-event
Properties (read)
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.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 ‘scm/bar-line.scm’.
This engraver creates the following layout object(s):
Flag, Stem, StemStub and StemTremolo.
Text_engraverCreate text scripts.
Music types accepted:
This engraver creates the following layout object(s):
Text_spanner_engraverCreate text spanner from an event.
Music types accepted:
Properties (read)
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
Tie_engraverGenerate ties between note heads of equal pitch.
Music types accepted:
Properties (read)
skipTypesetting(boolean)If true, no typesetting is done, speeding up the interpretation phase. Useful for debugging large scores.
tieWaitForNote(boolean)If true, tied notes do not have to follow each other directly. This can be used for writing out arpeggios.
Properties (write)
tieMelismaBusy(boolean)Signal whether a tie is present.
This engraver creates the following layout object(s):
Trill_spanner_engraverCreate trill spanner from an event.
Music types accepted:
Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
Tuplet_engraverCatch tuplet events and generate appropriate bracket.
Music types accepted:
Properties (read)
tupletFullLength(boolean)If set, the tuplet is printed up to the start of the next note.
tupletFullLengthNote(boolean)If set, end at the next note, otherwise end on the matter (time signatures, etc.) before the note.
This engraver creates the following layout object(s):
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Holds a single line of dynamics, which will be centered between the staves surrounding this context.
This context also accepts commands for the following context(s):
Voice.
This context creates the following layout object(s):
BarLine, DynamicLineSpanner, DynamicText, DynamicTextSpanner, Hairpin, PianoPedalBracket, Script, SostenutoPedal, SustainPedal, TextScript, TextSpanner, UnaCordaPedal and VerticalAxisGroup.
This context sets the following properties:
font-shape in TextScript to
'italic.
nonstaff-relatedstaff-spacing in VerticalAxisGroup to:
'((basic-distance . 5) (padding . 0.5))
outside-staff-priority in DynamicLineSpanner to
#f.
outside-staff-priority in DynamicText to
#f.
outside-staff-priority in Hairpin to
#f.
staff-affinity in VerticalAxisGroup to
0.
Y-offset in DynamicLineSpanner to
0.
pedalSustainStrings to:
'("Ped." "*Ped." "*")
pedalUnaCordaStrings to:
'("una corda" "" "tre corde")
This is a ‘Bottom’ context; no contexts will be created implicitly from it.
This context cannot contain other contexts.
This context is built from the following engraver(s):
Axis_group_engraverGroup all objects created in this context in a
VerticalAxisGroupspanner.Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
hasAxisGroup(boolean)True if the current context is contained in an axis group.
keepAliveInterfaces(list)A list of symbols, signifying grob interfaces that are worth keeping a staff with
remove-emptyset around for.Properties (write)
hasAxisGroup(boolean)True if the current context is contained in an axis group.
This engraver creates the following layout object(s):
Bar_engraverCreate barlines. This engraver is controlled through the
whichBarproperty. If it has no bar line to create, it will forbid a linebreak at this point. This engraver is required to trigger the creation of clefs at the start of systems.Properties (read)
whichBar(string)This property is read to determine what type of bar line to create.
Example:
\set Staff.whichBar = ".|:"This will create a start-repeat bar in this staff only. Valid values are described in ‘scm/bar-line.scm’.
Properties (write)
forbidBreak(boolean)If set to
#t, prevent a line break at this point.This engraver creates the following layout object(s):
Dynamic_align_engraverAlign hairpins and dynamic texts on a horizontal line.
Properties (read)
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
Dynamic_engraverCreate hairpins, dynamic texts and dynamic text spanners.
Music types accepted:
absolute-dynamic-event, break-span-event and span-dynamic-event
Properties (read)
crescendoSpanner(symbol)The type of spanner to be used for crescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin crescendo is used.
crescendoText(markup)The text to print at start of non-hairpin crescendo, i.e., ‘cresc.’.
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
decrescendoSpanner(symbol)The type of spanner to be used for decrescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin decrescendo is used.
decrescendoText(markup)The text to print at start of non-hairpin decrescendo, i.e., ‘dim.’.
This engraver creates the following layout object(s):
Font_size_engraverPut
fontSizeintofont-sizegrob property.Properties (read)
fontSize(number)The relative size of all grobs in a context.
Output_property_engraverApply a procedure to any grob acknowledged.
Music types accepted:
Piano_pedal_engraverEngrave piano pedal symbols and brackets.
Music types accepted:
sostenuto-event, sustain-event and una-corda-event
Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
pedalSostenutoStrings(list)See
pedalSustainStrings.pedalSostenutoStyle(symbol)See
pedalSustainStyle.pedalSustainStrings(list)A list of strings to print for sustain-pedal. Format is
(up updown down), where each of the three is the string to print when this is done with the pedal.pedalSustainStyle(symbol)A symbol that indicates how to print sustain pedals:
text,bracketormixed(both).pedalUnaCordaStrings(list)See
pedalSustainStrings.pedalUnaCordaStyle(symbol)See
pedalSustainStyle.This engraver creates the following layout object(s):
PianoPedalBracket, SostenutoPedal, SustainPedal and UnaCordaPedal.
Script_engraverHandle note scripted articulations.
Music types accepted:
Properties (read)
scriptDefinitions(list)The description of scripts. This is used by the
Script_engraverfor typesetting note-superscripts and subscripts. See ‘scm/script.scm’ for more information.This engraver creates the following layout object(s):
Text_engraverCreate text scripts.
Music types accepted:
This engraver creates the following layout object(s):
Text_spanner_engraverCreate text spanner from an event.
Music types accepted:
Properties (read)
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
A context for printing a figured bass line.
This context creates the following layout object(s):
BassFigure, BassFigureAlignment, BassFigureBracket, BassFigureContinuation, BassFigureLine, StaffSpacing and VerticalAxisGroup.
This context sets the following properties:
nonstaff-nonstaff-spacing.padding in VerticalAxisGroup to
0.5.
nonstaff-relatedstaff-spacing.padding in VerticalAxisGroup to
0.5.
remove-empty in VerticalAxisGroup to
#t.
remove-first in VerticalAxisGroup to
#t.
staff-affinity in VerticalAxisGroup to
1.
This is a ‘Bottom’ context; no contexts will be created implicitly from it.
This context cannot contain other contexts.
This context is built from the following engraver(s):
Axis_group_engraverGroup all objects created in this context in a
VerticalAxisGroupspanner.Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
hasAxisGroup(boolean)True if the current context is contained in an axis group.
keepAliveInterfaces(list)A list of symbols, signifying grob interfaces that are worth keeping a staff with
remove-emptyset around for.Properties (write)
hasAxisGroup(boolean)True if the current context is contained in an axis group.
This engraver creates the following layout object(s):
Figured_bass_engraverMake figured bass numbers.
Music types accepted:
bass-figure-event and rest-event
Properties (read)
figuredBassAlterationDirection(direction)Where to put alterations relative to the main figure.
figuredBassCenterContinuations(boolean)Whether to vertically center pairs of extender lines. This does not work with three or more lines.
figuredBassFormatter(procedure)A routine generating a markup for a bass figure.
ignoreFiguredBassRest(boolean)Don’t swallow rest events.
implicitBassFigures(list)A list of bass figures that are not printed as numbers, but only as extender lines.
useBassFigureExtenders(boolean)Whether to use extender lines for repeated bass figures.
This engraver creates the following layout object(s):
BassFigure, BassFigureAlignment, BassFigureBracket, BassFigureContinuation and BassFigureLine.
Separating_line_group_engraverGenerate objects for computing spacing parameters.
Properties (read)
createSpacing(boolean)Create
StaffSpacingobjects? Should be set for staves.Properties (write)
hasStaffSpacing(boolean)True if the current
CommandColumncontains items that will affect spacing.This engraver creates the following layout object(s):
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
A context for displaying fret diagrams.
This context also accepts commands for the following context(s):
Staff.
This context creates the following layout object(s):
FretBoard, InstrumentName, StaffSpacing and VerticalAxisGroup.
This context sets the following properties:
handleNegativeFrets to
'recalculate.
instrumentName to
'().
predefinedDiagramTable to
#<hash-table 0/113>.
restrainOpenStrings to
#f.
shortInstrumentName to
'().
This is a ‘Bottom’ context; no contexts will be created implicitly from it.
This context cannot contain other contexts.
This context is built from the following engraver(s):
Axis_group_engraverGroup all objects created in this context in a
VerticalAxisGroupspanner.Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
hasAxisGroup(boolean)True if the current context is contained in an axis group.
keepAliveInterfaces(list)A list of symbols, signifying grob interfaces that are worth keeping a staff with
remove-emptyset around for.Properties (write)
hasAxisGroup(boolean)True if the current context is contained in an axis group.
This engraver creates the following layout object(s):
Font_size_engraverPut
fontSizeintofont-sizegrob property.Properties (read)
fontSize(number)The relative size of all grobs in a context.
Fretboard_engraverGenerate fret diagram from one or more events of type
NoteEvent.Music types accepted:
fingering-event, note-event and string-number-event
Properties (read)
chordChanges(boolean)Only show changes in chords scheme?
defaultStrings(list)A list of strings to use in calculating frets for tablatures and fretboards if no strings are provided in the notes for the current moment.
highStringOne(boolean)Whether the first string is the string with highest pitch on the instrument. This used by the automatic string selector for tablature notation.
maximumFretStretch(number)Don’t allocate frets further than this from specified frets.
minimumFret(number)The tablature auto string-selecting mechanism selects the highest string with a fret at least
minimumFret.noteToFretFunction(procedure)Convert list of notes and list of defined strings to full list of strings and fret numbers. Parameters: The context, a list of note events, a list of tabstring events, and the fretboard grob if a fretboard is desired.
predefinedDiagramTable(hash table)The hash table of predefined fret diagrams to use in FretBoards.
stringTunings(list)The tablature strings tuning. It is a list of the pitches of each string (starting with the lowest numbered one).
tablatureFormat(procedure)A function formatting a tablature note head. Called with three arguments: context, string number and, fret number. It returns the text as a markup.
This engraver creates the following layout object(s):
Instrument_name_engraverCreate a system start text for instrument or vocal names.
Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
instrumentName(markup)The name to print left of a staff. The
instrumentNameproperty labels the staff in the first system, and theshortInstrumentNameproperty labels following lines.shortInstrumentName(markup)See
instrumentName.shortVocalName(markup)Name of a vocal line, short version.
vocalName(markup)Name of a vocal line.
This engraver creates the following layout object(s):
Output_property_engraverApply a procedure to any grob acknowledged.
Music types accepted:
Separating_line_group_engraverGenerate objects for computing spacing parameters.
Properties (read)
createSpacing(boolean)Create
StaffSpacingobjects? Should be set for staves.Properties (write)
hasStaffSpacing(boolean)True if the current
CommandColumncontains items that will affect spacing.This engraver creates the following layout object(s):
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Hard coded entry point for LilyPond. Cannot be tuned.
This context creates the following layout object(s):
none.
This is not a ‘Bottom’ context; search for such a one will commence after creating an implicit context of type Score.
Context Global can contain Score.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
A group of staves, with a brace on the left side, grouping the staves together. The bar lines of the contained staves are connected vertically.
This context creates the following layout object(s):
Arpeggio, InstrumentName, SpanBar, SpanBarStub, SystemStartBar, SystemStartBrace, SystemStartBracket, SystemStartSquare and VerticalAlignment.
This context sets the following properties:
extra-spacing-width in DynamicText to
#f.
instrumentName to
'().
localAlterations to
'().
shortInstrumentName to
'().
systemStartDelimiter to
'SystemStartBrace.
topLevelAlignment to
#f.
This is not a ‘Bottom’ context; search for such a one will commence after creating an implicit context of type Staff.
Context GrandStaff can contain ChordNames, DrumStaff, Dynamics, FiguredBass, Lyrics, RhythmicStaff, Staff and TabStaff.
This context is built from the following engraver(s):
Instrument_name_engraverCreate a system start text for instrument or vocal names.
Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
instrumentName(markup)The name to print left of a staff. The
instrumentNameproperty labels the staff in the first system, and theshortInstrumentNameproperty labels following lines.shortInstrumentName(markup)See
instrumentName.shortVocalName(markup)Name of a vocal line, short version.
vocalName(markup)Name of a vocal line.
This engraver creates the following layout object(s):
Span_arpeggio_engraverMake arpeggios that span multiple staves.
Properties (read)
connectArpeggios(boolean)If set, connect arpeggios across piano staff.
This engraver creates the following layout object(s):
Span_bar_engraverMake cross-staff bar lines: It catches all normal bar lines and draws a single span bar across them.
This engraver creates the following layout object(s):
Span_bar_stub_engraverMake stubs for span bars in all contexts that the span bars cross.
This engraver creates the following layout object(s):
System_start_delimiter_engraverCreate a system start delimiter (i.e., a
SystemStartBar,SystemStartBrace,SystemStartBracketorSystemStartSquarespanner).Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
systemStartDelimiter(symbol)Which grob to make for the start of the system/staff? Set to
SystemStartBrace,SystemStartBracketorSystemStartBar.systemStartDelimiterHierarchy(pair)A nested list, indicating the nesting of a start delimiters.
This engraver creates the following layout object(s):
SystemStartBar, SystemStartBrace, SystemStartBracket and SystemStartSquare.
Vertical_align_engraverCatch groups (staves, lyrics lines, etc.) and stack them vertically.
Properties (read)
alignAboveContext(string)Where to insert newly created context in vertical alignment.
alignBelowContext(string)Where to insert newly created context in vertical alignment.
hasAxisGroup(boolean)True if the current context is contained in an axis group.
This engraver creates the following layout object(s):
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Handles clefs, bar lines, keys, accidentals. It can contain
Voice contexts.
This context also accepts commands for the following context(s):
Staff.
This context creates the following layout object(s):
Accidental, AccidentalCautionary, AccidentalPlacement, AccidentalSuggestion, BarLine, BassFigure, BassFigureAlignment, BassFigureAlignmentPositioning, BassFigureBracket, BassFigureContinuation, BassFigureLine, Clef, ClefModifier, CueClef, CueEndClef, DotColumn, FingeringColumn, InstrumentName, KeyCancellation, KeySignature, LedgerLineSpanner, NoteCollision, OttavaBracket, PianoPedalBracket, RestCollision, ScriptRow, SostenutoPedal, SostenutoPedalLineSpanner, StaffSpacing, StaffSymbol, SustainPedal, SustainPedalLineSpanner, TimeSignature, UnaCordaPedal, UnaCordaPedalLineSpanner and VerticalAxisGroup.
This context sets the following properties:
transparent in BarLine to
#t.
createSpacing to
#t.
ignoreFiguredBassRest to
#f.
instrumentName to
'().
localAlterations to
'().
ottavationMarkups to:
'((4 . "29") (3 . "22") (2 . "15") (1 . "8") (-1 . "8") (-2 . "15") (-3 . "22") (-4 . "29"))
shortInstrumentName to
'().
This is not a ‘Bottom’ context; search for such a one will commence after creating an implicit context of type GregorianTranscriptionVoice.
Context GregorianTranscriptionStaff can contain CueVoice, GregorianTranscriptionVoice and NullVoice.
This context is built from the following engraver(s):
Accidental_engraverMake accidentals. Catch note heads, ties and notices key-change events. This engraver usually lives at Staff level, but reads the settings for Accidental at
Voicelevel, so you can\overridethem atVoice.Properties (read)
accidentalGrouping(symbol)If set to
'voice, accidentals on the same note in different octaves may be horizontally staggered if in different voices.autoAccidentals(list)List of different ways to typeset an accidental.
For determining when to print an accidental, several different rules are tried. The rule that gives the highest number of accidentals is used.
Each entry in the list is either a symbol or a procedure.
- symbol
The symbol is the name of the context in which the following rules are to be applied. For example, if context is (internals-big-page)Score section ‘Score’ in Internals Reference then all staves share accidentals, and if context is (internals-big-page)Staff section ‘Staff’ in Internals Reference then all voices in the same staff share accidentals, but staves do not.
- procedure
The procedure represents an accidental rule to be applied to the previously specified context.
The procedure takes the following arguments:
contextThe current context to which the rule should be applied.
pitchThe pitch of the note to be evaluated.
barnumThe current bar number.
measureposThe current measure position.
The procedure returns a pair of booleans. The first states whether an extra natural should be added. The second states whether an accidental should be printed.
(#t . #f)does not make sense.autoCautionaries(list)List similar to
autoAccidentals, but it controls cautionary accidentals rather than normal ones. Both lists are tried, and the one giving the most accidentals wins. In case of draw, a normal accidental is typeset.extraNatural(boolean)Whether to typeset an extra natural sign before accidentals that reduce the effect of a previous alteration.
harmonicAccidentals(boolean)If set, harmonic notes in chords get accidentals.
internalBarNumber(integer)Contains the current barnumber. This property is used for internal timekeeping, among others by the
Accidental_engraver.keyAlterations(list)The current key signature. This is an alist containing
(step . alter)or((octave . step) . alter), where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.keyAlterations = #`((6 . ,FLAT)).localAlterations(list)The key signature at this point in the measure. The format is the same as for
keyAlterations, but can also contain((octave . name) . (alter barnumber . measureposition))pairs.Properties (write)
localAlterations(list)The key signature at this point in the measure. The format is the same as for
keyAlterations, but can also contain((octave . name) . (alter barnumber . measureposition))pairs.This engraver creates the following layout object(s):
Accidental, AccidentalCautionary, AccidentalPlacement and AccidentalSuggestion.
Axis_group_engraverGroup all objects created in this context in a
VerticalAxisGroupspanner.Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
hasAxisGroup(boolean)True if the current context is contained in an axis group.
keepAliveInterfaces(list)A list of symbols, signifying grob interfaces that are worth keeping a staff with
remove-emptyset around for.Properties (write)
hasAxisGroup(boolean)True if the current context is contained in an axis group.
This engraver creates the following layout object(s):
Bar_engraverCreate barlines. This engraver is controlled through the
whichBarproperty. If it has no bar line to create, it will forbid a linebreak at this point. This engraver is required to trigger the creation of clefs at the start of systems.Properties (read)
whichBar(string)This property is read to determine what type of bar line to create.
Example:
\set Staff.whichBar = ".|:"This will create a start-repeat bar in this staff only. Valid values are described in ‘scm/bar-line.scm’.
Properties (write)
forbidBreak(boolean)If set to
#t, prevent a line break at this point.This engraver creates the following layout object(s):
Clef_engraverDetermine and set reference point for pitches.
Properties (read)
clefGlyph(string)Name of the symbol within the music font.
clefPosition(number)Where should the center of the clef symbol go, measured in half staff spaces from the center of the staff.
clefTransposition(integer)Add this much extra transposition. Values of 7 and -7 are common.
clefTranspositionStyle(symbol)Determines the way the ClefModifier grob is displayed. Possible values are ‘default’, ‘parenthesized’ and ‘bracketed’.
explicitClefVisibility(vector)‘break-visibility’ function for clef changes.
forceClef(boolean)Show clef symbol, even if it has not changed. Only active for the first clef after the property is set, not for the full staff.
This engraver creates the following layout object(s):
Clef and ClefModifier.
Collision_engraverCollect
NoteColumns, and as soon as there are two or more, put them in aNoteCollisionobject.This engraver creates the following layout object(s):
Cue_clef_engraverDetermine and set reference point for pitches in cued voices.
Properties (read)
clefTransposition(integer)Add this much extra transposition. Values of 7 and -7 are common.
cueClefGlyph(string)Name of the symbol within the music font.
cueClefPosition(number)Where should the center of the clef symbol go, measured in half staff spaces from the center of the staff.
cueClefTransposition(integer)Add this much extra transposition. Values of 7 and -7 are common.
cueClefTranspositionStyle(symbol)Determines the way the ClefModifier grob is displayed. Possible values are ‘default’, ‘parenthesized’ and ‘bracketed’.
explicitCueClefVisibility(vector)‘break-visibility’ function for cue clef changes.
middleCCuePosition(number)The position of the middle C, as determined only by the clef of the cue notes. This can be calculated by looking at
cueClefPositionandcueClefGlyph.This engraver creates the following layout object(s):
ClefModifier, CueClef and CueEndClef.
Dot_column_engraverEngrave dots on dotted notes shifted to the right of the note. If omitted, then dots appear on top of the notes.
This engraver creates the following layout object(s):
Figured_bass_engraverMake figured bass numbers.
Music types accepted:
bass-figure-event and rest-event
Properties (read)
figuredBassAlterationDirection(direction)Where to put alterations relative to the main figure.
figuredBassCenterContinuations(boolean)Whether to vertically center pairs of extender lines. This does not work with three or more lines.
figuredBassFormatter(procedure)A routine generating a markup for a bass figure.
ignoreFiguredBassRest(boolean)Don’t swallow rest events.
implicitBassFigures(list)A list of bass figures that are not printed as numbers, but only as extender lines.
useBassFigureExtenders(boolean)Whether to use extender lines for repeated bass figures.
This engraver creates the following layout object(s):
BassFigure, BassFigureAlignment, BassFigureBracket, BassFigureContinuation and BassFigureLine.
Figured_bass_position_engraverPosition figured bass alignments over notes.
This engraver creates the following layout object(s):
Fingering_column_engraverFind potentially colliding scripts and put them into a
FingeringColumnobject; that will fix the collisions.This engraver creates the following layout object(s):
Font_size_engraverPut
fontSizeintofont-sizegrob property.Properties (read)
fontSize(number)The relative size of all grobs in a context.
Grob_pq_engraverAdministrate when certain grobs (e.g., note heads) stop playing.
Properties (read)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Properties (write)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Instrument_name_engraverCreate a system start text for instrument or vocal names.
Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
instrumentName(markup)The name to print left of a staff. The
instrumentNameproperty labels the staff in the first system, and theshortInstrumentNameproperty labels following lines.shortInstrumentName(markup)See
instrumentName.shortVocalName(markup)Name of a vocal line, short version.
vocalName(markup)Name of a vocal line.
This engraver creates the following layout object(s):
Key_engraverEngrave a key signature.
Music types accepted:
Properties (read)
createKeyOnClefChange(boolean)Print a key signature whenever the clef is changed.
explicitKeySignatureVisibility(vector)‘break-visibility’ function for explicit key changes. ‘\override’ of the
break-visibilityproperty will set the visibility for normal (i.e., at the start of the line) key signatures.extraNatural(boolean)Whether to typeset an extra natural sign before accidentals that reduce the effect of a previous alteration.
keyAlterationOrder(list)An alist that defines in what order alterations should be printed. The format is
(step . alter), where step is a number from 0 to 6 and alter from -2 (sharp) to 2 (flat).keyAlterations(list)The current key signature. This is an alist containing
(step . alter)or((octave . step) . alter), where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.keyAlterations = #`((6 . ,FLAT)).lastKeyAlterations(list)Last key signature before a key signature change.
middleCClefPosition(number)The position of the middle C, as determined only by the clef. This can be calculated by looking at
clefPositionandclefGlyph.printKeyCancellation(boolean)Print restoration alterations before a key signature change.
Properties (write)
keyAlterations(list)The current key signature. This is an alist containing
(step . alter)or((octave . step) . alter), where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.keyAlterations = #`((6 . ,FLAT)).lastKeyAlterations(list)Last key signature before a key signature change.
tonic(pitch)The tonic of the current scale.
This engraver creates the following layout object(s):
Ledger_line_engraverCreate the spanner to draw ledger lines, and notices objects that need ledger lines.
This engraver creates the following layout object(s):
Ottava_spanner_engraverCreate a text spanner when the ottavation property changes.
Properties (read)
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
middleCOffset(number)The offset of middle C from the position given by
middleCClefPositionThis is used for ottava brackets.ottavation(markup)If set, the text for an ottava spanner. Changing this creates a new text spanner.
This engraver creates the following layout object(s):
Output_property_engraverApply a procedure to any grob acknowledged.
Music types accepted:
Piano_pedal_align_engraverAlign piano pedal symbols and brackets.
Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
This engraver creates the following layout object(s):
SostenutoPedalLineSpanner, SustainPedalLineSpanner and UnaCordaPedalLineSpanner.
Piano_pedal_engraverEngrave piano pedal symbols and brackets.
Music types accepted:
sostenuto-event, sustain-event and una-corda-event
Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
pedalSostenutoStrings(list)See
pedalSustainStrings.pedalSostenutoStyle(symbol)See
pedalSustainStyle.pedalSustainStrings(list)A list of strings to print for sustain-pedal. Format is
(up updown down), where each of the three is the string to print when this is done with the pedal.pedalSustainStyle(symbol)A symbol that indicates how to print sustain pedals:
text,bracketormixed(both).pedalUnaCordaStrings(list)See
pedalSustainStrings.pedalUnaCordaStyle(symbol)See
pedalSustainStyle.This engraver creates the following layout object(s):
PianoPedalBracket, SostenutoPedal, SustainPedal and UnaCordaPedal.
Pure_from_neighbor_engraverCoordinates items that get their pure heights from their neighbors.
Rest_collision_engraverHandle collisions of rests.
Properties (read)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).This engraver creates the following layout object(s):
Script_row_engraverDetermine order in horizontal side position elements.
This engraver creates the following layout object(s):
Separating_line_group_engraverGenerate objects for computing spacing parameters.
Properties (read)
createSpacing(boolean)Create
StaffSpacingobjects? Should be set for staves.Properties (write)
hasStaffSpacing(boolean)True if the current
CommandColumncontains items that will affect spacing.This engraver creates the following layout object(s):
Staff_collecting_engraverMaintain the
stavesFoundvariable.Properties (read)
stavesFound(list of grobs)A list of all staff-symbols found.
Properties (write)
stavesFound(list of grobs)A list of all staff-symbols found.
Staff_symbol_engraverCreate the constellation of five (default) staff lines.
Music types accepted:
This engraver creates the following layout object(s):
Time_signature_engraverCreate a TimeSignature whenever
timeSignatureFractionchanges.Music types accepted:
Properties (read)
initialTimeSignatureVisibility(vector)break visibility for the initial time signature.
partialBusy(boolean)Signal that \partial acts at the current timestep.
timeSignatureFraction(fraction, as pair)A pair of numbers, signifying the time signature. For example,
'(4 . 4)is a 4/4 time signature.This engraver creates the following layout object(s):
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Corresponds to a voice on a staff. This context handles the conversion of dynamic signs, stems, beams, super- and subscripts, slurs, ties, and rests.
You have to instantiate this explicitly if you want to have multiple voices on the same staff.
This context also accepts commands for the following context(s):
Voice.
This context creates the following layout object(s):
Arpeggio, Beam, BendAfter, BreathingSign, ClusterSpanner, ClusterSpannerBeacon, CombineTextScript, Dots, DoublePercentRepeat, DoublePercentRepeatCounter, DoubleRepeatSlash, DynamicLineSpanner, DynamicText, DynamicTextSpanner, Episema, Fingering, Flag, Glissando, Hairpin, InstrumentSwitch, LaissezVibrerTie, LaissezVibrerTieColumn, LigatureBracket, MultiMeasureRest, MultiMeasureRestNumber, MultiMeasureRestScript, MultiMeasureRestText, NoteColumn, NoteHead, NoteSpacing, PercentRepeat, PercentRepeatCounter, PhrasingSlur, RepeatSlash, RepeatTie, RepeatTieColumn, Rest, Script, ScriptColumn, Slur, Stem, StemStub, StemTremolo, StringNumber, StrokeFinger, TextScript, TextSpanner, Tie, TieColumn, TrillPitchAccidental, TrillPitchGroup, TrillPitchHead, TrillSpanner, TupletBracket, TupletNumber and VoiceFollower.
This context sets the following properties:
padding in Script to
0.5.
transparent in LigatureBracket to
#t.
autoBeaming to
#f.
This is a ‘Bottom’ context; no contexts will be created implicitly from it.
This context cannot contain other contexts.
This context is built from the following engraver(s):
Arpeggio_engraverGenerate an Arpeggio symbol.
Music types accepted:
This engraver creates the following layout object(s):
Auto_beam_engraverGenerate beams based on measure characteristics and observed Stems. Uses
baseMoment,beatStructure,beamExceptions,measureLength, andmeasurePositionto decide when to start and stop a beam. Overriding beaming is done through Stem_engraver propertiesstemLeftBeamCountandstemRightBeamCount.Music types accepted:
Properties (read)
autoBeaming(boolean)If set to true then beams are generated automatically.
baseMoment(moment)Smallest unit of time that will stand on its own as a subdivided section.
beamExceptions(list)An alist of exceptions to autobeam rules that normally end on beats.
beamHalfMeasure(boolean)Whether to allow a beam to begin halfway through the measure in triple time, which could look like 6/8.
beatStructure(list)List of
baseMoments that are combined to make beats.subdivideBeams(boolean)If set, multiple beams will be subdivided at
baseMomentpositions by only drawing one beam over the beat.This engraver creates the following layout object(s):
Beam.
Beam_engraverHandle
Beamevents by engraving beams. If omitted, then notes are printed with flags instead of beams.Music types accepted:
Properties (read)
baseMoment(moment)Smallest unit of time that will stand on its own as a subdivided section.
beamMelismaBusy(boolean)Signal if a beam is present.
beatStructure(list)List of
baseMoments that are combined to make beats.subdivideBeams(boolean)If set, multiple beams will be subdivided at
baseMomentpositions by only drawing one beam over the beat.Properties (write)
forbidBreak(boolean)If set to
#t, prevent a line break at this point.This engraver creates the following layout object(s):
Beam.
Bend_engraverCreate fall spanners.
Music types accepted:
This engraver creates the following layout object(s):
Breathing_sign_engraverCreate a breathing sign.
Music types accepted:
This engraver creates the following layout object(s):
Chord_tremolo_engraverGenerate beams for tremolo repeats.
Music types accepted:
This engraver creates the following layout object(s):
Beam.
Cluster_spanner_engraverEngrave a cluster using
Spannernotation.Music types accepted:
This engraver creates the following layout object(s):
Dots_engraverCreate Dots objects for rhythmic-head-interfaces.
This engraver creates the following layout object(s):
Dots.
Double_percent_repeat_engraverMake double measure repeats.
Music types accepted:
Properties (read)
countPercentRepeats(boolean)If set, produce counters for percent repeats.
measureLength(moment)Length of one measure in the current time signature.
repeatCountVisibility(procedure)A procedure taking as arguments an integer and context, returning whether the corresponding percent repeat number should be printed when
countPercentRepeatsis set.Properties (write)
forbidBreak(boolean)If set to
#t, prevent a line break at this point.This engraver creates the following layout object(s):
Dynamic_align_engraverAlign hairpins and dynamic texts on a horizontal line.
Properties (read)
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
Dynamic_engraverCreate hairpins, dynamic texts and dynamic text spanners.
Music types accepted:
absolute-dynamic-event, break-span-event and span-dynamic-event
Properties (read)
crescendoSpanner(symbol)The type of spanner to be used for crescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin crescendo is used.
crescendoText(markup)The text to print at start of non-hairpin crescendo, i.e., ‘cresc.’.
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
decrescendoSpanner(symbol)The type of spanner to be used for decrescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin decrescendo is used.
decrescendoText(markup)The text to print at start of non-hairpin decrescendo, i.e., ‘dim.’.
This engraver creates the following layout object(s):
Episema_engraverCreate an Editio Vaticana-style episema line.
Music types accepted:
This engraver creates the following layout object(s):
Fingering_engraverCreate fingering scripts.
Music types accepted:
This engraver creates the following layout object(s):
Font_size_engraverPut
fontSizeintofont-sizegrob property.Properties (read)
fontSize(number)The relative size of all grobs in a context.
Forbid_line_break_engraverForbid line breaks when note heads are still playing at some point.
Properties (read)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Properties (write)
forbidBreak(boolean)If set to
#t, prevent a line break at this point.Glissando_engraverEngrave glissandi.
Music types accepted:
Properties (read)
glissandoMap(list)A map in the form of ’((source1 . target1) (source2 . target2) (sourcen . targetn)) showing the glissandi to be drawn for note columns. The value ’() will default to ’((0 . 0) (1 . 1) (n . n)), where n is the minimal number of note-heads in the two note columns between which the glissandi occur.
This engraver creates the following layout object(s):
Grace_auto_beam_engraverGenerates one autobeam group across an entire grace phrase. As usual, any manual beaming or
\noBeamwill block autobeaming, just like setting the context property ‘autoBeaming’ to##f.Music types accepted:
Properties (read)
autoBeaming(boolean)If set to true then beams are generated automatically.
This engraver creates the following layout object(s):
Beam.
Grace_beam_engraverHandle
Beamevents by engraving beams. If omitted, then notes are printed with flags instead of beams. Only engraves beams when we are at grace points in time.Music types accepted:
Properties (read)
baseMoment(moment)Smallest unit of time that will stand on its own as a subdivided section.
beamMelismaBusy(boolean)Signal if a beam is present.
beatStructure(list)List of
baseMoments that are combined to make beats.subdivideBeams(boolean)If set, multiple beams will be subdivided at
baseMomentpositions by only drawing one beam over the beat.This engraver creates the following layout object(s):
Beam.
Grace_engraverSet font size and other properties for grace notes.
Properties (read)
graceSettings(list)Overrides for grace notes. This property should be manipulated through the
add-grace-propertyfunction.Grob_pq_engraverAdministrate when certain grobs (e.g., note heads) stop playing.
Properties (read)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Properties (write)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Instrument_switch_engraverCreate a cue text for taking instrument.
Properties (read)
instrumentCueName(markup)The name to print if another instrument is to be taken.
This engraver creates the following layout object(s):
Laissez_vibrer_engraverCreate laissez vibrer items.
Music types accepted:
This engraver creates the following layout object(s):
Ligature_bracket_engraverHandle
Ligature_eventsby engravingLigaturebrackets.Music types accepted:
This engraver creates the following layout object(s):
Multi_measure_rest_engraverEngrave multi-measure rests that are produced with ‘R’. It reads
measurePositionandinternalBarNumberto determine what number to print over the MultiMeasureRest.Music types accepted:
multi-measure-articulation-event, multi-measure-rest-event and multi-measure-text-event
Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
internalBarNumber(integer)Contains the current barnumber. This property is used for internal timekeeping, among others by the
Accidental_engraver.measurePosition(moment)How much of the current measure have we had. This can be set manually to create incomplete measures.
restNumberThreshold(number)If a multimeasure rest has more measures than this, a number is printed.
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 ‘scm/bar-line.scm’.
This engraver creates the following layout object(s):
MultiMeasureRest, MultiMeasureRestNumber, MultiMeasureRestScript and MultiMeasureRestText.
New_fingering_engraverCreate fingering scripts for notes in a new chord. This engraver is ill-named, since it also takes care of articulations and harmonic note heads.
Properties (read)
fingeringOrientations(list)A list of symbols, containing ‘left’, ‘right’, ‘up’ and/or ‘down’. This list determines where fingerings are put relative to the chord being fingered.
harmonicDots(boolean)If set, harmonic notes in dotted chords get dots.
stringNumberOrientations(list)See
fingeringOrientations.strokeFingerOrientations(list)See
fingeringOrientations.This engraver creates the following layout object(s):
Fingering, Script, StringNumber and StrokeFinger.
Note_head_line_engraverEngrave a line between two note heads in a staff switch if
followVoiceis set.Properties (read)
followVoice(boolean)If set, note heads are tracked across staff switches by a thin line.
This engraver creates the following layout object(s):
Note_heads_engraverGenerate note heads.
Music types accepted:
Properties (read)
middleCPosition(number)The place of the middle C, measured in half staff-spaces. Usually determined by looking at
middleCClefPositionandmiddleCOffset.staffLineLayoutFunction(procedure)Layout of staff lines,
traditional, orsemitone.This engraver creates the following layout object(s):
Note_spacing_engraverGenerate
NoteSpacing, an object linking horizontal lines for use in spacing.This engraver creates the following layout object(s):
Output_property_engraverApply a procedure to any grob acknowledged.
Music types accepted:
Part_combine_engraverPart combine engraver for orchestral scores: Print markings ‘a2’, ‘Solo’, ‘Solo II’, and ‘unisono’.
Music types accepted:
note-event and part-combine-event
Properties (read)
aDueText(markup)Text to print at a unisono passage.
partCombineTextsOnNote(boolean)Print part-combine texts only on the next note rather than immediately on rests or skips.
printPartCombineTexts(boolean)Set ‘Solo’ and ‘A due’ texts in the part combiner?
soloIIText(markup)The text for the start of a solo for voice ‘two’ when part-combining.
soloText(markup)The text for the start of a solo when part-combining.
This engraver creates the following layout object(s):
Percent_repeat_engraverMake whole measure repeats.
Music types accepted:
Properties (read)
countPercentRepeats(boolean)If set, produce counters for percent repeats.
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
repeatCountVisibility(procedure)A procedure taking as arguments an integer and context, returning whether the corresponding percent repeat number should be printed when
countPercentRepeatsis set.This engraver creates the following layout object(s):
Phrasing_slur_engraverPrint phrasing slurs. Similar to Slur_engraver.
Music types accepted:
note-event and phrasing-slur-event
This engraver creates the following layout object(s):
Pitched_trill_engraverPrint the bracketed note head after a note head with trill.
This engraver creates the following layout object(s):
Repeat_tie_engraverCreate repeat ties.
Music types accepted:
This engraver creates the following layout object(s):
RepeatTie and RepeatTieColumn.
Rest_engraverEngrave rests.
Music types accepted:
Properties (read)
middleCPosition(number)The place of the middle C, measured in half staff-spaces. Usually determined by looking at
middleCClefPositionandmiddleCOffset.This engraver creates the following layout object(s):
Rest.
Rhythmic_column_engraverGenerate
NoteColumn, an object that groups stems, note heads, and rests.This engraver creates the following layout object(s):
Script_column_engraverFind potentially colliding scripts and put them into a
ScriptColumnobject; that will fix the collisions.This engraver creates the following layout object(s):
Script_engraverHandle note scripted articulations.
Music types accepted:
Properties (read)
scriptDefinitions(list)The description of scripts. This is used by the
Script_engraverfor typesetting note-superscripts and subscripts. See ‘scm/script.scm’ for more information.This engraver creates the following layout object(s):
Slash_repeat_engraverMake beat repeats.
Music types accepted:
This engraver creates the following layout object(s):
Slur_engraverBuild slur grobs from slur events.
Music types accepted:
note-event and slur-event
Properties (read)
doubleSlurs(boolean)If set, two slurs are created for every slurred note, one above and one below the chord.
slurMelismaBusy(boolean)Signal if a slur is present.
This engraver creates the following layout object(s):
Slur.
Spanner_break_forbid_engraverForbid breaks in certain spanners.
Stem_engraverCreate stems, flags and single-stem tremolos. It also works together with the beam engraver for overriding beaming.
Music types accepted:
tremolo-event and tuplet-span-event
Properties (read)
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.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 ‘scm/bar-line.scm’.
This engraver creates the following layout object(s):
Flag, Stem, StemStub and StemTremolo.
Text_engraverCreate text scripts.
Music types accepted:
This engraver creates the following layout object(s):
Text_spanner_engraverCreate text spanner from an event.
Music types accepted:
Properties (read)
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
Tie_engraverGenerate ties between note heads of equal pitch.
Music types accepted:
Properties (read)
skipTypesetting(boolean)If true, no typesetting is done, speeding up the interpretation phase. Useful for debugging large scores.
tieWaitForNote(boolean)If true, tied notes do not have to follow each other directly. This can be used for writing out arpeggios.
Properties (write)
tieMelismaBusy(boolean)Signal whether a tie is present.
This engraver creates the following layout object(s):
Trill_spanner_engraverCreate trill spanner from an event.
Music types accepted:
Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
Tuplet_engraverCatch tuplet events and generate appropriate bracket.
Music types accepted:
Properties (read)
tupletFullLength(boolean)If set, the tuplet is printed up to the start of the next note.
tupletFullLengthNote(boolean)If set, end at the next note, otherwise end on the matter (time signatures, etc.) before the note.
This engraver creates the following layout object(s):
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Same as Staff context, except that it is
accommodated for typesetting a piece in Kievan style.
This context also accepts commands for the following context(s):
Staff.
This context creates the following layout object(s):
Accidental, AccidentalCautionary, AccidentalPlacement, AccidentalSuggestion, BarLine, BassFigure, BassFigureAlignment, BassFigureAlignmentPositioning, BassFigureBracket, BassFigureContinuation, BassFigureLine, Clef, ClefModifier, CueClef, CueEndClef, DotColumn, FingeringColumn, InstrumentName, KeyCancellation, KeySignature, LedgerLineSpanner, NoteCollision, OttavaBracket, PianoPedalBracket, RestCollision, ScriptRow, SostenutoPedal, SostenutoPedalLineSpanner, StaffSpacing, StaffSymbol, SustainPedal, SustainPedalLineSpanner, UnaCordaPedal, UnaCordaPedalLineSpanner and VerticalAxisGroup.
This context sets the following properties:
autoAccidentals to:
'(Staff #<procedure #f (context pitch barnum measurepos)>
#<procedure neo-modern-accidental-rule (context pitch barnum measurepos)>)
autoCautionaries to
'().
clefGlyph to
"clefs.kievan.do".
clefPosition to
0.
clefTransposition to
0.
createSpacing to
#t.
extraNatural to
#f.
ignoreFiguredBassRest to
#f.
instrumentName to
'().
localAlterations to
'().
middleCClefPosition to
0.
middleCPosition to
0.
ottavationMarkups to:
'((4 . "29") (3 . "22") (2 . "15") (1 . "8") (-1 . "8") (-2 . "15") (-3 . "22") (-4 . "29"))
printKeyCancellation to
#f.
shortInstrumentName to
'().
This is not a ‘Bottom’ context; search for such a one will commence after creating an implicit context of type KievanVoice.
Context KievanStaff can contain CueVoice, KievanVoice and NullVoice.
This context is built from the following engraver(s):
Accidental_engraverMake accidentals. Catch note heads, ties and notices key-change events. This engraver usually lives at Staff level, but reads the settings for Accidental at
Voicelevel, so you can\overridethem atVoice.Properties (read)
accidentalGrouping(symbol)If set to
'voice, accidentals on the same note in different octaves may be horizontally staggered if in different voices.autoAccidentals(list)List of different ways to typeset an accidental.
For determining when to print an accidental, several different rules are tried. The rule that gives the highest number of accidentals is used.
Each entry in the list is either a symbol or a procedure.
- symbol
The symbol is the name of the context in which the following rules are to be applied. For example, if context is (internals-big-page)Score section ‘Score’ in Internals Reference then all staves share accidentals, and if context is (internals-big-page)Staff section ‘Staff’ in Internals Reference then all voices in the same staff share accidentals, but staves do not.
- procedure
The procedure represents an accidental rule to be applied to the previously specified context.
The procedure takes the following arguments:
contextThe current context to which the rule should be applied.
pitchThe pitch of the note to be evaluated.
barnumThe current bar number.
measureposThe current measure position.
The procedure returns a pair of booleans. The first states whether an extra natural should be added. The second states whether an accidental should be printed.
(#t . #f)does not make sense.autoCautionaries(list)List similar to
autoAccidentals, but it controls cautionary accidentals rather than normal ones. Both lists are tried, and the one giving the most accidentals wins. In case of draw, a normal accidental is typeset.extraNatural(boolean)Whether to typeset an extra natural sign before accidentals that reduce the effect of a previous alteration.
harmonicAccidentals(boolean)If set, harmonic notes in chords get accidentals.
internalBarNumber(integer)Contains the current barnumber. This property is used for internal timekeeping, among others by the
Accidental_engraver.keyAlterations(list)The current key signature. This is an alist containing
(step . alter)or((octave . step) . alter), where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.keyAlterations = #`((6 . ,FLAT)).localAlterations(list)The key signature at this point in the measure. The format is the same as for
keyAlterations, but can also contain((octave . name) . (alter barnumber . measureposition))pairs.Properties (write)
localAlterations(list)The key signature at this point in the measure. The format is the same as for
keyAlterations, but can also contain((octave . name) . (alter barnumber . measureposition))pairs.This engraver creates the following layout object(s):
Accidental, AccidentalCautionary, AccidentalPlacement and AccidentalSuggestion.
Axis_group_engraverGroup all objects created in this context in a
VerticalAxisGroupspanner.Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
hasAxisGroup(boolean)True if the current context is contained in an axis group.
keepAliveInterfaces(list)A list of symbols, signifying grob interfaces that are worth keeping a staff with
remove-emptyset around for.Properties (write)
hasAxisGroup(boolean)True if the current context is contained in an axis group.
This engraver creates the following layout object(s):
Bar_engraverCreate barlines. This engraver is controlled through the
whichBarproperty. If it has no bar line to create, it will forbid a linebreak at this point. This engraver is required to trigger the creation of clefs at the start of systems.Properties (read)
whichBar(string)This property is read to determine what type of bar line to create.
Example:
\set Staff.whichBar = ".|:"This will create a start-repeat bar in this staff only. Valid values are described in ‘scm/bar-line.scm’.
Properties (write)
forbidBreak(boolean)If set to
#t, prevent a line break at this point.This engraver creates the following layout object(s):
Clef_engraverDetermine and set reference point for pitches.
Properties (read)
clefGlyph(string)Name of the symbol within the music font.
clefPosition(number)Where should the center of the clef symbol go, measured in half staff spaces from the center of the staff.
clefTransposition(integer)Add this much extra transposition. Values of 7 and -7 are common.
clefTranspositionStyle(symbol)Determines the way the ClefModifier grob is displayed. Possible values are ‘default’, ‘parenthesized’ and ‘bracketed’.
explicitClefVisibility(vector)‘break-visibility’ function for clef changes.
forceClef(boolean)Show clef symbol, even if it has not changed. Only active for the first clef after the property is set, not for the full staff.
This engraver creates the following layout object(s):
Clef and ClefModifier.
Collision_engraverCollect
NoteColumns, and as soon as there are two or more, put them in aNoteCollisionobject.This engraver creates the following layout object(s):
Cue_clef_engraverDetermine and set reference point for pitches in cued voices.
Properties (read)
clefTransposition(integer)Add this much extra transposition. Values of 7 and -7 are common.
cueClefGlyph(string)Name of the symbol within the music font.
cueClefPosition(number)Where should the center of the clef symbol go, measured in half staff spaces from the center of the staff.
cueClefTransposition(integer)Add this much extra transposition. Values of 7 and -7 are common.
cueClefTranspositionStyle(symbol)Determines the way the ClefModifier grob is displayed. Possible values are ‘default’, ‘parenthesized’ and ‘bracketed’.
explicitCueClefVisibility(vector)‘break-visibility’ function for cue clef changes.
middleCCuePosition(number)The position of the middle C, as determined only by the clef of the cue notes. This can be calculated by looking at
cueClefPositionandcueClefGlyph.This engraver creates the following layout object(s):
ClefModifier, CueClef and CueEndClef.
Dot_column_engraverEngrave dots on dotted notes shifted to the right of the note. If omitted, then dots appear on top of the notes.
This engraver creates the following layout object(s):
Figured_bass_engraverMake figured bass numbers.
Music types accepted:
bass-figure-event and rest-event
Properties (read)
figuredBassAlterationDirection(direction)Where to put alterations relative to the main figure.
figuredBassCenterContinuations(boolean)Whether to vertically center pairs of extender lines. This does not work with three or more lines.
figuredBassFormatter(procedure)A routine generating a markup for a bass figure.
ignoreFiguredBassRest(boolean)Don’t swallow rest events.
implicitBassFigures(list)A list of bass figures that are not printed as numbers, but only as extender lines.
useBassFigureExtenders(boolean)Whether to use extender lines for repeated bass figures.
This engraver creates the following layout object(s):
BassFigure, BassFigureAlignment, BassFigureBracket, BassFigureContinuation and BassFigureLine.
Figured_bass_position_engraverPosition figured bass alignments over notes.
This engraver creates the following layout object(s):
Fingering_column_engraverFind potentially colliding scripts and put them into a
FingeringColumnobject; that will fix the collisions.This engraver creates the following layout object(s):
Font_size_engraverPut
fontSizeintofont-sizegrob property.Properties (read)
fontSize(number)The relative size of all grobs in a context.
Grob_pq_engraverAdministrate when certain grobs (e.g., note heads) stop playing.
Properties (read)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Properties (write)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Instrument_name_engraverCreate a system start text for instrument or vocal names.
Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
instrumentName(markup)The name to print left of a staff. The
instrumentNameproperty labels the staff in the first system, and theshortInstrumentNameproperty labels following lines.shortInstrumentName(markup)See
instrumentName.shortVocalName(markup)Name of a vocal line, short version.
vocalName(markup)Name of a vocal line.
This engraver creates the following layout object(s):
Key_engraverEngrave a key signature.
Music types accepted:
Properties (read)
createKeyOnClefChange(boolean)Print a key signature whenever the clef is changed.
explicitKeySignatureVisibility(vector)‘break-visibility’ function for explicit key changes. ‘\override’ of the
break-visibilityproperty will set the visibility for normal (i.e., at the start of the line) key signatures.extraNatural(boolean)Whether to typeset an extra natural sign before accidentals that reduce the effect of a previous alteration.
keyAlterationOrder(list)An alist that defines in what order alterations should be printed. The format is
(step . alter), where step is a number from 0 to 6 and alter from -2 (sharp) to 2 (flat).keyAlterations(list)The current key signature. This is an alist containing
(step . alter)or((octave . step) . alter), where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.keyAlterations = #`((6 . ,FLAT)).lastKeyAlterations(list)Last key signature before a key signature change.
middleCClefPosition(number)The position of the middle C, as determined only by the clef. This can be calculated by looking at
clefPositionandclefGlyph.printKeyCancellation(boolean)Print restoration alterations before a key signature change.
Properties (write)
keyAlterations(list)The current key signature. This is an alist containing
(step . alter)or((octave . step) . alter), where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.keyAlterations = #`((6 . ,FLAT)).lastKeyAlterations(list)Last key signature before a key signature change.
tonic(pitch)The tonic of the current scale.
This engraver creates the following layout object(s):
Ledger_line_engraverCreate the spanner to draw ledger lines, and notices objects that need ledger lines.
This engraver creates the following layout object(s):
Ottava_spanner_engraverCreate a text spanner when the ottavation property changes.
Properties (read)
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
middleCOffset(number)The offset of middle C from the position given by
middleCClefPositionThis is used for ottava brackets.ottavation(markup)If set, the text for an ottava spanner. Changing this creates a new text spanner.
This engraver creates the following layout object(s):
Output_property_engraverApply a procedure to any grob acknowledged.
Music types accepted:
Piano_pedal_align_engraverAlign piano pedal symbols and brackets.
Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
This engraver creates the following layout object(s):
SostenutoPedalLineSpanner, SustainPedalLineSpanner and UnaCordaPedalLineSpanner.
Piano_pedal_engraverEngrave piano pedal symbols and brackets.
Music types accepted:
sostenuto-event, sustain-event and una-corda-event
Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
pedalSostenutoStrings(list)See
pedalSustainStrings.pedalSostenutoStyle(symbol)See
pedalSustainStyle.pedalSustainStrings(list)A list of strings to print for sustain-pedal. Format is
(up updown down), where each of the three is the string to print when this is done with the pedal.pedalSustainStyle(symbol)A symbol that indicates how to print sustain pedals:
text,bracketormixed(both).pedalUnaCordaStrings(list)See
pedalSustainStrings.pedalUnaCordaStyle(symbol)See
pedalSustainStyle.This engraver creates the following layout object(s):
PianoPedalBracket, SostenutoPedal, SustainPedal and UnaCordaPedal.
Pure_from_neighbor_engraverCoordinates items that get their pure heights from their neighbors.
Rest_collision_engraverHandle collisions of rests.
Properties (read)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).This engraver creates the following layout object(s):
Script_row_engraverDetermine order in horizontal side position elements.
This engraver creates the following layout object(s):
Separating_line_group_engraverGenerate objects for computing spacing parameters.
Properties (read)
createSpacing(boolean)Create
StaffSpacingobjects? Should be set for staves.Properties (write)
hasStaffSpacing(boolean)True if the current
CommandColumncontains items that will affect spacing.This engraver creates the following layout object(s):
Staff_collecting_engraverMaintain the
stavesFoundvariable.Properties (read)
stavesFound(list of grobs)A list of all staff-symbols found.
Properties (write)
stavesFound(list of grobs)A list of all staff-symbols found.
Staff_symbol_engraverCreate the constellation of five (default) staff lines.
Music types accepted:
This engraver creates the following layout object(s):
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Same as Voice context, except that it is
accommodated for typesetting a piece in Kievan style.
This context also accepts commands for the following context(s):
Voice.
This context creates the following layout object(s):
Arpeggio, Beam, BendAfter, BreathingSign, ClusterSpanner, ClusterSpannerBeacon, CombineTextScript, Dots, DoublePercentRepeat, DoublePercentRepeatCounter, DoubleRepeatSlash, DynamicLineSpanner, DynamicText, DynamicTextSpanner, Fingering, Flag, Glissando, Hairpin, InstrumentSwitch, KievanLigature, LaissezVibrerTie, LaissezVibrerTieColumn, MultiMeasureRest, MultiMeasureRestNumber, MultiMeasureRestScript, MultiMeasureRestText, NoteColumn, NoteHead, NoteSpacing, PercentRepeat, PercentRepeatCounter, PhrasingSlur, RepeatSlash, RepeatTie, RepeatTieColumn, Rest, Script, ScriptColumn, Slur, Stem, StemStub, StemTremolo, StringNumber, StrokeFinger, TextScript, TextSpanner, Tie, TieColumn, TrillPitchAccidental, TrillPitchGroup, TrillPitchHead, TrillSpanner, TupletBracket, TupletNumber and VoiceFollower.
This context sets the following properties:
duration-log in NoteHead to
note-head::calc-kievan-duration-log.
glyph-name-alist in Accidental to:
'((-1/2 . "accidentals.kievanM1") (1/2 . "accidentals.kievan1"))
length in Stem to
0.0.
positions in Beam to
beam::get-kievan-positions.
quantized-positions in Beam to
beam::get-kievan-quantized-positions.
stencil in Flag to
#f.
stencil in Slur to
#f.
stencil in Stem to
#f.
style in Dots to
'kievan.
style in NoteHead to
'kievan.
style in Rest to
'mensural.
X-offset in Stem to
stem::kievan-offset-callback.
autoBeaming to
#f.
This is a ‘Bottom’ context; no contexts will be created implicitly from it.
This context cannot contain other contexts.
This context is built from the following engraver(s):
Arpeggio_engraverGenerate an Arpeggio symbol.
Music types accepted:
This engraver creates the following layout object(s):
Auto_beam_engraverGenerate beams based on measure characteristics and observed Stems. Uses
baseMoment,beatStructure,beamExceptions,measureLength, andmeasurePositionto decide when to start and stop a beam. Overriding beaming is done through Stem_engraver propertiesstemLeftBeamCountandstemRightBeamCount.Music types accepted:
Properties (read)
autoBeaming(boolean)If set to true then beams are generated automatically.
baseMoment(moment)Smallest unit of time that will stand on its own as a subdivided section.
beamExceptions(list)An alist of exceptions to autobeam rules that normally end on beats.
beamHalfMeasure(boolean)Whether to allow a beam to begin halfway through the measure in triple time, which could look like 6/8.
beatStructure(list)List of
baseMoments that are combined to make beats.subdivideBeams(boolean)If set, multiple beams will be subdivided at
baseMomentpositions by only drawing one beam over the beat.This engraver creates the following layout object(s):
Beam.
Beam_engraverHandle
Beamevents by engraving beams. If omitted, then notes are printed with flags instead of beams.Music types accepted:
Properties (read)
baseMoment(moment)Smallest unit of time that will stand on its own as a subdivided section.
beamMelismaBusy(boolean)Signal if a beam is present.
beatStructure(list)List of
baseMoments that are combined to make beats.subdivideBeams(boolean)If set, multiple beams will be subdivided at
baseMomentpositions by only drawing one beam over the beat.Properties (write)
forbidBreak(boolean)If set to
#t, prevent a line break at this point.This engraver creates the following layout object(s):
Beam.
Bend_engraverCreate fall spanners.
Music types accepted:
This engraver creates the following layout object(s):
Breathing_sign_engraverCreate a breathing sign.
Music types accepted:
This engraver creates the following layout object(s):
Chord_tremolo_engraverGenerate beams for tremolo repeats.
Music types accepted:
This engraver creates the following layout object(s):
Beam.
Cluster_spanner_engraverEngrave a cluster using
Spannernotation.Music types accepted:
This engraver creates the following layout object(s):
Dots_engraverCreate Dots objects for rhythmic-head-interfaces.
This engraver creates the following layout object(s):
Dots.
Double_percent_repeat_engraverMake double measure repeats.
Music types accepted:
Properties (read)
countPercentRepeats(boolean)If set, produce counters for percent repeats.
measureLength(moment)Length of one measure in the current time signature.
repeatCountVisibility(procedure)A procedure taking as arguments an integer and context, returning whether the corresponding percent repeat number should be printed when
countPercentRepeatsis set.Properties (write)
forbidBreak(boolean)If set to
#t, prevent a line break at this point.This engraver creates the following layout object(s):
Dynamic_align_engraverAlign hairpins and dynamic texts on a horizontal line.
Properties (read)
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
Dynamic_engraverCreate hairpins, dynamic texts and dynamic text spanners.
Music types accepted:
absolute-dynamic-event, break-span-event and span-dynamic-event
Properties (read)
crescendoSpanner(symbol)The type of spanner to be used for crescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin crescendo is used.
crescendoText(markup)The text to print at start of non-hairpin crescendo, i.e., ‘cresc.’.
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
decrescendoSpanner(symbol)The type of spanner to be used for decrescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin decrescendo is used.
decrescendoText(markup)The text to print at start of non-hairpin decrescendo, i.e., ‘dim.’.
This engraver creates the following layout object(s):
Fingering_engraverCreate fingering scripts.
Music types accepted:
This engraver creates the following layout object(s):
Font_size_engraverPut
fontSizeintofont-sizegrob property.Properties (read)
fontSize(number)The relative size of all grobs in a context.
Forbid_line_break_engraverForbid line breaks when note heads are still playing at some point.
Properties (read)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Properties (write)
forbidBreak(boolean)If set to
#t, prevent a line break at this point.Glissando_engraverEngrave glissandi.
Music types accepted:
Properties (read)
glissandoMap(list)A map in the form of ’((source1 . target1) (source2 . target2) (sourcen . targetn)) showing the glissandi to be drawn for note columns. The value ’() will default to ’((0 . 0) (1 . 1) (n . n)), where n is the minimal number of note-heads in the two note columns between which the glissandi occur.
This engraver creates the following layout object(s):
Grace_auto_beam_engraverGenerates one autobeam group across an entire grace phrase. As usual, any manual beaming or
\noBeamwill block autobeaming, just like setting the context property ‘autoBeaming’ to##f.Music types accepted:
Properties (read)
autoBeaming(boolean)If set to true then beams are generated automatically.
This engraver creates the following layout object(s):
Beam.
Grace_beam_engraverHandle
Beamevents by engraving beams. If omitted, then notes are printed with flags instead of beams. Only engraves beams when we are at grace points in time.Music types accepted:
Properties (read)
baseMoment(moment)Smallest unit of time that will stand on its own as a subdivided section.
beamMelismaBusy(boolean)Signal if a beam is present.
beatStructure(list)List of
baseMoments that are combined to make beats.subdivideBeams(boolean)If set, multiple beams will be subdivided at
baseMomentpositions by only drawing one beam over the beat.This engraver creates the following layout object(s):
Beam.
Grace_engraverSet font size and other properties for grace notes.
Properties (read)
graceSettings(list)Overrides for grace notes. This property should be manipulated through the
add-grace-propertyfunction.Grob_pq_engraverAdministrate when certain grobs (e.g., note heads) stop playing.
Properties (read)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Properties (write)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Instrument_switch_engraverCreate a cue text for taking instrument.
Properties (read)
instrumentCueName(markup)The name to print if another instrument is to be taken.
This engraver creates the following layout object(s):
Kievan_ligature_engraverHandle
Kievan_ligature_eventsby glueing Kievan heads together.Music types accepted:
This engraver creates the following layout object(s):
Laissez_vibrer_engraverCreate laissez vibrer items.
Music types accepted:
This engraver creates the following layout object(s):
Multi_measure_rest_engraverEngrave multi-measure rests that are produced with ‘R’. It reads
measurePositionandinternalBarNumberto determine what number to print over the MultiMeasureRest.Music types accepted:
multi-measure-articulation-event, multi-measure-rest-event and multi-measure-text-event
Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
internalBarNumber(integer)Contains the current barnumber. This property is used for internal timekeeping, among others by the
Accidental_engraver.measurePosition(moment)How much of the current measure have we had. This can be set manually to create incomplete measures.
restNumberThreshold(number)If a multimeasure rest has more measures than this, a number is printed.
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 ‘scm/bar-line.scm’.
This engraver creates the following layout object(s):
MultiMeasureRest, MultiMeasureRestNumber, MultiMeasureRestScript and MultiMeasureRestText.
New_fingering_engraverCreate fingering scripts for notes in a new chord. This engraver is ill-named, since it also takes care of articulations and harmonic note heads.
Properties (read)
fingeringOrientations(list)A list of symbols, containing ‘left’, ‘right’, ‘up’ and/or ‘down’. This list determines where fingerings are put relative to the chord being fingered.
harmonicDots(boolean)If set, harmonic notes in dotted chords get dots.
stringNumberOrientations(list)See
fingeringOrientations.strokeFingerOrientations(list)See
fingeringOrientations.This engraver creates the following layout object(s):
Fingering, Script, StringNumber and StrokeFinger.
Note_head_line_engraverEngrave a line between two note heads in a staff switch if
followVoiceis set.Properties (read)
followVoice(boolean)If set, note heads are tracked across staff switches by a thin line.
This engraver creates the following layout object(s):
Note_heads_engraverGenerate note heads.
Music types accepted:
Properties (read)
middleCPosition(number)The place of the middle C, measured in half staff-spaces. Usually determined by looking at
middleCClefPositionandmiddleCOffset.staffLineLayoutFunction(procedure)Layout of staff lines,
traditional, orsemitone.This engraver creates the following layout object(s):
Note_spacing_engraverGenerate
NoteSpacing, an object linking horizontal lines for use in spacing.This engraver creates the following layout object(s):
Output_property_engraverApply a procedure to any grob acknowledged.
Music types accepted:
Part_combine_engraverPart combine engraver for orchestral scores: Print markings ‘a2’, ‘Solo’, ‘Solo II’, and ‘unisono’.
Music types accepted:
note-event and part-combine-event
Properties (read)
aDueText(markup)Text to print at a unisono passage.
partCombineTextsOnNote(boolean)Print part-combine texts only on the next note rather than immediately on rests or skips.
printPartCombineTexts(boolean)Set ‘Solo’ and ‘A due’ texts in the part combiner?
soloIIText(markup)The text for the start of a solo for voice ‘two’ when part-combining.
soloText(markup)The text for the start of a solo when part-combining.
This engraver creates the following layout object(s):
Percent_repeat_engraverMake whole measure repeats.
Music types accepted:
Properties (read)
countPercentRepeats(boolean)If set, produce counters for percent repeats.
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
repeatCountVisibility(procedure)A procedure taking as arguments an integer and context, returning whether the corresponding percent repeat number should be printed when
countPercentRepeatsis set.This engraver creates the following layout object(s):
Phrasing_slur_engraverPrint phrasing slurs. Similar to Slur_engraver.
Music types accepted:
note-event and phrasing-slur-event
This engraver creates the following layout object(s):
Pitched_trill_engraverPrint the bracketed note head after a note head with trill.
This engraver creates the following layout object(s):
Repeat_tie_engraverCreate repeat ties.
Music types accepted:
This engraver creates the following layout object(s):
RepeatTie and RepeatTieColumn.
Rest_engraverEngrave rests.
Music types accepted:
Properties (read)
middleCPosition(number)The place of the middle C, measured in half staff-spaces. Usually determined by looking at
middleCClefPositionandmiddleCOffset.This engraver creates the following layout object(s):
Rest.
Rhythmic_column_engraverGenerate
NoteColumn, an object that groups stems, note heads, and rests.This engraver creates the following layout object(s):
Script_column_engraverFind potentially colliding scripts and put them into a
ScriptColumnobject; that will fix the collisions.This engraver creates the following layout object(s):
Script_engraverHandle note scripted articulations.
Music types accepted:
Properties (read)
scriptDefinitions(list)The description of scripts. This is used by the
Script_engraverfor typesetting note-superscripts and subscripts. See ‘scm/script.scm’ for more information.This engraver creates the following layout object(s):
Slash_repeat_engraverMake beat repeats.
Music types accepted:
This engraver creates the following layout object(s):
Slur_engraverBuild slur grobs from slur events.
Music types accepted:
note-event and slur-event
Properties (read)
doubleSlurs(boolean)If set, two slurs are created for every slurred note, one above and one below the chord.
slurMelismaBusy(boolean)Signal if a slur is present.
This engraver creates the following layout object(s):
Slur.
Spanner_break_forbid_engraverForbid breaks in certain spanners.
Stem_engraverCreate stems, flags and single-stem tremolos. It also works together with the beam engraver for overriding beaming.
Music types accepted:
tremolo-event and tuplet-span-event
Properties (read)
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.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 ‘scm/bar-line.scm’.
This engraver creates the following layout object(s):
Flag, Stem, StemStub and StemTremolo.
Text_engraverCreate text scripts.
Music types accepted:
This engraver creates the following layout object(s):
Text_spanner_engraverCreate text spanner from an event.
Music types accepted:
Properties (read)
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
Tie_engraverGenerate ties between note heads of equal pitch.
Music types accepted:
Properties (read)
skipTypesetting(boolean)If true, no typesetting is done, speeding up the interpretation phase. Useful for debugging large scores.
tieWaitForNote(boolean)If true, tied notes do not have to follow each other directly. This can be used for writing out arpeggios.
Properties (write)
tieMelismaBusy(boolean)Signal whether a tie is present.
This engraver creates the following layout object(s):
Trill_spanner_engraverCreate trill spanner from an event.
Music types accepted:
Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
Tuplet_engraverCatch tuplet events and generate appropriate bracket.
Music types accepted:
Properties (read)
tupletFullLength(boolean)If set, the tuplet is printed up to the start of the next note.
tupletFullLengthNote(boolean)If set, end at the next note, otherwise end on the matter (time signatures, etc.) before the note.
This engraver creates the following layout object(s):
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Corresponds to a voice with lyrics. Handles the printing of a single line of lyrics.
This context creates the following layout object(s):
InstrumentName, LyricExtender, LyricHyphen, LyricSpace, LyricText, StanzaNumber, VerticalAxisGroup and VowelTransition.
This context sets the following properties:
bar-extent in BarLine to:
'(-0.05 . 0.05)
font-size in InstrumentName to
1.0.
nonstaff-nonstaff-spacing in VerticalAxisGroup to:
'((basic-distance . 0) (minimum-distance . 2.8) (padding . 0.2) (stretchability . 0))
nonstaff-relatedstaff-spacing in VerticalAxisGroup to:
'((basic-distance . 5.5) (padding . 0.5) (stretchability . 1))
nonstaff-unrelatedstaff-spacing.padding in VerticalAxisGroup to
1.5.
remove-empty in VerticalAxisGroup to
#t.
remove-first in VerticalAxisGroup to
#t.
self-alignment-Y in InstrumentName to
#f.
staff-affinity in VerticalAxisGroup to
1.
instrumentName to
'().
searchForVoice to
#f.
shortInstrumentName to
'().
This is a ‘Bottom’ context; no contexts will be created implicitly from it.
This context cannot contain other contexts.
This context is built from the following engraver(s):
Axis_group_engraverGroup all objects created in this context in a
VerticalAxisGroupspanner.Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
hasAxisGroup(boolean)True if the current context is contained in an axis group.
keepAliveInterfaces(list)A list of symbols, signifying grob interfaces that are worth keeping a staff with
remove-emptyset around for.Properties (write)
hasAxisGroup(boolean)True if the current context is contained in an axis group.
This engraver creates the following layout object(s):
Extender_engraverCreate lyric extenders.
Music types accepted:
completize-extender-event and extender-event
Properties (read)
extendersOverRests(boolean)Whether to continue extenders as they cross a rest.
This engraver creates the following layout object(s):
Font_size_engraverPut
fontSizeintofont-sizegrob property.Properties (read)
fontSize(number)The relative size of all grobs in a context.
Hyphen_engraverCreate lyric hyphens, vowel transitions and distance constraints between words.
Music types accepted:
hyphen-event and vowel-transition-event
This engraver creates the following layout object(s):
Instrument_name_engraverCreate a system start text for instrument or vocal names.
Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
instrumentName(markup)The name to print left of a staff. The
instrumentNameproperty labels the staff in the first system, and theshortInstrumentNameproperty labels following lines.shortInstrumentName(markup)See
instrumentName.shortVocalName(markup)Name of a vocal line, short version.
vocalName(markup)Name of a vocal line.
This engraver creates the following layout object(s):
Lyric_engraverEngrave text for lyrics.
Music types accepted:
Properties (read)
ignoreMelismata(boolean)Ignore melismata for this (internals-big-page)Lyrics section ‘Lyrics’ in Internals Reference line.
lyricMelismaAlignment(number)Alignment to use for a melisma syllable.
searchForVoice(boolean)Signal whether a search should be made of all contexts in the context hierarchy for a voice to provide rhythms for the lyrics.
This engraver creates the following layout object(s):
Pure_from_neighbor_engraverCoordinates items that get their pure heights from their neighbors.
Stanza_number_engraverEngrave stanza numbers.
Properties (read)
stanza(markup)Stanza ‘number’ to print before the start of a verse. Use in
Lyricscontext.This engraver creates the following layout object(s):
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Same as Staff context, except that it is
accommodated for typesetting a piece in mensural style.
This context also accepts commands for the following context(s):
Staff.
This context creates the following layout object(s):
Accidental, AccidentalCautionary, AccidentalPlacement, AccidentalSuggestion, BarLine, BassFigure, BassFigureAlignment, BassFigureAlignmentPositioning, BassFigureBracket, BassFigureContinuation, BassFigureLine, Clef, ClefModifier, CueClef, CueEndClef, Custos, DotColumn, FingeringColumn, InstrumentName, KeyCancellation, KeySignature, LedgerLineSpanner, NoteCollision, OttavaBracket, PianoPedalBracket, RestCollision, ScriptRow, SostenutoPedal, SostenutoPedalLineSpanner, StaffSpacing, StaffSymbol, SustainPedal, SustainPedalLineSpanner, TimeSignature, UnaCordaPedal, UnaCordaPedalLineSpanner and VerticalAxisGroup.
This context sets the following properties:
glyph-name-alist in AccidentalSuggestion to:
'((-1/2 . "accidentals.mensuralM1") (0 . "accidentals.vaticana0") (1/2 . "accidentals.mensural1"))
glyph-name-alist in Accidental to:
'((-1/2 . "accidentals.mensuralM1") (0 . "accidentals.vaticana0") (1/2 . "accidentals.mensural1"))
glyph-name-alist in KeySignature to:
'((-1/2 . "accidentals.mensuralM1") (0 . "accidentals.vaticana0") (1/2 . "accidentals.mensural1"))
neutral-direction in Custos to
-1.
neutral-position in Custos to
3.
style in Custos to
'mensural.
style in TimeSignature to
'mensural.
thickness in StaffSymbol to
0.6.
transparent in BarLine to
#t.
autoAccidentals to:
'(Staff #<procedure #f (context pitch barnum measurepos)>)
autoCautionaries to
'().
clefGlyph to
"clefs.mensural.g".
clefPosition to
-2.
clefTransposition to
0.
createSpacing to
#t.
extraNatural to
#f.
ignoreFiguredBassRest to
#f.
instrumentName to
'().
localAlterations to
'().
middleCClefPosition to
-6.
middleCPosition to
-6.
ottavationMarkups to:
'((4 . "29") (3 . "22") (2 . "15") (1 . "8") (-1 . "8") (-2 . "15") (-3 . "22") (-4 . "29"))
printKeyCancellation to
#f.
shortInstrumentName to
'().
This is not a ‘Bottom’ context; search for such a one will commence after creating an implicit context of type MensuralVoice.
Context MensuralStaff can contain CueVoice, MensuralVoice and NullVoice.
This context is built from the following engraver(s):
Accidental_engraverMake accidentals. Catch note heads, ties and notices key-change events. This engraver usually lives at Staff level, but reads the settings for Accidental at
Voicelevel, so you can\overridethem atVoice.Properties (read)
accidentalGrouping(symbol)If set to
'voice, accidentals on the same note in different octaves may be horizontally staggered if in different voices.autoAccidentals(list)List of different ways to typeset an accidental.
For determining when to print an accidental, several different rules are tried. The rule that gives the highest number of accidentals is used.
Each entry in the list is either a symbol or a procedure.
- symbol
The symbol is the name of the context in which the following rules are to be applied. For example, if context is (internals-big-page)Score section ‘Score’ in Internals Reference then all staves share accidentals, and if context is (internals-big-page)Staff section ‘Staff’ in Internals Reference then all voices in the same staff share accidentals, but staves do not.
- procedure
The procedure represents an accidental rule to be applied to the previously specified context.
The procedure takes the following arguments:
contextThe current context to which the rule should be applied.
pitchThe pitch of the note to be evaluated.
barnumThe current bar number.
measureposThe current measure position.
The procedure returns a pair of booleans. The first states whether an extra natural should be added. The second states whether an accidental should be printed.
(#t . #f)does not make sense.autoCautionaries(list)List similar to
autoAccidentals, but it controls cautionary accidentals rather than normal ones. Both lists are tried, and the one giving the most accidentals wins. In case of draw, a normal accidental is typeset.extraNatural(boolean)Whether to typeset an extra natural sign before accidentals that reduce the effect of a previous alteration.
harmonicAccidentals(boolean)If set, harmonic notes in chords get accidentals.
internalBarNumber(integer)Contains the current barnumber. This property is used for internal timekeeping, among others by the
Accidental_engraver.keyAlterations(list)The current key signature. This is an alist containing
(step . alter)or((octave . step) . alter), where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.keyAlterations = #`((6 . ,FLAT)).localAlterations(list)The key signature at this point in the measure. The format is the same as for
keyAlterations, but can also contain((octave . name) . (alter barnumber . measureposition))pairs.Properties (write)
localAlterations(list)The key signature at this point in the measure. The format is the same as for
keyAlterations, but can also contain((octave . name) . (alter barnumber . measureposition))pairs.This engraver creates the following layout object(s):
Accidental, AccidentalCautionary, AccidentalPlacement and AccidentalSuggestion.
Axis_group_engraverGroup all objects created in this context in a
VerticalAxisGroupspanner.Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
hasAxisGroup(boolean)True if the current context is contained in an axis group.
keepAliveInterfaces(list)A list of symbols, signifying grob interfaces that are worth keeping a staff with
remove-emptyset around for.Properties (write)
hasAxisGroup(boolean)True if the current context is contained in an axis group.
This engraver creates the following layout object(s):
Bar_engraverCreate barlines. This engraver is controlled through the
whichBarproperty. If it has no bar line to create, it will forbid a linebreak at this point. This engraver is required to trigger the creation of clefs at the start of systems.Properties (read)
whichBar(string)This property is read to determine what type of bar line to create.
Example:
\set Staff.whichBar = ".|:"This will create a start-repeat bar in this staff only. Valid values are described in ‘scm/bar-line.scm’.
Properties (write)
forbidBreak(boolean)If set to
#t, prevent a line break at this point.This engraver creates the following layout object(s):
Clef_engraverDetermine and set reference point for pitches.
Properties (read)
clefGlyph(string)Name of the symbol within the music font.
clefPosition(number)Where should the center of the clef symbol go, measured in half staff spaces from the center of the staff.
clefTransposition(integer)Add this much extra transposition. Values of 7 and -7 are common.
clefTranspositionStyle(symbol)Determines the way the ClefModifier grob is displayed. Possible values are ‘default’, ‘parenthesized’ and ‘bracketed’.
explicitClefVisibility(vector)‘break-visibility’ function for clef changes.
forceClef(boolean)Show clef symbol, even if it has not changed. Only active for the first clef after the property is set, not for the full staff.
This engraver creates the following layout object(s):
Clef and ClefModifier.
Collision_engraverCollect
NoteColumns, and as soon as there are two or more, put them in aNoteCollisionobject.This engraver creates the following layout object(s):
Cue_clef_engraverDetermine and set reference point for pitches in cued voices.
Properties (read)
clefTransposition(integer)Add this much extra transposition. Values of 7 and -7 are common.
cueClefGlyph(string)Name of the symbol within the music font.
cueClefPosition(number)Where should the center of the clef symbol go, measured in half staff spaces from the center of the staff.
cueClefTransposition(integer)Add this much extra transposition. Values of 7 and -7 are common.
cueClefTranspositionStyle(symbol)Determines the way the ClefModifier grob is displayed. Possible values are ‘default’, ‘parenthesized’ and ‘bracketed’.
explicitCueClefVisibility(vector)‘break-visibility’ function for cue clef changes.
middleCCuePosition(number)The position of the middle C, as determined only by the clef of the cue notes. This can be calculated by looking at
cueClefPositionandcueClefGlyph.This engraver creates the following layout object(s):
ClefModifier, CueClef and CueEndClef.
Custos_engraverEngrave custodes.
This engraver creates the following layout object(s):
Dot_column_engraverEngrave dots on dotted notes shifted to the right of the note. If omitted, then dots appear on top of the notes.
This engraver creates the following layout object(s):
Figured_bass_engraverMake figured bass numbers.
Music types accepted:
bass-figure-event and rest-event
Properties (read)
figuredBassAlterationDirection(direction)Where to put alterations relative to the main figure.
figuredBassCenterContinuations(boolean)Whether to vertically center pairs of extender lines. This does not work with three or more lines.
figuredBassFormatter(procedure)A routine generating a markup for a bass figure.
ignoreFiguredBassRest(boolean)Don’t swallow rest events.
implicitBassFigures(list)A list of bass figures that are not printed as numbers, but only as extender lines.
useBassFigureExtenders(boolean)Whether to use extender lines for repeated bass figures.
This engraver creates the following layout object(s):
BassFigure, BassFigureAlignment, BassFigureBracket, BassFigureContinuation and BassFigureLine.
Figured_bass_position_engraverPosition figured bass alignments over notes.
This engraver creates the following layout object(s):
Fingering_column_engraverFind potentially colliding scripts and put them into a
FingeringColumnobject; that will fix the collisions.This engraver creates the following layout object(s):
Font_size_engraverPut
fontSizeintofont-sizegrob property.Properties (read)
fontSize(number)The relative size of all grobs in a context.
Grob_pq_engraverAdministrate when certain grobs (e.g., note heads) stop playing.
Properties (read)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Properties (write)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Instrument_name_engraverCreate a system start text for instrument or vocal names.
Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
instrumentName(markup)The name to print left of a staff. The
instrumentNameproperty labels the staff in the first system, and theshortInstrumentNameproperty labels following lines.shortInstrumentName(markup)See
instrumentName.shortVocalName(markup)Name of a vocal line, short version.
vocalName(markup)Name of a vocal line.
This engraver creates the following layout object(s):
Key_engraverEngrave a key signature.
Music types accepted:
Properties (read)
createKeyOnClefChange(boolean)Print a key signature whenever the clef is changed.
explicitKeySignatureVisibility(vector)‘break-visibility’ function for explicit key changes. ‘\override’ of the
break-visibilityproperty will set the visibility for normal (i.e., at the start of the line) key signatures.extraNatural(boolean)Whether to typeset an extra natural sign before accidentals that reduce the effect of a previous alteration.
keyAlterationOrder(list)An alist that defines in what order alterations should be printed. The format is
(step . alter), where step is a number from 0 to 6 and alter from -2 (sharp) to 2 (flat).keyAlterations(list)The current key signature. This is an alist containing
(step . alter)or((octave . step) . alter), where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.keyAlterations = #`((6 . ,FLAT)).lastKeyAlterations(list)Last key signature before a key signature change.
middleCClefPosition(number)The position of the middle C, as determined only by the clef. This can be calculated by looking at
clefPositionandclefGlyph.printKeyCancellation(boolean)Print restoration alterations before a key signature change.
Properties (write)
keyAlterations(list)The current key signature. This is an alist containing
(step . alter)or((octave . step) . alter), where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.keyAlterations = #`((6 . ,FLAT)).lastKeyAlterations(list)Last key signature before a key signature change.
tonic(pitch)The tonic of the current scale.
This engraver creates the following layout object(s):
Ledger_line_engraverCreate the spanner to draw ledger lines, and notices objects that need ledger lines.
This engraver creates the following layout object(s):
Ottava_spanner_engraverCreate a text spanner when the ottavation property changes.
Properties (read)
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
middleCOffset(number)The offset of middle C from the position given by
middleCClefPositionThis is used for ottava brackets.ottavation(markup)If set, the text for an ottava spanner. Changing this creates a new text spanner.
This engraver creates the following layout object(s):
Output_property_engraverApply a procedure to any grob acknowledged.
Music types accepted:
Piano_pedal_align_engraverAlign piano pedal symbols and brackets.
Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
This engraver creates the following layout object(s):
SostenutoPedalLineSpanner, SustainPedalLineSpanner and UnaCordaPedalLineSpanner.
Piano_pedal_engraverEngrave piano pedal symbols and brackets.
Music types accepted:
sostenuto-event, sustain-event and una-corda-event
Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
pedalSostenutoStrings(list)See
pedalSustainStrings.pedalSostenutoStyle(symbol)See
pedalSustainStyle.pedalSustainStrings(list)A list of strings to print for sustain-pedal. Format is
(up updown down), where each of the three is the string to print when this is done with the pedal.pedalSustainStyle(symbol)A symbol that indicates how to print sustain pedals:
text,bracketormixed(both).pedalUnaCordaStrings(list)See
pedalSustainStrings.pedalUnaCordaStyle(symbol)See
pedalSustainStyle.This engraver creates the following layout object(s):
PianoPedalBracket, SostenutoPedal, SustainPedal and UnaCordaPedal.
Pure_from_neighbor_engraverCoordinates items that get their pure heights from their neighbors.
Rest_collision_engraverHandle collisions of rests.
Properties (read)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).This engraver creates the following layout object(s):
Script_row_engraverDetermine order in horizontal side position elements.
This engraver creates the following layout object(s):
Separating_line_group_engraverGenerate objects for computing spacing parameters.
Properties (read)
createSpacing(boolean)Create
StaffSpacingobjects? Should be set for staves.Properties (write)
hasStaffSpacing(boolean)True if the current
CommandColumncontains items that will affect spacing.This engraver creates the following layout object(s):
Staff_collecting_engraverMaintain the
stavesFoundvariable.Properties (read)
stavesFound(list of grobs)A list of all staff-symbols found.
Properties (write)
stavesFound(list of grobs)A list of all staff-symbols found.
Staff_symbol_engraverCreate the constellation of five (default) staff lines.
Music types accepted:
This engraver creates the following layout object(s):
Time_signature_engraverCreate a TimeSignature whenever
timeSignatureFractionchanges.Music types accepted:
Properties (read)
initialTimeSignatureVisibility(vector)break visibility for the initial time signature.
partialBusy(boolean)Signal that \partial acts at the current timestep.
timeSignatureFraction(fraction, as pair)A pair of numbers, signifying the time signature. For example,
'(4 . 4)is a 4/4 time signature.This engraver creates the following layout object(s):
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Same as Voice context, except that it is
accommodated for typesetting a piece in mensural style.
This context also accepts commands for the following context(s):
Voice.
This context creates the following layout object(s):
Arpeggio, Beam, BendAfter, BreathingSign, ClusterSpanner, ClusterSpannerBeacon, CombineTextScript, Dots, DoublePercentRepeat, DoublePercentRepeatCounter, DoubleRepeatSlash, DynamicLineSpanner, DynamicText, DynamicTextSpanner, Fingering, Flag, Glissando, Hairpin, InstrumentSwitch, LaissezVibrerTie, LaissezVibrerTieColumn, MensuralLigature, MultiMeasureRest, MultiMeasureRestNumber, MultiMeasureRestScript, MultiMeasureRestText, NoteColumn, NoteHead, NoteSpacing, PercentRepeat, PercentRepeatCounter, PhrasingSlur, RepeatSlash, RepeatTie, RepeatTieColumn, Rest, Script, ScriptColumn, Stem, StemStub, StemTremolo, StringNumber, StrokeFinger, TextScript, TextSpanner, Tie, TieColumn, TrillPitchAccidental, TrillPitchGroup, TrillPitchHead, TrillSpanner, TupletBracket, TupletNumber and VoiceFollower.
This context sets the following properties:
style in Flag to
'mensural.
style in NoteHead to
'mensural.
style in Rest to
'mensural.
autoBeaming to
#f.
This is a ‘Bottom’ context; no contexts will be created implicitly from it.
This context cannot contain other contexts.
This context is built from the following engraver(s):
Arpeggio_engraverGenerate an Arpeggio symbol.
Music types accepted:
This engraver creates the following layout object(s):
Auto_beam_engraverGenerate beams based on measure characteristics and observed Stems. Uses
baseMoment,beatStructure,beamExceptions,measureLength, andmeasurePositionto decide when to start and stop a beam. Overriding beaming is done through Stem_engraver propertiesstemLeftBeamCountandstemRightBeamCount.Music types accepted:
Properties (read)
autoBeaming(boolean)If set to true then beams are generated automatically.
baseMoment(moment)Smallest unit of time that will stand on its own as a subdivided section.
beamExceptions(list)An alist of exceptions to autobeam rules that normally end on beats.
beamHalfMeasure(boolean)Whether to allow a beam to begin halfway through the measure in triple time, which could look like 6/8.
beatStructure(list)List of
baseMoments that are combined to make beats.subdivideBeams(boolean)If set, multiple beams will be subdivided at
baseMomentpositions by only drawing one beam over the beat.This engraver creates the following layout object(s):
Beam.
Beam_engraverHandle
Beamevents by engraving beams. If omitted, then notes are printed with flags instead of beams.Music types accepted:
Properties (read)
baseMoment(moment)Smallest unit of time that will stand on its own as a subdivided section.
beamMelismaBusy(boolean)Signal if a beam is present.
beatStructure(list)List of
baseMoments that are combined to make beats.subdivideBeams(boolean)If set, multiple beams will be subdivided at
baseMomentpositions by only drawing one beam over the beat.Properties (write)
forbidBreak(boolean)If set to
#t, prevent a line break at this point.This engraver creates the following layout object(s):
Beam.
Bend_engraverCreate fall spanners.
Music types accepted:
This engraver creates the following layout object(s):
Breathing_sign_engraverCreate a breathing sign.
Music types accepted:
This engraver creates the following layout object(s):
Chord_tremolo_engraverGenerate beams for tremolo repeats.
Music types accepted:
This engraver creates the following layout object(s):
Beam.
Cluster_spanner_engraverEngrave a cluster using
Spannernotation.Music types accepted:
This engraver creates the following layout object(s):
Dots_engraverCreate Dots objects for rhythmic-head-interfaces.
This engraver creates the following layout object(s):
Dots.
Double_percent_repeat_engraverMake double measure repeats.
Music types accepted:
Properties (read)
countPercentRepeats(boolean)If set, produce counters for percent repeats.
measureLength(moment)Length of one measure in the current time signature.
repeatCountVisibility(procedure)A procedure taking as arguments an integer and context, returning whether the corresponding percent repeat number should be printed when
countPercentRepeatsis set.Properties (write)
forbidBreak(boolean)If set to
#t, prevent a line break at this point.This engraver creates the following layout object(s):
Dynamic_align_engraverAlign hairpins and dynamic texts on a horizontal line.
Properties (read)
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
Dynamic_engraverCreate hairpins, dynamic texts and dynamic text spanners.
Music types accepted:
absolute-dynamic-event, break-span-event and span-dynamic-event
Properties (read)
crescendoSpanner(symbol)The type of spanner to be used for crescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin crescendo is used.
crescendoText(markup)The text to print at start of non-hairpin crescendo, i.e., ‘cresc.’.
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
decrescendoSpanner(symbol)The type of spanner to be used for decrescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin decrescendo is used.
decrescendoText(markup)The text to print at start of non-hairpin decrescendo, i.e., ‘dim.’.
This engraver creates the following layout object(s):
Fingering_engraverCreate fingering scripts.
Music types accepted:
This engraver creates the following layout object(s):
Font_size_engraverPut
fontSizeintofont-sizegrob property.Properties (read)
fontSize(number)The relative size of all grobs in a context.
Forbid_line_break_engraverForbid line breaks when note heads are still playing at some point.
Properties (read)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Properties (write)
forbidBreak(boolean)If set to
#t, prevent a line break at this point.Glissando_engraverEngrave glissandi.
Music types accepted:
Properties (read)
glissandoMap(list)A map in the form of ’((source1 . target1) (source2 . target2) (sourcen . targetn)) showing the glissandi to be drawn for note columns. The value ’() will default to ’((0 . 0) (1 . 1) (n . n)), where n is the minimal number of note-heads in the two note columns between which the glissandi occur.
This engraver creates the following layout object(s):
Grace_auto_beam_engraverGenerates one autobeam group across an entire grace phrase. As usual, any manual beaming or
\noBeamwill block autobeaming, just like setting the context property ‘autoBeaming’ to##f.Music types accepted:
Properties (read)
autoBeaming(boolean)If set to true then beams are generated automatically.
This engraver creates the following layout object(s):
Beam.
Grace_beam_engraverHandle
Beamevents by engraving beams. If omitted, then notes are printed with flags instead of beams. Only engraves beams when we are at grace points in time.Music types accepted:
Properties (read)
baseMoment(moment)Smallest unit of time that will stand on its own as a subdivided section.
beamMelismaBusy(boolean)Signal if a beam is present.
beatStructure(list)List of
baseMoments that are combined to make beats.subdivideBeams(boolean)If set, multiple beams will be subdivided at
baseMomentpositions by only drawing one beam over the beat.This engraver creates the following layout object(s):
Beam.
Grace_engraverSet font size and other properties for grace notes.
Properties (read)
graceSettings(list)Overrides for grace notes. This property should be manipulated through the
add-grace-propertyfunction.Grob_pq_engraverAdministrate when certain grobs (e.g., note heads) stop playing.
Properties (read)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Properties (write)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Instrument_switch_engraverCreate a cue text for taking instrument.
Properties (read)
instrumentCueName(markup)The name to print if another instrument is to be taken.
This engraver creates the following layout object(s):
Laissez_vibrer_engraverCreate laissez vibrer items.
Music types accepted:
This engraver creates the following layout object(s):
Mensural_ligature_engraverHandle
Mensural_ligature_eventsby glueing special ligature heads together.Music types accepted:
This engraver creates the following layout object(s):
Multi_measure_rest_engraverEngrave multi-measure rests that are produced with ‘R’. It reads
measurePositionandinternalBarNumberto determine what number to print over the MultiMeasureRest.Music types accepted:
multi-measure-articulation-event, multi-measure-rest-event and multi-measure-text-event
Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
internalBarNumber(integer)Contains the current barnumber. This property is used for internal timekeeping, among others by the
Accidental_engraver.measurePosition(moment)How much of the current measure have we had. This can be set manually to create incomplete measures.
restNumberThreshold(number)If a multimeasure rest has more measures than this, a number is printed.
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 ‘scm/bar-line.scm’.
This engraver creates the following layout object(s):
MultiMeasureRest, MultiMeasureRestNumber, MultiMeasureRestScript and MultiMeasureRestText.
New_fingering_engraverCreate fingering scripts for notes in a new chord. This engraver is ill-named, since it also takes care of articulations and harmonic note heads.
Properties (read)
fingeringOrientations(list)A list of symbols, containing ‘left’, ‘right’, ‘up’ and/or ‘down’. This list determines where fingerings are put relative to the chord being fingered.
harmonicDots(boolean)If set, harmonic notes in dotted chords get dots.
stringNumberOrientations(list)See
fingeringOrientations.strokeFingerOrientations(list)See
fingeringOrientations.This engraver creates the following layout object(s):
Fingering, Script, StringNumber and StrokeFinger.
Note_head_line_engraverEngrave a line between two note heads in a staff switch if
followVoiceis set.Properties (read)
followVoice(boolean)If set, note heads are tracked across staff switches by a thin line.
This engraver creates the following layout object(s):
Note_heads_engraverGenerate note heads.
Music types accepted:
Properties (read)
middleCPosition(number)The place of the middle C, measured in half staff-spaces. Usually determined by looking at
middleCClefPositionandmiddleCOffset.staffLineLayoutFunction(procedure)Layout of staff lines,
traditional, orsemitone.This engraver creates the following layout object(s):
Note_spacing_engraverGenerate
NoteSpacing, an object linking horizontal lines for use in spacing.This engraver creates the following layout object(s):
Output_property_engraverApply a procedure to any grob acknowledged.
Music types accepted:
Part_combine_engraverPart combine engraver for orchestral scores: Print markings ‘a2’, ‘Solo’, ‘Solo II’, and ‘unisono’.
Music types accepted:
note-event and part-combine-event
Properties (read)
aDueText(markup)Text to print at a unisono passage.
partCombineTextsOnNote(boolean)Print part-combine texts only on the next note rather than immediately on rests or skips.
printPartCombineTexts(boolean)Set ‘Solo’ and ‘A due’ texts in the part combiner?
soloIIText(markup)The text for the start of a solo for voice ‘two’ when part-combining.
soloText(markup)The text for the start of a solo when part-combining.
This engraver creates the following layout object(s):
Percent_repeat_engraverMake whole measure repeats.
Music types accepted:
Properties (read)
countPercentRepeats(boolean)If set, produce counters for percent repeats.
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
repeatCountVisibility(procedure)A procedure taking as arguments an integer and context, returning whether the corresponding percent repeat number should be printed when
countPercentRepeatsis set.This engraver creates the following layout object(s):
Phrasing_slur_engraverPrint phrasing slurs. Similar to Slur_engraver.
Music types accepted:
note-event and phrasing-slur-event
This engraver creates the following layout object(s):
Pitched_trill_engraverPrint the bracketed note head after a note head with trill.
This engraver creates the following layout object(s):
Repeat_tie_engraverCreate repeat ties.
Music types accepted:
This engraver creates the following layout object(s):
RepeatTie and RepeatTieColumn.
Rest_engraverEngrave rests.
Music types accepted:
Properties (read)
middleCPosition(number)The place of the middle C, measured in half staff-spaces. Usually determined by looking at
middleCClefPositionandmiddleCOffset.This engraver creates the following layout object(s):
Rest.
Rhythmic_column_engraverGenerate
NoteColumn, an object that groups stems, note heads, and rests.This engraver creates the following layout object(s):
Script_column_engraverFind potentially colliding scripts and put them into a
ScriptColumnobject; that will fix the collisions.This engraver creates the following layout object(s):
Script_engraverHandle note scripted articulations.
Music types accepted:
Properties (read)
scriptDefinitions(list)The description of scripts. This is used by the
Script_engraverfor typesetting note-superscripts and subscripts. See ‘scm/script.scm’ for more information.This engraver creates the following layout object(s):
Slash_repeat_engraverMake beat repeats.
Music types accepted:
This engraver creates the following layout object(s):
Spanner_break_forbid_engraverForbid breaks in certain spanners.
Stem_engraverCreate stems, flags and single-stem tremolos. It also works together with the beam engraver for overriding beaming.
Music types accepted:
tremolo-event and tuplet-span-event
Properties (read)
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.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 ‘scm/bar-line.scm’.
This engraver creates the following layout object(s):
Flag, Stem, StemStub and StemTremolo.
Text_engraverCreate text scripts.
Music types accepted:
This engraver creates the following layout object(s):
Text_spanner_engraverCreate text spanner from an event.
Music types accepted:
Properties (read)
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
Tie_engraverGenerate ties between note heads of equal pitch.
Music types accepted:
Properties (read)
skipTypesetting(boolean)If true, no typesetting is done, speeding up the interpretation phase. Useful for debugging large scores.
tieWaitForNote(boolean)If true, tied notes do not have to follow each other directly. This can be used for writing out arpeggios.
Properties (write)
tieMelismaBusy(boolean)Signal whether a tie is present.
This engraver creates the following layout object(s):
Trill_spanner_engraverCreate trill spanner from an event.
Music types accepted:
Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
Tuplet_engraverCatch tuplet events and generate appropriate bracket.
Music types accepted:
Properties (read)
tupletFullLength(boolean)If set, the tuplet is printed up to the start of the next note.
tupletFullLengthNote(boolean)If set, end at the next note, otherwise end on the matter (time signatures, etc.) before the note.
This engraver creates the following layout object(s):
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
A context for printing the names of notes.
This context also accepts commands for the following context(s):
Staff.
This context creates the following layout object(s):
NoteName, StaffSpacing, Tie, TieColumn and VerticalAxisGroup.
This context sets the following properties:
nonstaff-nonstaff-spacing in VerticalAxisGroup to:
'((basic-distance . 0) (minimum-distance . 2.8) (padding . 0.2) (stretchability . 0))
nonstaff-relatedstaff-spacing in VerticalAxisGroup to:
'((basic-distance . 5.5) (padding . 0.5) (stretchability . 1))
nonstaff-unrelatedstaff-spacing.padding in VerticalAxisGroup to
1.5.
staff-affinity in VerticalAxisGroup to
1.
This is a ‘Bottom’ context; no contexts will be created implicitly from it.
This context cannot contain other contexts.
This context is built from the following engraver(s):
Axis_group_engraverGroup all objects created in this context in a
VerticalAxisGroupspanner.Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
hasAxisGroup(boolean)True if the current context is contained in an axis group.
keepAliveInterfaces(list)A list of symbols, signifying grob interfaces that are worth keeping a staff with
remove-emptyset around for.Properties (write)
hasAxisGroup(boolean)True if the current context is contained in an axis group.
This engraver creates the following layout object(s):
Note_name_engraverPrint pitches as words.
Music types accepted:
Properties (read)
noteNameFunction(procedure)Function used to convert pitches into strings and markups.
noteNameSeparator(string)String used to separate simultaneous NoteName objects.
printAccidentalNames(boolean or symbol)Print accidentals in the
NoteNamescontext.printNotesLanguage(string)Use a specific language in the
NoteNamescontext.printOctaveNames(boolean or symbol)Print octave marks in the
NoteNamescontext.This engraver creates the following layout object(s):
Separating_line_group_engraverGenerate objects for computing spacing parameters.
Properties (read)
createSpacing(boolean)Create
StaffSpacingobjects? Should be set for staves.Properties (write)
hasStaffSpacing(boolean)True if the current
CommandColumncontains items that will affect spacing.This engraver creates the following layout object(s):
Tie_engraverGenerate ties between note heads of equal pitch.
Music types accepted:
Properties (read)
skipTypesetting(boolean)If true, no typesetting is done, speeding up the interpretation phase. Useful for debugging large scores.
tieWaitForNote(boolean)If true, tied notes do not have to follow each other directly. This can be used for writing out arpeggios.
Properties (write)
tieMelismaBusy(boolean)Signal whether a tie is present.
This engraver creates the following layout object(s):
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
For aligning lyrics without printing notes
This context also accepts commands for the following context(s):
Staff and Voice.
This context creates the following layout object(s):
Beam, NoteHead, Slur, Tie and TieColumn.
This context sets the following properties:
no-ledgers in NoteHead to
#t.
stencil in Beam to
#f.
stencil in NoteHead to
#f.
stencil in Slur to
#f.
stencil in Tie to
#f.
X-extent in NoteHead to
#<procedure #f (g)>.
nullAccidentals to
#t.
squashedPosition to
0.
This is a ‘Bottom’ context; no contexts will be created implicitly from it.
This context cannot contain other contexts.
This context is built from the following engraver(s):
Beam_engraverHandle
Beamevents by engraving beams. If omitted, then notes are printed with flags instead of beams.Music types accepted:
Properties (read)
baseMoment(moment)Smallest unit of time that will stand on its own as a subdivided section.
beamMelismaBusy(boolean)Signal if a beam is present.
beatStructure(list)List of
baseMoments that are combined to make beats.subdivideBeams(boolean)If set, multiple beams will be subdivided at
baseMomentpositions by only drawing one beam over the beat.Properties (write)
forbidBreak(boolean)If set to
#t, prevent a line break at this point.This engraver creates the following layout object(s):
Beam.
Grob_pq_engraverAdministrate when certain grobs (e.g., note heads) stop playing.
Properties (read)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Properties (write)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Note_heads_engraverGenerate note heads.
Music types accepted:
Properties (read)
middleCPosition(number)The place of the middle C, measured in half staff-spaces. Usually determined by looking at
middleCClefPositionandmiddleCOffset.staffLineLayoutFunction(procedure)Layout of staff lines,
traditional, orsemitone.This engraver creates the following layout object(s):
Pitch_squash_engraverSet the vertical position of note heads to
squashedPosition, if that property is set. This can be used to make a single-line staff demonstrating the rhythm of a melody.Properties (read)
squashedPosition(integer)Vertical position of squashing for (internals-big-page)Pitch_squash_engraver section ‘Pitch_squash_engraver’ in Internals Reference.
Slur_engraverBuild slur grobs from slur events.
Music types accepted:
note-event and slur-event
Properties (read)
doubleSlurs(boolean)If set, two slurs are created for every slurred note, one above and one below the chord.
slurMelismaBusy(boolean)Signal if a slur is present.
This engraver creates the following layout object(s):
Slur.
Tie_engraverGenerate ties between note heads of equal pitch.
Music types accepted:
Properties (read)
skipTypesetting(boolean)If true, no typesetting is done, speeding up the interpretation phase. Useful for debugging large scores.
tieWaitForNote(boolean)If true, tied notes do not have to follow each other directly. This can be used for writing out arpeggios.
Properties (write)
tieMelismaBusy(boolean)Signal whether a tie is present.
This engraver creates the following layout object(s):
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Provides a common axis for the contained staves,
making all of them appear in the same vertical space. This can be
useful for typesetting staves of different types in immediate succession
or for temporarily changing the character of one staff or overlaying
it with a different one. Often used with \stopStaff and
\startStaff for best results.
This context creates the following layout object(s):
This is not a ‘Bottom’ context; search for such a one will commence after creating an implicit context of type Staff.
Context OneStaff can contain ChordNames, DrumStaff, Dynamics, FiguredBass, FretBoards, GregorianTranscriptionStaff, KievanStaff, Lyrics, MensuralStaff, NoteNames, PetrucciStaff, RhythmicStaff, Staff, TabStaff and VaticanaStaff.
This context is built from the following engraver(s):
Axis_group_engraverGroup all objects created in this context in a
VerticalAxisGroupspanner.Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
hasAxisGroup(boolean)True if the current context is contained in an axis group.
keepAliveInterfaces(list)A list of symbols, signifying grob interfaces that are worth keeping a staff with
remove-emptyset around for.Properties (write)
hasAxisGroup(boolean)True if the current context is contained in an axis group.
This engraver creates the following layout object(s):
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Same as Staff context, except that it is
accommodated for typesetting a piece in Petrucci style.
This context also accepts commands for the following context(s):
Staff.
This context creates the following layout object(s):
Accidental, AccidentalCautionary, AccidentalPlacement, AccidentalSuggestion, BarLine, BassFigure, BassFigureAlignment, BassFigureAlignmentPositioning, BassFigureBracket, BassFigureContinuation, BassFigureLine, Clef, ClefModifier, CueClef, CueEndClef, Custos, DotColumn, FingeringColumn, InstrumentName, KeyCancellation, KeySignature, LedgerLineSpanner, NoteCollision, OttavaBracket, PianoPedalBracket, RestCollision, ScriptRow, SostenutoPedal, SostenutoPedalLineSpanner, StaffSpacing, StaffSymbol, SustainPedal, SustainPedalLineSpanner, TimeSignature, UnaCordaPedal, UnaCordaPedalLineSpanner and VerticalAxisGroup.
This context sets the following properties:
neutral-direction in Custos to
-1.
neutral-position in Custos to
3.
style in Custos to
'mensural.
thickness in StaffSymbol to
1.3.
autoAccidentals to:
'(Staff #<procedure #f (context pitch barnum measurepos)>
#<procedure neo-modern-accidental-rule (context pitch barnum measurepos)>)
autoCautionaries to
'().
clefGlyph to
"clefs.petrucci.g".
clefPosition to
-2.
clefTransposition to
0.
createSpacing to
#t.
extraNatural to
#f.
ignoreFiguredBassRest to
#f.
instrumentName to
'().
localAlterations to
'().
middleCClefPosition to
-6.
middleCPosition to
-6.
ottavationMarkups to:
'((4 . "29") (3 . "22") (2 . "15") (1 . "8") (-1 . "8") (-2 . "15") (-3 . "22") (-4 . "29"))
printKeyCancellation to
#f.
shortInstrumentName to
'().
This is not a ‘Bottom’ context; search for such a one will commence after creating an implicit context of type PetrucciVoice.
Context PetrucciStaff can contain CueVoice, NullVoice and PetrucciVoice.
This context is built from the following engraver(s):
Accidental_engraverMake accidentals. Catch note heads, ties and notices key-change events. This engraver usually lives at Staff level, but reads the settings for Accidental at
Voicelevel, so you can\overridethem atVoice.Properties (read)
accidentalGrouping(symbol)If set to
'voice, accidentals on the same note in different octaves may be horizontally staggered if in different voices.autoAccidentals(list)List of different ways to typeset an accidental.
For determining when to print an accidental, several different rules are tried. The rule that gives the highest number of accidentals is used.
Each entry in the list is either a symbol or a procedure.
- symbol
The symbol is the name of the context in which the following rules are to be applied. For example, if context is (internals-big-page)Score section ‘Score’ in Internals Reference then all staves share accidentals, and if context is (internals-big-page)Staff section ‘Staff’ in Internals Reference then all voices in the same staff share accidentals, but staves do not.
- procedure
The procedure represents an accidental rule to be applied to the previously specified context.
The procedure takes the following arguments:
contextThe current context to which the rule should be applied.
pitchThe pitch of the note to be evaluated.
barnumThe current bar number.
measureposThe current measure position.
The procedure returns a pair of booleans. The first states whether an extra natural should be added. The second states whether an accidental should be printed.
(#t . #f)does not make sense.autoCautionaries(list)List similar to
autoAccidentals, but it controls cautionary accidentals rather than normal ones. Both lists are tried, and the one giving the most accidentals wins. In case of draw, a normal accidental is typeset.extraNatural(boolean)Whether to typeset an extra natural sign before accidentals that reduce the effect of a previous alteration.
harmonicAccidentals(boolean)If set, harmonic notes in chords get accidentals.
internalBarNumber(integer)Contains the current barnumber. This property is used for internal timekeeping, among others by the
Accidental_engraver.keyAlterations(list)The current key signature. This is an alist containing
(step . alter)or((octave . step) . alter), where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.keyAlterations = #`((6 . ,FLAT)).localAlterations(list)The key signature at this point in the measure. The format is the same as for
keyAlterations, but can also contain((octave . name) . (alter barnumber . measureposition))pairs.Properties (write)
localAlterations(list)The key signature at this point in the measure. The format is the same as for
keyAlterations, but can also contain((octave . name) . (alter barnumber . measureposition))pairs.This engraver creates the following layout object(s):
Accidental, AccidentalCautionary, AccidentalPlacement and AccidentalSuggestion.
Axis_group_engraverGroup all objects created in this context in a
VerticalAxisGroupspanner.Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
hasAxisGroup(boolean)True if the current context is contained in an axis group.
keepAliveInterfaces(list)A list of symbols, signifying grob interfaces that are worth keeping a staff with
remove-emptyset around for.Properties (write)
hasAxisGroup(boolean)True if the current context is contained in an axis group.
This engraver creates the following layout object(s):
Bar_engraverCreate barlines. This engraver is controlled through the
whichBarproperty. If it has no bar line to create, it will forbid a linebreak at this point. This engraver is required to trigger the creation of clefs at the start of systems.Properties (read)
whichBar(string)This property is read to determine what type of bar line to create.
Example:
\set Staff.whichBar = ".|:"This will create a start-repeat bar in this staff only. Valid values are described in ‘scm/bar-line.scm’.
Properties (write)
forbidBreak(boolean)If set to
#t, prevent a line break at this point.This engraver creates the following layout object(s):
Clef_engraverDetermine and set reference point for pitches.
Properties (read)
clefGlyph(string)Name of the symbol within the music font.
clefPosition(number)Where should the center of the clef symbol go, measured in half staff spaces from the center of the staff.
clefTransposition(integer)Add this much extra transposition. Values of 7 and -7 are common.
clefTranspositionStyle(symbol)Determines the way the ClefModifier grob is displayed. Possible values are ‘default’, ‘parenthesized’ and ‘bracketed’.
explicitClefVisibility(vector)‘break-visibility’ function for clef changes.
forceClef(boolean)Show clef symbol, even if it has not changed. Only active for the first clef after the property is set, not for the full staff.
This engraver creates the following layout object(s):
Clef and ClefModifier.
Collision_engraverCollect
NoteColumns, and as soon as there are two or more, put them in aNoteCollisionobject.This engraver creates the following layout object(s):
Cue_clef_engraverDetermine and set reference point for pitches in cued voices.
Properties (read)
clefTransposition(integer)Add this much extra transposition. Values of 7 and -7 are common.
cueClefGlyph(string)Name of the symbol within the music font.
cueClefPosition(number)Where should the center of the clef symbol go, measured in half staff spaces from the center of the staff.
cueClefTransposition(integer)Add this much extra transposition. Values of 7 and -7 are common.
cueClefTranspositionStyle(symbol)Determines the way the ClefModifier grob is displayed. Possible values are ‘default’, ‘parenthesized’ and ‘bracketed’.
explicitCueClefVisibility(vector)‘break-visibility’ function for cue clef changes.
middleCCuePosition(number)The position of the middle C, as determined only by the clef of the cue notes. This can be calculated by looking at
cueClefPositionandcueClefGlyph.This engraver creates the following layout object(s):
ClefModifier, CueClef and CueEndClef.
Custos_engraverEngrave custodes.
This engraver creates the following layout object(s):
Dot_column_engraverEngrave dots on dotted notes shifted to the right of the note. If omitted, then dots appear on top of the notes.
This engraver creates the following layout object(s):
Figured_bass_engraverMake figured bass numbers.
Music types accepted:
bass-figure-event and rest-event
Properties (read)
figuredBassAlterationDirection(direction)Where to put alterations relative to the main figure.
figuredBassCenterContinuations(boolean)Whether to vertically center pairs of extender lines. This does not work with three or more lines.
figuredBassFormatter(procedure)A routine generating a markup for a bass figure.
ignoreFiguredBassRest(boolean)Don’t swallow rest events.
implicitBassFigures(list)A list of bass figures that are not printed as numbers, but only as extender lines.
useBassFigureExtenders(boolean)Whether to use extender lines for repeated bass figures.
This engraver creates the following layout object(s):
BassFigure, BassFigureAlignment, BassFigureBracket, BassFigureContinuation and BassFigureLine.
Figured_bass_position_engraverPosition figured bass alignments over notes.
This engraver creates the following layout object(s):
Fingering_column_engraverFind potentially colliding scripts and put them into a
FingeringColumnobject; that will fix the collisions.This engraver creates the following layout object(s):
Font_size_engraverPut
fontSizeintofont-sizegrob property.Properties (read)
fontSize(number)The relative size of all grobs in a context.
Grob_pq_engraverAdministrate when certain grobs (e.g., note heads) stop playing.
Properties (read)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Properties (write)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Instrument_name_engraverCreate a system start text for instrument or vocal names.
Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
instrumentName(markup)The name to print left of a staff. The
instrumentNameproperty labels the staff in the first system, and theshortInstrumentNameproperty labels following lines.shortInstrumentName(markup)See
instrumentName.shortVocalName(markup)Name of a vocal line, short version.
vocalName(markup)Name of a vocal line.
This engraver creates the following layout object(s):
Key_engraverEngrave a key signature.
Music types accepted:
Properties (read)
createKeyOnClefChange(boolean)Print a key signature whenever the clef is changed.
explicitKeySignatureVisibility(vector)‘break-visibility’ function for explicit key changes. ‘\override’ of the
break-visibilityproperty will set the visibility for normal (i.e., at the start of the line) key signatures.extraNatural(boolean)Whether to typeset an extra natural sign before accidentals that reduce the effect of a previous alteration.
keyAlterationOrder(list)An alist that defines in what order alterations should be printed. The format is
(step . alter), where step is a number from 0 to 6 and alter from -2 (sharp) to 2 (flat).keyAlterations(list)The current key signature. This is an alist containing
(step . alter)or((octave . step) . alter), where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.keyAlterations = #`((6 . ,FLAT)).lastKeyAlterations(list)Last key signature before a key signature change.
middleCClefPosition(number)The position of the middle C, as determined only by the clef. This can be calculated by looking at
clefPositionandclefGlyph.printKeyCancellation(boolean)Print restoration alterations before a key signature change.
Properties (write)
keyAlterations(list)The current key signature. This is an alist containing
(step . alter)or((octave . step) . alter), where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.keyAlterations = #`((6 . ,FLAT)).lastKeyAlterations(list)Last key signature before a key signature change.
tonic(pitch)The tonic of the current scale.
This engraver creates the following layout object(s):
Ledger_line_engraverCreate the spanner to draw ledger lines, and notices objects that need ledger lines.
This engraver creates the following layout object(s):
Ottava_spanner_engraverCreate a text spanner when the ottavation property changes.
Properties (read)
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
middleCOffset(number)The offset of middle C from the position given by
middleCClefPositionThis is used for ottava brackets.ottavation(markup)If set, the text for an ottava spanner. Changing this creates a new text spanner.
This engraver creates the following layout object(s):
Output_property_engraverApply a procedure to any grob acknowledged.
Music types accepted:
Piano_pedal_align_engraverAlign piano pedal symbols and brackets.
Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
This engraver creates the following layout object(s):
SostenutoPedalLineSpanner, SustainPedalLineSpanner and UnaCordaPedalLineSpanner.
Piano_pedal_engraverEngrave piano pedal symbols and brackets.
Music types accepted:
sostenuto-event, sustain-event and una-corda-event
Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
pedalSostenutoStrings(list)See
pedalSustainStrings.pedalSostenutoStyle(symbol)See
pedalSustainStyle.pedalSustainStrings(list)A list of strings to print for sustain-pedal. Format is
(up updown down), where each of the three is the string to print when this is done with the pedal.pedalSustainStyle(symbol)A symbol that indicates how to print sustain pedals:
text,bracketormixed(both).pedalUnaCordaStrings(list)See
pedalSustainStrings.pedalUnaCordaStyle(symbol)See
pedalSustainStyle.This engraver creates the following layout object(s):
PianoPedalBracket, SostenutoPedal, SustainPedal and UnaCordaPedal.
Pure_from_neighbor_engraverCoordinates items that get their pure heights from their neighbors.
Rest_collision_engraverHandle collisions of rests.
Properties (read)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).This engraver creates the following layout object(s):
Script_row_engraverDetermine order in horizontal side position elements.
This engraver creates the following layout object(s):
Separating_line_group_engraverGenerate objects for computing spacing parameters.
Properties (read)
createSpacing(boolean)Create
StaffSpacingobjects? Should be set for staves.Properties (write)
hasStaffSpacing(boolean)True if the current
CommandColumncontains items that will affect spacing.This engraver creates the following layout object(s):
Staff_collecting_engraverMaintain the
stavesFoundvariable.Properties (read)
stavesFound(list of grobs)A list of all staff-symbols found.
Properties (write)
stavesFound(list of grobs)A list of all staff-symbols found.
Staff_symbol_engraverCreate the constellation of five (default) staff lines.
Music types accepted:
This engraver creates the following layout object(s):
Time_signature_engraverCreate a TimeSignature whenever
timeSignatureFractionchanges.Music types accepted:
Properties (read)
initialTimeSignatureVisibility(vector)break visibility for the initial time signature.
partialBusy(boolean)Signal that \partial acts at the current timestep.
timeSignatureFraction(fraction, as pair)A pair of numbers, signifying the time signature. For example,
'(4 . 4)is a 4/4 time signature.This engraver creates the following layout object(s):
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Same as Voice context, except that it is
accommodated for typesetting a piece in Petrucci style.
This context also accepts commands for the following context(s):
Voice.
This context creates the following layout object(s):
Arpeggio, Beam, BendAfter, BreathingSign, ClusterSpanner, ClusterSpannerBeacon, CombineTextScript, Dots, DoublePercentRepeat, DoublePercentRepeatCounter, DoubleRepeatSlash, DynamicLineSpanner, DynamicText, DynamicTextSpanner, Fingering, Flag, Glissando, Hairpin, InstrumentSwitch, LaissezVibrerTie, LaissezVibrerTieColumn, MensuralLigature, MultiMeasureRest, MultiMeasureRestNumber, MultiMeasureRestScript, MultiMeasureRestText, NoteColumn, NoteHead, NoteSpacing, PercentRepeat, PercentRepeatCounter, PhrasingSlur, RepeatSlash, RepeatTie, RepeatTieColumn, Rest, Script, ScriptColumn, Slur, Stem, StemStub, StemTremolo, StringNumber, StrokeFinger, TextScript, TextSpanner, Tie, TieColumn, TrillPitchAccidental, TrillPitchGroup, TrillPitchHead, TrillSpanner, TupletBracket, TupletNumber and VoiceFollower.
This context sets the following properties:
length in Stem to
5.
style in NoteHead to
'petrucci.
style in Rest to
'mensural.
thickness in Stem to
1.7.
autoBeaming to
#f.
This is a ‘Bottom’ context; no contexts will be created implicitly from it.
This context cannot contain other contexts.
This context is built from the following engraver(s):
Arpeggio_engraverGenerate an Arpeggio symbol.
Music types accepted:
This engraver creates the following layout object(s):
Auto_beam_engraverGenerate beams based on measure characteristics and observed Stems. Uses
baseMoment,beatStructure,beamExceptions,measureLength, andmeasurePositionto decide when to start and stop a beam. Overriding beaming is done through Stem_engraver propertiesstemLeftBeamCountandstemRightBeamCount.Music types accepted:
Properties (read)
autoBeaming(boolean)If set to true then beams are generated automatically.
baseMoment(moment)Smallest unit of time that will stand on its own as a subdivided section.
beamExceptions(list)An alist of exceptions to autobeam rules that normally end on beats.
beamHalfMeasure(boolean)Whether to allow a beam to begin halfway through the measure in triple time, which could look like 6/8.
beatStructure(list)List of
baseMoments that are combined to make beats.subdivideBeams(boolean)If set, multiple beams will be subdivided at
baseMomentpositions by only drawing one beam over the beat.This engraver creates the following layout object(s):
Beam.
Beam_engraverHandle
Beamevents by engraving beams. If omitted, then notes are printed with flags instead of beams.Music types accepted:
Properties (read)
baseMoment(moment)Smallest unit of time that will stand on its own as a subdivided section.
beamMelismaBusy(boolean)Signal if a beam is present.
beatStructure(list)List of
baseMoments that are combined to make beats.subdivideBeams(boolean)If set, multiple beams will be subdivided at
baseMomentpositions by only drawing one beam over the beat.Properties (write)
forbidBreak(boolean)If set to
#t, prevent a line break at this point.This engraver creates the following layout object(s):
Beam.
Bend_engraverCreate fall spanners.
Music types accepted:
This engraver creates the following layout object(s):
Breathing_sign_engraverCreate a breathing sign.
Music types accepted:
This engraver creates the following layout object(s):
Chord_tremolo_engraverGenerate beams for tremolo repeats.
Music types accepted:
This engraver creates the following layout object(s):
Beam.
Cluster_spanner_engraverEngrave a cluster using
Spannernotation.Music types accepted:
This engraver creates the following layout object(s):
Dots_engraverCreate Dots objects for rhythmic-head-interfaces.
This engraver creates the following layout object(s):
Dots.
Double_percent_repeat_engraverMake double measure repeats.
Music types accepted:
Properties (read)
countPercentRepeats(boolean)If set, produce counters for percent repeats.
measureLength(moment)Length of one measure in the current time signature.
repeatCountVisibility(procedure)A procedure taking as arguments an integer and context, returning whether the corresponding percent repeat number should be printed when
countPercentRepeatsis set.Properties (write)
forbidBreak(boolean)If set to
#t, prevent a line break at this point.This engraver creates the following layout object(s):
Dynamic_align_engraverAlign hairpins and dynamic texts on a horizontal line.
Properties (read)
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
Dynamic_engraverCreate hairpins, dynamic texts and dynamic text spanners.
Music types accepted:
absolute-dynamic-event, break-span-event and span-dynamic-event
Properties (read)
crescendoSpanner(symbol)The type of spanner to be used for crescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin crescendo is used.
crescendoText(markup)The text to print at start of non-hairpin crescendo, i.e., ‘cresc.’.
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
decrescendoSpanner(symbol)The type of spanner to be used for decrescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin decrescendo is used.
decrescendoText(markup)The text to print at start of non-hairpin decrescendo, i.e., ‘dim.’.
This engraver creates the following layout object(s):
Fingering_engraverCreate fingering scripts.
Music types accepted:
This engraver creates the following layout object(s):
Font_size_engraverPut
fontSizeintofont-sizegrob property.Properties (read)
fontSize(number)The relative size of all grobs in a context.
Forbid_line_break_engraverForbid line breaks when note heads are still playing at some point.
Properties (read)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Properties (write)
forbidBreak(boolean)If set to
#t, prevent a line break at this point.Glissando_engraverEngrave glissandi.
Music types accepted:
Properties (read)
glissandoMap(list)A map in the form of ’((source1 . target1) (source2 . target2) (sourcen . targetn)) showing the glissandi to be drawn for note columns. The value ’() will default to ’((0 . 0) (1 . 1) (n . n)), where n is the minimal number of note-heads in the two note columns between which the glissandi occur.
This engraver creates the following layout object(s):
Grace_auto_beam_engraverGenerates one autobeam group across an entire grace phrase. As usual, any manual beaming or
\noBeamwill block autobeaming, just like setting the context property ‘autoBeaming’ to##f.Music types accepted:
Properties (read)
autoBeaming(boolean)If set to true then beams are generated automatically.
This engraver creates the following layout object(s):
Beam.
Grace_beam_engraverHandle
Beamevents by engraving beams. If omitted, then notes are printed with flags instead of beams. Only engraves beams when we are at grace points in time.Music types accepted:
Properties (read)
baseMoment(moment)Smallest unit of time that will stand on its own as a subdivided section.
beamMelismaBusy(boolean)Signal if a beam is present.
beatStructure(list)List of
baseMoments that are combined to make beats.subdivideBeams(boolean)If set, multiple beams will be subdivided at
baseMomentpositions by only drawing one beam over the beat.This engraver creates the following layout object(s):
Beam.
Grace_engraverSet font size and other properties for grace notes.
Properties (read)
graceSettings(list)Overrides for grace notes. This property should be manipulated through the
add-grace-propertyfunction.Grob_pq_engraverAdministrate when certain grobs (e.g., note heads) stop playing.
Properties (read)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Properties (write)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Instrument_switch_engraverCreate a cue text for taking instrument.
Properties (read)
instrumentCueName(markup)The name to print if another instrument is to be taken.
This engraver creates the following layout object(s):
Laissez_vibrer_engraverCreate laissez vibrer items.
Music types accepted:
This engraver creates the following layout object(s):
Mensural_ligature_engraverHandle
Mensural_ligature_eventsby glueing special ligature heads together.Music types accepted:
This engraver creates the following layout object(s):
Multi_measure_rest_engraverEngrave multi-measure rests that are produced with ‘R’. It reads
measurePositionandinternalBarNumberto determine what number to print over the MultiMeasureRest.Music types accepted:
multi-measure-articulation-event, multi-measure-rest-event and multi-measure-text-event
Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
internalBarNumber(integer)Contains the current barnumber. This property is used for internal timekeeping, among others by the
Accidental_engraver.measurePosition(moment)How much of the current measure have we had. This can be set manually to create incomplete measures.
restNumberThreshold(number)If a multimeasure rest has more measures than this, a number is printed.
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 ‘scm/bar-line.scm’.
This engraver creates the following layout object(s):
MultiMeasureRest, MultiMeasureRestNumber, MultiMeasureRestScript and MultiMeasureRestText.
New_fingering_engraverCreate fingering scripts for notes in a new chord. This engraver is ill-named, since it also takes care of articulations and harmonic note heads.
Properties (read)
fingeringOrientations(list)A list of symbols, containing ‘left’, ‘right’, ‘up’ and/or ‘down’. This list determines where fingerings are put relative to the chord being fingered.
harmonicDots(boolean)If set, harmonic notes in dotted chords get dots.
stringNumberOrientations(list)See
fingeringOrientations.strokeFingerOrientations(list)See
fingeringOrientations.This engraver creates the following layout object(s):
Fingering, Script, StringNumber and StrokeFinger.
Note_head_line_engraverEngrave a line between two note heads in a staff switch if
followVoiceis set.Properties (read)
followVoice(boolean)If set, note heads are tracked across staff switches by a thin line.
This engraver creates the following layout object(s):
Note_heads_engraverGenerate note heads.
Music types accepted:
Properties (read)
middleCPosition(number)The place of the middle C, measured in half staff-spaces. Usually determined by looking at
middleCClefPositionandmiddleCOffset.staffLineLayoutFunction(procedure)Layout of staff lines,
traditional, orsemitone.This engraver creates the following layout object(s):
Note_spacing_engraverGenerate
NoteSpacing, an object linking horizontal lines for use in spacing.This engraver creates the following layout object(s):
Output_property_engraverApply a procedure to any grob acknowledged.
Music types accepted:
Part_combine_engraverPart combine engraver for orchestral scores: Print markings ‘a2’, ‘Solo’, ‘Solo II’, and ‘unisono’.
Music types accepted:
note-event and part-combine-event
Properties (read)
aDueText(markup)Text to print at a unisono passage.
partCombineTextsOnNote(boolean)Print part-combine texts only on the next note rather than immediately on rests or skips.
printPartCombineTexts(boolean)Set ‘Solo’ and ‘A due’ texts in the part combiner?
soloIIText(markup)The text for the start of a solo for voice ‘two’ when part-combining.
soloText(markup)The text for the start of a solo when part-combining.
This engraver creates the following layout object(s):
Percent_repeat_engraverMake whole measure repeats.
Music types accepted:
Properties (read)
countPercentRepeats(boolean)If set, produce counters for percent repeats.
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
repeatCountVisibility(procedure)A procedure taking as arguments an integer and context, returning whether the corresponding percent repeat number should be printed when
countPercentRepeatsis set.This engraver creates the following layout object(s):
Phrasing_slur_engraverPrint phrasing slurs. Similar to Slur_engraver.
Music types accepted:
note-event and phrasing-slur-event
This engraver creates the following layout object(s):
Pitched_trill_engraverPrint the bracketed note head after a note head with trill.
This engraver creates the following layout object(s):
Repeat_tie_engraverCreate repeat ties.
Music types accepted:
This engraver creates the following layout object(s):
RepeatTie and RepeatTieColumn.
Rest_engraverEngrave rests.
Music types accepted:
Properties (read)
middleCPosition(number)The place of the middle C, measured in half staff-spaces. Usually determined by looking at
middleCClefPositionandmiddleCOffset.This engraver creates the following layout object(s):
Rest.
Rhythmic_column_engraverGenerate
NoteColumn, an object that groups stems, note heads, and rests.This engraver creates the following layout object(s):
Script_column_engraverFind potentially colliding scripts and put them into a
ScriptColumnobject; that will fix the collisions.This engraver creates the following layout object(s):
Script_engraverHandle note scripted articulations.
Music types accepted:
Properties (read)
scriptDefinitions(list)The description of scripts. This is used by the
Script_engraverfor typesetting note-superscripts and subscripts. See ‘scm/script.scm’ for more information.This engraver creates the following layout object(s):
Slash_repeat_engraverMake beat repeats.
Music types accepted:
This engraver creates the following layout object(s):
Slur_engraverBuild slur grobs from slur events.
Music types accepted:
note-event and slur-event
Properties (read)
doubleSlurs(boolean)If set, two slurs are created for every slurred note, one above and one below the chord.
slurMelismaBusy(boolean)Signal if a slur is present.
This engraver creates the following layout object(s):
Slur.
Spanner_break_forbid_engraverForbid breaks in certain spanners.
Stem_engraverCreate stems, flags and single-stem tremolos. It also works together with the beam engraver for overriding beaming.
Music types accepted:
tremolo-event and tuplet-span-event
Properties (read)
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.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 ‘scm/bar-line.scm’.
This engraver creates the following layout object(s):
Flag, Stem, StemStub and StemTremolo.
Text_engraverCreate text scripts.
Music types accepted:
This engraver creates the following layout object(s):
Text_spanner_engraverCreate text spanner from an event.
Music types accepted:
Properties (read)
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
Tie_engraverGenerate ties between note heads of equal pitch.
Music types accepted:
Properties (read)
skipTypesetting(boolean)If true, no typesetting is done, speeding up the interpretation phase. Useful for debugging large scores.
tieWaitForNote(boolean)If true, tied notes do not have to follow each other directly. This can be used for writing out arpeggios.
Properties (write)
tieMelismaBusy(boolean)Signal whether a tie is present.
This engraver creates the following layout object(s):
Trill_spanner_engraverCreate trill spanner from an event.
Music types accepted:
Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
Tuplet_engraverCatch tuplet events and generate appropriate bracket.
Music types accepted:
Properties (read)
tupletFullLength(boolean)If set, the tuplet is printed up to the start of the next note.
tupletFullLengthNote(boolean)If set, end at the next note, otherwise end on the matter (time signatures, etc.) before the note.
This engraver creates the following layout object(s):
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Just like GrandStaff, but the staves are only removed
together, never separately.
This context also accepts commands for the following context(s):
GrandStaff.
This context creates the following layout object(s):
Arpeggio, InstrumentName, SpanBar, SpanBarStub, SystemStartBar, SystemStartBrace, SystemStartBracket, SystemStartSquare and VerticalAlignment.
This context sets the following properties:
extra-spacing-width in DynamicText to
#f.
instrumentName to
'().
instrumentName to
'().
localAlterations to
'().
shortInstrumentName to
'().
shortInstrumentName to
'().
systemStartDelimiter to
'SystemStartBrace.
topLevelAlignment to
#f.
topLevelAlignment to
#f.
This is not a ‘Bottom’ context; search for such a one will commence after creating an implicit context of type Staff.
Context PianoStaff can contain ChordNames, DrumStaff, Dynamics, FiguredBass, Lyrics, RhythmicStaff, Staff and TabStaff.
This context is built from the following engraver(s):
Instrument_name_engraverCreate a system start text for instrument or vocal names.
Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
instrumentName(markup)The name to print left of a staff. The
instrumentNameproperty labels the staff in the first system, and theshortInstrumentNameproperty labels following lines.shortInstrumentName(markup)See
instrumentName.shortVocalName(markup)Name of a vocal line, short version.
vocalName(markup)Name of a vocal line.
This engraver creates the following layout object(s):
Keep_alive_together_engraverThis engraver collects all
Hara_kiri_group_spanners that are created in contexts at or below its own. These spanners are then tied together so that one will be removed only if all are removed. For example, if aStaffGroupuses this engraver, then the staves in the group will all be visible as long as there is a note in at least one of them.Span_arpeggio_engraverMake arpeggios that span multiple staves.
Properties (read)
connectArpeggios(boolean)If set, connect arpeggios across piano staff.
This engraver creates the following layout object(s):
Span_bar_engraverMake cross-staff bar lines: It catches all normal bar lines and draws a single span bar across them.
This engraver creates the following layout object(s):
Span_bar_stub_engraverMake stubs for span bars in all contexts that the span bars cross.
This engraver creates the following layout object(s):
System_start_delimiter_engraverCreate a system start delimiter (i.e., a
SystemStartBar,SystemStartBrace,SystemStartBracketorSystemStartSquarespanner).Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
systemStartDelimiter(symbol)Which grob to make for the start of the system/staff? Set to
SystemStartBrace,SystemStartBracketorSystemStartBar.systemStartDelimiterHierarchy(pair)A nested list, indicating the nesting of a start delimiters.
This engraver creates the following layout object(s):
SystemStartBar, SystemStartBrace, SystemStartBracket and SystemStartSquare.
Vertical_align_engraverCatch groups (staves, lyrics lines, etc.) and stack them vertically.
Properties (read)
alignAboveContext(string)Where to insert newly created context in vertical alignment.
alignBelowContext(string)Where to insert newly created context in vertical alignment.
hasAxisGroup(boolean)True if the current context is contained in an axis group.
This engraver creates the following layout object(s):
Vertical_align_engraverCatch groups (staves, lyrics lines, etc.) and stack them vertically.
Properties (read)
alignAboveContext(string)Where to insert newly created context in vertical alignment.
alignBelowContext(string)Where to insert newly created context in vertical alignment.
hasAxisGroup(boolean)True if the current context is contained in an axis group.
This engraver creates the following layout object(s):
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
A context like Staff but for printing rhythms.
Pitches are ignored; the notes are printed on one line.
This context also accepts commands for the following context(s):
Staff.
This context creates the following layout object(s):
BarLine, DotColumn, InstrumentName, LedgerLineSpanner, StaffSpacing, StaffSymbol, TimeSignature and VerticalAxisGroup.
This context sets the following properties:
line-count in StaffSymbol to
1.
neutral-direction in Beam to
1.
neutral-direction in Stem to
1.
staff-padding in VoltaBracket to
3.
createSpacing to
#t.
instrumentName to
'().
localAlterations to
'().
shortInstrumentName to
'().
squashedPosition to
0.
This is not a ‘Bottom’ context; search for such a one will commence after creating an implicit context of type Voice.
Context RhythmicStaff can contain CueVoice, NullVoice and Voice.
This context is built from the following engraver(s):
Axis_group_engraverGroup all objects created in this context in a
VerticalAxisGroupspanner.Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
hasAxisGroup(boolean)True if the current context is contained in an axis group.
keepAliveInterfaces(list)A list of symbols, signifying grob interfaces that are worth keeping a staff with
remove-emptyset around for.Properties (write)
hasAxisGroup(boolean)True if the current context is contained in an axis group.
This engraver creates the following layout object(s):
Bar_engraverCreate barlines. This engraver is controlled through the
whichBarproperty. If it has no bar line to create, it will forbid a linebreak at this point. This engraver is required to trigger the creation of clefs at the start of systems.Properties (read)
whichBar(string)This property is read to determine what type of bar line to create.
Example:
\set Staff.whichBar = ".|:"This will create a start-repeat bar in this staff only. Valid values are described in ‘scm/bar-line.scm’.
Properties (write)
forbidBreak(boolean)If set to
#t, prevent a line break at this point.This engraver creates the following layout object(s):
Dot_column_engraverEngrave dots on dotted notes shifted to the right of the note. If omitted, then dots appear on top of the notes.
This engraver creates the following layout object(s):
Font_size_engraverPut
fontSizeintofont-sizegrob property.Properties (read)
fontSize(number)The relative size of all grobs in a context.
Instrument_name_engraverCreate a system start text for instrument or vocal names.
Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
instrumentName(markup)The name to print left of a staff. The
instrumentNameproperty labels the staff in the first system, and theshortInstrumentNameproperty labels following lines.shortInstrumentName(markup)See
instrumentName.shortVocalName(markup)Name of a vocal line, short version.
vocalName(markup)Name of a vocal line.
This engraver creates the following layout object(s):
Ledger_line_engraverCreate the spanner to draw ledger lines, and notices objects that need ledger lines.
This engraver creates the following layout object(s):
Output_property_engraverApply a procedure to any grob acknowledged.
Music types accepted:
Pitch_squash_engraverSet the vertical position of note heads to
squashedPosition, if that property is set. This can be used to make a single-line staff demonstrating the rhythm of a melody.Properties (read)
squashedPosition(integer)Vertical position of squashing for (internals-big-page)Pitch_squash_engraver section ‘Pitch_squash_engraver’ in Internals Reference.
Separating_line_group_engraverGenerate objects for computing spacing parameters.
Properties (read)
createSpacing(boolean)Create
StaffSpacingobjects? Should be set for staves.Properties (write)
hasStaffSpacing(boolean)True if the current
CommandColumncontains items that will affect spacing.This engraver creates the following layout object(s):
Staff_symbol_engraverCreate the constellation of five (default) staff lines.
Music types accepted:
This engraver creates the following layout object(s):
Time_signature_engraverCreate a TimeSignature whenever
timeSignatureFractionchanges.Music types accepted:
Properties (read)
initialTimeSignatureVisibility(vector)break visibility for the initial time signature.
partialBusy(boolean)Signal that \partial acts at the current timestep.
timeSignatureFraction(fraction, as pair)A pair of numbers, signifying the time signature. For example,
'(4 . 4)is a 4/4 time signature.This engraver creates the following layout object(s):
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
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 also accepts commands for the following context(s):
Timing.
This context creates the following layout object(s):
BarNumber, BreakAlignGroup, BreakAlignment, FootnoteItem, FootnoteSpanner, GraceSpacing, LeftEdge, MetronomeMark, NonMusicalPaperColumn, PaperColumn, ParenthesesItem, RehearsalMark, SpacingSpanner, SystemStartBar, SystemStartBrace, SystemStartBracket, SystemStartSquare, VerticalAlignment, VoltaBracket and VoltaBracketSpanner.
This context sets the following properties:
additionalPitchPrefix to
"".
aDueText to
"a2".
alternativeRestores to:
'(measurePosition measureLength lastChord)
associatedVoiceType to
'Voice.
autoAccidentals to:
'(Staff #<procedure #f (context pitch barnum measurepos)>)
autoBeamCheck to
default-auto-beam-check.
autoBeaming to
#t.
autoCautionaries to
'().
automaticBars to
#t.
barCheckSynchronize to
#f.
barNumberFormatter to
robust-bar-number-function.
barNumberVisibility to
first-bar-number-invisible-and-no-parenthesized-bar-numbers.
beamHalfMeasure to
#t.
chordNameExceptions to:
'(((#<Pitch e' > #<Pitch gis' >)
#<procedure line-markup (layout props args)>
("+"))
((#<Pitch ees' > #<Pitch ges' >)
#<procedure line-markup (layout props args)>
((#<procedure line-markup (layout props args)>
((#<procedure fontsize-markup (layout props increment arg)>
2
"°")))))
((#<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 concat-markup (layout props args)>
((#<procedure line-markup (layout props args)>
((#<procedure fontsize-markup (layout props increment arg)>
2
"°")))
(#<procedure super-markup (layout props arg)>
"7")))
((#<Pitch e' >
#<Pitch g' >
#<Pitch b' >
#<Pitch fis'' >)
#<procedure line-markup (layout props args)>
((#<procedure super-markup (layout props arg)>
"lyd")))
((#<Pitch e' >
#<Pitch g' >
#<Pitch bes' >
#<Pitch des'' >
#<Pitch ees'' >
#<Pitch fis'' >
#<Pitch aes'' >)
#<procedure line-markup (layout props args)>
((#<procedure super-markup (layout props arg)>
"alt")))
((#<Pitch g' >)
#<procedure line-markup (layout props args)>
((#<procedure super-markup (layout props arg)>
"5")))
((#<Pitch g' > #<Pitch c'' >)
#<procedure line-markup (layout props args)>
((#<procedure super-markup (layout props arg)>
"5"))))
chordNameFunction to
ignatzek-chord-names.
chordNameLowercaseMinor to
#f.
chordNameSeparator to:
'(#<procedure hspace-markup (layout props amount)> 0.5)
chordNoteNamer to
'().
chordPrefixSpacer to
0.
chordRootNamer to
note-name->markup.
clefGlyph to
"clefs.G".
clefPosition to
-2.
clefTranspositionFormatter to
clef-transposition-markup.
completionFactor to
unity-if-multimeasure.
crescendoSpanner to
'hairpin.
cueClefTranspositionFormatter to
clef-transposition-markup.
decrescendoSpanner to
'hairpin.
defaultBarType to
"|".
doubleRepeatType to
":..:".
drumStyleTable to
#<hash-table 29/61>.
endRepeatType to
":|.".
explicitClefVisibility to:
#(#t #t #t)
explicitCueClefVisibility to:
#(#f #t #t)
explicitKeySignatureVisibility to:
#(#t #t #t)
extendersOverRests to
#t.
extraNatural to
#t.
figuredBassFormatter to
format-bass-figure.
fingeringOrientations to:
'(up down)
firstClef to
#t.
graceSettings to:
'((Voice Stem direction 1) (Voice Slur direction -1) (Voice Stem font-size -3) (Voice Flag font-size -3) (Voice NoteHead font-size -3) (Voice TabNoteHead font-size -4) (Voice Dots font-size -3) (Voice Stem length-fraction 0.8) (Voice Stem no-stem-extend #t) (Voice Beam beam-thickness 0.384) (Voice Beam length-fraction 0.8) (Voice Accidental font-size -4) (Voice AccidentalCautionary font-size -4) (Voice Script font-size -3) (Voice Fingering font-size -8) (Voice StringNumber font-size -8))
harmonicAccidentals to
#t.
highStringOne to
#t.
initialTimeSignatureVisibility to:
#(#f #t #t)
instrumentTransposition to
#<Pitch c' >.
keepAliveInterfaces to:
'(bass-figure-interface chord-name-interface cluster-beacon-interface dynamic-interface fret-diagram-interface lyric-syllable-interface note-head-interface tab-note-head-interface lyric-interface percent-repeat-item-interface percent-repeat-interface stanza-number-interface)
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) (1 . 1) (5 . 1) (2 . 1) (6 . 1))
lyricMelismaAlignment to
-1.
majorSevenSymbol to:
'(#<procedure line-markup (layout props args)>
((#<procedure fontsize-markup (layout props increment arg)>
-3
(#<procedure triangle-markup (layout props filled)>
#f))))
markFormatter to
format-mark-letters.
melismaBusyProperties to:
'(melismaBusy slurMelismaBusy tieMelismaBusy beamMelismaBusy completionBusy)
metronomeMarkFormatter to
format-metronome-markup.
middleCClefPosition to
-6.
middleCPosition to
-6.
minorChordModifier to:
'(#<procedure simple-markup (layout props str)> "m")
noChordSymbol to:
'(#<procedure simple-markup (layout props str)> "N.C.")
noteNameFunction to
note-name-markup.
noteNameSeparator to
"/".
noteToFretFunction to
determine-frets.
partCombineTextsOnNote to
#t.
pedalSostenutoStrings to:
'("Sost. Ped." "*Sost. Ped." "*")
pedalSostenutoStyle to
'mixed.
pedalSustainStrings to:
'("Ped." "*Ped." "*")
pedalSustainStyle to
'text.
pedalUnaCordaStrings to:
'("una corda" "" "tre corde")
pedalUnaCordaStyle to
'text.
predefinedDiagramTable to
#f.
printAccidentalNames to
#t.
printKeyCancellation to
#t.
printOctaveNames to
#f.
printPartCombineTexts to
#t.
quotedCueEventTypes to:
'(note-event rest-event tie-event beam-event tuplet-span-event tremolo-event)
quotedEventTypes to:
'(StreamEvent)
rehearsalMark to
1.
repeatCountVisibility to
all-repeat-counts-visible.
restNumberThreshold to
1.
scriptDefinitions to:
'(("accent"
(avoid-slur . around)
(padding . 0.2)
(script-stencil feta "sforzato" . "sforzato")
(side-relative-direction . -1))
("accentus"
(script-stencil feta "uaccentus" . "uaccentus")
(side-relative-direction . -1)
(avoid-slur . ignore)
(padding . 0.2)
(quantize-position . #t)
(script-priority . -100)
(direction . 1))
("circulus"
(script-stencil feta "circulus" . "circulus")
(side-relative-direction . -1)
(avoid-slur . ignore)
(padding . 0.2)
(quantize-position . #t)
(script-priority . -100)
(direction . 1))
("coda"
(script-stencil feta "coda" . "coda")
(padding . 0.2)
(avoid-slur . outside)
(direction . 1))
("comma"
(script-stencil feta "lcomma" . "rcomma")
(quantize-position . #t)
(padding . 0.2)
(avoid-slur . ignore)
(direction . 1))
("downbow"
(script-stencil feta "downbow" . "downbow")
(padding . 0.2)
(skyline-horizontal-padding . 0.2)
(avoid-slur . around)
(direction . 1)
(script-priority . 150))
("downmordent"
(script-stencil
feta
"downmordent"
.
"downmordent")
(padding . 0.2)
(avoid-slur . around)
(direction . 1))
("downprall"
(script-stencil feta "downprall" . "downprall")
(padding . 0.2)
(avoid-slur . around)
(direction . 1))
("espressivo"
(avoid-slur . around)
(padding . 0.2)
(script-stencil feta "espr" . "espr")
(side-relative-direction . -1))
("fermata"
(script-stencil feta "dfermata" . "ufermata")
(padding . 0.2)
(avoid-slur . around)
(script-priority . 4000)
(direction . 1))
("flageolet"
(script-stencil feta "flageolet" . "flageolet")
(padding . 0.2)
(avoid-slur . around)
(direction . 1))
("halfopen"
(avoid-slur . outside)
(padding . 0.2)
(script-stencil feta "halfopen" . "halfopen")
(direction . 1))
("halfopenvertical"
(avoid-slur . outside)
(padding . 0.2)
(script-stencil
feta
"halfopenvertical"
.
"halfopenvertical")
(direction . 1))
("haydnturn"
(script-stencil feta "haydnturn" . "haydnturn")
(padding . 0.2)
(avoid-slur . inside)
(direction . 1))
("henzelongfermata"
(script-stencil
feta
"dhenzelongfermata"
.
"uhenzelongfermata")
(padding . 0.2)
(avoid-slur . around)
(direction . 1))
("henzeshortfermata"
(script-stencil
feta
"dhenzeshortfermata"
.
"uhenzeshortfermata")
(padding . 0.2)
(avoid-slur . around)
(direction . 1))
("ictus"
(script-stencil feta "ictus" . "ictus")
(side-relative-direction . -1)
(quantize-position . #t)
(avoid-slur . ignore)
(padding . 0.2)
(script-priority . -100)
(direction . -1))
("lheel"
(script-stencil feta "upedalheel" . "upedalheel")
(padding . 0.2)
(avoid-slur . around)
(direction . -1))
("lineprall"
(script-stencil feta "lineprall" . "lineprall")
(padding . 0.2)
(avoid-slur . around)
(direction . 1))
("longfermata"
(script-stencil
feta
"dlongfermata"
.
"ulongfermata")
(padding . 0.2)
(avoid-slur . around)
(direction . 1))
("ltoe"
(script-stencil feta "upedaltoe" . "upedaltoe")
(padding . 0.2)
(avoid-slur . around)
(direction . -1))
("marcato"
(script-stencil feta "dmarcato" . "umarcato")
(padding . 0.2)
(avoid-slur . inside)
(quantize-position . #t)
(side-relative-direction . -1))
("mordent"
(script-stencil feta "mordent" . "mordent")
(padding . 0.2)
(avoid-slur . around)
(direction . 1))
("open"
(avoid-slur . outside)
(padding . 0.2)
(script-stencil feta "open" . "open")
(direction . 1))
("portato"
(script-stencil feta "uportato" . "dportato")
(avoid-slur . around)
(padding . 0.45)
(side-relative-direction . -1))
("prall"
(script-stencil feta "prall" . "prall")
(padding . 0.2)
(avoid-slur . around)
(direction . 1))
("pralldown"
(script-stencil feta "pralldown" . "pralldown")
(padding . 0.2)
(avoid-slur . around)
(direction . 1))
("prallmordent"
(script-stencil
feta
"prallmordent"
.
"prallmordent")
(padding . 0.2)
(avoid-slur . around)
(direction . 1))
("prallprall"
(script-stencil feta "prallprall" . "prallprall")
(padding . 0.2)
(avoid-slur . around)
(direction . 1))
("prallup"
(script-stencil feta "prallup" . "prallup")
(padding . 0.2)
(avoid-slur . around)
(direction . 1))
("reverseturn"
(script-stencil
feta
"reverseturn"
.
"reverseturn")
(padding . 0.2)
(avoid-slur . inside)
(direction . 1))
("rheel"
(script-stencil feta "dpedalheel" . "dpedalheel")
(padding . 0.2)
(avoid-slur . around)
(direction . 1))
("rtoe"
(script-stencil feta "dpedaltoe" . "dpedaltoe")
(padding . 0.2)
(avoid-slur . around)
(direction . 1))
("segno"
(script-stencil feta "segno" . "segno")
(padding . 0.2)
(avoid-slur . outside)
(direction . 1))
("semicirculus"
(script-stencil
feta
"dsemicirculus"
.
"dsemicirculus")
(side-relative-direction . -1)
(quantize-position . #t)
(avoid-slur . ignore)
(padding . 0.2)
(script-priority . -100)
(direction . 1))
("shortfermata"
(script-stencil
feta
"dshortfermata"
.
"ushortfermata")
(padding . 0.2)
(avoid-slur . around)
(direction . 1))
("signumcongruentiae"
(script-stencil
feta
"dsignumcongruentiae"
.
"usignumcongruentiae")
(padding . 0.2)
(avoid-slur . outside)
(direction . 1))
("slashturn"
(script-stencil feta "slashturn" . "slashturn")
(padding . 0.2)
(avoid-slur . inside)
(direction . 1))
("snappizzicato"
(script-stencil
feta
"snappizzicato"
.
"snappizzicato")
(padding . 0.2)
(avoid-slur . outside)
(direction . 1))
("staccatissimo"
(avoid-slur . inside)
(quantize-position . #t)
(script-stencil
feta
"dstaccatissimo"
.
"ustaccatissimo")
(padding . 0.2)
(skyline-horizontal-padding . 0.1)
(side-relative-direction . -1)
(toward-stem-shift . 1.0)
(toward-stem-shift-in-column . 0.0))
("staccato"
(script-stencil feta "staccato" . "staccato")
(side-relative-direction . -1)
(quantize-position . #t)
(avoid-slur . inside)
(toward-stem-shift . 1.0)
(toward-stem-shift-in-column . 0.0)
(padding . 0.2)
(skyline-horizontal-padding . 0.1)
(script-priority . -100))
("stopped"
(script-stencil feta "stopped" . "stopped")
(avoid-slur . inside)
(padding . 0.2)
(direction . 1))
("tenuto"
(script-stencil feta "tenuto" . "tenuto")
(quantize-position . #t)
(avoid-slur . inside)
(padding . 0.2)
(side-relative-direction . -1))
("trill"
(script-stencil feta "trill" . "trill")
(direction . 1)
(padding . 0.2)
(avoid-slur . outside)
(script-priority . 2000))
("turn"
(script-stencil feta "turn" . "turn")
(avoid-slur . inside)
(padding . 0.2)
(direction . 1))
("upbow"
(script-stencil feta "upbow" . "upbow")
(avoid-slur . around)
(padding . 0.2)
(direction . 1)
(script-priority . 150))
("upmordent"
(script-stencil feta "upmordent" . "upmordent")
(padding . 0.2)
(avoid-slur . around)
(direction . 1))
("upprall"
(script-stencil feta "upprall" . "upprall")
(padding . 0.2)
(avoid-slur . around)
(direction . 1))
("varcoda"
(script-stencil feta "varcoda" . "varcoda")
(padding . 0.2)
(avoid-slur . outside)
(direction . 1))
("varcomma"
(script-stencil feta "lvarcomma" . "rvarcomma")
(quantize-position . #t)
(padding . 0.2)
(avoid-slur . ignore)
(direction . 1))
("verylongfermata"
(script-stencil
feta
"dverylongfermata"
.
"uverylongfermata")
(padding . 0.2)
(avoid-slur . around)
(direction . 1))
("veryshortfermata"
(script-stencil
feta
"dveryshortfermata"
.
"uveryshortfermata")
(padding . 0.2)
(avoid-slur . around)
(direction . 1)))
slashChordSeparator to:
'(#<procedure simple-markup (layout props str)> "/")
soloIIText to
"Solo II".
soloText to
"Solo".
startRepeatType to
".|:".
stringNumberOrientations to:
'(up down)
stringOneTopmost to
#t.
stringTunings to:
'(#<Pitch e' > #<Pitch b > #<Pitch g > #<Pitch d > #<Pitch a, > #<Pitch e, >)
strokeFingerOrientations to:
'(right)
subdivideBeams to
#f.
systemStartDelimiter to
'SystemStartBar.
tablatureFormat to
fret-number-tablature-format.
tabStaffLineLayoutFunction to
tablature-position-on-lines.
tieWaitForNote to
#f.
timeSignatureFraction to:
'(4 . 4)
timeSignatureSettings to:
'(((2 . 2) (beamExceptions (end (1/32 8 8 8 8))))
((3 . 2)
(beamExceptions (end (1/32 8 8 8 8 8 8))))
((3 . 4)
(beamExceptions (end (1/8 6) (1/12 3 3 3))))
((3 . 8) (beamExceptions (end (1/8 3))))
((4 . 2)
(beamExceptions (end (1/16 4 4 4 4 4 4 4 4))))
((4 . 4)
(beamExceptions (end (1/8 4 4) (1/12 3 3 3 3))))
((4 . 8) (beatStructure 2 2))
((6 . 4)
(beamExceptions (end (1/16 4 4 4 4 4 4))))
((9 . 4)
(beamExceptions (end (1/32 8 8 8 8 8 8 8 8))))
((12 . 4)
(beamExceptions
(end (1/32 8 8 8 8 8 8 8 8 8 8 8 8))))
((5 . 8) (beatStructure 3 2))
((8 . 8) (beatStructure 3 3 2)))
timing to
#t.
topLevelAlignment to
#t.
This is not a ‘Bottom’ context; search for such a one will commence after creating an implicit context of type Staff.
Context Score can contain ChoirStaff, ChordNames, Devnull, DrumStaff, Dynamics, FiguredBass, FretBoards, GrandStaff, GregorianTranscriptionStaff, KievanStaff, Lyrics, MensuralStaff, NoteNames, OneStaff, PetrucciStaff, PianoStaff, RhythmicStaff, Staff, StaffGroup, TabStaff and VaticanaStaff.
This context is built from the following engraver(s):
Bar_number_engraverA bar number is created whenever
measurePositionis zero and when there is a bar line (i.e., whenwhichBaris set). It is put on top of all staves, and appears only at the left side of the staff. The staves are taken fromstavesFound, which is maintained by Staff_collecting_engraver.Music types accepted:
Properties (read)
alternativeNumberingStyle(symbol)The style of an alternative’s bar numbers. Can be
numbersfor going back to the same number ornumbers-with-lettersfor going back to the same number with letter suffixes. No setting will not go back in measure-number time.barNumberFormatter(procedure)A procedure that takes a bar number, measure position, and alternative number and returns a markup of the bar number to print.
barNumberVisibility(procedure)A procedure that takes a bar number and a measure position and returns whether the corresponding bar number should be printed. Note that the actual print-out of bar numbers is controlled with the
break-visibilityproperty.The following procedures are predefined:
all-bar-numbers-visibleEnable bar numbers for all bars, including the first one and broken bars (which get bar numbers in parentheses).
first-bar-number-invisibleEnable bar numbers for all bars (including broken bars) except the first one. If the first bar is broken, it doesn’t get a bar number either.
first-bar-number-invisible-save-broken-barsEnable bar numbers for all bars (including broken bars) except the first one. A broken first bar gets a bar number.
first-bar-number-invisible-and-no-parenthesized-bar-numbersEnable bar numbers for all bars except the first bar and broken bars. This is the default.
(every-nth-bar-number-visible n)Assuming n is value 2, for example, this enables bar numbers for bars 2, 4, 6, etc.
(modulo-bar-number-visible n m)If bar numbers 1, 4, 7, etc., should be enabled, n (the modulo) must be set to 3 and m (the division remainder) to 1.
currentBarNumber(integer)Contains the current barnumber. This property is incremented at every bar line.
stavesFound(list of grobs)A list of all staff-symbols found.
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 ‘scm/bar-line.scm’.
Properties (write)
currentBarNumber(integer)Contains the current barnumber. This property is incremented at every bar line.
This engraver creates the following layout object(s):
Beam_collision_engraverHelp beams avoid colliding with notes and clefs in other voices.
Break_align_engraverAlign grobs with corresponding
break-align-symbolsinto groups, and order the groups according tobreakAlignOrder. The left edge of the alignment gets a separate group, with a symbolleft-edge.This engraver creates the following layout object(s):
Concurrent_hairpin_engraverCollect concurrent hairpins.
Default_bar_line_engraverThis engraver determines what kind of automatic bar lines should be produced, and sets
whichBaraccordingly. It should be at the same level as Timing_translator.Properties (read)
automaticBars(boolean)If set to false then bar lines will not be printed automatically; they must be explicitly created with a
\barcommand. Unlike the\cadenzaOnkeyword, measures are still counted. Bar line generation will resume according to that count if this property is unset.barAlways(boolean)If set to true a bar line is drawn after each note.
defaultBarType(string)Set the default type of bar line. See
whichBarfor information on available bar types.This variable is read by (internals-big-page)Timing_translator section ‘Timing_translator’ in Internals Reference at (internals-big-page)Score section ‘Score’ in Internals Reference level.
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.
timing(boolean)Keep administration of measure length, position, bar number, etc.? Switch off for cadenzas.
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 ‘scm/bar-line.scm’.
Footnote_engraverCreate footnote texts.
Properties (read)
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
Grace_spacing_engraverBookkeeping of shortest starting and playing notes in grace note runs.
Properties (read)
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
Mark_engraverCreate
RehearsalMarkobjects. It puts them on top of all staves (which is taken from the propertystavesFound). If moving this engraver to a different context, Staff_collecting_engraver must move along, otherwise all marks end up on the same Y location.Music types accepted:
Properties (read)
markFormatter(procedure)A procedure taking as arguments the context and the rehearsal mark. It should return the formatted mark as a markup object.
rehearsalMark(integer)The last rehearsal mark printed.
stavesFound(list of grobs)A list of all staff-symbols found.
This engraver creates the following layout object(s):
Metronome_mark_engraverEngrave metronome marking. This delegates the formatting work to the function in the
metronomeMarkFormatterproperty. The mark is put over all staves. The staves are taken from thestavesFoundproperty, which is maintained by Staff_collecting_engraver.Music types accepted:
Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
metronomeMarkFormatter(procedure)How to produce a metronome markup. Called with two arguments: a
TempoChangeEventand context.stavesFound(list of grobs)A list of all staff-symbols found.
tempoHideNote(boolean)Hide the note = count in tempo marks.
This engraver creates the following layout object(s):
Output_property_engraverApply a procedure to any grob acknowledged.
Music types accepted:
Paper_column_engraverTake care of generating columns.
This engraver decides whether a column is breakable. The default is that a column is always breakable. However, every
Bar_engraverthat does not have a barline at a certain point will setforbidBreaksin the score context to stop line breaks. In practice, this means that you can make a break point by creating a bar line (assuming that there are no beams or notes that prevent a break point).Music types accepted:
Properties (read)
forbidBreak(boolean)If set to
#t, prevent a line break at this point.Properties (write)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
forbidBreak(boolean)If set to
#t, prevent a line break at this point.This engraver creates the following layout object(s):
Parenthesis_engraverParenthesize objects whose music cause has the
parenthesizeproperty.This engraver creates the following layout object(s):
Repeat_acknowledge_engraverAcknowledge repeated music, and convert the contents of
repeatCommandsinto an appropriate setting forwhichBar.Properties (read)
doubleRepeatSegnoType(string)Set the default bar line for the combinations double repeat with segno. Default is ‘:|.S.|:’.
doubleRepeatType(string)Set the default bar line for double repeats.
endRepeatSegnoType(string)Set the default bar line for the combinations ending of repeat with segno. Default is ‘:|.S’.
endRepeatType(string)Set the default bar line for the ending of repeats.
repeatCommands(list)This property is a list of commands of the form
(list 'volta x), where x is a string or#f.'end-repeatis also accepted as a command.segnoType(string)Set the default bar line for a requested segno. Default is ‘S’.
startRepeatSegnoType(string)Set the default bar line for the combinations beginning of repeat with segno. Default is ‘S.|:’.
startRepeatType(string)Set the default bar line for the beginning of repeats.
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 ‘scm/bar-line.scm’.
Spacing_engraverMake a
SpacingSpannerand do bookkeeping of shortest starting and playing notes.Music types accepted:
Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
proportionalNotationDuration(moment)Global override for shortest-playing duration. This is used for switching on proportional notation.
This engraver creates the following layout object(s):
Staff_collecting_engraverMaintain the
stavesFoundvariable.Properties (read)
stavesFound(list of grobs)A list of all staff-symbols found.
Properties (write)
stavesFound(list of grobs)A list of all staff-symbols found.
Stanza_number_align_engraverThis engraver ensures that stanza numbers are neatly aligned.
System_start_delimiter_engraverCreate a system start delimiter (i.e., a
SystemStartBar,SystemStartBrace,SystemStartBracketorSystemStartSquarespanner).Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
systemStartDelimiter(symbol)Which grob to make for the start of the system/staff? Set to
SystemStartBrace,SystemStartBracketorSystemStartBar.systemStartDelimiterHierarchy(pair)A nested list, indicating the nesting of a start delimiters.
This engraver creates the following layout object(s):
SystemStartBar, SystemStartBrace, SystemStartBracket and SystemStartSquare.
Timing_translatorThis engraver adds the alias
Timingto its containing context. Responsible for synchronizing timing information from staves. Normally inScore. In order to create polyrhythmic music, this engraver should be removed fromScoreand placed inStaff.Properties (read)
baseMoment(moment)Smallest unit of time that will stand on its own as a subdivided section.
currentBarNumber(integer)Contains the current barnumber. This property is incremented at every bar line.
internalBarNumber(integer)Contains the current barnumber. This property is used for internal timekeeping, among others by the
Accidental_engraver.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.
timeSignatureFraction(fraction, as pair)A pair of numbers, signifying the time signature. For example,
'(4 . 4)is a 4/4 time signature.Properties (write)
baseMoment(moment)Smallest unit of time that will stand on its own as a subdivided section.
currentBarNumber(integer)Contains the current barnumber. This property is incremented at every bar line.
internalBarNumber(integer)Contains the current barnumber. This property is used for internal timekeeping, among others by the
Accidental_engraver.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.
timeSignatureFraction(fraction, as pair)A pair of numbers, signifying the time signature. For example,
'(4 . 4)is a 4/4 time signature.Tweak_engraverRead the
tweaksproperty from the originating event, and set properties.Vertical_align_engraverCatch groups (staves, lyrics lines, etc.) and stack them vertically.
Properties (read)
alignAboveContext(string)Where to insert newly created context in vertical alignment.
alignBelowContext(string)Where to insert newly created context in vertical alignment.
hasAxisGroup(boolean)True if the current context is contained in an axis group.
This engraver creates the following layout object(s):
Volta_engraverMake volta brackets.
Properties (read)
repeatCommands(list)This property is a list of commands of the form
(list 'volta x), where x is a string or#f.'end-repeatis also accepted as a command.stavesFound(list of grobs)A list of all staff-symbols found.
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.This engraver creates the following layout object(s):
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Handles clefs, bar lines, keys, accidentals. It can contain
Voice contexts.
This context creates the following layout object(s):
Accidental, AccidentalCautionary, AccidentalPlacement, AccidentalSuggestion, BarLine, BassFigure, BassFigureAlignment, BassFigureAlignmentPositioning, BassFigureBracket, BassFigureContinuation, BassFigureLine, Clef, ClefModifier, CueClef, CueEndClef, DotColumn, FingeringColumn, InstrumentName, KeyCancellation, KeySignature, LedgerLineSpanner, NoteCollision, OttavaBracket, PianoPedalBracket, RestCollision, ScriptRow, SostenutoPedal, SostenutoPedalLineSpanner, StaffSpacing, StaffSymbol, SustainPedal, SustainPedalLineSpanner, TimeSignature, UnaCordaPedal, UnaCordaPedalLineSpanner and VerticalAxisGroup.
This context sets the following properties:
createSpacing to
#t.
ignoreFiguredBassRest to
#f.
instrumentName to
'().
localAlterations to
'().
ottavationMarkups to:
'((4 . "29") (3 . "22") (2 . "15") (1 . "8") (-1 . "8") (-2 . "15") (-3 . "22") (-4 . "29"))
shortInstrumentName to
'().
This is not a ‘Bottom’ context; search for such a one will commence after creating an implicit context of type Voice.
Context Staff can contain CueVoice, NullVoice and Voice.
This context is built from the following engraver(s):
Accidental_engraverMake accidentals. Catch note heads, ties and notices key-change events. This engraver usually lives at Staff level, but reads the settings for Accidental at
Voicelevel, so you can\overridethem atVoice.Properties (read)
accidentalGrouping(symbol)If set to
'voice, accidentals on the same note in different octaves may be horizontally staggered if in different voices.autoAccidentals(list)List of different ways to typeset an accidental.
For determining when to print an accidental, several different rules are tried. The rule that gives the highest number of accidentals is used.
Each entry in the list is either a symbol or a procedure.
- symbol
The symbol is the name of the context in which the following rules are to be applied. For example, if context is (internals-big-page)Score section ‘Score’ in Internals Reference then all staves share accidentals, and if context is (internals-big-page)Staff section ‘Staff’ in Internals Reference then all voices in the same staff share accidentals, but staves do not.
- procedure
The procedure represents an accidental rule to be applied to the previously specified context.
The procedure takes the following arguments:
contextThe current context to which the rule should be applied.
pitchThe pitch of the note to be evaluated.
barnumThe current bar number.
measureposThe current measure position.
The procedure returns a pair of booleans. The first states whether an extra natural should be added. The second states whether an accidental should be printed.
(#t . #f)does not make sense.autoCautionaries(list)List similar to
autoAccidentals, but it controls cautionary accidentals rather than normal ones. Both lists are tried, and the one giving the most accidentals wins. In case of draw, a normal accidental is typeset.extraNatural(boolean)Whether to typeset an extra natural sign before accidentals that reduce the effect of a previous alteration.
harmonicAccidentals(boolean)If set, harmonic notes in chords get accidentals.
internalBarNumber(integer)Contains the current barnumber. This property is used for internal timekeeping, among others by the
Accidental_engraver.keyAlterations(list)The current key signature. This is an alist containing
(step . alter)or((octave . step) . alter), where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.keyAlterations = #`((6 . ,FLAT)).localAlterations(list)The key signature at this point in the measure. The format is the same as for
keyAlterations, but can also contain((octave . name) . (alter barnumber . measureposition))pairs.Properties (write)
localAlterations(list)The key signature at this point in the measure. The format is the same as for
keyAlterations, but can also contain((octave . name) . (alter barnumber . measureposition))pairs.This engraver creates the following layout object(s):
Accidental, AccidentalCautionary, AccidentalPlacement and AccidentalSuggestion.
Axis_group_engraverGroup all objects created in this context in a
VerticalAxisGroupspanner.Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
hasAxisGroup(boolean)True if the current context is contained in an axis group.
keepAliveInterfaces(list)A list of symbols, signifying grob interfaces that are worth keeping a staff with
remove-emptyset around for.Properties (write)
hasAxisGroup(boolean)True if the current context is contained in an axis group.
This engraver creates the following layout object(s):
Bar_engraverCreate barlines. This engraver is controlled through the
whichBarproperty. If it has no bar line to create, it will forbid a linebreak at this point. This engraver is required to trigger the creation of clefs at the start of systems.Properties (read)
whichBar(string)This property is read to determine what type of bar line to create.
Example:
\set Staff.whichBar = ".|:"This will create a start-repeat bar in this staff only. Valid values are described in ‘scm/bar-line.scm’.
Properties (write)
forbidBreak(boolean)If set to
#t, prevent a line break at this point.This engraver creates the following layout object(s):
Clef_engraverDetermine and set reference point for pitches.
Properties (read)
clefGlyph(string)Name of the symbol within the music font.
clefPosition(number)Where should the center of the clef symbol go, measured in half staff spaces from the center of the staff.
clefTransposition(integer)Add this much extra transposition. Values of 7 and -7 are common.
clefTranspositionStyle(symbol)Determines the way the ClefModifier grob is displayed. Possible values are ‘default’, ‘parenthesized’ and ‘bracketed’.
explicitClefVisibility(vector)‘break-visibility’ function for clef changes.
forceClef(boolean)Show clef symbol, even if it has not changed. Only active for the first clef after the property is set, not for the full staff.
This engraver creates the following layout object(s):
Clef and ClefModifier.
Collision_engraverCollect
NoteColumns, and as soon as there are two or more, put them in aNoteCollisionobject.This engraver creates the following layout object(s):
Cue_clef_engraverDetermine and set reference point for pitches in cued voices.
Properties (read)
clefTransposition(integer)Add this much extra transposition. Values of 7 and -7 are common.
cueClefGlyph(string)Name of the symbol within the music font.
cueClefPosition(number)Where should the center of the clef symbol go, measured in half staff spaces from the center of the staff.
cueClefTransposition(integer)Add this much extra transposition. Values of 7 and -7 are common.
cueClefTranspositionStyle(symbol)Determines the way the ClefModifier grob is displayed. Possible values are ‘default’, ‘parenthesized’ and ‘bracketed’.
explicitCueClefVisibility(vector)‘break-visibility’ function for cue clef changes.
middleCCuePosition(number)The position of the middle C, as determined only by the clef of the cue notes. This can be calculated by looking at
cueClefPositionandcueClefGlyph.This engraver creates the following layout object(s):
ClefModifier, CueClef and CueEndClef.
Dot_column_engraverEngrave dots on dotted notes shifted to the right of the note. If omitted, then dots appear on top of the notes.
This engraver creates the following layout object(s):
Figured_bass_engraverMake figured bass numbers.
Music types accepted:
bass-figure-event and rest-event
Properties (read)
figuredBassAlterationDirection(direction)Where to put alterations relative to the main figure.
figuredBassCenterContinuations(boolean)Whether to vertically center pairs of extender lines. This does not work with three or more lines.
figuredBassFormatter(procedure)A routine generating a markup for a bass figure.
ignoreFiguredBassRest(boolean)Don’t swallow rest events.
implicitBassFigures(list)A list of bass figures that are not printed as numbers, but only as extender lines.
useBassFigureExtenders(boolean)Whether to use extender lines for repeated bass figures.
This engraver creates the following layout object(s):
BassFigure, BassFigureAlignment, BassFigureBracket, BassFigureContinuation and BassFigureLine.
Figured_bass_position_engraverPosition figured bass alignments over notes.
This engraver creates the following layout object(s):
Fingering_column_engraverFind potentially colliding scripts and put them into a
FingeringColumnobject; that will fix the collisions.This engraver creates the following layout object(s):
Font_size_engraverPut
fontSizeintofont-sizegrob property.Properties (read)
fontSize(number)The relative size of all grobs in a context.
Grob_pq_engraverAdministrate when certain grobs (e.g., note heads) stop playing.
Properties (read)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Properties (write)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Instrument_name_engraverCreate a system start text for instrument or vocal names.
Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
instrumentName(markup)The name to print left of a staff. The
instrumentNameproperty labels the staff in the first system, and theshortInstrumentNameproperty labels following lines.shortInstrumentName(markup)See
instrumentName.shortVocalName(markup)Name of a vocal line, short version.
vocalName(markup)Name of a vocal line.
This engraver creates the following layout object(s):
Key_engraverEngrave a key signature.
Music types accepted:
Properties (read)
createKeyOnClefChange(boolean)Print a key signature whenever the clef is changed.
explicitKeySignatureVisibility(vector)‘break-visibility’ function for explicit key changes. ‘\override’ of the
break-visibilityproperty will set the visibility for normal (i.e., at the start of the line) key signatures.extraNatural(boolean)Whether to typeset an extra natural sign before accidentals that reduce the effect of a previous alteration.
keyAlterationOrder(list)An alist that defines in what order alterations should be printed. The format is
(step . alter), where step is a number from 0 to 6 and alter from -2 (sharp) to 2 (flat).keyAlterations(list)The current key signature. This is an alist containing
(step . alter)or((octave . step) . alter), where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.keyAlterations = #`((6 . ,FLAT)).lastKeyAlterations(list)Last key signature before a key signature change.
middleCClefPosition(number)The position of the middle C, as determined only by the clef. This can be calculated by looking at
clefPositionandclefGlyph.printKeyCancellation(boolean)Print restoration alterations before a key signature change.
Properties (write)
keyAlterations(list)The current key signature. This is an alist containing
(step . alter)or((octave . step) . alter), where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.keyAlterations = #`((6 . ,FLAT)).lastKeyAlterations(list)Last key signature before a key signature change.
tonic(pitch)The tonic of the current scale.
This engraver creates the following layout object(s):
Ledger_line_engraverCreate the spanner to draw ledger lines, and notices objects that need ledger lines.
This engraver creates the following layout object(s):
Ottava_spanner_engraverCreate a text spanner when the ottavation property changes.
Properties (read)
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
middleCOffset(number)The offset of middle C from the position given by
middleCClefPositionThis is used for ottava brackets.ottavation(markup)If set, the text for an ottava spanner. Changing this creates a new text spanner.
This engraver creates the following layout object(s):
Output_property_engraverApply a procedure to any grob acknowledged.
Music types accepted:
Piano_pedal_align_engraverAlign piano pedal symbols and brackets.
Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
This engraver creates the following layout object(s):
SostenutoPedalLineSpanner, SustainPedalLineSpanner and UnaCordaPedalLineSpanner.
Piano_pedal_engraverEngrave piano pedal symbols and brackets.
Music types accepted:
sostenuto-event, sustain-event and una-corda-event
Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
pedalSostenutoStrings(list)See
pedalSustainStrings.pedalSostenutoStyle(symbol)See
pedalSustainStyle.pedalSustainStrings(list)A list of strings to print for sustain-pedal. Format is
(up updown down), where each of the three is the string to print when this is done with the pedal.pedalSustainStyle(symbol)A symbol that indicates how to print sustain pedals:
text,bracketormixed(both).pedalUnaCordaStrings(list)See
pedalSustainStrings.pedalUnaCordaStyle(symbol)See
pedalSustainStyle.This engraver creates the following layout object(s):
PianoPedalBracket, SostenutoPedal, SustainPedal and UnaCordaPedal.
Pure_from_neighbor_engraverCoordinates items that get their pure heights from their neighbors.
Rest_collision_engraverHandle collisions of rests.
Properties (read)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).This engraver creates the following layout object(s):
Script_row_engraverDetermine order in horizontal side position elements.
This engraver creates the following layout object(s):
Separating_line_group_engraverGenerate objects for computing spacing parameters.
Properties (read)
createSpacing(boolean)Create
StaffSpacingobjects? Should be set for staves.Properties (write)
hasStaffSpacing(boolean)True if the current
CommandColumncontains items that will affect spacing.This engraver creates the following layout object(s):
Staff_collecting_engraverMaintain the
stavesFoundvariable.Properties (read)
stavesFound(list of grobs)A list of all staff-symbols found.
Properties (write)
stavesFound(list of grobs)A list of all staff-symbols found.
Staff_symbol_engraverCreate the constellation of five (default) staff lines.
Music types accepted:
This engraver creates the following layout object(s):
Time_signature_engraverCreate a TimeSignature whenever
timeSignatureFractionchanges.Music types accepted:
Properties (read)
initialTimeSignatureVisibility(vector)break visibility for the initial time signature.
partialBusy(boolean)Signal that \partial acts at the current timestep.
timeSignatureFraction(fraction, as pair)A pair of numbers, signifying the time signature. For example,
'(4 . 4)is a 4/4 time signature.This engraver creates the following layout object(s):
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Groups staves while adding a bracket on the left
side, grouping the staves together. The bar lines of the contained
staves are connected vertically. StaffGroup only consists of
a collection of staves, with a bracket in front and spanning bar lines.
This context creates the following layout object(s):
Arpeggio, InstrumentName, SpanBar, SpanBarStub, SystemStartBar, SystemStartBrace, SystemStartBracket, SystemStartSquare and VerticalAlignment.
This context sets the following properties:
extra-spacing-width in DynamicText to
#f.
instrumentName to
'().
shortInstrumentName to
'().
systemStartDelimiter to
'SystemStartBracket.
topLevelAlignment to
#f.
This is not a ‘Bottom’ context; search for such a one will commence after creating an implicit context of type Staff.
Context StaffGroup can contain ChoirStaff, ChordNames, DrumStaff, FiguredBass, FretBoards, GrandStaff, Lyrics, OneStaff, PianoStaff, RhythmicStaff, Staff, StaffGroup and TabStaff.
This context is built from the following engraver(s):
Instrument_name_engraverCreate a system start text for instrument or vocal names.
Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
instrumentName(markup)The name to print left of a staff. The
instrumentNameproperty labels the staff in the first system, and theshortInstrumentNameproperty labels following lines.shortInstrumentName(markup)See
instrumentName.shortVocalName(markup)Name of a vocal line, short version.
vocalName(markup)Name of a vocal line.
This engraver creates the following layout object(s):
Output_property_engraverApply a procedure to any grob acknowledged.
Music types accepted:
Span_arpeggio_engraverMake arpeggios that span multiple staves.
Properties (read)
connectArpeggios(boolean)If set, connect arpeggios across piano staff.
This engraver creates the following layout object(s):
Span_bar_engraverMake cross-staff bar lines: It catches all normal bar lines and draws a single span bar across them.
This engraver creates the following layout object(s):
Span_bar_stub_engraverMake stubs for span bars in all contexts that the span bars cross.
This engraver creates the following layout object(s):
System_start_delimiter_engraverCreate a system start delimiter (i.e., a
SystemStartBar,SystemStartBrace,SystemStartBracketorSystemStartSquarespanner).Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
systemStartDelimiter(symbol)Which grob to make for the start of the system/staff? Set to
SystemStartBrace,SystemStartBracketorSystemStartBar.systemStartDelimiterHierarchy(pair)A nested list, indicating the nesting of a start delimiters.
This engraver creates the following layout object(s):
SystemStartBar, SystemStartBrace, SystemStartBracket and SystemStartSquare.
Vertical_align_engraverCatch groups (staves, lyrics lines, etc.) and stack them vertically.
Properties (read)
alignAboveContext(string)Where to insert newly created context in vertical alignment.
alignBelowContext(string)Where to insert newly created context in vertical alignment.
hasAxisGroup(boolean)True if the current context is contained in an axis group.
This engraver creates the following layout object(s):
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Context for generating tablature. It accepts only TabVoice
contexts and handles the line spacing, the tablature clef etc. properly.
This context also accepts commands for the following context(s):
Staff.
This context creates the following layout object(s):
BarLine, BassFigure, BassFigureAlignment, BassFigureAlignmentPositioning, BassFigureBracket, BassFigureContinuation, BassFigureLine, Clef, ClefModifier, CueClef, CueEndClef, DotColumn, FingeringColumn, InstrumentName, LedgerLineSpanner, NoteCollision, PianoPedalBracket, RestCollision, ScriptRow, SostenutoPedal, SostenutoPedalLineSpanner, StaffSpacing, StaffSymbol, SustainPedal, SustainPedalLineSpanner, TimeSignature, UnaCordaPedal, UnaCordaPedalLineSpanner and VerticalAxisGroup.
This context sets the following properties:
after-line-breaking in RepeatTie to
repeat-tie::handle-tab-note-head.
after-line-breaking in Tie to
tie::handle-tab-note-head.
avoid-note-head in Stem to
#t.
beam-thickness in Beam to
0.32.
beam-thickness in StemTremolo to
0.32.
beam-width in StemTremolo to
stem-tremolo::calc-tab-width.
bound-details.left in Glissando to:
'((attach-dir . 1) (padding . 0.3))
bound-details.right in Glissando to:
'((attach-dir . -1) (padding . 0.3))
details in Stem to:
'((lengths 0 0 0 0 0 0) (beamed-lengths 0 0 0) (beamed-minimum-free-lengths 0 0 0) (beamed-extreme-minimum-free-lengths 0 0) (stem-shorten 0 0))
extra-dy in Glissando to
glissando::calc-tab-extra-dy.
glyph-name in TabNoteHead to
tab-note-head::calc-glyph-name.
ignore-collision in NoteColumn to
#t.
length-fraction in Beam to
0.62.
length-fraction in StemTremolo to
#<procedure #f (grob)>.
no-stem-extend in Stem to
#t.
staff-space in StaffSymbol to
1.5.
stencil in Arpeggio to
#f.
stencil in Beam to
#f.
stencil in Clef to
clef::print-modern-tab-if-set.
stencil in Dots to
#f.
stencil in DynamicTextSpanner to
#f.
stencil in DynamicText to
#f.
stencil in Flag to
#f.
stencil in Glissando to
glissando::draw-tab-glissando.
stencil in Hairpin to
#f.
stencil in LaissezVibrerTie to
#f.
stencil in MultiMeasureRestNumber to
#f.
stencil in MultiMeasureRestScript to
#f.
stencil in MultiMeasureRestText to
#f.
stencil in MultiMeasureRest to
#f.
stencil in PhrasingSlur to
#f.
stencil in RepeatTie to
#f.
stencil in Rest to
#f.
stencil in Script to
#f.
stencil in Slur to
slur::draw-tab-slur.
stencil in StemTremolo to
#f.
stencil in Stem to
#f.
stencil in TabNoteHead to
tab-note-head::whiteout-if-style-set.
stencil in TextScript to
#f.
stencil in TextSpanner to
#f.
stencil in Tie to
#f.
stencil in TimeSignature to
#f.
stencil in TupletBracket to
#f.
stencil in TupletNumber to
#f.
style in Flag to
'no-flag.
autoBeaming to
#f.
clefGlyph to
"clefs.tab".
clefPosition to
0.
createSpacing to
#t.
handleNegativeFrets to
'recalculate.
ignoreFiguredBassRest to
#f.
instrumentName to
'().
localAlterations to
'().
ottavationMarkups to:
'((4 . "29") (3 . "22") (2 . "15") (1 . "8") (-1 . "8") (-2 . "15") (-3 . "22") (-4 . "29"))
restrainOpenStrings to
#f.
shortInstrumentName to
'().
This is not a ‘Bottom’ context; search for such a one will commence after creating an implicit context of type TabVoice.
Context TabStaff can contain CueVoice, NullVoice and TabVoice.
This context is built from the following engraver(s):
Axis_group_engraverGroup all objects created in this context in a
VerticalAxisGroupspanner.Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
hasAxisGroup(boolean)True if the current context is contained in an axis group.
keepAliveInterfaces(list)A list of symbols, signifying grob interfaces that are worth keeping a staff with
remove-emptyset around for.Properties (write)
hasAxisGroup(boolean)True if the current context is contained in an axis group.
This engraver creates the following layout object(s):
Bar_engraverCreate barlines. This engraver is controlled through the
whichBarproperty. If it has no bar line to create, it will forbid a linebreak at this point. This engraver is required to trigger the creation of clefs at the start of systems.Properties (read)
whichBar(string)This property is read to determine what type of bar line to create.
Example:
\set Staff.whichBar = ".|:"This will create a start-repeat bar in this staff only. Valid values are described in ‘scm/bar-line.scm’.
Properties (write)
forbidBreak(boolean)If set to
#t, prevent a line break at this point.This engraver creates the following layout object(s):
Clef_engraverDetermine and set reference point for pitches.
Properties (read)
clefGlyph(string)Name of the symbol within the music font.
clefPosition(number)Where should the center of the clef symbol go, measured in half staff spaces from the center of the staff.
clefTransposition(integer)Add this much extra transposition. Values of 7 and -7 are common.
clefTranspositionStyle(symbol)Determines the way the ClefModifier grob is displayed. Possible values are ‘default’, ‘parenthesized’ and ‘bracketed’.
explicitClefVisibility(vector)‘break-visibility’ function for clef changes.
forceClef(boolean)Show clef symbol, even if it has not changed. Only active for the first clef after the property is set, not for the full staff.
This engraver creates the following layout object(s):
Clef and ClefModifier.
Collision_engraverCollect
NoteColumns, and as soon as there are two or more, put them in aNoteCollisionobject.This engraver creates the following layout object(s):
Cue_clef_engraverDetermine and set reference point for pitches in cued voices.
Properties (read)
clefTransposition(integer)Add this much extra transposition. Values of 7 and -7 are common.
cueClefGlyph(string)Name of the symbol within the music font.
cueClefPosition(number)Where should the center of the clef symbol go, measured in half staff spaces from the center of the staff.
cueClefTransposition(integer)Add this much extra transposition. Values of 7 and -7 are common.
cueClefTranspositionStyle(symbol)Determines the way the ClefModifier grob is displayed. Possible values are ‘default’, ‘parenthesized’ and ‘bracketed’.
explicitCueClefVisibility(vector)‘break-visibility’ function for cue clef changes.
middleCCuePosition(number)The position of the middle C, as determined only by the clef of the cue notes. This can be calculated by looking at
cueClefPositionandcueClefGlyph.This engraver creates the following layout object(s):
ClefModifier, CueClef and CueEndClef.
Dot_column_engraverEngrave dots on dotted notes shifted to the right of the note. If omitted, then dots appear on top of the notes.
This engraver creates the following layout object(s):
Figured_bass_engraverMake figured bass numbers.
Music types accepted:
bass-figure-event and rest-event
Properties (read)
figuredBassAlterationDirection(direction)Where to put alterations relative to the main figure.
figuredBassCenterContinuations(boolean)Whether to vertically center pairs of extender lines. This does not work with three or more lines.
figuredBassFormatter(procedure)A routine generating a markup for a bass figure.
ignoreFiguredBassRest(boolean)Don’t swallow rest events.
implicitBassFigures(list)A list of bass figures that are not printed as numbers, but only as extender lines.
useBassFigureExtenders(boolean)Whether to use extender lines for repeated bass figures.
This engraver creates the following layout object(s):
BassFigure, BassFigureAlignment, BassFigureBracket, BassFigureContinuation and BassFigureLine.
Figured_bass_position_engraverPosition figured bass alignments over notes.
This engraver creates the following layout object(s):
Fingering_column_engraverFind potentially colliding scripts and put them into a
FingeringColumnobject; that will fix the collisions.This engraver creates the following layout object(s):
Font_size_engraverPut
fontSizeintofont-sizegrob property.Properties (read)
fontSize(number)The relative size of all grobs in a context.
Grob_pq_engraverAdministrate when certain grobs (e.g., note heads) stop playing.
Properties (read)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Properties (write)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Instrument_name_engraverCreate a system start text for instrument or vocal names.
Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
instrumentName(markup)The name to print left of a staff. The
instrumentNameproperty labels the staff in the first system, and theshortInstrumentNameproperty labels following lines.shortInstrumentName(markup)See
instrumentName.shortVocalName(markup)Name of a vocal line, short version.
vocalName(markup)Name of a vocal line.
This engraver creates the following layout object(s):
Ledger_line_engraverCreate the spanner to draw ledger lines, and notices objects that need ledger lines.
This engraver creates the following layout object(s):
Output_property_engraverApply a procedure to any grob acknowledged.
Music types accepted:
Piano_pedal_align_engraverAlign piano pedal symbols and brackets.
Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
This engraver creates the following layout object(s):
SostenutoPedalLineSpanner, SustainPedalLineSpanner and UnaCordaPedalLineSpanner.
Piano_pedal_engraverEngrave piano pedal symbols and brackets.
Music types accepted:
sostenuto-event, sustain-event and una-corda-event
Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
pedalSostenutoStrings(list)See
pedalSustainStrings.pedalSostenutoStyle(symbol)See
pedalSustainStyle.pedalSustainStrings(list)A list of strings to print for sustain-pedal. Format is
(up updown down), where each of the three is the string to print when this is done with the pedal.pedalSustainStyle(symbol)A symbol that indicates how to print sustain pedals:
text,bracketormixed(both).pedalUnaCordaStrings(list)See
pedalSustainStrings.pedalUnaCordaStyle(symbol)See
pedalSustainStyle.This engraver creates the following layout object(s):
PianoPedalBracket, SostenutoPedal, SustainPedal and UnaCordaPedal.
Pure_from_neighbor_engraverCoordinates items that get their pure heights from their neighbors.
Rest_collision_engraverHandle collisions of rests.
Properties (read)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).This engraver creates the following layout object(s):
Script_row_engraverDetermine order in horizontal side position elements.
This engraver creates the following layout object(s):
Separating_line_group_engraverGenerate objects for computing spacing parameters.
Properties (read)
createSpacing(boolean)Create
StaffSpacingobjects? Should be set for staves.Properties (write)
hasStaffSpacing(boolean)True if the current
CommandColumncontains items that will affect spacing.This engraver creates the following layout object(s):
Staff_collecting_engraverMaintain the
stavesFoundvariable.Properties (read)
stavesFound(list of grobs)A list of all staff-symbols found.
Properties (write)
stavesFound(list of grobs)A list of all staff-symbols found.
Staff_symbol_engraverCreate the constellation of five (default) staff lines.
Music types accepted:
This engraver creates the following layout object(s):
Tab_staff_symbol_engraverCreate a tablature staff symbol, but look at
stringTuningsfor the number of lines.Properties (read)
stringTunings(list)The tablature strings tuning. It is a list of the pitches of each string (starting with the lowest numbered one).
This engraver creates the following layout object(s):
Time_signature_engraverCreate a TimeSignature whenever
timeSignatureFractionchanges.Music types accepted:
Properties (read)
initialTimeSignatureVisibility(vector)break visibility for the initial time signature.
partialBusy(boolean)Signal that \partial acts at the current timestep.
timeSignatureFraction(fraction, as pair)A pair of numbers, signifying the time signature. For example,
'(4 . 4)is a 4/4 time signature.This engraver creates the following layout object(s):
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Context for drawing notes in a Tab staff.
This context also accepts commands for the following context(s):
Voice.
This context creates the following layout object(s):
Arpeggio, Beam, BendAfter, BreathingSign, ClusterSpanner, ClusterSpannerBeacon, CombineTextScript, Dots, DoublePercentRepeat, DoublePercentRepeatCounter, DoubleRepeatSlash, DynamicLineSpanner, DynamicText, DynamicTextSpanner, Flag, Glissando, Hairpin, InstrumentSwitch, LaissezVibrerTie, LaissezVibrerTieColumn, LigatureBracket, MultiMeasureRest, MultiMeasureRestNumber, MultiMeasureRestScript, MultiMeasureRestText, NoteColumn, NoteSpacing, PercentRepeat, PercentRepeatCounter, PhrasingSlur, RepeatSlash, RepeatTie, RepeatTieColumn, Rest, Script, ScriptColumn, Slur, Stem, StemStub, StemTremolo, TabNoteHead, TextScript, TextSpanner, Tie, TieColumn, TrillSpanner, TupletBracket, TupletNumber and VoiceFollower.
This is a ‘Bottom’ context; no contexts will be created implicitly from it.
This context cannot contain other contexts.
This context is built from the following engraver(s):
Arpeggio_engraverGenerate an Arpeggio symbol.
Music types accepted:
This engraver creates the following layout object(s):
Auto_beam_engraverGenerate beams based on measure characteristics and observed Stems. Uses
baseMoment,beatStructure,beamExceptions,measureLength, andmeasurePositionto decide when to start and stop a beam. Overriding beaming is done through Stem_engraver propertiesstemLeftBeamCountandstemRightBeamCount.Music types accepted:
Properties (read)
autoBeaming(boolean)If set to true then beams are generated automatically.
baseMoment(moment)Smallest unit of time that will stand on its own as a subdivided section.
beamExceptions(list)An alist of exceptions to autobeam rules that normally end on beats.
beamHalfMeasure(boolean)Whether to allow a beam to begin halfway through the measure in triple time, which could look like 6/8.
beatStructure(list)List of
baseMoments that are combined to make beats.subdivideBeams(boolean)If set, multiple beams will be subdivided at
baseMomentpositions by only drawing one beam over the beat.This engraver creates the following layout object(s):
Beam.
Beam_engraverHandle
Beamevents by engraving beams. If omitted, then notes are printed with flags instead of beams.Music types accepted:
Properties (read)
baseMoment(moment)Smallest unit of time that will stand on its own as a subdivided section.
beamMelismaBusy(boolean)Signal if a beam is present.
beatStructure(list)List of
baseMoments that are combined to make beats.subdivideBeams(boolean)If set, multiple beams will be subdivided at
baseMomentpositions by only drawing one beam over the beat.Properties (write)
forbidBreak(boolean)If set to
#t, prevent a line break at this point.This engraver creates the following layout object(s):
Beam.
Bend_engraverCreate fall spanners.
Music types accepted:
This engraver creates the following layout object(s):
Breathing_sign_engraverCreate a breathing sign.
Music types accepted:
This engraver creates the following layout object(s):
Chord_tremolo_engraverGenerate beams for tremolo repeats.
Music types accepted:
This engraver creates the following layout object(s):
Beam.
Cluster_spanner_engraverEngrave a cluster using
Spannernotation.Music types accepted:
This engraver creates the following layout object(s):
Dots_engraverCreate Dots objects for rhythmic-head-interfaces.
This engraver creates the following layout object(s):
Dots.
Double_percent_repeat_engraverMake double measure repeats.
Music types accepted:
Properties (read)
countPercentRepeats(boolean)If set, produce counters for percent repeats.
measureLength(moment)Length of one measure in the current time signature.
repeatCountVisibility(procedure)A procedure taking as arguments an integer and context, returning whether the corresponding percent repeat number should be printed when
countPercentRepeatsis set.Properties (write)
forbidBreak(boolean)If set to
#t, prevent a line break at this point.This engraver creates the following layout object(s):
Dynamic_align_engraverAlign hairpins and dynamic texts on a horizontal line.
Properties (read)
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
Dynamic_engraverCreate hairpins, dynamic texts and dynamic text spanners.
Music types accepted:
absolute-dynamic-event, break-span-event and span-dynamic-event
Properties (read)
crescendoSpanner(symbol)The type of spanner to be used for crescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin crescendo is used.
crescendoText(markup)The text to print at start of non-hairpin crescendo, i.e., ‘cresc.’.
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
decrescendoSpanner(symbol)The type of spanner to be used for decrescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin decrescendo is used.
decrescendoText(markup)The text to print at start of non-hairpin decrescendo, i.e., ‘dim.’.
This engraver creates the following layout object(s):
Font_size_engraverPut
fontSizeintofont-sizegrob property.Properties (read)
fontSize(number)The relative size of all grobs in a context.
Forbid_line_break_engraverForbid line breaks when note heads are still playing at some point.
Properties (read)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Properties (write)
forbidBreak(boolean)If set to
#t, prevent a line break at this point.Glissando_engraverEngrave glissandi.
Music types accepted:
Properties (read)
glissandoMap(list)A map in the form of ’((source1 . target1) (source2 . target2) (sourcen . targetn)) showing the glissandi to be drawn for note columns. The value ’() will default to ’((0 . 0) (1 . 1) (n . n)), where n is the minimal number of note-heads in the two note columns between which the glissandi occur.
This engraver creates the following layout object(s):
Grace_auto_beam_engraverGenerates one autobeam group across an entire grace phrase. As usual, any manual beaming or
\noBeamwill block autobeaming, just like setting the context property ‘autoBeaming’ to##f.Music types accepted:
Properties (read)
autoBeaming(boolean)If set to true then beams are generated automatically.
This engraver creates the following layout object(s):
Beam.
Grace_beam_engraverHandle
Beamevents by engraving beams. If omitted, then notes are printed with flags instead of beams. Only engraves beams when we are at grace points in time.Music types accepted:
Properties (read)
baseMoment(moment)Smallest unit of time that will stand on its own as a subdivided section.
beamMelismaBusy(boolean)Signal if a beam is present.
beatStructure(list)List of
baseMoments that are combined to make beats.subdivideBeams(boolean)If set, multiple beams will be subdivided at
baseMomentpositions by only drawing one beam over the beat.This engraver creates the following layout object(s):
Beam.
Grace_engraverSet font size and other properties for grace notes.
Properties (read)
graceSettings(list)Overrides for grace notes. This property should be manipulated through the
add-grace-propertyfunction.Grob_pq_engraverAdministrate when certain grobs (e.g., note heads) stop playing.
Properties (read)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Properties (write)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Instrument_switch_engraverCreate a cue text for taking instrument.
Properties (read)
instrumentCueName(markup)The name to print if another instrument is to be taken.
This engraver creates the following layout object(s):
Laissez_vibrer_engraverCreate laissez vibrer items.
Music types accepted:
This engraver creates the following layout object(s):
Ligature_bracket_engraverHandle
Ligature_eventsby engravingLigaturebrackets.Music types accepted:
This engraver creates the following layout object(s):
Multi_measure_rest_engraverEngrave multi-measure rests that are produced with ‘R’. It reads
measurePositionandinternalBarNumberto determine what number to print over the MultiMeasureRest.Music types accepted:
multi-measure-articulation-event, multi-measure-rest-event and multi-measure-text-event
Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
internalBarNumber(integer)Contains the current barnumber. This property is used for internal timekeeping, among others by the
Accidental_engraver.measurePosition(moment)How much of the current measure have we had. This can be set manually to create incomplete measures.
restNumberThreshold(number)If a multimeasure rest has more measures than this, a number is printed.
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 ‘scm/bar-line.scm’.
This engraver creates the following layout object(s):
MultiMeasureRest, MultiMeasureRestNumber, MultiMeasureRestScript and MultiMeasureRestText.
Note_head_line_engraverEngrave a line between two note heads in a staff switch if
followVoiceis set.Properties (read)
followVoice(boolean)If set, note heads are tracked across staff switches by a thin line.
This engraver creates the following layout object(s):
Note_spacing_engraverGenerate
NoteSpacing, an object linking horizontal lines for use in spacing.This engraver creates the following layout object(s):
Output_property_engraverApply a procedure to any grob acknowledged.
Music types accepted:
Part_combine_engraverPart combine engraver for orchestral scores: Print markings ‘a2’, ‘Solo’, ‘Solo II’, and ‘unisono’.
Music types accepted:
note-event and part-combine-event
Properties (read)
aDueText(markup)Text to print at a unisono passage.
partCombineTextsOnNote(boolean)Print part-combine texts only on the next note rather than immediately on rests or skips.
printPartCombineTexts(boolean)Set ‘Solo’ and ‘A due’ texts in the part combiner?
soloIIText(markup)The text for the start of a solo for voice ‘two’ when part-combining.
soloText(markup)The text for the start of a solo when part-combining.
This engraver creates the following layout object(s):
Percent_repeat_engraverMake whole measure repeats.
Music types accepted:
Properties (read)
countPercentRepeats(boolean)If set, produce counters for percent repeats.
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
repeatCountVisibility(procedure)A procedure taking as arguments an integer and context, returning whether the corresponding percent repeat number should be printed when
countPercentRepeatsis set.This engraver creates the following layout object(s):
Phrasing_slur_engraverPrint phrasing slurs. Similar to Slur_engraver.
Music types accepted:
note-event and phrasing-slur-event
This engraver creates the following layout object(s):
Repeat_tie_engraverCreate repeat ties.
Music types accepted:
This engraver creates the following layout object(s):
RepeatTie and RepeatTieColumn.
Rest_engraverEngrave rests.
Music types accepted:
Properties (read)
middleCPosition(number)The place of the middle C, measured in half staff-spaces. Usually determined by looking at
middleCClefPositionandmiddleCOffset.This engraver creates the following layout object(s):
Rest.
Rhythmic_column_engraverGenerate
NoteColumn, an object that groups stems, note heads, and rests.This engraver creates the following layout object(s):
Script_column_engraverFind potentially colliding scripts and put them into a
ScriptColumnobject; that will fix the collisions.This engraver creates the following layout object(s):
Script_engraverHandle note scripted articulations.
Music types accepted:
Properties (read)
scriptDefinitions(list)The description of scripts. This is used by the
Script_engraverfor typesetting note-superscripts and subscripts. See ‘scm/script.scm’ for more information.This engraver creates the following layout object(s):
Slash_repeat_engraverMake beat repeats.
Music types accepted:
This engraver creates the following layout object(s):
Slur_engraverBuild slur grobs from slur events.
Music types accepted:
note-event and slur-event
Properties (read)
doubleSlurs(boolean)If set, two slurs are created for every slurred note, one above and one below the chord.
slurMelismaBusy(boolean)Signal if a slur is present.
This engraver creates the following layout object(s):
Slur.
Spanner_break_forbid_engraverForbid breaks in certain spanners.
Stem_engraverCreate stems, flags and single-stem tremolos. It also works together with the beam engraver for overriding beaming.
Music types accepted:
tremolo-event and tuplet-span-event
Properties (read)
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.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 ‘scm/bar-line.scm’.
This engraver creates the following layout object(s):
Flag, Stem, StemStub and StemTremolo.
Tab_note_heads_engraverGenerate one or more tablature note heads from event of type
NoteEvent.Music types accepted:
fingering-event, note-event and string-number-event
Properties (read)
defaultStrings(list)A list of strings to use in calculating frets for tablatures and fretboards if no strings are provided in the notes for the current moment.
fretLabels(list)A list of strings or Scheme-formatted markups containing, in the correct order, the labels to be used for lettered frets in tablature.
highStringOne(boolean)Whether the first string is the string with highest pitch on the instrument. This used by the automatic string selector for tablature notation.
maximumFretStretch(number)Don’t allocate frets further than this from specified frets.
middleCPosition(number)The place of the middle C, measured in half staff-spaces. Usually determined by looking at
middleCClefPositionandmiddleCOffset.minimumFret(number)The tablature auto string-selecting mechanism selects the highest string with a fret at least
minimumFret.noteToFretFunction(procedure)Convert list of notes and list of defined strings to full list of strings and fret numbers. Parameters: The context, a list of note events, a list of tabstring events, and the fretboard grob if a fretboard is desired.
stringOneTopmost(boolean)Whether the first string is printed on the top line of the tablature.
stringTunings(list)The tablature strings tuning. It is a list of the pitches of each string (starting with the lowest numbered one).
tablatureFormat(procedure)A function formatting a tablature note head. Called with three arguments: context, string number and, fret number. It returns the text as a markup.
tabStaffLineLayoutFunction(procedure)A function determining the staff position of a tablature note head. Called with two arguments: the context and the string.
This engraver creates the following layout object(s):
Tab_tie_follow_engraverAdjust TabNoteHead properties when a tie is followed by a slur or glissando.
Text_engraverCreate text scripts.
Music types accepted:
This engraver creates the following layout object(s):
Text_spanner_engraverCreate text spanner from an event.
Music types accepted:
Properties (read)
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
Tie_engraverGenerate ties between note heads of equal pitch.
Music types accepted:
Properties (read)
skipTypesetting(boolean)If true, no typesetting is done, speeding up the interpretation phase. Useful for debugging large scores.
tieWaitForNote(boolean)If true, tied notes do not have to follow each other directly. This can be used for writing out arpeggios.
Properties (write)
tieMelismaBusy(boolean)Signal whether a tie is present.
This engraver creates the following layout object(s):
Trill_spanner_engraverCreate trill spanner from an event.
Music types accepted:
Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
Tuplet_engraverCatch tuplet events and generate appropriate bracket.
Music types accepted:
Properties (read)
tupletFullLength(boolean)If set, the tuplet is printed up to the start of the next note.
tupletFullLengthNote(boolean)If set, end at the next note, otherwise end on the matter (time signatures, etc.) before the note.
This engraver creates the following layout object(s):
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Same as Staff context, except that it is
accommodated for typesetting Gregorian Chant in the notational style
of Editio Vaticana.
This context also accepts commands for the following context(s):
Staff.
This context creates the following layout object(s):
Accidental, AccidentalCautionary, AccidentalPlacement, AccidentalSuggestion, BarLine, BassFigure, BassFigureAlignment, BassFigureAlignmentPositioning, BassFigureBracket, BassFigureContinuation, BassFigureLine, Clef, ClefModifier, CueClef, CueEndClef, Custos, DotColumn, FingeringColumn, InstrumentName, KeyCancellation, KeySignature, LedgerLineSpanner, NoteCollision, OttavaBracket, PianoPedalBracket, RestCollision, ScriptRow, SostenutoPedal, SostenutoPedalLineSpanner, StaffSpacing, StaffSymbol, SustainPedal, SustainPedalLineSpanner, UnaCordaPedal, UnaCordaPedalLineSpanner and VerticalAxisGroup.
This context sets the following properties:
glyph-name-alist in Accidental to:
'((-1/2 . "accidentals.vaticanaM1") (0 . "accidentals.vaticana0") (1/2 . "accidentals.mensural1"))
glyph-name-alist in KeySignature to:
'((-1/2 . "accidentals.vaticanaM1") (0 . "accidentals.vaticana0") (1/2 . "accidentals.mensural1"))
line-count in StaffSymbol to
4.
neutral-direction in Custos to
-1.
neutral-position in Custos to
3.
style in Custos to
'vaticana.
style in Dots to
'vaticana.
thickness in StaffSymbol to
0.6.
transparent in BarLine to
#t.
clefGlyph to
"clefs.vaticana.do".
clefPosition to
1.
clefTransposition to
0.
createSpacing to
#t.
ignoreFiguredBassRest to
#f.
instrumentName to
'().
localAlterations to
'().
middleCClefPosition to
1.
middleCPosition to
1.
ottavationMarkups to:
'((4 . "29") (3 . "22") (2 . "15") (1 . "8") (-1 . "8") (-2 . "15") (-3 . "22") (-4 . "29"))
shortInstrumentName to
'().
This is not a ‘Bottom’ context; search for such a one will commence after creating an implicit context of type VaticanaVoice.
Context VaticanaStaff can contain CueVoice, NullVoice and VaticanaVoice.
This context is built from the following engraver(s):
Accidental_engraverMake accidentals. Catch note heads, ties and notices key-change events. This engraver usually lives at Staff level, but reads the settings for Accidental at
Voicelevel, so you can\overridethem atVoice.Properties (read)
accidentalGrouping(symbol)If set to
'voice, accidentals on the same note in different octaves may be horizontally staggered if in different voices.autoAccidentals(list)List of different ways to typeset an accidental.
For determining when to print an accidental, several different rules are tried. The rule that gives the highest number of accidentals is used.
Each entry in the list is either a symbol or a procedure.
- symbol
The symbol is the name of the context in which the following rules are to be applied. For example, if context is (internals-big-page)Score section ‘Score’ in Internals Reference then all staves share accidentals, and if context is (internals-big-page)Staff section ‘Staff’ in Internals Reference then all voices in the same staff share accidentals, but staves do not.
- procedure
The procedure represents an accidental rule to be applied to the previously specified context.
The procedure takes the following arguments:
contextThe current context to which the rule should be applied.
pitchThe pitch of the note to be evaluated.
barnumThe current bar number.
measureposThe current measure position.
The procedure returns a pair of booleans. The first states whether an extra natural should be added. The second states whether an accidental should be printed.
(#t . #f)does not make sense.autoCautionaries(list)List similar to
autoAccidentals, but it controls cautionary accidentals rather than normal ones. Both lists are tried, and the one giving the most accidentals wins. In case of draw, a normal accidental is typeset.extraNatural(boolean)Whether to typeset an extra natural sign before accidentals that reduce the effect of a previous alteration.
harmonicAccidentals(boolean)If set, harmonic notes in chords get accidentals.
internalBarNumber(integer)Contains the current barnumber. This property is used for internal timekeeping, among others by the
Accidental_engraver.keyAlterations(list)The current key signature. This is an alist containing
(step . alter)or((octave . step) . alter), where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.keyAlterations = #`((6 . ,FLAT)).localAlterations(list)The key signature at this point in the measure. The format is the same as for
keyAlterations, but can also contain((octave . name) . (alter barnumber . measureposition))pairs.Properties (write)
localAlterations(list)The key signature at this point in the measure. The format is the same as for
keyAlterations, but can also contain((octave . name) . (alter barnumber . measureposition))pairs.This engraver creates the following layout object(s):
Accidental, AccidentalCautionary, AccidentalPlacement and AccidentalSuggestion.
Axis_group_engraverGroup all objects created in this context in a
VerticalAxisGroupspanner.Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
hasAxisGroup(boolean)True if the current context is contained in an axis group.
keepAliveInterfaces(list)A list of symbols, signifying grob interfaces that are worth keeping a staff with
remove-emptyset around for.Properties (write)
hasAxisGroup(boolean)True if the current context is contained in an axis group.
This engraver creates the following layout object(s):
Bar_engraverCreate barlines. This engraver is controlled through the
whichBarproperty. If it has no bar line to create, it will forbid a linebreak at this point. This engraver is required to trigger the creation of clefs at the start of systems.Properties (read)
whichBar(string)This property is read to determine what type of bar line to create.
Example:
\set Staff.whichBar = ".|:"This will create a start-repeat bar in this staff only. Valid values are described in ‘scm/bar-line.scm’.
Properties (write)
forbidBreak(boolean)If set to
#t, prevent a line break at this point.This engraver creates the following layout object(s):
Clef_engraverDetermine and set reference point for pitches.
Properties (read)
clefGlyph(string)Name of the symbol within the music font.
clefPosition(number)Where should the center of the clef symbol go, measured in half staff spaces from the center of the staff.
clefTransposition(integer)Add this much extra transposition. Values of 7 and -7 are common.
clefTranspositionStyle(symbol)Determines the way the ClefModifier grob is displayed. Possible values are ‘default’, ‘parenthesized’ and ‘bracketed’.
explicitClefVisibility(vector)‘break-visibility’ function for clef changes.
forceClef(boolean)Show clef symbol, even if it has not changed. Only active for the first clef after the property is set, not for the full staff.
This engraver creates the following layout object(s):
Clef and ClefModifier.
Collision_engraverCollect
NoteColumns, and as soon as there are two or more, put them in aNoteCollisionobject.This engraver creates the following layout object(s):
Cue_clef_engraverDetermine and set reference point for pitches in cued voices.
Properties (read)
clefTransposition(integer)Add this much extra transposition. Values of 7 and -7 are common.
cueClefGlyph(string)Name of the symbol within the music font.
cueClefPosition(number)Where should the center of the clef symbol go, measured in half staff spaces from the center of the staff.
cueClefTransposition(integer)Add this much extra transposition. Values of 7 and -7 are common.
cueClefTranspositionStyle(symbol)Determines the way the ClefModifier grob is displayed. Possible values are ‘default’, ‘parenthesized’ and ‘bracketed’.
explicitCueClefVisibility(vector)‘break-visibility’ function for cue clef changes.
middleCCuePosition(number)The position of the middle C, as determined only by the clef of the cue notes. This can be calculated by looking at
cueClefPositionandcueClefGlyph.This engraver creates the following layout object(s):
ClefModifier, CueClef and CueEndClef.
Custos_engraverEngrave custodes.
This engraver creates the following layout object(s):
Dot_column_engraverEngrave dots on dotted notes shifted to the right of the note. If omitted, then dots appear on top of the notes.
This engraver creates the following layout object(s):
Figured_bass_engraverMake figured bass numbers.
Music types accepted:
bass-figure-event and rest-event
Properties (read)
figuredBassAlterationDirection(direction)Where to put alterations relative to the main figure.
figuredBassCenterContinuations(boolean)Whether to vertically center pairs of extender lines. This does not work with three or more lines.
figuredBassFormatter(procedure)A routine generating a markup for a bass figure.
ignoreFiguredBassRest(boolean)Don’t swallow rest events.
implicitBassFigures(list)A list of bass figures that are not printed as numbers, but only as extender lines.
useBassFigureExtenders(boolean)Whether to use extender lines for repeated bass figures.
This engraver creates the following layout object(s):
BassFigure, BassFigureAlignment, BassFigureBracket, BassFigureContinuation and BassFigureLine.
Figured_bass_position_engraverPosition figured bass alignments over notes.
This engraver creates the following layout object(s):
Fingering_column_engraverFind potentially colliding scripts and put them into a
FingeringColumnobject; that will fix the collisions.This engraver creates the following layout object(s):
Font_size_engraverPut
fontSizeintofont-sizegrob property.Properties (read)
fontSize(number)The relative size of all grobs in a context.
Grob_pq_engraverAdministrate when certain grobs (e.g., note heads) stop playing.
Properties (read)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Properties (write)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Instrument_name_engraverCreate a system start text for instrument or vocal names.
Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
instrumentName(markup)The name to print left of a staff. The
instrumentNameproperty labels the staff in the first system, and theshortInstrumentNameproperty labels following lines.shortInstrumentName(markup)See
instrumentName.shortVocalName(markup)Name of a vocal line, short version.
vocalName(markup)Name of a vocal line.
This engraver creates the following layout object(s):
Key_engraverEngrave a key signature.
Music types accepted:
Properties (read)
createKeyOnClefChange(boolean)Print a key signature whenever the clef is changed.
explicitKeySignatureVisibility(vector)‘break-visibility’ function for explicit key changes. ‘\override’ of the
break-visibilityproperty will set the visibility for normal (i.e., at the start of the line) key signatures.extraNatural(boolean)Whether to typeset an extra natural sign before accidentals that reduce the effect of a previous alteration.
keyAlterationOrder(list)An alist that defines in what order alterations should be printed. The format is
(step . alter), where step is a number from 0 to 6 and alter from -2 (sharp) to 2 (flat).keyAlterations(list)The current key signature. This is an alist containing
(step . alter)or((octave . step) . alter), where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.keyAlterations = #`((6 . ,FLAT)).lastKeyAlterations(list)Last key signature before a key signature change.
middleCClefPosition(number)The position of the middle C, as determined only by the clef. This can be calculated by looking at
clefPositionandclefGlyph.printKeyCancellation(boolean)Print restoration alterations before a key signature change.
Properties (write)
keyAlterations(list)The current key signature. This is an alist containing
(step . alter)or((octave . step) . alter), where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.keyAlterations = #`((6 . ,FLAT)).lastKeyAlterations(list)Last key signature before a key signature change.
tonic(pitch)The tonic of the current scale.
This engraver creates the following layout object(s):
Ledger_line_engraverCreate the spanner to draw ledger lines, and notices objects that need ledger lines.
This engraver creates the following layout object(s):
Ottava_spanner_engraverCreate a text spanner when the ottavation property changes.
Properties (read)
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
middleCOffset(number)The offset of middle C from the position given by
middleCClefPositionThis is used for ottava brackets.ottavation(markup)If set, the text for an ottava spanner. Changing this creates a new text spanner.
This engraver creates the following layout object(s):
Output_property_engraverApply a procedure to any grob acknowledged.
Music types accepted:
Piano_pedal_align_engraverAlign piano pedal symbols and brackets.
Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
This engraver creates the following layout object(s):
SostenutoPedalLineSpanner, SustainPedalLineSpanner and UnaCordaPedalLineSpanner.
Piano_pedal_engraverEngrave piano pedal symbols and brackets.
Music types accepted:
sostenuto-event, sustain-event and una-corda-event
Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
pedalSostenutoStrings(list)See
pedalSustainStrings.pedalSostenutoStyle(symbol)See
pedalSustainStyle.pedalSustainStrings(list)A list of strings to print for sustain-pedal. Format is
(up updown down), where each of the three is the string to print when this is done with the pedal.pedalSustainStyle(symbol)A symbol that indicates how to print sustain pedals:
text,bracketormixed(both).pedalUnaCordaStrings(list)See
pedalSustainStrings.pedalUnaCordaStyle(symbol)See
pedalSustainStyle.This engraver creates the following layout object(s):
PianoPedalBracket, SostenutoPedal, SustainPedal and UnaCordaPedal.
Pure_from_neighbor_engraverCoordinates items that get their pure heights from their neighbors.
Rest_collision_engraverHandle collisions of rests.
Properties (read)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).This engraver creates the following layout object(s):
Script_row_engraverDetermine order in horizontal side position elements.
This engraver creates the following layout object(s):
Separating_line_group_engraverGenerate objects for computing spacing parameters.
Properties (read)
createSpacing(boolean)Create
StaffSpacingobjects? Should be set for staves.Properties (write)
hasStaffSpacing(boolean)True if the current
CommandColumncontains items that will affect spacing.This engraver creates the following layout object(s):
Staff_collecting_engraverMaintain the
stavesFoundvariable.Properties (read)
stavesFound(list of grobs)A list of all staff-symbols found.
Properties (write)
stavesFound(list of grobs)A list of all staff-symbols found.
Staff_symbol_engraverCreate the constellation of five (default) staff lines.
Music types accepted:
This engraver creates the following layout object(s):
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Same as Voice context, except that it is
accommodated for typesetting Gregorian Chant in the notational style
of Editio Vaticana.
This context also accepts commands for the following context(s):
Voice.
This context creates the following layout object(s):
Arpeggio, Beam, BendAfter, BreathingSign, ClusterSpanner, ClusterSpannerBeacon, CombineTextScript, DotColumn, Dots, DoublePercentRepeat, DoublePercentRepeatCounter, DoubleRepeatSlash, DynamicLineSpanner, DynamicText, DynamicTextSpanner, Episema, Fingering, Glissando, Hairpin, InstrumentSwitch, LaissezVibrerTie, LaissezVibrerTieColumn, MultiMeasureRest, MultiMeasureRestNumber, MultiMeasureRestScript, MultiMeasureRestText, NoteColumn, NoteHead, NoteSpacing, PercentRepeat, PercentRepeatCounter, PhrasingSlur, RepeatSlash, RepeatTie, RepeatTieColumn, Rest, Script, ScriptColumn, StringNumber, StrokeFinger, TextScript, Tie, TieColumn, TrillPitchAccidental, TrillPitchGroup, TrillPitchHead, TrillSpanner, TupletBracket, TupletNumber, VaticanaLigature and VoiceFollower.
This context sets the following properties:
padding in Script to
0.5.
style in NoteHead to
'vaticana.punctum.
autoBeaming to
#f.
This is a ‘Bottom’ context; no contexts will be created implicitly from it.
This context cannot contain other contexts.
This context is built from the following engraver(s):
Arpeggio_engraverGenerate an Arpeggio symbol.
Music types accepted:
This engraver creates the following layout object(s):
Auto_beam_engraverGenerate beams based on measure characteristics and observed Stems. Uses
baseMoment,beatStructure,beamExceptions,measureLength, andmeasurePositionto decide when to start and stop a beam. Overriding beaming is done through Stem_engraver propertiesstemLeftBeamCountandstemRightBeamCount.Music types accepted:
Properties (read)
autoBeaming(boolean)If set to true then beams are generated automatically.
baseMoment(moment)Smallest unit of time that will stand on its own as a subdivided section.
beamExceptions(list)An alist of exceptions to autobeam rules that normally end on beats.
beamHalfMeasure(boolean)Whether to allow a beam to begin halfway through the measure in triple time, which could look like 6/8.
beatStructure(list)List of
baseMoments that are combined to make beats.subdivideBeams(boolean)If set, multiple beams will be subdivided at
baseMomentpositions by only drawing one beam over the beat.This engraver creates the following layout object(s):
Beam.
Beam_engraverHandle
Beamevents by engraving beams. If omitted, then notes are printed with flags instead of beams.Music types accepted:
Properties (read)
baseMoment(moment)Smallest unit of time that will stand on its own as a subdivided section.
beamMelismaBusy(boolean)Signal if a beam is present.
beatStructure(list)List of
baseMoments that are combined to make beats.subdivideBeams(boolean)If set, multiple beams will be subdivided at
baseMomentpositions by only drawing one beam over the beat.Properties (write)
forbidBreak(boolean)If set to
#t, prevent a line break at this point.This engraver creates the following layout object(s):
Beam.
Bend_engraverCreate fall spanners.
Music types accepted:
This engraver creates the following layout object(s):
Breathing_sign_engraverCreate a breathing sign.
Music types accepted:
This engraver creates the following layout object(s):
Chord_tremolo_engraverGenerate beams for tremolo repeats.
Music types accepted:
This engraver creates the following layout object(s):
Beam.
Cluster_spanner_engraverEngrave a cluster using
Spannernotation.Music types accepted:
This engraver creates the following layout object(s):
Dots_engraverCreate Dots objects for rhythmic-head-interfaces.
This engraver creates the following layout object(s):
Dots.
Double_percent_repeat_engraverMake double measure repeats.
Music types accepted:
Properties (read)
countPercentRepeats(boolean)If set, produce counters for percent repeats.
measureLength(moment)Length of one measure in the current time signature.
repeatCountVisibility(procedure)A procedure taking as arguments an integer and context, returning whether the corresponding percent repeat number should be printed when
countPercentRepeatsis set.Properties (write)
forbidBreak(boolean)If set to
#t, prevent a line break at this point.This engraver creates the following layout object(s):
Dynamic_align_engraverAlign hairpins and dynamic texts on a horizontal line.
Properties (read)
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
Dynamic_engraverCreate hairpins, dynamic texts and dynamic text spanners.
Music types accepted:
absolute-dynamic-event, break-span-event and span-dynamic-event
Properties (read)
crescendoSpanner(symbol)The type of spanner to be used for crescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin crescendo is used.
crescendoText(markup)The text to print at start of non-hairpin crescendo, i.e., ‘cresc.’.
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
decrescendoSpanner(symbol)The type of spanner to be used for decrescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin decrescendo is used.
decrescendoText(markup)The text to print at start of non-hairpin decrescendo, i.e., ‘dim.’.
This engraver creates the following layout object(s):
Episema_engraverCreate an Editio Vaticana-style episema line.
Music types accepted:
This engraver creates the following layout object(s):
Fingering_engraverCreate fingering scripts.
Music types accepted:
This engraver creates the following layout object(s):
Font_size_engraverPut
fontSizeintofont-sizegrob property.Properties (read)
fontSize(number)The relative size of all grobs in a context.
Forbid_line_break_engraverForbid line breaks when note heads are still playing at some point.
Properties (read)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Properties (write)
forbidBreak(boolean)If set to
#t, prevent a line break at this point.Glissando_engraverEngrave glissandi.
Music types accepted:
Properties (read)
glissandoMap(list)A map in the form of ’((source1 . target1) (source2 . target2) (sourcen . targetn)) showing the glissandi to be drawn for note columns. The value ’() will default to ’((0 . 0) (1 . 1) (n . n)), where n is the minimal number of note-heads in the two note columns between which the glissandi occur.
This engraver creates the following layout object(s):
Grace_auto_beam_engraverGenerates one autobeam group across an entire grace phrase. As usual, any manual beaming or
\noBeamwill block autobeaming, just like setting the context property ‘autoBeaming’ to##f.Music types accepted:
Properties (read)
autoBeaming(boolean)If set to true then beams are generated automatically.
This engraver creates the following layout object(s):
Beam.
Grace_beam_engraverHandle
Beamevents by engraving beams. If omitted, then notes are printed with flags instead of beams. Only engraves beams when we are at grace points in time.Music types accepted:
Properties (read)
baseMoment(moment)Smallest unit of time that will stand on its own as a subdivided section.
beamMelismaBusy(boolean)Signal if a beam is present.
beatStructure(list)List of
baseMoments that are combined to make beats.subdivideBeams(boolean)If set, multiple beams will be subdivided at
baseMomentpositions by only drawing one beam over the beat.This engraver creates the following layout object(s):
Beam.
Grace_engraverSet font size and other properties for grace notes.
Properties (read)
graceSettings(list)Overrides for grace notes. This property should be manipulated through the
add-grace-propertyfunction.Grob_pq_engraverAdministrate when certain grobs (e.g., note heads) stop playing.
Properties (read)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Properties (write)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Instrument_switch_engraverCreate a cue text for taking instrument.
Properties (read)
instrumentCueName(markup)The name to print if another instrument is to be taken.
This engraver creates the following layout object(s):
Laissez_vibrer_engraverCreate laissez vibrer items.
Music types accepted:
This engraver creates the following layout object(s):
Multi_measure_rest_engraverEngrave multi-measure rests that are produced with ‘R’. It reads
measurePositionandinternalBarNumberto determine what number to print over the MultiMeasureRest.Music types accepted:
multi-measure-articulation-event, multi-measure-rest-event and multi-measure-text-event
Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
internalBarNumber(integer)Contains the current barnumber. This property is used for internal timekeeping, among others by the
Accidental_engraver.measurePosition(moment)How much of the current measure have we had. This can be set manually to create incomplete measures.
restNumberThreshold(number)If a multimeasure rest has more measures than this, a number is printed.
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 ‘scm/bar-line.scm’.
This engraver creates the following layout object(s):
MultiMeasureRest, MultiMeasureRestNumber, MultiMeasureRestScript and MultiMeasureRestText.
New_fingering_engraverCreate fingering scripts for notes in a new chord. This engraver is ill-named, since it also takes care of articulations and harmonic note heads.
Properties (read)
fingeringOrientations(list)A list of symbols, containing ‘left’, ‘right’, ‘up’ and/or ‘down’. This list determines where fingerings are put relative to the chord being fingered.
harmonicDots(boolean)If set, harmonic notes in dotted chords get dots.
stringNumberOrientations(list)See
fingeringOrientations.strokeFingerOrientations(list)See
fingeringOrientations.This engraver creates the following layout object(s):
Fingering, Script, StringNumber and StrokeFinger.
Note_head_line_engraverEngrave a line between two note heads in a staff switch if
followVoiceis set.Properties (read)
followVoice(boolean)If set, note heads are tracked across staff switches by a thin line.
This engraver creates the following layout object(s):
Note_heads_engraverGenerate note heads.
Music types accepted:
Properties (read)
middleCPosition(number)The place of the middle C, measured in half staff-spaces. Usually determined by looking at
middleCClefPositionandmiddleCOffset.staffLineLayoutFunction(procedure)Layout of staff lines,
traditional, orsemitone.This engraver creates the following layout object(s):
Note_spacing_engraverGenerate
NoteSpacing, an object linking horizontal lines for use in spacing.This engraver creates the following layout object(s):
Output_property_engraverApply a procedure to any grob acknowledged.
Music types accepted:
Part_combine_engraverPart combine engraver for orchestral scores: Print markings ‘a2’, ‘Solo’, ‘Solo II’, and ‘unisono’.
Music types accepted:
note-event and part-combine-event
Properties (read)
aDueText(markup)Text to print at a unisono passage.
partCombineTextsOnNote(boolean)Print part-combine texts only on the next note rather than immediately on rests or skips.
printPartCombineTexts(boolean)Set ‘Solo’ and ‘A due’ texts in the part combiner?
soloIIText(markup)The text for the start of a solo for voice ‘two’ when part-combining.
soloText(markup)The text for the start of a solo when part-combining.
This engraver creates the following layout object(s):
Percent_repeat_engraverMake whole measure repeats.
Music types accepted:
Properties (read)
countPercentRepeats(boolean)If set, produce counters for percent repeats.
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
repeatCountVisibility(procedure)A procedure taking as arguments an integer and context, returning whether the corresponding percent repeat number should be printed when
countPercentRepeatsis set.This engraver creates the following layout object(s):
Phrasing_slur_engraverPrint phrasing slurs. Similar to Slur_engraver.
Music types accepted:
note-event and phrasing-slur-event
This engraver creates the following layout object(s):
Pitched_trill_engraverPrint the bracketed note head after a note head with trill.
This engraver creates the following layout object(s):
Repeat_tie_engraverCreate repeat ties.
Music types accepted:
This engraver creates the following layout object(s):
RepeatTie and RepeatTieColumn.
Rest_engraverEngrave rests.
Music types accepted:
Properties (read)
middleCPosition(number)The place of the middle C, measured in half staff-spaces. Usually determined by looking at
middleCClefPositionandmiddleCOffset.This engraver creates the following layout object(s):
Rest.
Rhythmic_column_engraverGenerate
NoteColumn, an object that groups stems, note heads, and rests.This engraver creates the following layout object(s):
Script_column_engraverFind potentially colliding scripts and put them into a
ScriptColumnobject; that will fix the collisions.This engraver creates the following layout object(s):
Script_engraverHandle note scripted articulations.
Music types accepted:
Properties (read)
scriptDefinitions(list)The description of scripts. This is used by the
Script_engraverfor typesetting note-superscripts and subscripts. See ‘scm/script.scm’ for more information.This engraver creates the following layout object(s):
Slash_repeat_engraverMake beat repeats.
Music types accepted:
This engraver creates the following layout object(s):
Spanner_break_forbid_engraverForbid breaks in certain spanners.
Text_engraverCreate text scripts.
Music types accepted:
This engraver creates the following layout object(s):
Tie_engraverGenerate ties between note heads of equal pitch.
Music types accepted:
Properties (read)
skipTypesetting(boolean)If true, no typesetting is done, speeding up the interpretation phase. Useful for debugging large scores.
tieWaitForNote(boolean)If true, tied notes do not have to follow each other directly. This can be used for writing out arpeggios.
Properties (write)
tieMelismaBusy(boolean)Signal whether a tie is present.
This engraver creates the following layout object(s):
Trill_spanner_engraverCreate trill spanner from an event.
Music types accepted:
Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
Tuplet_engraverCatch tuplet events and generate appropriate bracket.
Music types accepted:
Properties (read)
tupletFullLength(boolean)If set, the tuplet is printed up to the start of the next note.
tupletFullLengthNote(boolean)If set, end at the next note, otherwise end on the matter (time signatures, etc.) before the note.
This engraver creates the following layout object(s):
Vaticana_ligature_engraverHandle ligatures by glueing special ligature heads together.
Music types accepted:
ligature-event and pes-or-flexa-event
This engraver creates the following layout object(s):
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Corresponds to a voice on a staff. This context handles the conversion of dynamic signs, stems, beams, super- and subscripts, slurs, ties, and rests.
You have to instantiate this explicitly if you want to have multiple voices on the same staff.
This context creates the following layout object(s):
Arpeggio, Beam, BendAfter, BreathingSign, ClusterSpanner, ClusterSpannerBeacon, CombineTextScript, Dots, DoublePercentRepeat, DoublePercentRepeatCounter, DoubleRepeatSlash, DynamicLineSpanner, DynamicText, DynamicTextSpanner, Fingering, Flag, Glissando, Hairpin, InstrumentSwitch, LaissezVibrerTie, LaissezVibrerTieColumn, LigatureBracket, MultiMeasureRest, MultiMeasureRestNumber, MultiMeasureRestScript, MultiMeasureRestText, NoteColumn, NoteHead, NoteSpacing, PercentRepeat, PercentRepeatCounter, PhrasingSlur, RepeatSlash, RepeatTie, RepeatTieColumn, Rest, Script, ScriptColumn, Slur, Stem, StemStub, StemTremolo, StringNumber, StrokeFinger, TextScript, TextSpanner, Tie, TieColumn, TrillPitchAccidental, TrillPitchGroup, TrillPitchHead, TrillSpanner, TupletBracket, TupletNumber and VoiceFollower.
This is a ‘Bottom’ context; no contexts will be created implicitly from it.
This context cannot contain other contexts.
This context is built from the following engraver(s):
Arpeggio_engraverGenerate an Arpeggio symbol.
Music types accepted:
This engraver creates the following layout object(s):
Auto_beam_engraverGenerate beams based on measure characteristics and observed Stems. Uses
baseMoment,beatStructure,beamExceptions,measureLength, andmeasurePositionto decide when to start and stop a beam. Overriding beaming is done through Stem_engraver propertiesstemLeftBeamCountandstemRightBeamCount.Music types accepted:
Properties (read)
autoBeaming(boolean)If set to true then beams are generated automatically.
baseMoment(moment)Smallest unit of time that will stand on its own as a subdivided section.
beamExceptions(list)An alist of exceptions to autobeam rules that normally end on beats.
beamHalfMeasure(boolean)Whether to allow a beam to begin halfway through the measure in triple time, which could look like 6/8.
beatStructure(list)List of
baseMoments that are combined to make beats.subdivideBeams(boolean)If set, multiple beams will be subdivided at
baseMomentpositions by only drawing one beam over the beat.This engraver creates the following layout object(s):
Beam.
Beam_engraverHandle
Beamevents by engraving beams. If omitted, then notes are printed with flags instead of beams.Music types accepted:
Properties (read)
baseMoment(moment)Smallest unit of time that will stand on its own as a subdivided section.
beamMelismaBusy(boolean)Signal if a beam is present.
beatStructure(list)List of
baseMoments that are combined to make beats.subdivideBeams(boolean)If set, multiple beams will be subdivided at
baseMomentpositions by only drawing one beam over the beat.Properties (write)
forbidBreak(boolean)If set to
#t, prevent a line break at this point.This engraver creates the following layout object(s):
Beam.
Bend_engraverCreate fall spanners.
Music types accepted:
This engraver creates the following layout object(s):
Breathing_sign_engraverCreate a breathing sign.
Music types accepted:
This engraver creates the following layout object(s):
Chord_tremolo_engraverGenerate beams for tremolo repeats.
Music types accepted:
This engraver creates the following layout object(s):
Beam.
Cluster_spanner_engraverEngrave a cluster using
Spannernotation.Music types accepted:
This engraver creates the following layout object(s):
Dots_engraverCreate Dots objects for rhythmic-head-interfaces.
This engraver creates the following layout object(s):
Dots.
Double_percent_repeat_engraverMake double measure repeats.
Music types accepted:
Properties (read)
countPercentRepeats(boolean)If set, produce counters for percent repeats.
measureLength(moment)Length of one measure in the current time signature.
repeatCountVisibility(procedure)A procedure taking as arguments an integer and context, returning whether the corresponding percent repeat number should be printed when
countPercentRepeatsis set.Properties (write)
forbidBreak(boolean)If set to
#t, prevent a line break at this point.This engraver creates the following layout object(s):
Dynamic_align_engraverAlign hairpins and dynamic texts on a horizontal line.
Properties (read)
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
Dynamic_engraverCreate hairpins, dynamic texts and dynamic text spanners.
Music types accepted:
absolute-dynamic-event, break-span-event and span-dynamic-event
Properties (read)
crescendoSpanner(symbol)The type of spanner to be used for crescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin crescendo is used.
crescendoText(markup)The text to print at start of non-hairpin crescendo, i.e., ‘cresc.’.
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
decrescendoSpanner(symbol)The type of spanner to be used for decrescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin decrescendo is used.
decrescendoText(markup)The text to print at start of non-hairpin decrescendo, i.e., ‘dim.’.
This engraver creates the following layout object(s):
Fingering_engraverCreate fingering scripts.
Music types accepted:
This engraver creates the following layout object(s):
Font_size_engraverPut
fontSizeintofont-sizegrob property.Properties (read)
fontSize(number)The relative size of all grobs in a context.
Forbid_line_break_engraverForbid line breaks when note heads are still playing at some point.
Properties (read)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Properties (write)
forbidBreak(boolean)If set to
#t, prevent a line break at this point.Glissando_engraverEngrave glissandi.
Music types accepted:
Properties (read)
glissandoMap(list)A map in the form of ’((source1 . target1) (source2 . target2) (sourcen . targetn)) showing the glissandi to be drawn for note columns. The value ’() will default to ’((0 . 0) (1 . 1) (n . n)), where n is the minimal number of note-heads in the two note columns between which the glissandi occur.
This engraver creates the following layout object(s):
Grace_auto_beam_engraverGenerates one autobeam group across an entire grace phrase. As usual, any manual beaming or
\noBeamwill block autobeaming, just like setting the context property ‘autoBeaming’ to##f.Music types accepted:
Properties (read)
autoBeaming(boolean)If set to true then beams are generated automatically.
This engraver creates the following layout object(s):
Beam.
Grace_beam_engraverHandle
Beamevents by engraving beams. If omitted, then notes are printed with flags instead of beams. Only engraves beams when we are at grace points in time.Music types accepted:
Properties (read)
baseMoment(moment)Smallest unit of time that will stand on its own as a subdivided section.
beamMelismaBusy(boolean)Signal if a beam is present.
beatStructure(list)List of
baseMoments that are combined to make beats.subdivideBeams(boolean)If set, multiple beams will be subdivided at
baseMomentpositions by only drawing one beam over the beat.This engraver creates the following layout object(s):
Beam.
Grace_engraverSet font size and other properties for grace notes.
Properties (read)
graceSettings(list)Overrides for grace notes. This property should be manipulated through the
add-grace-propertyfunction.Grob_pq_engraverAdministrate when certain grobs (e.g., note heads) stop playing.
Properties (read)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Properties (write)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Instrument_switch_engraverCreate a cue text for taking instrument.
Properties (read)
instrumentCueName(markup)The name to print if another instrument is to be taken.
This engraver creates the following layout object(s):
Laissez_vibrer_engraverCreate laissez vibrer items.
Music types accepted:
This engraver creates the following layout object(s):
Ligature_bracket_engraverHandle
Ligature_eventsby engravingLigaturebrackets.Music types accepted:
This engraver creates the following layout object(s):
Multi_measure_rest_engraverEngrave multi-measure rests that are produced with ‘R’. It reads
measurePositionandinternalBarNumberto determine what number to print over the MultiMeasureRest.Music types accepted:
multi-measure-articulation-event, multi-measure-rest-event and multi-measure-text-event
Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
internalBarNumber(integer)Contains the current barnumber. This property is used for internal timekeeping, among others by the
Accidental_engraver.measurePosition(moment)How much of the current measure have we had. This can be set manually to create incomplete measures.
restNumberThreshold(number)If a multimeasure rest has more measures than this, a number is printed.
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 ‘scm/bar-line.scm’.
This engraver creates the following layout object(s):
MultiMeasureRest, MultiMeasureRestNumber, MultiMeasureRestScript and MultiMeasureRestText.
New_fingering_engraverCreate fingering scripts for notes in a new chord. This engraver is ill-named, since it also takes care of articulations and harmonic note heads.
Properties (read)
fingeringOrientations(list)A list of symbols, containing ‘left’, ‘right’, ‘up’ and/or ‘down’. This list determines where fingerings are put relative to the chord being fingered.
harmonicDots(boolean)If set, harmonic notes in dotted chords get dots.
stringNumberOrientations(list)See
fingeringOrientations.strokeFingerOrientations(list)See
fingeringOrientations.This engraver creates the following layout object(s):
Fingering, Script, StringNumber and StrokeFinger.
Note_head_line_engraverEngrave a line between two note heads in a staff switch if
followVoiceis set.Properties (read)
followVoice(boolean)If set, note heads are tracked across staff switches by a thin line.
This engraver creates the following layout object(s):
Note_heads_engraverGenerate note heads.
Music types accepted:
Properties (read)
middleCPosition(number)The place of the middle C, measured in half staff-spaces. Usually determined by looking at
middleCClefPositionandmiddleCOffset.staffLineLayoutFunction(procedure)Layout of staff lines,
traditional, orsemitone.This engraver creates the following layout object(s):
Note_spacing_engraverGenerate
NoteSpacing, an object linking horizontal lines for use in spacing.This engraver creates the following layout object(s):
Output_property_engraverApply a procedure to any grob acknowledged.
Music types accepted:
Part_combine_engraverPart combine engraver for orchestral scores: Print markings ‘a2’, ‘Solo’, ‘Solo II’, and ‘unisono’.
Music types accepted:
note-event and part-combine-event
Properties (read)
aDueText(markup)Text to print at a unisono passage.
partCombineTextsOnNote(boolean)Print part-combine texts only on the next note rather than immediately on rests or skips.
printPartCombineTexts(boolean)Set ‘Solo’ and ‘A due’ texts in the part combiner?
soloIIText(markup)The text for the start of a solo for voice ‘two’ when part-combining.
soloText(markup)The text for the start of a solo when part-combining.
This engraver creates the following layout object(s):
Percent_repeat_engraverMake whole measure repeats.
Music types accepted:
Properties (read)
countPercentRepeats(boolean)If set, produce counters for percent repeats.
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
repeatCountVisibility(procedure)A procedure taking as arguments an integer and context, returning whether the corresponding percent repeat number should be printed when
countPercentRepeatsis set.This engraver creates the following layout object(s):
Phrasing_slur_engraverPrint phrasing slurs. Similar to Slur_engraver.
Music types accepted:
note-event and phrasing-slur-event
This engraver creates the following layout object(s):
Pitched_trill_engraverPrint the bracketed note head after a note head with trill.
This engraver creates the following layout object(s):
Repeat_tie_engraverCreate repeat ties.
Music types accepted:
This engraver creates the following layout object(s):
RepeatTie and RepeatTieColumn.
Rest_engraverEngrave rests.
Music types accepted:
Properties (read)
middleCPosition(number)The place of the middle C, measured in half staff-spaces. Usually determined by looking at
middleCClefPositionandmiddleCOffset.This engraver creates the following layout object(s):
Rest.
Rhythmic_column_engraverGenerate
NoteColumn, an object that groups stems, note heads, and rests.This engraver creates the following layout object(s):
Script_column_engraverFind potentially colliding scripts and put them into a
ScriptColumnobject; that will fix the collisions.This engraver creates the following layout object(s):
Script_engraverHandle note scripted articulations.
Music types accepted:
Properties (read)
scriptDefinitions(list)The description of scripts. This is used by the
Script_engraverfor typesetting note-superscripts and subscripts. See ‘scm/script.scm’ for more information.This engraver creates the following layout object(s):
Slash_repeat_engraverMake beat repeats.
Music types accepted:
This engraver creates the following layout object(s):
Slur_engraverBuild slur grobs from slur events.
Music types accepted:
note-event and slur-event
Properties (read)
doubleSlurs(boolean)If set, two slurs are created for every slurred note, one above and one below the chord.
slurMelismaBusy(boolean)Signal if a slur is present.
This engraver creates the following layout object(s):
Slur.
Spanner_break_forbid_engraverForbid breaks in certain spanners.
Stem_engraverCreate stems, flags and single-stem tremolos. It also works together with the beam engraver for overriding beaming.
Music types accepted:
tremolo-event and tuplet-span-event
Properties (read)
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.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 ‘scm/bar-line.scm’.
This engraver creates the following layout object(s):
Flag, Stem, StemStub and StemTremolo.
Text_engraverCreate text scripts.
Music types accepted:
This engraver creates the following layout object(s):
Text_spanner_engraverCreate text spanner from an event.
Music types accepted:
Properties (read)
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
Tie_engraverGenerate ties between note heads of equal pitch.
Music types accepted:
Properties (read)
skipTypesetting(boolean)If true, no typesetting is done, speeding up the interpretation phase. Useful for debugging large scores.
tieWaitForNote(boolean)If true, tied notes do not have to follow each other directly. This can be used for writing out arpeggios.
Properties (write)
tieMelismaBusy(boolean)Signal whether a tie is present.
This engraver creates the following layout object(s):
Trill_spanner_engraverCreate trill spanner from an event.
Music types accepted:
Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
Tuplet_engraverCatch tuplet events and generate appropriate bracket.
Music types accepted:
Properties (read)
tupletFullLength(boolean)If set, the tuplet is printed up to the start of the next note.
tupletFullLengthNote(boolean)If set, end at the next note, otherwise end on the matter (time signatures, etc.) before the note.
This engraver creates the following layout object(s):
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
See (notation-big-page)Modifying context plug-ins section ‘Modifying context plug-ins’ in Notation Reference.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
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)
accidentalGrouping(symbol)If set to
'voice, accidentals on the same note in different octaves may be horizontally staggered if in different voices.autoAccidentals(list)List of different ways to typeset an accidental.
For determining when to print an accidental, several different rules are tried. The rule that gives the highest number of accidentals is used.
Each entry in the list is either a symbol or a procedure.
- symbol
The symbol is the name of the context in which the following rules are to be applied. For example, if context is (internals-big-page)Score section ‘Score’ in Internals Reference then all staves share accidentals, and if context is (internals-big-page)Staff section ‘Staff’ in Internals Reference then all voices in the same staff share accidentals, but staves do not.
- procedure
The procedure represents an accidental rule to be applied to the previously specified context.
The procedure takes the following arguments:
contextThe current context to which the rule should be applied.
pitchThe pitch of the note to be evaluated.
barnumThe current bar number.
measureposThe current measure position.
The procedure returns a pair of booleans. The first states whether an extra natural should be added. The second states whether an accidental should be printed.
(#t . #f)does not make sense.autoCautionaries(list)List similar to
autoAccidentals, but it controls cautionary accidentals rather than normal ones. Both lists are tried, and the one giving the most accidentals wins. In case of draw, a normal accidental is typeset.extraNatural(boolean)Whether to typeset an extra natural sign before accidentals that reduce the effect of a previous alteration.
harmonicAccidentals(boolean)If set, harmonic notes in chords get accidentals.
internalBarNumber(integer)Contains the current barnumber. This property is used for internal timekeeping, among others by the
Accidental_engraver.keyAlterations(list)The current key signature. This is an alist containing
(step . alter)or((octave . step) . alter), where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.keyAlterations = #`((6 . ,FLAT)).localAlterations(list)The key signature at this point in the measure. The format is the same as for
keyAlterations, but can also contain((octave . name) . (alter barnumber . measureposition))pairs.
Properties (write)
localAlterations(list)The key signature at this point in the measure. The format is the same as for
keyAlterations, but can also contain((octave . name) . (alter barnumber . measureposition))pairs.
This engraver creates the following layout object(s):
Accidental, AccidentalCautionary, AccidentalPlacement and AccidentalSuggestion.
Accidental_engraver is part of the following context(s): GregorianTranscriptionStaff, KievanStaff, MensuralStaff, PetrucciStaff, Staff and VaticanaStaff.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Create an ambitus.
Properties (read)
keyAlterations(list)The current key signature. This is an alist containing
(step . alter)or((octave . step) . alter), where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.keyAlterations = #`((6 . ,FLAT)).middleCClefPosition(number)The position of the middle C, as determined only by the clef. This can be calculated by looking at
clefPositionandclefGlyph.middleCCuePosition(number)The position of the middle C, as determined only by the clef of the cue notes. This can be calculated by looking at
cueClefPositionandcueClefGlyph.middleCOffset(number)The offset of middle C from the position given by
middleCClefPositionThis is used for ottava brackets.middleCPosition(number)The place of the middle C, measured in half staff-spaces. Usually determined by looking at
middleCClefPositionandmiddleCOffset.staffLineLayoutFunction(procedure)Layout of staff lines,
traditional, orsemitone.
This engraver creates the following layout object(s):
AccidentalPlacement, Ambitus, AmbitusAccidental, AmbitusLine and AmbitusNoteHead.
Ambitus_engraver is not part of any context.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Generate an Arpeggio symbol.
Music types accepted:
This engraver creates the following layout object(s):
Arpeggio_engraver is part of the following context(s): CueVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, TabVoice, VaticanaVoice and Voice.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Generate beams based on measure characteristics and observed Stems. Uses baseMoment, beatStructure, beamExceptions, 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.
baseMoment(moment)Smallest unit of time that will stand on its own as a subdivided section.
beamExceptions(list)An alist of exceptions to autobeam rules that normally end on beats.
beamHalfMeasure(boolean)Whether to allow a beam to begin halfway through the measure in triple time, which could look like 6/8.
beatStructure(list)List of
baseMoments that are combined to make beats.subdivideBeams(boolean)If set, multiple beams will be subdivided at
baseMomentpositions by only drawing one beam over the beat.
This engraver creates the following layout object(s):
Beam.
Auto_beam_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, TabVoice, VaticanaVoice and Voice.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Group all objects created in this context in a VerticalAxisGroup spanner.
Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
hasAxisGroup(boolean)True if the current context is contained in an axis group.
keepAliveInterfaces(list)A list of symbols, signifying grob interfaces that are worth keeping a staff with
remove-emptyset around for.
Properties (write)
hasAxisGroup(boolean)True if the current context is contained in an axis group.
This engraver creates the following layout object(s):
Axis_group_engraver is part of the following context(s): ChordNames, DrumStaff, Dynamics, FiguredBass, FretBoards, GregorianTranscriptionStaff, KievanStaff, Lyrics, MensuralStaff, NoteNames, OneStaff, PetrucciStaff, RhythmicStaff, Staff, TabStaff and VaticanaStaff.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Create balloon texts.
Music types accepted:
This engraver creates the following layout object(s):
Balloon_engraver is not part of any context.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
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. This engraver is required to trigger the creation of clefs at the start of systems.
Properties (read)
whichBar(string)This property is read to determine what type of bar line to create.
Example:
\set Staff.whichBar = ".|:"This will create a start-repeat bar in this staff only. Valid values are described in ‘scm/bar-line.scm’.
Properties (write)
forbidBreak(boolean)If set to
#t, prevent a line break at this point.
This engraver creates the following layout object(s):
Bar_engraver is part of the following context(s): DrumStaff, Dynamics, GregorianTranscriptionStaff, KievanStaff, MensuralStaff, PetrucciStaff, RhythmicStaff, Staff, TabStaff and VaticanaStaff.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
A bar number is created whenever measurePosition is zero and when there is a bar line (i.e., when whichBar is set). It is put on top of all staves, and appears only at the left side of the staff. The staves are taken from stavesFound, which is maintained by Staff_collecting_engraver.
Music types accepted:
Properties (read)
alternativeNumberingStyle(symbol)The style of an alternative’s bar numbers. Can be
numbersfor going back to the same number ornumbers-with-lettersfor going back to the same number with letter suffixes. No setting will not go back in measure-number time.barNumberFormatter(procedure)A procedure that takes a bar number, measure position, and alternative number and returns a markup of the bar number to print.
barNumberVisibility(procedure)A procedure that takes a bar number and a measure position and returns whether the corresponding bar number should be printed. Note that the actual print-out of bar numbers is controlled with the
break-visibilityproperty.The following procedures are predefined:
all-bar-numbers-visibleEnable bar numbers for all bars, including the first one and broken bars (which get bar numbers in parentheses).
first-bar-number-invisibleEnable bar numbers for all bars (including broken bars) except the first one. If the first bar is broken, it doesn’t get a bar number either.
first-bar-number-invisible-save-broken-barsEnable bar numbers for all bars (including broken bars) except the first one. A broken first bar gets a bar number.
first-bar-number-invisible-and-no-parenthesized-bar-numbersEnable bar numbers for all bars except the first bar and broken bars. This is the default.
(every-nth-bar-number-visible n)Assuming n is value 2, for example, this enables bar numbers for bars 2, 4, 6, etc.
(modulo-bar-number-visible n m)If bar numbers 1, 4, 7, etc., should be enabled, n (the modulo) must be set to 3 and m (the division remainder) to 1.
currentBarNumber(integer)Contains the current barnumber. This property is incremented at every bar line.
stavesFound(list of grobs)A list of all staff-symbols found.
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 ‘scm/bar-line.scm’.
Properties (write)
currentBarNumber(integer)Contains the current barnumber. This property is incremented at every bar line.
This engraver creates the following layout object(s):
Bar_number_engraver is part of the following context(s): Score.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Help beams avoid colliding with notes and clefs in other voices.
Beam_collision_engraver is part of the following context(s): Score.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Handle Beam events by engraving beams. If omitted, then notes are printed with flags instead of beams.
Music types accepted:
Properties (read)
baseMoment(moment)Smallest unit of time that will stand on its own as a subdivided section.
beamMelismaBusy(boolean)Signal if a beam is present.
beatStructure(list)List of
baseMoments that are combined to make beats.subdivideBeams(boolean)If set, multiple beams will be subdivided at
baseMomentpositions by only drawing one beam over the beat.
Properties (write)
forbidBreak(boolean)If set to
#t, prevent a line break at this point.
This engraver creates the following layout object(s):
Beam.
Beam_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, NullVoice, PetrucciVoice, TabVoice, VaticanaVoice and Voice.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Music types accepted:
Beam_performer is not part of any context.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Create fall spanners.
Music types accepted:
This engraver creates the following layout object(s):
Bend_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, TabVoice, VaticanaVoice and Voice.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Align grobs with corresponding break-align-symbols into groups, and order the groups according to breakAlignOrder. The left edge of the alignment gets a separate group, with a symbol left-edge.
This engraver creates the following layout object(s):
BreakAlignGroup, BreakAlignment and LeftEdge.
Break_align_engraver is part of the following context(s): Score.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Create a breathing sign.
Music types accepted:
This engraver creates the following layout object(s):
Breathing_sign_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, TabVoice, VaticanaVoice and Voice.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Catch note and rest events and generate the appropriate chordname.
Music types accepted:
note-event and rest-event
Properties (read)
chordChanges(boolean)Only show changes in chords scheme?
chordNameExceptions(list)An alist of chord exceptions. Contains
(chord . markup)entries.chordNameExceptions(list)An alist of chord exceptions. Contains
(chord . markup)entries.chordNameFunction(procedure)The function that converts lists of pitches to chord names.
chordNoteNamer(procedure)A function that converts from a pitch object to a text markup. Used for single pitches.
chordRootNamer(procedure)A function that converts from a pitch object to a text markup. Used for chords.
lastChord(markup)Last chord, used for detecting chord changes.
majorSevenSymbol(markup)How should the major 7th be formatted in a chord name?
noChordSymbol(markup)Markup to be displayed for rests in a ChordNames context.
Properties (write)
lastChord(markup)Last chord, used for detecting chord changes.
This engraver creates the following layout object(s):
Chord_name_engraver is part of the following context(s): ChordNames.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Generate beams for tremolo repeats.
Music types accepted:
This engraver creates the following layout object(s):
Beam.
Chord_tremolo_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, TabVoice, VaticanaVoice and Voice.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Determine and set reference point for pitches.
Properties (read)
clefGlyph(string)Name of the symbol within the music font.
clefPosition(number)Where should the center of the clef symbol go, measured in half staff spaces from the center of the staff.
clefTransposition(integer)Add this much extra transposition. Values of 7 and -7 are common.
clefTranspositionStyle(symbol)Determines the way the ClefModifier grob is displayed. Possible values are ‘default’, ‘parenthesized’ and ‘bracketed’.
explicitClefVisibility(vector)‘break-visibility’ function for clef changes.
forceClef(boolean)Show clef symbol, even if it has not changed. Only active for the first clef after the property is set, not for the full staff.
This engraver creates the following layout object(s):
Clef and ClefModifier.
Clef_engraver is part of the following context(s): DrumStaff, GregorianTranscriptionStaff, KievanStaff, MensuralStaff, PetrucciStaff, Staff, TabStaff and VaticanaStaff.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Engrave a cluster using Spanner notation.
Music types accepted:
This engraver creates the following layout object(s):
ClusterSpanner and ClusterSpannerBeacon.
Cluster_spanner_engraver is part of the following context(s): CueVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, TabVoice, VaticanaVoice and Voice.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Collect NoteColumns, and as soon as there are two or more, put them in a NoteCollision object.
This engraver creates the following layout object(s):
Collision_engraver is part of the following context(s): DrumStaff, GregorianTranscriptionStaff, KievanStaff, MensuralStaff, PetrucciStaff, Staff, TabStaff and VaticanaStaff.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
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)
completionFactor(an exact rational or procedure)When
Completion_heads_engraverandCompletion_rest_engraverneed to split a note or rest with a scaled duration, such asc2*3, this specifies the scale factor to use for the newly-split notes and rests created by the engraver.If
#f, the completion engraver uses the scale-factor of each duration being split.If set to a callback procedure, that procedure is called with the context of the completion engraver, and the duration to be split.
completionUnit(moment)Sub-bar unit of completion.
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.
middleCPosition(number)The place of the middle C, measured in half staff-spaces. Usually determined by looking at
middleCClefPositionandmiddleCOffset.timing(boolean)Keep administration of measure length, position, bar number, etc.? Switch off for cadenzas.
Properties (write)
completionBusy(boolean)Whether a completion-note head is playing.
This engraver creates the following layout object(s):
Completion_heads_engraver is not part of any context.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
This engraver replaces Rest_engraver. It plays some trickery to break long rests into the next measure.
Music types accepted:
Properties (read)
completionFactor(an exact rational or procedure)When
Completion_heads_engraverandCompletion_rest_engraverneed to split a note or rest with a scaled duration, such asc2*3, this specifies the scale factor to use for the newly-split notes and rests created by the engraver.If
#f, the completion engraver uses the scale-factor of each duration being split.If set to a callback procedure, that procedure is called with the context of the completion engraver, and the duration to be split.
completionUnit(moment)Sub-bar unit of completion.
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.
middleCPosition(number)The place of the middle C, measured in half staff-spaces. Usually determined by looking at
middleCClefPositionandmiddleCOffset.
Properties (write)
restCompletionBusy(boolean)Signal whether a completion-rest is active.
This engraver creates the following layout object(s):
Rest.
Completion_rest_engraver is not part of any context.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Collect concurrent hairpins.
Concurrent_hairpin_engraver is part of the following context(s): Score.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Control_track_performer is not part of any context.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Determine and set reference point for pitches in cued voices.
Properties (read)
clefTransposition(integer)Add this much extra transposition. Values of 7 and -7 are common.
cueClefGlyph(string)Name of the symbol within the music font.
cueClefPosition(number)Where should the center of the clef symbol go, measured in half staff spaces from the center of the staff.
cueClefTransposition(integer)Add this much extra transposition. Values of 7 and -7 are common.
cueClefTranspositionStyle(symbol)Determines the way the ClefModifier grob is displayed. Possible values are ‘default’, ‘parenthesized’ and ‘bracketed’.
explicitCueClefVisibility(vector)‘break-visibility’ function for cue clef changes.
middleCCuePosition(number)The position of the middle C, as determined only by the clef of the cue notes. This can be calculated by looking at
cueClefPositionandcueClefGlyph.
This engraver creates the following layout object(s):
ClefModifier, CueClef and CueEndClef.
Cue_clef_engraver is part of the following context(s): DrumStaff, GregorianTranscriptionStaff, KievanStaff, MensuralStaff, PetrucciStaff, Staff, TabStaff and VaticanaStaff.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Engrave custodes.
This engraver creates the following layout object(s):
Custos_engraver is part of the following context(s): MensuralStaff, PetrucciStaff and VaticanaStaff.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
This engraver determines what kind of automatic bar lines should be produced, and sets whichBar accordingly. It should be at the same level as Timing_translator.
Properties (read)
automaticBars(boolean)If set to false then bar lines will not be printed automatically; they must be explicitly created with a
\barcommand. Unlike the\cadenzaOnkeyword, measures are still counted. Bar line generation will resume according to that count if this property is unset.barAlways(boolean)If set to true a bar line is drawn after each note.
defaultBarType(string)Set the default type of bar line. See
whichBarfor information on available bar types.This variable is read by (internals-big-page)Timing_translator section ‘Timing_translator’ in Internals Reference at (internals-big-page)Score section ‘Score’ in Internals Reference level.
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.
timing(boolean)Keep administration of measure length, position, bar number, etc.? Switch off for cadenzas.
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 ‘scm/bar-line.scm’.
Default_bar_line_engraver is part of the following context(s): Score.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Engrave dots on dotted notes shifted to the right of the note. If omitted, then dots appear on top of the notes.
This engraver creates the following layout object(s):
Dot_column_engraver is part of the following context(s): DrumStaff, GregorianTranscriptionStaff, KievanStaff, MensuralStaff, PetrucciStaff, RhythmicStaff, Staff, TabStaff and VaticanaStaff.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Create Dots objects for rhythmic-head-interfaces.
This engraver creates the following layout object(s):
Dots.
Dots_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, TabVoice, VaticanaVoice and Voice.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Make double measure repeats.
Music types accepted:
Properties (read)
countPercentRepeats(boolean)If set, produce counters for percent repeats.
measureLength(moment)Length of one measure in the current time signature.
repeatCountVisibility(procedure)A procedure taking as arguments an integer and context, returning whether the corresponding percent repeat number should be printed when
countPercentRepeatsis set.
Properties (write)
forbidBreak(boolean)If set to
#t, prevent a line break at this point.
This engraver creates the following layout object(s):
DoublePercentRepeat and DoublePercentRepeatCounter.
Double_percent_repeat_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, TabVoice, VaticanaVoice and Voice.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Play drum notes.
Music types accepted:
Drum_note_performer is not part of any context.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Generate drum note heads.
Music types accepted:
Properties (read)
drumStyleTable(hash table)A hash table which maps drums to layout settings. Predefined values: ‘drums-style’, ‘agostini-drums-style’, ‘timbales-style’, ‘congas-style’, ‘bongos-style’, and ‘percussion-style’.
The layout style is a hash table, containing the drum-pitches (e.g., the symbol ‘hihat’) as keys, and a list
(notehead-style script vertical-position)as values.
This engraver creates the following layout object(s):
Drum_notes_engraver is part of the following context(s): DrumVoice.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Align hairpins and dynamic texts on a horizontal line.
Properties (read)
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
Dynamic_align_engraver is part of the following context(s): CueVoice, DrumVoice, Dynamics, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, TabVoice, VaticanaVoice and Voice.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Create hairpins, dynamic texts and dynamic text spanners.
Music types accepted:
absolute-dynamic-event, break-span-event and span-dynamic-event
Properties (read)
crescendoSpanner(symbol)The type of spanner to be used for crescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin crescendo is used.
crescendoText(markup)The text to print at start of non-hairpin crescendo, i.e., ‘cresc.’.
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
decrescendoSpanner(symbol)The type of spanner to be used for decrescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin decrescendo is used.
decrescendoText(markup)The text to print at start of non-hairpin decrescendo, i.e., ‘dim.’.
This engraver creates the following layout object(s):
DynamicText, DynamicTextSpanner and Hairpin.
Dynamic_engraver is part of the following context(s): CueVoice, DrumVoice, Dynamics, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, TabVoice, VaticanaVoice and Voice.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Music types accepted:
absolute-dynamic-event, crescendo-event and decrescendo-event
Properties (read)
dynamicAbsoluteVolumeFunction(procedure)A procedure that takes one argument, the text value of a dynamic event, and returns the absolute volume of that dynamic event.
instrumentEqualizer(procedure)A function taking a string (instrument name), and returning a
(min . max)pair of numbers for the loudness range of the instrument.midiInstrument(string)Name of the MIDI instrument to use.
midiMaximumVolume(number)Analogous to
midiMinimumVolume.midiMinimumVolume(number)Set the minimum loudness for MIDI. Ranges from 0 to 1.
Dynamic_performer is not part of any context.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Create an Editio Vaticana-style episema line.
Music types accepted:
This engraver creates the following layout object(s):
Episema_engraver is part of the following context(s): GregorianTranscriptionVoice and VaticanaVoice.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Create lyric extenders.
Music types accepted:
completize-extender-event and extender-event
Properties (read)
extendersOverRests(boolean)Whether to continue extenders as they cross a rest.
This engraver creates the following layout object(s):
Extender_engraver is part of the following context(s): Lyrics.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Make figured bass numbers.
Music types accepted:
bass-figure-event and rest-event
Properties (read)
figuredBassAlterationDirection(direction)Where to put alterations relative to the main figure.
figuredBassCenterContinuations(boolean)Whether to vertically center pairs of extender lines. This does not work with three or more lines.
figuredBassFormatter(procedure)A routine generating a markup for a bass figure.
ignoreFiguredBassRest(boolean)Don’t swallow rest events.
implicitBassFigures(list)A list of bass figures that are not printed as numbers, but only as extender lines.
useBassFigureExtenders(boolean)Whether to use extender lines for repeated bass figures.
This engraver creates the following layout object(s):
BassFigure, BassFigureAlignment, BassFigureBracket, BassFigureContinuation and BassFigureLine.
Figured_bass_engraver is part of the following context(s): DrumStaff, FiguredBass, GregorianTranscriptionStaff, KievanStaff, MensuralStaff, PetrucciStaff, Staff, TabStaff and VaticanaStaff.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Position figured bass alignments over notes.
This engraver creates the following layout object(s):
BassFigureAlignmentPositioning.
Figured_bass_position_engraver is part of the following context(s): DrumStaff, GregorianTranscriptionStaff, KievanStaff, MensuralStaff, PetrucciStaff, Staff, TabStaff and VaticanaStaff.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Find potentially colliding scripts and put them into a FingeringColumn object; that will fix the collisions.
This engraver creates the following layout object(s):
Fingering_column_engraver is part of the following context(s): DrumStaff, GregorianTranscriptionStaff, KievanStaff, MensuralStaff, PetrucciStaff, Staff, TabStaff and VaticanaStaff.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Create fingering scripts.
Music types accepted:
This engraver creates the following layout object(s):
Fingering_engraver is part of the following context(s): CueVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, VaticanaVoice and Voice.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Put fontSize into font-size grob property.
Properties (read)
fontSize(number)The relative size of all grobs in a context.
Font_size_engraver is part of the following context(s): CueVoice, DrumStaff, DrumVoice, Dynamics, FretBoards, GregorianTranscriptionStaff, GregorianTranscriptionVoice, KievanStaff, KievanVoice, Lyrics, MensuralStaff, MensuralVoice, PetrucciStaff, PetrucciVoice, RhythmicStaff, Staff, TabStaff, TabVoice, VaticanaStaff, VaticanaVoice and Voice.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Create footnote texts.
Properties (read)
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
FootnoteItem and FootnoteSpanner.
Footnote_engraver is part of the following context(s): Score.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Forbid line breaks when note heads are still playing at some point.
Properties (read)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).
Properties (write)
forbidBreak(boolean)If set to
#t, prevent a line break at this point.
Forbid_line_break_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, TabVoice, VaticanaVoice and Voice.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Generate fret diagram from one or more events of type NoteEvent.
Music types accepted:
fingering-event, note-event and string-number-event
Properties (read)
chordChanges(boolean)Only show changes in chords scheme?
defaultStrings(list)A list of strings to use in calculating frets for tablatures and fretboards if no strings are provided in the notes for the current moment.
highStringOne(boolean)Whether the first string is the string with highest pitch on the instrument. This used by the automatic string selector for tablature notation.
maximumFretStretch(number)Don’t allocate frets further than this from specified frets.
minimumFret(number)The tablature auto string-selecting mechanism selects the highest string with a fret at least
minimumFret.noteToFretFunction(procedure)Convert list of notes and list of defined strings to full list of strings and fret numbers. Parameters: The context, a list of note events, a list of tabstring events, and the fretboard grob if a fretboard is desired.
predefinedDiagramTable(hash table)The hash table of predefined fret diagrams to use in FretBoards.
stringTunings(list)The tablature strings tuning. It is a list of the pitches of each string (starting with the lowest numbered one).
tablatureFormat(procedure)A function formatting a tablature note head. Called with three arguments: context, string number and, fret number. It returns the text as a markup.
This engraver creates the following layout object(s):
Fretboard_engraver is part of the following context(s): FretBoards.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Engrave glissandi.
Music types accepted:
Properties (read)
glissandoMap(list)A map in the form of ’((source1 . target1) (source2 . target2) (sourcen . targetn)) showing the glissandi to be drawn for note columns. The value ’() will default to ’((0 . 0) (1 . 1) (n . n)), where n is the minimal number of note-heads in the two note columns between which the glissandi occur.
This engraver creates the following layout object(s):
Glissando_engraver is part of the following context(s): CueVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, TabVoice, VaticanaVoice and Voice.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Generates one autobeam group across an entire grace phrase. As usual, any manual beaming or \noBeam will block autobeaming, just like setting the context property ‘autoBeaming’ to ##f.
Music types accepted:
Properties (read)
autoBeaming(boolean)If set to true then beams are generated automatically.
This engraver creates the following layout object(s):
Beam.
Grace_auto_beam_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, TabVoice, VaticanaVoice and Voice.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Handle Beam events by engraving beams. If omitted, then notes are printed with flags instead of beams. Only engraves beams when we are at grace points in time.
Music types accepted:
Properties (read)
baseMoment(moment)Smallest unit of time that will stand on its own as a subdivided section.
beamMelismaBusy(boolean)Signal if a beam is present.
beatStructure(list)List of
baseMoments that are combined to make beats.subdivideBeams(boolean)If set, multiple beams will be subdivided at
baseMomentpositions by only drawing one beam over the beat.
This engraver creates the following layout object(s):
Beam.
Grace_beam_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, TabVoice, VaticanaVoice and Voice.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Set font size and other properties for grace notes.
Properties (read)
graceSettings(list)Overrides for grace notes. This property should be manipulated through the
add-grace-propertyfunction.
Grace_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, TabVoice, VaticanaVoice and Voice.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Bookkeeping of shortest starting and playing notes in grace note runs.
Properties (read)
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
Grace_spacing_engraver is part of the following context(s): Score.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
This engraver makes cross-staff lines: It catches all normal lines and draws a single span line across them.
This engraver creates the following layout object(s):
Grid_line_span_engraver is not part of any context.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Generate grid points.
Properties (read)
gridInterval(moment)Interval for which to generate
GridPoints.
This engraver creates the following layout object(s):
Grid_point_engraver is not part of any context.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Administrate when certain grobs (e.g., note heads) stop playing.
Properties (read)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).
Properties (write)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).
Grob_pq_engraver is part of the following context(s): CueVoice, DrumStaff, DrumVoice, GregorianTranscriptionStaff, GregorianTranscriptionVoice, KievanStaff, KievanVoice, MensuralStaff, MensuralVoice, NullVoice, PetrucciStaff, PetrucciVoice, Staff, TabStaff, TabVoice, VaticanaStaff, VaticanaVoice and Voice.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Create horizontal brackets over notes for musical analysis purposes.
Music types accepted:
This engraver creates the following layout object(s):
HorizontalBracket and HorizontalBracketText.
Horizontal_bracket_engraver is not part of any context.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Create lyric hyphens, vowel transitions and distance constraints between words.
Music types accepted:
hyphen-event and vowel-transition-event
This engraver creates the following layout object(s):
LyricHyphen, LyricSpace and VowelTransition.
Hyphen_engraver is part of the following context(s): Lyrics.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Create a system start text for instrument or vocal names.
Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
instrumentName(markup)The name to print left of a staff. The
instrumentNameproperty labels the staff in the first system, and theshortInstrumentNameproperty labels following lines.shortInstrumentName(markup)See
instrumentName.shortVocalName(markup)Name of a vocal line, short version.
vocalName(markup)Name of a vocal line.
This engraver creates the following layout object(s):
Instrument_name_engraver is part of the following context(s): ChoirStaff, DrumStaff, FretBoards, GrandStaff, GregorianTranscriptionStaff, KievanStaff, Lyrics, MensuralStaff, PetrucciStaff, PianoStaff, RhythmicStaff, Staff, StaffGroup, TabStaff and VaticanaStaff.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Create a cue text for taking instrument.
Properties (read)
instrumentCueName(markup)The name to print if another instrument is to be taken.
This engraver creates the following layout object(s):
Instrument_switch_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, TabVoice, VaticanaVoice and Voice.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
This engraver collects all Hara_kiri_group_spanners that are created in contexts at or below its own. These spanners are then tied together so that one will be removed only if all are removed. For example, if a StaffGroup uses this engraver, then the staves in the group will all be visible as long as there is a note in at least one of them.
Keep_alive_together_engraver is part of the following context(s): PianoStaff.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Engrave a key signature.
Music types accepted:
Properties (read)
createKeyOnClefChange(boolean)Print a key signature whenever the clef is changed.
explicitKeySignatureVisibility(vector)‘break-visibility’ function for explicit key changes. ‘\override’ of the
break-visibilityproperty will set the visibility for normal (i.e., at the start of the line) key signatures.extraNatural(boolean)Whether to typeset an extra natural sign before accidentals that reduce the effect of a previous alteration.
keyAlterationOrder(list)An alist that defines in what order alterations should be printed. The format is
(step . alter), where step is a number from 0 to 6 and alter from -2 (sharp) to 2 (flat).keyAlterations(list)The current key signature. This is an alist containing
(step . alter)or((octave . step) . alter), where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.keyAlterations = #`((6 . ,FLAT)).lastKeyAlterations(list)Last key signature before a key signature change.
middleCClefPosition(number)The position of the middle C, as determined only by the clef. This can be calculated by looking at
clefPositionandclefGlyph.printKeyCancellation(boolean)Print restoration alterations before a key signature change.
Properties (write)
keyAlterations(list)The current key signature. This is an alist containing
(step . alter)or((octave . step) . alter), where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.keyAlterations = #`((6 . ,FLAT)).lastKeyAlterations(list)Last key signature before a key signature change.
tonic(pitch)The tonic of the current scale.
This engraver creates the following layout object(s):
KeyCancellation and KeySignature.
Key_engraver is part of the following context(s): GregorianTranscriptionStaff, KievanStaff, MensuralStaff, PetrucciStaff, Staff and VaticanaStaff.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Music types accepted:
Properties (read)
instrumentTransposition(pitch)Define the transposition of the instrument. Its value is the pitch that sounds when the instrument plays written middle C. This is used to transpose the MIDI output, and
\quotes.
Key_performer is not part of any context.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Handle Kievan_ligature_events by glueing Kievan heads together.
Music types accepted:
This engraver creates the following layout object(s):
Kievan_ligature_engraver is part of the following context(s): KievanVoice.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Create laissez vibrer items.
Music types accepted:
This engraver creates the following layout object(s):
LaissezVibrerTie and LaissezVibrerTieColumn.
Laissez_vibrer_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, TabVoice, VaticanaVoice and Voice.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Create the spanner to draw ledger lines, and notices objects that need ledger lines.
This engraver creates the following layout object(s):
Ledger_line_engraver is part of the following context(s): DrumStaff, GregorianTranscriptionStaff, KievanStaff, MensuralStaff, PetrucciStaff, RhythmicStaff, Staff, TabStaff and VaticanaStaff.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Handle Ligature_events by engraving Ligature brackets.
Music types accepted:
This engraver creates the following layout object(s):
Ligature_bracket_engraver is part of the following context(s): CueVoice, GregorianTranscriptionVoice, TabVoice and Voice.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Engrave text for lyrics.
Music types accepted:
Properties (read)
ignoreMelismata(boolean)Ignore melismata for this (internals-big-page)Lyrics section ‘Lyrics’ in Internals Reference line.
lyricMelismaAlignment(number)Alignment to use for a melisma syllable.
searchForVoice(boolean)Signal whether a search should be made of all contexts in the context hierarchy for a voice to provide rhythms for the lyrics.
This engraver creates the following layout object(s):
Lyric_engraver is part of the following context(s): Lyrics.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Music types accepted:
Lyric_performer is not part of any context.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Create RehearsalMark objects. It puts them on top of all staves (which is taken from the property stavesFound). If moving this engraver to a different context, Staff_collecting_engraver must move along, otherwise all marks end up on the same Y location.
Music types accepted:
Properties (read)
markFormatter(procedure)A procedure taking as arguments the context and the rehearsal mark. It should return the formatted mark as a markup object.
rehearsalMark(integer)The last rehearsal mark printed.
stavesFound(list of grobs)A list of all staff-symbols found.
This engraver creates the following layout object(s):
Mark_engraver is part of the following context(s): Score.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
This engraver numbers ranges of measures, which is useful in parts as an
aid for counting repeated measures. There is no requirement that the
affected measures be repeated, however. The user delimits the area to
receive a count with \startMeasureCount and
\stopMeasureCount.
Music types accepted:
Properties (read)
currentBarNumber(integer)Contains the current barnumber. This property is incremented at every bar line.
currentCommandColumn(graphical (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.
This engraver creates the following layout object(s):
Measure_counter_engraver is not part of any context.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Create MeasureGrouping to indicate beat subdivision.
Properties (read)
baseMoment(moment)Smallest unit of time that will stand on its own as a subdivided section.
beatStructure(list)List of
baseMoments that are combined to make beats.currentMusicalColumn(graphical (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.
This engraver creates the following layout object(s):
Measure_grouping_engraver is not part of any context.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
This engraver creates spanners bounded by the columns that start and
end measures in response to \startMeasureSpanner and
\stopMeasureSpanner.
Music types accepted:
Properties (read)
currentCommandColumn(graphical (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.
This engraver creates the following layout object(s):
Measure_spanner_engraver is not part of any context.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Create information for context dependent typesetting decisions.
This engraver creates the following layout object(s):
Melody_engraver is not part of any context.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Handle Mensural_ligature_events by glueing special ligature heads together.
Music types accepted:
This engraver creates the following layout object(s):
Mensural_ligature_engraver is part of the following context(s): MensuralVoice and PetrucciVoice.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Engraver to merge rests in multiple voices on the same staff. This works by gathering all rests at a time step. If they are all of the same length and there are at least two they are moved to the correct location as if there were one voice.
Properties (read)
suspendRestMerging(boolean)When using the Merge_rest_engraver do not merge rests when this is set to true.
Merge_rests_engraver is not part of any context.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Engrave metronome marking. This delegates the formatting work to the function in the metronomeMarkFormatter property. The mark is put over all staves. The staves are taken from the stavesFound property, which is maintained by Staff_collecting_engraver.
Music types accepted:
Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
metronomeMarkFormatter(procedure)How to produce a metronome markup. Called with two arguments: a
TempoChangeEventand context.stavesFound(list of grobs)A list of all staff-symbols found.
tempoHideNote(boolean)Hide the note = count in tempo marks.
This engraver creates the following layout object(s):
Metronome_mark_engraver is part of the following context(s): Score.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
This performer listens to SetProperty events on context properties for generating MIDI control changes and prepares them for MIDI output.
Properties (read)
midiBalance(number)Stereo balance for the MIDI channel associated with the current context. Ranges from -1 to 1, where the values -1 (
#LEFT), 0 (#CENTER) and 1 (#RIGHT) correspond to leftmost emphasis, center balance, and rightmost emphasis, respectively.midiChorusLevel(number)Chorus effect level for the MIDI channel associated with the current context. Ranges from 0 to 1 (0=off, 1=full effect).
midiExpression(number)Expression control for the MIDI channel associated with the current context. Ranges from 0 to 1 (0=off, 1=full effect).
midiPanPosition(number)Pan position for the MIDI channel associated with the current context. Ranges from -1 to 1, where the values -1 (
#LEFT), 0 (#CENTER) and 1 (#RIGHT) correspond to hard left, center, and hard right, respectively.midiReverbLevel(number)Reverb effect level for the MIDI channel associated with the current context. Ranges from 0 to 1 (0=off, 1=full effect).
Midi_control_change_performer is not part of any context.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Engrave multi-measure rests that are produced with ‘R’. It reads measurePosition and internalBarNumber to determine what number to print over the MultiMeasureRest.
Music types accepted:
multi-measure-articulation-event, multi-measure-rest-event and multi-measure-text-event
Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
internalBarNumber(integer)Contains the current barnumber. This property is used for internal timekeeping, among others by the
Accidental_engraver.measurePosition(moment)How much of the current measure have we had. This can be set manually to create incomplete measures.
restNumberThreshold(number)If a multimeasure rest has more measures than this, a number is printed.
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 ‘scm/bar-line.scm’.
This engraver creates the following layout object(s):
MultiMeasureRest, MultiMeasureRestNumber, MultiMeasureRestScript and MultiMeasureRestText.
Multi_measure_rest_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, TabVoice, VaticanaVoice and Voice.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Create fingering scripts for notes in a new chord. This engraver is ill-named, since it also takes care of articulations and harmonic note heads.
Properties (read)
fingeringOrientations(list)A list of symbols, containing ‘left’, ‘right’, ‘up’ and/or ‘down’. This list determines where fingerings are put relative to the chord being fingered.
harmonicDots(boolean)If set, harmonic notes in dotted chords get dots.
stringNumberOrientations(list)See
fingeringOrientations.strokeFingerOrientations(list)See
fingeringOrientations.
This engraver creates the following layout object(s):
Fingering, Script, StringNumber and StrokeFinger.
New_fingering_engraver is part of the following context(s): CueVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, VaticanaVoice and Voice.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Engrave a line between two note heads in a staff switch if followVoice is set.
Properties (read)
followVoice(boolean)If set, note heads are tracked across staff switches by a thin line.
This engraver creates the following layout object(s):
Note_head_line_engraver is part of the following context(s): CueVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, TabVoice, VaticanaVoice and Voice.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Generate note heads.
Music types accepted:
Properties (read)
middleCPosition(number)The place of the middle C, measured in half staff-spaces. Usually determined by looking at
middleCClefPositionandmiddleCOffset.staffLineLayoutFunction(procedure)Layout of staff lines,
traditional, orsemitone.
This engraver creates the following layout object(s):
Note_heads_engraver is part of the following context(s): CueVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, NullVoice, PetrucciVoice, VaticanaVoice and Voice.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Print pitches as words.
Music types accepted:
Properties (read)
noteNameFunction(procedure)Function used to convert pitches into strings and markups.
noteNameSeparator(string)String used to separate simultaneous NoteName objects.
printAccidentalNames(boolean or symbol)Print accidentals in the
NoteNamescontext.printNotesLanguage(string)Use a specific language in the
NoteNamescontext.printOctaveNames(boolean or symbol)Print octave marks in the
NoteNamescontext.
This engraver creates the following layout object(s):
Note_name_engraver is part of the following context(s): NoteNames.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Music types accepted:
articulation-event, breathing-event, note-event and tie-event
Note_performer is not part of any context.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Generate NoteSpacing, an object linking horizontal lines for use in spacing.
This engraver creates the following layout object(s):
Note_spacing_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, TabVoice, VaticanaVoice and Voice.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Create a text spanner when the ottavation property changes.
Properties (read)
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
middleCOffset(number)The offset of middle C from the position given by
middleCClefPositionThis is used for ottava brackets.ottavation(markup)If set, the text for an ottava spanner. Changing this creates a new text spanner.
This engraver creates the following layout object(s):
Ottava_spanner_engraver is part of the following context(s): GregorianTranscriptionStaff, KievanStaff, MensuralStaff, PetrucciStaff, Staff and VaticanaStaff.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Apply a procedure to any grob acknowledged.
Music types accepted:
Output_property_engraver is part of the following context(s): ChordNames, CueVoice, DrumStaff, DrumVoice, Dynamics, FretBoards, GregorianTranscriptionStaff, GregorianTranscriptionVoice, KievanStaff, KievanVoice, MensuralStaff, MensuralVoice, PetrucciStaff, PetrucciVoice, RhythmicStaff, Score, Staff, StaffGroup, TabStaff, TabVoice, VaticanaStaff, VaticanaVoice and Voice.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Decide where page turns are allowed to go.
Music types accepted:
Properties (read)
minimumPageTurnLength(moment)Minimum length of a rest for a page turn to be allowed.
minimumRepeatLengthForPageTurn(moment)Minimum length of a repeated section for a page turn to be allowed within that section.
Page_turn_engraver is not part of any context.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Take care of generating columns.
This engraver decides whether a column is breakable. The default is that a column is always breakable. However, every Bar_engraver that does not have a barline at a certain point will set forbidBreaks in the score context to stop line breaks. In practice, this means that you can make a break point by creating a bar line (assuming that there are no beams or notes that prevent a break point).
Music types accepted:
Properties (read)
forbidBreak(boolean)If set to
#t, prevent a line break at this point.
Properties (write)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
forbidBreak(boolean)If set to
#t, prevent a line break at this point.
This engraver creates the following layout object(s):
NonMusicalPaperColumn and PaperColumn.
Paper_column_engraver is part of the following context(s): Score.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Parenthesize objects whose music cause has the parenthesize property.
This engraver creates the following layout object(s):
Parenthesis_engraver is part of the following context(s): Score.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Part combine engraver for orchestral scores: Print markings ‘a2’, ‘Solo’, ‘Solo II’, and ‘unisono’.
Music types accepted:
note-event and part-combine-event
Properties (read)
aDueText(markup)Text to print at a unisono passage.
partCombineTextsOnNote(boolean)Print part-combine texts only on the next note rather than immediately on rests or skips.
printPartCombineTexts(boolean)Set ‘Solo’ and ‘A due’ texts in the part combiner?
soloIIText(markup)The text for the start of a solo for voice ‘two’ when part-combining.
soloText(markup)The text for the start of a solo when part-combining.
This engraver creates the following layout object(s):
Part_combine_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, TabVoice, VaticanaVoice and Voice.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Make whole measure repeats.
Music types accepted:
Properties (read)
countPercentRepeats(boolean)If set, produce counters for percent repeats.
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
repeatCountVisibility(procedure)A procedure taking as arguments an integer and context, returning whether the corresponding percent repeat number should be printed when
countPercentRepeatsis set.
This engraver creates the following layout object(s):
PercentRepeat and PercentRepeatCounter.
Percent_repeat_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, TabVoice, VaticanaVoice and Voice.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Print phrasing slurs. Similar to Slur_engraver.
Music types accepted:
note-event and phrasing-slur-event
This engraver creates the following layout object(s):
Phrasing_slur_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, TabVoice, VaticanaVoice and Voice.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Align piano pedal symbols and brackets.
Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
This engraver creates the following layout object(s):
SostenutoPedalLineSpanner, SustainPedalLineSpanner and UnaCordaPedalLineSpanner.
Piano_pedal_align_engraver is part of the following context(s): DrumStaff, GregorianTranscriptionStaff, KievanStaff, MensuralStaff, PetrucciStaff, Staff, TabStaff and VaticanaStaff.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Engrave piano pedal symbols and brackets.
Music types accepted:
sostenuto-event, sustain-event and una-corda-event
Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
pedalSostenutoStrings(list)See
pedalSustainStrings.pedalSostenutoStyle(symbol)See
pedalSustainStyle.pedalSustainStrings(list)A list of strings to print for sustain-pedal. Format is
(up updown down), where each of the three is the string to print when this is done with the pedal.pedalSustainStyle(symbol)A symbol that indicates how to print sustain pedals:
text,bracketormixed(both).pedalUnaCordaStrings(list)See
pedalSustainStrings.pedalUnaCordaStyle(symbol)See
pedalSustainStyle.
This engraver creates the following layout object(s):
PianoPedalBracket, SostenutoPedal, SustainPedal and UnaCordaPedal.
Piano_pedal_engraver is part of the following context(s): Dynamics, GregorianTranscriptionStaff, KievanStaff, MensuralStaff, PetrucciStaff, Staff, TabStaff and VaticanaStaff.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Music types accepted:
sostenuto-event, sustain-event and una-corda-event
Piano_pedal_performer is not part of any context.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Set the vertical position of note heads to squashedPosition, if that property is set. This can be used to make a single-line staff demonstrating the rhythm of a melody.
Properties (read)
squashedPosition(integer)Vertical position of squashing for (internals-big-page)Pitch_squash_engraver section ‘Pitch_squash_engraver’ in Internals Reference.
Pitch_squash_engraver is part of the following context(s): NullVoice and RhythmicStaff.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Print the bracketed note head after a note head with trill.
This engraver creates the following layout object(s):
TrillPitchAccidental, TrillPitchGroup and TrillPitchHead.
Pitched_trill_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, VaticanaVoice and Voice.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Coordinates items that get their pure heights from their neighbors.
Pure_from_neighbor_engraver is part of the following context(s): DrumStaff, GregorianTranscriptionStaff, KievanStaff, Lyrics, MensuralStaff, PetrucciStaff, Staff, TabStaff and VaticanaStaff.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Acknowledge repeated music, and convert the contents of repeatCommands into an appropriate setting for whichBar.
Properties (read)
doubleRepeatSegnoType(string)Set the default bar line for the combinations double repeat with segno. Default is ‘:|.S.|:’.
doubleRepeatType(string)Set the default bar line for double repeats.
endRepeatSegnoType(string)Set the default bar line for the combinations ending of repeat with segno. Default is ‘:|.S’.
endRepeatType(string)Set the default bar line for the ending of repeats.
repeatCommands(list)This property is a list of commands of the form
(list 'volta x), where x is a string or#f.'end-repeatis also accepted as a command.segnoType(string)Set the default bar line for a requested segno. Default is ‘S’.
startRepeatSegnoType(string)Set the default bar line for the combinations beginning of repeat with segno. Default is ‘S.|:’.
startRepeatType(string)Set the default bar line for the beginning of repeats.
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 ‘scm/bar-line.scm’.
Repeat_acknowledge_engraver is part of the following context(s): Score.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Create repeat ties.
Music types accepted:
This engraver creates the following layout object(s):
RepeatTie and RepeatTieColumn.
Repeat_tie_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, TabVoice, VaticanaVoice and Voice.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Handle collisions of rests.
Properties (read)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).
This engraver creates the following layout object(s):
Rest_collision_engraver is part of the following context(s): DrumStaff, GregorianTranscriptionStaff, KievanStaff, MensuralStaff, PetrucciStaff, Staff, TabStaff and VaticanaStaff.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Engrave rests.
Music types accepted:
Properties (read)
middleCPosition(number)The place of the middle C, measured in half staff-spaces. Usually determined by looking at
middleCClefPositionandmiddleCOffset.
This engraver creates the following layout object(s):
Rest.
Rest_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, TabVoice, VaticanaVoice and Voice.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Generate NoteColumn, an object that groups stems, note heads, and rests.
This engraver creates the following layout object(s):
Rhythmic_column_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, TabVoice, VaticanaVoice and Voice.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Find potentially colliding scripts and put them into a ScriptColumn object; that will fix the collisions.
This engraver creates the following layout object(s):
Script_column_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, TabVoice, VaticanaVoice and Voice.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Handle note scripted articulations.
Music types accepted:
Properties (read)
scriptDefinitions(list)The description of scripts. This is used by the
Script_engraverfor typesetting note-superscripts and subscripts. See ‘scm/script.scm’ for more information.
This engraver creates the following layout object(s):
Script_engraver is part of the following context(s): CueVoice, DrumVoice, Dynamics, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, TabVoice, VaticanaVoice and Voice.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Determine order in horizontal side position elements.
This engraver creates the following layout object(s):
Script_row_engraver is part of the following context(s): DrumStaff, GregorianTranscriptionStaff, KievanStaff, MensuralStaff, PetrucciStaff, Staff, TabStaff and VaticanaStaff.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Generate objects for computing spacing parameters.
Properties (read)
createSpacing(boolean)Create
StaffSpacingobjects? Should be set for staves.
Properties (write)
hasStaffSpacing(boolean)True if the current
CommandColumncontains items that will affect spacing.
This engraver creates the following layout object(s):
Separating_line_group_engraver is part of the following context(s): ChordNames, DrumStaff, FiguredBass, FretBoards, GregorianTranscriptionStaff, KievanStaff, MensuralStaff, NoteNames, PetrucciStaff, RhythmicStaff, Staff, TabStaff and VaticanaStaff.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Make beat repeats.
Music types accepted:
This engraver creates the following layout object(s):
DoubleRepeatSlash and RepeatSlash.
Slash_repeat_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, TabVoice, VaticanaVoice and Voice.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Build slur grobs from slur events.
Music types accepted:
note-event and slur-event
Properties (read)
doubleSlurs(boolean)If set, two slurs are created for every slurred note, one above and one below the chord.
slurMelismaBusy(boolean)Signal if a slur is present.
This engraver creates the following layout object(s):
Slur.
Slur_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, KievanVoice, NullVoice, PetrucciVoice, TabVoice and Voice.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Music types accepted:
Slur_performer is not part of any context.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Make a SpacingSpanner and do bookkeeping of shortest starting and playing notes.
Music types accepted:
Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
proportionalNotationDuration(moment)Global override for shortest-playing duration. This is used for switching on proportional notation.
This engraver creates the following layout object(s):
Spacing_engraver is part of the following context(s): Score.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Make arpeggios that span multiple staves.
Properties (read)
connectArpeggios(boolean)If set, connect arpeggios across piano staff.
This engraver creates the following layout object(s):
Span_arpeggio_engraver is part of the following context(s): GrandStaff, PianoStaff and StaffGroup.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Make cross-staff bar lines: It catches all normal bar lines and draws a single span bar across them.
This engraver creates the following layout object(s):
Span_bar_engraver is part of the following context(s): GrandStaff, PianoStaff and StaffGroup.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Make stubs for span bars in all contexts that the span bars cross.
This engraver creates the following layout object(s):
Span_bar_stub_engraver is part of the following context(s): GrandStaff, PianoStaff and StaffGroup.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Connect cross-staff stems to the stems above in the system
This engraver creates the following layout object(s):
Stem.
Span_stem_engraver is not part of any context.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Forbid breaks in certain spanners.
Spanner_break_forbid_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, TabVoice, VaticanaVoice and Voice.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Maintain the stavesFound variable.
Properties (read)
stavesFound(list of grobs)A list of all staff-symbols found.
Properties (write)
stavesFound(list of grobs)A list of all staff-symbols found.
Staff_collecting_engraver is part of the following context(s): DrumStaff, GregorianTranscriptionStaff, KievanStaff, MensuralStaff, PetrucciStaff, Score, Staff, TabStaff and VaticanaStaff.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Staff_performer is not part of any context.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Create the constellation of five (default) staff lines.
Music types accepted:
This engraver creates the following layout object(s):
Staff_symbol_engraver is part of the following context(s): DrumStaff, GregorianTranscriptionStaff, KievanStaff, MensuralStaff, PetrucciStaff, RhythmicStaff, Staff, TabStaff and VaticanaStaff.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
This engraver ensures that stanza numbers are neatly aligned.
Stanza_number_align_engraver is part of the following context(s): Score.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Engrave stanza numbers.
Properties (read)
stanza(markup)Stanza ‘number’ to print before the start of a verse. Use in
Lyricscontext.
This engraver creates the following layout object(s):
Stanza_number_engraver is part of the following context(s): Lyrics.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Create stems, flags and single-stem tremolos. It also works together with the beam engraver for overriding beaming.
Music types accepted:
tremolo-event and tuplet-span-event
Properties (read)
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.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 ‘scm/bar-line.scm’.
This engraver creates the following layout object(s):
Flag, Stem, StemStub and StemTremolo.
Stem_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, TabVoice and Voice.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Create a system start delimiter (i.e., a SystemStartBar, SystemStartBrace, SystemStartBracket or SystemStartSquare spanner).
Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
systemStartDelimiter(symbol)Which grob to make for the start of the system/staff? Set to
SystemStartBrace,SystemStartBracketorSystemStartBar.systemStartDelimiterHierarchy(pair)A nested list, indicating the nesting of a start delimiters.
This engraver creates the following layout object(s):
SystemStartBar, SystemStartBrace, SystemStartBracket and SystemStartSquare.
System_start_delimiter_engraver is part of the following context(s): ChoirStaff, GrandStaff, PianoStaff, Score and StaffGroup.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Generate one or more tablature note heads from event of type NoteEvent.
Music types accepted:
fingering-event, note-event and string-number-event
Properties (read)
defaultStrings(list)A list of strings to use in calculating frets for tablatures and fretboards if no strings are provided in the notes for the current moment.
fretLabels(list)A list of strings or Scheme-formatted markups containing, in the correct order, the labels to be used for lettered frets in tablature.
highStringOne(boolean)Whether the first string is the string with highest pitch on the instrument. This used by the automatic string selector for tablature notation.
maximumFretStretch(number)Don’t allocate frets further than this from specified frets.
middleCPosition(number)The place of the middle C, measured in half staff-spaces. Usually determined by looking at
middleCClefPositionandmiddleCOffset.minimumFret(number)The tablature auto string-selecting mechanism selects the highest string with a fret at least
minimumFret.noteToFretFunction(procedure)Convert list of notes and list of defined strings to full list of strings and fret numbers. Parameters: The context, a list of note events, a list of tabstring events, and the fretboard grob if a fretboard is desired.
stringOneTopmost(boolean)Whether the first string is printed on the top line of the tablature.
stringTunings(list)The tablature strings tuning. It is a list of the pitches of each string (starting with the lowest numbered one).
tablatureFormat(procedure)A function formatting a tablature note head. Called with three arguments: context, string number and, fret number. It returns the text as a markup.
tabStaffLineLayoutFunction(procedure)A function determining the staff position of a tablature note head. Called with two arguments: the context and the string.
This engraver creates the following layout object(s):
Tab_note_heads_engraver is part of the following context(s): TabVoice.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Create a tablature staff symbol, but look at stringTunings for the number of lines.
Properties (read)
stringTunings(list)The tablature strings tuning. It is a list of the pitches of each string (starting with the lowest numbered one).
This engraver creates the following layout object(s):
Tab_staff_symbol_engraver is part of the following context(s): TabStaff.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Adjust TabNoteHead properties when a tie is followed by a slur or glissando.
Tab_tie_follow_engraver is part of the following context(s): TabVoice.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Properties (read)
tempoWholesPerMinute(moment)The tempo in whole notes per minute.
Tempo_performer is not part of any context.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Create text scripts.
Music types accepted:
This engraver creates the following layout object(s):
Text_engraver is part of the following context(s): CueVoice, DrumVoice, Dynamics, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, TabVoice, VaticanaVoice and Voice.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Create text spanner from an event.
Music types accepted:
Properties (read)
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
Text_spanner_engraver is part of the following context(s): CueVoice, DrumVoice, Dynamics, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, TabVoice and Voice.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Generate ties between note heads of equal pitch.
Music types accepted:
Properties (read)
skipTypesetting(boolean)If true, no typesetting is done, speeding up the interpretation phase. Useful for debugging large scores.
tieWaitForNote(boolean)If true, tied notes do not have to follow each other directly. This can be used for writing out arpeggios.
Properties (write)
tieMelismaBusy(boolean)Signal whether a tie is present.
This engraver creates the following layout object(s):
Tie_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, NoteNames, NullVoice, PetrucciVoice, TabVoice, VaticanaVoice and Voice.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Generate ties between note heads of equal pitch.
Music types accepted:
Properties (read)
tieWaitForNote(boolean)If true, tied notes do not have to follow each other directly. This can be used for writing out arpeggios.
Properties (write)
tieMelismaBusy(boolean)Signal whether a tie is present.
Tie_performer is not part of any context.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Create a TimeSignature whenever timeSignatureFraction changes.
Music types accepted:
Properties (read)
initialTimeSignatureVisibility(vector)break visibility for the initial time signature.
partialBusy(boolean)Signal that \partial acts at the current timestep.
timeSignatureFraction(fraction, as pair)A pair of numbers, signifying the time signature. For example,
'(4 . 4)is a 4/4 time signature.
This engraver creates the following layout object(s):
Time_signature_engraver is part of the following context(s): DrumStaff, GregorianTranscriptionStaff, MensuralStaff, PetrucciStaff, RhythmicStaff, Staff and TabStaff.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Time_signature_performer is not part of any context.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
This engraver adds the alias Timing to its containing context. Responsible for synchronizing timing information from staves. Normally in Score. In order to create polyrhythmic music, this engraver should be removed from Score and placed in Staff.
Properties (read)
baseMoment(moment)Smallest unit of time that will stand on its own as a subdivided section.
currentBarNumber(integer)Contains the current barnumber. This property is incremented at every bar line.
internalBarNumber(integer)Contains the current barnumber. This property is used for internal timekeeping, among others by the
Accidental_engraver.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.
timeSignatureFraction(fraction, as pair)A pair of numbers, signifying the time signature. For example,
'(4 . 4)is a 4/4 time signature.
Properties (write)
baseMoment(moment)Smallest unit of time that will stand on its own as a subdivided section.
currentBarNumber(integer)Contains the current barnumber. This property is incremented at every bar line.
internalBarNumber(integer)Contains the current barnumber. This property is used for internal timekeeping, among others by the
Accidental_engraver.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.
timeSignatureFraction(fraction, as pair)A pair of numbers, signifying the time signature. For example,
'(4 . 4)is a 4/4 time signature.
Timing_translator is part of the following context(s): Score.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Create trill spanner from an event.
Music types accepted:
Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
Trill_spanner_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, TabVoice, VaticanaVoice and Voice.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Catch tuplet events and generate appropriate bracket.
Music types accepted:
Properties (read)
tupletFullLength(boolean)If set, the tuplet is printed up to the start of the next note.
tupletFullLengthNote(boolean)If set, end at the next note, otherwise end on the matter (time signatures, etc.) before the note.
This engraver creates the following layout object(s):
TupletBracket and TupletNumber.
Tuplet_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, TabVoice, VaticanaVoice and Voice.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Read the tweaks property from the originating event, and set properties.
Tweak_engraver is part of the following context(s): Score.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Handle ligatures by glueing special ligature heads together.
Music types accepted:
ligature-event and pes-or-flexa-event
This engraver creates the following layout object(s):
DotColumn and VaticanaLigature.
Vaticana_ligature_engraver is part of the following context(s): VaticanaVoice.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Catch groups (staves, lyrics lines, etc.) and stack them vertically.
Properties (read)
alignAboveContext(string)Where to insert newly created context in vertical alignment.
alignBelowContext(string)Where to insert newly created context in vertical alignment.
hasAxisGroup(boolean)True if the current context is contained in an axis group.
This engraver creates the following layout object(s):
Vertical_align_engraver is part of the following context(s): ChoirStaff, GrandStaff, PianoStaff, Score and StaffGroup.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Make volta brackets.
Properties (read)
repeatCommands(list)This property is a list of commands of the form
(list 'volta x), where x is a string or#f.'end-repeatis also accepted as a command.stavesFound(list of grobs)A list of all staff-symbols found.
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.
This engraver creates the following layout object(s):
VoltaBracket and VoltaBracketSpanner.
Volta_engraver is part of the following context(s): Score.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
accidentalGrouping (symbol)If set to 'voice, accidentals
on the same note in different octaves may be horizontally staggered
if in different voices.
additionalBassStrings (list)The additional tablature bass-strings, which will not get a seprate line in TabStaff. It is a list of the pitches of each string (starting with the lowest numbered one).
additionalPitchPrefix (string)Text with which to prefix additional pitches within a chord name.
aDueText (markup)Text to print at a unisono passage.
alignAboveContext (string)Where to insert newly created context in vertical alignment.
alignBelowContext (string)Where to insert newly created context in vertical alignment.
alternativeNumberingStyle (symbol)The style of an alternative’s bar
numbers. Can be numbers for going back to the same number or
numbers-with-letters for going back to the same number with letter
suffixes. No setting will not go back in measure-number time.
alternativeRestores (symbol list)Timing variables that are restored to their value at the start of the first alternative in subsequent alternatives.
associatedVoice (string)Name of the context (see
associatedVoiceType for its type, usually Voice) that
has the melody for this Lyrics line.
associatedVoiceType (symbol)Type of the context that has the
melody for this Lyrics 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 entry in the list is either a symbol or a procedure.
The symbol is the name of the context in which the following rules are to be applied. For example, if context is (internals-big-page)Score section ‘Score’ in Internals Reference then all staves share accidentals, and if context is (internals-big-page)Staff section ‘Staff’ in Internals Reference then all voices in the same staff share accidentals, but staves do not.
The procedure represents an accidental rule to be applied to the previously specified context.
The procedure takes the following arguments:
contextThe current context to which the rule should be applied.
pitchThe pitch of the note to be evaluated.
barnumThe current bar number.
measureposThe current measure position.
The procedure returns a pair of booleans. The first states whether an extra
natural should be added. The second states whether an accidental should be
printed. (#t . #f) does not make sense.
autoBeamCheck (procedure)A 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.
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 false then bar lines will not
be printed automatically; they must be explicitly created with a
\bar command. Unlike the \cadenzaOn keyword, measures
are still counted. Bar line generation will resume according to that
count if this property is unset.
barAlways (boolean)If set to true a bar line is drawn after each note.
barCheckSynchronize (boolean)If true then reset
measurePosition when finding a bar check.
barNumberFormatter (procedure)A procedure that takes a bar number, measure position, and alternative number and returns a markup of the bar number to print.
barNumberVisibility (procedure)A procedure that takes a bar
number and a measure position and returns whether the corresponding
bar number should be printed. Note that the actual print-out of
bar numbers is controlled with the break-visibility property.
The following procedures are predefined:
all-bar-numbers-visibleEnable bar numbers for all bars, including the first one and broken bars (which get bar numbers in parentheses).
first-bar-number-invisibleEnable bar numbers for all bars (including broken bars) except the first one. If the first bar is broken, it doesn’t get a bar number either.
first-bar-number-invisible-save-broken-barsEnable bar numbers for all bars (including broken bars) except the first one. A broken first bar gets a bar number.
first-bar-number-invisible-and-no-parenthesized-bar-numbersEnable bar numbers for all bars except the first bar and broken bars. This is the default.
(every-nth-bar-number-visible n)Assuming n is value 2, for example, this enables bar numbers for bars 2, 4, 6, etc.
(modulo-bar-number-visible n m)If bar numbers 1, 4, 7, etc., should be enabled, n (the modulo) must be set to 3 and m (the division remainder) to 1.
baseMoment (moment)Smallest unit of time that will stand on its own as a subdivided section.
beamExceptions (list)An alist of exceptions to autobeam rules that normally end on beats.
beamHalfMeasure (boolean)Whether to allow a beam to begin halfway through the measure in triple time, which could look like 6/8.
beatStructure (list)List of baseMoments that are combined
to make beats.
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.
chordNameLowercaseMinor (boolean)Downcase roots of minor chords?
chordNameSeparator (markup)The markup object used to separate parts of a chord name.
chordNoteNamer (procedure)A 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)A function that converts from a pitch object to a text markup. Used for chords.
clefGlyph (string)Name of the symbol within the music font.
clefPosition (number)Where should the center of the clef symbol go, measured in half staff spaces from the center of the staff.
clefTransposition (integer)Add this much extra transposition. Values of 7 and -7 are common.
clefTranspositionFormatter (procedure)A procedure that takes the Transposition number as a string and the style as a symbol and returns a markup.
clefTranspositionStyle (symbol)Determines the way the ClefModifier grob is displayed. Possible values are ‘default’, ‘parenthesized’ and ‘bracketed’.
completionBusy (boolean)Whether a completion-note head is playing.
completionFactor (an exact rational or procedure)When Completion_heads_engraver and
Completion_rest_engraver need to split a note or rest with a
scaled duration, such as c2*3, this specifies the scale factor
to use for the newly-split notes and rests created by the engraver.
If #f, the completion engraver uses the scale-factor of
each duration being split.
If set to a callback procedure, that procedure is called with the context of the completion engraver, and the duration to be split.
completionUnit (moment)Sub-bar unit of completion.
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)The type of spanner to be used for crescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin crescendo is used.
crescendoText (markup)The text to print at start of non-hairpin crescendo, i.e., ‘cresc.’.
cueClefGlyph (string)Name of the symbol within the music font.
cueClefPosition (number)Where should the center of the clef symbol go, measured in half staff spaces from the center of the staff.
cueClefTransposition (integer)Add this much extra transposition. Values of 7 and -7 are common.
cueClefTranspositionFormatter (procedure)A procedure that takes the Transposition number as a string and the style as a symbol and returns a markup.
cueClefTranspositionStyle (symbol)Determines the way the ClefModifier grob is displayed. Possible values are ‘default’, ‘parenthesized’ and ‘bracketed’.
currentBarNumber (integer)Contains the current barnumber. This property is incremented at every bar line.
decrescendoSpanner (symbol)The type of spanner to be used for decrescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin decrescendo is used.
decrescendoText (markup)The text to print at start of non-hairpin decrescendo, i.e., ‘dim.’.
defaultBarType (string)Set the default type of bar line. See
whichBar for information on available bar types.
This variable is read by (internals-big-page)Timing_translator section ‘Timing_translator’ in Internals Reference at (internals-big-page)Score section ‘Score’ in Internals Reference level.
defaultStrings (list)A list of strings to use in calculating frets for tablatures and fretboards if no strings are provided in the notes for the current moment.
doubleRepeatSegnoType (string)Set the default bar line for the combinations double repeat with segno. Default is ‘:|.S.|:’.
doubleRepeatType (string)Set the default bar line for double repeats.
doubleSlurs (boolean)If 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 which maps drums to layout settings. Predefined values: ‘drums-style’, ‘agostini-drums-style’, ‘timbales-style’, ‘congas-style’, ‘bongos-style’, and ‘percussion-style’.
The layout style is a hash table, containing the drum-pitches (e.g.,
the symbol ‘hihat’) as keys, and a list
(notehead-style script vertical-position) as
values.
endRepeatSegnoType (string)Set the default bar line for the combinations ending of repeat with segno. Default is ‘:|.S’.
endRepeatType (string)Set the default bar line for the ending of repeats.
explicitClefVisibility (vector)‘break-visibility’ function for clef changes.
explicitCueClefVisibility (vector)‘break-visibility’ function for cue 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 that reduce the effect of a previous alteration.
figuredBassAlterationDirection (direction)Where to put alterations relative to the main figure.
figuredBassCenterContinuations (boolean)Whether to vertically center pairs of extender lines. This does not work with three or more lines.
figuredBassFormatter (procedure)A routine generating a markup for a bass figure.
figuredBassPlusDirection (direction)Where to put plus signs relative to the main figure.
fingeringOrientations (list)A list of symbols, containing ‘left’, ‘right’, ‘up’ and/or ‘down’. This list determines where fingerings are put relative to the chord being fingered.
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.
fretLabels (list)A list of strings or Scheme-formatted markups containing, in the correct order, the labels to be used for lettered frets in tablature.
glissandoMap (list)A map in the form of ’((source1 . target1) (source2 . target2) (sourcen . targetn)) showing the glissandi to be drawn for note columns. The value ’() will default to ’((0 . 0) (1 . 1) (n . n)), where n is the minimal number of note-heads in the two note columns between which the glissandi occur.
gridInterval (moment)Interval for which to generate
GridPoints.
handleNegativeFrets (symbol)How the automatic fret calculator
should handle calculated negative frets. Values include 'ignore,
to leave them out of the diagram completely, 'include, to include
them as calculated, and 'recalculate, to ignore the specified
string and find a string where they will fit with a positive fret number.
harmonicAccidentals (boolean)If set, harmonic notes in chords get accidentals.
harmonicDots (boolean)If set, harmonic notes in dotted chords get dots.
highStringOne (boolean)Whether the first string is the string with highest pitch on the instrument. This used by the automatic string selector for tablature notation.
ignoreBarChecks (boolean)Ignore bar checks.
ignoreBarNumberChecks (boolean)Ignore bar number checks.
ignoreFiguredBassRest (boolean)Don’t swallow rest events.
ignoreMelismata (boolean)Ignore melismata for this (internals-big-page)Lyrics section ‘Lyrics’ in Internals Reference line.
implicitBassFigures (list)A list of bass figures that are not printed as numbers, but only as extender lines.
includeGraceNotes (boolean)Do not ignore grace notes for (internals-big-page)Lyrics section ‘Lyrics’ in Internals Reference.
initialTimeSignatureVisibility (vector)break visibility for the initial time signature.
instrumentCueName (markup)The name to print if another instrument is to be taken.
instrumentEqualizer (procedure)A 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
instrumentName property labels the staff in the first system, and
the shortInstrumentName property labels following lines.
instrumentTransposition (pitch)Define the transposition of
the instrument. Its value is the pitch that sounds when the instrument
plays written middle C. This is used to transpose the MIDI output,
and \quotes.
internalBarNumber (integer)Contains the current barnumber.
This property is used for internal timekeeping, among others by the
Accidental_engraver.
keepAliveInterfaces (list)A list of symbols, signifying grob
interfaces that are worth keeping a staff with remove-empty set
around for.
keyAlterationOrder (list)An alist that defines in what order
alterations should be printed. The format is
(step . alter),
where step is a number from 0 to 6 and
alter from -2 (sharp) to 2 (flat).
keyAlterations (list)The current key signature. This is an alist
containing (step . alter) or
((octave . step) . alter), where step
is a number in the range 0 to 6 and alter a fraction,
denoting alteration. For alterations, use symbols, e.g.
keyAlterations = #`((6 . ,FLAT)).
lyricMelismaAlignment (number)Alignment to use for a melisma syllable.
magnifyStaffValue (positive number)The most recent value set with
\magnifyStaff.
majorSevenSymbol (markup)How should the major 7th be formatted in a chord name?
markFormatter (procedure)A procedure taking as arguments the context and the 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)A 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 include
melismaBusy, slurMelismaBusy, tieMelismaBusy, and
beamMelismaBusy.
metronomeMarkFormatter (procedure)How to produce a metronome
markup. Called with two arguments: a TempoChangeEvent and context.
middleCClefPosition (number)The position of the middle C,
as determined only by the clef. This can be calculated by looking at
clefPosition and clefGlyph.
middleCCuePosition (number)The position of the middle C,
as determined only by the clef of the cue notes. This can be calculated by
looking at cueClefPosition and cueClefGlyph.
middleCOffset (number)The offset of
middle C from the position given by middleCClefPosition This
is used for ottava brackets.
middleCPosition (number)The place of the middle C, measured in
half staff-spaces. Usually determined by looking at
middleCClefPosition and middleCOffset.
midiBalance (number)Stereo balance for the MIDI channel
associated with the current context. Ranges from -1 to 1,
where the values -1 (#LEFT), 0 (#CENTER)
and 1 (#RIGHT) correspond to leftmost emphasis, center
balance, and rightmost emphasis, respectively.
midiChannelMapping (symbol)How to map MIDI channels: per
staff (default), instrument or voice.
midiChorusLevel (number)Chorus effect level for the MIDI channel associated with the current context. Ranges from 0 to 1 (0=off, 1=full effect).
midiExpression (number)Expression control for the MIDI channel associated with the current context. Ranges from 0 to 1 (0=off, 1=full effect).
midiInstrument (string)Name of the MIDI instrument to use.
midiMaximumVolume (number)Analogous to
midiMinimumVolume.
midiMergeUnisons (boolean)If true, output only one MIDI note-on event when notes with the same pitch, in the same MIDI-file track, overlap.
midiMinimumVolume (number)Set the minimum loudness for MIDI. Ranges from 0 to 1.
midiPanPosition (number)Pan position for the MIDI channel
associated with the current context. Ranges from -1 to 1,
where the values -1 (#LEFT), 0 (#CENTER)
and 1 (#RIGHT) correspond to hard left, center, and hard
right, respectively.
midiReverbLevel (number)Reverb effect level for the MIDI channel associated with the current context. Ranges from 0 to 1 (0=off, 1=full effect).
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.
minorChordModifier (markup)Markup displayed following the root for a minor chord
noChordSymbol (markup)Markup to be displayed for rests in a ChordNames context.
noteNameFunction (procedure)Function used to convert pitches into strings and markups.
noteNameSeparator (string)String used to separate simultaneous NoteName objects.
noteToFretFunction (procedure)Convert list of notes and list of defined strings to full list of strings and fret numbers. Parameters: The context, a list of note events, a list of tabstring events, and the fretboard grob if a fretboard is desired.
nullAccidentals (boolean)The Accidental_engraver
generates no accidentals for notes in contexts were this is set.
In addition to supressing the printed accidental, this option removes
any effect the note would have had on accidentals in other voices.
ottavation (markup)If set, the text for an ottava spanner. Changing this creates a new text spanner.
ottavationMarkups (list)An alist defining the markups used
for ottava brackets. It contains entries of the form
(number of octaves . markup).
output (music output)The output produced by a score-level translator during music interpretation.
partCombineForced (symbol)Override for the partCombine
decision. Can be apart, chords, unisono,
solo1, or solo2.
partCombineTextsOnNote (boolean)Print part-combine texts only on the next note rather than immediately on rests or skips.
pedalSostenutoStrings (list)See pedalSustainStrings.
pedalSostenutoStyle (symbol)See pedalSustainStyle.
pedalSustainStrings (list)A list of strings to print for
sustain-pedal. Format is (up updown down),
where each of the three is the string to print when this is done with
the pedal.
pedalSustainStyle (symbol)A symbol that indicates how to print
sustain pedals: text, bracket or mixed (both).
pedalUnaCordaStrings (list)See pedalSustainStrings.
pedalUnaCordaStyle (symbol)See pedalSustainStyle.
predefinedDiagramTable (hash table)The hash table of predefined fret diagrams to use in FretBoards.
printAccidentalNames (boolean or symbol)Print accidentals in the
NoteNames context.
printKeyCancellation (boolean)Print restoration alterations before a key signature change.
printNotesLanguage (string)Use a specific language in the
NoteNames context.
printOctaveNames (boolean or symbol)Print octave marks in the
NoteNames context.
printPartCombineTexts (boolean)Set ‘Solo’ and ‘A due’ texts in the part combiner?
proportionalNotationDuration (moment)Global override for shortest-playing duration. This is used for switching on proportional notation.
rehearsalMark (integer)The last rehearsal mark printed.
repeatCommands (list)This property is a list of commands
of the form (list 'volta x), where x is a string or
#f. 'end-repeat is also accepted as a command.
repeatCountVisibility (procedure)A procedure taking as
arguments an integer and context, returning whether the corresponding
percent repeat number should be printed when countPercentRepeats
is set.
restCompletionBusy (boolean)Signal whether a completion-rest is active.
restNumberThreshold (number)If a multimeasure rest has more measures than this, a number is printed.
restrainOpenStrings (boolean)Exclude open strings from the automatic fret calculator.
searchForVoice (boolean)Signal whether a search should be made of all contexts in the context hierarchy for a voice to provide rhythms for the lyrics.
segnoType (string)Set the default bar line for a requested segno. Default is ‘S’.
shapeNoteStyles (vector)Vector of symbols, listing style for each note head relative to the tonic (qv.) of the scale.
shortInstrumentName (markup)See instrumentName.
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)If true, no typesetting is done, speeding up the interpretation phase. Useful for debugging large scores.
slashChordSeparator (markup)The markup object used to separate a chord name from its root note in case of inversions or slash chords.
soloIIText (markup)The text for the start of a solo for voice ‘two’ when part-combining.
soloText (markup)The text for the start of a solo when part-combining.
squashedPosition (integer)Vertical position of squashing for (internals-big-page)Pitch_squash_engraver section ‘Pitch_squash_engraver’ in Internals Reference.
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.
startRepeatSegnoType (string)Set the default bar line for the combinations beginning of repeat with segno. Default is ‘S.|:’.
startRepeatType (string)Set the default bar line for the beginning of repeats.
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.
strictBeatBeaming (boolean)Should partial beams reflect the beat structure even if it causes flags to hang out?
stringNumberOrientations (list)See
fingeringOrientations.
stringOneTopmost (boolean)Whether the first string is printed on the top line of the tablature.
stringTunings (list)The tablature strings tuning. It is a list of the pitches of each string (starting with the lowest numbered one).
strokeFingerOrientations (list)See
fingeringOrientations.
subdivideBeams (boolean)If set, multiple beams will be
subdivided at baseMoment positions by only drawing one beam over the beat.
suggestAccidentals (boolean or symbol)If set to #t,
accidentals are typeset as suggestions above the note. Setting it to
'cautionary only applies that to cautionary accidentals.
supportNonIntegerFret (boolean)If set in Score the
TabStaff will print micro-tones as ‘2½’
suspendRestMerging (boolean)When using the Merge_rest_engraver do not merge rests when this is set to true.
systemStartDelimiter (symbol)Which grob to make for the start
of the system/staff? Set to SystemStartBrace,
SystemStartBracket or SystemStartBar.
systemStartDelimiterHierarchy (pair)A nested list, indicating the nesting of a start delimiters.
tablatureFormat (procedure)A function formatting a tablature note head. Called with three arguments: context, string number and, fret number. It returns the text as a markup.
tabStaffLineLayoutFunction (procedure)A function determining the staff position of a tablature note head. Called with two arguments: the context and the string.
tempoHideNote (boolean)Hide the note = count in tempo marks.
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 (fraction, as pair)A pair of numbers,
signifying the time signature. For example, '(4 . 4) is a
4/4 time signature.
timeSignatureSettings (list)A nested alist of settings for
time signatures. Contains elements for various time signatures. The
element for each time signature contains entries for baseMoment,
beatStructure, and beamExceptions.
timing (boolean)Keep administration of measure length, position, bar number, etc.? Switch off for cadenzas.
tonic (pitch)The tonic of the current scale.
topLevelAlignment (boolean)If true, the Vertical_align_engraver will create a VerticalAlignment; otherwise, it will create a StaffGrouper
tupletFullLength (boolean)If set, the tuplet is printed up to the start of the next note.
tupletFullLengthNote (boolean)If set, end at the next note, otherwise end on the matter (time signatures, etc.) before the note.
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.
{
\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.
vocalName (markup)Name of a vocal line.
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 ‘scm/bar-line.scm’.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
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.
busyGrobs (list)A queue of (end-moment .
grob) cons cells. This is for internal (C++) use only. This
property contains the grobs which are still busy (e.g. note heads,
spanners, etc.).
currentCommandColumn (graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
currentMusicalColumn (graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
dynamicAbsoluteVolumeFunction (procedure)A procedure that takes one argument, the text value of a dynamic event, and returns the absolute volume of that dynamic event.
finalizations (list)A list of expressions to evaluate before proceeding to next time step. This is an internal variable.
graceSettings (list)Overrides for grace notes. This property
should be manipulated through the add-grace-property function.
hasAxisGroup (boolean)True if the current context is contained in an axis group.
hasStaffSpacing (boolean)True if the current
CommandColumn contains items that will affect spacing.
lastChord (markup)Last chord, used for detecting chord changes.
lastKeyAlterations (list)Last key signature before a key signature change.
localAlterations (list)The key signature at this point in the
measure. The format is the same as for keyAlterations, but can
also contain ((octave . name) . (alter
barnumber . measureposition)) pairs.
melismaBusy (boolean)Signifies whether a melisma is active. This can be used to signal melismas on top of those automatically detected.
partialBusy (boolean)Signal that \partial acts at the current timestep.
quotedCueEventTypes (list)A list of symbols, representing the
event types that should be duplicated for \cueDuring commands.
quotedEventTypes (list)A list of symbols, representing the
event types that should be duplicated for \quoteDuring commands.
This is also a fallback for \cueDuring if quotedCueEventTypes
is not set
rootSystem (graphical (layout) object)The System object.
scriptDefinitions (list)The description of scripts. This is
used by the Script_engraver for typesetting note-superscripts
and subscripts. See ‘scm/script.scm’ for more information.
slurMelismaBusy (boolean)Signal if a slur is present.
stavesFound (list of grobs)A list of all staff-symbols found.
tieMelismaBusy (boolean)Signal whether a tie is present.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
| 3.1 All layout objects | Description and defaults for all graphical objects (grobs). | |
| 3.2 Graphical Object Interfaces | Building blocks of graphical objects. | |
| 3.3 User backend properties | All tunable properties in a big list. | |
| 3.4 Internal backend properties | All internal layout properties in a big list. |
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Accidental objects are created by: Accidental_engraver.
Standard settings:
after-line-breaking(boolean):
ly:accidental-interface::remove-tiedDummy property, used to trigger callback for
after-line-breaking.alteration(number):
accidental-interface::calc-alterationAlteration numbers for accidental.
avoid-slur(symbol):
'insideMethod of handling slur collisions. Choices are
inside,outside,around, andignore.insideadjusts the slur if needed to keep the grob inside the slur.outsidemoves the grob vertically to the outside of the slur.aroundmoves the grob vertically to the outside of the slur only if there is a collision.ignoredoes not move either. In grobs whose notational significance depends on vertical position (such as accidentals, clefs, etc.),outsideandaroundbehave likeignore.extra-spacing-width(pair of numbers): '(-0.2 . 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).glyph-name(string):
accidental-interface::glyph-nameThe glyph name within the font.
In the context of (span) bar lines, glyph-name represents a processed form of
glyph, where decisions about line breaking etc. are already taken.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.
horizontal-skylines(pair of skylines):
#<unpure-pure-container #<primitive-procedure ly:accidental-interface::horizontal-skylines> >Two skylines, one to the left and one to the right of this grob.
stencil(stencil):
ly:accidental-interface::printThe symbol to print.
vertical-skylines(pair of skylines):
#<unpure-pure-container #<primitive-procedure ly:grob::vertical-skylines-from-stencil> #<primitive-procedure ly:grob::pure-simple-vertical-skylines-from-extents> >Two skylines, one above and one below this grob.
X-offset(number):
ly:grob::x-parent-positioningThe horizontal amount that this object is moved relative to its X-parent.
Y-extent(pair of numbers):
#<unpure-pure-container #<primitive-procedure ly:accidental-interface::height> >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s): accidental-interface, font-interface, grob-interface, inline-accidental-interface and item-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
AccidentalCautionary objects are created by: Accidental_engraver.
Standard settings:
after-line-breaking(boolean):
ly:accidental-interface::remove-tiedDummy property, used to trigger callback for
after-line-breaking.alteration(number):
accidental-interface::calc-alterationAlteration numbers for accidental.
avoid-slur(symbol):
'insideMethod of handling slur collisions. Choices are
inside,outside,around, andignore.insideadjusts the slur if needed to keep the grob inside the slur.outsidemoves the grob vertically to the outside of the slur.aroundmoves the grob vertically to the outside of the slur only if there is a collision.ignoredoes not move either. In grobs whose notational significance depends on vertical position (such as accidentals, clefs, etc.),outsideandaroundbehave likeignore.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.
parenthesized(boolean):
#tParenthesize this grob.
stencil(stencil):
ly:accidental-interface::printThe symbol to print.
X-offset(number):
ly:grob::x-parent-positioningThe horizontal amount that this object is moved relative to its X-parent.
Y-extent(pair of numbers):
#<unpure-pure-container #<primitive-procedure ly:accidental-interface::height> >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s): accidental-interface, font-interface, grob-interface, inline-accidental-interface and item-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
AccidentalPlacement objects are created by: Accidental_engraver and Ambitus_engraver.
Standard settings:
direction(direction):
-1If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.right-padding(dimension, in staff space):
0.15Space to insert on the right side of an object (e.g., between note and its accidentals).
script-priority(number):
-100A key for determining the order of scripts in a stack, by being added to the position of the script in the user input, the sum being the overall priority. Smaller means closer to the head.
X-extent(pair of numbers):
ly:axis-group-interface::widthExtent (size) in the X direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s): accidental-placement-interface, grob-interface and item-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
AccidentalSuggestion objects are created by: Accidental_engraver.
Standard settings:
after-line-breaking(boolean):
ly:accidental-interface::remove-tiedDummy property, used to trigger callback for
after-line-breaking.alteration(number):
accidental-interface::calc-alterationAlteration numbers for accidental.
direction(direction):
1If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.font-size(number):
-2The font size, compared to the ‘normal’ size.
0is style-sheet’s normal size,-1is smaller,+1is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. If the context propertyfontSizeis set, its value is added to this before the glyph is printed. 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.
outside-staff-priority(number):
0If set, the grob is positioned outside the staff in such a way as to avoid all collisions. In case of a potential collision, the grob with the smaller
outside-staff-priorityis closer to the staff.parent-alignment-X(number):
0Specify on which point of the parent the object is aligned. The value
-1means aligned on parent’s left edge,0on center, and1right edge, in X direction. Other numerical values may also be specified - the unit is half the parent’s width. If unset, the value fromself-alignment-Xproperty will be used.script-priority(number):
0A key for determining the order of scripts in a stack, by being added to the position of the script in the user input, the sum being the overall priority. Smaller means closer to the head.
self-alignment-X(number):
0Specify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified - the unit is half the object width.side-axis(number):
1If the value is
X(or equivalently0), the object is placed horizontally next to the other object. If the value isYor1, it is placed vertically.staff-padding(dimension, in staff space):
0.25Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
stencil(stencil):
ly:accidental-interface::printThe symbol to print.
X-offset(number):
ly:self-alignment-interface::aligned-on-x-parentThe horizontal amount that this object is moved relative to its X-parent.
Y-extent(pair of numbers):
#<unpure-pure-container #<primitive-procedure ly:accidental-interface::height> >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
Y-offset(number):
#<unpure-pure-container #<primitive-procedure ly:side-position-interface::y-aligned-side> #<primitive-procedure ly:side-position-interface::pure-y-aligned-side> >The vertical amount that this object is moved relative to its Y-parent.
This object supports the following interface(s): accidental-interface, accidental-suggestion-interface, font-interface, grob-interface, item-interface, outside-staff-interface, script-interface, self-alignment-interface and side-position-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
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.
break-align-symbol(symbol):
'ambitusThis key is used for aligning, ordering, and spacing breakable items. See (internals-big-page)break-alignment-interface section ‘break-alignment-interface’ in Internals Reference.
break-visibility(vector): #(#f #f #t)A vector of 3 booleans,
#(end-of-line unbroken begin-of-line).#tmeans visible,#fmeans killed.non-musical(boolean):
#tTrue if the grob belongs to a
NonMusicalPaperColumn.space-alist(list): '((cue-end-clef extra-space . 0.5) (clef extra-space . 1.15) (cue-clef extra-space . 0.5) (key-signature extra-space . 1.15) (staff-bar extra-space . 1.15) (time-signature extra-space . 1.15) (right-edge extra-space . 0.5) (first-note extra-space . 1.15))An alist that specifies distances from this grob to other breakable items, using the format:
'((break-align-symbol . (spacing-style . space)) (break-align-symbol . (spacing-style . space)) ...)Standard choices for
break-align-symbolare listed in (internals-big-page)break-alignment-interface section ‘break-alignment-interface’ in Internals Reference. Additionally, three special break-align symbols available tospace-alistare:
first-noteused when the grob is just left of the first note on a line
next-noteused when the grob is just left of any other note; if not set, the value of
first-notegets usedright-edgeused when the grob is the last item on the line (only compatible with the
extra-spacespacing style)Choices for
spacing-styleare:
extra-spacePut this much space between the two grobs. The space is stretchable when paired with
first-noteornext-note; otherwise it is fixed.minimum-spacePut at least this much space between the left sides of both grobs, without allowing them to collide. The space is stretchable when paired with
first-noteornext-note; otherwise it is fixed. Not compatible withright-edge.fixed-spaceOnly compatible with
first-noteandnext-note. Put this much fixed space between the grob and the note.minimum-fixed-spaceOnly compatible with
first-noteandnext-note. Put at least this much fixed space between the left side of the grob and the left side of the note, without allowing them to collide.semi-fixed-spaceOnly compatible with
first-noteandnext-note. Put this much space between the grob and the note, such that half of the space is fixed and half is stretchable.Rules for this spacing are much more complicated than this. See [Wanske] page 126–134, [Ross] page 143–147.
X-extent(pair of numbers):
ly:axis-group-interface::widthExtent (size) in the X direction, measured in staff-space units, relative to object’s reference point.
Y-extent(pair of numbers):
#<unpure-pure-container #<primitive-procedure ly:axis-group-interface::height> #<primitive-procedure ly:axis-group-interface::pure-height> >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s): ambitus-interface, axis-group-interface, break-aligned-interface, grob-interface and item-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
AmbitusAccidental objects are created by: Ambitus_engraver.
Standard settings:
direction(direction):
-1If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.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.
padding(dimension, in staff space):
0.5Add this much extra space between objects that are next to each other.
side-axis(number):
0If the value is
X(or equivalently0), the object is placed horizontally next to the other object. If the value isYor1, it is placed vertically.stencil(stencil):
ly:accidental-interface::printThe symbol to print.
X-offset(number):
ly:grob::x-parent-positioningThe horizontal amount that this object is moved relative to its X-parent.
Y-extent(pair of numbers):
#<unpure-pure-container #<primitive-procedure ly:accidental-interface::height> >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s): accidental-interface, break-aligned-interface, font-interface, grob-interface, item-interface and side-position-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
AmbitusLine objects are created by: Ambitus_engraver.
Standard settings:
gap(dimension, in staff space):
ambitus-line::calc-gapSize of a gap in a variable symbol.
length-fraction(number):
0.7Multiplier for lengths. Used for determining ledger lines and stem lengths.
maximum-gap(number):
0.45Maximum value allowed for
gapproperty.stencil(stencil):
ambitus::printThe symbol to print.
thickness(number):
2For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e. the visual output is influenced by changes to
Staff.StaffSymbol.thickness).X-offset(number):
ly:self-alignment-interface::centered-on-x-parentThe horizontal amount that this object is moved relative to its X-parent.
This object supports the following interface(s): ambitus-interface, font-interface, grob-interface and item-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
AmbitusNoteHead objects are created by: Ambitus_engraver.
Standard settings:
duration-log(integer):
2The 2-log of the note head duration, i.e.,
0= whole note,1= half note, etc.glyph-name(string):
note-head::calc-glyph-nameThe glyph name within the font.
In the context of (span) bar lines, glyph-name represents a processed form of
glyph, where decisions about line breaking etc. are already taken.ignore-ambitus(boolean):
#tIf set, don’t consider this notehead for ambitus calculation.
stencil(stencil):
ly:note-head::printThe symbol to print.
Y-extent(pair of numbers):
#<unpure-pure-container #<primitive-procedure ly:grob::stencil-height> >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
Y-offset(number):
#<unpure-pure-container #<primitive-procedure ly:staff-symbol-referencer::callback> >The vertical amount that this object is moved relative to its Y-parent.
This object supports the following interface(s): ambitus-interface, font-interface, grob-interface, item-interface, ledgered-interface, note-head-interface, rhythmic-head-interface and staff-symbol-referencer-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Arpeggio objects are created by: Arpeggio_engraver and Span_arpeggio_engraver.
Standard settings:
direction(direction):
-1If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.line-thickness(number):
1For slurs and ties, this is the diameter of the virtual “pen” that draws the two arcs of the curve’s outline, which intersect at the endpoints. This property is expressed as a multiple of the current staff-line thickness (i.e. the visual output is influenced by changes to
Staff.StaffSymbol.thickness).padding(dimension, in staff space):
0.5Add this much extra space between objects that are next to each other.
positions(pair of numbers):
ly:arpeggio::calc-positionsPair of staff coordinates
(left . right), where both left and right are instaff-spaceunits of the current staff. For slurs, this value selects which slur candidate to use; if extreme positions are requested, the closest one is taken.protrusion(number):
0.4In an arpeggio bracket, the length of the horizontal edges.
script-priority(number):
0A key for determining the order of scripts in a stack, by being added to the position of the script in the user input, the sum being the overall priority. Smaller means closer to the head.
side-axis(number):
0If the value is
X(or equivalently0), the object is placed horizontally next to the other object. If the value isYor1, it is placed vertically.staff-position(number):
0.0Vertical position, measured in half staff spaces, counted from the middle line.
stencil(stencil):
ly:arpeggio::printThe symbol to print.
thickness(number):
1For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e. the visual output is influenced by changes to
Staff.StaffSymbol.thickness).X-extent(pair of numbers):
ly:arpeggio::widthExtent (size) in the X direction, measured in staff-space units, relative to object’s reference point.
X-offset(number):
ly:side-position-interface::x-aligned-sideThe horizontal amount that this object is moved relative to its X-parent.
Y-extent(pair of numbers):
#<unpure-pure-container #<primitive-procedure ly:grob::stencil-height> #<primitive-procedure ly:arpeggio::pure-height> >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
Y-offset(number):
#<unpure-pure-container #<primitive-procedure ly:staff-symbol-referencer::callback> >The vertical amount that this object is moved relative to its Y-parent.
This object supports the following interface(s): arpeggio-interface, font-interface, grob-interface, item-interface, side-position-interface and staff-symbol-referencer-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
BalloonTextItem objects are created by: Balloon_engraver.
Standard settings:
annotation-balloon(boolean):
#tPrint the balloon around an annotation.
annotation-line(boolean):
#tPrint the line from an annotation to the grob that it annotates.
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(stencil):
ly:balloon-interface::printThe symbol to print.
text(markup):
#<procedure #f (grob)>Text markup. See (notation-big-page)Formatting text section ‘Formatting text’ in Notation Reference.
X-offset(number):
#<procedure #f (grob)>The horizontal amount that this object is moved relative to its X-parent.
Y-extent(pair of numbers):
#<unpure-pure-container #<primitive-procedure ly:grob::stencil-height> >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
Y-offset(number):
#<procedure #f (grob)>The vertical amount that this object is moved relative to its Y-parent.
This object supports the following interface(s): balloon-interface, font-interface, grob-interface, item-interface and text-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
BalloonTextSpanner objects are not created by any engraver.
Standard settings:
annotation-balloon(boolean):
#tPrint the balloon around an annotation.
annotation-line(boolean):
#tPrint the line from an annotation to the grob that it annotates.
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(stencil):
ly:balloon-interface::print-spannerThe symbol to print.
text(markup):
#<procedure #f (grob)>Text markup. See (notation-big-page)Formatting text section ‘Formatting text’ in Notation Reference.
X-offset(number):
#<procedure #f (grob)>The horizontal amount that this object is moved relative to its X-parent.
Y-extent(pair of numbers):
#<unpure-pure-container #<primitive-procedure ly:grob::stencil-height> #<primitive-procedure ly:balloon-interface::pure-height> >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
Y-offset(number):
#<procedure #f (grob)>The vertical amount that this object is moved relative to its Y-parent.
This object supports the following interface(s): balloon-interface, font-interface, grob-interface, spanner-interface and text-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
BarLine objects are created by: Bar_engraver.
Standard settings:
allow-span-bar(boolean):
#tIf false, no inter-staff bar line will be created below this bar line.
bar-extent(pair of numbers):
ly:bar-line::calc-bar-extentThe Y-extent of the actual bar line. This may differ from
Y-extentbecause it does not include the dots in a repeat bar line.break-align-anchor(number):
ly:bar-line::calc-anchorGrobs aligned to this breakable item will have their X-offsets shifted by this number. In bar lines, for example, this is used to position grobs relative to the (visual) center of the bar line.
break-align-symbol(symbol):
'staff-barThis key is used for aligning, ordering, and spacing breakable items. See (internals-big-page)break-alignment-interface section ‘break-alignment-interface’ in Internals Reference.
break-visibility(vector):
bar-line::calc-break-visibilityA vector of 3 booleans,
#(end-of-line unbroken begin-of-line).#tmeans visible,#fmeans killed.extra-spacing-height(pair of numbers):
pure-from-neighbor-interface::account-for-span-barIn the horizontal spacing problem, we increase the height of each item by this amount (by adding the ‘car’ to the bottom of the item and adding the ‘cdr’ to the top of the item). In order to make a grob infinitely high (to prevent the horizontal spacing problem from placing any other grobs above or below this grob), set this to
(-inf.0 . +inf.0).gap(dimension, in staff space):
0.4Size 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.
In combination with (span) bar lines, it is a string resembling the bar line appearance in ASCII form.
glyph-name(string):
bar-line::calc-glyph-nameThe glyph name within the font.
In the context of (span) bar lines, glyph-name represents a processed form of
glyph, where decisions about line breaking etc. are already taken.hair-thickness(number):
1.9Thickness of the thin line in a bar line, expressed as a multiple of the default staff-line thickness (i.e. the visual output is not influenced by changes to
Staff.StaffSymbol.thickness).kern(dimension, in staff space):
3.0The space between individual elements in any compound bar line, expressed as a multiple of the default staff-line thickness (i.e. the visual output is not influenced by changes to
Staff.StaffSymbol.thickness).layer(integer):
0An integer which determines the order of printing objects. Objects with the lowest value of layer are drawn first, then objects with progressively higher values are drawn, so objects with higher values overwrite objects with lower values. By default most objects are assigned a layer value of 1.
non-musical(boolean):
#tTrue if the grob belongs to a
NonMusicalPaperColumn.rounded(boolean)Decide whether lines should be drawn rounded or not.
segno-kern(number):
3.0The space between the two thin lines of the segno bar line symbol, expressed as a multiple of the default staff-line thickness (i.e. the visual output is not influenced by changes to
Staff.StaffSymbol.thickness).space-alist(list): '((ambitus extra-space . 1.0) (time-signature extra-space . 0.75) (custos minimum-space . 2.0) (clef extra-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))An alist that specifies distances from this grob to other breakable items, using the format:
'((break-align-symbol . (spacing-style . space)) (break-align-symbol . (spacing-style . space)) ...)Standard choices for
break-align-symbolare listed in (internals-big-page)break-alignment-interface section ‘break-alignment-interface’ in Internals Reference. Additionally, three special break-align symbols available tospace-alistare:
first-noteused when the grob is just left of the first note on a line
next-noteused when the grob is just left of any other note; if not set, the value of
first-notegets usedright-edgeused when the grob is the last item on the line (only compatible with the
extra-spacespacing style)Choices for
spacing-styleare:
extra-spacePut this much space between the two grobs. The space is stretchable when paired with
first-noteornext-note; otherwise it is fixed.minimum-spacePut at least this much space between the left sides of both grobs, without allowing them to collide. The space is stretchable when paired with
first-noteornext-note; otherwise it is fixed. Not compatible withright-edge.fixed-spaceOnly compatible with
first-noteandnext-note. Put this much fixed space between the grob and the note.minimum-fixed-spaceOnly compatible with
first-noteandnext-note. Put at least this much fixed space between the left side of the grob and the left side of the note, without allowing them to collide.semi-fixed-spaceOnly compatible with
first-noteandnext-note. Put this much space between the grob and the note, such that half of the space is fixed and half is stretchable.Rules for this spacing are much more complicated than this. See [Wanske] page 126–134, [Ross] page 143–147.
stencil(stencil):
ly:bar-line::printThe symbol to print.
thick-thickness(number):
6.0Thickness of the thick line in a bar line, expressed as a multiple of the default staff-line thickness (i.e. the visual output is not influenced by changes to
Staff.StaffSymbol.thickness).Y-extent(pair of numbers):
#<unpure-pure-container #<primitive-procedure ly:grob::stencil-height> >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s): bar-line-interface, break-aligned-interface, font-interface, grob-interface, item-interface and pure-from-neighbor-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
BarNumber objects are created by: Bar_number_engraver.
Standard settings:
after-line-breaking(boolean):
ly:side-position-interface::move-to-extremal-staffDummy property, used to trigger callback for
after-line-breaking.break-align-symbols(list): '(left-edge staff-bar)A list of break-align symbols that determines which breakable items 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). Choices are listed in (internals-big-page)break-alignment-interface section ‘break-alignment-interface’ in Internals Reference.break-visibility(vector): #(#f #f #t)A vector of 3 booleans,
#(end-of-line unbroken begin-of-line).#tmeans visible,#fmeans killed.direction(direction):
1If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.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).font-family(symbol):
'romanThe font family is the broadest category for selecting text fonts. Options include:
sans,roman.font-size(number):
-2The font size, compared to the ‘normal’ size.
0is style-sheet’s normal size,-1is smaller,+1is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. If the context propertyfontSizeis set, its value is added to this before the glyph is printed. Fractional values are allowed.horizon-padding(number):
0.05The amount to pad the axis along which a
Skylineis built for theside-position-interface.non-musical(boolean):
#tTrue if the grob belongs to a
NonMusicalPaperColumn.outside-staff-priority(number):
100If set, the grob is positioned outside the staff in such a way as to avoid all collisions. In case of a potential collision, the grob with the smaller
outside-staff-priorityis closer to the staff.padding(dimension, in staff space):
1.0Add this much extra space between objects that are next to each other.
self-alignment-X(number):
1Specify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified - the unit is half the object width.side-axis(number):
1If the value is
X(or equivalently0), the object is placed horizontally next to the other object. If the value isYor1, it is placed vertically.stencil(stencil):
ly:text-interface::printThe symbol to print.
X-offset(number):
self-alignment-interface::self-aligned-on-breakableThe horizontal amount that this object is moved relative to its X-parent.
Y-extent(pair of numbers):
#<unpure-pure-container #<primitive-procedure ly:grob::stencil-height> >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
Y-offset(number):
#<unpure-pure-container #<primitive-procedure ly:side-position-interface::y-aligned-side> #<primitive-procedure ly:side-position-interface::pure-y-aligned-side> >The vertical amount that this object is moved relative to its Y-parent.
This object supports the following interface(s): break-alignable-interface, font-interface, grob-interface, item-interface, outside-staff-interface, self-alignment-interface, side-position-interface and text-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
BassFigure objects are created by: Figured_bass_engraver.
Standard settings:
stencil(stencil):
ly:text-interface::printThe symbol to print.
Y-extent(pair of numbers):
#<unpure-pure-container #<primitive-procedure ly:grob::stencil-height> >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s): bass-figure-interface, font-interface, grob-interface, item-interface, rhythmic-grob-interface and text-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
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.
padding(dimension, in staff space):
0.2Add this much extra space between objects that are next to each other.
stacking-dir(direction):
-1Stack objects in which direction?
vertical-skylines(pair of skylines):
ly:axis-group-interface::calc-skylinesTwo skylines, one above and one below this grob.
X-extent(pair of numbers):
ly:axis-group-interface::widthExtent (size) in the X direction, measured in staff-space units, relative to object’s reference point.
Y-extent(pair of numbers):
#<unpure-pure-container #<primitive-procedure ly:axis-group-interface::height> #<primitive-procedure ly:axis-group-interface::pure-height> >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s): align-interface, axis-group-interface, bass-figure-alignment-interface, grob-interface and spanner-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
BassFigureAlignmentPositioning objects are created by: Figured_bass_position_engraver.
Standard settings:
add-stem-support(boolean):
#tIf set, the
Stemobject is included in this script’s support.axes(list): '(1)List of axis numbers. In the case of alignment grobs, this should contain only one number.
direction(direction):
1If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.padding(dimension, in staff space):
0.5Add this much extra space between objects that are next to each other.
side-axis(number):
1If the value is
X(or equivalently0), the object is placed horizontally next to the other object. If the value isYor1, it is placed vertically.staff-padding(dimension, in staff space):
1.0Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
X-extent(pair of numbers):
ly:axis-group-interface::widthExtent (size) in the X direction, measured in staff-space units, relative to object’s reference point.
Y-extent(pair of numbers):
#<unpure-pure-container #<primitive-procedure ly:axis-group-interface::height> #<primitive-procedure ly:axis-group-interface::pure-height> >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
Y-offset(number):
#<unpure-pure-container #<primitive-procedure ly:side-position-interface::y-aligned-side> #<primitive-procedure ly:side-position-interface::pure-y-aligned-side> >The vertical amount that this object is moved relative to its Y-parent.
This object supports the following interface(s): axis-group-interface, grob-interface, outside-staff-interface, side-position-interface and spanner-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
BassFigureBracket objects are created by: Figured_bass_engraver.
Standard settings:
edge-height(pair): '(0.2 . 0.2)A pair of numbers specifying the heights of the vertical edges:
(left-height . right-height).stencil(stencil):
ly:enclosing-bracket::printThe symbol to print.
X-extent(pair of numbers):
ly:enclosing-bracket::widthExtent (size) in the X direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s): enclosing-bracket-interface, grob-interface and item-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
BassFigureContinuation objects are created by: Figured_bass_engraver.
Standard settings:
stencil(stencil):
ly:figured-bass-continuation::printThe symbol to print.
Y-offset(number):
ly:figured-bass-continuation::center-on-figuresThe vertical amount that this object is moved relative to its Y-parent.
This object supports the following interface(s): figured-bass-continuation-interface, grob-interface and spanner-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
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.
vertical-skylines(pair of skylines):
ly:axis-group-interface::calc-skylinesTwo skylines, one above and one below this grob.
X-extent(pair of numbers):
ly:axis-group-interface::widthExtent (size) in the X direction, measured in staff-space units, relative to object’s reference point.
Y-extent(pair of numbers):
#<unpure-pure-container #<primitive-procedure ly:axis-group-interface::height> #<primitive-procedure ly:axis-group-interface::pure-height> >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s): axis-group-interface, grob-interface, outside-staff-axis-group-interface and spanner-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Beam objects are created by: Auto_beam_engraver, Beam_engraver, Chord_tremolo_engraver, Grace_auto_beam_engraver and Grace_beam_engraver.
Standard settings:
auto-knee-gap(dimension, in staff space):
5.5If a gap is found between note heads where a horizontal beam fits and it is larger than this number, make a kneed beam.
beam-thickness(dimension, in staff space):
0.48Beam thickness, measured in
staff-spaceunits.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.
beaming(pair):
ly:beam::calc-beamingPair of number lists. Each number list specifies which beams to make.
0is the central beam,1is the next beam toward the note, etc. This information is used to determine how to connect the beaming patterns from stem to stem inside a beam.clip-edges(boolean):
#tAllow outward pointing beamlets at the edges of beams?
collision-interfaces(list): '(beam-interface clef-interface clef-modifier-interface flag-interface inline-accidental-interface key-signature-interface note-head-interface stem-interface time-signature-interface)A list of interfaces for which automatic beam-collision resolution is run.
damping(number):
1Amount of beam slope damping.
details(list): '((secondary-beam-demerit . 10) (stem-length-demerit-factor . 5) (region-size . 2) (beam-eps . 0.001) (stem-length-limit-penalty . 5000) (damping-direction-penalty . 800) (hint-direction-penalty . 20) (musical-direction-factor . 400) (ideal-slope-factor . 10) (collision-penalty . 500) (collision-padding . 0.35) (round-to-zero-slope . 0.02))Alist of parameters for detailed grob behavior. More information on the allowed parameters for a grob can be found by looking at the top of the Internals Reference page for each interface having a
detailsproperty.direction(direction):
ly:beam::calc-directionIf
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.font-family(symbol):
'romanThe font family is the broadest category for selecting text fonts. Options include:
sans,roman.gap(dimension, in staff space):
0.8Size of a gap in a variable symbol.
neutral-direction(direction):
-1Which direction to take in the center of the staff.
normalized-endpoints(pair):
ly:spanner::calc-normalized-endpointsRepresents left and right placement over the total spanner, where the width of the spanner is normalized between 0 and 1.
positions(pair of numbers):
beam::place-broken-parts-individuallyPair of staff coordinates
(left . right), where both left and right are instaff-spaceunits of the current staff. For slurs, this value selects which slur candidate to use; if extreme positions are requested, the closest one is taken.stencil(stencil):
ly:beam::printThe symbol to print.
transparent(boolean):
#<procedure #f (grob)>This makes the grob invisible.
vertical-skylines(pair of skylines):
#<unpure-pure-container #<primitive-procedure ly:grob::vertical-skylines-from-stencil> #<primitive-procedure ly:grob::pure-simple-vertical-skylines-from-extents> >Two skylines, one above and one below this grob.
X-positions(pair of numbers):
ly:beam::calc-x-positionsPair of X staff coordinates of a spanner in the form
(left . right), where both left and right are instaff-spaceunits of the current staff.
This object supports the following interface(s): beam-interface, font-interface, grob-interface, spanner-interface, staff-symbol-referencer-interface and unbreakable-spanner-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
BendAfter objects are created by: Bend_engraver.
Standard settings:
minimum-length(dimension, in staff space):
0.5Try to make a spanner at least this long, normally in the horizontal direction. This requires an appropriate callback for the
springs-and-rodsproperty. If added to aTie, this sets the minimum distance between noteheads.stencil(stencil):
bend::printThe symbol to print.
thickness(number):
2.0For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e. the visual output is influenced by changes to
Staff.StaffSymbol.thickness).
This object supports the following interface(s): bend-after-interface, grob-interface and spanner-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
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.
break-align-anchor(number):
ly:break-aligned-interface::calc-average-anchorGrobs aligned to this breakable item will have their X-offsets shifted by this number. In bar lines, for example, this is used to position grobs relative to the (visual) center of the bar line.
break-align-anchor-alignment(number):
ly:break-aligned-interface::calc-joint-anchor-alignmentRead by
ly:break-aligned-interface::calc-extent-aligned-anchorfor aligning an anchor to a grob’s extent.break-visibility(vector):
ly:break-aligned-interface::calc-break-visibilityA vector of 3 booleans,
#(end-of-line unbroken begin-of-line).#tmeans visible,#fmeans killed.X-extent(pair of numbers):
ly:axis-group-interface::widthExtent (size) in the X direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s): axis-group-interface, break-aligned-interface, grob-interface and item-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
BreakAlignment 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.
break-align-orders(vector):#((left-edge cue-end-clef ambitus breathing-sign clef cue-clef staff-bar key-cancellation key-signature time-signature custos) (left-edge cue-end-clef ambitus breathing-sign clef cue-clef staff-bar key-cancellation key-signature time-signature custos) (left-edge ambitus breathing-sign clef key-cancellation key-signature time-signature staff-bar cue-clef custos))This is a vector of 3 lists:
#(end-of-line unbroken start-of-line). Each list contains break-align symbols that specify an order of breakable items (see (internals-big-page)break-alignment-interface section ‘break-alignment-interface’ in Internals Reference).For example, this places time signatures before clefs:
\override Score.BreakAlignment.break-align-orders = #(make-vector 3 '(left-edge cue-end-clef ambitus breathing-sign time-signature clef cue-clef staff-bar key-cancellation key-signature custos))non-musical(boolean):
#tTrue if the grob belongs to a
NonMusicalPaperColumn.stacking-dir(direction):
1Stack objects in which direction?
X-extent(pair of numbers):
ly:axis-group-interface::widthExtent (size) in the X direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s): axis-group-interface, break-alignment-interface, grob-interface and item-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
BreathingSign objects are created by: Breathing_sign_engraver.
Standard settings:
break-align-symbol(symbol):
'breathing-signThis key is used for aligning, ordering, and spacing breakable items. See (internals-big-page)break-alignment-interface section ‘break-alignment-interface’ in Internals Reference.
break-visibility(vector): #(#t #t #f)A vector of 3 booleans,
#(end-of-line unbroken begin-of-line).#tmeans visible,#fmeans killed.non-musical(boolean):
#tTrue if the grob belongs to a
NonMusicalPaperColumn.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) (cue-clef minimum-space . 2.0) (cue-end-clef minimum-space . 2.0) (first-note fixed-space . 1.0) (right-edge extra-space . 0.1))An alist that specifies distances from this grob to other breakable items, using the format:
'((break-align-symbol . (spacing-style . space)) (break-align-symbol . (spacing-style . space)) ...)Standard choices for
break-align-symbolare listed in (internals-big-page)break-alignment-interface section ‘break-alignment-interface’ in Internals Reference. Additionally, three special break-align symbols available tospace-alistare:
first-noteused when the grob is just left of the first note on a line
next-noteused when the grob is just left of any other note; if not set, the value of
first-notegets usedright-edgeused when the grob is the last item on the line (only compatible with the
extra-spacespacing style)Choices for
spacing-styleare:
extra-spacePut this much space between the two grobs. The space is stretchable when paired with
first-noteornext-note; otherwise it is fixed.minimum-spacePut at least this much space between the left sides of both grobs, without allowing them to collide. The space is stretchable when paired with
first-noteornext-note; otherwise it is fixed. Not compatible withright-edge.fixed-spaceOnly compatible with
first-noteandnext-note. Put this much fixed space between the grob and the note.minimum-fixed-spaceOnly compatible with
first-noteandnext-note. Put at least this much fixed space between the left side of the grob and the left side of the note, without allowing them to collide.semi-fixed-spaceOnly compatible with
first-noteandnext-note. Put this much space between the grob and the note, such that half of the space is fixed and half is stretchable.Rules for this spacing are much more complicated than this. See [Wanske] page 126–134, [Ross] page 143–147.
stencil(stencil):
ly:text-interface::printThe symbol to print.
text(markup): '(#<procedure musicglyph-markup (layout props glyph-name)> "scripts.rcomma")Text markup. See (notation-big-page)Formatting text section ‘Formatting text’ in Notation Reference.
Y-extent(pair of numbers):
#<unpure-pure-container #<primitive-procedure ly:grob::stencil-height> >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
Y-offset(number):
ly:breathing-sign::offset-callbackThe vertical amount that this object is moved relative to its Y-parent.
This object supports the following interface(s): break-aligned-interface, breathing-sign-interface, font-interface, grob-interface, item-interface, outside-staff-interface and text-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
ChordName objects are created by: Chord_name_engraver.
Standard settings:
after-line-breaking(boolean):
ly:chord-name::after-line-breakingDummy property, used to trigger callback for
after-line-breaking.extra-spacing-height(pair of numbers): '(0.2 . -0.2)In the horizontal spacing problem, we increase the height of each item by this amount (by adding the ‘car’ to the bottom of the item and adding the ‘cdr’ to the top of the item). In order to make a grob infinitely high (to prevent the horizontal spacing problem from placing any other grobs above or below this grob), set this to
(-inf.0 . +inf.0).extra-spacing-width(pair of numbers): '(-0.5 . 0.5)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).font-family(symbol):
'sansThe font family is the broadest category for selecting text fonts. Options include:
sans,roman.font-size(number):
1.5The font size, compared to the ‘normal’ size.
0is style-sheet’s normal size,-1is smaller,+1is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. If the context propertyfontSizeis set, its value is added to this before the glyph is printed. Fractional values are allowed.stencil(stencil):
ly:text-interface::printThe symbol to print.
word-space(dimension, in staff space):
0.0Space to insert between words in texts.
Y-extent(pair of numbers):
#<unpure-pure-container #<primitive-procedure ly:grob::stencil-height> >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s): chord-name-interface, font-interface, grob-interface, item-interface, outside-staff-interface, rhythmic-grob-interface and text-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Clef objects are created by: Clef_engraver.
Standard settings:
avoid-slur(symbol):
'insideMethod of handling slur collisions. Choices are
inside,outside,around, andignore.insideadjusts the slur if needed to keep the grob inside the slur.outsidemoves the grob vertically to the outside of the slur.aroundmoves the grob vertically to the outside of the slur only if there is a collision.ignoredoes not move either. In grobs whose notational significance depends on vertical position (such as accidentals, clefs, etc.),outsideandaroundbehave likeignore.break-align-anchor(number):
ly:break-aligned-interface::calc-extent-aligned-anchorGrobs aligned to this breakable item will have their X-offsets shifted by this number. In bar lines, for example, this is used to position grobs relative to the (visual) center of the bar line.
break-align-anchor-alignment(number):
1Read by
ly:break-aligned-interface::calc-extent-aligned-anchorfor aligning an anchor to a grob’s extent.break-align-symbol(symbol):
'clefThis key is used for aligning, ordering, and spacing breakable items. See (internals-big-page)break-alignment-interface section ‘break-alignment-interface’ in Internals Reference.
break-visibility(vector): #(#f #f #t)A vector of 3 booleans,
#(end-of-line unbroken begin-of-line).#tmeans visible,#fmeans killed.extra-spacing-height(pair of numbers):
pure-from-neighbor-interface::extra-spacing-height-at-beginning-of-lineIn the horizontal spacing problem, we increase the height of each item by this amount (by adding the ‘car’ to the bottom of the item and adding the ‘cdr’ to the top of the item). In order to make a grob infinitely high (to prevent the horizontal spacing problem from placing any other grobs above or below this grob), set this to
(-inf.0 . +inf.0).glyph-name(string):
ly:clef::calc-glyph-nameThe glyph name within the font.
In the context of (span) bar lines, glyph-name represents a processed form of
glyph, where decisions about line breaking etc. are already taken.non-musical(boolean):
#tTrue if the grob belongs to a
NonMusicalPaperColumn.space-alist(list): '((cue-clef extra-space . 2.0) (staff-bar extra-space . 0.7) (ambitus extra-space . 1.15) (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 . 1.0) (right-edge extra-space . 0.5))An alist that specifies distances from this grob to other breakable items, using the format:
'((break-align-symbol . (spacing-style . space)) (break-align-symbol . (spacing-style . space)) ...)Standard choices for
break-align-symbolare listed in (internals-big-page)break-alignment-interface section ‘break-alignment-interface’ in Internals Reference. Additionally, three special break-align symbols available tospace-alistare:
first-noteused when the grob is just left of the first note on a line
next-noteused when the grob is just left of any other note; if not set, the value of
first-notegets usedright-edgeused when the grob is the last item on the line (only compatible with the
extra-spacespacing style)Choices for
spacing-styleare:
extra-spacePut this much space between the two grobs. The space is stretchable when paired with
first-noteornext-note; otherwise it is fixed.minimum-spacePut at least this much space between the left sides of both grobs, without allowing them to collide. The space is stretchable when paired with
first-noteornext-note; otherwise it is fixed. Not compatible withright-edge.fixed-spaceOnly compatible with
first-noteandnext-note. Put this much fixed space between the grob and the note.minimum-fixed-spaceOnly compatible with
first-noteandnext-note. Put at least this much fixed space between the left side of the grob and the left side of the note, without allowing them to collide.semi-fixed-spaceOnly compatible with
first-noteandnext-note. Put this much space between the grob and the note, such that half of the space is fixed and half is stretchable.Rules for this spacing are much more complicated than this. See [Wanske] page 126–134, [Ross] page 143–147.
stencil(stencil):
ly:clef::printThe symbol to print.
vertical-skylines(pair of skylines):
#<unpure-pure-container #<primitive-procedure ly:grob::vertical-skylines-from-stencil> >Two skylines, one above and one below this grob.
Y-extent(pair of numbers):
#<unpure-pure-container #<primitive-procedure ly:grob::stencil-height> >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
Y-offset(number):
#<unpure-pure-container #<primitive-procedure ly:staff-symbol-referencer::callback> >The vertical amount that this object is moved relative to its Y-parent.
This object supports the following interface(s): break-aligned-interface, clef-interface, font-interface, grob-interface, item-interface, pure-from-neighbor-interface and staff-symbol-referencer-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
ClefModifier objects are created by: Clef_engraver and Cue_clef_engraver.
Standard settings:
break-visibility(vector):
#<procedure #f (grob)>A vector of 3 booleans,
#(end-of-line unbroken begin-of-line).#tmeans visible,#fmeans killed.clef-alignments(list): '((G -0.2 . 0.1) (F -0.3 . -0.2) (C 0 . 0))An alist of parent-alignments that should be used for clef modifiers with various clefs
color(color):
#<procedure #f (grob)>The color of this grob.
font-shape(symbol):
'italicSelect the shape of a font. Choices include
upright,italic,caps.font-size(number):
-4The font size, compared to the ‘normal’ size.
0is style-sheet’s normal size,-1is smaller,+1is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. If the context propertyfontSizeis set, its value is added to this before the glyph is printed. Fractional values are allowed.parent-alignment-X(number):
ly:clef-modifier::calc-parent-alignmentSpecify on which point of the parent the object is aligned. The value
-1means aligned on parent’s left edge,0on center, and1right edge, in X direction. Other numerical values may also be specified - the unit is half the parent’s width. If unset, the value fromself-alignment-Xproperty will be used.self-alignment-X(number):
0Specify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified - the unit is half the object width.staff-padding(dimension, in staff space):
0.7Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
stencil(stencil):
ly:text-interface::printThe symbol to print.
transparent(boolean):
#<procedure #f (grob)>This makes the grob invisible.
vertical-skylines(pair of skylines):
#<unpure-pure-container #<primitive-procedure ly:grob::vertical-skylines-from-stencil> >Two skylines, one above and one below this grob.
X-offset(number):
ly:self-alignment-interface::aligned-on-x-parentThe horizontal amount that this object is moved relative to its X-parent.
Y-extent(pair of numbers):
#<unpure-pure-container #<primitive-procedure ly:grob::stencil-height> >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
Y-offset(number):
#<unpure-pure-container #<primitive-procedure ly:side-position-interface::y-aligned-side> #<primitive-procedure ly:side-position-interface::pure-y-aligned-side> >The vertical amount that this object is moved relative to its Y-parent.
This object supports the following interface(s): clef-modifier-interface, font-interface, grob-interface, item-interface, outside-staff-interface, self-alignment-interface, side-position-interface and text-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
ClusterSpanner objects are created by: Cluster_spanner_engraver.
Standard settings:
minimum-length(dimension, in staff space):
0.0Try to make a spanner at least this long, normally in the horizontal direction. This requires an appropriate callback for the
springs-and-rodsproperty. If added to aTie, this sets the minimum distance between noteheads.padding(dimension, in staff space):
0.25Add this much extra space between objects that are next to each other.
springs-and-rods(boolean):
ly:spanner::set-spacing-rodsDummy variable for triggering spacing routines.
stencil(stencil):
ly:cluster::printThe symbol to print.
style(symbol):
'rampThis setting determines in what style a grob is typeset. Valid choices depend on the
stencilcallback reading this property.
This object supports the following interface(s): cluster-interface, grob-interface and spanner-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
ClusterSpannerBeacon objects are created by: Cluster_spanner_engraver.
Standard settings:
Y-extent(pair of numbers):
ly:cluster-beacon::heightExtent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s): cluster-beacon-interface, grob-interface, item-interface and rhythmic-grob-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
CombineTextScript objects are created by: Part_combine_engraver.
Standard settings:
avoid-slur(symbol):
'outsideMethod of handling slur collisions. Choices are
inside,outside,around, andignore.insideadjusts the slur if needed to keep the grob inside the slur.outsidemoves the grob vertically to the outside of the slur.aroundmoves the grob vertically to the outside of the slur only if there is a collision.ignoredoes not move either. In grobs whose notational significance depends on vertical position (such as accidentals, clefs, etc.),outsideandaroundbehave likeignore.baseline-skip(dimension, in staff space):
2Distance between base lines of multiple lines of text.
direction(direction):
1If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.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).font-series(symbol):
'boldSelect the series of a font. Choices include
medium,bold,bold-narrow, etc.outside-staff-priority(number):
450If set, the grob is positioned outside the staff in such a way as to avoid all collisions. In case of a potential collision, the grob with the smaller
outside-staff-priorityis closer to the staff.padding(dimension, in staff space):
0.5Add this much extra space between objects that are next to each other.
parent-alignment-X(number)Specify on which point of the parent the object is aligned. The value
-1means aligned on parent’s left edge,0on center, and1right edge, in X direction. Other numerical values may also be specified - the unit is half the parent’s width. If unset, the value fromself-alignment-Xproperty will be used.script-priority(number):
200A key for determining the order of scripts in a stack, by being added to the position of the script in the user input, the sum being the overall priority. Smaller means closer to the head.
self-alignment-X(number)Specify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified - the unit is half the object width.side-axis(number):
1If the value is
X(or equivalently0), the object is placed horizontally next to the other object. If the value isYor1, it is placed vertically.staff-padding(dimension, in staff space):
0.5Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
stencil(stencil):
ly:text-interface::printThe symbol to print.
X-offset(number):
ly:self-alignment-interface::aligned-on-x-parentThe horizontal amount that this object is moved relative to its X-parent.
Y-extent(pair of numbers):
#<unpure-pure-container #<primitive-procedure ly:grob::stencil-height> >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
Y-offset(number):
#<unpure-pure-container #<primitive-procedure ly:side-position-interface::y-aligned-side> #<primitive-procedure ly:side-position-interface::pure-y-aligned-side> >The vertical amount that this object is moved relative to its Y-parent.
This object supports the following interface(s): font-interface, grob-interface, item-interface, outside-staff-interface, self-alignment-interface, side-position-interface, text-interface and text-script-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
CueClef objects are created by: Cue_clef_engraver.
Standard settings:
avoid-slur(symbol):
'insideMethod of handling slur collisions. Choices are
inside,outside,around, andignore.insideadjusts the slur if needed to keep the grob inside the slur.outsidemoves the grob vertically to the outside of the slur.aroundmoves the grob vertically to the outside of the slur only if there is a collision.ignoredoes not move either. In grobs whose notational significance depends on vertical position (such as accidentals, clefs, etc.),outsideandaroundbehave likeignore.break-align-anchor(number):
ly:break-aligned-interface::calc-extent-aligned-anchorGrobs aligned to this breakable item will have their X-offsets shifted by this number. In bar lines, for example, this is used to position grobs relative to the (visual) center of the bar line.
break-align-symbol(symbol):
'cue-clefThis key is used for aligning, ordering, and spacing breakable items. See (internals-big-page)break-alignment-interface section ‘break-alignment-interface’ in Internals Reference.
break-visibility(vector): #(#f #f #t)A vector of 3 booleans,
#(end-of-line unbroken begin-of-line).#tmeans visible,#fmeans killed.extra-spacing-height(pair of numbers):
pure-from-neighbor-interface::extra-spacing-height-at-beginning-of-lineIn the horizontal spacing problem, we increase the height of each item by this amount (by adding the ‘car’ to the bottom of the item and adding the ‘cdr’ to the top of the item). In order to make a grob infinitely high (to prevent the horizontal spacing problem from placing any other grobs above or below this grob), set this to
(-inf.0 . +inf.0).font-size(number):
-4The font size, compared to the ‘normal’ size.
0is style-sheet’s normal size,-1is smaller,+1is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. If the context propertyfontSizeis set, its value is added to this before the glyph is printed. Fractional values are allowed.full-size-change(boolean):
#tDon’t make a change clef smaller.
glyph-name(string):
ly:clef::calc-glyph-nameThe glyph name within the font.
In the context of (span) bar lines, glyph-name represents a processed form of
glyph, where decisions about line breaking etc. are already taken.non-musical(boolean):
#tTrue if the grob belongs to a
NonMusicalPaperColumn.space-alist(list): '((staff-bar minimum-space . 2.7) (key-cancellation minimum-space . 3.5) (key-signature minimum-space . 3.5) (time-signature minimum-space . 4.2) (custos minimum-space . 0.0) (first-note minimum-fixed-space . 3.0) (next-note extra-space . 1.0) (right-edge extra-space . 0.5))An alist that specifies distances from this grob to other breakable items, using the format:
'((break-align-symbol . (spacing-style . space)) (break-align-symbol . (spacing-style . space)) ...)Standard choices for
break-align-symbolare listed in (internals-big-page)break-alignment-interface section ‘break-alignment-interface’ in Internals Reference. Additionally, three special break-align symbols available tospace-alistare:
first-noteused when the grob is just left of the first note on a line
next-noteused when the grob is just left of any other note; if not set, the value of
first-notegets usedright-edgeused when the grob is the last item on the line (only compatible with the
extra-spacespacing style)Choices for
spacing-styleare:
extra-spacePut this much space between the two grobs. The space is stretchable when paired with
first-noteornext-note; otherwise it is fixed.minimum-spacePut at least this much space between the left sides of both grobs, without allowing them to collide. The space is stretchable when paired with
first-noteornext-note; otherwise it is fixed. Not compatible withright-edge.fixed-spaceOnly compatible with
first-noteandnext-note. Put this much fixed space between the grob and the note.minimum-fixed-spaceOnly compatible with
first-noteandnext-note. Put at least this much fixed space between the left side of the grob and the left side of the note, without allowing them to collide.semi-fixed-spaceOnly compatible with
first-noteandnext-note. Put this much space between the grob and the note, such that half of the space is fixed and half is stretchable.Rules for this spacing are much more complicated than this. See [Wanske] page 126–134, [Ross] page 143–147.
stencil(stencil):
ly:clef::printThe symbol to print.
vertical-skylines(pair of skylines):
#<unpure-pure-container #<primitive-procedure ly:grob::vertical-skylines-from-stencil> >Two skylines, one above and one below this grob.
Y-extent(pair of numbers):
#<unpure-pure-container #<primitive-procedure ly:grob::stencil-height> >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
Y-offset(number):
#<unpure-pure-container #<primitive-procedure ly:staff-symbol-referencer::callback> >The vertical amount that this object is moved relative to its Y-parent.
This object supports the following interface(s): break-aligned-interface, clef-interface, font-interface, grob-interface, item-interface, pure-from-neighbor-interface and staff-symbol-referencer-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
CueEndClef objects are created by: Cue_clef_engraver.
Standard settings:
avoid-slur(symbol):
'insideMethod of handling slur collisions. Choices are
inside,outside,around, andignore.insideadjusts the slur if needed to keep the grob inside the slur.outsidemoves the grob vertically to the outside of the slur.aroundmoves the grob vertically to the outside of the slur only if there is a collision.ignoredoes not move either. In grobs whose notational significance depends on vertical position (such as accidentals, clefs, etc.),outsideandaroundbehave likeignore.break-align-anchor(number):
ly:break-aligned-interface::calc-extent-aligned-anchorGrobs aligned to this breakable item will have their X-offsets shifted by this number. In bar lines, for example, this is used to position grobs relative to the (visual) center of the bar line.
break-align-symbol(symbol):
'cue-end-clefThis key is used for aligning, ordering, and spacing breakable items. See (internals-big-page)break-alignment-interface section ‘break-alignment-interface’ in Internals Reference.
break-visibility(vector): #(#t #t #f)A vector of 3 booleans,
#(end-of-line unbroken begin-of-line).#tmeans visible,#fmeans killed.extra-spacing-height(pair of numbers):
pure-from-neighbor-interface::extra-spacing-height-at-beginning-of-lineIn the horizontal spacing problem, we increase the height of each item by this amount (by adding the ‘car’ to the bottom of the item and adding the ‘cdr’ to the top of the item). In order to make a grob infinitely high (to prevent the horizontal spacing problem from placing any other grobs above or below this grob), set this to
(-inf.0 . +inf.0).font-size(number):
-4The font size, compared to the ‘normal’ size.
0is style-sheet’s normal size,-1is smaller,+1is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. If the context propertyfontSizeis set, its value is added to this before the glyph is printed. Fractional values are allowed.full-size-change(boolean):
#tDon’t make a change clef smaller.
glyph-name(string):
ly:clef::calc-glyph-nameThe glyph name within the font.
In the context of (span) bar lines, glyph-name represents a processed form of
glyph, where decisions about line breaking etc. are already taken.non-musical(boolean):
#tTrue if the grob belongs to a
NonMusicalPaperColumn.space-alist(list): '((clef extra-space . 0.7) (cue-clef extra-space . 0.7) (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 . 1.0) (right-edge extra-space . 0.5))An alist that specifies distances from this grob to other breakable items, using the format:
'((break-align-symbol . (spacing-style . space)) (break-align-symbol . (spacing-style . space)) ...)Standard choices for
break-align-symbolare listed in (internals-big-page)break-alignment-interface section ‘break-alignment-interface’ in Internals Reference. Additionally, three special break-align symbols available tospace-alistare:
first-noteused when the grob is just left of the first note on a line
next-noteused when the grob is just left of any other note; if not set, the value of
first-notegets usedright-edgeused when the grob is the last item on the line (only compatible with the
extra-spacespacing style)Choices for
spacing-styleare:
extra-spacePut this much space between the two grobs. The space is stretchable when paired with
first-noteornext-note; otherwise it is fixed.minimum-spacePut at least this much space between the left sides of both grobs, without allowing them to collide. The space is stretchable when paired with
first-noteornext-note; otherwise it is fixed. Not compatible withright-edge.fixed-spaceOnly compatible with
first-noteandnext-note. Put this much fixed space between the grob and the note.minimum-fixed-spaceOnly compatible with
first-noteandnext-note. Put at least this much fixed space between the left side of the grob and the left side of the note, without allowing them to collide.semi-fixed-spaceOnly compatible with
first-noteandnext-note. Put this much space between the grob and the note, such that half of the space is fixed and half is stretchable.Rules for this spacing are much more complicated than this. See [Wanske] page 126–134, [Ross] page 143–147.
stencil(stencil):
ly:clef::printThe symbol to print.
Y-extent(pair of numbers):
#<unpure-pure-container #<primitive-procedure ly:grob::stencil-height> >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
Y-offset(number):
#<unpure-pure-container #<primitive-procedure ly:staff-symbol-referencer::callback> >The vertical amount that this object is moved relative to its Y-parent.
This object supports the following interface(s): break-aligned-interface, clef-interface, font-interface, grob-interface, item-interface, pure-from-neighbor-interface and staff-symbol-referencer-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Custos objects are created by: Custos_engraver.
Standard settings:
break-align-symbol(symbol):
'custosThis key is used for aligning, ordering, and spacing breakable items. See (internals-big-page)break-alignment-interface section ‘break-alignment-interface’ in Internals Reference.
break-visibility(vector): #(#t #f #f)A vector of 3 booleans,
#(end-of-line unbroken begin-of-line).#tmeans visible,#fmeans killed.neutral-direction(direction):
-1Which direction to take in the center of the staff.
non-musical(boolean):
#tTrue if the grob belongs to a
NonMusicalPaperColumn.space-alist(list): '((first-note minimum-fixed-space . 0.0) (right-edge extra-space . 0.1))An alist that specifies distances from this grob to other breakable items, using the format:
'((break-align-symbol . (spacing-style . space)) (break-align-symbol . (spacing-style . space)) ...)Standard choices for
break-align-symbolare listed in (internals-big-page)break-alignment-interface section ‘break-alignment-interface’ in Internals Reference. Additionally, three special break-align symbols available tospace-alistare:
first-noteused when the grob is just left of the first note on a line
next-noteused when the grob is just left of any other note; if not set, the value of
first-notegets usedright-edgeused when the grob is the last item on the line (only compatible with the
extra-spacespacing style)Choices for
spacing-styleare:
extra-spacePut this much space between the two grobs. The space is stretchable when paired with
first-noteornext-note; otherwise it is fixed.minimum-spacePut at least this much space between the left sides of both grobs, without allowing them to collide. The space is stretchable when paired with
first-noteornext-note; otherwise it is fixed. Not compatible withright-edge.fixed-spaceOnly compatible with
first-noteandnext-note. Put this much fixed space between the grob and the note.minimum-fixed-spaceOnly compatible with
first-noteandnext-note. Put at least this much fixed space between the left side of the grob and the left side of the note, without allowing them to collide.semi-fixed-spaceOnly compatible with
first-noteandnext-note. Put this much space between the grob and the note, such that half of the space is fixed and half is stretchable.Rules for this spacing are much more complicated than this. See [Wanske] page 126–134, [Ross] page 143–147.
stencil(stencil):
ly:custos::printThe symbol to print.
style(symbol):
'vaticanaThis setting determines in what style a grob is typeset. Valid choices depend on the
stencilcallback reading this property.Y-offset(number):
#<unpure-pure-container #<primitive-procedure ly:staff-symbol-referencer::callback> >The vertical amount that this object is moved relative to its Y-parent.
This object supports the following interface(s): break-aligned-interface, custos-interface, font-interface, grob-interface, item-interface and staff-symbol-referencer-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
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.
chord-dots-limit(integer):
3Limits the column of dots on each chord to the height of the chord plus
chord-dots-limitstaff-positions.direction(direction):
1If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.X-extent(pair of numbers):
ly:axis-group-interface::widthExtent (size) in the X direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s): axis-group-interface, dot-column-interface, grob-interface and item-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Dots objects are created by: Dots_engraver.
Standard settings:
avoid-slur(symbol):
'insideMethod of handling slur collisions. Choices are
inside,outside,around, andignore.insideadjusts the slur if needed to keep the grob inside the slur.outsidemoves the grob vertically to the outside of the slur.aroundmoves the grob vertically to the outside of the slur only if there is a collision.ignoredoes not move either. In grobs whose notational significance depends on vertical position (such as accidentals, clefs, etc.),outsideandaroundbehave likeignore.dot-count(integer):
dots::calc-dot-countThe number of dots.
extra-spacing-height(pair of numbers): '(-0.5 . 0.5)In the horizontal spacing problem, we increase the height of each item by this amount (by adding the ‘car’ to the bottom of the item and adding the ‘cdr’ to the top of the item). In order to make a grob infinitely high (to prevent the horizontal spacing problem from placing any other grobs above or below this grob), set this to
(-inf.0 . +inf.0).extra-spacing-width(pair of numbers): '(0.0 . 0.2)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).staff-position(number):
dots::calc-staff-positionVertical position, measured in half staff spaces, counted from the middle line.
stencil(stencil):
ly:dots::printThe symbol to print.
Y-extent(pair of numbers):
#<unpure-pure-container #<primitive-procedure ly:grob::stencil-height> >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s): dots-interface, font-interface, grob-interface, item-interface and staff-symbol-referencer-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
DoublePercentRepeat objects are created by: Double_percent_repeat_engraver.
Standard settings:
break-align-symbol(symbol):
'staff-barThis key is used for aligning, ordering, and spacing breakable items. See (internals-big-page)break-alignment-interface section ‘break-alignment-interface’ in Internals Reference.
break-visibility(vector): #(#t #t #f)A vector of 3 booleans,
#(end-of-line unbroken begin-of-line).#tmeans visible,#fmeans killed.dot-negative-kern(number):
0.75The space to remove between a dot and a slash in percent repeat glyphs. Larger values bring the two elements closer together.
font-encoding(symbol):
'fetaMusicThe font encoding is the broadest category for selecting a font. Currently, only lilypond’s system fonts (Emmentaler) are using this property. Available values are
fetaMusic(Emmentaler),fetaBraces,fetaText(Emmentaler).non-musical(boolean):
#tTrue if the grob belongs to a
NonMusicalPaperColumn.slash-negative-kern(number):
1.6The space to remove between slashes in percent repeat glyphs. Larger values bring the two elements closer together.
slope(number):
1.0The slope of this object.
stencil(stencil):
ly:percent-repeat-item-interface::double-percentThe symbol to print.
thickness(number):
0.48For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e. the visual output is influenced by changes to
Staff.StaffSymbol.thickness).Y-extent(pair of numbers):
#<unpure-pure-container #<primitive-procedure ly:grob::stencil-height> >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s): break-aligned-interface, font-interface, grob-interface, item-interface, percent-repeat-interface and percent-repeat-item-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
DoublePercentRepeatCounter objects are created by: Double_percent_repeat_engraver.
Standard settings:
direction(direction):
1If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.font-encoding(symbol):
'fetaTextThe font encoding is the broadest category for selecting a font. Currently, only lilypond’s system fonts (Emmentaler) are using this property. Available values are
fetaMusic(Emmentaler),fetaBraces,fetaText(Emmentaler).font-size(number):
-2The font size, compared to the ‘normal’ size.
0is style-sheet’s normal size,-1is smaller,+1is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. If the context propertyfontSizeis set, its value is added to this before the glyph is printed. Fractional values are allowed.padding(dimension, in staff space):
0.2Add this much extra space between objects that are next to each other.
parent-alignment-X(number):
0Specify on which point of the parent the object is aligned. The value
-1means aligned on parent’s left edge,0on center, and1right edge, in X direction. Other numerical values may also be specified - the unit is half the parent’s width. If unset, the value fromself-alignment-Xproperty will be used.self-alignment-X(number):
0Specify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified - the unit is half the object width.side-axis(number):
1If the value is
X(or equivalently0), the object is placed horizontally next to the other object. If the value isYor1, it is placed vertically.staff-padding(dimension, in staff space):
0.25Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
stencil(stencil):
ly:text-interface::printThe symbol to print.
X-offset(number):
ly:self-alignment-interface::aligned-on-x-parentThe horizontal amount that this object is moved relative to its X-parent.
Y-extent(pair of numbers):
#<unpure-pure-container #<primitive-procedure ly:grob::stencil-height> >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
Y-offset(number):
#<unpure-pure-container #<primitive-procedure ly:side-position-interface::y-aligned-side> #<primitive-procedure ly:side-position-interface::pure-y-aligned-side> >The vertical amount that this object is moved relative to its Y-parent.
This object supports the following interface(s): font-interface, grob-interface, item-interface, outside-staff-interface, percent-repeat-interface, percent-repeat-item-interface, self-alignment-interface, side-position-interface and text-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
DoubleRepeatSlash objects are created by: Slash_repeat_engraver.
Standard settings:
dot-negative-kern(number):
0.75The space to remove between a dot and a slash in percent repeat glyphs. Larger values bring the two elements closer together.
font-encoding(symbol):
'fetaMusicThe font encoding is the broadest category for selecting a font. Currently, only lilypond’s system fonts (Emmentaler) are using this property. Available values are
fetaMusic(Emmentaler),fetaBraces,fetaText(Emmentaler).slash-negative-kern(number):
1.6The space to remove between slashes in percent repeat glyphs. Larger values bring the two elements closer together.
slope(number):
1.0The slope of this object.
stencil(stencil):
ly:percent-repeat-item-interface::beat-slashThe symbol to print.
thickness(number):
0.48For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e. the visual output is influenced by changes to
Staff.StaffSymbol.thickness).Y-extent(pair of numbers):
#<unpure-pure-container #<primitive-procedure ly:grob::stencil-height> >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s): font-interface, grob-interface, item-interface, outside-staff-interface, percent-repeat-interface, percent-repeat-item-interface and rhythmic-grob-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
DynamicLineSpanner objects are created by: Dynamic_align_engraver.
Standard settings:
axes(list): '(1)List of axis numbers. In the case of alignment grobs, this should contain only one number.
direction(direction):
-1If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.minimum-space(dimension, in staff space):
1.2Minimum distance that the victim should move (after padding).
outside-staff-priority(number):
250If set, the grob is positioned outside the staff in such a way as to avoid all collisions. In case of a potential collision, the grob with the smaller
outside-staff-priorityis closer to the staff.padding(dimension, in staff space):
0.6Add this much extra space between objects that are next to each other.
side-axis(number):
1If the value is
X(or equivalently0), the object is placed horizontally next to the other object. If the value isYor1, it is placed vertically.slur-padding(number):
0.3Extra distance between slur and script.
staff-padding(dimension, in staff space):
0.1Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
vertical-skylines(pair of skylines):
#<unpure-pure-container #<primitive-procedure ly:grob::vertical-skylines-from-element-stencils> #<primitive-procedure ly:grob::pure-vertical-skylines-from-element-stencils> >Two skylines, one above and one below this grob.
X-extent(pair of numbers):
ly:axis-group-interface::widthExtent (size) in the X direction, measured in staff-space units, relative to object’s reference point.
Y-extent(pair of numbers):
#<unpure-pure-container #<primitive-procedure ly:axis-group-interface::height> #<primitive-procedure ly:axis-group-interface::pure-height> >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
Y-offset(number):
#<unpure-pure-container #<primitive-procedure ly:side-position-interface::y-aligned-side> #<primitive-procedure ly:side-position-interface::pure-y-aligned-side> >The vertical amount that this object is moved relative to its Y-parent.
This object supports the following interface(s): axis-group-interface, dynamic-interface, dynamic-line-spanner-interface, grob-interface, outside-staff-interface, side-position-interface and spanner-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
DynamicText objects are created by: Dynamic_engraver.
Standard settings:
direction(direction):
ly:script-interface::calc-directionIf
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.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).font-encoding(symbol):
'fetaTextThe font encoding is the broadest category for selecting a font. Currently, only lilypond’s system fonts (Emmentaler) are using this property. Available values are
fetaMusic(Emmentaler),fetaBraces,fetaText(Emmentaler).font-series(symbol):
'boldSelect the series of a font. Choices include
medium,bold,bold-narrow, etc.font-shape(symbol):
'italicSelect the shape of a font. Choices include
upright,italic,caps.parent-alignment-X(number):
0Specify on which point of the parent the object is aligned. The value
-1means aligned on parent’s left edge,0on center, and1right edge, in X direction. Other numerical values may also be specified - the unit is half the parent’s width. If unset, the value fromself-alignment-Xproperty will be used.right-padding(dimension, in staff space):
0.5Space to insert on the right side of an object (e.g., between note and its accidentals).
self-alignment-X(number):
0Specify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified - the unit is half the object width.stencil(stencil):
ly:text-interface::printThe symbol to print.
vertical-skylines(pair of skylines):
#<unpure-pure-container #<primitive-procedure ly:grob::vertical-skylines-from-stencil> >Two skylines, one above and one below this grob.
X-align-on-main-noteheads(boolean):
#tIf true, this grob will ignore suspended noteheads when aligning itself on NoteColumn.
X-offset(number):
ly:self-alignment-interface::aligned-on-x-parentThe horizontal amount that this object is moved relative to its X-parent.
Y-extent(pair of numbers):
#<unpure-pure-container #<primitive-procedure ly:grob::stencil-height> >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
Y-offset(number):
#<unpure-pure-container #<procedure #f (grob)> >The vertical amount that this object is moved relative to its Y-parent.
This object supports the following interface(s): dynamic-interface, dynamic-text-interface, font-interface, grob-interface, item-interface, outside-staff-interface, script-interface, self-alignment-interface and text-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
DynamicTextSpanner objects are created by: Dynamic_engraver.
Standard settings:
before-line-breaking(boolean):
dynamic-text-spanner::before-line-breakingDummy property, used to trigger a callback function.
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.75 . -0.5) (padding . 0.75)) (left-broken (attach-dir . 1)))An alist of properties for determining attachments of spanners to edges.
dash-fraction(number):
0.2Size of the dashes, relative to
dash-period. Should be between0.1and1.0(continuous line). If set to0.0, a dotted line is produceddash-period(number):
3.0The length of one dash together with whitespace. If negative, no line is drawn at all.
font-shape(symbol):
'italicSelect the shape of a font. Choices include
upright,italic,caps.font-size(number):
1The font size, compared to the ‘normal’ size.
0is style-sheet’s normal size,-1is smaller,+1is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. If the context propertyfontSizeis set, its value is added to this before the glyph is printed. Fractional values are allowed.left-bound-info(list):
ly:line-spanner::calc-left-bound-info-and-textAn alist of properties for determining attachments of spanners to edges.
minimum-length(dimension, in staff space):
2.0Try to make a spanner at least this long, normally in the horizontal direction. This requires an appropriate callback for the
springs-and-rodsproperty. If added to aTie, this sets the minimum distance between noteheads.minimum-Y-extent(pair of numbers): '(-1 . 1)Minimum size of an object in Y dimension, measured in
staff-spaceunits.right-bound-info(list):
ly:line-spanner::calc-right-bound-infoAn alist of properties for determining attachments of spanners to edges.
skyline-horizontal-padding(number):
0.2For determining the vertical distance between two staves, it is possible to have a configuration which would result in a tight interleaving of grobs from the top staff and the bottom staff. The larger this parameter is, the farther apart the staves are placed in such a configuration.
springs-and-rods(boolean):
ly:spanner::set-spacing-rodsDummy variable for triggering spacing routines.
stencil(stencil):
ly:line-spanner::printThe symbol to print.
style(symbol):
'dashed-lineThis setting determines in what style a grob is typeset. Valid choices depend on the
stencilcallback reading this property.vertical-skylines(pair of skylines):
#<unpure-pure-container #<primitive-procedure ly:grob::vertical-skylines-from-stencil> #<primitive-procedure ly:grob::pure-simple-vertical-skylines-from-extents> >Two skylines, one above and one below this grob.
This object supports the following interface(s): dynamic-interface, dynamic-text-spanner-interface, font-interface, grob-interface, line-interface, line-spanner-interface, spanner-interface and text-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Episema objects are created by: Episema_engraver.
Standard settings:
bound-details(list): '((left (Y . 0) (padding . 0) (attach-dir . -1)) (right (Y . 0) (padding . 0) (attach-dir . 1)))An alist of properties for determining attachments of spanners to edges.
direction(direction):
1If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.left-bound-info(list):
ly:line-spanner::calc-left-bound-infoAn alist of properties for determining attachments of spanners to edges.
right-bound-info(list):
ly:line-spanner::calc-right-bound-infoAn alist of properties for determining attachments of spanners to edges.
side-axis(number):
1If the value is
X(or equivalently0), the object is placed horizontally next to the other object. If the value isYor1, it is placed vertically.stencil(stencil):
ly:line-spanner::printThe symbol to print.
style(symbol):
'lineThis setting determines in what style a grob is typeset. Valid choices depend on the
stencilcallback reading this property.Y-offset(number):
#<unpure-pure-container #<primitive-procedure ly:side-position-interface::y-aligned-side> #<primitive-procedure ly:side-position-interface::pure-y-aligned-side> >The vertical amount that this object is moved relative to its Y-parent.
This object supports the following interface(s): episema-interface, font-interface, grob-interface, line-interface, line-spanner-interface, side-position-interface and spanner-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Fingering objects are created by: Fingering_engraver and New_fingering_engraver.
Standard settings:
add-stem-support(boolean):
only-if-beamedIf set, the
Stemobject is included in this script’s support.avoid-slur(symbol):
'aroundMethod of handling slur collisions. Choices are
inside,outside,around, andignore.insideadjusts the slur if needed to keep the grob inside the slur.outsidemoves the grob vertically to the outside of the slur.aroundmoves the grob vertically to the outside of the slur only if there is a collision.ignoredoes not move either. In grobs whose notational significance depends on vertical position (such as accidentals, clefs, etc.),outsideandaroundbehave likeignore.direction(direction):
ly:script-interface::calc-directionIf
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.font-encoding(symbol):
'fetaTextThe font encoding is the broadest category for selecting a font. Currently, only lilypond’s system fonts (Emmentaler) are using this property. Available values are
fetaMusic(Emmentaler),fetaBraces,fetaText(Emmentaler).font-size(number):
-5The font size, compared to the ‘normal’ size.
0is style-sheet’s normal size,-1is smaller,+1is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. If the context propertyfontSizeis set, its value is added to this before the glyph is printed. Fractional values are allowed.padding(dimension, in staff space):
0.5Add this much extra space between objects that are next to each other.
parent-alignment-X(number):
0Specify on which point of the parent the object is aligned. The value
-1means aligned on parent’s left edge,0on center, and1right edge, in X direction. Other numerical values may also be specified - the unit is half the parent’s width. If unset, the value fromself-alignment-Xproperty will be used.parent-alignment-Y(number):
0Like
parent-alignment-Xbut for the Y axis.script-priority(number):
100A key for determining the order of scripts in a stack, by being added to the position of the script in the user input, the sum being the overall priority. Smaller means closer to the head.
self-alignment-X(number):
0Specify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified - the unit is half the object width.self-alignment-Y(number):
0Like
self-alignment-Xbut for the Y axis.slur-padding(number):
0.2Extra distance between slur and script.
staff-padding(dimension, in staff space):
0.5Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
stencil(stencil):
ly:text-interface::printThe symbol to print.
text(markup):
fingering::calc-textText markup. See (notation-big-page)Formatting text section ‘Formatting text’ in Notation Reference.
Y-extent(pair of numbers):
#<unpure-pure-container #<primitive-procedure ly:grob::stencil-height> >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s): finger-interface, font-interface, grob-interface, item-interface, outside-staff-interface, self-alignment-interface, side-position-interface, text-interface and text-script-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
FingeringColumn objects are created by: Fingering_column_engraver.
Standard settings:
padding(dimension, in staff space):
0.2Add this much extra space between objects that are next to each other.
snap-radius(number):
0.3The maximum distance between two objects that will cause them to snap to alignment along an axis.
This object supports the following interface(s): fingering-column-interface, grob-interface and item-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Flag objects are created by: Stem_engraver.
Standard settings:
color(color):
#<procedure #f (grob)>The color of this grob.
glyph-name(string):
ly:flag::glyph-nameThe glyph name within the font.
In the context of (span) bar lines, glyph-name represents a processed form of
glyph, where decisions about line breaking etc. are already taken.stencil(stencil):
ly:flag::printThe symbol to print.
transparent(boolean):
#<procedure #f (grob)>This makes the grob invisible.
vertical-skylines(pair of skylines):
#<unpure-pure-container #<primitive-procedure ly:grob::vertical-skylines-from-stencil> >Two skylines, one above and one below this grob.
X-extent(pair of numbers):
ly:flag::widthExtent (size) in the X direction, measured in staff-space units, relative to object’s reference point.
X-offset(number):
ly:flag::calc-x-offsetThe horizontal amount that this object is moved relative to its X-parent.
Y-extent(pair of numbers):
#<unpure-pure-container #<primitive-procedure ly:grob::stencil-height> >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
Y-offset(number):
#<unpure-pure-container #<primitive-procedure ly:flag::calc-y-offset> #<primitive-procedure ly:flag::pure-calc-y-offset> >The vertical amount that this object is moved relative to its Y-parent.
This object supports the following interface(s): flag-interface, font-interface, grob-interface and item-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
FootnoteItem objects are created by: Footnote_engraver.
Standard settings:
annotation-balloon(boolean)Print the balloon around an annotation.
annotation-line(boolean):
#tPrint the line from an annotation to the grob that it annotates.
automatically-numbered(boolean):
#<procedure #f (grob)>If set, footnotes are automatically numbered.
break-visibility(vector):
#<procedure #f (grob)>A vector of 3 booleans,
#(end-of-line unbroken begin-of-line).#tmeans visible,#fmeans killed.footnote(boolean):
#tShould this be a footnote or in-note?
footnote-text(markup):
#<procedure #f (grob)>A footnote for the grob.
stencil(stencil):
ly:balloon-interface::printThe symbol to print.
text(markup):
#<procedure #f (grob)>Text markup. See (notation-big-page)Formatting text section ‘Formatting text’ in Notation Reference.
X-extent(pair of numbers)Extent (size) in the X direction, measured in staff-space units, relative to object’s reference point.
X-offset(number):
#<procedure #f (grob)>The horizontal amount that this object is moved relative to its X-parent.
Y-extent(pair of numbers)Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
Y-offset(number):
#<procedure #f (grob)>The vertical amount that this object is moved relative to its Y-parent.
This object supports the following interface(s): balloon-interface, font-interface, footnote-interface, grob-interface, item-interface and text-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
FootnoteSpanner objects are created by: Footnote_engraver.
Standard settings:
annotation-balloon(boolean)Print the balloon around an annotation.
annotation-line(boolean):
#tPrint the line from an annotation to the grob that it annotates.
automatically-numbered(boolean):
#<procedure #f (grob)>If set, footnotes are automatically numbered.
footnote(boolean):
#tShould this be a footnote or in-note?
footnote-text(markup):
#<procedure #f (grob)>A footnote for the grob.
stencil(stencil):
ly:balloon-interface::print-spannerThe symbol to print.
text(markup):
#<procedure #f (grob)>Text markup. See (notation-big-page)Formatting text section ‘Formatting text’ in Notation Reference.
X-extent(pair of numbers)Extent (size) in the X direction, measured in staff-space units, relative to object’s reference point.
X-offset(number):
#<procedure #f (grob)>The horizontal amount that this object is moved relative to its X-parent.
Y-extent(pair of numbers)Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
Y-offset(number):
#<procedure #f (grob)>The vertical amount that this object is moved relative to its Y-parent.
This object supports the following interface(s): balloon-interface, font-interface, footnote-interface, footnote-spanner-interface, grob-interface, spanner-interface and text-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
FretBoard objects are created by: Fretboard_engraver.
Standard settings:
after-line-breaking(boolean):
ly:chord-name::after-line-breakingDummy property, used to trigger callback for
after-line-breaking.extra-spacing-height(pair of numbers): '(0.2 . -0.2)In the horizontal spacing problem, we increase the height of each item by this amount (by adding the ‘car’ to the bottom of the item and adding the ‘cdr’ to the top of the item). In order to make a grob infinitely high (to prevent the horizontal spacing problem from placing any other grobs above or below this grob), set this to
(-inf.0 . +inf.0).extra-spacing-width(pair of numbers): '(-0.5 . 0.5)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).fret-diagram-details(list): '((finger-code . below-string))An alist of detailed grob properties for fret diagrams. Each alist entry consists of a
(property . value)pair. The properties which can be included infret-diagram-detailsinclude the following:
barre-type– Type of barre indication used. Choices includecurved,straight, andnone. Defaultcurved.capo-thickness– Thickness of capo indicator, in multiples of fret-space. Default value 0.5.dot-color– Color of dots. Options includeblackandwhite. Defaultblack.dot-label-font-mag– Magnification for font used to label fret dots. Default value 1.dot-position– Location of dot in fret space. Default 0.6 for dots without labels, 0.95-dot-radiusfor dots with labels.dot-radius– Radius of dots, in terms of fret spaces. Default value 0.425 for labeled dots, 0.25 for unlabeled dots.finger-code– Code for the type of fingering indication used. Options includenone,in-dot, andbelow-string. Defaultnonefor markup fret diagrams,below-stringforFretBoardsfret diagrams.fret-count– The number of frets. Default 4.fret-distance– Multiplier to adjust the distance between frets. Default 1.0.fret-label-custom-format– The format string to be used label the lowest fret number, whennumber-typeequals tocustom. Default "~a".fret-label-font-mag– The magnification of the font used to label the lowest fret number. Default 0.5.fret-label-vertical-offset– The offset of the fret label from the center of the fret in direction parallel to strings. Default 0.fret-label-horizontal-offset– The offset of the fret label from the center of the fret in direction orthogonal to strings. Default 0.handedness– Print the fret-diagram left- or right-handed.-1,LEFTfor left ;1,RIGHTfor right. DefaultRIGHT.paren-padding– The padding for the parenthesis. Default 0.05.label-dir– Side to which the fret label is attached.-1,LEFT, orDOWNfor left or down;1,RIGHT, orUPfor right or up. DefaultRIGHT.mute-string– Character string to be used to indicate muted string. Default"x".number-type– Type of numbers to use in fret label. Choices includeroman-lower,roman-upper,arabicandcustom. In the later case, the format string is supplied by thefret-label-custom-formatproperty. Defaultroman-lower.open-string– Character string to be used to indicate open string. Default"o".orientation– Orientation of fret-diagram. Options includenormal,landscape, andopposing-landscape. Defaultnormal.string-count– The number of strings. Default 6.string-distance– Multiplier to adjust the distance between strings. Default 1.0.string-label-font-mag– The magnification of the font used to label fingerings at the string, rather than in the dot. Default value 0.6 fornormalorientation, 0.5 forlandscapeandopposing-landscape.string-thickness-factor– Factor for changing thickness of each string in the fret diagram. Thickness of string k is given bythickness* (1+string-thickness-factor) ^ (k-1). Default 0.top-fret-thickness– The thickness of the top fret line, as a multiple of the standard thickness. Default value 3.xo-font-magnification– Magnification used for mute and open string indicators. Default value 0.5.xo-padding– Padding for open and mute indicators from top fret. Default value 0.25.stencil(stencil):
fret-board::calc-stencilThe symbol to print.
Y-extent(pair of numbers):
#<unpure-pure-container #<primitive-procedure ly:grob::stencil-height> >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s): chord-name-interface, font-interface, fret-diagram-interface, grob-interface, item-interface, outside-staff-interface and rhythmic-grob-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Glissando objects are created by: Glissando_engraver.
Standard settings:
after-line-breaking(boolean):
ly:spanner::kill-zero-spanned-timeDummy property, used to trigger callback for
after-line-breaking.bound-details(list):'((right (attach-dir . -1) (end-on-accidental . #t) (padding . 0.5)) (left (attach-dir . 1) (padding . 0.5) (start-at-dot . #t)))An alist of properties for determining attachments of spanners to edges.
gap(dimension, in staff space):
0.5Size of a gap in a variable symbol.
left-bound-info(list):
ly:line-spanner::calc-left-bound-infoAn alist of properties for determining attachments of spanners to edges.
normalized-endpoints(pair):
ly:spanner::calc-normalized-endpointsRepresents left and right placement over the total spanner, where the width of the spanner is normalized between 0 and 1.
right-bound-info(list):
ly:line-spanner::calc-right-bound-infoAn alist of properties for determining attachments of spanners to edges.
simple-Y(boolean):
#tShould the Y placement of a spanner disregard changes in system heights?
stencil(stencil):
ly:line-spanner::printThe symbol to print.
style(symbol):
'lineThis setting determines in what style a grob is typeset. Valid choices depend on the
stencilcallback reading this property.vertical-skylines(pair of skylines):
#<unpure-pure-container #<primitive-procedure ly:grob::vertical-skylines-from-stencil> #<primitive-procedure ly:grob::pure-simple-vertical-skylines-from-extents> >Two skylines, one above and one below this grob.
X-extent(pair of numbers)Extent (size) in the X direction, measured in staff-space units, relative to object’s reference point.
Y-extent(pair of numbers)Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
zigzag-width(dimension, in staff space):
0.75The width of one zigzag squiggle. This number is adjusted slightly so that the glissando line can be constructed from a whole number of squiggles.
This object supports the following interface(s): glissando-interface, grob-interface, line-interface, line-spanner-interface, spanner-interface and unbreakable-spanner-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
GraceSpacing objects are created by: Grace_spacing_engraver.
Standard settings:
common-shortest-duration(moment):
grace-spacing::calc-shortest-durationThe most common shortest note length. This is used in spacing. Enlarging this sets the score tighter.
shortest-duration-space(number):
1.6Start with this multiple of
spacing-incrementspace for the shortest duration. See also (internals-big-page)spacing-spanner-interface section ‘spacing-spanner-interface’ in Internals Reference.spacing-increment(dimension, in staff space):
0.8The unit of length for note-spacing. Typically, the width of a note head. See also (internals-big-page)spacing-spanner-interface section ‘spacing-spanner-interface’ in Internals Reference.
This object supports the following interface(s): grace-spacing-interface, grob-interface, spacing-options-interface and spanner-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
GridLine objects are created by: Grid_line_span_engraver.
Standard settings:
layer(integer):
0An integer which determines the order of printing objects. Objects with the lowest value of layer are drawn first, then objects with progressively higher values are drawn, so objects with higher values overwrite objects with lower values. By default most objects are assigned a layer value of 1.
parent-alignment-X(number):
0Specify on which point of the parent the object is aligned. The value
-1means aligned on parent’s left edge,0on center, and1right edge, in X direction. Other numerical values may also be specified - the unit is half the parent’s width. If unset, the value fromself-alignment-Xproperty will be used.self-alignment-X(number):
0Specify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified - the unit is half the object width.stencil(stencil):
ly:grid-line-interface::printThe symbol to print.
X-extent(pair of numbers):
ly:grid-line-interface::widthExtent (size) in the X direction, measured in staff-space units, relative to object’s reference point.
X-offset(number):
ly:self-alignment-interface::aligned-on-x-parentThe horizontal amount that this object is moved relative to its X-parent.
This object supports the following interface(s): grid-line-interface, grob-interface, item-interface and self-alignment-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
GridPoint objects are created by: Grid_point_engraver.
Standard settings:
X-extent(pair of numbers): '(0 . 0)Extent (size) in the X direction, measured in staff-space units, relative to object’s reference point.
Y-extent(pair of numbers): '(0 . 0)Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s): grid-point-interface, grob-interface and item-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Hairpin objects are created by: Dynamic_engraver.
Standard settings:
after-line-breaking(boolean):
ly:spanner::kill-zero-spanned-timeDummy property, used to trigger callback for
after-line-breaking.bound-padding(number):
1.0The amount of padding to insert around spanner bounds.
broken-bound-padding(number):
ly:hairpin::broken-bound-paddingThe amount of padding to insert when a spanner is broken at a line break.
circled-tip(boolean)Put a circle at start/end of hairpins (al/del niente).
grow-direction(direction):
hairpin::calc-grow-directionCrescendo or decrescendo?
height(dimension, in staff space):
0.6666Height of an object in
staff-spaceunits.minimum-length(dimension, in staff space):
2.0Try to make a spanner at least this long, normally in the horizontal direction. This requires an appropriate callback for the
springs-and-rodsproperty. If added to aTie, this sets the minimum distance between noteheads.self-alignment-Y(number):
0Like
self-alignment-Xbut for the Y axis.springs-and-rods(boolean):
ly:spanner::set-spacing-rodsDummy variable for triggering spacing routines.
stencil(stencil):
ly:hairpin::printThe symbol to print.
thickness(number):
1.0For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e. the visual output is influenced by changes to
Staff.StaffSymbol.thickness).to-barline(boolean):
#tIf true, the spanner will stop at the bar line just before it would otherwise stop.
vertical-skylines(pair of skylines):
#<unpure-pure-container #<primitive-procedure ly:grob::vertical-skylines-from-stencil> #<primitive-procedure ly:grob::pure-simple-vertical-skylines-from-extents> >Two skylines, one above and one below this grob.
Y-extent(pair of numbers):
#<unpure-pure-container #<primitive-procedure ly:grob::stencil-height> #<primitive-procedure ly:hairpin::pure-height> >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
Y-offset(number):
#<unpure-pure-container #<primitive-procedure ly:self-alignment-interface::y-aligned-on-self> #<primitive-procedure ly:self-alignment-interface::pure-y-aligned-on-self> >The vertical amount that this object is moved relative to its Y-parent.
This object supports the following interface(s): dynamic-interface, grob-interface, hairpin-interface, line-interface, outside-staff-interface, self-alignment-interface and spanner-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
HorizontalBracket objects are created by: Horizontal_bracket_engraver.
Standard settings:
bracket-flare(pair of numbers): '(0.5 . 0.5)A pair of numbers specifying how much edges of brackets should slant outward. Value
0.0means straight edges.connect-to-neighbor(pair):
ly:tuplet-bracket::calc-connect-to-neighborsPair of booleans, indicating whether this grob looks as a continued break.
direction(direction):
-1If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.padding(dimension, in staff space):
0.2Add this much extra space between objects that are next to each other.
side-axis(number):
1If the value is
X(or equivalently0), the object is placed horizontally next to the other object. If the value isYor1, it is placed vertically.staff-padding(dimension, in staff space):
0.2Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
stencil(stencil):
ly:horizontal-bracket::printThe symbol to print.
thickness(number):
1.0For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e. the visual output is influenced by changes to
Staff.StaffSymbol.thickness).Y-offset(number):
#<unpure-pure-container #<primitive-procedure ly:side-position-interface::y-aligned-side> #<primitive-procedure ly:side-position-interface::pure-y-aligned-side> >The vertical amount that this object is moved relative to its Y-parent.
This object supports the following interface(s): grob-interface, horizontal-bracket-interface, line-interface, outside-staff-interface, side-position-interface and spanner-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
HorizontalBracketText objects are created by: Horizontal_bracket_engraver.
Standard settings:
direction(direction):
ly:horizontal-bracket-text::calc-directionIf
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.font-size(number):
-1The font size, compared to the ‘normal’ size.
0is style-sheet’s normal size,-1is smaller,+1is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. If the context propertyfontSizeis set, its value is added to this before the glyph is printed. Fractional values are allowed.padding(dimension, in staff space):
0.5Add this much extra space between objects that are next to each other.
parent-alignment-X(number):
0Specify on which point of the parent the object is aligned. The value
-1means aligned on parent’s left edge,0on center, and1right edge, in X direction. Other numerical values may also be specified - the unit is half the parent’s width. If unset, the value fromself-alignment-Xproperty will be used.self-alignment-X(number):
0Specify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified - the unit is half the object width.side-axis(number):
1If the value is
X(or equivalently0), the object is placed horizontally next to the other object. If the value isYor1, it is placed vertically.stencil(stencil):
ly:horizontal-bracket-text::printThe symbol to print.
X-offset(number):
ly:self-alignment-interface::aligned-on-x-parentThe horizontal amount that this object is moved relative to its X-parent.
Y-offset(number):
#<unpure-pure-container #<primitive-procedure ly:side-position-interface::y-aligned-side> #<primitive-procedure ly:side-position-interface::pure-y-aligned-side> >The vertical amount that this object is moved relative to its Y-parent.
This object supports the following interface(s): font-interface, grob-interface, horizontal-bracket-text-interface, outside-staff-interface, self-alignment-interface, side-position-interface, spanner-interface and text-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
InstrumentName objects are created by: Instrument_name_engraver.
Standard settings:
direction(direction):
-1If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.padding(dimension, in staff space):
0.3Add this much extra space between objects that are next to each other.
self-alignment-X(number):
0Specify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified - the unit is half the object width.self-alignment-Y(number):
0Like
self-alignment-Xbut for the Y axis.stencil(stencil):
system-start-text::printThe symbol to print.
X-offset(number):
system-start-text::calc-x-offsetThe horizontal amount that this object is moved relative to its X-parent.
Y-offset(number):
system-start-text::calc-y-offsetThe vertical amount that this object is moved relative to its Y-parent.
This object supports the following interface(s): font-interface, grob-interface, self-alignment-interface, side-position-interface, spanner-interface, system-start-text-interface and text-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
InstrumentSwitch objects are created by: Instrument_switch_engraver.
Standard settings:
direction(direction):
1If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.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):
500If set, the grob is positioned outside the staff in such a way as to avoid all collisions. In case of a potential collision, the grob with the smaller
outside-staff-priorityis closer to the staff.padding(dimension, in staff space):
0.5Add this much extra space between objects that are next to each other.
parent-alignment-X(number)Specify on which point of the parent the object is aligned. The value
-1means aligned on parent’s left edge,0on center, and1right edge, in X direction. Other numerical values may also be specified - the unit is half the parent’s width. If unset, the value fromself-alignment-Xproperty will be used.self-alignment-X(number):
-1Specify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified - the unit is half the object width.side-axis(number):
1If the value is
X(or equivalently0), the object is placed horizontally next to the other object. If the value isYor1, it is placed vertically.staff-padding(dimension, in staff space):
0.5Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
stencil(stencil):
ly:text-interface::printThe symbol to print.
X-offset(number):
ly:self-alignment-interface::aligned-on-x-parentThe horizontal amount that this object is moved relative to its X-parent.
Y-extent(pair of numbers):
#<unpure-pure-container #<primitive-procedure ly:grob::stencil-height> >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
Y-offset(number):
#<unpure-pure-container #<primitive-procedure ly:side-position-interface::y-aligned-side> #<primitive-procedure ly:side-position-interface::pure-y-aligned-side> >The vertical amount that this object is moved relative to its Y-parent.
This object supports the following interface(s): font-interface, grob-interface, item-interface, outside-staff-interface, self-alignment-interface, side-position-interface and text-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
KeyCancellation objects are created by: Key_engraver.
Standard settings:
break-align-symbol(symbol):
'key-cancellationThis key is used for aligning, ordering, and spacing breakable items. See (internals-big-page)break-alignment-interface section ‘break-alignment-interface’ in Internals Reference.
break-visibility(vector): #(#t #t #f)A vector of 3 booleans,
#(end-of-line unbroken begin-of-line).#tmeans visible,#fmeans killed.extra-spacing-height(pair of numbers):
pure-from-neighbor-interface::extra-spacing-height-including-staffIn the horizontal spacing problem, we increase the height of each item by this amount (by adding the ‘car’ to the bottom of the item and adding the ‘cdr’ to the top of the item). In order to make a grob infinitely high (to prevent the horizontal spacing problem from placing any other grobs above or below this grob), set this to
(-inf.0 . +inf.0).extra-spacing-width(pair of numbers): '(0.0 . 1.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).flat-positions(list): '(2 3 4 2 1 2 1)Flats in key signatures are placed within the specified ranges of staff-positions. The general form is a list of pairs, with one pair for each type of clef, in order of the staff-position at which each clef places C:
(alto treble tenor soprano baritone mezzosoprano bass). If the list contains a single element it applies for all clefs. A single number in place of a pair sets accidentals within the octave ending at that staff-position.glyph-name-alist(list): '((0 . "accidentals.natural"))An alist of key-string pairs.
non-musical(boolean):
#tTrue if the grob belongs to a
NonMusicalPaperColumn.sharp-positions(list): '(4 5 4 2 3 2 3)Sharps in key signatures are placed within the specified ranges of staff-positions. The general form is a list of pairs, with one pair for each type of clef, in order of the staff-position at which each clef places C:
(alto treble tenor soprano baritone mezzosoprano bass). If the list contains a single element it applies for all clefs. A single number in place of a pair sets accidentals within the octave ending at that staff-position.space-alist(list): '((time-signature extra-space . 1.25) (staff-bar extra-space . 0.6) (key-signature extra-space . 0.5) (cue-clef extra-space . 0.5) (right-edge extra-space . 0.5) (first-note fixed-space . 2.5) (custos extra-space . 1.0))An alist that specifies distances from this grob to other breakable items, using the format:
'((break-align-symbol . (spacing-style . space)) (break-align-symbol . (spacing-style . space)) ...)Standard choices for
break-align-symbolare listed in (internals-big-page)break-alignment-interface section ‘break-alignment-interface’ in Internals Reference. Additionally, three special break-align symbols available tospace-alistare:
first-noteused when the grob is just left of the first note on a line
next-noteused when the grob is just left of any other note; if not set, the value of
first-notegets usedright-edgeused when the grob is the last item on the line (only compatible with the
extra-spacespacing style)Choices for
spacing-styleare:
extra-spacePut this much space between the two grobs. The space is stretchable when paired with
first-noteornext-note; otherwise it is fixed.minimum-spacePut at least this much space between the left sides of both grobs, without allowing them to collide. The space is stretchable when paired with
first-noteornext-note; otherwise it is fixed. Not compatible withright-edge.fixed-spaceOnly compatible with
first-noteandnext-note. Put this much fixed space between the grob and the note.minimum-fixed-spaceOnly compatible with
first-noteandnext-note. Put at least this much fixed space between the left side of the grob and the left side of the note, without allowing them to collide.semi-fixed-spaceOnly compatible with
first-noteandnext-note. Put this much space between the grob and the note, such that half of the space is fixed and half is stretchable.Rules for this spacing are much more complicated than this. See [Wanske] page 126–134, [Ross] page 143–147.
stencil(stencil):
ly:key-signature-interface::printThe symbol to print.
vertical-skylines(pair of skylines):
#<unpure-pure-container #<primitive-procedure ly:grob::vertical-skylines-from-stencil> >Two skylines, one above and one below this grob.
Y-extent(pair of numbers):
#<unpure-pure-container #<primitive-procedure ly:grob::stencil-height> >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
Y-offset(number):
#<unpure-pure-container #<primitive-procedure ly:staff-symbol-referencer::callback> >The vertical amount that this object is moved relative to its Y-parent.
This object supports the following interface(s): break-aligned-interface, font-interface, grob-interface, item-interface, key-cancellation-interface, key-signature-interface, pure-from-neighbor-interface and staff-symbol-referencer-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
KeySignature objects are created by: Key_engraver.
Standard settings:
avoid-slur(symbol):
'insideMethod of handling slur collisions. Choices are
inside,outside,around, andignore.insideadjusts the slur if needed to keep the grob inside the slur.outsidemoves the grob vertically to the outside of the slur.aroundmoves the grob vertically to the outside of the slur only if there is a collision.ignoredoes not move either. In grobs whose notational significance depends on vertical position (such as accidentals, clefs, etc.),outsideandaroundbehave likeignore.break-align-anchor(number):
ly:break-aligned-interface::calc-extent-aligned-anchorGrobs aligned to this breakable item will have their X-offsets shifted by this number. In bar lines, for example, this is used to position grobs relative to the (visual) center of the bar line.
break-align-anchor-alignment(number):
1Read by
ly:break-aligned-interface::calc-extent-aligned-anchorfor aligning an anchor to a grob’s extent.break-align-symbol(symbol):
'key-signatureThis key is used for aligning, ordering, and spacing breakable items. See (internals-big-page)break-alignment-interface section ‘break-alignment-interface’ in Internals Reference.
break-visibility(vector): #(#f #f #t)A vector of 3 booleans,
#(end-of-line unbroken begin-of-line).#tmeans visible,#fmeans killed.extra-spacing-height(pair of numbers):
pure-from-neighbor-interface::extra-spacing-height-including-staffIn the horizontal spacing problem, we increase the height of each item by this amount (by adding the ‘car’ to the bottom of the item and adding the ‘cdr’ to the top of the item). In order to make a grob infinitely high (to prevent the horizontal spacing problem from placing any other grobs above or below this grob), set this to
(-inf.0 . +inf.0).extra-spacing-width(pair of numbers): '(0.0 . 1.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).flat-positions(list): '(2 3 4 2 1 2 1)Flats in key signatures are placed within the specified ranges of staff-positions. The general form is a list of pairs, with one pair for each type of clef, in order of the staff-position at which each clef places C:
(alto treble tenor soprano baritone mezzosoprano bass). If the list contains a single element it applies for all clefs. A single number in place of a pair sets accidentals within the octave ending at that staff-position.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.
non-musical(boolean):
#tTrue if the grob belongs to a
NonMusicalPaperColumn.sharp-positions(list): '(4 5 4 2 3 2 3)Sharps in key signatures are placed within the specified ranges of staff-positions. The general form is a list of pairs, with one pair for each type of clef, in order of the staff-position at which each clef places C:
(alto treble tenor soprano baritone mezzosoprano bass). If the list contains a single element it applies for all clefs. A single number in place of a pair sets accidentals within the octave ending at that staff-position.space-alist(list): '((ambitus extra-space . 1.15) (time-signature extra-space . 1.15) (staff-bar extra-space . 1.1) (cue-clef extra-space . 0.5) (right-edge extra-space . 0.5) (first-note fixed-space . 2.5))An alist that specifies distances from this grob to other breakable items, using the format:
'((break-align-symbol . (spacing-style . space)) (break-align-symbol . (spacing-style . space)) ...)Standard choices for
break-align-symbolare listed in (internals-big-page)break-alignment-interface section ‘break-alignment-interface’ in Internals Reference. Additionally, three special break-align symbols available tospace-alistare:
first-noteused when the grob is just left of the first note on a line
next-noteused when the grob is just left of any other note; if not set, the value of
first-notegets usedright-edgeused when the grob is the last item on the line (only compatible with the
extra-spacespacing style)Choices for
spacing-styleare:
extra-spacePut this much space between the two grobs. The space is stretchable when paired with
first-noteornext-note; otherwise it is fixed.minimum-spacePut at least this much space between the left sides of both grobs, without allowing them to collide. The space is stretchable when paired with
first-noteornext-note; otherwise it is fixed. Not compatible withright-edge.fixed-spaceOnly compatible with
first-noteandnext-note. Put this much fixed space between the grob and the note.minimum-fixed-spaceOnly compatible with
first-noteandnext-note. Put at least this much fixed space between the left side of the grob and the left side of the note, without allowing them to collide.semi-fixed-spaceOnly compatible with
first-noteandnext-note. Put this much space between the grob and the note, such that half of the space is fixed and half is stretchable.Rules for this spacing are much more complicated than this. See [Wanske] page 126–134, [Ross] page 143–147.
stencil(stencil):
ly:key-signature-interface::printThe symbol to print.
vertical-skylines(pair of skylines):
#<unpure-pure-container #<primitive-procedure ly:grob::vertical-skylines-from-stencil> >Two skylines, one above and one below this grob.
Y-extent(pair of numbers):
#<unpure-pure-container #<primitive-procedure ly:grob::stencil-height> >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
Y-offset(number):
#<unpure-pure-container #<primitive-procedure ly:staff-symbol-referencer::callback> >The vertical amount that this object is moved relative to its Y-parent.
This object supports the following interface(s): break-aligned-interface, font-interface, grob-interface, item-interface, key-signature-interface, pure-from-neighbor-interface and staff-symbol-referencer-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
KievanLigature objects are created by: Kievan_ligature_engraver.
Standard settings:
padding(dimension, in staff space):
0.5Add this much extra space between objects that are next to each other.
springs-and-rods(boolean):
ly:spanner::set-spacing-rodsDummy variable for triggering spacing routines.
stencil(stencil):
ly:kievan-ligature::printThe symbol to print.
This object supports the following interface(s): font-interface, grob-interface, kievan-ligature-interface and spanner-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
LaissezVibrerTie objects are created by: Laissez_vibrer_engraver.
Standard settings:
control-points(list of number pairs):
ly:semi-tie::calc-control-pointsList of offsets (number pairs) that form control points for the tie, slur, or bracket shape. For Béziers, this should list the control points of a third-order Bézier curve.
details(list): '((ratio . 0.333) (height-limit . 1.0))Alist of parameters for detailed grob behavior. More information on the allowed parameters for a grob can be found by looking at the top of the Internals Reference page for each interface having a
detailsproperty.direction(direction):
ly:tie::calc-directionIf
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.extra-spacing-height(pair of numbers): '(-0.5 . 0.5)In the horizontal spacing problem, we increase the height of each item by this amount (by adding the ‘car’ to the bottom of the item and adding the ‘cdr’ to the top of the item). In order to make a grob infinitely high (to prevent the horizontal spacing problem from placing any other grobs above or below this grob), set this to
(-inf.0 . +inf.0).head-direction(direction):
-1Are the note heads left or right in a semitie?
stencil(stencil):
laissez-vibrer::printThe symbol to print.
thickness(number):
1.0For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e. the visual output is influenced by changes to
Staff.StaffSymbol.thickness).vertical-skylines(pair of skylines):
#<unpure-pure-container #<primitive-procedure ly:grob::vertical-skylines-from-stencil> >Two skylines, one above and one below this grob.
Y-extent(pair of numbers):
#<unpure-pure-container #<primitive-procedure ly:grob::stencil-height> >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s): grob-interface, item-interface and semi-tie-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
LaissezVibrerTieColumn objects are created by: Laissez_vibrer_engraver.
Standard settings:
head-direction(direction):
ly:semi-tie-column::calc-head-directionAre the note heads left or right in a semitie?
X-extent(pair of numbers)Extent (size) in the X direction, measured in staff-space units, relative to object’s reference point.
Y-extent(pair of numbers)Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s): grob-interface, item-interface and semi-tie-column-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
LedgerLineSpanner objects are created by: Ledger_line_engraver.
Standard settings:
layer(integer):
0An integer which determines the order of printing objects. Objects with the lowest value of layer are drawn first, then objects with progressively higher values are drawn, so objects with higher values overwrite objects with lower values. By default most objects are assigned a layer value of 1.
length-fraction(number):
0.25Multiplier for lengths. Used for determining ledger lines and stem lengths.
minimum-length-fraction(number):
0.25Minimum length of ledger line as fraction of note head size.
springs-and-rods(boolean):
ly:ledger-line-spanner::set-spacing-rodsDummy variable for triggering spacing routines.
stencil(stencil):
ly:ledger-line-spanner::printThe symbol to print.
vertical-skylines(pair of skylines):
#<unpure-pure-container #<primitive-procedure ly:grob::vertical-skylines-from-stencil> #<primitive-procedure ly:grob::pure-simple-vertical-skylines-from-extents> >Two skylines, one above and one below this grob.
X-extent(pair of numbers)Extent (size) in the X direction, measured in staff-space units, relative to object’s reference point.
Y-extent(pair of numbers)Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s): grob-interface, ledger-line-spanner-interface and spanner-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
LeftEdge objects are created by: Break_align_engraver.
Standard settings:
break-align-anchor(number):
ly:break-aligned-interface::calc-extent-aligned-anchorGrobs aligned to this breakable item will have their X-offsets shifted by this number. In bar lines, for example, this is used to position grobs relative to the (visual) center of the bar line.
break-align-symbol(symbol):
'left-edgeThis key is used for aligning, ordering, and spacing breakable items. See (internals-big-page)break-alignment-interface section ‘break-alignment-interface’ in Internals Reference.
break-visibility(vector): #(#f #f #t)A vector of 3 booleans,
#(end-of-line unbroken begin-of-line).#tmeans visible,#fmeans killed.non-musical(boolean):
#tTrue if the grob belongs to a
NonMusicalPaperColumn.space-alist(list): '((ambitus extra-space . 1.15) (breathing-sign minimum-space . 0.0) (cue-end-clef extra-space . 0.8) (clef extra-space . 0.8) (cue-clef extra-space . 0.8) (staff-bar extra-space . 0.0) (key-cancellation extra-space . 0.0) (key-signature extra-space . 0.8) (time-signature extra-space . 1.0) (custos extra-space . 0.0) (first-note fixed-space . 2.0) (right-edge extra-space . 0.0))An alist that specifies distances from this grob to other breakable items, using the format:
'((break-align-symbol . (spacing-style . space)) (break-align-symbol . (spacing-style . space)) ...)Standard choices for
break-align-symbolare listed in (internals-big-page)break-alignment-interface section ‘break-alignment-interface’ in Internals Reference. Additionally, three special break-align symbols available tospace-alistare:
first-noteused when the grob is just left of the first note on a line
next-noteused when the grob is just left of any other note; if not set, the value of
first-notegets usedright-edgeused when the grob is the last item on the line (only compatible with the
extra-spacespacing style)Choices for
spacing-styleare:
extra-spacePut this much space between the two grobs. The space is stretchable when paired with
first-noteornext-note; otherwise it is fixed.minimum-spacePut at least this much space between the left sides of both grobs, without allowing them to collide. The space is stretchable when paired with
first-noteornext-note; otherwise it is fixed. Not compatible withright-edge.fixed-spaceOnly compatible with
first-noteandnext-note. Put this much fixed space between the grob and the note.minimum-fixed-spaceOnly compatible with
first-noteandnext-note. Put at least this much fixed space between the left side of the grob and the left side of the note, without allowing them to collide.semi-fixed-spaceOnly compatible with
first-noteandnext-note. Put this much space between the grob and the note, such that half of the space is fixed and half is stretchable.Rules for this spacing are much more complicated than this. See [Wanske] page 126–134, [Ross] page 143–147.
X-extent(pair of numbers): '(0 . 0)Extent (size) in the X direction, measured in staff-space units, relative to object’s reference point.
Y-extent(pair of numbers): '(0 . 0)Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s): break-aligned-interface, grob-interface and item-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
LigatureBracket objects are created by: Ligature_bracket_engraver.
Standard settings:
bracket-visibility(boolean or symbol):
#tThis controls the visibility of the tuplet bracket. Setting it to false prevents printing of the bracket. Setting the property to
if-no-beammakes it print only if there is no beam associated with this tuplet bracket.connect-to-neighbor(pair):
ly:tuplet-bracket::calc-connect-to-neighborsPair of booleans, indicating whether this grob looks as a continued break.
direction(direction):
1If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.edge-height(pair): '(0.7 . 0.7)A pair of numbers specifying the heights of the vertical edges:
(left-height . right-height).padding(dimension, in staff space):
2.0Add this much extra space between objects that are next to each other.
positions(pair of numbers):
ly:tuplet-bracket::calc-positionsPair of staff coordinates
(left . right), where both left and right are instaff-spaceunits of the current staff. For slurs, this value selects which slur candidate to use; if extreme positions are requested, the closest one is taken.shorten-pair(pair of numbers): '(-0.2 . -0.2)The lengths to shorten on both sides a hairpin or text-spanner such as a pedal bracket. Positive values shorten the hairpin or text-spanner, while negative values lengthen it.
staff-padding(dimension, in staff space):
0.25Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
stencil(stencil):
ly:tuplet-bracket::printThe symbol to print.
thickness(number):
1.6For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e. the visual output is influenced by changes to
Staff.StaffSymbol.thickness).tuplet-slur(boolean)Draw a slur instead of a bracket for tuplets.
X-positions(pair of numbers):
ly:tuplet-bracket::calc-x-positionsPair of X staff coordinates of a spanner in the form
(left . right), where both left and right are instaff-spaceunits of the current staff.
This object supports the following interface(s): grob-interface, line-interface, spanner-interface and tuplet-bracket-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
LyricExtender objects are created by: Extender_engraver.
Standard settings:
minimum-length(dimension, in staff space):
1.5Try to make a spanner at least this long, normally in the horizontal direction. This requires an appropriate callback for the
springs-and-rodsproperty. If added to aTie, this sets the minimum distance between noteheads.stencil(stencil):
ly:lyric-extender::printThe symbol to print.
thickness(number):
0.8For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e. the visual output is influenced by changes to
Staff.StaffSymbol.thickness).Y-extent(pair of numbers): '(0 . 0)Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s): grob-interface, lyric-extender-interface, lyric-interface and spanner-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
LyricHyphen objects are created by: Hyphen_engraver.
Standard settings:
after-line-breaking(boolean):
ly:spanner::kill-zero-spanned-timeDummy property, used to trigger callback for
after-line-breaking.dash-period(number):
10.0The length of one dash together with whitespace. If negative, no line is drawn at all.
height(dimension, in staff space):
0.42Height of an object in
staff-spaceunits.length(dimension, in staff space):
0.66User override for the stem length of unbeamed stems (each unit represents half a
staff-space).minimum-distance(dimension, in staff space):
0.1Minimum distance between rest and notes or beam.
minimum-length(dimension, in staff space):
0.3Try to make a spanner at least this long, normally in the horizontal direction. This requires an appropriate callback for the
springs-and-rodsproperty. If added to aTie, this sets the minimum distance between noteheads.padding(dimension, in staff space):
0.07Add this much extra space between objects that are next to each other.
springs-and-rods(boolean):
ly:lyric-hyphen::set-spacing-rodsDummy variable for triggering spacing routines.
stencil(stencil):
ly:lyric-hyphen::printThe symbol to print.
thickness(number):
1.3For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e. the visual output is influenced by changes to
Staff.StaffSymbol.thickness).vertical-skylines(pair of skylines):
#<unpure-pure-container #<primitive-procedure ly:grob::vertical-skylines-from-stencil> #<primitive-procedure ly:grob::pure-simple-vertical-skylines-from-extents> >Two skylines, one above and one below this grob.
Y-extent(pair of numbers): '(0 . 0)Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s): font-interface, grob-interface, lyric-hyphen-interface, lyric-interface and spanner-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
LyricSpace objects are created by: Hyphen_engraver.
Standard settings:
minimum-distance(dimension, in staff space):
0.45Minimum distance between rest and notes or beam.
padding(dimension, in staff space):
0.0Add this much extra space between objects that are next to each other.
springs-and-rods(boolean):
ly:lyric-hyphen::set-spacing-rodsDummy variable for triggering spacing routines.
X-extent(pair of numbers)Extent (size) in the X direction, measured in staff-space units, relative to object’s reference point.
Y-extent(pair of numbers)Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s): grob-interface, lyric-hyphen-interface and spanner-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
LyricText objects are created by: Lyric_engraver.
Standard settings:
extra-spacing-height(pair of numbers): '(0.2 . -0.2)In the horizontal spacing problem, we increase the height of each item by this amount (by adding the ‘car’ to the bottom of the item and adding the ‘cdr’ to the top of the item). In order to make a grob infinitely high (to prevent the horizontal spacing problem from placing any other grobs above or below this grob), set this to
(-inf.0 . +inf.0).extra-spacing-width(pair of numbers): '(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).font-series(symbol):
'mediumSelect the series of a font. Choices include
medium,bold,bold-narrow, etc.font-size(number):
1.0The font size, compared to the ‘normal’ size.
0is style-sheet’s normal size,-1is smaller,+1is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. If the context propertyfontSizeis set, its value is added to this before the glyph is printed. Fractional values are allowed.parent-alignment-X(number):
'()Specify on which point of the parent the object is aligned. The value
-1means aligned on parent’s left edge,0on center, and1right edge, in X direction. Other numerical values may also be specified - the unit is half the parent’s width. If unset, the value fromself-alignment-Xproperty will be used.self-alignment-X(number):
0Specify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified - the unit is half the object width.skyline-horizontal-padding(number):
0.1For determining the vertical distance between two staves, it is possible to have a configuration which would result in a tight interleaving of grobs from the top staff and the bottom staff. The larger this parameter is, the farther apart the staves are placed in such a configuration.
stencil(stencil):
lyric-text::printThe symbol to print.
text(markup):
#<procedure #f (grob)>Text markup. See (notation-big-page)Formatting text section ‘Formatting text’ in Notation Reference.
vertical-skylines(pair of skylines):
#<unpure-pure-container #<primitive-procedure ly:grob::vertical-skylines-from-stencil> >Two skylines, one above and one below this grob.
word-space(dimension, in staff space):
0.6Space to insert between words in texts.
X-align-on-main-noteheads(boolean):
#tIf true, this grob will ignore suspended noteheads when aligning itself on NoteColumn.
X-offset(number):
ly:self-alignment-interface::aligned-on-x-parentThe horizontal amount that this object is moved relative to its X-parent.
Y-extent(pair of numbers):
#<unpure-pure-container #<primitive-procedure ly:grob::stencil-height> >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s): font-interface, grob-interface, item-interface, lyric-syllable-interface, rhythmic-grob-interface, self-alignment-interface and text-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
MeasureCounter objects are created by: Measure_counter_engraver.
Standard settings:
count-from(integer):
1The first measure in a measure count receives this number. The following measures are numbered in increments from this initial value.
direction(direction):
1If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.font-encoding(symbol):
'fetaTextThe font encoding is the broadest category for selecting a font. Currently, only lilypond’s system fonts (Emmentaler) are using this property. Available values are
fetaMusic(Emmentaler),fetaBraces,fetaText(Emmentaler).font-size(number):
-2The font size, compared to the ‘normal’ size.
0is style-sheet’s normal size,-1is smaller,+1is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. If the context propertyfontSizeis set, its value is added to this before the glyph is printed. Fractional values are allowed.outside-staff-horizontal-padding(number):
0.5By default, an outside-staff-object can be placed so that is it very close to another grob horizontally. If this property is set, the outside-staff-object is raised so that it is not so close to its neighbor.
outside-staff-priority(number):
750If set, the grob is positioned outside the staff in such a way as to avoid all collisions. In case of a potential collision, the grob with the smaller
outside-staff-priorityis closer to the staff.self-alignment-X(number):
0Specify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified - the unit is half the object width.side-axis(number):
1If the value is
X(or equivalently0), the object is placed horizontally next to the other object. If the value isYor1, it is placed vertically.spacing-pair(pair): '(break-alignment . break-alignment)A pair of alignment symbols which set an object’s spacing relative to its left and right
BreakAlignments.For example, a
MultiMeasureRestwill ignore prefatory items at its bounds (i.e., clefs, key signatures and time signatures) using the following override:
\override MultiMeasureRest.spacing-pair = #'(staff-bar . staff-bar)staff-padding(dimension, in staff space):
0.5Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
stencil(stencil):
measure-counter-stencilThe symbol to print.
Y-offset(number):
#<unpure-pure-container #<primitive-procedure ly:side-position-interface::y-aligned-side> #<primitive-procedure ly:side-position-interface::pure-y-aligned-side> >The vertical amount that this object is moved relative to its Y-parent.
This object supports the following interface(s): font-interface, grob-interface, measure-counter-interface, outside-staff-interface, self-alignment-interface, side-position-interface, spanner-interface and text-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
MeasureGrouping objects are created by: Measure_grouping_engraver.
Standard settings:
direction(direction):
1If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.height(dimension, in staff space):
2.0Height of an object in
staff-spaceunits.padding(dimension, in staff space):
2Add this much extra space between objects that are next to each other.
side-axis(number):
1If the value is
X(or equivalently0), the object is placed horizontally next to the other object. If the value isYor1, it is placed vertically.staff-padding(dimension, in staff space):
3Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
stencil(stencil):
ly:measure-grouping::printThe symbol to print.
thickness(number):
1For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e. the visual output is influenced by changes to
Staff.StaffSymbol.thickness).Y-offset(number):
#<unpure-pure-container #<primitive-procedure ly:side-position-interface::y-aligned-side> #<primitive-procedure ly:side-position-interface::pure-y-aligned-side> >The vertical amount that this object is moved relative to its Y-parent.
This object supports the following interface(s): grob-interface, measure-grouping-interface, outside-staff-interface, side-position-interface and spanner-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
MeasureSpanner objects are created by: Measure_spanner_engraver.
Standard settings:
connect-to-neighbor(pair):
ly:measure-spanner::calc-connect-to-neighborsPair of booleans, indicating whether this grob looks as a continued break.
direction(direction):
1If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.edge-height(pair): '(0.7 . 0.7)A pair of numbers specifying the heights of the vertical edges:
(left-height . right-height).outside-staff-priority(number):
750If set, the grob is positioned outside the staff in such a way as to avoid all collisions. In case of a potential collision, the grob with the smaller
outside-staff-priorityis closer to the staff.self-alignment-X(number):
0Specify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified - the unit is half the object width.side-axis(number):
1If the value is
X(or equivalently0), the object is placed horizontally next to the other object. If the value isYor1, it is placed vertically.spacing-pair(pair): '(staff-bar . staff-bar)A pair of alignment symbols which set an object’s spacing relative to its left and right
BreakAlignments.For example, a
MultiMeasureRestwill ignore prefatory items at its bounds (i.e., clefs, key signatures and time signatures) using the following override:
\override MultiMeasureRest.spacing-pair = #'(staff-bar . staff-bar)staff-padding(dimension, in staff space):
0.5Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
stencil(stencil):
ly:measure-spanner::printThe symbol to print.
Y-offset(number):
#<unpure-pure-container #<primitive-procedure ly:side-position-interface::y-aligned-side> #<primitive-procedure ly:side-position-interface::pure-y-aligned-side> >The vertical amount that this object is moved relative to its Y-parent.
This object supports the following interface(s): font-interface, grob-interface, line-interface, measure-spanner-interface, outside-staff-interface, self-alignment-interface, side-position-interface, spanner-interface and text-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
MelodyItem objects are created by: Melody_engraver.
Standard settings:
neutral-direction(direction):
-1Which direction to take in the center of the staff.
This object supports the following interface(s): grob-interface, item-interface and melody-spanner-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
MensuralLigature objects are created by: Mensural_ligature_engraver.
Standard settings:
springs-and-rods(boolean):
ly:spanner::set-spacing-rodsDummy variable for triggering spacing routines.
stencil(stencil):
ly:mensural-ligature::printThe symbol to print.
thickness(number):
1.3For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e. the visual output is influenced by changes to
Staff.StaffSymbol.thickness).
This object supports the following interface(s): font-interface, grob-interface, mensural-ligature-interface and spanner-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
MetronomeMark objects are created by: Metronome_mark_engraver.
Standard settings:
after-line-breaking(boolean):
ly:side-position-interface::move-to-extremal-staffDummy property, used to trigger callback for
after-line-breaking.break-align-symbols(list): '(time-signature)A list of break-align symbols that determines which breakable items 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). Choices are listed in (internals-big-page)break-alignment-interface section ‘break-alignment-interface’ in Internals Reference.break-visibility(vector): #(#f #t #t)A vector of 3 booleans,
#(end-of-line unbroken begin-of-line).#tmeans visible,#fmeans killed.direction(direction):
1If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.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).flag-style(symbol):
'defaultThe style of the flag to be used with
MetronomeMark. Available are'modern-straight-flag,'old-straight-flag,flat-flag,mensuraland'defaultnon-break-align-symbols(list): '(paper-column-interface)A list of symbols that determine which NON-break-aligned interfaces to align this to.
outside-staff-horizontal-padding(number):
0.2By default, an outside-staff-object can be placed so that is it very close to another grob horizontally. If this property is set, the outside-staff-object is raised so that it is not so close to its neighbor.
outside-staff-priority(number):
1000If set, the grob is positioned outside the staff in such a way as to avoid all collisions. In case of a potential collision, the grob with the smaller
outside-staff-priorityis closer to the staff.padding(dimension, in staff space):
0.8Add this much extra space between objects that are next to each other.
self-alignment-X(number):
-1Specify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified - the unit is half the object width.side-axis(number):
1If the value is
X(or equivalently0), the object is placed horizontally next to the other object. If the value isYor1, it is placed vertically.stencil(stencil):
ly:text-interface::printThe symbol to print.
vertical-skylines(pair of skylines):
#<unpure-pure-container #<primitive-procedure ly:grob::vertical-skylines-from-stencil> >Two skylines, one above and one below this grob.
X-offset(number):
self-alignment-interface::self-aligned-on-breakableThe horizontal amount that this object is moved relative to its X-parent.
Y-extent(pair of numbers):
#<unpure-pure-container #<primitive-procedure ly:grob::stencil-height> >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
Y-offset(number):
#<unpure-pure-container #<primitive-procedure ly:side-position-interface::y-aligned-side> #<primitive-procedure ly:side-position-interface::pure-y-aligned-side> >The vertical amount that this object is moved relative to its Y-parent.
This object supports the following interface(s): break-alignable-interface, font-interface, grob-interface, item-interface, metronome-mark-interface, outside-staff-interface, self-alignment-interface, side-position-interface and text-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
MultiMeasureRest objects are created by: Multi_measure_rest_engraver.
Standard settings:
bound-padding(number):
0.5The amount of padding to insert around spanner bounds.
expand-limit(integer):
10Maximum number of measures expanded in church rests.
hair-thickness(number):
2.0Thickness of the thin line in a bar line, expressed as a multiple of the default staff-line thickness (i.e. the visual output is not influenced by changes to
Staff.StaffSymbol.thickness).max-symbol-separation(number):
8.0The maximum distance between symbols making up a church rest.
round-up-exceptions(list):
'()A list of pairs where car is the numerator and cdr the denominator of a moment. Each pair in this list means that the multi-measure rests of the corresponding length will be rounded up to the longer rest. See round-up-to-longer-rest.
spacing-pair(pair): '(break-alignment . break-alignment)A pair of alignment symbols which set an object’s spacing relative to its left and right
BreakAlignments.For example, a
MultiMeasureRestwill ignore prefatory items at its bounds (i.e., clefs, key signatures and time signatures) using the following override:
\override MultiMeasureRest.spacing-pair = #'(staff-bar . staff-bar)springs-and-rods(boolean):
ly:multi-measure-rest::set-spacing-rodsDummy variable for triggering spacing routines.
stencil(stencil):
ly:multi-measure-rest::printThe symbol to print.
thick-thickness(number):
6.6Thickness of the thick line in a bar line, expressed as a multiple of the default staff-line thickness (i.e. the visual output is not influenced by changes to
Staff.StaffSymbol.thickness).usable-duration-logs(list): '(-3 -2 -1 0)List of
duration-logs that can be used in typesetting the grob.voiced-position(number):
4The staff-position of a voiced
Rest, negative if the rest hasdirectionDOWN.Y-extent(pair of numbers):
#<unpure-pure-container #<primitive-procedure ly:multi-measure-rest::height> >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
Y-offset(number):
#<unpure-pure-container #<primitive-procedure ly:staff-symbol-referencer::callback> >The vertical amount that this object is moved relative to its Y-parent.
This object supports the following interface(s): font-interface, grob-interface, multi-measure-interface, multi-measure-rest-interface, outside-staff-interface, rest-interface, spanner-interface and staff-symbol-referencer-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
MultiMeasureRestNumber objects are created by: Multi_measure_rest_engraver.
Standard settings:
bound-padding(number):
1.0The amount of padding to insert around spanner bounds.
direction(direction):
1If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.font-encoding(symbol):
'fetaTextThe font encoding is the broadest category for selecting a font. Currently, only lilypond’s system fonts (Emmentaler) are using this property. Available values are
fetaMusic(Emmentaler),fetaBraces,fetaText(Emmentaler).padding(dimension, in staff space):
0.4Add this much extra space between objects that are next to each other.
parent-alignment-X(number):
0Specify on which point of the parent the object is aligned. The value
-1means aligned on parent’s left edge,0on center, and1right edge, in X direction. Other numerical values may also be specified - the unit is half the parent’s width. If unset, the value fromself-alignment-Xproperty will be used.self-alignment-X(number):
0Specify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified - the unit is half the object width.side-axis(number):
1If the value is
X(or equivalently0), the object is placed horizontally next to the other object. If the value isYor1, it is placed vertically.springs-and-rods(boolean):
ly:multi-measure-rest::set-text-rodsDummy variable for triggering spacing routines.
staff-padding(dimension, in staff space):
0.4Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
stencil(stencil):
ly:text-interface::printThe symbol to print.
vertical-skylines(pair of skylines):
#<unpure-pure-container #<primitive-procedure ly:grob::vertical-skylines-from-stencil> #<primitive-procedure ly:grob::pure-simple-vertical-skylines-from-extents> >Two skylines, one above and one below this grob.
X-offset(number):
ly:self-alignment-interface::aligned-on-x-parentThe horizontal amount that this object is moved relative to its X-parent.
Y-extent(pair of numbers):
#<unpure-pure-container #<primitive-procedure ly:grob::stencil-height> >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
Y-offset(number):
#<unpure-pure-container #<primitive-procedure ly:side-position-interface::y-aligned-side> #<primitive-procedure ly:side-position-interface::pure-y-aligned-side> >The vertical amount that this object is moved relative to its Y-parent.
This object supports the following interface(s): font-interface, grob-interface, multi-measure-interface, outside-staff-interface, self-alignment-interface, side-position-interface, spanner-interface and text-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
MultiMeasureRestScript objects are created by: Multi_measure_rest_engraver.
Standard settings:
direction(direction):
1If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.outside-staff-padding(number):
0The padding to place between grobs when spacing according to
outside-staff-priority. Two grobs with differentoutside-staff-paddingvalues have the larger value of padding between them.outside-staff-priority(number):
40If set, the grob is positioned outside the staff in such a way as to avoid all collisions. In case of a potential collision, the grob with the smaller
outside-staff-priorityis closer to the staff.parent-alignment-X(number):
0Specify on which point of the parent the object is aligned. The value
-1means aligned on parent’s left edge,0on center, and1right edge, in X direction. Other numerical values may also be specified - the unit is half the parent’s width. If unset, the value fromself-alignment-Xproperty will be used.self-alignment-X(number):
0Specify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified - the unit is half the object width.staff-padding(dimension, in staff space):
0.25Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
stencil(stencil):
ly:script-interface::printThe symbol to print.
vertical-skylines(pair of skylines):
#<unpure-pure-container #<primitive-procedure ly:grob::vertical-skylines-from-stencil> #<primitive-procedure ly:grob::pure-simple-vertical-skylines-from-extents> >Two skylines, one above and one below this grob.
X-offset(number):
ly:self-alignment-interface::aligned-on-x-parentThe horizontal amount that this object is moved relative to its X-parent.
Y-extent(pair of numbers):
#<unpure-pure-container #<primitive-procedure ly:grob::stencil-height> >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
Y-offset(number):
#<unpure-pure-container #<primitive-procedure ly:side-position-interface::y-aligned-side> #<primitive-procedure ly:side-position-interface::pure-y-aligned-side> >The vertical amount that this object is moved relative to its Y-parent.
This object supports the following interface(s): font-interface, grob-interface, multi-measure-interface, outside-staff-interface, script-interface, self-alignment-interface, side-position-interface and spanner-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
MultiMeasureRestText objects are created by: Multi_measure_rest_engraver.
Standard settings:
direction(direction):
1If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.outside-staff-priority(number):
450If set, the grob is positioned outside the staff in such a way as to avoid all collisions. In case of a potential collision, the grob with the smaller
outside-staff-priorityis closer to the staff.padding(dimension, in staff space):
0.2Add this much extra space between objects that are next to each other.
parent-alignment-X(number):
0Specify on which point of the parent the object is aligned. The value
-1means aligned on parent’s left edge,0on center, and1right edge, in X direction. Other numerical values may also be specified - the unit is half the parent’s width. If unset, the value fromself-alignment-Xproperty will be used.self-alignment-X(number):
0Specify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified - the unit is half the object width.skyline-horizontal-padding(number):
0.2For determining the vertical distance between two staves, it is possible to have a configuration which would result in a tight interleaving of grobs from the top staff and the bottom staff. The larger this parameter is, the farther apart the staves are placed in such a configuration.
staff-padding(dimension, in staff space):
0.25Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
stencil(stencil):
ly:text-interface::printThe symbol to print.
vertical-skylines(pair of skylines):
#<unpure-pure-container #<primitive-procedure ly:grob::vertical-skylines-from-stencil> #<primitive-procedure ly:grob::pure-simple-vertical-skylines-from-extents> >Two skylines, one above and one below this grob.
X-offset(number):
ly:self-alignment-interface::aligned-on-x-parentThe horizontal amount that this object is moved relative to its X-parent.
Y-extent(pair of numbers):
#<unpure-pure-container #<primitive-procedure ly:grob::stencil-height> >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
Y-offset(number):
#<unpure-pure-container #<primitive-procedure ly:side-position-interface::y-aligned-side> #<primitive-procedure ly:side-position-interface::pure-y-aligned-side> >The vertical amount that this object is moved relative to its Y-parent.
This object supports the following interface(s): font-interface, grob-interface, multi-measure-interface, outside-staff-interface, self-alignment-interface, side-position-interface, spanner-interface and text-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
NonMusicalPaperColumn objects are created by: Paper_column_engraver.
Standard settings:
allow-loose-spacing(boolean):
#tIf set, column can be detached from main spacing.
axes(list): '(0)List of axis numbers. In the case of alignment grobs, this should contain only one number.
before-line-breaking(boolean):
ly:paper-column::before-line-breakingDummy property, used to trigger a callback function.
font-size(number):
-7.5The font size, compared to the ‘normal’ size.
0is style-sheet’s normal size,-1is smaller,+1is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. If the context propertyfontSizeis set, its value is added to this before the glyph is printed. Fractional values are allowed.full-measure-extra-space(number):
1.0Extra space that is allocated at the beginning of a measure with only one note. This property is read from the NonMusicalPaperColumn that begins the measure.
horizontal-skylines(pair of skylines):
ly:separation-item::calc-skylinesTwo skylines, one to the left and one to the right of this grob.
keep-inside-line(boolean):
#tIf set, this column cannot have objects sticking into the margin.
layer(integer):
1000An integer which determines the order of printing objects. Objects with the lowest value of layer are drawn first, then objects with progressively higher values are drawn, so objects with higher values overwrite objects with lower values. By default most objects are assigned a layer value of 1.
line-break-permission(symbol):
'allowInstructs the line breaker on whether to put a line break at this column. Can be
forceorallow.non-musical(boolean):
#tTrue if the grob belongs to a
NonMusicalPaperColumn.page-break-permission(symbol):
'allowInstructs the page breaker on whether to put a page break at this column. Can be
forceorallow.X-extent(pair of numbers):
ly:axis-group-interface::widthExtent (size) in the X direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s): axis-group-interface, font-interface, grob-interface, item-interface, paper-column-interface, separation-item-interface and spaceable-grob-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
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.
note-collision-threshold(dimension, in staff space):
1Simultaneous notes that are this close or closer in units of
staff-spacewill be identified as vertically colliding. Used byStemgrobs for notes in the same voice, andNoteCollisiongrobs for notes in different voices. Default value 1.prefer-dotted-right(boolean):
#tFor note collisions, prefer to shift dotted up-note to the right, rather than shifting just the dot.
vertical-skylines(pair of skylines):
ly:axis-group-interface::calc-skylinesTwo skylines, one above and one below this grob.
X-extent(pair of numbers):
ly:axis-group-interface::widthExtent (size) in the X direction, measured in staff-space units, relative to object’s reference point.
Y-extent(pair of numbers):
#<unpure-pure-container #<primitive-procedure ly:axis-group-interface::height> #<primitive-procedure ly:axis-group-interface::pure-height> >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s): axis-group-interface, grob-interface, item-interface and note-collision-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
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.
horizontal-skylines(pair of skylines):
ly:separation-item::calc-skylinesTwo skylines, one to the left and one to the right of this grob.
skyline-vertical-padding(number):
0.15The amount by which the left and right skylines of a column are padded vertically, beyond the
Y-extents andextra-spacing-heights of the constituent grobs in the column. Increase this to prevent interleaving of grobs from adjacent columns.vertical-skylines(pair of skylines):
ly:axis-group-interface::calc-skylinesTwo skylines, one above and one below this grob.
X-extent(pair of numbers):
ly:axis-group-interface::widthExtent (size) in the X direction, measured in staff-space units, relative to object’s reference point.
Y-extent(pair of numbers):
#<unpure-pure-container #<primitive-procedure ly:axis-group-interface::height> #<primitive-procedure ly:axis-group-interface::pure-height> >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s): axis-group-interface, grob-interface, item-interface, note-column-interface and separation-item-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
NoteHead objects are created by: Completion_heads_engraver, Drum_notes_engraver and Note_heads_engraver.
Standard settings:
duration-log(integer):
note-head::calc-duration-logThe 2-log of the note head duration, i.e.,
0= whole note,1= half note, etc.extra-spacing-height(pair of numbers):
ly:note-head::include-ledger-line-heightIn the horizontal spacing problem, we increase the height of each item by this amount (by adding the ‘car’ to the bottom of the item and adding the ‘cdr’ to the top of the item). In order to make a grob infinitely high (to prevent the horizontal spacing problem from placing any other grobs above or below this grob), set this to
(-inf.0 . +inf.0).glyph-name(string):
note-head::calc-glyph-nameThe glyph name within the font.
In the context of (span) bar lines, glyph-name represents a processed form of
glyph, where decisions about line breaking etc. are already taken.parenthesis-friends(list): '(accidental-grob dot)A list of Grob types, as symbols. When parentheses enclose a Grob that has ’parenthesis-friends, the parentheses widen to include any child Grobs with type among ’parenthesis-friends.
stem-attachment(pair of numbers):
ly:note-head::calc-stem-attachmentAn
(x . y)pair where the stem attaches to the notehead.stencil(stencil):
ly:note-head::printThe symbol to print.
X-offset(number):
ly:note-head::stem-x-shiftThe horizontal amount that this object is moved relative to its X-parent.
Y-extent(pair of numbers):
#<unpure-pure-container #<primitive-procedure ly:grob::stencil-height> >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
Y-offset(number):
#<unpure-pure-container #<primitive-procedure ly:staff-symbol-referencer::callback> >The vertical amount that this object is moved relative to its Y-parent.
This object supports the following interface(s): font-interface, gregorian-ligature-interface, grob-interface, item-interface, ledgered-interface, ligature-head-interface, mensural-ligature-interface, note-head-interface, rhythmic-grob-interface, rhythmic-head-interface, staff-symbol-referencer-interface and vaticana-ligature-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
NoteName objects are created by: Note_name_engraver.
Standard settings:
stencil(stencil):
ly:text-interface::printThe symbol to print.
Y-extent(pair of numbers):
#<unpure-pure-container #<primitive-procedure ly:grob::stencil-height> >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s): font-interface, grob-interface, item-interface, note-name-interface and text-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
NoteSpacing objects are created by: Note_spacing_engraver.
Standard settings:
knee-spacing-correction(number):
1.0Factor for the optical correction amount for kneed beams. Set between
0for no correction and1for full correction.same-direction-correction(number):
0.25Optical correction amount for stems that are placed in tight configurations. This amount is used for stems with the same direction to compensate for note head to stem distance.
space-to-barline(boolean):
#tIf set, the distance between a note and the following non-musical column will be measured to the bar line instead of to the beginning of the non-musical column. If there is a clef change followed by a bar line, for example, this means that we will try to space the non-musical column as though the clef is not there.
stem-spacing-correction(number):
0.5Optical correction amount for stems that are placed in tight configurations. For opposite directions, this amount is the correction for two normal sized stems that overlap completely.
This object supports the following interface(s): grob-interface, item-interface, note-spacing-interface and spacing-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
OttavaBracket objects are created by: Ottava_spanner_engraver.
Standard settings:
dash-fraction(number):
0.3Size of the dashes, relative to
dash-period. Should be between0.1and1.0(continuous line). If set to0.0, a dotted line is produceddirection(direction):
1If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.edge-height(pair): '(0 . 0.8)A pair of numbers specifying the heights of the vertical edges:
(left-height . right-height).font-series(symbol):
'boldSelect the series of a font. Choices include
medium,bold,bold-narrow, etc.font-shape(symbol):
'italicSelect the shape of a font. Choices include
upright,italic,caps.minimum-length(dimension, in staff space):
0.3Try to make a spanner at least this long, normally in the horizontal direction. This requires an appropriate callback for the
springs-and-rodsproperty. If added to aTie, this sets the minimum distance between noteheads.outside-staff-priority(number):
400If set, the grob is positioned outside the staff in such a way as to avoid all collisions. In case of a potential collision, the grob with the smaller
outside-staff-priorityis closer to the staff.padding(dimension, in staff space):
0.5Add this much extra space between objects that are next to each other.
shorten-pair(pair of numbers): '(-0.8 . -0.6)The lengths to shorten on both sides a hairpin or text-spanner such as a pedal bracket. Positive values shorten the hairpin or text-spanner, while negative values lengthen it.
staff-padding(dimension, in staff space):
2.0Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
stencil(stencil):
ly:ottava-bracket::printThe symbol to print.
style(symbol):
'dashed-lineThis setting determines in what style a grob is typeset. Valid choices depend on the
stencilcallback reading this property.vertical-skylines(pair of skylines):
#<unpure-pure-container #<primitive-procedure ly:grob::vertical-skylines-from-stencil> #<primitive-procedure ly:grob::pure-simple-vertical-skylines-from-extents> >Two skylines, one above and one below this grob.
Y-offset(number):
#<unpure-pure-container #<primitive-procedure ly:side-position-interface::y-aligned-side> #<primitive-procedure ly:side-position-interface::pure-y-aligned-side> >The vertical amount that this object is moved relative to its Y-parent.
This object supports the following interface(s): font-interface, grob-interface, horizontal-bracket-interface, line-interface, ottava-bracket-interface, outside-staff-interface, side-position-interface, spanner-interface and text-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
PaperColumn objects are created by: Paper_column_engraver.
Standard settings:
allow-loose-spacing(boolean):
#tIf set, column can be detached from main spacing.
axes(list): '(0)List of axis numbers. In the case of alignment grobs, this should contain only one number.
before-line-breaking(boolean):
ly:paper-column::before-line-breakingDummy property, used to trigger a callback function.
font-size(number):
-7.5The font size, compared to the ‘normal’ size.
0is style-sheet’s normal size,-1is smaller,+1is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. If the context propertyfontSizeis set, its value is added to this before the glyph is printed. Fractional values are allowed.horizontal-skylines(pair of skylines):
ly:separation-item::calc-skylinesTwo skylines, one to the left and one to the right of this grob.
keep-inside-line(boolean):
#tIf set, this column cannot have objects sticking into the margin.
layer(integer):
1000An integer which determines the order of printing objects. Objects with the lowest value of layer are drawn first, then objects with progressively higher values are drawn, so objects with higher values overwrite objects with lower values. By default most objects are assigned a layer value of 1.
skyline-vertical-padding(number):
0.08The amount by which the left and right skylines of a column are padded vertically, beyond the
Y-extents andextra-spacing-heights of the constituent grobs in the column. Increase this to prevent interleaving of grobs from adjacent columns.X-extent(pair of numbers):
ly:axis-group-interface::widthExtent (size) in the X direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s): axis-group-interface, font-interface, grob-interface, item-interface, paper-column-interface, separation-item-interface and spaceable-grob-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
ParenthesesItem objects are created by: Parenthesis_engraver.
Standard settings:
font-size(number):
-6The font size, compared to the ‘normal’ size.
0is style-sheet’s normal size,-1is smaller,+1is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. If the context propertyfontSizeis set, its value is added to this before the glyph is printed. Fractional values are allowed.padding(dimension, in staff space):
0.2Add this much extra space between objects that are next to each other.
stencil(stencil):
parentheses-item::printThe symbol to print.
stencils(list):
parentheses-item::calc-parenthesis-stencilsMultiple stencils, used as intermediate value.
X-extent(pair of numbers): '(0 . 0)Extent (size) in the X direction, measured in staff-space units, relative to object’s reference point.
Y-extent(pair of numbers):
parentheses-item::y-extentExtent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s): font-interface, grob-interface, item-interface and parentheses-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
PercentRepeat objects are created by: Percent_repeat_engraver.
Standard settings:
dot-negative-kern(number):
0.75The space to remove between a dot and a slash in percent repeat glyphs. Larger values bring the two elements closer together.
font-encoding(symbol):
'fetaMusicThe font encoding is the broadest category for selecting a font. Currently, only lilypond’s system fonts (Emmentaler) are using this property. Available values are
fetaMusic(Emmentaler),fetaBraces,fetaText(Emmentaler).slope(number):
1.0The slope of this object.
spacing-pair(pair): '(break-alignment . staff-bar)A pair of alignment symbols which set an object’s spacing relative to its left and right
BreakAlignments.For example, a
MultiMeasureRestwill ignore prefatory items at its bounds (i.e., clefs, key signatures and time signatures) using the following override:
\override MultiMeasureRest.spacing-pair = #'(staff-bar . staff-bar)springs-and-rods(boolean):
ly:multi-measure-rest::set-spacing-rodsDummy variable for triggering spacing routines.
stencil(stencil):
ly:multi-measure-rest::percentThe symbol to print.
thickness(number):
0.48For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e. the visual output is influenced by changes to
Staff.StaffSymbol.thickness).
This object supports the following interface(s): font-interface, grob-interface, multi-measure-rest-interface, percent-repeat-interface and spanner-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
PercentRepeatCounter objects are created by: Percent_repeat_engraver.
Standard settings:
direction(direction):
1If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.font-encoding(symbol):
'fetaTextThe font encoding is the broadest category for selecting a font. Currently, only lilypond’s system fonts (Emmentaler) are using this property. Available values are
fetaMusic(Emmentaler),fetaBraces,fetaText(Emmentaler).font-size(number):
-2The font size, compared to the ‘normal’ size.
0is style-sheet’s normal size,-1is smaller,+1is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. If the context propertyfontSizeis set, its value is added to this before the glyph is printed. Fractional values are allowed.padding(dimension, in staff space):
0.2Add this much extra space between objects that are next to each other.
parent-alignment-X(number):
0Specify on which point of the parent the object is aligned. The value
-1means aligned on parent’s left edge,0on center, and1right edge, in X direction. Other numerical values may also be specified - the unit is half the parent’s width. If unset, the value fromself-alignment-Xproperty will be used.self-alignment-X(number):
0Specify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified - the unit is half the object width.staff-padding(dimension, in staff space):
0.25Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
stencil(stencil):
ly:text-interface::printThe symbol to print.
X-offset(number):
ly:self-alignment-interface::aligned-on-x-parentThe horizontal amount that this object is moved relative to its X-parent.
Y-extent(pair of numbers):
#<unpure-pure-container #<primitive-procedure ly:grob::stencil-height> >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
Y-offset(number):
#<unpure-pure-container #<primitive-procedure ly:side-position-interface::y-aligned-side> #<primitive-procedure ly:side-position-interface::pure-y-aligned-side> >The vertical amount that this object is moved relative to its Y-parent.
This object supports the following interface(s): font-interface, grob-interface, outside-staff-interface, percent-repeat-interface, self-alignment-interface, side-position-interface, spanner-interface and text-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
PhrasingSlur objects are created by: Phrasing_slur_engraver.
Standard settings:
control-points(list of number pairs):
ly:slur::calc-control-pointsList of offsets (number pairs) that form control points for the tie, slur, or bracket shape. For Béziers, this should list the control points of a third-order Bézier curve.
details(list): '((region-size . 4) (head-encompass-penalty . 1000.0) (stem-encompass-penalty . 30.0) (edge-attraction-factor . 4) (same-slope-penalty . 20) (steeper-slope-factor . 50) (non-horizontal-penalty . 15) (max-slope . 1.1) (max-slope-factor . 10) (free-head-distance . 0.3) (free-slur-distance . 0.8) (gap-to-staffline-inside . 0.2) (gap-to-staffline-outside . 0.1) (extra-object-collision-penalty . 50) (accidental-collision . 3) (extra-encompass-free-distance . 0.3) (extra-encompass-collision-distance . 0.8) (head-slur-distance-max-ratio . 3) (head-slur-distance-factor . 10) (absolute-closeness-measure . 0.3) (edge-slope-exponent . 1.7) (close-to-edge-length . 2.5) (encompass-object-range-overshoot . 0.5) (slur-tie-extrema-min-distance . 0.2) (slur-tie-extrema-min-distance-penalty . 2))Alist of parameters for detailed grob behavior. More information on the allowed parameters for a grob can be found by looking at the top of the Internals Reference page for each interface having a
detailsproperty.direction(direction):
ly:slur::calc-directionIf
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.height-limit(dimension, in staff space):
2.0Maximum slur height: The longer the slur, the closer it is to this height.
minimum-length(dimension, in staff space):
1.5Try to make a spanner at least this long, normally in the horizontal direction. This requires an appropriate callback for the
springs-and-rodsproperty. If added to aTie, this sets the minimum distance between noteheads.ratio(number):
0.333Parameter for slur shape. The higher this number, the quicker the slur attains its
height-limit.springs-and-rods(boolean):
ly:spanner::set-spacing-rodsDummy variable for triggering spacing routines.
stencil(stencil):
ly:slur::printThe symbol to print.
thickness(number):
1.1For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e. the visual output is influenced by changes to
Staff.StaffSymbol.thickness).vertical-skylines(pair of skylines):
#<unpure-pure-container #<primitive-procedure ly:slur::vertical-skylines> #<primitive-procedure ly:grob::pure-simple-vertical-skylines-from-extents> >Two skylines, one above and one below this grob.
Y-extent(pair of numbers):
#<unpure-pure-container #<primitive-procedure ly:slur::height> #<primitive-procedure ly:slur::pure-height> >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s): grob-interface, outside-staff-interface, slur-interface and spanner-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
PianoPedalBracket objects are created by: Piano_pedal_engraver.
Standard settings:
bound-padding(number):
1.0The amount of padding to insert around spanner bounds.
bracket-flare(pair of numbers): '(0.5 . 0.5)A pair of numbers specifying how much edges of brackets should slant outward. Value
0.0means straight edges.direction(direction):
-1If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.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 on both sides a hairpin or text-spanner such as a pedal bracket. Positive values shorten the hairpin or text-spanner, while negative values lengthen it.
stencil(stencil):
ly:piano-pedal-bracket::printThe symbol to print.
style(symbol):
'lineThis setting determines in what style a grob is typeset. Valid choices depend on the
stencilcallback reading this property.thickness(number):
1.0For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e. the visual output is influenced by changes to
Staff.StaffSymbol.thickness).vertical-skylines(pair of skylines):
#<unpure-pure-container #<primitive-procedure ly:grob::vertical-skylines-from-stencil> #<primitive-procedure ly:grob::pure-simple-vertical-skylines-from-extents> >Two skylines, one above and one below this grob.
This object supports the following interface(s): grob-interface, line-interface, piano-pedal-bracket-interface, piano-pedal-interface and spanner-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
RehearsalMark objects are created by: Mark_engraver.
Standard settings:
after-line-breaking(boolean):
ly:side-position-interface::move-to-extremal-staffDummy property, used to trigger callback for
after-line-breaking.baseline-skip(dimension, in staff space):
2Distance between base lines of multiple lines of text.
break-align-symbols(list): '(staff-bar key-signature clef)A list of break-align symbols that determines which breakable items 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). Choices are listed in (internals-big-page)break-alignment-interface section ‘break-alignment-interface’ in Internals Reference.break-visibility(vector): #(#f #t #t)A vector of 3 booleans,
#(end-of-line unbroken begin-of-line).#tmeans visible,#fmeans killed.direction(direction):
1If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.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).font-size(number):
2The font size, compared to the ‘normal’ size.
0is style-sheet’s normal size,-1is smaller,+1is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. If the context propertyfontSizeis set, its value is added to this before the glyph is printed. Fractional values are allowed.non-musical(boolean):
#tTrue if the grob belongs to a
NonMusicalPaperColumn.outside-staff-horizontal-padding(number):
0.2By default, an outside-staff-object can be placed so that is it very close to another grob horizontally. If this property is set, the outside-staff-object is raised so that it is not so close to its neighbor.
outside-staff-priority(number):
1500If set, the grob is positioned outside the staff in such a way as to avoid all collisions. In case of a potential collision, the grob with the smaller
outside-staff-priorityis closer to the staff.padding(dimension, in staff space):
0.8Add this much extra space between objects that are next to each other.
self-alignment-X(number):
break-alignable-interface::self-alignment-opposite-of-anchorSpecify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified - the unit is half the object width.stencil(stencil):
ly:text-interface::printThe symbol to print.
vertical-skylines(pair of skylines):
#<unpure-pure-container #<primitive-procedure ly:grob::vertical-skylines-from-stencil> >Two skylines, one above and one below this grob.
X-offset(number):
self-alignment-interface::self-aligned-on-breakableThe horizontal amount that this object is moved relative to its X-parent.
Y-extent(pair of numbers):
#<unpure-pure-container #<primitive-procedure ly:grob::stencil-height> >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
Y-offset(number):
#<unpure-pure-container #<primitive-procedure ly:side-position-interface::y-aligned-side> #<primitive-procedure ly:side-position-interface::pure-y-aligned-side> >The vertical amount that this object is moved relative to its Y-parent.
This object supports the following interface(s): break-alignable-interface, font-interface, grob-interface, item-interface, mark-interface, outside-staff-interface, self-alignment-interface, side-position-interface and text-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
RepeatSlash objects are created by: Slash_repeat_engraver.
Standard settings:
slash-negative-kern(number):
0.85The space to remove between slashes in percent repeat glyphs. Larger values bring the two elements closer together.
slope(number):
1.7The slope of this object.
stencil(stencil):
ly:percent-repeat-item-interface::beat-slashThe symbol to print.
thickness(number):
0.48For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e. the visual output is influenced by changes to
Staff.StaffSymbol.thickness).Y-extent(pair of numbers):
#<unpure-pure-container #<primitive-procedure ly:grob::stencil-height> >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s): grob-interface, item-interface, percent-repeat-interface, percent-repeat-item-interface and rhythmic-grob-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
RepeatTie objects are created by: Repeat_tie_engraver.
Standard settings:
control-points(list of number pairs):
ly:semi-tie::calc-control-pointsList of offsets (number pairs) that form control points for the tie, slur, or bracket shape. For Béziers, this should list the control points of a third-order Bézier curve.
details(list): '((ratio . 0.333) (height-limit . 1.0))Alist of parameters for detailed grob behavior. More information on the allowed parameters for a grob can be found by looking at the top of the Internals Reference page for each interface having a
detailsproperty.direction(direction):
ly:tie::calc-directionIf
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.extra-spacing-height(pair of numbers): '(-0.5 . 0.5)In the horizontal spacing problem, we increase the height of each item by this amount (by adding the ‘car’ to the bottom of the item and adding the ‘cdr’ to the top of the item). In order to make a grob infinitely high (to prevent the horizontal spacing problem from placing any other grobs above or below this grob), set this to
(-inf.0 . +inf.0).head-direction(direction):
1Are the note heads left or right in a semitie?
stencil(stencil):
ly:tie::printThe symbol to print.
thickness(number):
1.0For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e. the visual output is influenced by changes to
Staff.StaffSymbol.thickness).vertical-skylines(pair of skylines):
#<unpure-pure-container #<primitive-procedure ly:grob::vertical-skylines-from-stencil> >Two skylines, one above and one below this grob.
Y-extent(pair of numbers):
#<unpure-pure-container #<primitive-procedure ly:grob::stencil-height> >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s): grob-interface, item-interface and semi-tie-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
RepeatTieColumn objects are created by: Repeat_tie_engraver.
Standard settings:
head-direction(direction):
ly:semi-tie-column::calc-head-directionAre the note heads left or right in a semitie?
X-extent(pair of numbers)Extent (size) in the X direction, measured in staff-space units, relative to object’s reference point.
Y-extent(pair of numbers)Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s): grob-interface, item-interface and semi-tie-column-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Rest objects are created by: Completion_rest_engraver and Rest_engraver.
Standard settings:
duration-log(integer):
stem::calc-duration-logThe 2-log of the note head duration, i.e.,
0= whole note,1= half note, etc.minimum-distance(dimension, in staff space):
0.25Minimum distance between rest and notes or beam.
parenthesis-friends(list): '(dot)A list of Grob types, as symbols. When parentheses enclose a Grob that has ’parenthesis-friends, the parentheses widen to include any child Grobs with type among ’parenthesis-friends.
stencil(stencil):
ly:rest::printThe symbol to print.
vertical-skylines(pair of skylines):
#<unpure-pure-container #<primitive-procedure ly:grob::vertical-skylines-from-stencil> #<primitive-procedure ly:grob::pure-simple-vertical-skylines-from-extents> >Two skylines, one above and one below this grob.
voiced-position(number):
4The staff-position of a voiced
Rest, negative if the rest hasdirectionDOWN.X-extent(pair of numbers):
ly:rest::widthExtent (size) in the X direction, measured in staff-space units, relative to object’s reference point.
Y-extent(pair of numbers):
#<unpure-pure-container #<primitive-procedure ly:rest::height> #<primitive-procedure ly:rest::pure-height> >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
Y-offset(number):
#<unpure-pure-container #<primitive-procedure ly:rest::y-offset-callback> >The vertical amount that this object is moved relative to its Y-parent.
This object supports the following interface(s): font-interface, grob-interface, item-interface, rest-interface, rhythmic-grob-interface, rhythmic-head-interface and staff-symbol-referencer-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
RestCollision objects are created by: Rest_collision_engraver.
Standard settings:
minimum-distance(dimension, in staff space):
0.75Minimum distance between rest and notes or beam.
This object supports the following interface(s): grob-interface, item-interface and rest-collision-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Script objects are created by: Drum_notes_engraver, New_fingering_engraver and Script_engraver.
Standard settings:
add-stem-support(boolean):
#tIf set, the
Stemobject is included in this script’s support.direction(direction):
ly:script-interface::calc-directionIf
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.font-encoding(symbol):
'fetaMusicThe font encoding is the broadest category for selecting a font. Currently, only lilypond’s system fonts (Emmentaler) are using this property. Available values are
fetaMusic(Emmentaler),fetaBraces,fetaText(Emmentaler).horizon-padding(number):
0.1The amount to pad the axis along which a
Skylineis built for theside-position-interface.self-alignment-X(number):
0Specify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified - the unit is half the object width.side-axis(number):
1If the value is
X(or equivalently0), the object is placed horizontally next to the other object. If the value isYor1, it is placed vertically.slur-padding(number):
0.2Extra distance between slur and script.
staff-padding(dimension, in staff space):
0.25Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
stencil(stencil):
ly:script-interface::printThe symbol to print.
vertical-skylines(pair of skylines):
#<unpure-pure-container #<primitive-procedure ly:grob::vertical-skylines-from-stencil> >Two skylines, one above and one below this grob.
X-offset(number):
script-interface::calc-x-offsetThe horizontal amount that this object is moved relative to its X-parent.
Y-extent(pair of numbers):
#<unpure-pure-container #<primitive-procedure ly:grob::stencil-height> >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
Y-offset(number):
#<unpure-pure-container #<primitive-procedure ly:side-position-interface::y-aligned-side> #<primitive-procedure ly:side-position-interface::pure-y-aligned-side> >The vertical amount that this object is moved relative to its Y-parent.
This object supports the following interface(s): font-interface, grob-interface, item-interface, outside-staff-interface, script-interface, self-alignment-interface and side-position-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
ScriptColumn objects are created by: Script_column_engraver.
Standard settings:
before-line-breaking(boolean):
ly:script-column::before-line-breakingDummy property, used to trigger a callback function.
This object supports the following interface(s): grob-interface, item-interface and script-column-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
ScriptRow objects are created by: Script_row_engraver.
Standard settings:
before-line-breaking(boolean):
ly:script-column::row-before-line-breakingDummy property, used to trigger a callback function.
This object supports the following interface(s): grob-interface, item-interface and script-column-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Slur objects are created by: Slur_engraver.
Standard settings:
avoid-slur(symbol):
'insideMethod of handling slur collisions. Choices are
inside,outside,around, andignore.insideadjusts the slur if needed to keep the grob inside the slur.outsidemoves the grob vertically to the outside of the slur.aroundmoves the grob vertically to the outside of the slur only if there is a collision.ignoredoes not move either. In grobs whose notational significance depends on vertical position (such as accidentals, clefs, etc.),outsideandaroundbehave likeignore.control-points(list of number pairs):
ly:slur::calc-control-pointsList of offsets (number pairs) that form control points for the tie, slur, or bracket shape. For Béziers, this should list the control points of a third-order Bézier curve.
details(list): '((region-size . 4) (head-encompass-penalty . 1000.0) (stem-encompass-penalty . 30.0) (edge-attraction-factor . 4) (same-slope-penalty . 20) (steeper-slope-factor . 50) (non-horizontal-penalty . 15) (max-slope . 1.1) (max-slope-factor . 10) (free-head-distance . 0.3) (free-slur-distance . 0.8) (gap-to-staffline-inside . 0.2) (gap-to-staffline-outside . 0.1) (extra-object-collision-penalty . 50) (accidental-collision . 3) (extra-encompass-free-distance . 0.3) (extra-encompass-collision-distance . 0.8) (head-slur-distance-max-ratio . 3) (head-slur-distance-factor . 10) (absolute-closeness-measure . 0.3) (edge-slope-exponent . 1.7) (close-to-edge-length . 2.5) (encompass-object-range-overshoot . 0.5) (slur-tie-extrema-min-distance . 0.2) (slur-tie-extrema-min-distance-penalty . 2))Alist of parameters for detailed grob behavior. More information on the allowed parameters for a grob can be found by looking at the top of the Internals Reference page for each interface having a
detailsproperty.direction(direction):
ly:slur::calc-directionIf
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.height-limit(dimension, in staff space):
2.0Maximum slur height: The longer the slur, the closer it is to this height.
line-thickness(number):
0.8For slurs and ties, this is the diameter of the virtual “pen” that draws the two arcs of the curve’s outline, which intersect at the endpoints. This property is expressed as a multiple of the current staff-line thickness (i.e. the visual output is influenced by changes to
Staff.StaffSymbol.thickness).minimum-length(dimension, in staff space):
1.5Try to make a spanner at least this long, normally in the horizontal direction. This requires an appropriate callback for the
springs-and-rodsproperty. If added to aTie, this sets the minimum distance between noteheads.ratio(number):
0.25Parameter for slur shape. The higher this number, the quicker the slur attains its
height-limit.springs-and-rods(boolean):
ly:spanner::set-spacing-rodsDummy variable for triggering spacing routines.
stencil(stencil):
ly:slur::printThe symbol to print.
thickness(number):
1.2For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e. the visual output is influenced by changes to
Staff.StaffSymbol.thickness).vertical-skylines(pair of skylines):
#<unpure-pure-container #<primitive-procedure ly:slur::vertical-skylines> #<primitive-procedure ly:grob::pure-simple-vertical-skylines-from-extents> >Two skylines, one above and one below this grob.
Y-extent(pair of numbers):
#<unpure-pure-container #<primitive-procedure ly:slur::height> #<primitive-procedure ly:slur::pure-height> >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s): grob-interface, outside-staff-interface, slur-interface and spanner-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
SostenutoPedal objects are created by: Piano_pedal_engraver.
Standard settings:
direction(direction):
1If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.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).font-shape(symbol):
'italicSelect the shape of a font. Choices include
upright,italic,caps.padding(dimension, in staff space):
0.0Add this much extra space between objects that are next to each other.
parent-alignment-X(number)Specify on which point of the parent the object is aligned. The value
-1means aligned on parent’s left edge,0on center, and1right edge, in X direction. Other numerical values may also be specified - the unit is half the parent’s width. If unset, the value fromself-alignment-Xproperty will be used.self-alignment-X(number):
0Specify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified - the unit is half the object width.stencil(stencil):
ly:text-interface::printThe symbol to print.
vertical-skylines(pair of skylines):
#<unpure-pure-container #<primitive-procedure ly:grob::vertical-skylines-from-stencil> >Two skylines, one above and one below this grob.
X-offset(number):
ly:self-alignment-interface::aligned-on-x-parentThe horizontal amount that this object is moved relative to its X-parent.
Y-extent(pair of numbers):
#<unpure-pure-container #<primitive-procedure ly:grob::stencil-height> >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s): font-interface, grob-interface, item-interface, piano-pedal-script-interface, self-alignment-interface and text-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
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.
direction(direction):
-1If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.minimum-space(dimension, in staff space):
1.0Minimum distance that the victim should move (after padding).
outside-staff-priority(number):
1000If set, the grob is positioned outside the staff in such a way as to avoid all collisions. In case of a potential collision, the grob with the smaller
outside-staff-priorityis closer to the staff.padding(dimension, in staff space):
1.2Add this much extra space between objects that are next to each other.
side-axis(number):
1If the value is
X(or equivalently0), the object is placed horizontally next to the other object. If the value isYor1, it is placed vertically.staff-padding(dimension, in staff space):
1.0Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
vertical-skylines(pair of skylines):
#<unpure-pure-container #<primitive-procedure ly:grob::vertical-skylines-from-element-stencils> #<primitive-procedure ly:grob::pure-vertical-skylines-from-element-stencils> >Two skylines, one above and one below this grob.
X-extent(pair of numbers):
ly:axis-group-interface::widthExtent (size) in the X direction, measured in staff-space units, relative to object’s reference point.
Y-extent(pair of numbers):
#<unpure-pure-container #<primitive-procedure ly:axis-group-interface::height> #<primitive-procedure ly:axis-group-interface::pure-height> >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
Y-offset(number):
#<unpure-pure-container #<primitive-procedure ly:side-position-interface::y-aligned-side> #<primitive-procedure ly:side-position-interface::pure-y-aligned-side> >The vertical amount that this object is moved relative to its Y-parent.
This object supports the following interface(s): axis-group-interface, grob-interface, outside-staff-interface, piano-pedal-interface, side-position-interface and spanner-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
SpacingSpanner objects are created by: Spacing_engraver.
Standard settings:
average-spacing-wishes(boolean):
#tIf set, the spacing wishes are averaged over staves.
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.
common-shortest-duration(moment):
ly:spacing-spanner::calc-common-shortest-durationThe most common shortest note length. This is used in spacing. Enlarging this sets the score tighter.
shortest-duration-space(number):
2.0Start with this multiple of
spacing-incrementspace for the shortest duration. See also (internals-big-page)spacing-spanner-interface section ‘spacing-spanner-interface’ in Internals Reference.spacing-increment(dimension, in staff space):
1.2The unit of length for note-spacing. Typically, the width of a note head. See also (internals-big-page)spacing-spanner-interface section ‘spacing-spanner-interface’ in Internals Reference.
springs-and-rods(boolean):
ly:spacing-spanner::set-springsDummy variable for triggering spacing routines.
This object supports the following interface(s): grob-interface, spacing-options-interface, spacing-spanner-interface and spanner-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
SpanBar objects are created by: Span_bar_engraver.
Standard settings:
allow-span-bar(boolean):
#tIf false, no inter-staff bar line will be created below this bar line.
bar-extent(pair of numbers):
#<unpure-pure-container #<primitive-procedure ly:axis-group-interface::height> #<primitive-procedure ly:axis-group-interface::pure-height> >The Y-extent of the actual bar line. This may differ from
Y-extentbecause it does not include the dots in a repeat bar line.before-line-breaking(boolean):
ly:span-bar::before-line-breakingDummy property, used to trigger a callback function.
break-align-symbol(symbol):
'staff-barThis key is used for aligning, ordering, and spacing breakable items. See (internals-big-page)break-alignment-interface section ‘break-alignment-interface’ in Internals Reference.
glyph-name(string):
ly:span-bar::calc-glyph-nameThe glyph name within the font.
In the context of (span) bar lines, glyph-name represents a processed form of
glyph, where decisions about line breaking etc. are already taken.layer(integer):
0An integer which determines the order of printing objects. Objects with the lowest value of layer are drawn first, then objects with progressively higher values are drawn, so objects with higher values overwrite objects with lower values. By default most objects are assigned a layer value of 1.
non-musical(boolean):
#tTrue if the grob belongs to a
NonMusicalPaperColumn.stencil(stencil):
ly:span-bar::printThe symbol to print.
X-extent(pair of numbers):
ly:span-bar::widthExtent (size) in the X direction, measured in staff-space units, relative to object’s reference point.
Y-extent(pair of numbers): '(+inf.0 . -inf.0)Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s): bar-line-interface, font-interface, grob-interface, item-interface and span-bar-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
SpanBarStub objects are created by: Span_bar_stub_engraver.
Standard settings:
extra-spacing-height(pair of numbers):
pure-from-neighbor-interface::extra-spacing-heightIn the horizontal spacing problem, we increase the height of each item by this amount (by adding the ‘car’ to the bottom of the item and adding the ‘cdr’ to the top of the item). In order to make a grob infinitely high (to prevent the horizontal spacing problem from placing any other grobs above or below this grob), set this to
(-inf.0 . +inf.0).X-extent(pair of numbers):
#<procedure #f (grob)>Extent (size) in the X direction, measured in staff-space units, relative to object’s reference point.
Y-extent(pair of numbers):
#<unpure-pure-container #f #<procedure pure-from-neighbor-interface::pure-height (grob beg end)> >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s): grob-interface, item-interface and pure-from-neighbor-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
StaffGrouper objects are not created by any engraver.
Standard settings:
staff-staff-spacing(list): '((basic-distance . 9) (minimum-distance . 7) (padding . 1) (stretchability . 5))When applied to a staff-group’s
StaffGroupergrob, this spacing alist controls the distance between consecutive staves within the staff-group. When applied to a staff’sVerticalAxisGroupgrob, it controls the distance between the staff and the nearest staff below it in the same system, replacing any settings inherited from theStaffGroupergrob of the containing staff-group, if there is one. This property remains in effect even when non-staff lines appear between staves. The alist can contain the following keys:
basic-distance– the vertical distance, measured in staff-spaces, between the reference points of the two items when no collisions would result, and no stretching or compressing is in effect.minimum-distance– the smallest allowable vertical distance, measured in staff-spaces, between the reference points of the two items, when compressing is in effect.padding– the minimum required amount of unobstructed vertical whitespace between the bounding boxes (or skylines) of the two items, measured in staff-spaces.stretchability– a unitless measure of the dimension’s relative propensity to stretch. If zero, the distance will not stretch (unless collisions would result).staffgroup-staff-spacing(list): '((basic-distance . 10.5) (minimum-distance . 8) (padding . 1) (stretchability . 9))The spacing alist controlling the distance between the last staff of the current staff-group and the staff just below it in the same system, even if one or more non-staff lines exist between the two staves. If the
staff-staff-spacingproperty of the staff’sVerticalAxisGroupgrob is set, that is used instead. Seestaff-staff-spacingfor a description of the alist structure.
This object supports the following interface(s): grob-interface, spanner-interface and staff-grouper-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
StaffSpacing objects are created by: Separating_line_group_engraver.
Standard settings:
non-musical(boolean):
#tTrue if the grob belongs to a
NonMusicalPaperColumn.stem-spacing-correction(number):
0.4Optical correction amount for stems that are placed in tight configurations. For opposite directions, this amount is the correction for two normal sized stems that overlap completely.
This object supports the following interface(s): grob-interface, item-interface, spacing-interface and staff-spacing-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
StaffSymbol objects are created by: Staff_symbol_engraver and Tab_staff_symbol_engraver.
Standard settings:
break-align-symbols(list): '(staff-bar break-alignment)A list of break-align symbols that determines which breakable items 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). Choices are listed in (internals-big-page)break-alignment-interface section ‘break-alignment-interface’ in Internals Reference.layer(integer):
0An integer which determines the order of printing objects. Objects with the lowest value of layer are drawn first, then objects with progressively higher values are drawn, so objects with higher values overwrite objects with lower values. By default most objects are assigned a layer value of 1.
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.
line-count(integer):
5The number of staff lines.
stencil(stencil):
ly:staff-symbol::printThe symbol to print.
Y-extent(pair of numbers):
#<unpure-pure-container #<primitive-procedure ly:staff-symbol::height> >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s): grob-interface, spanner-interface and staff-symbol-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
StanzaNumber objects are created by: Stanza_number_engraver.
Standard settings:
direction(direction):
-1If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.font-series(symbol):
'boldSelect the series of a font. Choices include
medium,bold,bold-narrow, etc.padding(dimension, in staff space):
1.0Add this much extra space between objects that are next to each other.
side-axis(number):
0If the value is
X(or equivalently0), the object is placed horizontally next to the other object. If the value isYor1, it is placed vertically.stencil(stencil):
ly:text-interface::printThe symbol to print.
X-offset(number):
ly:side-position-interface::x-aligned-sideThe horizontal amount that this object is moved relative to its X-parent.
Y-extent(pair of numbers):
#<unpure-pure-container #<primitive-procedure ly:grob::stencil-height> >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s): font-interface, grob-interface, item-interface, side-position-interface, stanza-number-interface and text-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Stem objects are created by: Span_stem_engraver and Stem_engraver.
Standard settings:
beamlet-default-length(pair): '(1.1 . 1.1)A pair of numbers. The first number specifies the default length of a beamlet that sticks out of the left hand side of this stem; the second number specifies the default length of the beamlet to the right. The actual length of a beamlet is determined by taking either the default length or the length specified by
beamlet-max-length-proportion, whichever is smaller.beamlet-max-length-proportion(pair): '(0.75 . 0.75)The maximum length of a beamlet, as a proportion of the distance between two adjacent stems.
default-direction(direction):
ly:stem::calc-default-directionDirection determined by note head positions.
details(list): '((lengths 3.5 3.5 3.5 4.25 5.0 6.0 7.0 8.0 9.0) (beamed-lengths 3.26 3.5 3.6) (beamed-minimum-free-lengths 1.83 1.5 1.25) (beamed-extreme-minimum-free-lengths 2.0 1.25) (stem-shorten 1.0 0.5 0.25))Alist of parameters for detailed grob behavior. More information on the allowed parameters for a grob can be found by looking at the top of the Internals Reference page for each interface having a
detailsproperty.direction(direction):
ly:stem::calc-directionIf
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.double-stem-separation(number):
0.5The distance between the two stems of a half note in tablature when using
\tabFullNotation, not counting the width of the stems themselves, expressed as a multiple of the default height of a staff-space in the traditional five-line staff.duration-log(integer):
stem::calc-duration-logThe 2-log of the note head duration, i.e.,
0= whole note,1= half note, etc.length(dimension, in staff space):
#<unpure-pure-container #<primitive-procedure ly:stem::calc-length> #<primitive-procedure ly:stem::pure-calc-length> >User override for the stem length of unbeamed stems (each unit represents half a
staff-space).neutral-direction(direction):
-1Which direction to take in the center of the staff.
note-collision-threshold(dimension, in staff space):
1Simultaneous notes that are this close or closer in units of
staff-spacewill be identified as vertically colliding. Used byStemgrobs for notes in the same voice, andNoteCollisiongrobs for notes in different voices. Default value 1.stem-begin-position(number):
#<unpure-pure-container #<primitive-procedure ly:stem::calc-stem-begin-position> #<primitive-procedure ly:stem::pure-calc-stem-begin-position> >User override for the begin position of a stem.
stencil(stencil):
ly:stem::printThe symbol to print.
thickness(number):
1.3For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e. the visual output is influenced by changes to
Staff.StaffSymbol.thickness).X-extent(pair of numbers):
ly:stem::widthExtent (size) in the X direction, measured in staff-space units, relative to object’s reference point.
X-offset(number):
ly:stem::offset-callbackThe horizontal amount that this object is moved relative to its X-parent.
Y-extent(pair of numbers):
#<unpure-pure-container #<primitive-procedure ly:stem::height> #<primitive-procedure ly:stem::pure-height> >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
Y-offset(number):
#<unpure-pure-container #<primitive-procedure ly:staff-symbol-referencer::callback> >The vertical amount that this object is moved relative to its Y-parent.
This object supports the following interface(s): grob-interface, item-interface and stem-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
StemStub objects are created by: Stem_engraver.
Standard settings:
extra-spacing-height(pair of numbers):
stem-stub::extra-spacing-heightIn the horizontal spacing problem, we increase the height of each item by this amount (by adding the ‘car’ to the bottom of the item and adding the ‘cdr’ to the top of the item). In order to make a grob infinitely high (to prevent the horizontal spacing problem from placing any other grobs above or below this grob), set this to
(-inf.0 . +inf.0).X-extent(pair of numbers):
stem-stub::widthExtent (size) in the X direction, measured in staff-space units, relative to object’s reference point.
Y-extent(pair of numbers):
#<unpure-pure-container #f #<procedure stem-stub::pure-height (grob beg end)> >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s): grob-interface and item-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
StemTremolo objects are created by: Stem_engraver.
Standard settings:
beam-thickness(dimension, in staff space):
0.48Beam thickness, measured in
staff-spaceunits.beam-width(dimension, in staff space):
ly:stem-tremolo::calc-widthWidth of the tremolo sign.
direction(direction):
ly:stem-tremolo::calc-directionIf
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.parent-alignment-X(number):
0Specify on which point of the parent the object is aligned. The value
-1means aligned on parent’s left edge,0on center, and1right edge, in X direction. Other numerical values may also be specified - the unit is half the parent’s width. If unset, the value fromself-alignment-Xproperty will be used.shape(symbol):
ly:stem-tremolo::calc-shapeThis setting determines what shape a grob has. Valid choices depend on the
stencilcallback reading this property.slope(number):
ly:stem-tremolo::calc-slopeThe slope of this object.
stencil(stencil):
ly:stem-tremolo::printThe symbol to print.
X-extent(pair of numbers):
ly:stem-tremolo::widthExtent (size) in the X direction, measured in staff-space units, relative to object’s reference point.
X-offset(number):
ly:self-alignment-interface::aligned-on-x-parentThe horizontal amount that this object is moved relative to its X-parent.
Y-extent(pair of numbers):
#<unpure-pure-container #<primitive-procedure ly:grob::stencil-height> #<primitive-procedure ly:stem-tremolo::pure-height> >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
Y-offset(number):
#<unpure-pure-container #<primitive-procedure ly:stem-tremolo::calc-y-offset> #<primitive-procedure ly:stem-tremolo::pure-calc-y-offset> >The vertical amount that this object is moved relative to its Y-parent.
This object supports the following interface(s): grob-interface, item-interface, self-alignment-interface and stem-tremolo-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
StringNumber objects are created by: New_fingering_engraver.
Standard settings:
add-stem-support(boolean):
only-if-beamedIf set, the
Stemobject is included in this script’s support.avoid-slur(symbol):
'aroundMethod of handling slur collisions. Choices are
inside,outside,around, andignore.insideadjusts the slur if needed to keep the grob inside the slur.outsidemoves the grob vertically to the outside of the slur.aroundmoves the grob vertically to the outside of the slur only if there is a collision.ignoredoes not move either. In grobs whose notational significance depends on vertical position (such as accidentals, clefs, etc.),outsideandaroundbehave likeignore.font-encoding(symbol):
'fetaTextThe font encoding is the broadest category for selecting a font. Currently, only lilypond’s system fonts (Emmentaler) are using this property. Available values are
fetaMusic(Emmentaler),fetaBraces,fetaText(Emmentaler).font-size(number):
-5The font size, compared to the ‘normal’ size.
0is style-sheet’s normal size,-1is smaller,+1is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. If the context propertyfontSizeis set, its value is added to this before the glyph is printed. Fractional values are allowed.number-type(symbol):
'arabicNumbering style. Choices include
roman-lower,roman-upperandarabic.padding(dimension, in staff space):
0.5Add this much extra space between objects that are next to each other.
parent-alignment-X(number):
0Specify on which point of the parent the object is aligned. The value
-1means aligned on parent’s left edge,0on center, and1right edge, in X direction. Other numerical values may also be specified - the unit is half the parent’s width. If unset, the value fromself-alignment-Xproperty will be used.script-priority(number):
100A key for determining the order of scripts in a stack, by being added to the position of the script in the user input, the sum being the overall priority. Smaller means closer to the head.
self-alignment-X(number):
0Specify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified - the unit is half the object width.self-alignment-Y(number):
0Like
self-alignment-Xbut for the Y axis.staff-padding(dimension, in staff space):
0.5Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
stencil(stencil):
print-circled-text-callbackThe symbol to print.
text(markup):
string-number::calc-textText markup. See (notation-big-page)Formatting text section ‘Formatting text’ in Notation Reference.
Y-extent(pair of numbers):
#<unpure-pure-container #<primitive-procedure ly:grob::stencil-height> >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s): font-interface, grob-interface, item-interface, number-interface, outside-staff-interface, self-alignment-interface, side-position-interface, string-number-interface, text-interface and text-script-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
StrokeFinger objects are created by: New_fingering_engraver.
Standard settings:
add-stem-support(boolean):
only-if-beamedIf set, the
Stemobject is included in this script’s support.digit-names(vector):#("p" "i" "m" "a" "x")Names for string finger digits.
font-shape(symbol):
'italicSelect the shape of a font. Choices include
upright,italic,caps.font-size(number):
-4The font size, compared to the ‘normal’ size.
0is style-sheet’s normal size,-1is smaller,+1is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. If the context propertyfontSizeis set, its value is added to this before the glyph is printed. Fractional values are allowed.padding(dimension, in staff space):
0.5Add this much extra space between objects that are next to each other.
parent-alignment-X(number):
0Specify on which point of the parent the object is aligned. The value
-1means aligned on parent’s left edge,0on center, and1right edge, in X direction. Other numerical values may also be specified - the unit is half the parent’s width. If unset, the value fromself-alignment-Xproperty will be used.script-priority(number):
100A key for determining the order of scripts in a stack, by being added to the position of the script in the user input, the sum being the overall priority. Smaller means closer to the head.
self-alignment-X(number):
0Specify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified - the unit is half the object width.self-alignment-Y(number):
0Like
self-alignment-Xbut for the Y axis.staff-padding(dimension, in staff space):
0.5Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
stencil(stencil):
ly:text-interface::printThe symbol to print.
text(markup):
stroke-finger::calc-textText markup. See (notation-big-page)Formatting text section ‘Formatting text’ in Notation Reference.
Y-extent(pair of numbers):
#<unpure-pure-container #<primitive-procedure ly:grob::stencil-height> >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s): font-interface, grob-interface, item-interface, outside-staff-interface, self-alignment-interface, side-position-interface, stroke-finger-interface, text-interface and text-script-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
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).padding(dimension, in staff space):
0.0Add this much extra space between objects that are next to each other.
parent-alignment-X(number)Specify on which point of the parent the object is aligned. The value
-1means aligned on parent’s left edge,0on center, and1right edge, in X direction. Other numerical values may also be specified - the unit is half the parent’s width. If unset, the value fromself-alignment-Xproperty will be used.self-alignment-X(number):
0Specify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified - the unit is half the object width.stencil(stencil):
ly:sustain-pedal::printThe symbol to print.
vertical-skylines(pair of skylines):
#<unpure-pure-container #<primitive-procedure ly:grob::vertical-skylines-from-stencil> >Two skylines, one above and one below this grob.
X-offset(number):
ly:self-alignment-interface::aligned-on-x-parentThe horizontal amount that this object is moved relative to its X-parent.
Y-extent(pair of numbers):
#<unpure-pure-container #<primitive-procedure ly:grob::stencil-height> >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s): font-interface, grob-interface, item-interface, piano-pedal-interface, piano-pedal-script-interface, self-alignment-interface and text-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
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.
direction(direction):
-1If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.minimum-space(dimension, in staff space):
1.0Minimum distance that the victim should move (after padding).
outside-staff-priority(number):
1000If set, the grob is positioned outside the staff in such a way as to avoid all collisions. In case of a potential collision, the grob with the smaller
outside-staff-priorityis closer to the staff.padding(dimension, in staff space):
1.2Add this much extra space between objects that are next to each other.
side-axis(number):
1If the value is
X(or equivalently0), the object is placed horizontally next to the other object. If the value isYor1, it is placed vertically.staff-padding(dimension, in staff space):
1.2Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
vertical-skylines(pair of skylines):
#<unpure-pure-container #<primitive-procedure ly:grob::vertical-skylines-from-element-stencils> #<primitive-procedure ly:grob::pure-vertical-skylines-from-element-stencils> >Two skylines, one above and one below this grob.
X-extent(pair of numbers):
ly:axis-group-interface::widthExtent (size) in the X direction, measured in staff-space units, relative to object’s reference point.
Y-extent(pair of numbers):
#<unpure-pure-container #<primitive-procedure ly:axis-group-interface::height> #<primitive-procedure ly:axis-group-interface::pure-height> >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
Y-offset(number):
#<unpure-pure-container #<primitive-procedure ly:side-position-interface::y-aligned-side> #<primitive-procedure ly:side-position-interface::pure-y-aligned-side> >The vertical amount that this object is moved relative to its Y-parent.
This object supports the following interface(s): axis-group-interface, grob-interface, outside-staff-interface, piano-pedal-interface, side-position-interface and spanner-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
System objects are not created by any engraver.
Standard settings:
axes(list): '(0 1)List of axis numbers. In the case of alignment grobs, this should contain only one number.
outside-staff-placement-directive(symbol):
'left-to-right-politeOne of four directives telling how outside staff objects should be placed.
left-to-right-greedy– Place each successive grob from left to right.left-to-right-polite– Place a grob from left to right only if it does not potentially overlap with another grob that has been placed on a pass through a grob array. If there is overlap, do another pass to determine placement.right-to-left-greedy– Same asleft-to-right-greedy, but from right to left.right-to-left-polite– Same asleft-to-right-polite, but from right to left.skyline-horizontal-padding(number):
1.0For determining the vertical distance between two staves, it is possible to have a configuration which would result in a tight interleaving of grobs from the top staff and the bottom staff. The larger this parameter is, the farther apart the staves are placed in such a configuration.
vertical-skylines(pair of skylines):
ly:axis-group-interface::calc-skylinesTwo skylines, one above and one below this grob.
X-extent(pair of numbers):
ly:axis-group-interface::widthExtent (size) in the X direction, measured in staff-space units, relative to object’s reference point.
Y-extent(pair of numbers):
#<unpure-pure-container #<primitive-procedure ly:system::height> #<primitive-procedure ly:system::calc-pure-height> >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s): axis-group-interface, grob-interface, outside-staff-axis-group-interface, spanner-interface and system-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
SystemStartBar objects are created by: System_start_delimiter_engraver.
Standard settings:
collapse-height(dimension, in staff space):
5.0Minimum height of system start delimiter. If equal or smaller, the bracket/brace/line is removed.
direction(direction):
-1If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.padding(dimension, in staff space):
-0.1Add this much extra space between objects that are next to each other.
stencil(stencil):
ly:system-start-delimiter::printThe symbol to print.
style(symbol):
'bar-lineThis setting determines in what style a grob is typeset. Valid choices depend on the
stencilcallback reading this property.thickness(number):
1.6For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e. the visual output is influenced by changes to
Staff.StaffSymbol.thickness).X-offset(number):
ly:side-position-interface::x-aligned-sideThe horizontal amount that this object is moved relative to its X-parent.
This object supports the following interface(s): grob-interface, side-position-interface, spanner-interface and system-start-delimiter-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
SystemStartBrace objects are created by: System_start_delimiter_engraver.
Standard settings:
collapse-height(dimension, in staff space):
5.0Minimum height of system start delimiter. If equal or smaller, the bracket/brace/line is removed.
direction(direction):
-1If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.font-encoding(symbol):
'fetaBracesThe font encoding is the broadest category for selecting a font. Currently, only lilypond’s system fonts (Emmentaler) are using this property. Available values are
fetaMusic(Emmentaler),fetaBraces,fetaText(Emmentaler).padding(dimension, in staff space):
0.3Add this much extra space between objects that are next to each other.
stencil(stencil):
ly:system-start-delimiter::printThe symbol to print.
style(symbol):
'braceThis setting determines in what style a grob is typeset. Valid choices depend on the
stencilcallback reading this property.X-offset(number):
ly:side-position-interface::x-aligned-sideThe horizontal amount that this object is moved relative to its X-parent.
This object supports the following interface(s): font-interface, grob-interface, side-position-interface, spanner-interface and system-start-delimiter-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
SystemStartBracket objects are created by: System_start_delimiter_engraver.
Standard settings:
collapse-height(dimension, in staff space):
5.0Minimum height of system start delimiter. If equal or smaller, the bracket/brace/line is removed.
direction(direction):
-1If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.padding(dimension, in staff space):
0.8Add this much extra space between objects that are next to each other.
stencil(stencil):
ly:system-start-delimiter::printThe symbol to print.
style(symbol):
'bracketThis setting determines in what style a grob is typeset. Valid choices depend on the
stencilcallback reading this property.thickness(number):
0.45For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e. the visual output is influenced by changes to
Staff.StaffSymbol.thickness).X-offset(number):
ly:side-position-interface::x-aligned-sideThe horizontal amount that this object is moved relative to its X-parent.
This object supports the following interface(s): font-interface, grob-interface, side-position-interface, spanner-interface and system-start-delimiter-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
SystemStartSquare objects are created by: System_start_delimiter_engraver.
Standard settings:
collapse-height(dimension, in staff space):
5.0Minimum height of system start delimiter. If equal or smaller, the bracket/brace/line is removed.
direction(direction):
-1If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.stencil(stencil):
ly:system-start-delimiter::printThe symbol to print.
style(symbol):
'line-bracketThis setting determines in what style a grob is typeset. Valid choices depend on the
stencilcallback reading this property.thickness(number):
1.0For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e. the visual output is influenced by changes to
Staff.StaffSymbol.thickness).X-offset(number):
ly:side-position-interface::x-aligned-sideThe horizontal amount that this object is moved relative to its X-parent.
This object supports the following interface(s): font-interface, grob-interface, side-position-interface, spanner-interface and system-start-delimiter-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
TabNoteHead objects are created by: Tab_note_heads_engraver.
Standard settings:
details(list):'((cautionary-properties (angularity . 0.4) (half-thickness . 0.075) (padding . 0) (procedure . #<procedure parenthesize-stencil (stencil half-thickness width angularity padding)>) (width . 0.25)) (head-offset . 3/5) (harmonic-properties (angularity . 2) (half-thickness . 0.075) (padding . 0) (procedure . #<procedure parenthesize-stencil (stencil half-thickness width angularity padding)>) (width . 0.25)) (repeat-tied-properties (note-head-visible . #t) (parenthesize . #t)) (tied-properties (parenthesize . #t)))Alist of parameters for detailed grob behavior. More information on the allowed parameters for a grob can be found by looking at the top of the Internals Reference page for each interface having a
detailsproperty.direction(direction):
0If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.duration-log(integer):
note-head::calc-duration-logThe 2-log of the note head duration, i.e.,
0= whole note,1= half note, etc.font-series(symbol):
'boldSelect the series of a font. Choices include
medium,bold,bold-narrow, etc.font-size(number):
-2The font size, compared to the ‘normal’ size.
0is style-sheet’s normal size,-1is smaller,+1is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. If the context propertyfontSizeis set, its value is added to this before the glyph is printed. Fractional values are allowed.parenthesis-friends(list): '(dot)A list of Grob types, as symbols. When parentheses enclose a Grob that has ’parenthesis-friends, the parentheses widen to include any child Grobs with type among ’parenthesis-friends.
stem-attachment(pair of numbers): '(0.0 . 1.35)An
(x . y)pair where the stem attaches to the notehead.stencil(stencil):
tab-note-head::printThe symbol to print.
whiteout(boolean-or-number):
#tIf a number or true, the grob is printed over a white background to white-out underlying material, if the grob is visible. A number indicates how far the white background extends beyond the bounding box of the grob as a multiple of the staff-line thickness. The
LyricHyphengrob uses a special implementation of whiteout: A positive number indicates how far the white background extends beyond the bounding box in multiples ofline-thickness. The shape of the background is determined bywhiteout-style. Usually#fby default.X-offset(number):
ly:self-alignment-interface::x-aligned-on-selfThe horizontal amount that this object is moved relative to its X-parent.
Y-extent(pair of numbers):
#<unpure-pure-container #<primitive-procedure ly:grob::stencil-height> >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
Y-offset(number):
#<unpure-pure-container #<primitive-procedure ly:staff-symbol-referencer::callback> >The vertical amount that this object is moved relative to its Y-parent.
This object supports the following interface(s): font-interface, grob-interface, item-interface, note-head-interface, rhythmic-grob-interface, rhythmic-head-interface, staff-symbol-referencer-interface, tab-note-head-interface and text-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
TextScript objects are created by: Text_engraver.
Standard settings:
avoid-slur(symbol):
'aroundMethod of handling slur collisions. Choices are
inside,outside,around, andignore.insideadjusts the slur if needed to keep the grob inside the slur.outsidemoves the grob vertically to the outside of the slur.aroundmoves the grob vertically to the outside of the slur only if there is a collision.ignoredoes not move either. In grobs whose notational significance depends on vertical position (such as accidentals, clefs, etc.),outsideandaroundbehave likeignore.direction(direction):
-1If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.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-horizontal-padding(number):
0.2By default, an outside-staff-object can be placed so that is it very close to another grob horizontally. If this property is set, the outside-staff-object is raised so that it is not so close to its neighbor.
outside-staff-priority(number):
450If set, the grob is positioned outside the staff in such a way as to avoid all collisions. In case of a potential collision, the grob with the smaller
outside-staff-priorityis closer to the staff.padding(dimension, in staff space):
0.3Add this much extra space between objects that are next to each other.
parent-alignment-X(number)Specify on which point of the parent the object is aligned. The value
-1means aligned on parent’s left edge,0on center, and1right edge, in X direction. Other numerical values may also be specified - the unit is half the parent’s width. If unset, the value fromself-alignment-Xproperty will be used.script-priority(number):
200A key for determining the order of scripts in a stack, by being added to the position of the script in the user input, the sum being the overall priority. Smaller means closer to the head.
self-alignment-X(number)Specify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified - the unit is half the object width.side-axis(number):
1If the value is
X(or equivalently0), the object is placed horizontally next to the other object. If the value isYor1, it is placed vertically.slur-padding(number):
0.5Extra distance between slur and script.
staff-padding(dimension, in staff space):
0.5Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
stencil(stencil):
ly:text-interface::printThe symbol to print.
vertical-skylines(pair of skylines):
#<unpure-pure-container #<primitive-procedure ly:grob::vertical-skylines-from-stencil> >Two skylines, one above and one below this grob.
X-align-on-main-noteheads(boolean):
#tIf true, this grob will ignore suspended noteheads when aligning itself on NoteColumn.
X-offset(number):
ly:self-alignment-interface::aligned-on-x-parentThe horizontal amount that this object is moved relative to its X-parent.
Y-extent(pair of numbers):
#<unpure-pure-container #<primitive-procedure ly:grob::stencil-height> >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
Y-offset(number):
#<unpure-pure-container #<primitive-procedure ly:side-position-interface::y-aligned-side> #<primitive-procedure ly:side-position-interface::pure-y-aligned-side> >The vertical amount that this object is moved relative to its Y-parent.
This object supports the following interface(s): font-interface, grob-interface, instrument-specific-markup-interface, item-interface, outside-staff-interface, self-alignment-interface, side-position-interface, text-interface and text-script-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
TextSpanner objects are created by: Text_spanner_engraver.
Standard settings:
bound-details(list): '((left (Y . 0) (padding . 0.25) (attach-dir . -1)) (left-broken (attach-dir . 1)) (right (Y . 0) (padding . 0.25)))An alist of properties for determining attachments of spanners to edges.
dash-fraction(number):
0.2Size of the dashes, relative to
dash-period. Should be between0.1and1.0(continuous line). If set to0.0, a dotted line is produceddash-period(number):
3.0The length of one dash together with whitespace. If negative, no line is drawn at all.
direction(direction):
1If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.font-shape(symbol):
'italicSelect the shape of a font. Choices include
upright,italic,caps.left-bound-info(list):
ly:line-spanner::calc-left-bound-infoAn alist of properties for determining attachments of spanners to edges.
outside-staff-priority(number):
350If set, the grob is positioned outside the staff in such a way as to avoid all collisions. In case of a potential collision, the grob with the smaller
outside-staff-priorityis closer to the staff.right-bound-info(list):
ly:line-spanner::calc-right-bound-infoAn alist of properties for determining attachments of spanners to edges.
side-axis(number):
1If the value is
X(or equivalently0), the object is placed horizontally next to the other object. If the value isYor1, it is placed vertically.staff-padding(dimension, in staff space):
0.8Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
stencil(stencil):
ly:line-spanner::printThe symbol to print.
style(symbol):
'dashed-lineThis setting determines in what style a grob is typeset. Valid choices depend on the
stencilcallback reading this property.Y-offset(number):
#<unpure-pure-container #<primitive-procedure ly:side-position-interface::y-aligned-side> #<primitive-procedure ly:side-position-interface::pure-y-aligned-side> >The vertical amount that this object is moved relative to its Y-parent.
This object supports the following interface(s): font-interface, grob-interface, line-interface, line-spanner-interface, outside-staff-interface, side-position-interface and spanner-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Tie objects are created by: Completion_heads_engraver and Tie_engraver.
Standard settings:
avoid-slur(symbol):
'insideMethod of handling slur collisions. Choices are
inside,outside,around, andignore.insideadjusts the slur if needed to keep the grob inside the slur.outsidemoves the grob vertically to the outside of the slur.aroundmoves the grob vertically to the outside of the slur only if there is a collision.ignoredoes not move either. In grobs whose notational significance depends on vertical position (such as accidentals, clefs, etc.),outsideandaroundbehave likeignore.control-points(list of number pairs):
ly:tie::calc-control-pointsList of offsets (number pairs) that form control points for the tie, slur, or bracket shape. For Béziers, this should list the control points of a third-order Bézier curve.
details(list):'((ratio . 0.333) (center-staff-line-clearance . 0.6) (tip-staff-line-clearance . 0.45) (note-head-gap . 0.2) (stem-gap . 0.35) (height-limit . 1.0) (horizontal-distance-penalty-factor . 10) (same-dir-as-stem-penalty . 8) (min-length-penalty-factor . 26) (tie-tie-collision-distance . 0.45) (tie-tie-collision-penalty . 25.0) (intra-space-threshold . 1.25) (outer-tie-vertical-distance-symmetry-penalty-factor . 10) (outer-tie-length-symmetry-penalty-factor . 10) (vertical-distance-penalty-factor . 7) (outer-tie-vertical-gap . 0.25) (multi-tie-region-size . 3) (single-tie-region-size . 4) (between-length-limit . 1.0))Alist of parameters for detailed grob behavior. More information on the allowed parameters for a grob can be found by looking at the top of the Internals Reference page for each interface having a
detailsproperty.direction(direction):
ly:tie::calc-directionIf
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.font-size(number):
-6The font size, compared to the ‘normal’ size.
0is style-sheet’s normal size,-1is smaller,+1is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. If the context propertyfontSizeis set, its value is added to this before the glyph is printed. Fractional values are allowed.line-thickness(number):
0.8For slurs and ties, this is the diameter of the virtual “pen” that draws the two arcs of the curve’s outline, which intersect at the endpoints. This property is expressed as a multiple of the current staff-line thickness (i.e. the visual output is influenced by changes to
Staff.StaffSymbol.thickness).neutral-direction(direction):
1Which direction to take in the center of the staff.
springs-and-rods(boolean):
ly:spanner::set-spacing-rodsDummy variable for triggering spacing routines.
stencil(stencil):
ly:tie::printThe symbol to print.
thickness(number):
1.2For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e. the visual output is influenced by changes to
Staff.StaffSymbol.thickness).vertical-skylines(pair of skylines):
#<unpure-pure-container #<primitive-procedure ly:grob::vertical-skylines-from-stencil> #<primitive-procedure ly:grob::pure-simple-vertical-skylines-from-extents> >Two skylines, one above and one below this grob.
This object supports the following interface(s): grob-interface, spanner-interface and tie-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
TieColumn objects are created by: Completion_heads_engraver and Tie_engraver.
Standard settings:
before-line-breaking(boolean):
ly:tie-column::before-line-breakingDummy property, used to trigger a callback function.
X-extent(pair of numbers)Extent (size) in the X direction, measured in staff-space units, relative to object’s reference point.
Y-extent(pair of numbers)Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s): grob-interface, spanner-interface and tie-column-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
TimeSignature objects are created by: Time_signature_engraver.
Standard settings:
avoid-slur(symbol):
'insideMethod of handling slur collisions. Choices are
inside,outside,around, andignore.insideadjusts the slur if needed to keep the grob inside the slur.outsidemoves the grob vertically to the outside of the slur.aroundmoves the grob vertically to the outside of the slur only if there is a collision.ignoredoes not move either. In grobs whose notational significance depends on vertical position (such as accidentals, clefs, etc.),outsideandaroundbehave likeignore.break-align-anchor(number):
ly:break-aligned-interface::calc-extent-aligned-anchorGrobs aligned to this breakable item will have their X-offsets shifted by this number. In bar lines, for example, this is used to position grobs relative to the (visual) center of the bar line.
break-align-anchor-alignment(number):
-1Read by
ly:break-aligned-interface::calc-extent-aligned-anchorfor aligning an anchor to a grob’s extent.break-align-symbol(symbol):
'time-signatureThis key is used for aligning, ordering, and spacing breakable items. See (internals-big-page)break-alignment-interface section ‘break-alignment-interface’ in Internals Reference.
break-visibility(vector): #(#t #t #t)A vector of 3 booleans,
#(end-of-line unbroken begin-of-line).#tmeans visible,#fmeans killed.extra-spacing-height(pair of numbers):
pure-from-neighbor-interface::extra-spacing-height-including-staffIn the horizontal spacing problem, we increase the height of each item by this amount (by adding the ‘car’ to the bottom of the item and adding the ‘cdr’ to the top of the item). In order to make a grob infinitely high (to prevent the horizontal spacing problem from placing any other grobs above or below this grob), set this to
(-inf.0 . +inf.0).extra-spacing-width(pair of numbers): '(0.0 . 0.8)In the horizontal spacing problem, we pad each item by this amount (by adding the ‘car’ on the left side of the item and adding the ‘cdr’ on the right side of the item). In order to make a grob take up no horizontal space at all, set this to
(+inf.0 . -inf.0).non-musical(boolean):
#tTrue if the grob belongs to a
NonMusicalPaperColumn.space-alist(list): '((ambitus extra-space . 1.0) (cue-clef extra-space . 1.5) (first-note fixed-space . 2.0) (right-edge extra-space . 0.5) (staff-bar extra-space . 1.0))An alist that specifies distances from this grob to other breakable items, using the format:
'((break-align-symbol . (spacing-style . space)) (break-align-symbol . (spacing-style . space)) ...)Standard choices for
break-align-symbolare listed in (internals-big-page)break-alignment-interface section ‘break-alignment-interface’ in Internals Reference. Additionally, three special break-align symbols available tospace-alistare:
first-noteused when the grob is just left of the first note on a line
next-noteused when the grob is just left of any other note; if not set, the value of
first-notegets usedright-edgeused when the grob is the last item on the line (only compatible with the
extra-spacespacing style)Choices for
spacing-styleare:
extra-spacePut this much space between the two grobs. The space is stretchable when paired with
first-noteornext-note; otherwise it is fixed.minimum-spacePut at least this much space between the left sides of both grobs, without allowing them to collide. The space is stretchable when paired with
first-noteornext-note; otherwise it is fixed. Not compatible withright-edge.fixed-spaceOnly compatible with
first-noteandnext-note. Put this much fixed space between the grob and the note.minimum-fixed-spaceOnly compatible with
first-noteandnext-note. Put at least this much fixed space between the left side of the grob and the left side of the note, without allowing them to collide.semi-fixed-spaceOnly compatible with
first-noteandnext-note. Put this much space between the grob and the note, such that half of the space is fixed and half is stretchable.Rules for this spacing are much more complicated than this. See [Wanske] page 126–134, [Ross] page 143–147.
stencil(stencil):
ly:time-signature::printThe symbol to print.
style(symbol):
'CThis setting determines in what style a grob is typeset. Valid choices depend on the
stencilcallback reading this property.Y-extent(pair of numbers):
#<unpure-pure-container #<primitive-procedure ly:grob::stencil-height> >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s): break-aligned-interface, font-interface, grob-interface, item-interface, pure-from-neighbor-interface and time-signature-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
TrillPitchAccidental objects are created by: Pitched_trill_engraver.
Standard settings:
direction(direction):
-1If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.font-size(number):
-4The font size, compared to the ‘normal’ size.
0is style-sheet’s normal size,-1is smaller,+1is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. If the context propertyfontSizeis set, its value is added to this before the glyph is printed. 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.
padding(dimension, in staff space):
0.2Add this much extra space between objects that are next to each other.
side-axis(number):
0If the value is
X(or equivalently0), the object is placed horizontally next to the other object. If the value isYor1, it is placed vertically.stencil(stencil):
ly:accidental-interface::printThe symbol to print.
X-offset(number):
ly:side-position-interface::x-aligned-sideThe horizontal amount that this object is moved relative to its X-parent.
Y-extent(pair of numbers):
#<unpure-pure-container #<primitive-procedure ly:accidental-interface::height> >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s): accidental-interface, font-interface, grob-interface, inline-accidental-interface, item-interface, side-position-interface and trill-pitch-accidental-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
TrillPitchGroup objects are created by: Pitched_trill_engraver.
Standard settings:
axes(list): '(0)List of axis numbers. In the case of alignment grobs, this should contain only one number.
direction(direction):
1If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.font-size(number):
-4The font size, compared to the ‘normal’ size.
0is style-sheet’s normal size,-1is smaller,+1is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. If the context propertyfontSizeis set, its value is added to this before the glyph is printed. Fractional values are allowed.horizon-padding(number):
0.1The amount to pad the axis along which a
Skylineis built for theside-position-interface.minimum-space(dimension, in staff space):
2.5Minimum distance that the victim should move (after padding).
padding(dimension, in staff space):
0.3Add this much extra space between objects that are next to each other.
side-axis(number):
0If the value is
X(or equivalently0), the object is placed horizontally next to the other object. If the value isYor1, it is placed vertically.stencil(stencil):
parenthesize-elementsThe symbol to print.
stencils(list):
parentheses-item::calc-parenthesis-stencilsMultiple stencils, used as intermediate value.
X-offset(number):
ly:side-position-interface::x-aligned-sideThe horizontal amount that this object is moved relative to its X-parent.
Y-extent(pair of numbers):
#<unpure-pure-container #<primitive-procedure ly:grob::stencil-height> >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s): axis-group-interface, font-interface, grob-interface, item-interface, note-head-interface, parentheses-interface and side-position-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
TrillPitchHead objects are created by: Pitched_trill_engraver.
Standard settings:
duration-log(integer):
2The 2-log of the note head duration, i.e.,
0= whole note,1= half note, etc.font-size(number):
-4The font size, compared to the ‘normal’ size.
0is style-sheet’s normal size,-1is smaller,+1is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. If the context propertyfontSizeis set, its value is added to this before the glyph is printed. Fractional values are allowed.stencil(stencil):
ly:note-head::printThe symbol to print.
Y-extent(pair of numbers):
#<unpure-pure-container #<primitive-procedure ly:grob::stencil-height> >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
Y-offset(number):
#<unpure-pure-container #<primitive-procedure ly:staff-symbol-referencer::callback> >The vertical amount that this object is moved relative to its Y-parent.
This object supports the following interface(s): font-interface, grob-interface, item-interface, ledgered-interface, pitched-trill-interface, rhythmic-head-interface and staff-symbol-referencer-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
TrillSpanner objects are created by: Trill_spanner_engraver.
Standard settings:
after-line-breaking(boolean):
ly:spanner::kill-zero-spanned-timeDummy property, used to trigger callback for
after-line-breaking.bound-details(list):'((left (text #<procedure musicglyph-markup (layout props glyph-name)> "scripts.trill") (Y . 0) (stencil-offset -0.5 . -1) (padding . 0.5) (attach-dir . 0)) (left-broken (end-on-note . #t)) (right (Y . 0)))An alist of properties for determining attachments of spanners to edges.
direction(direction):
1If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.left-bound-info(list):
ly:line-spanner::calc-left-bound-infoAn alist of properties for determining attachments of spanners to edges.
outside-staff-priority(number):
50If set, the grob is positioned outside the staff in such a way as to avoid all collisions. In case of a potential collision, the grob with the smaller
outside-staff-priorityis closer to the staff.padding(dimension, in staff space):
0.5Add this much extra space between objects that are next to each other.
right-bound-info(list):
ly:line-spanner::calc-right-bound-infoAn alist of properties for determining attachments of spanners to edges.
side-axis(number):
1If the value is
X(or equivalently0), the object is placed horizontally next to the other object. If the value isYor1, it is placed vertically.staff-padding(dimension, in staff space):
1.0Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
stencil(stencil):
ly:line-spanner::printThe symbol to print.
style(symbol):
'trillThis setting determines in what style a grob is typeset. Valid choices depend on the
stencilcallback reading this property.Y-offset(number):
#<unpure-pure-container #<primitive-procedure ly:side-position-interface::y-aligned-side> #<primitive-procedure ly:side-position-interface::pure-y-aligned-side> >The vertical amount that this object is moved relative to its Y-parent.
This object supports the following interface(s): font-interface, grob-interface, line-interface, line-spanner-interface, outside-staff-interface, side-position-interface, spanner-interface and trill-spanner-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
TupletBracket objects are created by: Tuplet_engraver.
Standard settings:
avoid-scripts(boolean):
#tIf set, a tuplet bracket avoids the scripts associated with the note heads it encompasses.
connect-to-neighbor(pair):
ly:tuplet-bracket::calc-connect-to-neighborsPair of booleans, indicating whether this grob looks as a continued break.
direction(direction):
ly:tuplet-bracket::calc-directionIf
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.edge-height(pair): '(0.7 . 0.7)A pair of numbers specifying the heights of the vertical edges:
(left-height . right-height).full-length-to-extent(boolean):
#tRun to the extent of the column for a full-length tuplet bracket.
padding(dimension, in staff space):
1.1Add this much extra space between objects that are next to each other.
positions(pair of numbers):
ly:tuplet-bracket::calc-positionsPair of staff coordinates
(left . right), where both left and right are instaff-spaceunits of the current staff. For slurs, this value selects which slur candidate to use; if extreme positions are requested, the closest one is taken.shorten-pair(pair of numbers): '(-0.2 . -0.2)The lengths to shorten on both sides a hairpin or text-spanner such as a pedal bracket. Positive values shorten the hairpin or text-spanner, while negative values lengthen it.
staff-padding(dimension, in staff space):
0.25Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
stencil(stencil):
ly:tuplet-bracket::printThe symbol to print.
thickness(number):
1.6For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e. the visual output is influenced by changes to
Staff.StaffSymbol.thickness).tuplet-slur(boolean)Draw a slur instead of a bracket for tuplets.
vertical-skylines(pair of skylines):
#<unpure-pure-container #<primitive-procedure ly:grob::vertical-skylines-from-stencil> #<primitive-procedure ly:grob::pure-simple-vertical-skylines-from-extents> >Two skylines, one above and one below this grob.
X-positions(pair of numbers):
ly:tuplet-bracket::calc-x-positionsPair of X staff coordinates of a spanner in the form
(left . right), where both left and right are instaff-spaceunits of the current staff.
This object supports the following interface(s): grob-interface, line-interface, outside-staff-interface, spanner-interface and tuplet-bracket-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
TupletNumber objects are created by: Tuplet_engraver.
Standard settings:
avoid-slur(symbol):
'insideMethod of handling slur collisions. Choices are
inside,outside,around, andignore.insideadjusts the slur if needed to keep the grob inside the slur.outsidemoves the grob vertically to the outside of the slur.aroundmoves the grob vertically to the outside of the slur only if there is a collision.ignoredoes not move either. In grobs whose notational significance depends on vertical position (such as accidentals, clefs, etc.),outsideandaroundbehave likeignore.direction(direction):
tuplet-number::calc-directionIf
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.font-shape(symbol):
'italicSelect the shape of a font. Choices include
upright,italic,caps.font-size(number):
-2The font size, compared to the ‘normal’ size.
0is style-sheet’s normal size,-1is smaller,+1is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. If the context propertyfontSizeis set, its value is added to this before the glyph is printed. Fractional values are allowed.knee-to-beam(boolean):
#tDetermines whether a tuplet number will be positioned next to a kneed beam.
stencil(stencil):
ly:tuplet-number::printThe symbol to print.
text(markup):
tuplet-number::calc-denominator-textText markup. See (notation-big-page)Formatting text section ‘Formatting text’ in Notation Reference.
X-offset(number):
ly:tuplet-number::calc-x-offsetThe horizontal amount that this object is moved relative to its X-parent.
Y-offset(number):
ly:tuplet-number::calc-y-offsetThe vertical amount that this object is moved relative to its Y-parent.
This object supports the following interface(s): font-interface, grob-interface, outside-staff-interface, spanner-interface, text-interface and tuplet-number-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
UnaCordaPedal objects are created by: Piano_pedal_engraver.
Standard settings:
direction(direction):
1If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.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).font-shape(symbol):
'italicSelect the shape of a font. Choices include
upright,italic,caps.padding(dimension, in staff space):
0.0Add this much extra space between objects that are next to each other.
parent-alignment-X(number)Specify on which point of the parent the object is aligned. The value
-1means aligned on parent’s left edge,0on center, and1right edge, in X direction. Other numerical values may also be specified - the unit is half the parent’s width. If unset, the value fromself-alignment-Xproperty will be used.self-alignment-X(number):
0Specify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified - the unit is half the object width.stencil(stencil):
ly:text-interface::printThe symbol to print.
vertical-skylines(pair of skylines):
#<unpure-pure-container #<primitive-procedure ly:grob::vertical-skylines-from-stencil> >Two skylines, one above and one below this grob.
X-offset(number):
ly:self-alignment-interface::aligned-on-x-parentThe horizontal amount that this object is moved relative to its X-parent.
Y-extent(pair of numbers):
#<unpure-pure-container #<primitive-procedure ly:grob::stencil-height> >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s): font-interface, grob-interface, item-interface, piano-pedal-script-interface, self-alignment-interface and text-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
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.
direction(direction):
-1If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.minimum-space(dimension, in staff space):
1.0Minimum distance that the victim should move (after padding).
outside-staff-priority(number):
1000If set, the grob is positioned outside the staff in such a way as to avoid all collisions. In case of a potential collision, the grob with the smaller
outside-staff-priorityis closer to the staff.padding(dimension, in staff space):
1.2Add this much extra space between objects that are next to each other.
side-axis(number):
1If the value is
X(or equivalently0), the object is placed horizontally next to the other object. If the value isYor1, it is placed vertically.staff-padding(dimension, in staff space):
1.2Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
vertical-skylines(pair of skylines):
#<unpure-pure-container #<primitive-procedure ly:grob::vertical-skylines-from-element-stencils> #<primitive-procedure ly:grob::pure-vertical-skylines-from-element-stencils> >Two skylines, one above and one below this grob.
X-extent(pair of numbers):
ly:axis-group-interface::widthExtent (size) in the X direction, measured in staff-space units, relative to object’s reference point.
Y-extent(pair of numbers):
#<unpure-pure-container #<primitive-procedure ly:axis-group-interface::height> #<primitive-procedure ly:axis-group-interface::pure-height> >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
Y-offset(number):
#<unpure-pure-container #<primitive-procedure ly:side-position-interface::y-aligned-side> #<primitive-procedure ly:side-position-interface::pure-y-aligned-side> >The vertical amount that this object is moved relative to its Y-parent.
This object supports the following interface(s): axis-group-interface, grob-interface, outside-staff-interface, piano-pedal-interface, side-position-interface and spanner-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
VaticanaLigature objects are created by: Vaticana_ligature_engraver.
Standard settings:
stencil(stencil):
ly:vaticana-ligature::printThe symbol to print.
thickness(number):
0.6For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e. the visual output is influenced by changes to
Staff.StaffSymbol.thickness).
This object supports the following interface(s): font-interface, grob-interface, spanner-interface and vaticana-ligature-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
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.
stacking-dir(direction):
-1Stack objects in which direction?
vertical-skylines(pair of skylines):
ly:axis-group-interface::combine-skylinesTwo skylines, one above and one below this grob.
X-extent(pair of numbers):
ly:axis-group-interface::widthExtent (size) in the X direction, measured in staff-space units, relative to object’s reference point.
Y-extent(pair of numbers):
#<unpure-pure-container #<primitive-procedure ly:axis-group-interface::height> #<primitive-procedure ly:axis-group-interface::pure-height> >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s): align-interface, axis-group-interface, grob-interface and spanner-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
VerticalAxisGroup objects are created by: Axis_group_engraver.
Standard settings:
axes(list): '(1)List of axis numbers. In the case of alignment grobs, this should contain only one number.
default-staff-staff-spacing(list): '((basic-distance . 9) (minimum-distance . 8) (padding . 1))The settings to use for
staff-staff-spacingwhen it is unset, for ungrouped staves and for grouped staves that do not have the relevantStaffGrouperproperty set (staff-staff-spacingorstaffgroup-staff-spacing).nonstaff-unrelatedstaff-spacing(list): '((padding . 0.5))The spacing alist controlling the distance between the current non-staff line and the nearest staff in the opposite direction from
staff-affinity, if there are no other non-staff lines between the two, andstaff-affinityis eitherUPorDOWN. Seestaff-staff-spacingfor a description of the alist structure.outside-staff-placement-directive(symbol):
'left-to-right-politeOne of four directives telling how outside staff objects should be placed.
left-to-right-greedy– Place each successive grob from left to right.left-to-right-polite– Place a grob from left to right only if it does not potentially overlap with another grob that has been placed on a pass through a grob array. If there is overlap, do another pass to determine placement.right-to-left-greedy– Same asleft-to-right-greedy, but from right to left.right-to-left-polite– Same asleft-to-right-polite, but from right to left.skyline-horizontal-padding(number):
0.1For determining the vertical distance between two staves, it is possible to have a configuration which would result in a tight interleaving of grobs from the top staff and the bottom staff. The larger this parameter is, the farther apart the staves are placed in such a configuration.
staff-staff-spacing(list):
#<unpure-pure-container #<primitive-procedure ly:axis-group-interface::calc-staff-staff-spacing> #<primitive-procedure ly:axis-group-interface::calc-pure-staff-staff-spacing> >When applied to a staff-group’s
StaffGroupergrob, this spacing alist controls the distance between consecutive staves within the staff-group. When applied to a staff’sVerticalAxisGroupgrob, it controls the distance between the staff and the nearest staff below it in the same system, replacing any settings inherited from theStaffGroupergrob of the containing staff-group, if there is one. This property remains in effect even when non-staff lines appear between staves. The alist can contain the following keys:
basic-distance– the vertical distance, measured in staff-spaces, between the reference points of the two items when no collisions would result, and no stretching or compressing is in effect.minimum-distance– the smallest allowable vertical distance, measured in staff-spaces, between the reference points of the two items, when compressing is in effect.padding– the minimum required amount of unobstructed vertical whitespace between the bounding boxes (or skylines) of the two items, measured in staff-spaces.stretchability– a unitless measure of the dimension’s relative propensity to stretch. If zero, the distance will not stretch (unless collisions would result).stencil(stencil):
ly:axis-group-interface::printThe symbol to print.
vertical-skylines(pair of skylines):
ly:hara-kiri-group-spanner::calc-skylinesTwo skylines, one above and one below this grob.
X-extent(pair of numbers):
ly:axis-group-interface::widthExtent (size) in the X direction, measured in staff-space units, relative to object’s reference point.
Y-extent(pair of numbers):
#<unpure-pure-container #<primitive-procedure ly:hara-kiri-group-spanner::y-extent> #<primitive-procedure ly:hara-kiri-group-spanner::pure-height> >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
Y-offset(number):
ly:hara-kiri-group-spanner::force-hara-kiri-callbackThe vertical amount that this object is moved relative to its Y-parent.
This object supports the following interface(s): axis-group-interface, grob-interface, hara-kiri-group-spanner-interface, outside-staff-axis-group-interface and spanner-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
VoiceFollower objects are created by: Note_head_line_engraver.
Standard settings:
after-line-breaking(boolean):
ly:spanner::kill-zero-spanned-timeDummy property, used to trigger callback for
after-line-breaking.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.
gap(dimension, in staff space):
0.5Size of a gap in a variable symbol.
left-bound-info(list):
ly:line-spanner::calc-left-bound-infoAn alist of properties for determining attachments of spanners to edges.
non-musical(boolean):
#tTrue if the grob belongs to a
NonMusicalPaperColumn.right-bound-info(list):
ly:line-spanner::calc-right-bound-infoAn alist of properties for determining attachments of spanners to edges.
stencil(stencil):
ly:line-spanner::printThe symbol to print.
style(symbol):
'lineThis setting determines in what style a grob is typeset. Valid choices depend on the
stencilcallback reading this property.X-extent(pair of numbers)Extent (size) in the X direction, measured in staff-space units, relative to object’s reference point.
Y-extent(pair of numbers)Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s): grob-interface, line-interface, line-spanner-interface and spanner-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
VoltaBracket objects are created by: Volta_engraver.
Standard settings:
baseline-skip(dimension, in staff space):
1.7Distance between base lines of multiple lines of text.
direction(direction):
1If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.edge-height(pair): '(2.0 . 2.0)A pair of numbers specifying the heights of the vertical edges:
(left-height . right-height).font-encoding(symbol):
'fetaTextThe font encoding is the broadest category for selecting a font. Currently, only lilypond’s system fonts (Emmentaler) are using this property. Available values are
fetaMusic(Emmentaler),fetaBraces,fetaText(Emmentaler).font-size(number):
-4The font size, compared to the ‘normal’ size.
0is style-sheet’s normal size,-1is smaller,+1is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. If the context propertyfontSizeis set, its value is added to this before the glyph is printed. Fractional values are allowed.shorten-pair(pair of numbers):
ly:volta-bracket::calc-shorten-pairThe lengths to shorten on both sides a hairpin or text-spanner such as a pedal bracket. Positive values shorten the hairpin or text-spanner, while negative values lengthen it.
stencil(stencil):
ly:volta-bracket-interface::printThe symbol to print.
thickness(number):
1.6For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e. the visual output is influenced by changes to
Staff.StaffSymbol.thickness).vertical-skylines(pair of skylines):
#<unpure-pure-container #<primitive-procedure ly:grob::vertical-skylines-from-stencil> #<primitive-procedure ly:grob::pure-simple-vertical-skylines-from-extents> >Two skylines, one above and one below this grob.
word-space(dimension, in staff space):
0.6Space to insert between words in texts.
Y-extent(pair of numbers):
#<unpure-pure-container #<primitive-procedure ly:grob::stencil-height> #<procedure volta-bracket-interface::pure-height (grob start end)> >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s): font-interface, grob-interface, horizontal-bracket-interface, line-interface, side-position-interface, spanner-interface, text-interface, volta-bracket-interface and volta-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
VoltaBracketSpanner objects are created by: Volta_engraver.
Standard settings:
after-line-breaking(boolean):
ly:side-position-interface::move-to-extremal-staffDummy property, used to trigger callback for
after-line-breaking.axes(list): '(1)List of axis numbers. In the case of alignment grobs, this should contain only one number.
direction(direction):
1If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.no-alignment(boolean):
#tIf set, don’t place this grob in a
VerticalAlignment; rather, place it using its ownY-offsetcallback.outside-staff-priority(number):
600If set, the grob is positioned outside the staff in such a way as to avoid all collisions. In case of a potential collision, the grob with the smaller
outside-staff-priorityis closer to the staff.padding(dimension, in staff space):
1Add this much extra space between objects that are next to each other.
side-axis(number):
1If the value is
X(or equivalently0), the object is placed horizontally next to the other object. If the value isYor1, it is placed vertically.vertical-skylines(pair of skylines):
#<unpure-pure-container #<primitive-procedure ly:grob::vertical-skylines-from-element-stencils> #<primitive-procedure ly:grob::pure-vertical-skylines-from-element-stencils> >Two skylines, one above and one below this grob.
X-extent(pair of numbers):
ly:axis-group-interface::widthExtent (size) in the X direction, measured in staff-space units, relative to object’s reference point.
Y-extent(pair of numbers):
#<unpure-pure-container #<primitive-procedure ly:axis-group-interface::height> #<primitive-procedure ly:axis-group-interface::pure-height> >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
Y-offset(number):
#<unpure-pure-container #<primitive-procedure ly:side-position-interface::y-aligned-side> #<primitive-procedure ly:side-position-interface::pure-y-aligned-side> >The vertical amount that this object is moved relative to its Y-parent.
This object supports the following interface(s): axis-group-interface, grob-interface, outside-staff-interface, side-position-interface, spanner-interface and volta-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
VowelTransition objects are created by: Hyphen_engraver.
Standard settings:
after-line-breaking(boolean):
ly:spanner::kill-zero-spanned-timeDummy property, used to trigger callback for
after-line-breaking.arrow-length(number):
0.5Arrow length.
arrow-width(number):
0.5Arrow width.
bound-details(list):'((left (Y . 0) (padding . 0.14) (attach-dir . 1)) (right-broken (padding . 0)) (left-broken (padding . 0)) (right (Y . 0) (padding . 0.14) (attach-dir . -1) (arrow . #t)))An alist of properties for determining attachments of spanners to edges.
left-bound-info(list):
ly:line-spanner::calc-left-bound-infoAn alist of properties for determining attachments of spanners to edges.
minimum-length(dimension, in staff space):
1.0Try to make a spanner at least this long, normally in the horizontal direction. This requires an appropriate callback for the
springs-and-rodsproperty. If added to aTie, this sets the minimum distance between noteheads.right-bound-info(list):
ly:line-spanner::calc-right-bound-infoAn alist of properties for determining attachments of spanners to edges.
springs-and-rods(boolean):
ly:vowel-transition::set-spacing-rodsDummy variable for triggering spacing routines.
stencil(stencil):
ly:line-spanner::printThe symbol to print.
style(symbol):
'lineThis setting determines in what style a grob is typeset. Valid choices depend on the
stencilcallback reading this property.vertical-skylines(pair of skylines):
#<unpure-pure-container #<primitive-procedure ly:grob::vertical-skylines-from-stencil> #<primitive-procedure ly:grob::pure-simple-vertical-skylines-from-extents> >Two skylines, one above and one below this grob.
Y-offset(number):
0.5The vertical amount that this object is moved relative to its Y-parent.
This object supports the following interface(s): grob-interface, line-interface, line-spanner-interface, lyric-interface and spanner-interface.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
A single accidental.
alteration(number)Alteration numbers for accidental.
avoid-slur(symbol)Method of handling slur collisions. Choices are
inside,outside,around, andignore.insideadjusts the slur if needed to keep the grob inside the slur.outsidemoves the grob vertically to the outside of the slur.aroundmoves the grob vertically to the outside of the slur only if there is a collision.ignoredoes not move either. In grobs whose notational significance depends on vertical position (such as accidentals, clefs, etc.),outsideandaroundbehave likeignore.glyph-name(string)The glyph name within the font.
In the context of (span) bar lines, glyph-name represents a processed form of
glyph, where decisions about line breaking etc. are already taken.glyph-name-alist(list)An alist of key-string pairs.
hide-tied-accidental-after-break(boolean)If set, an accidental that appears on a tied note after a line break will not be displayed.
parenthesized(boolean)Parenthesize this grob.
restore-first(boolean)Print a natural before the accidental.
forced(boolean)Manually forced accidental.
tie(graphical (layout) object)A pointer to a
Tieobject.
This grob interface is used in the following graphical object(s): Accidental, AccidentalCautionary, AccidentalSuggestion, AmbitusAccidental and TrillPitchAccidental.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Resolve accidental collisions.
direction(direction)If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.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 key for determining the order of scripts in a stack, by being added to the position of the script in the user input, the sum being the overall priority. Smaller means closer to the head.
accidental-grobs(list)An alist with
(notename . groblist)entries.positioning-done(boolean)Used to signal that a positioning element did its job. This ensures that a positioning is only done once.
This grob interface is used in the following graphical object(s): AccidentalPlacement.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
An accidental, printed as a suggestion (typically: vertically over a note).
This grob interface is used in the following graphical object(s): AccidentalSuggestion.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Order grobs from top to bottom, left to right, right to left or bottom to top. For vertical alignments of staves, the line-break-system-details of the left
(internals-big-page)NonMusicalPaperColumn section ‘NonMusicalPaperColumn’ in Internals Reference may be set to tune vertical spacing.
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?
elements(array of grobs)An array of grobs; the type is depending on the grob where this is set in.
minimum-translations-alist(list)An list of translations for a given start and end point.
positioning-done(boolean)Used to signal that a positioning element did its job. This ensures that a positioning is only done once.
This grob interface is used in the following graphical object(s): BassFigureAlignment and VerticalAlignment.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
The line between note heads for a pitch range.
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.
maximum-gap(number)Maximum value allowed for
gapproperty.thickness(number)For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e. the visual output is influenced by changes to
Staff.StaffSymbol.thickness).
note-heads(array of grobs)An array of note head grobs.
This grob interface is used in the following graphical object(s): Ambitus, AmbitusLine and AmbitusNoteHead.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Functions and settings for drawing an arpeggio symbol.
arpeggio-direction(direction)If set, put an arrow on the arpeggio squiggly line.
dash-definition(pair)List of
dash-elementsdefining the dash structure. Eachdash-elementhas a starting t value, an ending t-value, adash-fraction, and adash-period.line-thickness(number)For slurs and ties, this is the diameter of the virtual “pen” that draws the two arcs of the curve’s outline, which intersect at the endpoints. This property is expressed as a multiple of the current staff-line thickness (i.e. the visual output is influenced by changes to
Staff.StaffSymbol.thickness).positions(pair of numbers)Pair of staff coordinates
(left . right), where both left and right are instaff-spaceunits of the current staff. For slurs, this value selects which slur candidate to use; if extreme positions are requested, the closest one is taken.protrusion(number)In an arpeggio bracket, the length of the horizontal edges.
script-priority(number)A key for determining the order of scripts in a stack, by being added to the position of the script in the user input, the sum being the overall priority. Smaller means closer to the head.
thickness(number)For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e. the visual output is influenced by changes to
Staff.StaffSymbol.thickness).
stems(array of grobs)An array of stem objects.
This grob interface is used in the following graphical object(s): Arpeggio.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
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.
default-staff-staff-spacing(list)The settings to use for
staff-staff-spacingwhen it is unset, for ungrouped staves and for grouped staves that do not have the relevantStaffGrouperproperty set (staff-staff-spacingorstaffgroup-staff-spacing).no-alignment(boolean)If set, don’t place this grob in a
VerticalAlignment; rather, place it using its ownY-offsetcallback.nonstaff-nonstaff-spacing(list)The spacing alist controlling the distance between the current non-staff line and the next non-staff line in the direction of
staff-affinity, if both are on the same side of the related staff, andstaff-affinityis eitherUPorDOWN. Seestaff-staff-spacingfor a description of the alist structure.nonstaff-relatedstaff-spacing(list)The spacing alist controlling the distance between the current non-staff line and the nearest staff in the direction of
staff-affinity, if there are no non-staff lines between the two, andstaff-affinityis eitherUPorDOWN. Ifstaff-affinityisCENTER, thennonstaff-relatedstaff-spacingis used for the nearest staves on both sides, even if other non-staff lines appear between the current one and either of the staves. Seestaff-staff-spacingfor a description of the alist structure.nonstaff-unrelatedstaff-spacing(list)The spacing alist controlling the distance between the current non-staff line and the nearest staff in the opposite direction from
staff-affinity, if there are no other non-staff lines between the two, andstaff-affinityis eitherUPorDOWN. Seestaff-staff-spacingfor a description of the alist structure.staff-affinity(direction)The direction of the staff to use for spacing the current non-staff line. Choices are
UP,DOWN, andCENTER. IfCENTER, the non-staff line will be placed equidistant between the two nearest staves on either side, unless collisions or other spacing constraints prevent this. Settingstaff-affinityfor a staff causes it to be treated as a non-staff line. Settingstaff-affinityto#fcauses a non-staff line to be treated as a staff.staff-staff-spacing(list)When applied to a staff-group’s
StaffGroupergrob, this spacing alist controls the distance between consecutive staves within the staff-group. When applied to a staff’sVerticalAxisGroupgrob, it controls the distance between the staff and the nearest staff below it in the same system, replacing any settings inherited from theStaffGroupergrob of the containing staff-group, if there is one. This property remains in effect even when non-staff lines appear between staves. The alist can contain the following keys:
basic-distance– the vertical distance, measured in staff-spaces, between the reference points of the two items when no collisions would result, and no stretching or compressing is in effect.minimum-distance– the smallest allowable vertical distance, measured in staff-spaces, between the reference points of the two items, when compressing is in effect.padding– the minimum required amount of unobstructed vertical whitespace between the bounding boxes (or skylines) of the two items, measured in staff-spaces.stretchability– a unitless measure of the dimension’s relative propensity to stretch. If zero, the distance will not stretch (unless collisions would result).
adjacent-pure-heights(pair)A pair of vectors. Used by a
VerticalAxisGroupto cache theY-extents of different column ranges.bound-alignment-interfaces(list)Interfaces to be used for positioning elements that align with a column.
elements(array of grobs)An array of grobs; the type is depending on the grob where this is set in.
pure-relevant-grobs(array of grobs)All the grobs (items and spanners) that are relevant for finding the
pure-Y-extentpure-relevant-items(array of grobs)A subset of elements that are relevant for finding the
pure-Y-extent.pure-relevant-spanners(array of grobs)A subset of elements that are relevant for finding the
pure-Y-extent.pure-Y-common(graphical (layout) object)A cache of the
common_refpoint_of_arrayof theelementsgrob set.staff-grouper(graphical (layout) object)The staff grouper we belong to.
system-Y-offset(number)The Y-offset (relative to the bottom of the top-margin of the page) of the system to which this staff belongs.
X-common(graphical (layout) object)Common reference point for axis group.
Y-common(graphical (layout) object)See
X-common.
This grob interface is used in the following graphical object(s): Ambitus, BassFigureAlignment, BassFigureAlignmentPositioning, BassFigureLine, BreakAlignGroup, BreakAlignment, DotColumn, DynamicLineSpanner, NonMusicalPaperColumn, NoteCollision, NoteColumn, PaperColumn, SostenutoPedalLineSpanner, SustainPedalLineSpanner, System, TrillPitchGroup, UnaCordaPedalLineSpanner, VerticalAlignment, VerticalAxisGroup and VoltaBracketSpanner.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
A collection of routines to put text balloons around an object.
annotation-balloon(boolean)Print the balloon around an annotation.
annotation-line(boolean)Print the line from an annotation to the grob that it annotates.
padding(dimension, in staff space)Add this much extra space between objects that are next to each other.
text(markup)Text markup. See (notation-big-page)Formatting text section ‘Formatting text’ in Notation Reference.
spanner-placement(direction)The place of an annotation on a spanner.
LEFTis for the first spanner, andRIGHTis for the last.CENTERwill place it on the broken spanner that falls closest to the center of the length of the entire spanner, although this behavior is unpredictable in situations with lots of rhythmic diversity. For predictable results, useLEFTandRIGHT.
This grob interface is used in the following graphical object(s): BalloonTextItem, BalloonTextSpanner, FootnoteItem and FootnoteSpanner.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
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 line to print.
The list of allowed glyphs and predefined bar lines can be found in ‘scm/bar-line.scm’.
gap is used for the gaps in dashed bar lines.
allow-span-bar(boolean)If false, no inter-staff bar line will be created below this bar line.
bar-extent(pair of numbers)The Y-extent of the actual bar line. This may differ from
Y-extentbecause it does not include the dots in a repeat bar line.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.
In combination with (span) bar lines, it is a string resembling the bar line appearance in ASCII form.
glyph-name(string)The glyph name within the font.
In the context of (span) bar lines, glyph-name represents a processed form of
glyph, where decisions about line breaking etc. are already taken.hair-thickness(number)Thickness of the thin line in a bar line, expressed as a multiple of the default staff-line thickness (i.e. the visual output is not influenced by changes to
Staff.StaffSymbol.thickness).kern(dimension, in staff space)The space between individual elements in any compound bar line, expressed as a multiple of the default staff-line thickness (i.e. the visual output is not influenced by changes to
Staff.StaffSymbol.thickness).rounded(boolean)Decide whether lines should be drawn rounded or not.
segno-kern(number)The space between the two thin lines of the segno bar line symbol, expressed as a multiple of the default staff-line thickness (i.e. the visual output is not influenced by changes to
Staff.StaffSymbol.thickness).thick-thickness(number)Thickness of the thick line in a bar line, expressed as a multiple of the default staff-line thickness (i.e. the visual output is not influenced by changes to
Staff.StaffSymbol.thickness).
has-span-bar(pair)A pair of grobs containing the span bars to be drawn below and above the staff. If no span bar is in a position, the respective element is set to
#f.
This grob interface is used in the following graphical object(s): BarLine and SpanBar.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Align a bass figure.
This grob interface is used in the following graphical object(s): BassFigureAlignment.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
A bass figure text.
implicit(boolean)Is this an implicit bass figure?
This grob interface is used in the following graphical object(s): BassFigure.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
A beam.
The beam-thickness property is the weight of beams, measured in staffspace. The direction property is not user-serviceable. Use the direction property of Stem instead.
The following properties may be set in the details list.
stem-length-demerit-factorDemerit factor used for inappropriate stem lengths.
secondary-beam-demeritDemerit used in quanting calculations for multiple beams.
region-sizeSize of region for checking quant scores.
beam-epsEpsilon for beam quant code to check for presence in gap.
stem-length-limit-penaltyPenalty for differences in stem lengths on a beam.
damping-direction-penaltyDemerit penalty applied when beam direction is different from damping direction.
hint-direction-penaltyDemerit penalty applied when beam direction is different from damping direction, but damping slope is <= round-to-zero-slope.
musical-direction-factorDemerit scaling factor for difference between beam slope and music slope.
ideal-slope-factorDemerit scaling factor for difference between beam slope and damping slope.
round-to-zero-slopeDamping slope which is considered zero for purposes of calculating direction penalties.
annotation(string)Annotate a grob for debug purposes.
auto-knee-gap(dimension, in staff space)If a gap is found between note heads where a horizontal beam fits and it is larger than this number, make a kneed beam.
beam-thickness(dimension, in staff space)Beam thickness, measured in
staff-spaceunits.beamed-stem-shorten(list)How much to shorten beamed stems, when their direction is forced. It is a list, since the value is different depending on the number of flags and beams.
beaming(pair)Pair of number lists. Each number list specifies which beams to make.
0is the central beam,1is the next beam toward the note, etc. This information is used to determine how to connect the beaming patterns from stem to stem inside a beam.break-overshoot(pair of numbers)How much does a broken spanner stick out of its bounds?
clip-edges(boolean)Allow outward pointing beamlets at the edges of beams?
collision-interfaces(list)A list of interfaces for which automatic beam-collision resolution is run.
collision-voice-only(boolean)Does automatic beam collsion apply only to the voice in which the beam was created?
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.
details(list)Alist of parameters for detailed grob behavior. More information on the allowed parameters for a grob can be found by looking at the top of the Internals Reference page for each interface having a
detailsproperty.direction(direction)If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.gap(dimension, in staff space)Size of a gap in a variable symbol.
gap-count(integer)Number of gapped beams for tremolo.
grow-direction(direction)Crescendo or decrescendo?
inspect-quants(pair of numbers)If debugging is set, set beam and slur position to a (quantized) position that is as close as possible to this value, and print the demerits for the inspected position in the output.
knee(boolean)Is this beam kneed?
length-fraction(number)Multiplier for lengths. Used for determining ledger lines and stem lengths.
neutral-direction(direction)Which direction to take in the center of the staff.
positions(pair of numbers)Pair of staff coordinates
(left . right), where both left and right are instaff-spaceunits of the current staff. For slurs, this value selects which slur candidate to use; if extreme positions are requested, the closest one is taken.skip-quanting(boolean)Should beam quanting be skipped?
X-positions(pair of numbers)Pair of X staff coordinates of a spanner in the form
(left . right), where both left and right are instaff-spaceunits of the current staff.
beam-segments(list)Internal representation of beam segments.
covered-grobs(array of grobs)Grobs that could potentially collide with a beam.
least-squares-dy(number)The ideal beam slope, without damping.
normal-stems(array of grobs)An array of visible stems.
quantized-positions(pair of numbers)The beam positions after quanting.
shorten(dimension, in staff space)The amount of space that a stem is shortened. Internally used to distribute beam shortening over stems.
stems(array of grobs)An array of stem objects.
This grob interface is used in the following graphical object(s): Beam.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
A doit or drop.
thickness(number)For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e. the visual output is influenced by changes to
Staff.StaffSymbol.thickness).
delta-position(number)The vertical position difference.
This grob interface is used in the following graphical object(s): BendAfter.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Object that is aligned on a break alignment.
break-align-symbols(list)A list of break-align symbols that determines which breakable items 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). Choices are listed in (internals-big-page)break-alignment-interface section ‘break-alignment-interface’ in Internals Reference.non-break-align-symbols(list)A list of symbols that determine which NON-break-aligned interfaces to align this to.
This grob interface is used in the following graphical object(s): BarNumber, MetronomeMark and RehearsalMark.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Breakable items.
break-align-anchor(number)Grobs aligned to this breakable item will have their X-offsets shifted by this number. In bar lines, for example, this is used to position grobs relative to the (visual) center of the bar line.
break-align-anchor-alignment(number)Read by
ly:break-aligned-interface::calc-extent-aligned-anchorfor aligning an anchor to a grob’s extent.break-align-symbol(symbol)This key is used for aligning, ordering, and spacing breakable items. See (internals-big-page)break-alignment-interface section ‘break-alignment-interface’ in Internals Reference.
space-alist(list)An alist that specifies distances from this grob to other breakable items, using the format:
'((break-align-symbol . (spacing-style . space)) (break-align-symbol . (spacing-style . space)) ...)Standard choices for
break-align-symbolare listed in (internals-big-page)break-alignment-interface section ‘break-alignment-interface’ in Internals Reference. Additionally, three special break-align symbols available tospace-alistare:
first-noteused when the grob is just left of the first note on a line
next-noteused when the grob is just left of any other note; if not set, the value of
first-notegets usedright-edgeused when the grob is the last item on the line (only compatible with the
extra-spacespacing style)Choices for
spacing-styleare:
extra-spacePut this much space between the two grobs. The space is stretchable when paired with
first-noteornext-note; otherwise it is fixed.minimum-spacePut at least this much space between the left sides of both grobs, without allowing them to collide. The space is stretchable when paired with
first-noteornext-note; otherwise it is fixed. Not compatible withright-edge.fixed-spaceOnly compatible with
first-noteandnext-note. Put this much fixed space between the grob and the note.minimum-fixed-spaceOnly compatible with
first-noteandnext-note. Put at least this much fixed space between the left side of the grob and the left side of the note, without allowing them to collide.semi-fixed-spaceOnly compatible with
first-noteandnext-note. Put this much space between the grob and the note, such that half of the space is fixed and half is stretchable.Rules for this spacing are much more complicated than this. See [Wanske] page 126–134, [Ross] page 143–147.
This grob interface is used in the following graphical object(s): Ambitus, AmbitusAccidental, BarLine, BreakAlignGroup, BreathingSign, Clef, CueClef, CueEndClef, Custos, DoublePercentRepeat, KeyCancellation, KeySignature, LeftEdge and TimeSignature.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
The object that performs break alignment.
Three interfaces deal specifically with break alignment:
Each of these interfaces supports grob properties that use break-align symbols, which are Scheme symbols that are used to specify the alignment, ordering, and spacing of certain notational elements (‘breakable’ items).
ambitus breathing-sign clef cue-clef cue-end-clef custos key-cancellation key-signature left-edge staff-bar time-signature |
break-align-orders(vector)This is a vector of 3 lists:
#(end-of-line unbroken start-of-line). Each list contains break-align symbols that specify an order of breakable items (see (internals-big-page)break-alignment-interface section ‘break-alignment-interface’ in Internals Reference).For example, this places time signatures before clefs:
\override Score.BreakAlignment.break-align-orders = #(make-vector 3 '(left-edge cue-end-clef ambitus breathing-sign time-signature clef cue-clef staff-bar key-cancellation key-signature custos))
positioning-done(boolean)Used to signal that a positioning element did its job. This ensures that a positioning is only done once.
This grob interface is used in the following graphical object(s): BreakAlignment.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
A breathing sign.
direction(direction)If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.
This grob interface is used in the following graphical object(s): BreathingSign.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
A chord label (name or fretboard).
begin-of-line-visible(boolean)Set to make
ChordNameorFretBoardbe visible only at beginning of line or at chord changes.
This grob interface is used in the following graphical object(s): ChordName and FretBoard.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
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.
In combination with (span) bar lines, it is a string resembling the bar line appearance in ASCII form.
glyph-name(string)The glyph name within the font.
In the context of (span) bar lines, glyph-name represents a processed form of
glyph, where decisions about line breaking etc. are already taken.non-default(boolean)Set for manually specified clefs and keys.
This grob interface is used in the following graphical object(s): Clef, CueClef and CueEndClef.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
The number describing transposition of the clef, placed below or above clef sign. Usually this is 8 (octave transposition) or 15 (two octaves), but LilyPond allows any integer here.
clef-alignments(list)An alist of parent-alignments that should be used for clef modifiers with various clefs
This grob interface is used in the following graphical object(s): ClefModifier.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
A place holder for the cluster spanner to determine the vertical extents of a cluster spanner at this X position.
positions(pair of numbers)Pair of staff coordinates
(left . right), where both left and right are instaff-spaceunits of the current staff. For slurs, this value selects which slur candidate to use; if extreme positions are requested, the closest one is taken.
This grob interface is used in the following graphical object(s): ClusterSpannerBeacon.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
A graphically drawn musical cluster.
padding adds to the vertical extent of the shape (top and bottom).
The property style controls the shape of cluster segments. Valid values include leftsided-stairs, rightsided-stairs, centered-stairs, and ramp.
padding(dimension, in staff space)Add this much extra space between objects that are next to each other.
style(symbol)This setting determines in what style a grob is typeset. Valid choices depend on the
stencilcallback reading this property.
columns(array of grobs)An array of grobs, typically containing
PaperColumnorNoteColumnobjects.
This grob interface is used in the following graphical object(s): ClusterSpanner.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
A custos object. style can have four valid values: mensural, vaticana, medicaea, and hufnagel. mensural is the default style.
neutral-direction(direction)Which direction to take in the center of the staff.
neutral-position(number)Position (in half staff spaces) where to flip the direction of custos stem.
style(symbol)This setting determines in what style a grob is typeset. Valid choices depend on the
stencilcallback reading this property.
This grob interface is used in the following graphical object(s): Custos.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Group dot objects so they form a column, and position dots so they do not clash with staff lines.
chord-dots-limit(integer)Limits the column of dots on each chord to the height of the chord plus
chord-dots-limitstaff-positions.direction(direction)If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.
dots(array of grobs)Multiple
Dotsobjects.note-collision(graphical (layout) object)The
NoteCollisionobject of a dot column.positioning-done(boolean)Used to signal that a positioning element did its job. This ensures that a positioning is only done once.
This grob interface is used in the following graphical object(s): DotColumn.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
The dots to go with a notehead or rest. direction sets the preferred direction to move in case of staff line collisions. style defaults to undefined, which is normal 19th/20th century traditional style. Set style to vaticana for ancient type dots.
direction(direction)If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.dot-count(integer)The number of dots.
style(symbol)This setting determines in what style a grob is typeset. Valid choices depend on the
stencilcallback reading this property.
This grob interface is used in the following graphical object(s): Dots.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Any kind of loudness sign.
This grob interface is used in the following graphical object(s): DynamicLineSpanner, DynamicText, DynamicTextSpanner and Hairpin.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Dynamic line spanner.
avoid-slur(symbol)Method of handling slur collisions. Choices are
inside,outside,around, andignore.insideadjusts the slur if needed to keep the grob inside the slur.outsidemoves the grob vertically to the outside of the slur.aroundmoves the grob vertically to the outside of the slur only if there is a collision.ignoredoes not move either. In grobs whose notational significance depends on vertical position (such as accidentals, clefs, etc.),outsideandaroundbehave likeignore.
This grob interface is used in the following graphical object(s): DynamicLineSpanner.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
An absolute text dynamic.
right-padding(dimension, in staff space)Space to insert on the right side of an object (e.g., between note and its accidentals).
This grob interface is used in the following graphical object(s): DynamicText.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Dynamic text spanner.
text(markup)Text markup. See (notation-big-page)Formatting text section ‘Formatting text’ in Notation Reference.
This grob interface is used in the following graphical object(s): DynamicTextSpanner.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Brackets alongside bass figures.
bracket-flare(pair of numbers)A pair of numbers specifying how much edges of brackets should slant outward. Value
0.0means straight edges.dashed-edge(boolean)If set, the bracket edges are dashed like the rest of the bracket.
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 on both sides a hairpin or text-spanner such as a pedal bracket. Positive values shorten the hairpin or text-spanner, while negative values lengthen it.
thickness(number)For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e. the visual output is influenced by changes to
Staff.StaffSymbol.thickness).
elements(array of grobs)An array of grobs; the type is depending on the grob where this is set in.
This grob interface is used in the following graphical object(s): BassFigureBracket.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
An episema line.
This grob interface is used in the following graphical object(s): Episema.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
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)For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e. the visual output is influenced by changes to
Staff.StaffSymbol.thickness).
figures(array of grobs)Figured bass objects for continuation line.
This grob interface is used in the following graphical object(s): BassFigureContinuation.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
A fingering instruction.
This grob interface is used in the following graphical object(s): Fingering.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Makes sure that fingerings placed laterally do not collide and that they are flush if necessary.
padding(dimension, in staff space)Add this much extra space between objects that are next to each other.
snap-radius(number)The maximum distance between two objects that will cause them to snap to alignment along an axis.
positioning-done(boolean)Used to signal that a positioning element did its job. This ensures that a positioning is only done once.
This grob interface is used in the following graphical object(s): FingeringColumn.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
A flag that gets attached to a stem.The style property is symbol determining what style of flag glyph is typeset on a Stem. Valid options include '() for standard flags, 'mensural and 'no-flag, which switches off the flag.
glyph-name(string)The glyph name within the font.
In the context of (span) bar lines, glyph-name represents a processed form of
glyph, where decisions about line breaking etc. are already taken.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
stencilcallback reading this property.
This grob interface is used in the following graphical object(s): Flag.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Any symbol that is typeset through fixed sets of glyphs, (i.e., fonts).
font-encoding(symbol)The font encoding is the broadest category for selecting a font. Currently, only lilypond’s system fonts (Emmentaler) are using this property. Available values are
fetaMusic(Emmentaler),fetaBraces,fetaText(Emmentaler).font-family(symbol)The font family is the broadest category for selecting text fonts. Options include:
sans,roman.font-features(list)Opentype features.
font-name(string)Specifies a file name (without extension) of the font to load. This setting overrides selection using
font-family,font-seriesandfont-shape.font-series(symbol)Select the series of a font. Choices include
medium,bold,bold-narrow, etc.font-shape(symbol)Select the shape of a font. Choices include
upright,italic,caps.font-size(number)The font size, compared to the ‘normal’ size.
0is style-sheet’s normal size,-1is smaller,+1is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. If the context propertyfontSizeis set, its value is added to this before the glyph is printed. Fractional values are allowed.
font(font metric)A cached font metric object.
This grob interface is used in the following graphical object(s): Accidental, AccidentalCautionary, AccidentalSuggestion, AmbitusAccidental, AmbitusLine, AmbitusNoteHead, Arpeggio, BalloonTextItem, BalloonTextSpanner, BarLine, BarNumber, BassFigure, Beam, BreathingSign, ChordName, Clef, ClefModifier, CombineTextScript, CueClef, CueEndClef, Custos, Dots, DoublePercentRepeat, DoublePercentRepeatCounter, DoubleRepeatSlash, DynamicText, DynamicTextSpanner, Episema, Fingering, Flag, FootnoteItem, FootnoteSpanner, FretBoard, HorizontalBracketText, InstrumentName, InstrumentSwitch, KeyCancellation, KeySignature, KievanLigature, LyricHyphen, LyricText, MeasureCounter, MeasureSpanner, MensuralLigature, MetronomeMark, MultiMeasureRest, MultiMeasureRestNumber, MultiMeasureRestScript, MultiMeasureRestText, NonMusicalPaperColumn, NoteHead, NoteName, OttavaBracket, PaperColumn, ParenthesesItem, PercentRepeat, PercentRepeatCounter, RehearsalMark, Rest, Script, SostenutoPedal, SpanBar, StanzaNumber, StringNumber, StrokeFinger, SustainPedal, SystemStartBrace, SystemStartBracket, SystemStartSquare, TabNoteHead, TextScript, TextSpanner, TimeSignature, TrillPitchAccidental, TrillPitchGroup, TrillPitchHead, TrillSpanner, TupletNumber, UnaCordaPedal, VaticanaLigature and VoltaBracket.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Make a footnote.
automatically-numbered(boolean)If set, footnotes are automatically numbered.
footnote(boolean)Should this be a footnote or in-note?
footnote-text(markup)A footnote for the grob.
numbering-assertion-function(any type)The function used to assert that footnotes are receiving correct automatic numbers.
This grob interface is used in the following graphical object(s): FootnoteItem and FootnoteSpanner.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Make a footnote spanner.
footnote-text(markup)A footnote for the grob.
spanner-placement(direction)The place of an annotation on a spanner.
LEFTis for the first spanner, andRIGHTis for the last.CENTERwill place it on the broken spanner that falls closest to the center of the length of the entire spanner, although this behavior is unpredictable in situations with lots of rhythmic diversity. For predictable results, useLEFTandRIGHT.
This grob interface is used in the following graphical object(s): FootnoteSpanner.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
A fret diagram
align-dir(direction)Which side to align?
-1: left side,0: around center of width,1: right side.dot-placement-list(list)List consisting of
(description string-number fret-number finger-number)entries used to define fret diagrams.fret-diagram-details(list)An alist of detailed grob properties for fret diagrams. Each alist entry consists of a
(property . value)pair. The properties which can be included infret-diagram-detailsinclude the following:
barre-type– Type of barre indication used. Choices includecurved,straight, andnone. Defaultcurved.capo-thickness– Thickness of capo indicator, in multiples of fret-space. Default value 0.5.dot-color– Color of dots. Options includeblackandwhite. Defaultblack.dot-label-font-mag– Magnification for font used to label fret dots. Default value 1.dot-position– Location of dot in fret space. Default 0.6 for dots without labels, 0.95-dot-radiusfor dots with labels.dot-radius– Radius of dots, in terms of fret spaces. Default value 0.425 for labeled dots, 0.25 for unlabeled dots.finger-code– Code for the type of fingering indication used. Options includenone,in-dot, andbelow-string. Defaultnonefor markup fret diagrams,below-stringforFretBoardsfret diagrams.fret-count– The number of frets. Default 4.fret-distance– Multiplier to adjust the distance between frets. Default 1.0.fret-label-custom-format– The format string to be used label the lowest fret number, whennumber-typeequals tocustom. Default "~a".fret-label-font-mag– The magnification of the font used to label the lowest fret number. Default 0.5.fret-label-vertical-offset– The offset of the fret label from the center of the fret in direction parallel to strings. Default 0.fret-label-horizontal-offset– The offset of the fret label from the center of the fret in direction orthogonal to strings. Default 0.handedness– Print the fret-diagram left- or right-handed.-1,LEFTfor left ;1,RIGHTfor right. DefaultRIGHT.paren-padding– The padding for the parenthesis. Default 0.05.label-dir– Side to which the fret label is attached.-1,LEFT, orDOWNfor left or down;1,RIGHT, orUPfor right or up. DefaultRIGHT.mute-string– Character string to be used to indicate muted string. Default"x".number-type– Type of numbers to use in fret label. Choices includeroman-lower,roman-upper,arabicandcustom. In the later case, the format string is supplied by thefret-label-custom-formatproperty. Defaultroman-lower.open-string– Character string to be used to indicate open string. Default"o".orientation– Orientation of fret-diagram. Options includenormal,landscape, andopposing-landscape. Defaultnormal.string-count– The number of strings. Default 6.string-distance– Multiplier to adjust the distance between strings. Default 1.0.string-label-font-mag– The magnification of the font used to label fingerings at the string, rather than in the dot. Default value 0.6 fornormalorientation, 0.5 forlandscapeandopposing-landscape.string-thickness-factor– Factor for changing thickness of each string in the fret diagram. Thickness of string k is given bythickness* (1+string-thickness-factor) ^ (k-1). Default 0.top-fret-thickness– The thickness of the top fret line, as a multiple of the standard thickness. Default value 3.xo-font-magnification– Magnification used for mute and open string indicators. Default value 0.5.xo-padding– Padding for open and mute indicators from top fret. Default value 0.25.size(number)The ratio of the size of the object to its default size.
thickness(number)For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e. the visual output is influenced by changes to
Staff.StaffSymbol.thickness).
This grob interface is used in the following graphical object(s): FretBoard.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
A glissando.
glissando-index(integer)The index of a glissando in its note column.
This grob interface is used in the following graphical object(s): Glissando.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
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(array of grobs)An array of grobs, typically containing
PaperColumnorNoteColumnobjects.
This grob interface is used in the following graphical object(s): GraceSpacing.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
A gregorian ligature.
ascendens(boolean)Is this neume of ascending type?
auctum(boolean)Is this neume liquescentically augmented?
cavum(boolean)Is this neume outlined?
context-info(integer)Within a ligature, the final glyph or shape of a head may be affected by the left and/or right neighbour head.
context-infoholds for each head such information about the left and right neighbour, encoded as a bit mask.deminutum(boolean)Is this neume deminished?
descendens(boolean)Is this neume of descendent type?
inclinatum(boolean)Is this neume an inclinatum?
linea(boolean)Attach vertical lines to this neume?
oriscus(boolean)Is this neume an oriscus?
pes-or-flexa(boolean)Shall this neume be joined with the previous head?
prefix-set(number)A bit mask that holds all Gregorian head prefixes, such as
\virgaor\quilisma.quilisma(boolean)Is this neume a quilisma?
stropha(boolean)Is this neume a stropha?
virga(boolean)Is this neume a virga?
This grob interface is used in the following graphical object(s): NoteHead.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
A line that is spanned between grid-points.
thickness(number)For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e. the visual output is influenced by changes to
Staff.StaffSymbol.thickness).
elements(array of grobs)An array of grobs; the type is depending on the grob where this is set in.
This grob interface is used in the following graphical object(s): GridLine.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
A spanning point for grid lines.
This grob interface is used in the following graphical object(s): GridPoint.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
A grob represents a piece of music notation.
All grobs have an X and Y position on the page. These X and Y positions are stored in a relative format, thus they can easily be combined by stacking them, hanging one grob to the side of another, or coupling them into grouping objects.
Each grob has a reference point (a.k.a. parent): The position of a grob is stored relative to that reference point. For example, the X reference point of a staccato dot usually is the note head that it applies to. When the note head is moved, the staccato dot moves along automatically.
A grob is often associated with a symbol, but some grobs do not print any symbols. They take care of grouping objects. For example, there is a separate grob that stacks staves vertically. The NoteCollision object is also an abstract grob: It only moves around chords, but doesn’t print anything.
Grobs have properties (Scheme variables) that can be read and set. Two types of them exist: immutable and mutable. Immutable variables define the default style and behavior. They are shared between many objects. They can be changed using \override and \revert. Mutable properties are variables that are specific to one grob. Typically, lists of other objects, or results from computations are stored in mutable properties. In particular, every call to ly:grob-set-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.
after-line-breaking(boolean)Dummy property, used to trigger callback for
after-line-breaking.avoid-slur(symbol)Method of handling slur collisions. Choices are
inside,outside,around, andignore.insideadjusts the slur if needed to keep the grob inside the slur.outsidemoves the grob vertically to the outside of the slur.aroundmoves the grob vertically to the outside of the slur only if there is a collision.ignoredoes not move either. In grobs whose notational significance depends on vertical position (such as accidentals, clefs, etc.),outsideandaroundbehave likeignore.before-line-breaking(boolean)Dummy property, used to trigger a callback function.
color(color)The color of this grob.
extra-offset(pair of numbers)A pair representing an offset. This offset is added just before outputting the symbol, so the typesetting engine is completely oblivious to it. The values are measured in
staff-spaceunits of the staff’sStaffSymbol.footnote-music(music)Music creating a footnote.
forced-spacing(number)Spacing forced between grobs, used in various ligature engravers.
horizontal-skylines(pair of skylines)Two skylines, one to the left and one to the right of this grob.
id(string)An id string for the grob.
layer(integer)An integer which determines the order of printing objects. Objects with the lowest value of layer are drawn first, then objects with progressively higher values are drawn, so objects with higher values overwrite objects with lower values. By default most objects are assigned a layer value of 1.
minimum-X-extent(pair of numbers)Minimum size of an object in X dimension, measured in
staff-spaceunits.minimum-Y-extent(pair of numbers)Minimum size of an object in Y dimension, measured in
staff-spaceunits.output-attributes(list)An alist of attributes for the grob, to be included in output files. When the SVG typesetting backend is used, the attributes are assigned to a group (<g>) containing all of the stencils that comprise a given grob. For example,
'((id . 123) (class . foo) (data-whatever . “bar”))will produce<g id=“123” class=“foo” data-whatever=“bar”> … </g>. In the Postscript backend, where there is no way to group items, the setting of the output-attributes property will have no effect.parenthesis-friends(list)A list of Grob types, as symbols. When parentheses enclose a Grob that has ’parenthesis-friends, the parentheses widen to include any child Grobs with type among ’parenthesis-friends.
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.skyline-horizontal-padding(number)For determining the vertical distance between two staves, it is possible to have a configuration which would result in a tight interleaving of grobs from the top staff and the bottom staff. The larger this parameter is, the farther apart the staves are placed in such a configuration.
springs-and-rods(boolean)Dummy variable for triggering spacing routines.
stencil(stencil)The symbol to print.
transparent(boolean)This makes the grob invisible.
vertical-skylines(pair of skylines)Two skylines, one above and one below this grob.
whiteout(boolean-or-number)If a number or true, the grob is printed over a white background to white-out underlying material, if the grob is visible. A number indicates how far the white background extends beyond the bounding box of the grob as a multiple of the staff-line thickness. The
LyricHyphengrob uses a special implementation of whiteout: A positive number indicates how far the white background extends beyond the bounding box in multiples ofline-thickness. The shape of the background is determined bywhiteout-style. Usually#fby default.whiteout-style(symbol)Determines the shape of the
whiteoutbackground. Available are'outline,'rounded-box, and the default'box. There is one exception: Use'specialforLyricHyphen.X-extent(pair of numbers)Extent (size) in the X direction, measured in staff-space units, relative to object’s reference point.
X-offset(number)The horizontal amount that this object is moved relative to its X-parent.
Y-extent(pair of numbers)Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
Y-offset(number)The vertical amount that this object is moved relative to its Y-parent.
axis-group-parent-X(graphical (layout) object)Containing X axis group.
axis-group-parent-Y(graphical (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)True for grobs whose
Y-extentdepends on inter-staff spacing. The extent is measured relative to the grobs’s parent staff (more generally, itsVerticalAxisGroup) so this boolean flags grobs that are not rigidly fixed to their parent staff. Beams that join notes from two staves arecross-staff. Grobs that are positioned around such beams are alsocross-staff. Grobs that are grouping objects, however, likeVerticalAxisGroupswill not in general be markedcross-staffwhen some of the members of the group arecross-staff.interfaces(list)A list of symbols indicating the interfaces supported by this object. It is initialized from the
metafield.meta(list)Provide meta information. It is an alist with the entries
nameandinterfaces.pure-Y-offset-in-progress(boolean)A debugging aid for catching cyclic dependencies.
staff-symbol(graphical (layout) object)The staff symbol grob that we are in.
This grob interface is used in the following graphical object(s): Accidental, AccidentalCautionary, AccidentalPlacement, AccidentalSuggestion, Ambitus, AmbitusAccidental, AmbitusLine, AmbitusNoteHead, Arpeggio, BalloonTextItem, BalloonTextSpanner, BarLine, BarNumber, BassFigure, BassFigureAlignment, BassFigureAlignmentPositioning, BassFigureBracket, BassFigureContinuation, BassFigureLine, Beam, BendAfter, BreakAlignGroup, BreakAlignment, BreathingSign, ChordName, Clef, ClefModifier, ClusterSpanner, ClusterSpannerBeacon, CombineTextScript, CueClef, CueEndClef, Custos, DotColumn, Dots, DoublePercentRepeat, DoublePercentRepeatCounter, DoubleRepeatSlash, DynamicLineSpanner, DynamicText, DynamicTextSpanner, Episema, Fingering, FingeringColumn, Flag, FootnoteItem, FootnoteSpanner, FretBoard, Glissando, GraceSpacing, GridLine, GridPoint, Hairpin, HorizontalBracket, HorizontalBracketText, InstrumentName, InstrumentSwitch, KeyCancellation, KeySignature, KievanLigature, LaissezVibrerTie, LaissezVibrerTieColumn, LedgerLineSpanner, LeftEdge, LigatureBracket, LyricExtender, LyricHyphen, LyricSpace, LyricText, MeasureCounter, MeasureGrouping, MeasureSpanner, MelodyItem, MensuralLigature, MetronomeMark, MultiMeasureRest, MultiMeasureRestNumber, MultiMeasureRestScript, MultiMeasureRestText, NonMusicalPaperColumn, NoteCollision, NoteColumn, NoteHead, NoteName, NoteSpacing, OttavaBracket, PaperColumn, ParenthesesItem, PercentRepeat, PercentRepeatCounter, PhrasingSlur, PianoPedalBracket, RehearsalMark, RepeatSlash, RepeatTie, RepeatTieColumn, Rest, RestCollision, Script, ScriptColumn, ScriptRow, Slur, SostenutoPedal, SostenutoPedalLineSpanner, SpacingSpanner, SpanBar, SpanBarStub, StaffGrouper, StaffSpacing, StaffSymbol, StanzaNumber, Stem, StemStub, 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, VoltaBracketSpanner and VowelTransition.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
A hairpin crescendo or decrescendo.
bound-padding(number)The amount of padding to insert around spanner bounds.
broken-bound-padding(number)The amount of padding to insert when a spanner is broken at a line break.
circled-tip(boolean)Put a circle at start/end of hairpins (al/del niente).
grow-direction(direction)Crescendo or decrescendo?
height(dimension, in staff space)Height of an object in
staff-spaceunits.shorten-pair(pair of numbers)The lengths to shorten on both sides a hairpin or text-spanner such as a pedal bracket. Positive values shorten the hairpin or text-spanner, while negative values lengthen it.
adjacent-spanners(array of grobs)An array of directly neighboring dynamic spanners.
concurrent-hairpins(array of grobs)All concurrent hairpins.
This grob interface is used in the following graphical object(s): Hairpin.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
A group spanner that keeps track of interesting items. If it doesn’t contain any after line breaking, it removes itself and all its children. Greater control can be exercised via remove-layer which can prioritize layers so only the lowest-numbered non-empty layer is retained; make the layer independent of the group; or make it dependent on any other member of the group
remove-empty(boolean)If set, remove group if it contains no interesting items.
remove-first(boolean)Remove the first staff of an orchestral score?
remove-layer(index or symbol)When set as a positive integer, the
Keep_alive_together_engraverremoves allVerticalAxisGroupgrobs with aremove-layerlarger than the smallest retainedremove-layer. Set to#fto make a layer independent of theKeep_alive_together_engraver. Set to'(), the layer does not participate in the layering decisions. The property can also be set as a symbol for common behaviors:#'anyto keep the layer alive with any other layer in the group;#'aboveor#'belowto keep the layer alive with the context immediately before or after it, respectively.
important-column-ranks(vector)A cache of columns that contain
items-worth-livingdata.items-worth-living(array of grobs)An array of interesting items. If empty in a particular staff, then that staff is erased.
keep-alive-with(array of grobs)An array of other
VerticalAxisGroups. If any of them are alive, then we will stay alive.make-dead-when(array of grobs)An array of other
VerticalAxisGroups. If any of them are alive, then we will turn dead.
This grob interface is used in the following graphical object(s): VerticalAxisGroup.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
A horizontal bracket encompassing notes.
bracket-flare(pair of numbers)A pair of numbers specifying how much edges of brackets should slant outward. Value
0.0means straight edges.connect-to-neighbor(pair)Pair of booleans, indicating whether this grob looks as a continued break.
dashed-edge(boolean)If set, the bracket edges are dashed like the rest of the bracket.
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 on both sides a hairpin or text-spanner such as a pedal bracket. Positive values shorten the hairpin or text-spanner, while negative values lengthen it.
bracket-text(graphical (layout) object)The text for an analysis bracket.
columns(array of grobs)An array of grobs, typically containing
PaperColumnorNoteColumnobjects.
This grob interface is used in the following graphical object(s): HorizontalBracket, OttavaBracket and VoltaBracket.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Label for an analysis bracket.
bracket(graphical (layout) object)The bracket for a number.
columns(array of grobs)An array of grobs, typically containing
PaperColumnorNoteColumnobjects.
This grob interface is used in the following graphical object(s): HorizontalBracketText.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
An inlined accidental (i.e. normal accidentals, cautionary accidentals).
This grob interface is used in the following graphical object(s): Accidental, AccidentalCautionary and TrillPitchAccidental.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Instrument-specific markup (like fret boards or harp pedal diagrams).
fret-diagram-details(list)An alist of detailed grob properties for fret diagrams. Each alist entry consists of a
(property . value)pair. The properties which can be included infret-diagram-detailsinclude the following:
barre-type– Type of barre indication used. Choices includecurved,straight, andnone. Defaultcurved.capo-thickness– Thickness of capo indicator, in multiples of fret-space. Default value 0.5.dot-color– Color of dots. Options includeblackandwhite. Defaultblack.dot-label-font-mag– Magnification for font used to label fret dots. Default value 1.dot-position– Location of dot in fret space. Default 0.6 for dots without labels, 0.95-dot-radiusfor dots with labels.dot-radius– Radius of dots, in terms of fret spaces. Default value 0.425 for labeled dots, 0.25 for unlabeled dots.finger-code– Code for the type of fingering indication used. Options includenone,in-dot, andbelow-string. Defaultnonefor markup fret diagrams,below-stringforFretBoardsfret diagrams.fret-count– The number of frets. Default 4.fret-distance– Multiplier to adjust the distance between frets. Default 1.0.fret-label-custom-format– The format string to be used label the lowest fret number, whennumber-typeequals tocustom. Default "~a".fret-label-font-mag– The magnification of the font used to label the lowest fret number. Default 0.5.fret-label-vertical-offset– The offset of the fret label from the center of the fret in direction parallel to strings. Default 0.fret-label-horizontal-offset– The offset of the fret label from the center of the fret in direction orthogonal to strings. Default 0.handedness– Print the fret-diagram left- or right-handed.-1,LEFTfor left ;1,RIGHTfor right. DefaultRIGHT.paren-padding– The padding for the parenthesis. Default 0.05.label-dir– Side to which the fret label is attached.-1,LEFT, orDOWNfor left or down;1,RIGHT, orUPfor right or up. DefaultRIGHT.mute-string– Character string to be used to indicate muted string. Default"x".number-type– Type of numbers to use in fret label. Choices includeroman-lower,roman-upper,arabicandcustom. In the later case, the format string is supplied by thefret-label-custom-formatproperty. Defaultroman-lower.open-string– Character string to be used to indicate open string. Default"o".orientation– Orientation of fret-diagram. Options includenormal,landscape, andopposing-landscape. Defaultnormal.string-count– The number of strings. Default 6.string-distance– Multiplier to adjust the distance between strings. Default 1.0.string-label-font-mag– The magnification of the font used to label fingerings at the string, rather than in the dot. Default value 0.6 fornormalorientation, 0.5 forlandscapeandopposing-landscape.string-thickness-factor– Factor for changing thickness of each string in the fret diagram. Thickness of string k is given bythickness* (1+string-thickness-factor) ^ (k-1). Default 0.top-fret-thickness– The thickness of the top fret line, as a multiple of the standard thickness. Default value 3.xo-font-magnification– Magnification used for mute and open string indicators. Default value 0.5.xo-padding– Padding for open and mute indicators from top fret. Default value 0.25.graphical(boolean)Display in graphical (vs. text) form.
harp-pedal-details(list)An alist of detailed grob properties for harp pedal diagrams. Each alist entry consists of a
(property . value)pair. The properties which can be included in harp-pedal-details include the following:
box-offset– Vertical shift of the center of flat/sharp pedal boxes above/below the horizontal line. Default value 0.8.box-width– Width of each pedal box. Default value 0.4.box-height– Height of each pedal box. Default value 1.0.space-before-divider– Space between boxes before the first divider (so that the diagram can be made symmetric). Default value 0.8.space-after-divider– Space between boxes after the first divider. Default value 0.8.circle-thickness– Thickness (in unit of the line-thickness) of the ellipse around circled pedals. Default value 0.5.circle-x-padding– Padding in X direction of the ellipse around circled pedals. Default value 0.15.circle-y-padding– Padding in Y direction of the ellipse around circled pedals. Default value 0.2.size(number)The ratio of the size of the object to its default size.
thickness(number)For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e. the visual output is influenced by changes to
Staff.StaffSymbol.thickness).
This grob interface is used in the following graphical object(s): TextScript.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Grobs can be distinguished in their role in the horizontal spacing. Many grobs define constraints on the spacing by their sizes, for example, note heads, clefs, stems, and all other symbols with a fixed shape. These grobs form a subtype called Item.
Some items need special treatment for line breaking. For example, a clef is normally only printed at the start of a line (i.e., after a line break). To model this, ‘breakable’ items (clef, key signature, bar lines, etc.) are copied twice. Then we have three versions of each breakable item: one version if there is no line break, one version that is printed before the line break (at the end of a system), and one version that is printed after the line break.
Whether these versions are visible and take up space is determined by the outcome of the break-visibility grob property, which is a function taking a direction (-1, 0 or 1) as an argument. It returns a cons of booleans, signifying whether this grob should be transparent and have no extent.
The following variables for break-visibility are predefined:
grob will show: before no after
break break break
all-invisible no no no
begin-of-line-visible no no yes
end-of-line-visible yes no no
all-visible yes yes yes
begin-of-line-invisible yes yes no
end-of-line-invisible no yes yes
center-invisible yes no yes
|
break-visibility(vector)A vector of 3 booleans,
#(end-of-line unbroken begin-of-line).#tmeans visible,#fmeans killed.extra-spacing-height(pair of numbers)In the horizontal spacing problem, we increase the height of each item by this amount (by adding the ‘car’ to the bottom of the item and adding the ‘cdr’ to the top of the item). In order to make a grob infinitely high (to prevent the horizontal spacing problem from placing any other grobs above or below this grob), set this to
(-inf.0 . +inf.0).extra-spacing-width(pair of numbers)In the horizontal spacing problem, we pad each item by this amount (by adding the ‘car’ on the left side of the item and adding the ‘cdr’ on the right side of the item). In order to make a grob take up no horizontal space at all, set this to
(+inf.0 . -inf.0).non-musical(boolean)True if the grob belongs to a
NonMusicalPaperColumn.
This grob interface is used in the following graphical object(s): Accidental, AccidentalCautionary, AccidentalPlacement, AccidentalSuggestion, Ambitus, AmbitusAccidental, AmbitusLine, AmbitusNoteHead, Arpeggio, BalloonTextItem, BarLine, BarNumber, BassFigure, BassFigureBracket, BreakAlignGroup, BreakAlignment, BreathingSign, ChordName, Clef, ClefModifier, ClusterSpannerBeacon, CombineTextScript, CueClef, CueEndClef, Custos, DotColumn, Dots, DoublePercentRepeat, DoublePercentRepeatCounter, DoubleRepeatSlash, DynamicText, Fingering, FingeringColumn, Flag, FootnoteItem, FretBoard, GridLine, GridPoint, InstrumentSwitch, KeyCancellation, KeySignature, LaissezVibrerTie, LaissezVibrerTieColumn, LeftEdge, LyricText, MelodyItem, MetronomeMark, NonMusicalPaperColumn, NoteCollision, NoteColumn, NoteHead, NoteName, NoteSpacing, PaperColumn, ParenthesesItem, RehearsalMark, RepeatSlash, RepeatTie, RepeatTieColumn, Rest, RestCollision, Script, ScriptColumn, ScriptRow, SostenutoPedal, SpanBar, SpanBarStub, StaffSpacing, StanzaNumber, Stem, StemStub, StemTremolo, StringNumber, StrokeFinger, SustainPedal, TabNoteHead, TextScript, TimeSignature, TrillPitchAccidental, TrillPitchGroup, TrillPitchHead and UnaCordaPedal.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
A key cancellation.
This grob interface is used in the following graphical object(s): KeyCancellation.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
A group of accidentals, to be printed as signature sign.
alteration-alist(list)List of
(pitch . accidental)pairs for key signature.flat-positions(list)Flats in key signatures are placed within the specified ranges of staff-positions. The general form is a list of pairs, with one pair for each type of clef, in order of the staff-position at which each clef places C:
(alto treble tenor soprano baritone mezzosoprano bass). If the list contains a single element it applies for all clefs. A single number in place of a pair sets accidentals within the octave ending at that staff-position.glyph-name-alist(list)An alist of key-string pairs.
non-default(boolean)Set for manually specified clefs and keys.
padding(dimension, in staff space)Add this much extra space between objects that are next to each other.
padding-pairs(list)An alist mapping
(name . name)to distances.sharp-positions(list)Sharps in key signatures are placed within the specified ranges of staff-positions. The general form is a list of pairs, with one pair for each type of clef, in order of the staff-position at which each clef places C:
(alto treble tenor soprano baritone mezzosoprano bass). If the list contains a single element it applies for all clefs. A single number in place of a pair sets accidentals within the octave ending at that staff-position.
c0-position(integer)An integer indicating the position of middle C.
This grob interface is used in the following graphical object(s): KeyCancellation and KeySignature.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
A kievan ligature.
padding(dimension, in staff space)Add this much extra space between objects that are next to each other.
primitive(integer)A pointer to a ligature primitive, i.e., an item similar to a note head that is part of a ligature.
This grob interface is used in the following graphical object(s): KievanLigature.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
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. The thickness of ledger lines is controlled by the ledger-line-thickness property of the StaffSymbol grob.
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.
note-heads(array of grobs)An array of note head grobs.
This grob interface is used in the following graphical object(s): LedgerLineSpanner.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Objects that need ledger lines, typically note heads. See also ledger-line-spanner-interface.
no-ledgers(boolean)If set, don’t draw ledger lines on this object.
This grob interface is used in the following graphical object(s): AmbitusNoteHead, NoteHead and TrillPitchHead.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
A bracket indicating a ligature in the original edition.
height(dimension, in staff space)Height of an object in
staff-spaceunits.thickness(number)For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e. the visual output is influenced by changes to
Staff.StaffSymbol.thickness).width(dimension, in staff space)The width of a grob measured in staff space.
This grob interface is not used in any graphical object.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
A note head that can become part of a ligature.
This grob interface is used in the following graphical object(s): NoteHead.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
A ligature.
This grob interface is not used in any graphical object.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Generic line objects. Any object using lines supports this. The property style can be line, dashed-line, trill, dotted-line, zigzag or none (a transparent line).
For dashed-line, the length of the dashes is tuned with dash-fraction. If the latter is set to 0, a dotted line is produced.
arrow-length(number)Arrow length.
arrow-width(number)Arrow width.
dash-fraction(number)Size of the dashes, relative to
dash-period. Should be between0.1and1.0(continuous line). If set to0.0, a dotted line is produceddash-period(number)The length of one dash together with whitespace. If negative, no line is drawn at all.
style(symbol)This setting determines in what style a grob is typeset. Valid choices depend on the
stencilcallback reading this property.thickness(number)For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e. the visual output is influenced by changes to
Staff.StaffSymbol.thickness).zigzag-length(dimension, in staff space)The length of the lines of a zigzag, relative to
zigzag-width. A value of1gives 60-degree zigzags.zigzag-width(dimension, in staff space)The width of one zigzag squiggle. This number is adjusted slightly so that the glissando line can be constructed from a whole number of squiggles.
This grob interface is used in the following graphical object(s): DynamicTextSpanner, Episema, Glissando, Hairpin, HorizontalBracket, LigatureBracket, MeasureSpanner, OttavaBracket, PianoPedalBracket, TextSpanner, TrillSpanner, TupletBracket, VoiceFollower, VoltaBracket and VowelTransition.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Generic line drawn between two objects, e.g., for use with glissandi.
bound-details is a nested alist. It’s possible to specify settings for the sub-properties: left, left-broken, right and right-broken.
Values for the following keys may be set:
YSets the Y coordinate of the end point, in staff-spaces offset from the staff center line. By default, it is the center of the bound object, so a glissando points to the vertical center of the note head. For horizontal spanners, such as text spanners and trill spanners, it is hardcoded to 0.
attach-dirDetermines where the line starts and ends in the X direction, relative to the bound object. So, a value of -1 (or LEFT) makes the line start/end at the left side of the note head it is attached to.
XThis is the absolute X coordinate of the end point. Usually computed on the fly.
stencilLine spanners may have symbols at the beginning or end, which is contained in this sub-property. For internal use.
textThis is a markup that is evaluated to yield the stencil.
stencil-align-dir-ystencil-offsetWithout setting one of these, the stencil is simply put at the end-point, centered on the line, as defined by the X and Y sub-properties. Setting stencil-align-dir-y moves the symbol at the edge vertically relative to the end point of the line. With stencil-offset, expecting a number pair, the stencil is moved along the X axis according to the first value, the second value moves the stencil along the Y axis.
arrowProduces an arrowhead at the end-points of the line.
paddingControls the space between the specified end point of the line and the actual end. Without padding, a glissando would start and end in the center of each note head.
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.
simple-Y(boolean)Should the Y placement of a spanner disregard changes in system heights?
thickness(number)For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e. the visual output is influenced by changes to
Staff.StaffSymbol.thickness).to-barline(boolean)If true, the spanner will stop at the bar line just before it would otherwise stop.
note-columns(array of grobs)An array of
NoteColumngrobs.
This grob interface is used in the following graphical object(s): DynamicTextSpanner, Episema, Glissando, TextSpanner, TrillSpanner, VoiceFollower and VowelTransition.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
The extender is a simple line at the baseline of the lyric that helps show the length of a melisma (a tied or slurred note).
left-padding(dimension, in staff space)The amount of space that is put left to an object (e.g., a lyric extender).
next(graphical (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)For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e. the visual output is influenced by changes to
Staff.StaffSymbol.thickness).
heads(array of grobs)An array of note heads.
This grob interface is used in the following graphical object(s): LyricExtender.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
A centered hyphen is simply a line between lyrics used to divide syllables.
dash-period(number)The length of one dash together with whitespace. If negative, no line is drawn at all.
height(dimension, in staff space)Height of an object in
staff-spaceunits.length(dimension, in staff space)User override for the stem length of unbeamed stems (each unit represents half a
staff-space).minimum-distance(dimension, in staff space)Minimum distance between rest and notes or beam.
minimum-length(dimension, in staff space)Try to make a spanner at least this long, normally in the horizontal direction. This requires an appropriate callback for the
springs-and-rodsproperty. If added to aTie, this sets the minimum distance between noteheads.padding(dimension, in staff space)Add this much extra space between objects that are next to each other.
thickness(number)For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e. the visual output is influenced by changes to
Staff.StaffSymbol.thickness).
This grob interface is used in the following graphical object(s): LyricHyphen and LyricSpace.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Any object that is related to lyrics.
This grob interface is used in the following graphical object(s): LyricExtender, LyricHyphen and VowelTransition.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
A single piece of lyrics.
This grob interface is used in the following graphical object(s): LyricText.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
A rehearsal mark.
This grob interface is used in the following graphical object(s): RehearsalMark.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
A counter for numbering measures.
count-from(integer)The first measure in a measure count receives this number. The following measures are numbered in increments from this initial value.
spacing-pair(pair)A pair of alignment symbols which set an object’s spacing relative to its left and right
BreakAlignments.For example, a
MultiMeasureRestwill ignore prefatory items at its bounds (i.e., clefs, key signatures and time signatures) using the following override:
\override MultiMeasureRest.spacing-pair = #'(staff-bar . staff-bar)
columns(array of grobs)An array of grobs, typically containing
PaperColumnorNoteColumnobjects.
This grob interface is used in the following graphical object(s): MeasureCounter.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
This object indicates groups of beats. Valid choices for style are bracket and triangle.
height(dimension, in staff space)Height of an object in
staff-spaceunits.style(symbol)This setting determines in what style a grob is typeset. Valid choices depend on the
stencilcallback reading this property.thickness(number)For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e. the visual output is influenced by changes to
Staff.StaffSymbol.thickness).
This grob interface is used in the following graphical object(s): MeasureGrouping.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
A bracket aligned to a measure or measures.
bracket-flare(pair of numbers)A pair of numbers specifying how much edges of brackets should slant outward. Value
0.0means straight edges.bracket-visibility(boolean or symbol)This controls the visibility of the tuplet bracket. Setting it to false prevents printing of the bracket. Setting the property to
if-no-beammakes it print only if there is no beam associated with this tuplet bracket.connect-to-neighbor(pair)Pair of booleans, indicating whether this grob looks as a continued break.
direction(direction)If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.edge-height(pair)A pair of numbers specifying the heights of the vertical edges:
(left-height . right-height).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 on both sides a hairpin or text-spanner such as a pedal bracket. Positive values shorten the hairpin or text-spanner, while negative values lengthen it.
spacing-pair(pair)A pair of alignment symbols which set an object’s spacing relative to its left and right
BreakAlignments.For example, a
MultiMeasureRestwill ignore prefatory items at its bounds (i.e., clefs, key signatures and time signatures) using the following override:
\override MultiMeasureRest.spacing-pair = #'(staff-bar . staff-bar)staff-padding(dimension, in staff space)Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
thickness(number)For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e. the visual output is influenced by changes to
Staff.StaffSymbol.thickness).
This grob interface is used in the following graphical object(s): MeasureSpanner.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Context dependent typesetting decisions.
neutral-direction(direction)Which direction to take in the center of the staff.
stems(array of grobs)An array of stem objects.
This grob interface is used in the following graphical object(s): MelodyItem.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
A mensural ligature.
thickness(number)For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e. the visual output is influenced by changes to
Staff.StaffSymbol.thickness).
add-join(boolean)Is this ligature head-joined with the next one by a vertical line?
delta-position(number)The vertical position difference.
flexa-interval(integer)The interval spanned by the two notes of a flexa shape (1 is a second, 7 is an octave).
head-width(dimension, in staff space)The width of this ligature head.
ligature-flexa(boolean)request joining note to the previous one in a flexa.
primitive(integer)A pointer to a ligature primitive, i.e., an item similar to a note head that is part of a ligature.
This grob interface is used in the following graphical object(s): MensuralLigature and NoteHead.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
A metronome mark.
This grob interface is used in the following graphical object(s): MetronomeMark.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Multi measure rest, and the text or number that is printed over it.
bound-padding(number)The amount of padding to insert around spanner bounds.
This grob interface is used in the following graphical object(s): MultiMeasureRest, MultiMeasureRestNumber, MultiMeasureRestScript and MultiMeasureRestText.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
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, expressed as a multiple of the default staff-line thickness (i.e. the visual output is not influenced by changes to
Staff.StaffSymbol.thickness).max-symbol-separation(number)The maximum distance between symbols making up a church rest.
measure-count(integer)The number of measures for a multi-measure rest.
minimum-length(dimension, in staff space)Try to make a spanner at least this long, normally in the horizontal direction. This requires an appropriate callback for the
springs-and-rodsproperty. If added to aTie, this sets the minimum distance between noteheads.round-up-exceptions(list)A list of pairs where car is the numerator and cdr the denominator of a moment. Each pair in this list means that the multi-measure rests of the corresponding length will be rounded up to the longer rest. See round-up-to-longer-rest.
round-up-to-longer-rest(boolean)Displays the longer multi-measure rest when the length of a measure is between two values of
usable-duration-logs. For example, displays a breve instead of a whole in a 3/2 measure.spacing-pair(pair)A pair of alignment symbols which set an object’s spacing relative to its left and right
BreakAlignments.For example, a
MultiMeasureRestwill ignore prefatory items at its bounds (i.e., clefs, key signatures and time signatures) using the following override:
\override MultiMeasureRest.spacing-pair = #'(staff-bar . staff-bar)thick-thickness(number)Thickness of the thick line in a bar line, expressed as a multiple of the default staff-line thickness (i.e. the visual output is not influenced by changes to
Staff.StaffSymbol.thickness).usable-duration-logs(list)List of
duration-logs that can be used in typesetting the grob.
space-increment(dimension, in staff space)The amount by which the total duration of a multimeasure rest affects horizontal spacing. Each doubling of the duration adds
space-incrementto the length of the bar.
This grob interface is used in the following graphical object(s): MultiMeasureRest and PercentRepeat.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
An object that handles collisions between notes with different stem directions and horizontal shifts. Most of the interesting properties are to be set in note-column-interface: these are force-hshift and horizontal-shift.
merge-differently-dotted(boolean)Merge note heads in collisions, even if they have a different number of dots. This is normal notation for some types of polyphonic music.
merge-differently-dottedonly applies to opposing stem directions (i.e., voice 1 & 2).merge-differently-headed(boolean)Merge note heads in collisions, even if they have different note heads. The smaller of the two heads is rendered invisible. This is used in polyphonic guitar notation. The value of this setting is used by (internals-big-page)note-collision-interface section ‘note-collision-interface’ in Internals Reference.
merge-differently-headedonly applies to opposing stem directions (i.e., voice 1 & 2).note-collision-threshold(dimension, in staff space)Simultaneous notes that are this close or closer in units of
staff-spacewill be identified as vertically colliding. Used byStemgrobs for notes in the same voice, andNoteCollisiongrobs for notes in different voices. Default value 1.prefer-dotted-right(boolean)For note collisions, prefer to shift dotted up-note to the right, rather than shifting just the dot.
positioning-done(boolean)Used to signal that a positioning element did its job. This ensures that a positioning is only done once.
This grob interface is used in the following graphical object(s): NoteCollision.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
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 (internals-big-page)note-collision-interface section ‘note-collision-interface’ in Internals Reference.
glissando-skip(boolean)Should this
NoteHeadbe skipped by glissandi?horizontal-shift(integer)An integer that identifies ranking of
NoteColumns for horizontal shifting. This is used by (internals-big-page)note-collision-interface section ‘note-collision-interface’ in Internals Reference.ignore-collision(boolean)If set, don’t do note collision resolution on this
NoteColumn.
note-heads(array of grobs)An array of note head grobs.
rest(graphical (layout) object)A pointer to a
Restobject.rest-collision(graphical (layout) object)A rest collision that a rest is in.
stem(graphical (layout) object)A pointer to a
Stemobject.
This grob interface is used in the following graphical object(s): NoteColumn.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
A note head. There are many possible values for style. For a complete list, see
(notation-big-page)Note head styles section ‘Note head styles’ in Notation Reference.
duration-log(integer)The 2-log of the note head duration, i.e.,
0= whole note,1= half note, etc.glyph-name(string)The glyph name within the font.
In the context of (span) bar lines, glyph-name represents a processed form of
glyph, where decisions about line breaking etc. are already taken.ignore-ambitus(boolean)If set, don’t consider this notehead for ambitus calculation.
ledger-positions(list)Vertical positions of ledger lines. When set on a
StaffSymbolgrob it defines a repeating pattern of ledger lines and any parenthesized groups will always be shown together.note-names(vector)Vector of strings containing names for easy-notation note heads.
stem-attachment(pair of numbers)An
(x . y)pair where the stem attaches to the notehead.style(symbol)This setting determines in what style a grob is typeset. Valid choices depend on the
stencilcallback reading this property.
accidental-grob(graphical (layout) object)The accidental for this note.
This grob interface is used in the following graphical object(s): AmbitusNoteHead, NoteHead, TabNoteHead and TrillPitchGroup.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Note names.
This grob interface is used in the following graphical object(s): NoteName.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
This object calculates spacing wishes for individual voices.
knee-spacing-correction(number)Factor for the optical correction amount for kneed beams. Set between
0for no correction and1for full correction.same-direction-correction(number)Optical correction amount for stems that are placed in tight configurations. This amount is used for stems with the same direction to compensate for note head to stem distance.
space-to-barline(boolean)If set, the distance between a note and the following non-musical column will be measured to the bar line instead of to the beginning of the non-musical column. If there is a clef change followed by a bar line, for example, this means that we will try to space the non-musical column as though the clef is not there.
stem-spacing-correction(number)Optical correction amount for stems that are placed in tight configurations. For opposite directions, this amount is the correction for two normal sized stems that overlap completely.
left-items(array of grobs)Grobs organized on the left by a spacing object.
right-items(array of grobs)Grobs organized on the right by a spacing object.
This grob interface is used in the following graphical object(s): NoteSpacing.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Numbers.
number-type(symbol)Numbering style. Choices include
roman-lower,roman-upperandarabic.
This grob interface is used in the following graphical object(s): StringNumber.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Kill this grob after the line breaking process.
This grob interface is not used in any graphical object.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
An ottava bracket.
bracket-flare(pair of numbers)A pair of numbers specifying how much edges of brackets should slant outward. Value
0.0means straight edges.dashed-edge(boolean)If set, the bracket edges are dashed like the rest of the bracket.
edge-height(pair)A pair of numbers specifying the heights of the vertical edges:
(left-height . right-height).minimum-length(dimension, in staff space)Try to make a spanner at least this long, normally in the horizontal direction. This requires an appropriate callback for the
springs-and-rodsproperty. If added to aTie, this sets the minimum distance between noteheads.shorten-pair(pair of numbers)The lengths to shorten on both sides a hairpin or text-spanner such as a pedal bracket. Positive values shorten the hairpin or text-spanner, while negative values lengthen it.
This grob interface is used in the following graphical object(s): OttavaBracket.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
A vertical axis group on which outside-staff skyline calculations are done.
outside-staff-placement-directive(symbol)One of four directives telling how outside staff objects should be placed.
left-to-right-greedy– Place each successive grob from left to right.left-to-right-polite– Place a grob from left to right only if it does not potentially overlap with another grob that has been placed on a pass through a grob array. If there is overlap, do another pass to determine placement.right-to-left-greedy– Same asleft-to-right-greedy, but from right to left.right-to-left-polite– Same asleft-to-right-polite, but from right to left.
vertical-skyline-elements(array of grobs)An array of grobs used to create vertical skylines.
This grob interface is used in the following graphical object(s): BassFigureLine, System and VerticalAxisGroup.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
A grob that could be placed outside staff.
outside-staff-horizontal-padding(number)By default, an outside-staff-object can be placed so that is it very close to another grob horizontally. If this property is set, the outside-staff-object is raised so that it is not so close to its neighbor.
outside-staff-padding(number)The padding to place between grobs when spacing according to
outside-staff-priority. Two grobs with differentoutside-staff-paddingvalues have the larger value of padding between them.outside-staff-priority(number)If set, the grob is positioned outside the staff in such a way as to avoid all collisions. In case of a potential collision, the grob with the smaller
outside-staff-priorityis closer to the staff.
This grob interface is used in the following graphical object(s): AccidentalSuggestion, BarNumber, BassFigureAlignmentPositioning, BreathingSign, ChordName, ClefModifier, CombineTextScript, DoublePercentRepeatCounter, DoubleRepeatSlash, DynamicLineSpanner, DynamicText, Fingering, FretBoard, Hairpin, HorizontalBracket, HorizontalBracketText, InstrumentSwitch, MeasureCounter, MeasureGrouping, MeasureSpanner, MetronomeMark, MultiMeasureRest, MultiMeasureRestNumber, MultiMeasureRestScript, MultiMeasureRestText, OttavaBracket, PercentRepeatCounter, PhrasingSlur, RehearsalMark, Script, Slur, SostenutoPedalLineSpanner, StringNumber, StrokeFinger, SustainPedalLineSpanner, TextScript, TextSpanner, TrillSpanner, TupletBracket, TupletNumber, UnaCordaPedalLineSpanner and VoltaBracketSpanner.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Paper_column objects form the top-most X parents for items. There are two types of columns: musical and non-musical, to which musical and non-musical objects are attached respectively. 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.
full-measure-extra-space(number)Extra space that is allocated at the beginning of a measure with only one note. This property is read from the NonMusicalPaperColumn that begins the measure.
labels(list)List of labels (symbols) placed on a column.
line-break-penalty(number)Penalty for a line break at this column. This affects the choices of the line breaker; it avoids a line break at a column with a positive penalty and prefers a line break at a column with a negative penalty.
line-break-permission(symbol)Instructs the line breaker on whether to put a line break at this column. Can be
forceorallow.line-break-system-details(list)An alist of properties to use if this column is the start of a system.
page-break-penalty(number)Penalty for page break at this column. This affects the choices of the page breaker; it avoids a page break at a column with a positive penalty and prefers a page break at a column with a negative penalty.
page-break-permission(symbol)Instructs the page breaker on whether to put a page break at this column. Can be
forceorallow.page-turn-penalty(number)Penalty for a page turn at this column. This affects the choices of the page breaker; it avoids a page turn at a column with a positive penalty and prefers a page turn at a column with a negative penalty.
page-turn-permission(symbol)Instructs the page breaker on whether to put a page turn at this column. Can be
forceorallow.rhythmic-location(rhythmic location)Where (bar number, measure position) in the score.
shortest-playing-duration(moment)The duration of the shortest note playing here.
shortest-starter-duration(moment)The duration of the shortest note that starts here.
used(boolean)If set, this spacing column is kept in the spacing problem.
when(moment)Global time step associated with this column.
bounded-by-me(array of grobs)An array of spanners that have this column as start/begin point. Only columns that have grobs or act as bounds are spaced.
grace-spacing(graphical (layout) object)A run of grace notes.
maybe-loose(boolean)Used to mark a breakable column that is loose if and only if it is in the middle of a line.
spacing(graphical (layout) object)The spacing spanner governing this section.
This grob interface is used in the following graphical object(s): NonMusicalPaperColumn and PaperColumn.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Parentheses for other objects.
padding(dimension, in staff space)Add this much extra space between objects that are next to each other.
stencils(list)Multiple stencils, used as intermediate value.
This grob interface is used in the following graphical object(s): ParenthesesItem and TrillPitchGroup.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Beat, Double and single measure repeats.
dot-negative-kern(number)The space to remove between a dot and a slash in percent repeat glyphs. Larger values bring the two elements closer together.
slash-negative-kern(number)The space to remove between slashes in percent repeat glyphs. Larger values bring the two elements closer together.
slope(number)The slope of this object.
thickness(number)For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e. the visual output is influenced by changes to
Staff.StaffSymbol.thickness).
This grob interface is used in the following graphical object(s): DoublePercentRepeat, DoublePercentRepeatCounter, DoubleRepeatSlash, PercentRepeat, PercentRepeatCounter and RepeatSlash.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Repeats that look like percent signs.
dot-negative-kern(number)The space to remove between a dot and a slash in percent repeat glyphs. Larger values bring the two elements closer together.
slash-negative-kern(number)The space to remove between slashes in percent repeat glyphs. Larger values bring the two elements closer together.
slope(number)The slope of this object.
thickness(number)For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e. the visual output is influenced by changes to
Staff.StaffSymbol.thickness).
This grob interface is used in the following graphical object(s): DoublePercentRepeat, DoublePercentRepeatCounter, DoubleRepeatSlash and RepeatSlash.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
The bracket of the piano pedal. It can be tuned through the regular bracket properties.
bound-padding(number)The amount of padding to insert around spanner bounds.
bracket-flare(pair of numbers)A pair of numbers specifying how much edges of brackets should slant outward. Value
0.0means straight edges.dashed-edge(boolean)If set, the bracket edges are dashed like the rest of the bracket.
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 on both sides a hairpin or text-spanner such as a pedal bracket. Positive values shorten the hairpin or text-spanner, while negative values lengthen it.
pedal-text(graphical (layout) object)A pointer to the text of a mixed-style piano pedal.
This grob interface is used in the following graphical object(s): PianoPedalBracket.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
A piano pedal sign.
This grob interface is used in the following graphical object(s): PianoPedalBracket, SostenutoPedalLineSpanner, SustainPedal, SustainPedalLineSpanner and UnaCordaPedalLineSpanner.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
A piano pedal sign, fixed size.
This grob interface is used in the following graphical object(s): SostenutoPedal, SustainPedal and UnaCordaPedal.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
A note head to indicate trill pitches.
accidental-grob(graphical (layout) object)The accidental for this note.
This grob interface is used in the following graphical object(s): TrillPitchHead.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
A collection of routines to allow for objects’ pure heights and heights to be calculated based on the heights of the objects’ neighbors.
neighbors(array of grobs)The X-axis neighbors of a grob. Used by the pure-from-neighbor-interface to determine various grob heights.
pure-relevant-grobs(array of grobs)All the grobs (items and spanners) that are relevant for finding the
pure-Y-extentpure-Y-common(graphical (layout) object)A cache of the
common_refpoint_of_arrayof theelementsgrob set.
This grob interface is used in the following graphical object(s): BarLine, Clef, CueClef, CueEndClef, KeyCancellation, KeySignature, SpanBarStub and TimeSignature.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Move ordinary rests (not multi-measure nor pitched rests) to avoid conflicts.
minimum-distance(dimension, in staff space)Minimum distance between rest and notes or beam.
elements(array of grobs)An array of grobs; the type is depending on the grob where this is set in.
positioning-done(boolean)Used to signal that a positioning element did its job. This ensures that a positioning is only done once.
This grob interface is used in the following graphical object(s): RestCollision.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
A rest symbol. The property style can be default, mensural, neomensural or classical.
direction(direction)If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.minimum-distance(dimension, in staff space)Minimum distance between rest and notes or beam.
style(symbol)This setting determines in what style a grob is typeset. Valid choices depend on the
stencilcallback reading this property.voiced-position(number)The staff-position of a voiced
Rest, negative if the rest hasdirectionDOWN.
This grob interface is used in the following graphical object(s): MultiMeasureRest and Rest.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Any object with a duration. Used to determine which grobs are interesting enough to maintain a hara-kiri staff.
This grob interface is used in the following graphical object(s): BassFigure, ChordName, ClusterSpannerBeacon, DoubleRepeatSlash, FretBoard, LyricText, NoteHead, RepeatSlash, Rest and TabNoteHead.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Note head or rest.
duration-log(integer)The 2-log of the note head duration, i.e.,
0= whole note,1= half note, etc.glissando-skip(boolean)Should this
NoteHeadbe skipped by glissandi?
dot(graphical (layout) object)A reference to a
Dotsobject.stem(graphical (layout) object)A pointer to a
Stemobject.
This grob interface is used in the following graphical object(s): AmbitusNoteHead, NoteHead, Rest, TabNoteHead and TrillPitchHead.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
An interface that sorts scripts according to their script-priority and outside-staff-priority.
scripts(array of grobs)An array of
Scriptobjects.
This grob interface is used in the following graphical object(s): ScriptColumn and ScriptRow.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
An object that is put above or below a note.
avoid-slur(symbol)Method of handling slur collisions. Choices are
inside,outside,around, andignore.insideadjusts the slur if needed to keep the grob inside the slur.outsidemoves the grob vertically to the outside of the slur.aroundmoves the grob vertically to the outside of the slur only if there is a collision.ignoredoes not move either. In grobs whose notational significance depends on vertical position (such as accidentals, clefs, etc.),outsideandaroundbehave likeignore.script-priority(number)A key for determining the order of scripts in a stack, by being added to the position of the script in the user input, the sum being the overall priority. Smaller means closer to the head.
side-relative-direction(direction)Multiply direction of
direction-sourcewith this to get the direction of this object.slur-padding(number)Extra distance between slur and script.
toward-stem-shift(number)Amount by which scripts are shifted toward the stem if their direction coincides with the stem direction.
0.0means centered on the note head (the default position of most scripts);1.0means centered on the stem. Interpolated values are possible.toward-stem-shift-in-column(number)Amount by which a script is shifted toward the stem if its direction coincides with the stem direction and it is associated with a
ScriptColumnobject.0.0means centered on the note head (the default position of most scripts);1.0means centered on the stem. Interpolated values are possible.
direction-source(graphical (layout) object)In case
side-relative-directionis set, which grob to get the direction from.positioning-done(boolean)Used to signal that a positioning element did its job. This ensures that a positioning is only done once.
script-column(graphical (layout) object)A
ScriptColumnassociated with aScriptobject.script-stencil(pair)A pair
(type . arg)which acts as an index for looking up aStencilobject.slur(graphical (layout) object)A pointer to a
Slurobject.
This grob interface is used in the following graphical object(s): AccidentalSuggestion, DynamicText, MultiMeasureRestScript and Script.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Position this object on itself and/or on its parent. To this end, the following functions are provided:
Self_alignment_interface::[xy]_aligned_on_selfAlign self on reference point, using self-alignment-X and self-alignment-Y.
Self_alignment_interface::aligned_on_[xy]_parentSelf_alignment_interface::centered_on_[xy]_parentShift the object so its own reference point is centered on the extent of the parent
parent-alignment-X(number)Specify on which point of the parent the object is aligned. The value
-1means aligned on parent’s left edge,0on center, and1right edge, in X direction. Other numerical values may also be specified - the unit is half the parent’s width. If unset, the value fromself-alignment-Xproperty will be used.parent-alignment-Y(number)Like
parent-alignment-Xbut for the Y axis.self-alignment-X(number)Specify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified - the unit is half the object width.self-alignment-Y(number)Like
self-alignment-Xbut for the Y axis.X-align-on-main-noteheads(boolean)If true, this grob will ignore suspended noteheads when aligning itself on NoteColumn.
This grob interface is used in the following graphical object(s): AccidentalSuggestion, BarNumber, ClefModifier, CombineTextScript, DoublePercentRepeatCounter, DynamicText, Fingering, GridLine, Hairpin, HorizontalBracketText, InstrumentName, InstrumentSwitch, LyricText, MeasureCounter, MeasureSpanner, MetronomeMark, MultiMeasureRestNumber, MultiMeasureRestScript, MultiMeasureRestText, PercentRepeatCounter, RehearsalMark, Script, SostenutoPedal, StemTremolo, StringNumber, StrokeFinger, SustainPedal, TextScript and UnaCordaPedal.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
The interface for a column of l.v. (laissez vibrer) ties.
head-direction(direction)Are the note heads left or right in a semitie?
tie-configuration(list)List of
(position . dir)pairs, indicating the desired tie configuration, where position is the offset from the center of the staff in staff space and dir indicates the direction of the tie (1=>up,-1=>down,0=>center). A non-pair entry in the list causes the corresponding tie to be formatted automatically.
positioning-done(boolean)Used to signal that a positioning element did its job. This ensures that a positioning is only done once.
ties(array of grobs)A grob array of
Tieobjects.
This grob interface is used in the following graphical object(s): LaissezVibrerTieColumn and RepeatTieColumn.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
A tie which is only connected to a note head on one side.
The following properties may be set in the details list:
height-limitMaximum tie height: The longer the tie, the closer it is to this height.
ratioParameter for tie shape. The higher this number, the quicker the tie attains its height-limit.
control-points(list of number pairs)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.
details(list)Alist of parameters for detailed grob behavior. More information on the allowed parameters for a grob can be found by looking at the top of the Internals Reference page for each interface having a
detailsproperty.direction(direction)If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.head-direction(direction)Are the note heads left or right in a semitie?
line-thickness(number)For slurs and ties, this is the diameter of the virtual “pen” that draws the two arcs of the curve’s outline, which intersect at the endpoints. This property is expressed as a multiple of the current staff-line thickness (i.e. the visual output is influenced by changes to
Staff.StaffSymbol.thickness).thickness(number)For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e. the visual output is influenced by changes to
Staff.StaffSymbol.thickness).
note-head(graphical (layout) object)A single note head.
This grob interface is used in the following graphical object(s): LaissezVibrerTie and RepeatTie.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Item that computes widths to generate spacing rods.
horizontal-skylines(pair of skylines)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.
skyline-vertical-padding(number)The amount by which the left and right skylines of a column are padded vertically, beyond the
Y-extents andextra-spacing-heights of the constituent grobs in the column. Increase this to prevent interleaving of grobs from adjacent columns.X-extent(pair of numbers)Extent (size) in the X direction, measured in staff-space units, relative to object’s reference point.
conditional-elements(array of grobs)Internal use only.
elements(array of grobs)An array of grobs; the type is depending on the grob where this is set in.
This grob interface is used in the following graphical object(s): NonMusicalPaperColumn, NoteColumn and PaperColumn.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Position a victim object (this one) next to other objects (the support). The property direction signifies where to put the victim object relative to the support (left or right, up or down?)
The routine also takes the size of the staff into account if staff-padding is set. If undefined, the staff symbol is ignored.
add-stem-support(boolean)If set, the
Stemobject is included in this script’s support.direction(direction)If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.horizon-padding(number)The amount to pad the axis along which a
Skylineis built for theside-position-interface.minimum-space(dimension, in staff space)Minimum distance that the victim should move (after padding).
padding(dimension, in staff space)Add this much extra space between objects that are next to each other.
side-axis(number)If the value is
X(or equivalently0), the object is placed horizontally next to the other object. If the value isYor1, it is placed vertically.slur-padding(number)Extra distance between slur and script.
staff-padding(dimension, in staff space)Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
use-skylines(boolean)Should skylines be used for side positioning?
quantize-position(boolean)If set, a vertical alignment is aligned to be within staff spaces.
side-support-elements(array of grobs)The side support, an array of grobs.
This grob interface is used in the following graphical object(s): AccidentalSuggestion, AmbitusAccidental, Arpeggio, BarNumber, BassFigureAlignmentPositioning, ClefModifier, CombineTextScript, DoublePercentRepeatCounter, DynamicLineSpanner, Episema, Fingering, HorizontalBracket, HorizontalBracketText, InstrumentName, InstrumentSwitch, MeasureCounter, MeasureGrouping, MeasureSpanner, MetronomeMark, MultiMeasureRestNumber, MultiMeasureRestScript, MultiMeasureRestText, OttavaBracket, PercentRepeatCounter, RehearsalMark, Script, SostenutoPedalLineSpanner, StanzaNumber, StringNumber, StrokeFinger, SustainPedalLineSpanner, SystemStartBar, SystemStartBrace, SystemStartBracket, SystemStartSquare, TextScript, TextSpanner, TrillPitchAccidental, TrillPitchGroup, TrillSpanner, UnaCordaPedalLineSpanner, VoltaBracket and VoltaBracketSpanner.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
A slur.
Slurs are formatted by trying a number of combinations of left/right end point, and then picking the slur with the lowest demerit score. The combinations are generated by going from the base attachments (i.e., note heads) in the direction in half space increments until we have covered region-size staff spaces. The following properties may be set in the details list.
region-sizeSize of region (in staff spaces) for determining potential endpoints in the Y direction.
head-encompass-penaltyDemerit to apply when note heads collide with a slur.
stem-encompass-penaltyDemerit to apply when stems collide with a slur.
edge-attraction-factorFactor used to calculate the demerit for distances between slur endpoints and their corresponding base attachments.
same-slope-penaltyDemerit for slurs with attachment points that are horizontally aligned.
steeper-slope-factorFactor used to calculate demerit only if this slur is not broken.
non-horizontal-penaltyDemerit for slurs with attachment points that are not horizontally aligned.
max-slopeThe maximum slope allowed for this slur.
max-slope-factorFactor that calculates demerit based on the max slope.
free-head-distanceThe amount of vertical free space that must exist between a slur and note heads.
absolute-closeness-measureFactor to calculate demerit for variance between a note head and slur.
extra-object-collision-penaltyFactor to calculate demerit for extra objects that the slur encompasses, including accidentals, fingerings, and tuplet numbers.
accidental-collisionFactor to calculate demerit for Accidental objects that the slur encompasses. This property value replaces the value of extra-object-collision-penalty.
extra-encompass-free-distanceThe amount of vertical free space that must exist between a slur and various objects it encompasses, including accidentals, fingerings, and tuplet numbers.
extra-encompass-collision-distanceThis detail is currently unused.
head-slur-distance-factorFactor to calculate demerit for variance between a note head and slur.
head-slur-distance-max-ratioThe maximum value for the ratio of distance between a note head and slur.
gap-to-staffline-insideMinimum gap inside the curve of the slur where the slur is parallel to a staffline.
gap-to-staffline-outsideMinimum gap outside the curve of the slur where the slur is parallel to a staffline.
free-slur-distanceThe amount of vertical free space that must exist between adjacent slurs. This subproperty only works for PhrasingSlur.
edge-slope-exponentFactor used to calculate the demerit for the slope of a slur near its endpoints; a larger value yields a larger demerit.
annotation(string)Annotate a grob for debug purposes.
avoid-slur(symbol)Method of handling slur collisions. Choices are
inside,outside,around, andignore.insideadjusts the slur if needed to keep the grob inside the slur.outsidemoves the grob vertically to the outside of the slur.aroundmoves the grob vertically to the outside of the slur only if there is a collision.ignoredoes not move either. In grobs whose notational significance depends on vertical position (such as accidentals, clefs, etc.),outsideandaroundbehave likeignore.control-points(list of number pairs)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-definition(pair)List of
dash-elementsdefining the dash structure. Eachdash-elementhas a starting t value, an ending t-value, adash-fraction, and adash-period.details(list)Alist of parameters for detailed grob behavior. More information on the allowed parameters for a grob can be found by looking at the top of the Internals Reference page for each interface having a
detailsproperty.direction(direction)If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.eccentricity(number)How asymmetrical to make a slur. Positive means move the center to the right.
height-limit(dimension, in staff space)Maximum slur height: The longer the slur, the closer it is to this height.
inspect-quants(pair of numbers)If debugging is set, set beam and slur position to a (quantized) position that is as close as possible to this value, and print the demerits for the inspected position in the output.
line-thickness(number)For slurs and ties, this is the diameter of the virtual “pen” that draws the two arcs of the curve’s outline, which intersect at the endpoints. This property is expressed as a multiple of the current staff-line thickness (i.e. the visual output is influenced by changes to
Staff.StaffSymbol.thickness).positions(pair of numbers)Pair of staff coordinates
(left . right), where both left and right are instaff-spaceunits of the current staff. For slurs, this value selects which slur candidate to use; if extreme positions are requested, the closest one is taken.ratio(number)Parameter for slur shape. The higher this number, the quicker the slur attains its
height-limit.thickness(number)For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e. the visual output is influenced by changes to
Staff.StaffSymbol.thickness).
encompass-objects(array of grobs)Objects that a slur should avoid in addition to notes and stems.
note-columns(array of grobs)An array of
NoteColumngrobs.
This grob interface is used in the following graphical object(s): PhrasingSlur and Slur.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
A layout object that takes part in the spacing problem.
allow-loose-spacing(boolean)If set, column can be detached from main spacing.
keep-inside-line(boolean)If set, this column cannot have objects sticking into the margin.
measure-length(moment)Length of a measure. Used in some spacing situations.
ideal-distances(list)
(obj . (dist . strength))pairs.left-neighbor(graphical (layout) object)The right-most column that has a spacing-wish for this column.
minimum-distances(list)A list of rods that have the format
(obj . dist).right-neighbor(graphical (layout) object)See
left-neighbor.spacing-wishes(array of grobs)An array of note spacing or staff spacing objects.
This grob interface is used in the following graphical object(s): NonMusicalPaperColumn and PaperColumn.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
This object calculates the desired and minimum distances between two columns.
left-items(array of grobs)Grobs organized on the left by a spacing object.
right-items(array of grobs)Grobs organized on the right by a spacing object.
This grob interface is used in the following graphical object(s): NoteSpacing and StaffSpacing.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Supports setting of spacing variables.
shortest-duration-space(number)Start with this multiple of
spacing-incrementspace for the shortest duration. See also (internals-big-page)spacing-spanner-interface section ‘spacing-spanner-interface’ in Internals Reference.spacing-increment(dimension, in staff space)The unit of length for note-spacing. Typically, the width of a note head. See also (internals-big-page)spacing-spanner-interface section ‘spacing-spanner-interface’ in Internals Reference.
This grob interface is used in the following graphical object(s): GraceSpacing and SpacingSpanner.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
The space taken by a note is dependent on its duration. Doubling a duration adds spacing-increment to the space. The most common shortest note gets shortest-duration-space. Notes that are even shorter are spaced proportonial to their duration.
Typically, the increment is the width of a black note head. In a piece with lots of 8th notes, and some 16th notes, the eighth note gets a 2 note heads width (i.e., the space following a note is a 1 note head width). A 16th note is followed by 0.5 note head width. The quarter note is followed by 3 NHW, the half by 4 NHW, etc.
average-spacing-wishes(boolean)If set, the spacing wishes are averaged over staves.
base-shortest-duration(moment)Spacing is based on the shortest notes in a piece. Normally, pieces are spaced as if notes at least as short as this are present.
common-shortest-duration(moment)The most common shortest note length. This is used in spacing. Enlarging this sets the score tighter.
packed-spacing(boolean)If set, the notes are spaced as tightly as possible.
shortest-duration-space(number)Start with this multiple of
spacing-incrementspace for the shortest duration. See also (internals-big-page)spacing-spanner-interface section ‘spacing-spanner-interface’ in Internals Reference.spacing-increment(dimension, in staff space)The unit of length for note-spacing. Typically, the width of a note head. See also (internals-big-page)spacing-spanner-interface section ‘spacing-spanner-interface’ in Internals Reference.
strict-grace-spacing(boolean)If set, main notes are spaced normally, then grace notes are put left of the musical columns for the main notes.
strict-note-spacing(boolean)If set, unbroken columns with non-musical material (clefs, bar lines, etc.) are not spaced separately, but put before musical columns.
uniform-stretching(boolean)If set, items stretch proportionally to their natural separation based on durations. This looks better in complex polyphonic patterns.
This grob interface is used in the following graphical object(s): SpacingSpanner.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
A bar line that is spanned between other barlines. This interface is used for bar lines that connect different staves.
glyph-name(string)The glyph name within the font.
In the context of (span) bar lines, glyph-name represents a processed form of
glyph, where decisions about line breaking etc. are already taken.
elements(array of grobs)An array of grobs; the type is depending on the grob where this is set in.
pure-relevant-grobs(array of grobs)All the grobs (items and spanners) that are relevant for finding the
pure-Y-extentpure-relevant-items(array of grobs)A subset of elements that are relevant for finding the
pure-Y-extent.pure-relevant-spanners(array of grobs)A subset of elements that are relevant for finding the
pure-Y-extent.pure-Y-common(graphical (layout) object)A cache of the
common_refpoint_of_arrayof theelementsgrob set.
This grob interface is used in the following graphical object(s): SpanBar.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Some objects are horizontally spanned between objects. For example, slurs, beams, ties, etc. These grobs form a subtype called Spanner. All spanners have two span points (these must be Item objects), one on the left and one on the right. The left bound is also the X reference point of the spanner.
minimum-length(dimension, in staff space)Try to make a spanner at least this long, normally in the horizontal direction. This requires an appropriate callback for the
springs-and-rodsproperty. If added to aTie, this sets the minimum distance between noteheads.minimum-length-after-break(dimension, in staff space)If set, try to make a broken spanner starting a line this long. This requires an appropriate callback for the
springs-and-rodsproperty. If added to aTie, this sets the minimum distance to the notehead.normalized-endpoints(pair)Represents left and right placement over the total spanner, where the width of the spanner is normalized between 0 and 1.
spanner-id(index or symbol)An identifier to distinguish concurrent spanners.
to-barline(boolean)If true, the spanner will stop at the bar line just before it would otherwise stop.
spanner-broken(boolean)Indicates whether spanner alignment should be broken after the current spanner.
This grob interface is used in the following graphical object(s): BalloonTextSpanner, BassFigureAlignment, BassFigureAlignmentPositioning, BassFigureContinuation, BassFigureLine, Beam, BendAfter, ClusterSpanner, DynamicLineSpanner, DynamicTextSpanner, Episema, FootnoteSpanner, Glissando, GraceSpacing, Hairpin, HorizontalBracket, HorizontalBracketText, InstrumentName, KievanLigature, LedgerLineSpanner, LigatureBracket, LyricExtender, LyricHyphen, LyricSpace, MeasureCounter, MeasureGrouping, MeasureSpanner, MensuralLigature, MultiMeasureRest, MultiMeasureRestNumber, MultiMeasureRestScript, MultiMeasureRestText, OttavaBracket, PercentRepeat, PercentRepeatCounter, PhrasingSlur, PianoPedalBracket, Slur, SostenutoPedalLineSpanner, SpacingSpanner, StaffGrouper, StaffSymbol, SustainPedalLineSpanner, System, SystemStartBar, SystemStartBrace, SystemStartBracket, SystemStartSquare, TextSpanner, Tie, TieColumn, TrillSpanner, TupletBracket, TupletNumber, UnaCordaPedalLineSpanner, VaticanaLigature, VerticalAlignment, VerticalAxisGroup, VoiceFollower, VoltaBracket, VoltaBracketSpanner and VowelTransition.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
A grob that collects staves together.
staff-staff-spacing(list)When applied to a staff-group’s
StaffGroupergrob, this spacing alist controls the distance between consecutive staves within the staff-group. When applied to a staff’sVerticalAxisGroupgrob, it controls the distance between the staff and the nearest staff below it in the same system, replacing any settings inherited from theStaffGroupergrob of the containing staff-group, if there is one. This property remains in effect even when non-staff lines appear between staves. The alist can contain the following keys:
basic-distance– the vertical distance, measured in staff-spaces, between the reference points of the two items when no collisions would result, and no stretching or compressing is in effect.minimum-distance– the smallest allowable vertical distance, measured in staff-spaces, between the reference points of the two items, when compressing is in effect.padding– the minimum required amount of unobstructed vertical whitespace between the bounding boxes (or skylines) of the two items, measured in staff-spaces.stretchability– a unitless measure of the dimension’s relative propensity to stretch. If zero, the distance will not stretch (unless collisions would result).staffgroup-staff-spacing(list)The spacing alist controlling the distance between the last staff of the current staff-group and the staff just below it in the same system, even if one or more non-staff lines exist between the two staves. If the
staff-staff-spacingproperty of the staff’sVerticalAxisGroupgrob is set, that is used instead. Seestaff-staff-spacingfor a description of the alist structure.
This grob interface is used in the following graphical object(s): StaffGrouper.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
This object calculates spacing details from a breakable symbol (left) to another object. For example, it takes care of optical spacing from a bar line to a note.
stem-spacing-correction(number)Optical correction amount for stems that are placed in tight configurations. For opposite directions, this amount is the correction for two normal sized stems that overlap completely.
This grob interface is used in the following graphical object(s): StaffSpacing.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
This spanner draws the lines of a staff. A staff symbol defines a vertical unit, the staff space. Quantities that go by a half staff space are called positions. The center (i.e., middle line or space) is position 0. The length of the symbol may be set by hand through the width property.
break-align-symbols(list)A list of break-align symbols that determines which breakable items 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). Choices are listed in (internals-big-page)break-alignment-interface section ‘break-alignment-interface’ in Internals Reference.ledger-extra(dimension, in staff space)Extra distance from staff line to draw ledger lines for.
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.
ledger-positions(list)Vertical positions of ledger lines. When set on a
StaffSymbolgrob it defines a repeating pattern of ledger lines and any parenthesized groups will always be shown together.ledger-positions-function(any type)A quoted Scheme procedure that takes a
StaffSymbolgrob and the vertical position of a note head as arguments and returns a list of ledger line positions.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)For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e. the visual output is influenced by changes to
Staff.StaffSymbol.thickness).width(dimension, in staff space)The width of a grob measured in staff space.
This grob interface is used in the following graphical object(s): StaffSymbol.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
An object whose Y position is meant relative to a staff symbol. These usually have Staff_symbol_referencer::callback in their Y-offset-callbacks.
staff-position(number)Vertical position, measured in half staff spaces, counted from the middle line.
This grob interface is used in the following graphical object(s): AmbitusNoteHead, Arpeggio, Beam, Clef, CueClef, CueEndClef, Custos, Dots, KeyCancellation, KeySignature, MultiMeasureRest, NoteHead, Rest, TabNoteHead and TrillPitchHead.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
A stanza number, to be put in from of a lyrics line.
This grob interface is used in the following graphical object(s): StanzaNumber.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
The stem represents the graphical stem. In addition, it internally connects note heads, beams, and tremolos. Rests and whole notes have invisible stems.
The following properties may be set in the details list.
beamed-lengthsList of stem lengths given beam multiplicity.
beamed-minimum-free-lengthsList of normal minimum free stem lengths (chord to beams) given beam multiplicity.
beamed-extreme-minimum-free-lengthsList of extreme minimum free stem lengths (chord to beams) given beam multiplicity.
lengthsDefault stem lengths. The list gives a length for each flag count.
stem-shortenHow much a stem in a forced direction should be shortened. The list gives an amount depending on the number of flags and beams.
avoid-note-head(boolean)If set, the stem of a chord does not pass through all note heads, but starts at the last note head.
beaming(pair)Pair of number lists. Each number list specifies which beams to make.
0is the central beam,1is the next beam toward the note, etc. This information is used to determine how to connect the beaming patterns from stem to stem inside a beam.beamlet-default-length(pair)A pair of numbers. The first number specifies the default length of a beamlet that sticks out of the left hand side of this stem; the second number specifies the default length of the beamlet to the right. The actual length of a beamlet is determined by taking either the default length or the length specified by
beamlet-max-length-proportion, whichever is smaller.beamlet-max-length-proportion(pair)The maximum length of a beamlet, as a proportion of the distance between two adjacent stems.
default-direction(direction)Direction determined by note head positions.
details(list)Alist of parameters for detailed grob behavior. More information on the allowed parameters for a grob can be found by looking at the top of the Internals Reference page for each interface having a
detailsproperty.direction(direction)If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.double-stem-separation(number)The distance between the two stems of a half note in tablature when using
\tabFullNotation, not counting the width of the stems themselves, expressed as a multiple of the default height of a staff-space in the traditional five-line staff.duration-log(integer)The 2-log of the note head duration, i.e.,
0= whole note,1= half note, etc.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 (each unit represents half a
staff-space).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.
note-collision-threshold(dimension, in staff space)Simultaneous notes that are this close or closer in units of
staff-spacewill be identified as vertically colliding. Used byStemgrobs for notes in the same voice, andNoteCollisiongrobs for notes in different voices. Default value 1.stem-begin-position(number)User override for the begin position of a stem.
stemlet-length(number)How long should be a stem over a rest?
thickness(number)For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e. the visual output is influenced by changes to
Staff.StaffSymbol.thickness).
beam(graphical (layout) object)A pointer to the beam, if applicable.
flag(graphical (layout) object)A pointer to a
Flagobject.french-beaming-stem-adjustment(dimension, in staff space)Stem will be shortened by this amount of space in case of French beaming style.
melody-spanner(graphical (layout) object)The
MelodyItemobject for a stem.note-heads(array of grobs)An array 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(array of grobs)An array of rest objects.
stem-info(pair)A cache of stem parameters.
tremolo-flag(graphical (layout) object)The tremolo object on a stem.
tuplet-start(boolean)Is stem at the start of a tuplet?
This grob interface is used in the following graphical object(s): Stem.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
A beam slashing a stem to indicate a tremolo. The property shape can be beam-like or rectangle.
beam-thickness(dimension, in staff space)Beam thickness, measured in
staff-spaceunits.beam-width(dimension, in staff space)Width of the tremolo sign.
direction(direction)If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.flag-count(number)The number of tremolo beams.
length-fraction(number)Multiplier for lengths. Used for determining ledger lines and stem lengths.
shape(symbol)This setting determines what shape a grob has. Valid choices depend on the
stencilcallback reading this property.slope(number)The slope of this object.
stem(graphical (layout) object)A pointer to a
Stemobject.
This grob interface is used in the following graphical object(s): StemTremolo.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
A string number instruction.
This grob interface is used in the following graphical object(s): StringNumber.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
A right hand finger instruction.
digit-names(vector)Names for string finger digits.
This grob interface is used in the following graphical object(s): StrokeFinger.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
This is the top-level object: Each object in a score ultimately has a System object as its X and Y parent.
labels(list)List of labels (symbols) placed on a column.
page-number(number)Page number on which this system ends up.
rank-on-page(number)0-based index of the system on a page.
all-elements(array of grobs)An array of all grobs in this line. Its function is to protect objects from being garbage collected.
columns(array of grobs)An array of grobs, typically containing
PaperColumnorNoteColumnobjects.footnote-stencil(stencil)The stencil of a system’s footnotes.
footnotes-after-line-breaking(array of grobs)Footnote grobs of a broken system.
footnotes-before-line-breaking(array of grobs)Footnote grobs of a whole system.
in-note-direction(direction)Direction to place in-notes above a system.
in-note-padding(number)Padding between in-notes.
in-note-stencil(stencil)The stencil of a system’s in-notes.
pure-Y-extent(pair of numbers)The estimated height of a system.
vertical-alignment(graphical (layout) object)The VerticalAlignment in a System.
This grob interface is used in the following graphical object(s): System.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
The brace, bracket or bar in front of the system. The following values for style are recognized:
bracketA thick bracket, normally used to group similar instruments in a score. Default for StaffGroup. SystemStartBracket uses this style.
braceA ‘piano style’ brace normally used for an instrument that uses two staves. The default style for GrandStaff. SystemStartBrace uses this style.
bar-lineA simple line between the staves in a score. Default for staves enclosed in << and >>. SystemStartBar uses this style.
line-bracketA simple square, normally used for subgrouping instruments in a score. SystemStartSquare uses this style.
See also ‘input/regression/system-start-nesting.ly’.
collapse-height(dimension, in staff space)Minimum height of system start delimiter. If equal or smaller, the bracket/brace/line is removed.
style(symbol)This setting determines in what style a grob is typeset. Valid choices depend on the
stencilcallback reading this property.thickness(number)For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e. the visual output is influenced by changes to
Staff.StaffSymbol.thickness).
This grob interface is used in the following graphical object(s): SystemStartBar, SystemStartBrace, SystemStartBracket and SystemStartSquare.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Text in front of the system.
long-text(markup)Text markup. See (notation-big-page)Formatting text section ‘Formatting text’ in Notation Reference.
self-alignment-X(number)Specify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified - the unit is half the object width.self-alignment-Y(number)Like
self-alignment-Xbut for the Y axis.text(markup)Text markup. See (notation-big-page)Formatting text section ‘Formatting text’ in Notation Reference.
This grob interface is used in the following graphical object(s): InstrumentName.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
A note head in tablature.
details(list)Alist of parameters for detailed grob behavior. More information on the allowed parameters for a grob can be found by looking at the top of the Internals Reference page for each interface having a
detailsproperty.
display-cautionary(boolean)Should the grob be displayed as a cautionary grob?
span-start(boolean)Is the note head at the start of a spanner?
This grob interface is used in the following graphical object(s): TabNoteHead.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
A Scheme markup text, see (notation-big-page)Formatting text section ‘Formatting text’ in Notation Reference and (extending-big-page)New markup command definition section ‘New markup command definition’ in Extending.
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.
flag-style(symbol)The style of the flag to be used with
MetronomeMark. Available are'modern-straight-flag,'old-straight-flag,flat-flag,mensuraland'defaultreplacement-alist(list)Alist of strings. The key is a string of the pattern to be replaced. The value is a string of what should be displayed. Useful for ligatures.
text(markup)Text markup. See (notation-big-page)Formatting text section ‘Formatting text’ in Notation Reference.
text-direction(direction)This controls the ordering of the words. The default
RIGHTis for roman text. Arabic or Hebrew should useLEFT.word-space(dimension, in staff space)Space to insert between words in texts.
This grob interface is used in the following graphical object(s): BalloonTextItem, BalloonTextSpanner, BarNumber, BassFigure, BreathingSign, ChordName, ClefModifier, CombineTextScript, DoublePercentRepeatCounter, DynamicText, DynamicTextSpanner, Fingering, FootnoteItem, FootnoteSpanner, HorizontalBracketText, InstrumentName, InstrumentSwitch, LyricText, MeasureCounter, MeasureSpanner, MetronomeMark, MultiMeasureRestNumber, MultiMeasureRestText, NoteName, OttavaBracket, PercentRepeatCounter, RehearsalMark, SostenutoPedal, StanzaNumber, StringNumber, StrokeFinger, SustainPedal, TabNoteHead, TextScript, TupletNumber, UnaCordaPedal and VoltaBracket.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
An object that is put above or below a note.
avoid-slur(symbol)Method of handling slur collisions. Choices are
inside,outside,around, andignore.insideadjusts the slur if needed to keep the grob inside the slur.outsidemoves the grob vertically to the outside of the slur.aroundmoves the grob vertically to the outside of the slur only if there is a collision.ignoredoes not move either. In grobs whose notational significance depends on vertical position (such as accidentals, clefs, etc.),outsideandaroundbehave likeignore.script-priority(number)A key for determining the order of scripts in a stack, by being added to the position of the script in the user input, the sum being the overall priority. Smaller means closer to the head.
slur(graphical (layout) object)A pointer to a
Slurobject.
This grob interface is used in the following graphical object(s): CombineTextScript, Fingering, StringNumber, StrokeFinger and TextScript.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
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.
ties(array of grobs)A grob array of
Tieobjects.
This grob interface is used in the following graphical object(s): TieColumn.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
A tie - a horizontal curve connecting two noteheads.
The following properties may be set in the details list.
height-limitThe maximum height allowed for this tie.
ratioParameter for tie shape. The higher this number, the quicker the slur attains its height-limit.
between-length-limitThis detail is currently unused.
wrong-direction-offset-penaltyDemerit for ties that are offset in the wrong direction.
min-lengthIf the tie is shorter than this amount (in staff-spaces) an increasingly large length penalty is incurred.
min-length-penalty-factorDemerit factor for tie lengths shorter than min-length.
center-staff-line-clearanceIf the center of the tie is closer to a staff line than this amount, an increasingly large staff line collision penalty is incurred.
tip-staff-line-clearanceIf the tips of the tie are closer to a staff line than this amount, an increasingly large staff line collision penalty is incurred.
staff-line-collision-penaltyDemerit factor for ties whose tips or center come close to staff lines.
dot-collision-clearanceIf the tie comes closer to a dot than this amount, an increasingly large dot collision penalty is incurred.
dot-collision-penaltyDemerit factor for ties which come close to dots.
note-head-gapThe distance (in staff-spaces) by which the ends of the tie are offset horizontally from the center line through the note head.
stem-gapThe distance (in staff-spaces) by which the ends of the tie are offset horizontally from a stem which is on the same side of the note head as the tie.
tie-column-monotonicity-penaltyDemerit if the y-position of this tie in the set of ties being considered is less than the y-position of the previous tie.
tie-tie-collision-distanceIf this tie is closer than this amount to the previous tie in the set being considered, an increasingly large tie-tie collision penalty is incurred.
tie-tie-collision-penaltyDemerit factor for a tie in the set being considered which is close to the previous one.
horizontal-distance-penalty-factorDemerit factor for ties in the set being considered which are horizontally distant from the note heads.
vertical-distance-penalty-factorDemerit factor for ties in the set being considered which are vertically distant from the note heads.
same-dir-as-stem-penaltyDemerit if tie is on the same side as a stem or on the opposite side to the one specified.
intra-space-thresholdIf the tie’s height (in half staff-spaces) is less than this it is positioned between two adjacent staff lines; otherwise it is positioned to straddle a staff line further from the note heads.
outer-tie-length-symmetry-penalty-factorDemerit factor for ties horizontally positioned unsymmetrically with respect to the two note heads.
outer-tie-vertical-distance-symmetry-penalty-factorDemerit factor for ties vertically positioned unsymmetrically with respect to the two note heads.
outer-tie-vertical-gapAmount (in half staff-spaces) by which a tie is moved away from the note heads if it is closer to either of them than 0.25 half staff-spaces.
skyline-paddingPadding of the skylines around note heads in chords.
single-tie-region-sizeThe number of candidate ties to generate when only a single tie is required. Successive candidates differ in their initial vertical position by half a staff-space.
multi-tie-region-sizeThe number of variations that are tried for the extremal ties in a chord. Variations differ in their initial vertical position by half a staff-space.
annotation(string)Annotate a grob for debug purposes.
avoid-slur(symbol)Method of handling slur collisions. Choices are
inside,outside,around, andignore.insideadjusts the slur if needed to keep the grob inside the slur.outsidemoves the grob vertically to the outside of the slur.aroundmoves the grob vertically to the outside of the slur only if there is a collision.ignoredoes not move either. In grobs whose notational significance depends on vertical position (such as accidentals, clefs, etc.),outsideandaroundbehave likeignore.control-points(list of number pairs)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-definition(pair)List of
dash-elementsdefining the dash structure. Eachdash-elementhas a starting t value, an ending t-value, adash-fraction, and adash-period.details(list)Alist of parameters for detailed grob behavior. More information on the allowed parameters for a grob can be found by looking at the top of the Internals Reference page for each interface having a
detailsproperty.direction(direction)If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.head-direction(direction)Are the note heads left or right in a semitie?
line-thickness(number)For slurs and ties, this is the diameter of the virtual “pen” that draws the two arcs of the curve’s outline, which intersect at the endpoints. This property is expressed as a multiple of the current staff-line thickness (i.e. the visual output is influenced by changes to
Staff.StaffSymbol.thickness).neutral-direction(direction)Which direction to take in the center of the staff.
staff-position(number)Vertical position, measured in half staff spaces, counted from the middle line.
thickness(number)For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e. the visual output is influenced by changes to
Staff.StaffSymbol.thickness).
This grob interface is used in the following graphical object(s): Tie.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
A time signature, in different styles. The following values for style are are recognized:
C 4/4 and 2/2 are typeset as C and struck C, respectively. All other time signatures are written with two digits. The value default is equivalent to C.
neomensural2/2, 3/2, 2/4, 3/4, 4/4, 6/4, 9/4, 4/8, 6/8, and 9/8 are typeset with neo-mensural style mensuration marks. All other time signatures are written with two digits.
mensural2/2, 3/2, 2/4, 3/4, 4/4, 6/4, 9/4, 4/8, 6/8, and 9/8 are typeset with mensural style mensuration marks. All other time signatures are written with two digits.
single-digitAll time signatures are typeset with a single digit, e.g., 3/2 is written as 3.
numberedAll time signatures are typeset with two digits.
fraction(fraction, as pair)Numerator and denominator of a time signature object.
style(symbol)This setting determines in what style a grob is typeset. Valid choices depend on the
stencilcallback reading this property.
This grob interface is used in the following graphical object(s): TimeSignature.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
An accidental for trill pitch.
This grob interface is used in the following graphical object(s): TrillPitchAccidental.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
A trill spanner.
This grob interface is used in the following graphical object(s): TrillSpanner.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
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.
avoid-scripts(boolean)If set, a tuplet bracket avoids the scripts associated with the note heads it encompasses.
bracket-flare(pair of numbers)A pair of numbers specifying how much edges of brackets should slant outward. Value
0.0means straight edges.bracket-visibility(boolean or symbol)This controls the visibility of the tuplet bracket. Setting it to false prevents printing of the bracket. Setting the property to
if-no-beammakes it print only if there is no beam associated with this tuplet bracket.break-overshoot(pair of numbers)How much does a broken spanner stick out of its bounds?
connect-to-neighbor(pair)Pair of booleans, indicating whether this grob looks as a continued break.
dashed-edge(boolean)If set, the bracket edges are dashed like the rest of the bracket.
direction(direction)If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.edge-height(pair)A pair of numbers specifying the heights of the vertical edges:
(left-height . right-height).edge-text(pair)A pair specifying the texts to be set at the edges:
(left-text . right-text).full-length-padding(number)How much padding to use at the right side of a full-length tuplet bracket.
full-length-to-extent(boolean)Run to the extent of the column for a full-length tuplet bracket.
gap(dimension, in staff space)Size of a gap in a variable symbol.
padding(dimension, in staff space)Add this much extra space between objects that are next to each other.
positions(pair of numbers)Pair of staff coordinates
(left . right), where both left and right are instaff-spaceunits of the current staff. For slurs, this value selects which slur candidate to use; if extreme positions are requested, the closest one is taken.shorten-pair(pair of numbers)The lengths to shorten on both sides a hairpin or text-spanner such as a pedal bracket. Positive values shorten the hairpin or text-spanner, while negative values lengthen it.
staff-padding(dimension, in staff space)Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
thickness(number)For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e. the visual output is influenced by changes to
Staff.StaffSymbol.thickness).tuplet-slur(boolean)Draw a slur instead of a bracket for tuplets.
X-positions(pair of numbers)Pair of X staff coordinates of a spanner in the form
(left . right), where both left and right are instaff-spaceunits of the current staff.
note-columns(array of grobs)An array of
NoteColumngrobs.scripts(array of grobs)An array of
Scriptobjects.tuplet-number(graphical (layout) object)The number for a bracket.
tuplets(array of grobs)An array of smaller tuplet brackets.
This grob interface is used in the following graphical object(s): LigatureBracket and TupletBracket.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
The number for a bracket.
avoid-slur(symbol)Method of handling slur collisions. Choices are
inside,outside,around, andignore.insideadjusts the slur if needed to keep the grob inside the slur.outsidemoves the grob vertically to the outside of the slur.aroundmoves the grob vertically to the outside of the slur only if there is a collision.ignoredoes not move either. In grobs whose notational significance depends on vertical position (such as accidentals, clefs, etc.),outsideandaroundbehave likeignore.direction(direction)If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.knee-to-beam(boolean)Determines whether a tuplet number will be positioned next to a kneed beam.
bracket(graphical (layout) object)The bracket for a number.
This grob interface is used in the following graphical object(s): TupletNumber.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
A spanner that should not be broken across line breaks. Override
with breakable=##t.
breakable(boolean)Allow breaks here.
This grob interface is used in the following graphical object(s): Beam and Glissando.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
A vaticana style Gregorian ligature.
glyph-name(string)The glyph name within the font.
In the context of (span) bar lines, glyph-name represents a processed form of
glyph, where decisions about line breaking etc. are already taken.thickness(number)For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e. the visual output is influenced by changes to
Staff.StaffSymbol.thickness).
add-cauda(boolean)Does this flexa require an additional cauda on the left side?
add-join(boolean)Is this ligature head-joined with the next one by a vertical line?
add-stem(boolean)Is this ligature head a virga and therefore needs an additional stem on the right side?
delta-position(number)The vertical position difference.
flexa-height(dimension, in staff space)The height of a flexa shape in a ligature grob (in
staff-spaceunits).flexa-width(dimension, in staff space)The width of a flexa shape in a ligature grob (in
staff-spaceunits).x-offset(dimension, in staff space)Extra horizontal offset for ligature heads.
This grob interface is used in the following graphical object(s): NoteHead and VaticanaLigature.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Volta bracket with number.
dashed-edge(boolean)If set, the bracket edges are dashed like the rest of the bracket.
height(dimension, in staff space)Height of an object in
staff-spaceunits.shorten-pair(pair of numbers)The lengths to shorten on both sides a hairpin or text-spanner such as a pedal bracket. Positive values shorten the hairpin or text-spanner, while negative values lengthen it.
thickness(number)For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e. the visual output is influenced by changes to
Staff.StaffSymbol.thickness).
bars(array of grobs)An array of bar line pointers.
This grob interface is used in the following graphical object(s): VoltaBracket.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
A volta repeat.
This grob interface is used in the following graphical object(s): VoltaBracket and VoltaBracketSpanner.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
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.
allow-span-bar (boolean)If false, no inter-staff bar line will be created below this bar line.
alteration (number)Alteration numbers for accidental.
alteration-alist (list)List of (pitch
. accidental) pairs for key signature.
annotation (string)Annotate a grob for debug purposes.
annotation-balloon (boolean)Print the balloon around an annotation.
annotation-line (boolean)Print the line from an annotation to the grob that it annotates.
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 and it is larger than this number, make a kneed beam.
automatically-numbered (boolean)If set, footnotes are automatically numbered.
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-scripts (boolean)If set, a tuplet bracket avoids the scripts associated with the note heads it encompasses.
avoid-slur (symbol)Method of handling slur collisions.
Choices are inside, outside, around, and
ignore. inside adjusts the slur if needed to keep the
grob inside the slur. outside moves the grob vertically to the
outside of the slur. around moves the grob vertically to the
outside of the slur only if there is a collision. ignore does
not move either. In grobs whose notational significance depends on
vertical position (such as accidentals, clefs, etc.), outside
and around behave like ignore.
axes (list)List of axis numbers. In the case of alignment grobs, this should contain only one number.
bar-extent (pair of numbers)The Y-extent of the actual bar line.
This may differ from Y-extent because it does not include the
dots in a repeat bar line.
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.
beamlet-default-length (pair)A pair of numbers. The first
number specifies the default length of a beamlet that sticks out of
the left hand side of this stem; the second number specifies the
default length of the beamlet to the right. The actual length of a
beamlet is determined by taking either the default length or the
length specified by beamlet-max-length-proportion, whichever is
smaller.
beamlet-max-length-proportion (pair)The maximum length of a beamlet, as a proportion of the distance between two adjacent stems.
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 breakable item will have their X-offsets shifted by this number. In bar lines, for example, this is used to position grobs relative to the (visual) center of the bar line.
break-align-anchor-alignment (number)Read by
ly:break-aligned-interface::calc-extent-aligned-anchor for
aligning an anchor to a grob’s extent.
break-align-orders (vector)This is a vector of 3 lists:
#(end-of-line unbroken start-of-line).
Each list contains break-align symbols that specify an
order of breakable items (see
(internals-big-page)break-alignment-interface section ‘break-alignment-interface’ in Internals Reference).
For example, this places time signatures before clefs:
\override Score.BreakAlignment.break-align-orders =
#(make-vector 3 '(left-edge
cue-end-clef
ambitus
breathing-sign
time-signature
clef
cue-clef
staff-bar
key-cancellation
key-signature
custos))
|
break-align-symbol (symbol)This key is used for aligning, ordering, and spacing breakable items. See (internals-big-page)break-alignment-interface section ‘break-alignment-interface’ in Internals Reference.
break-align-symbols (list)A list of
break-align symbols that determines which breakable
items 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). Choices are listed in
(internals-big-page)break-alignment-interface section ‘break-alignment-interface’ in Internals Reference.
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.
broken-bound-padding (number)The amount of padding to insert when a spanner is broken at a line break.
chord-dots-limit (integer)Limits the column of dots
on each chord to the height of the chord plus
chord-dots-limit staff-positions.
circled-tip (boolean)Put a circle at start/end of hairpins (al/del niente).
clef-alignments (list)An alist of parent-alignments that should be used for clef modifiers with various clefs
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/brace/line is removed.
collision-interfaces (list)A list of interfaces for which automatic beam-collision resolution is run.
collision-voice-only (boolean)Does automatic beam collsion apply only to the voice in which the beam was created?
color (color)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 of number pairs)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.
count-from (integer)The first measure in a measure count receives this number. The following measures are numbered in increments from this initial value.
damping (number)Amount of beam slope damping.
dash-definition (pair)List of dash-elements defining the
dash structure. Each dash-element has a starting t value,
an ending t-value, a dash-fraction, and a dash-period.
dash-fraction (number)Size of the dashes, relative to
dash-period. Should be between 0.1 and
1.0 (continuous line). If set to 0.0, a dotted line is
produced
dash-period (number)The length of one dash together with whitespace. If negative, no line is drawn at all.
dashed-edge (boolean)If set, the bracket edges are dashed like the rest of the bracket.
default-direction (direction)Direction determined by note head positions.
default-staff-staff-spacing (list)The settings to use for
staff-staff-spacing when it is unset, for ungrouped staves
and for grouped staves that do not have the relevant
StaffGrouper property set (staff-staff-spacing or
staffgroup-staff-spacing).
details (list)Alist of parameters for detailed grob behavior.
More information on the allowed parameters for a grob can be found by
looking at the top of the Internals Reference page for each interface
having a details property.
digit-names (vector)Names for string finger digits.
direction (direction)If side-axis is 0 (or
X), then this property determines whether the object is placed
LEFT, CENTER or RIGHT with respect to the
other object. Otherwise, it determines whether the object is placed
UP, CENTER or DOWN. Numerical values may also
be used: UP=1, DOWN=-1,
LEFT=-1, RIGHT=1,
CENTER=0.
dot-count (integer)The number of dots.
dot-negative-kern (number)The space to remove between a dot and a slash in percent repeat glyphs. Larger values bring the two elements closer together.
dot-placement-list (list)List consisting of
(description string-number fret-number
finger-number) entries used to define fret diagrams.
double-stem-separation (number)The distance between the two
stems of a half note in tablature when using \tabFullNotation,
not counting the width of the stems themselves, expressed as a multiple
of the default height of a staff-space in the traditional five-line
staff.
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-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. The values are measured in
staff-space units of the staff’s StaffSymbol.
extra-spacing-height (pair of numbers)In the horizontal spacing
problem, we increase the height of each item by this amount (by adding
the ‘car’ to the bottom of the item and adding the ‘cdr’ to the
top of the item). In order to make a grob infinitely high (to prevent
the horizontal spacing problem from placing any other grobs above or
below this grob), set this to (-inf.0 . +inf.0).
extra-spacing-width (pair of numbers)In the horizontal spacing
problem, we pad each item by this amount (by adding the ‘car’ on the
left side of the item and adding the ‘cdr’ on the right side of the
item). In order to make a grob take up no horizontal space at all,
set this to (+inf.0 . -inf.0).
flag-count (number)The number of tremolo beams.
flag-style (symbol)The style of the flag to be used with
MetronomeMark. Available are 'modern-straight-flag,
'old-straight-flag, flat-flag, mensural and
'default
flat-positions (list)Flats in key signatures are placed
within the specified ranges of staff-positions. The general form
is a list of pairs, with one pair for each type of clef, in order
of the staff-position at which each clef places C:
(alto treble tenor soprano baritone mezzosoprano bass).
If the list contains a single element it applies for all clefs.
A single number in place of a pair sets accidentals within the octave
ending at that staff-position.
font-encoding (symbol)The font encoding is the broadest
category for selecting a font. Currently, only lilypond’s system
fonts (Emmentaler) are using this property. Available
values are fetaMusic (Emmentaler), fetaBraces,
fetaText (Emmentaler).
font-family (symbol)The font family is the broadest category
for selecting text fonts. Options include: sans,
roman.
font-features (list)Opentype features.
font-name (string)Specifies a file name (without extension) of
the font to load. This setting overrides selection using
font-family, font-series and font-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. If the context property fontSize is set, its value is
added to this before the glyph is printed. Fractional values are
allowed.
footnote (boolean)Should this be a footnote or in-note?
footnote-music (music)Music creating a footnote.
footnote-text (markup)A footnote for the grob.
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 (internals-big-page)note-collision-interface section ‘note-collision-interface’ in Internals Reference.
forced-spacing (number)Spacing forced between grobs, used in various ligature engravers.
fraction (fraction, as pair)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-diagram-details (list)An alist of detailed grob
properties for fret diagrams. Each alist entry consists of a
(property . value) pair. The properties which can
be included in fret-diagram-details include the following:
barre-type – Type of barre indication used. Choices include
curved, straight, and none. Default
curved.
capo-thickness – Thickness of capo indicator, in multiples of
fret-space. Default value 0.5.
dot-color – Color of dots. Options include black and
white. Default black.
dot-label-font-mag – Magnification for font used to label fret
dots. Default value 1.
dot-position – Location of dot in fret space. Default 0.6 for
dots without labels, 0.95-dot-radius for dots with labels.
dot-radius – Radius of dots, in terms of fret spaces. Default
value 0.425 for labeled dots, 0.25 for unlabeled dots.
finger-code – Code for the type of fingering indication used.
Options include none, in-dot, and below-string.
Default none for markup fret diagrams, below-string for
FretBoards fret diagrams.
fret-count – The number of frets. Default 4.
fret-distance – Multiplier to adjust the distance between frets.
Default 1.0.
fret-label-custom-format – The format string to be used label
the lowest fret number, when number-type equals to
custom. Default "~a".
fret-label-font-mag – The magnification of the font used to
label the lowest fret number. Default 0.5.
fret-label-vertical-offset – The offset of the fret label from
the center of the fret in direction parallel to strings.
Default 0.
fret-label-horizontal-offset – The offset of the fret label from
the center of the fret in direction orthogonal to strings.
Default 0.
handedness – Print the fret-diagram left- or right-handed.
-1, LEFT for left ; 1, RIGHT for right.
Default RIGHT.
paren-padding – The padding for the parenthesis.
Default 0.05.
label-dir – Side to which the fret label is attached.
-1, LEFT, or DOWN for left or down; 1,
RIGHT, or UP for right or up. Default RIGHT.
mute-string – Character string to be used to indicate muted
string. Default "x".
number-type – Type of numbers to use in fret label. Choices
include roman-lower, roman-upper, arabic and
custom. In the later case, the format string is supplied by
the fret-label-custom-format property.
Default roman-lower.
open-string – Character string to be used to indicate open
string. Default "o".
orientation – Orientation of fret-diagram. Options include
normal, landscape, and opposing-landscape.
Default normal.
string-count – The number of strings. Default 6.
string-distance – Multiplier to adjust the distance between strings.
Default 1.0.
string-label-font-mag – The magnification of the font used to
label fingerings at the string, rather than in the dot. Default value
0.6 for normal orientation, 0.5 for landscape and
opposing-landscape.
string-thickness-factor – Factor for changing thickness of
each string in the fret diagram. Thickness of string k is given
by thickness
* (1+string-thickness-factor) ^ (k-1).
Default 0.
top-fret-thickness – The thickness of the top fret line, as a
multiple of the standard thickness. Default value 3.
xo-font-magnification – Magnification used for mute and open
string indicators. Default value 0.5.
xo-padding – Padding for open and mute indicators from top
fret. Default value 0.25.
full-length-padding (number)How much padding to use at the right side of a full-length tuplet bracket.
full-length-to-extent (boolean)Run to the extent of the column for a full-length tuplet bracket.
full-measure-extra-space (number)Extra space that is allocated at the beginning of a measure with only one note. This property is read from the NonMusicalPaperColumn that begins the measure.
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.
glissando-skip (boolean)Should this NoteHead be skipped
by glissandi?
glyph (string)A string determining what ‘style’ of glyph is typeset. Valid choices depend on the function that is reading this property.
In combination with (span) bar lines, it is a string resembling the bar line appearance in ASCII form.
glyph-name (string)The glyph name within the font.
In the context of (span) bar lines, glyph-name represents
a processed form of glyph, where decisions about line breaking
etc. are already taken.
glyph-name-alist (list)An alist of key-string pairs.
graphical (boolean)Display in graphical (vs. text) form.
grow-direction (direction)Crescendo or decrescendo?
hair-thickness (number)Thickness of the thin line in a bar
line, expressed as a multiple of the default staff-line
thickness (i.e. the visual output is not influenced by changes
to Staff.StaffSymbol.thickness).
harp-pedal-details (list)An alist of detailed grob properties
for harp pedal diagrams. Each alist entry consists of a
(property . value) pair. The properties which can
be included in harp-pedal-details include the following:
box-offset – Vertical shift of the center of flat/sharp pedal
boxes above/below the horizontal line. Default value 0.8.
box-width – Width of each pedal box. Default value 0.4.
box-height – Height of each pedal box. Default value 1.0.
space-before-divider – Space between boxes before the first
divider (so that the diagram can be made symmetric). Default
value 0.8.
space-after-divider – Space between boxes after the first
divider. Default value 0.8.
circle-thickness – Thickness (in unit of the line-thickness)
of the ellipse around circled pedals. Default value 0.5.
circle-x-padding – Padding in X direction of the ellipse
around circled pedals. Default value 0.15.
circle-y-padding – Padding in Y direction of the ellipse
around circled pedals. Default value 0.2.
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.
hide-tied-accidental-after-break (boolean)If set, an accidental that appears on a tied note after a line break will not be displayed.
horizon-padding (number)The amount to pad the axis
along which a Skyline is built for the
side-position-interface.
horizontal-shift (integer)An integer that identifies ranking
of NoteColumns for horizontal shifting. This is used by
(internals-big-page)note-collision-interface section ‘note-collision-interface’ in Internals Reference.
horizontal-skylines (pair of skylines)Two skylines, one to the left and one to the right of this grob.
id (string)An id string for the grob.
ignore-ambitus (boolean)If set, don’t consider this notehead for ambitus calculation.
ignore-collision (boolean)If set, don’t do note collision
resolution on this NoteColumn.
implicit (boolean)Is this an implicit bass figure?
inspect-quants (pair of numbers)If debugging is set, set beam and slur position to a (quantized) position that is as close as possible to this value, and print the demerits for the inspected position in the output.
keep-inside-line (boolean)If set, this column cannot have objects sticking into the margin.
kern (dimension, in staff space)The space between individual elements
in any compound bar line, expressed as a multiple of the default
staff-line thickness (i.e. the visual output is not
influenced by changes to
Staff.StaffSymbol.thickness).
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 and 1 for full correction.
knee-to-beam (boolean)Determines whether a tuplet number will be positioned next to a kneed beam.
labels (list)List of labels (symbols) placed on a column.
layer (integer)An integer which determines the order of printing objects. Objects with the lowest value of layer are drawn first, then objects with progressively higher values are drawn, so objects with higher values overwrite objects with lower values. By default most objects are assigned a layer value of 1.
ledger-extra (dimension, in staff space)Extra distance from staff line to draw ledger lines for.
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.
ledger-positions (list)Vertical positions of ledger lines.
When set on a StaffSymbol grob it defines a repeating
pattern of ledger lines and any parenthesized groups will always be
shown together.
ledger-positions-function (any type)A quoted Scheme procedure that
takes a StaffSymbol grob and the vertical position of a note head
as arguments and returns a list of ledger line positions.
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 lyric extender).
length (dimension, in staff space)User override for the stem length of
unbeamed stems (each unit represents half a staff-space).
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 prefers a line break at a column with a negative penalty.
line-break-permission (symbol)Instructs the line breaker on
whether to put a line break at this column. Can be force or
allow.
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)For slurs and ties, this is the
diameter of the virtual “pen” that draws the two arcs of the
curve’s outline, which intersect at the endpoints. This property is
expressed as a multiple of the current staff-line thickness (i.e. the
visual output is influenced by changes to
Staff.StaffSymbol.thickness).
long-text (markup)Text markup. See (notation-big-page)Formatting text section ‘Formatting text’ in Notation Reference.
max-beam-connect (integer)Maximum number of beams to connect to beams from this stem. Further beams are typeset as beamlets.
max-symbol-separation (number)The maximum distance between symbols making up a church rest.
maximum-gap (number)Maximum value allowed for gap
property.
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 (internals-big-page)note-collision-interface section ‘note-collision-interface’ in Internals Reference.
merge-differently-headed only applies to opposing stem
directions (i.e., voice 1 & 2).
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 a Tie, this sets the minimum distance between
noteheads.
minimum-length-after-break (dimension, in staff space)If set, try to make
a broken spanner starting a line this long. This requires an
appropriate callback for the springs-and-rods property. If
added to a Tie, this sets the minimum distance to the
notehead.
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).
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)Minimum size of an object in
Y dimension, measured in staff-space units.
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 (graphical (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-break-align-symbols (list)A list of symbols that determine which NON-break-aligned interfaces to align this to.
non-default (boolean)Set for manually specified clefs and keys.
non-musical (boolean)True if the grob belongs to a
NonMusicalPaperColumn.
nonstaff-nonstaff-spacing (list)The spacing alist
controlling the distance between the current non-staff line and
the next non-staff line in the direction of staff-affinity,
if both are on the same side of the related staff, and
staff-affinity is either UP or DOWN. See
staff-staff-spacing for a description of the alist
structure.
nonstaff-relatedstaff-spacing (list)The spacing alist
controlling the distance between the current non-staff line and
the nearest staff in the direction of staff-affinity, if
there are no non-staff lines between the two, and
staff-affinity is either UP or DOWN. If
staff-affinity is CENTER, then
nonstaff-relatedstaff-spacing is used for the nearest
staves on both sides, even if other non-staff lines appear
between the current one and either of the staves. See
staff-staff-spacing for a description of the alist
structure.
nonstaff-unrelatedstaff-spacing (list)The spacing alist
controlling the distance between the current non-staff line and
the nearest staff in the opposite direction from
staff-affinity, if there are no other non-staff lines
between the two, and staff-affinity is either UP or
DOWN. See staff-staff-spacing for a description of
the alist structure.
normalized-endpoints (pair)Represents left and right placement over the total spanner, where the width of the spanner is normalized between 0 and 1.
note-collision-threshold (dimension, in staff space)Simultaneous notes that
are this close or closer in units of staff-space will be
identified as vertically colliding. Used by Stem grobs for notes
in the same voice, and NoteCollision grobs for notes in
different voices. Default value 1.
note-names (vector)Vector of strings containing names for easy-notation note heads.
number-type (symbol)Numbering style. Choices include
roman-lower, roman-upper and arabic.
output-attributes (list)An alist of attributes for the grob, to
be included in output files. When the SVG typesetting backend is used,
the attributes are assigned to a group (<g>) containing all of the
stencils that comprise a given grob. For example,
'((id . 123) (class . foo) (data-whatever . “bar”)) will produce
<g id=“123” class=“foo” data-whatever=“bar”> … </g>.
In the Postscript backend, where there is no way to group items, the
setting of the output-attributes property will have no effect.
outside-staff-horizontal-padding (number)By default, an outside-staff-object can be placed so that is it very close to another grob horizontally. If this property is set, the outside-staff-object is raised so that it is not so close to its neighbor.
outside-staff-padding (number)The padding to place between
grobs when spacing according to outside-staff-priority.
Two grobs with different outside-staff-padding values have
the larger value of padding between them.
outside-staff-placement-directive (symbol)One of four directives telling how outside staff objects should be placed.
left-to-right-greedy – Place each successive grob from left to
right.
left-to-right-polite – Place a grob from left to right only if
it does not potentially overlap with another grob that has been placed
on a pass through a grob array. If there is overlap, do another pass to
determine placement.
right-to-left-greedy – Same as left-to-right-greedy, but
from right to left.
right-to-left-polite – Same as left-to-right-polite, but
from right to left.
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.
padding-pairs (list)An alist mapping (name
. name) to distances.
page-break-penalty (number)Penalty for page break at this column. This affects the choices of the page breaker; it avoids a page break at a column with a positive penalty and prefers a page break at a column with a negative penalty.
page-break-permission (symbol)Instructs the page breaker on
whether to put a page break at this column. Can be force or
allow.
page-number (number)Page number on which this system ends up.
page-turn-penalty (number)Penalty for a page turn at this column. This affects the choices of the page breaker; it avoids a page turn at a column with a positive penalty and prefers a page turn at a column with a negative penalty.
page-turn-permission (symbol)Instructs the page breaker on
whether to put a page turn at this column. Can be force or
allow.
parent-alignment-X (number)Specify on which point
of the parent the object is aligned. The value -1 means
aligned on parent’s left edge, 0 on center, and
1 right edge, in X direction. Other numerical
values may also be specified - the unit is half the parent’s width.
If unset, the value from self-alignment-X property will be
used.
parent-alignment-Y (number)Like parent-alignment-X
but for the Y axis.
parenthesis-friends (list)A list of Grob types, as symbols. When parentheses enclose a Grob that has ’parenthesis-friends, the parentheses widen to include any child Grobs with type among ’parenthesis-friends.
parenthesized (boolean)Parenthesize this grob.
positions (pair of numbers)Pair of staff coordinates
(left . right), where both left and
right are in staff-space units of the current staff. For
slurs, this value selects which slur candidate to use; if extreme
positions are requested, the closest one is taken.
prefer-dotted-right (boolean)For note collisions, prefer to shift dotted up-note to the right, rather than shifting just the dot.
protrusion (number)In an arpeggio bracket, the length of the horizontal edges.
rank-on-page (number)0-based index of the system on a page.
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 an orchestral score?
remove-layer (index or symbol)When set as a positive integer, the
Keep_alive_together_engraver removes all
VerticalAxisGroup grobs with a remove-layer larger than
the smallest retained remove-layer. Set to #f to make a
layer independent of the Keep_alive_together_engraver. Set to
'(), the layer does not participate in the layering decisions.
The property can also be set as a symbol for common behaviors:
#'any to keep the layer alive with any other layer in the
group; #'above or #'below to keep the layer alive with
the context immediately before or after it, respectively.
replacement-alist (list)Alist of strings. The key is a string of the pattern to be replaced. The value is a string of what should be displayed. Useful for ligatures.
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.
round-up-exceptions (list)A list of pairs where car is the numerator and cdr the denominator of a moment. Each pair in this list means that the multi-measure rests of the corresponding length will be rounded up to the longer rest. See round-up-to-longer-rest.
round-up-to-longer-rest (boolean)Displays the longer multi-measure
rest when the length of a measure is between two values of
usable-duration-logs. For example, displays a breve instead of a whole
in a 3/2 measure.
rounded (boolean)Decide whether lines should be drawn rounded or not.
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 key for determining the order of scripts in a stack, by being added to the position of the script in the user input, the sum being the overall priority. Smaller means closer to the head.
segno-kern (number)The space between the two thin lines
of the segno bar line symbol, expressed as a multiple of the
default staff-line thickness (i.e. the visual output is not
influenced by changes to
Staff.StaffSymbol.thickness).
self-alignment-X (number)Specify alignment of an object. The
value -1 means left aligned, 0 centered, and
1 right-aligned in X direction. Other numerical
values may also be specified - the unit is half the object width.
self-alignment-Y (number)Like self-alignment-X but for
the Y axis.
shape (symbol)This setting determines what shape a grob
has. Valid choices depend on the stencil callback reading
this property.
sharp-positions (list)Sharps in key signatures are placed
within the specified ranges of staff-positions. The general form
is a list of pairs, with one pair for each type of clef, in order
of the staff-position at which each clef places C:
(alto treble tenor soprano baritone mezzosoprano bass).
If the list contains a single element it applies for all clefs.
A single number in place of a pair sets accidentals within the octave
ending at that staff-position.
shorten-pair (pair of numbers)The lengths to shorten on both sides a hairpin or text-spanner such as a pedal bracket. Positive values shorten the hairpin or text-spanner, while negative values lengthen it.
shortest-duration-space (number)Start with this multiple of
spacing-increment space for the shortest duration. See also
(internals-big-page)spacing-spanner-interface section ‘spacing-spanner-interface’ in Internals Reference.
shortest-playing-duration (moment)The duration of the shortest note playing here.
shortest-starter-duration (moment)The duration of the shortest note that starts here.
side-axis (number)If the value is X (or
equivalently 0), the object is placed horizontally next to
the other object. If the value is Y or 1, it is
placed vertically.
side-relative-direction (direction)Multiply direction of
direction-source with this to get the direction of this
object.
simple-Y (boolean)Should the Y placement of a spanner disregard changes in system heights?
size (number)The ratio of the size of the object to its default size.
skip-quanting (boolean)Should beam quanting be skipped?
skyline-horizontal-padding (number)For determining the vertical distance between two staves, it is possible to have a configuration which would result in a tight interleaving of grobs from the top staff and the bottom staff. The larger this parameter is, the farther apart the staves are placed in such a configuration.
skyline-vertical-padding (number)The amount by which the left
and right skylines of a column are padded vertically, beyond the
Y-extents and extra-spacing-heights of the constituent
grobs in the column. Increase this to prevent interleaving of grobs
from adjacent columns.
slash-negative-kern (number)The space to remove between slashes in percent repeat glyphs. Larger values bring the two elements closer together.
slope (number)The slope of this object.
slur-padding (number)Extra distance between slur and script.
snap-radius (number)The maximum distance between two objects that will cause them to snap to alignment along an axis.
space-alist (list)An alist that specifies distances from this grob to other breakable items, using the format:
'((break-align-symbol . (spacing-style . space)) (break-align-symbol . (spacing-style . space)) ...) |
Standard choices for break-align-symbol are listed in
(internals-big-page)break-alignment-interface section ‘break-alignment-interface’ in Internals Reference. Additionally, three special
break-align symbols available to space-alist are:
first-noteused when the grob is just left of the first note on a line
next-noteused when the grob is just left of any other note; if not set, the value of
first-notegets usedright-edgeused when the grob is the last item on the line (only compatible with the
extra-spacespacing style)
Choices for spacing-style are:
extra-spacePut this much space between the two grobs. The space is stretchable when paired with
first-noteornext-note; otherwise it is fixed.minimum-spacePut at least this much space between the left sides of both grobs, without allowing them to collide. The space is stretchable when paired with
first-noteornext-note; otherwise it is fixed. Not compatible withright-edge.fixed-spaceOnly compatible with
first-noteandnext-note. Put this much fixed space between the grob and the note.minimum-fixed-spaceOnly compatible with
first-noteandnext-note. Put at least this much fixed space between the left side of the grob and the left side of the note, without allowing them to collide.semi-fixed-spaceOnly compatible with
first-noteandnext-note. Put this much space between the grob and the note, such that half of the space is fixed and half is stretchable.
Rules for this spacing are much more complicated than this. See [Wanske] page 126–134, [Ross] page 143–147.
space-to-barline (boolean)If set, the distance between a note and the following non-musical column will be measured to the bar line instead of to the beginning of the non-musical column. If there is a clef change followed by a bar line, for example, this means that we will try to space the non-musical column as though the clef is not there.
spacing-increment (dimension, in staff space)The unit of length for note-spacing. Typically, the width of a note head. See also (internals-big-page)spacing-spanner-interface section ‘spacing-spanner-interface’ in Internals Reference.
spacing-pair (pair)A pair of alignment symbols which set an object’s
spacing relative to its left and right BreakAlignments.
For example, a MultiMeasureRest will ignore prefatory items at its
bounds (i.e., clefs, key signatures and time signatures) using the following
override:
\override MultiMeasureRest.spacing-pair = #'(staff-bar . staff-bar) |
spanner-id (index or symbol)An identifier to distinguish concurrent spanners.
springs-and-rods (boolean)Dummy variable for triggering spacing routines.
stacking-dir (direction)Stack objects in which direction?
staff-affinity (direction)The direction of the staff to use
for spacing the current non-staff line. Choices are UP,
DOWN, and CENTER. If CENTER, the non-staff
line will be placed equidistant between the two nearest staves on
either side, unless collisions or other spacing constraints
prevent this. Setting staff-affinity for a staff causes it
to be treated as a non-staff line. Setting staff-affinity
to #f causes a non-staff line to be treated as a staff.
staff-padding (dimension, in staff space)Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
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.
staff-staff-spacing (list)When applied to a staff-group’s
StaffGrouper grob, this spacing alist controls the distance
between consecutive staves within the staff-group. When applied
to a staff’s VerticalAxisGroup grob, it controls the
distance between the staff and the nearest staff below it in the
same system, replacing any settings inherited from the
StaffGrouper grob of the containing staff-group, if there
is one. This property remains in effect even when non-staff lines
appear between staves. The alist can contain the following keys:
basic-distance – the vertical distance, measured in
staff-spaces, between the reference points of the two items when
no collisions would result, and no stretching or compressing is in
effect.
minimum-distance – the smallest allowable vertical
distance, measured in staff-spaces, between the reference points
of the two items, when compressing is in effect.
padding – the minimum required amount of unobstructed
vertical whitespace between the bounding boxes (or skylines) of
the two items, measured in staff-spaces.
stretchability – a unitless measure of the dimension’s
relative propensity to stretch. If zero, the distance will not
stretch (unless collisions would result).
staffgroup-staff-spacing (list)The spacing alist
controlling the distance between the last staff of the current
staff-group and the staff just below it in the same system, even
if one or more non-staff lines exist between the two staves. If
the staff-staff-spacing property of the staff’s
VerticalAxisGroup grob is set, that is used instead. See
staff-staff-spacing for a description of the alist
structure.
stem-attachment (pair of numbers)An (x . y)
pair where the stem attaches to the notehead.
stem-begin-position (number)User override for the begin position of a stem.
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 be a stem over a rest?
stencil (stencil)The symbol to print.
stencils (list)Multiple stencils, used as intermediate value.
strict-grace-spacing (boolean)If set, main notes are spaced normally, then grace notes are put left of the musical columns for the main notes.
strict-note-spacing (boolean)If set, unbroken columns with non-musical material (clefs, bar lines, etc.) are not spaced separately, but put before musical columns.
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 (notation-big-page)Formatting text section ‘Formatting text’ in Notation Reference.
text-direction (direction)This controls the ordering of the
words. The default RIGHT is for roman text. Arabic or Hebrew
should use LEFT.
thick-thickness (number)Thickness of the thick line in a
bar line, expressed as a multiple of the default staff-line
thickness (i.e. the visual output is not influenced by
changes to Staff.StaffSymbol.thickness).
thickness (number)For grobs made up of lines, this is the
thickness of the line. For slurs and ties, this is the distance
between the two arcs of the curve’s outline at its thickest point,
not counting the diameter of the virtual “pen” that draws the
arcs. This property is expressed as a multiple of the current
staff-line thickness (i.e. the visual output is influenced by
changes to Staff.StaffSymbol.thickness).
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 the bar line just before it would otherwise stop.
toward-stem-shift (number)Amount by which scripts are shifted
toward the stem if their direction coincides with the stem direction.
0.0 means centered on the note head (the default position of
most scripts); 1.0 means centered on the stem. Interpolated
values are possible.
toward-stem-shift-in-column (number)Amount by which a script
is shifted toward the stem if its direction coincides with the stem
direction and it is associated with a ScriptColumn object.
0.0 means centered on the note head (the default position of
most scripts); 1.0 means centered on the stem. Interpolated
values are possible.
transparent (boolean)This makes the grob invisible.
tuplet-slur (boolean)Draw a slur instead of a bracket for tuplets.
uniform-stretching (boolean)If set, items stretch proportionally to their natural separation based on durations. This looks better in complex polyphonic patterns.
usable-duration-logs (list)List of duration-logs that
can be used in typesetting the grob.
use-skylines (boolean)Should skylines be used for side positioning?
used (boolean)If set, this spacing column is kept in the spacing problem.
vertical-skylines (pair of skylines)Two skylines, one above and one below this grob.
voiced-position (number)The staff-position of a voiced
Rest, negative if the rest has direction DOWN.
when (moment)Global time step associated with this column.
whiteout (boolean-or-number)If a number or true, the grob is
printed over a white background to white-out underlying material, if
the grob is visible. A number indicates how far the white background
extends beyond the bounding box of the grob as a multiple of the
staff-line thickness. The LyricHyphen grob uses a special
implementation of whiteout: A positive number indicates how far the
white background extends beyond the bounding box in multiples of
line-thickness. The shape of the background is determined by
whiteout-style. Usually #f by default.
whiteout-style (symbol)Determines the shape of the
whiteout background. Available are 'outline,
'rounded-box, and the default 'box. There is one
exception: Use 'special for LyricHyphen.
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.
X-align-on-main-noteheads (boolean)If true, this grob will ignore suspended noteheads when aligning itself on NoteColumn.
X-extent (pair of numbers)Extent (size) in the X direction, measured in staff-space units, relative to object’s reference point.
X-offset (number)The horizontal amount that this object is moved relative to its X-parent.
X-positions (pair of numbers)Pair of X staff coordinates of a spanner
in the form (left . right), where both left and
right are in staff-space units of the current staff.
Y-extent (pair of numbers)Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
Y-offset (number)The vertical amount that this object is moved relative to its Y-parent.
zigzag-length (dimension, in staff space)The length of the lines of a
zigzag, relative to zigzag-width. A value of 1
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.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
accidental-grob (graphical (layout) object)The accidental for this note.
accidental-grobs (list)An 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-pure-heights (pair)A pair of vectors. Used by a
VerticalAxisGroup to cache the Y-extents of different column
ranges.
adjacent-spanners (array of grobs)An array of directly neighboring dynamic spanners.
all-elements (array of grobs)An array of all grobs in this line. Its function is to protect objects from being garbage collected.
ascendens (boolean)Is this neume of ascending type?
auctum (boolean)Is this neume liquescentically augmented?
axis-group-parent-X (graphical (layout) object)Containing X axis group.
axis-group-parent-Y (graphical (layout) object)Containing Y axis group.
bars (array of grobs)An array of bar line pointers.
beam (graphical (layout) object)A pointer to the beam, if applicable.
beam-segments (list)Internal representation of beam segments.
begin-of-line-visible (boolean)Set to make ChordName or
FretBoard be visible only at beginning of line or at
chord changes.
bound-alignment-interfaces (list)Interfaces to be used for positioning elements that align with a column.
bounded-by-me (array of grobs)An array of spanners that have this column as start/begin point. Only columns that have grobs or act as bounds are spaced.
bracket (graphical (layout) object)The bracket for a number.
bracket-text (graphical (layout) object)The text for an analysis bracket.
c0-position (integer)An integer indicating the position of middle C.
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?
columns (array of grobs)An array of grobs, typically containing
PaperColumn or NoteColumn objects.
concurrent-hairpins (array of grobs)All concurrent hairpins.
conditional-elements (array of grobs)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.
covered-grobs (array of grobs)Grobs that could potentially collide with a beam.
cross-staff (boolean)True for grobs whose Y-extent depends on
inter-staff spacing. The extent is measured relative to the grobs’s parent
staff (more generally, its VerticalAxisGroup) so this boolean flags
grobs that are not rigidly fixed to their parent staff.
Beams that join notes from two staves are cross-staff.
Grobs that are positioned around such beams are also cross-staff.
Grobs that are grouping objects, however, like VerticalAxisGroups
will not in general be marked cross-staff when some of the members
of the group are cross-staff.
delta-position (number)The vertical position difference.
deminutum (boolean)Is this neume deminished?
descendens (boolean)Is this neume of descendent type?
direction-source (graphical (layout) object)In case side-relative-direction is
set, which grob to get the direction from.
display-cautionary (boolean)Should the grob be displayed as a cautionary grob?
dot (graphical (layout) object)A reference to a Dots object.
dots (array of grobs)Multiple Dots objects.
elements (array of grobs)An array of grobs; the type is depending on the grob where this is set in.
encompass-objects (array of grobs)Objects that a slur should avoid in addition to notes and stems.
figures (array of grobs)Figured bass objects for continuation line.
flag (graphical (layout) object)A pointer to a Flag object.
flexa-height (dimension, in staff space)The height of a flexa shape in a ligature
grob (in staff-space units).
flexa-interval (integer)The interval spanned by the two notes of a flexa shape (1 is a second, 7 is an octave).
flexa-width (dimension, in staff space)The width of a flexa shape in a
ligature grob (in staff-space units).
font (font metric)A cached font metric object.
footnote-stencil (stencil)The stencil of a system’s footnotes.
footnotes-after-line-breaking (array of grobs)Footnote grobs of a broken system.
footnotes-before-line-breaking (array of grobs)Footnote grobs of a whole system.
forced (boolean)Manually forced accidental.
french-beaming-stem-adjustment (dimension, in staff space)Stem will be shortened by this amount of space in case of French beaming style.
glissando-index (integer)The index of a glissando in its note column.
grace-spacing (graphical (layout) object)A run of grace notes.
has-span-bar (pair)A pair of grobs containing the span bars to
be drawn below and above the staff. If no span bar is in a position,
the respective element is set to #f.
head-width (dimension, in staff space)The width of this ligature head.
heads (array of grobs)An array of note heads.
ideal-distances (list)(obj . (dist .
strength)) pairs.
important-column-ranks (vector)A cache of columns that contain
items-worth-living data.
in-note-direction (direction)Direction to place in-notes above a system.
in-note-padding (number)Padding between in-notes.
in-note-stencil (stencil)The stencil of a system’s in-notes.
inclinatum (boolean)Is this neume an inclinatum?
interfaces (list)A list of symbols indicating the interfaces
supported by this object. It is initialized from the meta field.
items-worth-living (array of grobs)An array of interesting items. If empty in a particular staff, then that staff is erased.
keep-alive-with (array of grobs)An array of other
VerticalAxisGroups. If any of them are alive, then we will stay alive.
least-squares-dy (number)The ideal beam slope, without damping.
left-items (array of grobs)Grobs organized on the left by a spacing object.
left-neighbor (graphical (layout) object)The right-most column that has a spacing-wish for this column.
ligature-flexa (boolean)request joining note to the previous one in a flexa.
linea (boolean)Attach vertical lines to this neume?
make-dead-when (array of grobs)An array of other
VerticalAxisGroups. If any of them are alive, then we will turn dead.
maybe-loose (boolean)Used to mark a breakable column that is loose if and only if it is in the middle of a line.
melody-spanner (graphical (layout) object)The MelodyItem object for a stem.
meta (list)Provide meta information. It is an alist with the
entries name and interfaces.
minimum-distances (list)A list of rods that have the format
(obj . dist).
minimum-translations-alist (list)An list of translations for a given start and end point.
neighbors (array of grobs)The X-axis neighbors of a grob. Used by the pure-from-neighbor-interface to determine various grob heights.
normal-stems (array of grobs)An array of visible stems.
note-collision (graphical (layout) object)The NoteCollision object of a
dot column.
note-columns (array of grobs)An array of NoteColumn grobs.
note-head (graphical (layout) object)A single note head.
note-heads (array of grobs)An array of note head grobs.
numbering-assertion-function (any type)The function used to assert that footnotes are receiving correct automatic numbers.
oriscus (boolean)Is this neume an oriscus?
pedal-text (graphical (layout) object)A 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)A pointer to a ligature primitive, i.e., an item similar to a note head that is part of a ligature.
pure-relevant-grobs (array of grobs)All the grobs (items and spanners)
that are relevant for finding the pure-Y-extent
pure-relevant-items (array of grobs)A subset of elements that are
relevant for finding the pure-Y-extent.
pure-relevant-spanners (array of grobs)A subset of elements that are
relevant for finding the pure-Y-extent.
pure-Y-common (graphical (layout) object)A cache of 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.
quantize-position (boolean)If set, a vertical alignment is aligned to be within staff spaces.
quantized-positions (pair of numbers)The beam positions after quanting.
quilisma (boolean)Is this neume a quilisma?
rest (graphical (layout) object)A pointer to a Rest object.
rest-collision (graphical (layout) object)A rest collision that a rest is in.
rests (array of grobs)An array of rest objects.
right-items (array of grobs)Grobs organized on the right by a spacing object.
right-neighbor (graphical (layout) object)See left-neighbor.
script-column (graphical (layout) object)A ScriptColumn associated with a
Script object.
script-stencil (pair)A pair (type . arg) which
acts as an index for looking up a Stencil object.
scripts (array of grobs)An array of Script objects.
shorten (dimension, in staff space)The amount of space that a stem is shortened. Internally used to distribute beam shortening over stems.
side-support-elements (array of grobs)The side support, an array of grobs.
slur (graphical (layout) object)A pointer to a Slur object.
space-increment (dimension, in staff space)The amount by which the total duration
of a multimeasure rest affects horizontal spacing. Each doubling of the
duration adds space-increment to the length of the bar.
spacing (graphical (layout) object)The spacing spanner governing this section.
spacing-wishes (array of grobs)An array of note spacing or staff spacing objects.
span-start (boolean)Is the note head at the start of a spanner?
spanner-broken (boolean)Indicates whether spanner alignment should be broken after the current spanner.
spanner-placement (direction)The place of an annotation on a spanner.
LEFT is for the first spanner, and RIGHT is for the last.
CENTER will place it on the broken spanner that falls closest to the
center of the length of the entire spanner, although this behavior is
unpredictable in situations with lots of rhythmic diversity. For predictable
results, use LEFT and RIGHT.
staff-grouper (graphical (layout) object)The staff grouper we belong to.
staff-symbol (graphical (layout) object)The staff symbol grob that we are in.
stem (graphical (layout) object)A pointer to a Stem object.
stem-info (pair)A cache of stem parameters.
stems (array of grobs)An array of stem objects.
stropha (boolean)Is this neume a stropha?
system-Y-offset (number)The Y-offset (relative to the bottom of the top-margin of the page) of the system to which this staff belongs.
tie (graphical (layout) object)A pointer to a Tie object.
ties (array of grobs)A grob array of Tie objects.
tremolo-flag (graphical (layout) object)The tremolo object on a stem.
tuplet-number (graphical (layout) object)The number for a bracket.
tuplet-start (boolean)Is stem at the start of a tuplet?
tuplets (array of grobs)An array of smaller tuplet brackets.
vertical-alignment (graphical (layout) object)The VerticalAlignment in a System.
vertical-skyline-elements (array of grobs)An array of grobs used to create vertical skylines.
virga (boolean)Is this neume a virga?
X-common (graphical (layout) object)Common reference point for axis group.
x-offset (dimension, in staff space)Extra horizontal offset for ligature heads.
Y-common (graphical (layout) object)See X-common.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Adds the given context modification to the list contextmods of context modifications.
Add mappings for error messages from alist.
Add a new grob interface. iface is the interface name, desc is the interface description, and props is the list of user-settable properties for the interface.
Add the single-argument procedure callback as listener to the dispatcher disp. Whenever disp hears an event of class cl, it calls callback with it.
Add a program option sym. val is the default value and description is a string description.
Return the hash table with all grob interface descriptions.
Get all option settings in an alist.
Return all symbols recognized as stencil expressions.
Calculates angle in degrees of given vector. With one argument, x is a number pair indicating the vector. With two arguments, x and y specify the respective coordinates.
Return value if key in alist, else default-value (or #f if not specified). If strict-checking is set to #t and key is not in alist, a programming_error is output.
Set grob the parent of grob-element on all axes of grob.
A Scheme callable function to issue a basic progress message str. The message is formatted with format and rest.
count number of beam scores.
Is x a Book object?
Add book-part to book-smob book part list.
Add score to book-smob score list.
Return book parts in book.
Return header in book.
Return paper in book.
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).
Return scores in book.
Set the book header.
Is x a Box object?
num bigpoints (1/72th inch).
Make a bracket in direction a. The extent of the bracket is given by iv. The wings protrude by an amount of p, which may be negative. The thickness is given by t.
Send the stream event ev to the dispatcher disp.
Convert FooBar_Bla to foo-bar-bla style symbol.
Return value for key from a list of alists achain. If no entry is found, return default-value or #f if default-value is not specified. With strict-checking set to #t, a programming_error is output in such cases.
Check whether all expected warnings have really been triggered.
num cm.
The Scheme code specified on command-line with ‘-e’.
The Scheme options specified on command-line with ‘-d’.
Make the dispatcher to listen to events from from.
Is x a Context object?
Return the current moment of context.
Is x a Context_def object?
Return the value of sym in context definition def (e.g., \Voice). If no value is found, return val or '() if val is undefined. sym can be any of ‘default-child’, ‘consists’, ‘description’, ‘aliases’, ‘accepts’, ‘property-ops’, ‘context-name’, ‘group-type’.
Return the result of applying the context-mod mod to the context definition def. Does not change def.
Return event-source of context context.
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 string one.
This undoes a particular \override, \once \override or \once \revert when given the specific alist pair to undo.
Is x a Context_mod object?
Apply the context modification mod to context.
Return the name of context, i.e., for \context Voice = "one" … return the symbol Voice.
Return now-moment of context context.
Return the parent of context, #f if none.
Return the value for property sym in context. If def is given, and property value is '(), return def.
Return the context above context where name is defined.
Do \temporary \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.
Unset value of property name in context context.
A Scheme callable function to issue a debug message str. The message is formatted with format and rest.
Get the global default scale.
Is d a dimension? Used to distinguish length variables from normal numbers.
Is s a direction? Valid directions are -1, 0, or 1, where -1 represents left or down, 1 represents right or up, and 0 represents a neutral direction.
Calculates an (x . y) pair with optional magnitude (defaulting to 1.0) and direction specified either as an angle in degrees or a coordinate pair giving the direction. If magnitude is a pair, the respective coordinates are scaled independently, useful for ellipse drawings.
Stop the dispatcher to listening to events from from.
Is x a Dispatcher object?
Is x a Duration object?
Is p1 shorter than p2?
Convert dur to a string.
Extract the dot count from dur.
Extract the compression factor from dur. Return it as a pair.
The length of the duration as a moment.
Extract the duration log from dur.
Extract the compression factor from dur. Return it as a rational.
Return effective prefix.
Encode the given string to either Latin1 (which is a subset of the PDFDocEncoding) or if that’s not possible to full UTF-16BE with Byte-Order-Mark (BOM).
Announce the end of a grob (i.e., the end of a spanner) originating from given engraver instance, with grob being a grob. cause should either be another grob or a music event.
Create a grob originating from given engraver instance, with given grob-name, a symbol. cause should either be another grob or a music event.
A Scheme callable function to issue the error str. The error is formatted with format and rest.
Is obj a proper (non-rhythmic) event object?
Copy m and all sub expressions of m.
Get the property sym of stream event sev. If sym is undefined, return val or '() if val is not specified.
Set property sym in event ev to val.
Expand $VAR and ${VAR} in str.
A Scheme callable function to register a warning to be expected and subsequently suppressed. If the warning is not encountered, a warning about the missing warning will be shown. The message should be translated with (_ ...) and changing parameters given after the format string.
Extract the subfont of index idx in TrueType collection (TTC) or OpenType/CFF collection (OTC) file collection_file_name and write it to file subfont_file_name.
Return the absolute file name of name, or #f if not found.
Add directory dir to FontConfig.
Add font font to FontConfig.
Dump a list of all fonts visible to FontConfig.
Get the file for font name.
Given the font metric font, return the design size, relative to the current output-scale.
Given the font metric font, return the corresponding file name.
Return a stencil from font for the glyph named name. If the glyph is not available, return an empty stencil.
Note that this command can only be used to access glyphs from fonts loaded with ly:system-font-load; currently, this means either the Emmentaler or Emmentaler-Brace fonts, corresponding to the font encodings fetaMusic and fetaBraces, respectively.
Return the character code for glyph name in font.
Note that this command can only be used to access glyphs from fonts loaded with ly:system-font-load; currently, this means either the Emmentaler or Emmentaler-Brace fonts, corresponding to the font encodings fetaMusic and fetaBraces, respectively.
Return the index for name in font.
Note that this command can only be used to access glyphs from fonts loaded with ly:system-font-load; currently, this means either the Emmentaler or Emmentaler-Brace fonts, corresponding to the font encodings fetaMusic and fetaBraces, respectively.
Return the character code for index in font.
Note that this command can only be used to access glyphs from fonts loaded with ly:system-font-load; currently, this means either the Emmentaler or Emmentaler-Brace fonts, corresponding to the font encodings fetaMusic and fetaBraces, respectively.
Given the font metric font, return the magnification, relative to the current output-scale.
Is x a Font_metric object?
Given the font metric font, return the corresponding name.
Given the font metric font of an OpenType font, return the names of the subfonts within font.
LilyPond specific format, supporting ~a and ~[0-9]f. Basic support for ~s is also provided.
Given a global context in its final state, process it and return the Music_output object in its final state.
Determine the extent of grob relative to common along the X axis, finding its extent as a bound when it a has bound-alignment-interfaces property list set and otherwise the full extent.
Get a hash table with all LilyPond Scheme extension functions.
Return a list of all translator objects that may be instantiated.
Get the offset of ’CFF’ table for font_file_name, returning it as an integer. The optional idx argument is useful for OpenType/CFF collections (OTC) only; it specifies the font index within the OTC. The default value of idx is 0.
Returns the list of context modifications stored in contextmod.
Get the font format for font_file_name, returning it as a symbol. The optional idx argument is useful for TrueType Collections (TTC) and OpenType/CFF collections (OTC) only; it specifies the font index within the TTC/OTC. The default value of idx is 0.
Get a global option setting.
Return the spacing spec going between the two given grobs, from_scm and to_scm.
Get back object from undead.
A Scheme wrapper function for gettext.
Is x a Grob object?
Get an alist chain for grob grob, with global as the global default. If unspecified, font-defaults from the layout block is taken.
Is x a Grob_array object?
Return the elements of grob-arr as a Scheme list.
Return the length of grob-arr.
Retrieve the indexth element of grob-arr.
Get the immutable properties of grob.
Find the callback that is stored as property sym of grob grob and chain proc to the head of this, meaning that it is called using grob and the previous callback’s result.
Find the common refpoint of grob and other for axis.
Find the common refpoint of grob and others (a grob-array) for axis.
Return the default font for grob grob.
Get the extent in axis direction of grob relative to the grob refp.
Get the index of the vertical axis group the grob grob belongs to; return -1 if none is found.
Return the interfaces list of grob grob.
Get \layout definition from grob grob.
Return the value of a pointer in grob grob of property sym. It returns '() (end-of-list) if sym is undefined in grob.
Return the unbroken original grob of grob.
Get the parent of grob. axis is 0 for the X-axis, 1 for the Y-axis.
Compare two grob priority queue entries. This is an internal function.
Is x a Grob_properties object?
Return the value for property sym of grob. If no value is found, return val or '() if val is not specified.
Return the value for property sym of grob, but do not process callbacks.
Return the pure height of grob given refpoint refp. If no value is found, return val or '() if val is not specified.
Return the pure value for property sym of grob. If no value is found, return val or '() if val is not specified.
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.
Set nested property symlist in grob grob to value val.
Set sym in grob grob to value val.
Set parent-grob the parent of grob grob in axis axis.
Set sym in grob grob to value val.
Returns a pair with the rank of the furthest left column and the rank of the furthest right column spanned by grob.
Return the Y-position of sg relative to the staff.
Kill grob.
Return the system grob of grob.
Translate grob on axis a over distance d.
Does a lie above b on the page?
Read size characters from the file name, and return its contents in a string. If size is undefined, the entire file is read. The file is looked up using the search path.
Does the font for font_file_name have glyph names? The optional idx argument is useful for TrueType Collections (TTC) and OpenType/CFF collections (OTC) only; it specifies the font index within the TTC/OTC. The default value of idx is 0.
Return a list of keys in tab.
num inches.
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).
Is x a Input object?
Print msg as a GNU compliant error message, pointing to the location in sip. msg is interpreted similar to format’s argument, using rest.
Print msg as a GNU compliant warning 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.
The 2-logarithm of 1/d.
Is g an Item object?
The break status direction of item it. -1 means end of line, 0 unbroken, and 1 beginning of line.
Return the PaperColumn or NonMusicalPaperColumn associated with this Item.
Is x a Music_iterator object?
Calculates magnitude of given vector. With one argument, x is a number pair indicating the vector. With two arguments, x and y specify the respective coordinates.
Is x a Lily_lexer object?
Is x a Lily_parser object?
Make a line using layout information from grob grob.
Does disp listen to any event type in the list cl?
Return a list of all event types that disp listens to.
Is x a Listener object?
Make a \book of paper and header (which may be #f as well) containing \scores.
Make a \bookpart containing \scores.
Creates a context modification, optionally initialized via the list of modifications mod-list.
Return a newly created dispatcher.
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 integers num and den, alternatively by a single rational number.
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.
This packages the given property list alist in a grob property container stored in a context property with the name of a grob.
Create the moment with rational main timing m, and optional grace timing g.
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.
For compatibility reasons, it is possible to write two numbers specifying numerator and denominator instead of the rationals. These forms cannot be mixed, and the two-argument form is disambiguated by the sign of the second argument: if it is positive, it can only be a denominator and not a grace timing.
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, and signature describes its arguments. signature’s cdr is a list containing either ly:music? predicates or other type predicates. Its car is the syntax function to call.
Make music relative to pitch, return final pitch.
Make an output definition.
Return page marker with label label.
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 indexing the global default scale, with 0 corresponding to pitch C and 6 usually corresponding to pitch B. Optional alter is a rational number of 200-cent whole tones for alteration.
Create a Prob object.
Make a transform rotating by angle in degrees. If center is given as a pair of coordinates, it is the center of the rotation, otherwise the rotation is around (0 . 0).
Create a scale. The argument is a vector of rational numbers, each of which represents the number of 200 cent tones of a pitch above the tonic.
Create a scaling transform from argument scale and optionally scaley. When both arguments are given, they must be real and give the scale in x and y direction. If only scale is given, it may also be complex to indicate a scaled rotation in the manner of complex number rotations, or a pair of reals for specifying different scales in x and y direction like with the first calling convention.
Return score with music encapsulated in it.
Make a spring. ideal is the ideal distance of the spring, and min-dist is the minimum distance.
Stencils are device independent output expressions. They carry two pieces of information:
empty-interval as its value), it is taken to be empty.
Create a stream event of class cl with the given mutable property list.
Create a transform. Without options, it is an identity transform.
Given four arguments xx, yx, xy, and yy, it is a linear transform, given six arguments (with x0 and y0 last), it is an affine transform.
Transforms can be called as functions on other transforms (concatening them) or on points given either as complex number or real number pair. See also ly:make-rotation, ly:make-scaling, and ly:make-translation.
Make a transform translating by x and y. If only x is given, it can also be a complex number or a pair of numbers indicating the offset to use.
This packages object in a manner that keeps it from triggering "Parsed object should be dead" messages.
Make an unpure-pure container. unpure should be an unpure expression, and pure should be a pure expression. If pure is omitted, the value of unpure will be used twice, except that a callback is given two extra arguments that are ignored for the sake of pure calculations.
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 pb without looking for optimal spacing: stack as many lines on a page before moving to the next one.
num mm.
Dump the contents of module mod as an alist.
Copy all bindings from module src into dest.
Look up sym in the list modules, returning the first occurence. If not found, return def or #f if def isn’t specified.
Is x a Moment object?
Compare two moments.
Add two moments.
Divide two moments.
Extract grace timing as a rational number from mom.
Extract denominator from grace timing.
Extract numerator from grace timing.
Extract main timing as a rational number from mom.
Extract denominator from main timing.
Extract numerator from main timing.
Modulo of two moments.
Multiply two moments.
Subtract two moments.
Is obj a music object?
Compress music object m by scale factor.
Copy m and all sub expressions of m. m may be an arbitrary type; cons cells and music are copied recursively. If origin is given, it is used as the origin for one level of music by calling ly:set-origin! on the copy.
Compress mus by factor fact, which is a Moment.
Extract the duration field from mus and return the length.
Is x a Music_function object?
Return the Scheme function inside x.
Return the function signature inside x.
Get the length of music expression mus and return it as a Moment object.
Is lst a list of music objects?
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.
Is x a Music_output object?
Return the value for property sym of music expression mus. If no value is found, return val or '() if val is not specified.
Set property sym in music expression mus to val.
Transpose m such that central C is mapped to p. Return m.
Return the AccidentalPlacement grob from note-column if any, or SCM_EOL otherwise.
Return the DotColumn grob from note-column if any, or SCM_EOL otherwise.
Get attachment in font-metric for attaching a stem to notehead glyph-name.
Convert s to a string without generating many decimals.
Put each score on a single line, and put each line on its own page. Modify the paper-width setting so that every page is wider than the widest line. Modify the paper-height setting to fit the height of the tallest line.
Put each score on a single line, and put each line on its own page. Modify the paper-width setting so that every page is wider than the widest line.
Put each score on a single page. The paper-height settings are modified so each score fits on one page, and the height of the page matches the height of the full score.
Optimally break (pages and lines) the Paper_book object pb to minimize badness in bother vertical and horizontal spacing.
Print ly:set-option usage. Optional port argumentfor the destination defaults to current output port.
Convert the contents of an OTF file to a CFF file, returning it as a string. The optional idx argument is useful for OpenType/CFF collections (OTC) only; it specifies the font index within the OTC. The default value of idx is 0.
Is font an OpenType font?
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.
Return the number of glyphs in font.
Return a list of glyph names for font.
Is x a Output_def object?
Clone output definition def.
Return the value of sym in output definition def (e.g., \paper). If no value is found, return val or '() if val is undefined.
Return the parent output definition of def.
Return the variable scope inside def.
Set an output definition def variable sym to val.
Return the description of translators in output-def.
Return an alist of all context defs (matching context-name if given) in output-def.
Formats passed to ‘--format’ as a list of strings, used for the output.
Close port of outputter.
Dump stencil expr onto outputter.
Dump str onto outputter.
Return output module of outputter.
Eval expr in module of outputter.
Return output port for outputter.
Is x a Page_marker object?
Optimally break (pages and lines) the Paper_book object pb such that page turns only happen in specified places, returning its pages.
Is f a pango font?
Return alist of (ps-name file-name font-index) lists for Pango font f.
Is x a Paper_book object?
Return the header definition (\header) in Paper_book object pb.
Return pages in Paper_book object pb.
Return the paper output definition (\paper) in Paper_book object pb.
Return performances in Paper_book object pb.
Return scopes in Paper_book object pb.
Return systems in Paper_book object pb.
Determine the extent along the X-axis of a grob used for break-alignment organized by column col. The grob is specified by align-syms, which contains either a single break-align-symbol or a list of such symbols.
Optional stencil for PaperColumn orNonMusicalPaperColumn.
Draws the rank number of each column, its moment in time, a blue arrow showing the ideal distance, and a red arrow showing the minimum distance between columns.
Return a list containing the fonts from output definition def (e.g., \paper).
Find a font metric in output definition def satisfying the font-qualifiers in alist chain chain, and return it. (An alist chain is a list of alists, containing grob properties.)
Return the value of variable sym in output definition def as a double.
Return the output-scale for output definition def.
Return vector of paper_system objects from paper-score.
Is obj a C++ Prob object of type paper-system?
Measure the minimum distance between these two paper-systems, using their stored skylines if possible and falling back to their extents otherwise.
Parse a single .ly file. Upon failure, throw ly-file-failed key.
Parse the string ly-code with parser-smob. Return the contained music expression. filename and line are optional source indicators.
Return the list of objects that have been found live that should have been dead, and clear that list.
Clear error flag for parser, defaulting to current parser.
Return a clone of current parser. An association list of port positions to closures can be specified in closures in order to have $ and # interpreted in their original lexical environment. If location is a valid location, it becomes the source of all music expressions inside.
Bind symbol to val in current parser’s module.
Display an error message and make current parser fail. Without a current parser, trigger an ordinary error.
Does parser (defaulting to current parser) have an error flag?
Include the string ly-code into the input stream for current parser. Can only be used in immediate Scheme expressions ($ instead of #).
Return the lexer for parser, defaulting to current parser
Look up symbol in current parser’s module. Return '() if not defined.
Return the base name of the output file. If parser is left off, use currently active parser.
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 the list of headers with the innermost first.
Write performance to filename storing name as the name of the performance in the file metadata.
Is x a Pitch object?
Is p1 lexicographically smaller than p2?
Extract the alteration from pitch pp.
Return pitch delta such that root transposed by delta equals pitch.
Negate p.
Extract the note name from pitch pp.
Extract the octave from pitch pp.
Calculate the number of quarter tones of pp from middle C.
Calculate the number of semitones of pp from middle C.
Number of steps counted from middle C of the pitch p.
Calculate the number of tones of pp from middle C as a rational number.
Transpose p by the amount delta, where delta is relative to middle C.
Add grob-element to grob’s sym grob array.
Return whether spos is on a line of the staff associated with the grob sg (even on an extender line).
Is x a Prob object?
Retrieve an alist of immutable properties.
Retrieve an alist of mutable properties.
Return the value for property sym of Prob object prob. If no value is found, return val or '() if val is not specified.
Is boolean prop sym of sym set?
Set property sym of obj to value.
Is obj the specified prob-type?
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, and context.
Return hash of protected objects.
num printer points.
Convert property data (unpure-pure container or procedure) to value in a pure context defined by grob, start, end, and possibly rest arguments.
Randomize C random generator.
Add symbol as head of a stencil expression.
Register a translator creator (usually a descriptive alist or a function/closure returning one when given a context argument) with the given symbol name and the given description alist.
Determine the extent of elements relative to common in the axis direction.
Forget all about previously loaded fonts.
Make a Stencil object that prints a black box of dimensions xext, yext and roundness blot.
Make a Stencil object that prints a black polygon with corners at the points defined by points (list of coordinate pairs) and roundness blot. Optionalextroversion shifts the outline outward, with thedefault of -1.0 keeping the outer boundary ofthe outline just inside of the polygon.
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.
Is x a Score object?
Add an output definition def to score.
Run score through layout (an output definition) scaled to correct output-scale already, returning a list of layout-lines.
Was there an error in the score?
Return score header.
Return score music.
All output definitions in a score.
Set the score header.
Optional stencil for PaperColumn orNonMusicalPaperColumn.
Draws the horizontal-skylines of each PaperColumn, showing the shapes used to determine the minimum distances between PaperColumns at the note-spacing step, before staves have been spaced (vertically) on the page.
Set the global default scale. This determines the tuning of pitches with no accidentals or key signatures. The first pitch is C. Alterations are calculated relative to this scale. The number of pitches in this scale determines the number of scale steps that make up an octave. Usually the 7-note major scale.
Specify a procedure that will be called every time LilyPond modifies a grob property. The callback will receive as arguments the grob that is being modified, the name of the C++ file in which the modification was requested, the line number in the C++ file in which the modification was requested, the name of the function in which the modification was requested, the property to be changed, and the new value for the property.
Set the middleCPosition variable in context based on the variables middleCClefPosition and middleCOffset.
Set a program option.
This sets the origin given in origin to m. m will typically be a music expression or a list of music. List structures are searched recursively, but recursion stops at the changed music expressions themselves. origin is generally of type ly:input-location?, defaulting to (*location*). Other valid values for origin are a music expression which is then used as the source of location information, or #f or '() in which case no action is performed. The return value is m itself.
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.
Is x a Skyline object?
Return whether sky is empty.
Is x a Skyline_pair object?
count number of slur scores.
Return LilyPond’s internal smob protection list.
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.
Is x a Source_file object?
A list of input files that have been opened up to here, including the files that have been closed already. a PARSER may optionally be specified.
Is g a spanner object?
Get one of the bounds of spanner. dir is -1 for left, and 1 for right.
Return broken-into list for spanner.
Set grob item as bound in direction dir for spanner.
Simple interface to g_spawn_sync str. The error is formatted with format and rest.
Is x a Spring object?
Set the inverse compress strength of spring.
Set the inverse stretch strength of spring.
Returns the current staff-line thickness in the staff associated with grob, expressed as a multiple of the current staff-space height.
Returns the radius of the staff associated with grob.
Returns the current staff-space height in the staff associated with grob, expressed as a multiple of the default height of a staff-space in the traditional five-line staff.
Return the environment (a list of strings) that was in effect at program start.
Redirect stderr to file-name, opened with mode.
Is x a Stencil object?
Combine stencils. Takes any number of arguments.
Align stil using its own extents. dir is a number. -1 and 1 are left and right, respectively. Other values are interpolated (so 0 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. first and second may also be '() or #f.
Return whether stil is empty. If an optional axis is supplied, the emptiness check is restricted to that axis.
Return the expression of stil.
Return a pair of numbers signifying the extent of stil in axis direction (0 or 1 for x and y axis, respectively).
Put stc in a different color.Accepts either three values for r,g, b and an optional valuefor a, or a single CSS-like string.
Return a stencil with the stencil expression (inking) of stencil stil but with outline and dimensions from stencil outline.
Return a stencil stil rotated angle degrees around the relative offset (x, y). E.g., an offset of (-1, 1) will rotate the stencil around the left upper corner.
Return a stencil stil rotated angle degrees around point (x, y), given in absolute coordinates.
Scale stencil stil using the horizontal and vertical scaling factors x and y. Negative values will flip or mirror stil without changing its origin; this may result in collisions unless it is repositioned.
Construct a stencil by stacking 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. first and second may also be '() or #f. As opposed to ly:stencil-combine-at-edge, metrics are suited for successively accumulating lines of stencils. Also, second stencil is drawn last.
If mindist is specified, reference points are placed apart at least by this distance. If either of the stencils is spacing, padding and mindist do not apply.
Return a stil, but translated by offset (a pair of numbers).
Return a copy of stil but translated by amount in axis direction.
Is obj a Stream_event object?
Encode all characters in string str with hexadecimal percent escape sequences, with the following exceptions: characters -, ., /, and _; and characters in ranges 0-9, A-Z, and a-z.
Replace string a by string b in string s.
Load the OpenType system font ‘name.otf’. Fonts loaded with this command must contain three additional SFNT font tables called LILC, LILF, and LILY, needed for typesetting musical elements. Currently, only the Emmentaler and the Emmentaler-Brace fonts fulfill these requirements.
Note that only ly:font-get-glyph and derived code (like \lookup) can access glyphs from the system fonts; text strings are handled exclusively via the Pango interface.
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 with ly:grob-layout. props is an alist chain, i.e. a list of alists. This is typically obtained with (ly:grob-alist-chain grob (ly:output-def-lookup layout 'text-font-defaults)). markup is the markup text to be processed.
Is x a Transform object?
Convert a transform matrix to a list of six values. Values are xx, yx, xy, yy, x0, y0.
Translates a string in C++ printf format and modifies it to use it for scheme formatting.
Is x a Translator object?
Return the context of the translator object trans.
Return an alist of properties of translator definition creator.
Is x a Translator_group object?
Return the type name of the translator definition creator. The name is a symbol.
Make a new key alist of l transposed by pitch pit.
Take at most the first i of list lst.
Convert the contents of a TrueType font file to PostScript Type 42 font, returning it as a string. The optional idx argument is useful for TrueType collections (TTC) only; it specifies the font index within the TTC. The default value of idx is 0.
Extract the PostScript name from a TrueType font. The optional idx argument is useful for TrueType collections (TTC) only; it specifies the font index within the TTC. The default value of idx is 0.
Convert the contents of a Type 1 font in PFB format to PFA format. If the file is already in PFA format, pass through it.
Is x a Undead object?
Return the unit used for lengths as a string.
Convert property data (unpure-pure container or procedure) to value in an unpure context defined by grob and possibly rest arguments.
Is x a Unpure_pure_container object?
Return the pure part of pc.
Return the unpure part of pc.
Print usage message.
Was verbose output requested, i.e. loglevel at least DEBUG?
Return the current lilypond version as a list, e.g., (1 3 127 uu1).
A Scheme callable function to issue the warning str. The message is formatted with format and rest.
A Scheme callable function to issue the warning str at the specified location in an input file. The message is formatted with format and rest.
Encode the Unicode codepoint wc, an integer, as UTF-8.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
| Jump to: | L |
|---|
| Jump to: | L |
|---|
| [Top] | [Contents] | [Index] | [ ? ] |
| [Top] | [Contents] | [Index] | [ ? ] |
This document was generated by gub on July 13, 2020 using texi2html 1.82.
The buttons in the navigation panels have the following meaning:
| Button | Name | Go to | From 1.2.3 go to |
|---|---|---|---|
| [ < ] | Back | Previous section in reading order | 1.2.2 |
| [ > ] | Forward | Next section in reading order | 1.2.4 |
| [ << ] | FastBack | Beginning of this chapter or previous chapter | 1 |
| [ Up ] | Up | Up section | 1.2 |
| [ >> ] | FastForward | Next chapter | 2 |
| [Top] | Top | Cover (top) of document | |
| [Contents] | Contents | Table of contents | |
| [Index] | Index | Index | |
| [ ? ] | About | About (help) |
where the Example assumes that the current position is at Subsubsection One-Two-Three of a document of the following structure:
This document was generated by gub on July 13, 2020 using texi2html 1.82.