| [Top][Contents][Index][ ? ] |
GNU LilyPond – Internals Reference
This document is also available as a PDF and as a HTML indexed multiple pages.
This is the Internals Reference (IR) for version 2.12.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 |
| [ << Top ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < Top ] | [ Up : Top ] | [ Music expressions > ] | ||
1. Music definitions
| 1.1 Music expressions | Objects that represent music. | |
| 1.2 Music classes | ||
| 1.3 Music properties | All music properties, including descriptions. |
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < Music definitions ] | [ Up : Music definitions ] | [ AbsoluteDynamicEvent > ] | ||
1.1 Music expressions
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < Music expressions ] | [ Up : Music expressions ] | [ AnnotateOutputEvent > ] | ||
1.1.1 AbsoluteDynamicEvent
Create a dynamic mark.
Syntax: note\x, where \x is a dynamic mark like
\ppp or \sfz. A complete list is in file
‘ly/dynamic-scripts-init.ly’.
Event classes: absolute-dynamic-event, dynamic-event, music-event and StreamEvent.
Accepted by: Dynamic_engraver, Dynamic_performer and New_dynamic_engraver.
Properties:
name(symbol):
'AbsoluteDynamicEventName of this music object.
types(list):
'(general-music event dynamic-event absolute-dynamic-event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < AbsoluteDynamicEvent ] | [ Up : Music expressions ] | [ ApplyContext > ] | ||
1.1.2 AnnotateOutputEvent
Print an annotation of an output element.
Event classes: annotate-output-event, music-event and StreamEvent.
Accepted by: Balloon_engraver.
Properties:
name(symbol):
'AnnotateOutputEventName of this music object.
types(list):
'(general-music event annotate-output-event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < AnnotateOutputEvent ] | [ Up : Music expressions ] | [ ApplyOutputEvent > ] | ||
1.1.3 ApplyContext
Call the argument with the current context during interpreting phase.
Properties:
name(symbol):
'ApplyContextName of this music object.
types(list):
'(general-music apply-context)The types of this music object; determines by what engraver this music expression is processed.
iterator-ctor(procedure):
ly:apply-context-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < ApplyContext ] | [ Up : Music expressions ] | [ ArpeggioEvent > ] | ||
1.1.4 ApplyOutputEvent
Call the argument with all current grobs during interpreting phase.
Syntax: \applyOutput #'context func
Arguments to func are 1. the grob, 2. the originating context, and 3. the context where func is called.
Event classes: apply-output-event, layout-instruction-event, music-event and StreamEvent.
Accepted by: Output_property_engraver.
Properties:
name(symbol):
'ApplyOutputEventName of this music object.
types(list):
'(general-music event apply-output-event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < ApplyOutputEvent ] | [ Up : Music expressions ] | [ ArticulationEvent > ] | ||
1.1.5 ArpeggioEvent
Make an arpeggio on this note.
Syntax: note-\arpeggio
Event classes: arpeggio-event, music-event and StreamEvent.
Accepted by: Arpeggio_engraver.
Properties:
name(symbol):
'ArpeggioEventName of this music object.
types(list):
'(general-music arpeggio-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < ArpeggioEvent ] | [ Up : Music expressions ] | [ AutoChangeMusic > ] | ||
1.1.6 ArticulationEvent
Add an articulation marking to a note.
Syntax: notexy, where x is a direction
(^ for up or _ for down), or LilyPond’s choice
(no direction specified)), and where y is an articulation
(such as -., ->, \tenuto, \downbow).
See the Notation Reference for details.
Event classes: articulation-event, script-event, music-event and StreamEvent.
Accepted by: Script_engraver.
Properties:
name(symbol):
'ArticulationEventName of this music object.
types(list):
'(general-music event articulation-event script-event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < ArticulationEvent ] | [ Up : Music expressions ] | [ BarCheck > ] | ||
1.1.7 AutoChangeMusic
Used for making voices that switch between piano staves automatically.
Properties:
name(symbol):
'AutoChangeMusicName of this music object.
iterator-ctor(procedure):
ly:auto-change-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.start-callback(procedure):
ly:music-wrapper::start-callbackFunction to compute the negative length of starting grace notes. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
length-callback(procedure):
ly:music-wrapper::length-callbackHow to compute the duration of this music. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
types(list):
'(general-music music-wrapper-music auto-change-instruction)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < AutoChangeMusic ] | [ Up : Music expressions ] | [ BassFigureEvent > ] | ||
1.1.8 BarCheck
Check whether this music coincides with the start of the measure.
Properties:
name(symbol):
'BarCheckName of this music object.
types(list):
'(general-music bar-check)The types of this music object; determines by what engraver this music expression is processed.
iterator-ctor(procedure):
ly:bar-check-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < BarCheck ] | [ Up : Music expressions ] | [ BeamEvent > ] | ||
1.1.9 BassFigureEvent
Print a bass-figure text.
Event classes: bass-figure-event, rhythmic-event, music-event and StreamEvent.
Accepted by: Figured_bass_engraver.
Properties:
name(symbol):
'BassFigureEventName of this music object.
types(list):
'(general-music event rhythmic-event bass-figure-event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < BassFigureEvent ] | [ Up : Music expressions ] | [ BeamForbidEvent > ] | ||
1.1.10 BeamEvent
Start or stop a beam.
Syntax for manual control: c8-[ c c-] c8
Event classes: beam-event, span-event, music-event and StreamEvent.
Accepted by: Beam_engraver, Beam_performer and Grace_beam_engraver.
Properties:
name(symbol):
'BeamEventName of this music object.
types(list):
'(general-music event beam-event span-event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < BeamEvent ] | [ Up : Music expressions ] | [ BendAfterEvent > ] | ||
1.1.11 BeamForbidEvent
Specify that a note may not auto-beamed.
Event classes: beam-forbid-event, music-event and StreamEvent.
Accepted by: Auto_beam_engraver.
Properties:
name(symbol):
'BeamForbidEventName of this music object.
types(list):
'(general-music event beam-forbid-event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < BeamForbidEvent ] | [ Up : Music expressions ] | [ BreathingEvent > ] | ||
1.1.12 BendAfterEvent
A drop/fall/doit jazz articulation.
Event classes: bend-after-event, music-event and StreamEvent.
Accepted by: Bend_engraver.
Properties:
name(symbol):
'BendAfterEventName of this music object.
types(list):
'(general-music bend-after-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < BendAfterEvent ] | [ Up : Music expressions ] | [ ClusterNoteEvent > ] | ||
1.1.13 BreathingEvent
Create a ‘breath mark’ or ‘comma’.
Syntax: note\breathe
Event classes: breathing-event, music-event and StreamEvent.
Accepted by: Breathing_sign_engraver.
Properties:
name(symbol):
'BreathingEventName of this music object.
types(list):
'(general-music event breathing-event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < BreathingEvent ] | [ Up : Music expressions ] | [ ContextChange > ] | ||
1.1.14 ClusterNoteEvent
A note that is part of a cluster.
Event classes: cluster-note-event, melodic-event, rhythmic-event, music-event and StreamEvent.
Accepted by: Cluster_spanner_engraver.
Properties:
name(symbol):
'ClusterNoteEventName of this music object.
types(list):
'(general-music cluster-note-event melodic-event rhythmic-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < ClusterNoteEvent ] | [ Up : Music expressions ] | [ ContextSpeccedMusic > ] | ||
1.1.15 ContextChange
Change staves in Piano staff.
Syntax: \change Staff = new-id
Properties:
name(symbol):
'ContextChangeName of this music object.
iterator-ctor(procedure):
ly:change-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.types(list):
'(general-music translator-change-instruction)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < ContextChange ] | [ Up : Music expressions ] | [ CrescendoEvent > ] | ||
1.1.16 ContextSpeccedMusic
Interpret the argument music within a specific context.
Properties:
name(symbol):
'ContextSpeccedMusicName of this music object.
iterator-ctor(procedure):
ly:context-specced-music-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.length-callback(procedure):
ly:music-wrapper::length-callbackHow to compute the duration of this music. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
start-callback(procedure):
ly:music-wrapper::start-callbackFunction to compute the negative length of starting grace notes. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
types(list):
'(context-specification general-music music-wrapper-music)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < ContextSpeccedMusic ] | [ Up : Music expressions ] | [ DecrescendoEvent > ] | ||
1.1.17 CrescendoEvent
Begin or end a crescendo.
Syntax: note\cr … note\rc
You can also use \<, \!, \cresc, and
\endcresc. See the Notation Reference for details.
Event classes: crescendo-event, span-dynamic-event, span-event, music-event and StreamEvent.
Accepted by: Dynamic_engraver, Dynamic_performer and New_dynamic_engraver.
Properties:
name(symbol):
'CrescendoEventName of this music object.
types(list):
'(general-music span-event span-dynamic-event crescendo-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < CrescendoEvent ] | [ Up : Music expressions ] | [ Event > ] | ||
1.1.18 DecrescendoEvent
See CrescendoEvent.
Event classes: decrescendo-event, span-dynamic-event, span-event, music-event and StreamEvent.
Accepted by: Dynamic_engraver, Dynamic_performer and New_dynamic_engraver.
Properties:
name(symbol):
'DecrescendoEventName of this music object.
types(list):
'(general-music span-event span-dynamic-event decrescendo-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < DecrescendoEvent ] | [ Up : Music expressions ] | [ EventChord > ] | ||
1.1.19 Event
Atomic music event.
Properties:
name(symbol):
'EventName of this music object.
types(list):
'(general-music event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < Event ] | [ Up : Music expressions ] | [ ExtenderEvent > ] | ||
1.1.20 EventChord
Internally used to group a set of events.
Properties:
name(symbol):
'EventChordName of this music object.
iterator-ctor(procedure):
ly:event-chord-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.length-callback(procedure):
ly:music-sequence::maximum-length-callbackHow to compute the duration of this music. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
to-relative-callback(procedure):
ly:music-sequence::event-chord-relative-callbackHow to transform a piece of music to relative pitches.
types(list):
'(general-music event-chord simultaneous-music)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < EventChord ] | [ Up : Music expressions ] | [ FingeringEvent > ] | ||
1.1.21 ExtenderEvent
Extend lyrics.
Event classes: extender-event, music-event and StreamEvent.
Accepted by: Extender_engraver.
Properties:
name(symbol):
'ExtenderEventName of this music object.
types(list):
'(general-music extender-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < ExtenderEvent ] | [ Up : Music expressions ] | [ GlissandoEvent > ] | ||
1.1.22 FingeringEvent
Specify what finger to use for this note.
Event classes: fingering-event, music-event and StreamEvent.
Accepted by: Fingering_engraver.
Properties:
name(symbol):
'FingeringEventName of this music object.
types(list):
'(general-music fingering-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < FingeringEvent ] | [ Up : Music expressions ] | [ GraceMusic > ] | ||
1.1.23 GlissandoEvent
Start a glissando on this note.
Event classes: glissando-event, music-event and StreamEvent.
Accepted by: Glissando_engraver.
Properties:
name(symbol):
'GlissandoEventName of this music object.
types(list):
'(general-music glissando-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < GlissandoEvent ] | [ Up : Music expressions ] | [ HarmonicEvent > ] | ||
1.1.24 GraceMusic
Interpret the argument as grace notes.
Properties:
name(symbol):
'GraceMusicName of this music object.
start-callback(procedure):
ly:grace-music::start-callbackFunction to compute the negative length of starting grace notes. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
length(moment):
#<Mom 0>The duration of this music.
iterator-ctor(procedure):
ly:grace-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.types(list):
'(grace-music music-wrapper-music general-music)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < GraceMusic ] | [ Up : Music expressions ] | [ HyphenEvent > ] | ||
1.1.25 HarmonicEvent
Mark a note as harmonic.
Event classes: harmonic-event, music-event and StreamEvent.
Not accepted by any engraver or performer.
Properties:
name(symbol):
'HarmonicEventName of this music object.
types(list):
'(general-music event harmonic-event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < HarmonicEvent ] | [ Up : Music expressions ] | [ KeyChangeEvent > ] | ||
1.1.26 HyphenEvent
A hyphen between lyric syllables.
Event classes: hyphen-event, music-event and StreamEvent.
Accepted by: Hyphen_engraver.
Properties:
name(symbol):
'HyphenEventName of this music object.
types(list):
'(general-music hyphen-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < HyphenEvent ] | [ Up : Music expressions ] | [ LabelEvent > ] | ||
1.1.27 KeyChangeEvent
Change the key signature.
Syntax: \key name scale
Event classes: key-change-event, music-event and StreamEvent.
Accepted by: Key_engraver and Key_performer.
Properties:
name(symbol):
'KeyChangeEventName of this music object.
to-relative-callback(procedure):
#<procedure #f (x p)>How to transform a piece of music to relative pitches.
types(list):
'(general-music key-change-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < KeyChangeEvent ] | [ Up : Music expressions ] | [ LaissezVibrerEvent > ] | ||
1.1.28 LabelEvent
Place a bookmarking label.
Event classes: label-event, music-event and StreamEvent.
Accepted by: Paper_column_engraver.
Properties:
name(symbol):
'LabelEventName of this music object.
types(list):
'(general-music label-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < LabelEvent ] | [ Up : Music expressions ] | [ LigatureEvent > ] | ||
1.1.29 LaissezVibrerEvent
Don’t damp this chord.
Syntax: note\laissezVibrer
Event classes: laissez-vibrer-event, music-event and StreamEvent.
Accepted by: Laissez_vibrer_engraver.
Properties:
name(symbol):
'LaissezVibrerEventName of this music object.
types(list):
'(general-music event laissez-vibrer-event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < LaissezVibrerEvent ] | [ Up : Music expressions ] | [ LineBreakEvent > ] | ||
1.1.30 LigatureEvent
Start or end a ligature.
Event classes: ligature-event, span-event, music-event and StreamEvent.
Accepted by: Ligature_bracket_engraver, Mensural_ligature_engraver and Vaticana_ligature_engraver.
Properties:
name(symbol):
'LigatureEventName of this music object.
span-type(string):
'ligatureWhat kind of spanner should be created?
TODO: Consider making type into symbol.
types(list):
'(general-music span-event ligature-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < LigatureEvent ] | [ Up : Music expressions ] | [ LyricCombineMusic > ] | ||
1.1.31 LineBreakEvent
Allow, forbid or force a line break.
Event classes: line-break-event, break-event, music-event and StreamEvent.
Accepted by: Page_turn_engraver and Paper_column_engraver.
Properties:
name(symbol):
'LineBreakEventName of this music object.
types(list):
'(general-music line-break-event break-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < LineBreakEvent ] | [ Up : Music expressions ] | [ LyricEvent > ] | ||
1.1.32 LyricCombineMusic
Align lyrics to the start of notes.
Syntax: \lyricsto voicename lyrics
Properties:
name(symbol):
'LyricCombineMusicName of this music object.
length(moment):
#<Mom 0>The duration of this music.
types(list):
'(general-music lyric-combine-music)The types of this music object; determines by what engraver this music expression is processed.
iterator-ctor(procedure):
ly:lyric-combine-music-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < LyricCombineMusic ] | [ Up : Music expressions ] | [ MarkEvent > ] | ||
1.1.33 LyricEvent
A lyric syllable. Must be entered in lyrics mode,
i.e., \lyrics { twinkle4 twinkle4 } .
Event classes: lyric-event, rhythmic-event, music-event and StreamEvent.
Accepted by: Lyric_engraver and Lyric_performer.
Properties:
name(symbol):
'LyricEventName of this music object.
types(list):
'(general-music rhythmic-event lyric-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < LyricEvent ] | [ Up : Music expressions ] | [ MultiMeasureRestEvent > ] | ||
1.1.34 MarkEvent
Insert a rehearsal mark.
Syntax: \mark marker
Example: \mark "A"
Event classes: mark-event, music-event and StreamEvent.
Accepted by: Mark_engraver.
Properties:
name(symbol):
'MarkEventName of this music object.
types(list):
'(general-music mark-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < MarkEvent ] | [ Up : Music expressions ] | [ MultiMeasureRestMusic > ] | ||
1.1.35 MultiMeasureRestEvent
Used internally by MultiMeasureRestMusic
to signal rests.
Event classes: multi-measure-rest-event, rhythmic-event, music-event and StreamEvent.
Accepted by: Multi_measure_rest_engraver.
Properties:
name(symbol):
'MultiMeasureRestEventName of this music object.
types(list):
'(general-music event rhythmic-event multi-measure-rest-event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < MultiMeasureRestEvent ] | [ Up : Music expressions ] | [ MultiMeasureTextEvent > ] | ||
1.1.36 MultiMeasureRestMusic
Rests that may be compressed into Multi rests.
Syntax: R2.*4 for 4 measures in 3/4 time.
Properties:
name(symbol):
'MultiMeasureRestMusicName of this music object.
iterator-ctor(procedure):
ly:sequential-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.elements-callback(procedure):
mm-rest-child-listReturn a list of children, for use by a sequential iterator. Takes a single music parameter.
types(list):
'(general-music multi-measure-rest)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < MultiMeasureRestMusic ] | [ Up : Music expressions ] | [ Music > ] | ||
1.1.37 MultiMeasureTextEvent
Texts on multi measure rests.
Syntax: R-\markup { \roman "bla" }
Note the explicit font switch.
Event classes: multi-measure-text-event, music-event and StreamEvent.
Accepted by: Multi_measure_rest_engraver.
Properties:
name(symbol):
'MultiMeasureTextEventName of this music object.
types(list):
'(general-music event multi-measure-text-event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < MultiMeasureTextEvent ] | [ Up : Music expressions ] | [ NoteEvent > ] | ||
1.1.38 Music
Generic type for music expressions.
Properties:
name(symbol):
'MusicName of this music object.
types(list):
'(general-music)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < Music ] | [ Up : Music expressions ] | [ NoteGroupingEvent > ] | ||
1.1.39 NoteEvent
A note.
Event classes: note-event, melodic-event, rhythmic-event, music-event and StreamEvent.
Accepted by: Chord_name_engraver, Completion_heads_engraver, Drum_note_performer, Drum_notes_engraver, Fretboard_engraver, Note_heads_engraver, Note_name_engraver, Note_performer and Tab_note_heads_engraver.
Properties:
name(symbol):
'NoteEventName of this music object.
types(list):
'(general-music event note-event rhythmic-event melodic-event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < NoteEvent ] | [ Up : Music expressions ] | [ OverrideProperty > ] | ||
1.1.40 NoteGroupingEvent
Start or stop grouping brackets.
Event classes: note-grouping-event, music-event and StreamEvent.
Accepted by: Horizontal_bracket_engraver.
Properties:
name(symbol):
'NoteGroupingEventName of this music object.
types(list):
'(general-music event note-grouping-event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < NoteGroupingEvent ] | [ Up : Music expressions ] | [ PageBreakEvent > ] | ||
1.1.41 OverrideProperty
Extend the definition of a graphical object.
Syntax: \override [ context . ]
object property = value
Properties:
name(symbol):
'OverridePropertyName of this music object.
types(list):
'(general-music layout-instruction-event override-property-event)The types of this music object; determines by what engraver this music expression is processed.
iterator-ctor(procedure):
ly:push-property-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < OverrideProperty ] | [ Up : Music expressions ] | [ PageTurnEvent > ] | ||
1.1.42 PageBreakEvent
Allow, forbid or force a page break.
Event classes: page-break-event, break-event, music-event and StreamEvent.
Accepted by: Page_turn_engraver and Paper_column_engraver.
Properties:
name(symbol):
'PageBreakEventName of this music object.
types(list):
'(general-music break-event page-break-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < PageBreakEvent ] | [ Up : Music expressions ] | [ PartCombineMusic > ] | ||
1.1.43 PageTurnEvent
Allow, forbid or force a page turn.
Event classes: page-turn-event, break-event, music-event and StreamEvent.
Accepted by: Page_turn_engraver and Paper_column_engraver.
Properties:
name(symbol):
'PageTurnEventName of this music object.
types(list):
'(general-music break-event page-turn-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < PageTurnEvent ] | [ Up : Music expressions ] | [ PercentEvent > ] | ||
1.1.44 PartCombineMusic
Combine two parts on a staff, either merged or as separate voices.
Properties:
name(symbol):
'PartCombineMusicName of this music object.
length-callback(procedure):
ly:music-sequence::maximum-length-callbackHow to compute the duration of this music. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
start-callback(procedure):
ly:music-sequence::minimum-start-callbackFunction to compute the negative length of starting grace notes. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
types(list):
'(general-music part-combine-music)The types of this music object; determines by what engraver this music expression is processed.
iterator-ctor(procedure):
ly:part-combine-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < PartCombineMusic ] | [ Up : Music expressions ] | [ PercentRepeatedMusic > ] | ||
1.1.45 PercentEvent
Used internally to signal percent repeats.
Event classes: percent-event, rhythmic-event, music-event and StreamEvent.
Accepted by: Percent_repeat_engraver and Slash_repeat_engraver.
Properties:
name(symbol):
'PercentEventName of this music object.
types(list):
'(general-music event percent-event rhythmic-event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < PercentEvent ] | [ Up : Music expressions ] | [ PesOrFlexaEvent > ] | ||
1.1.46 PercentRepeatedMusic
Repeats encoded by percents.
Properties:
name(symbol):
'PercentRepeatedMusicName of this music object.
iterator-ctor(procedure):
ly:percent-repeat-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.start-callback(procedure):
ly:repeated-music::first-startFunction to compute the negative length of starting grace notes. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
length-callback(procedure):
ly:repeated-music::unfolded-music-lengthHow to compute the duration of this music. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
types(list):
'(general-music repeated-music percent-repeated-music)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < PercentRepeatedMusic ] | [ Up : Music expressions ] | [ PhrasingSlurEvent > ] | ||
1.1.47 PesOrFlexaEvent
Within a ligature, mark the previous and the following note to form a pes (if melody goes up) or a flexa (if melody goes down).
Event classes: pes-or-flexa-event, music-event and StreamEvent.
Accepted by: Vaticana_ligature_engraver.
Properties:
name(symbol):
'PesOrFlexaEventName of this music object.
types(list):
'(general-music pes-or-flexa-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < PesOrFlexaEvent ] | [ Up : Music expressions ] | [ PropertySet > ] | ||
1.1.48 PhrasingSlurEvent
Start or end phrasing slur.
Syntax: note\( and note\)
Event classes: phrasing-slur-event, span-event, music-event and StreamEvent.
Accepted by: Phrasing_slur_engraver.
Properties:
name(symbol):
'PhrasingSlurEventName of this music object.
types(list):
'(general-music span-event event phrasing-slur-event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < PhrasingSlurEvent ] | [ Up : Music expressions ] | [ PropertyUnset > ] | ||
1.1.49 PropertySet
Set a context property.
Syntax: \property context.prop = scheme-val
Properties:
name(symbol):
'PropertySetName of this music object.
types(list):
'(layout-instruction-event general-music)The types of this music object; determines by what engraver this music expression is processed.
iterator-ctor(procedure):
ly:property-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < PropertySet ] | [ Up : Music expressions ] | [ QuoteMusic > ] | ||
1.1.50 PropertyUnset
Remove the definition of a context
\property.
Properties:
name(symbol):
'PropertyUnsetName of this music object.
types(list):
'(layout-instruction-event general-music)The types of this music object; determines by what engraver this music expression is processed.
iterator-ctor(procedure):
ly:property-unset-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < PropertyUnset ] | [ Up : Music expressions ] | [ RelativeOctaveCheck > ] | ||
1.1.51 QuoteMusic
Quote preprocessed snippets of music.
Properties:
name(symbol):
'QuoteMusicName of this music object.
iterator-ctor(procedure):
ly:music-wrapper-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.length-callback(procedure):
ly:music-wrapper::length-callbackHow to compute the duration of this music. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
start-callback(procedure):
ly:music-wrapper::start-callbackFunction to compute the negative length of starting grace notes. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
types(list):
'(general-music music-wrapper-music)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < QuoteMusic ] | [ Up : Music expressions ] | [ RelativeOctaveMusic > ] | ||
1.1.52 RelativeOctaveCheck
Check if a pitch is in the correct octave.
Properties:
name(symbol):
'RelativeOctaveCheckName of this music object.
to-relative-callback(procedure):
ly:relative-octave-check::relative-callbackHow to transform a piece of music to relative pitches.
types(list):
'(general-music relative-octave-check)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < RelativeOctaveCheck ] | [ Up : Music expressions ] | [ RepeatTieEvent > ] | ||
1.1.53 RelativeOctaveMusic
Music that was entered in relative octave notation.
Properties:
name(symbol):
'RelativeOctaveMusicName of this music object.
to-relative-callback(procedure):
ly:relative-octave-music::relative-callbackHow to transform a piece of music to relative pitches.
iterator-ctor(procedure):
ly:music-wrapper-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.length-callback(procedure):
ly:music-wrapper::length-callbackHow to compute the duration of this music. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
start-callback(procedure):
ly:music-wrapper::start-callbackFunction to compute the negative length of starting grace notes. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
types(list):
'(music-wrapper-music general-music relative-octave-music)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < RelativeOctaveMusic ] | [ Up : Music expressions ] | [ RepeatedMusic > ] | ||
1.1.54 RepeatTieEvent
Ties for starting a second volta bracket.
Event classes: repeat-tie-event, music-event and StreamEvent.
Accepted by: Repeat_tie_engraver.
Properties:
name(symbol):
'RepeatTieEventName of this music object.
types(list):
'(general-music event repeat-tie-event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < RepeatTieEvent ] | [ Up : Music expressions ] | [ RestEvent > ] | ||
1.1.55 RepeatedMusic
Repeat music in different ways.
Properties:
name(symbol):
'RepeatedMusicName of this music object.
types(list):
'(general-music repeated-music)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < RepeatedMusic ] | [ Up : Music expressions ] | [ RevertProperty > ] | ||
1.1.56 RestEvent
A Rest.
Syntax: r4 for a quarter rest.
Event classes: rest-event, rhythmic-event, music-event and StreamEvent.
Accepted by: Figured_bass_engraver and Rest_engraver.
Properties:
name(symbol):
'RestEventName of this music object.
types(list):
'(general-music event rhythmic-event rest-event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < RestEvent ] | [ Up : Music expressions ] | [ ScriptEvent > ] | ||
1.1.57 RevertProperty
The opposite of OverrideProperty: remove a previously added property from a graphical object definition.
Properties:
name(symbol):
'RevertPropertyName of this music object.
types(list):
'(general-music layout-instruction-event)The types of this music object; determines by what engraver this music expression is processed.
iterator-ctor(procedure):
ly:pop-property-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < RevertProperty ] | [ Up : Music expressions ] | [ SequentialMusic > ] | ||
1.1.58 ScriptEvent
Add an articulation mark to a note.
Event classes: script-event, music-event and StreamEvent.
Not accepted by any engraver or performer.
Properties:
name(symbol):
'ScriptEventName of this music object.
types(list):
'(general-music event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < ScriptEvent ] | [ Up : Music expressions ] | [ SimultaneousMusic > ] | ||
1.1.59 SequentialMusic
Music expressions concatenated.
Syntax: \sequential { … } or simply { … }
Properties:
name(symbol):
'SequentialMusicName of this music object.
length-callback(procedure):
ly:music-sequence::cumulative-length-callbackHow to compute the duration of this music. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
start-callback(procedure):
ly:music-sequence::first-start-callbackFunction to compute the negative length of starting grace notes. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
elements-callback(procedure):
#<procedure #f (m)>Return a list of children, for use by a sequential iterator. Takes a single music parameter.
iterator-ctor(procedure):
ly:sequential-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.types(list):
'(general-music sequential-music)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < SequentialMusic ] | [ Up : Music expressions ] | [ SkipEvent > ] | ||
1.1.60 SimultaneousMusic
Music playing together.
Syntax: \simultaneous { … } or << … >>
Properties:
name(symbol):
'SimultaneousMusicName of this music object.
iterator-ctor(procedure):
ly:simultaneous-music-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.start-callback(procedure):
ly:music-sequence::minimum-start-callbackFunction to compute the negative length of starting grace notes. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
length-callback(procedure):
ly:music-sequence::maximum-length-callbackHow to compute the duration of this music. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
to-relative-callback(procedure):
ly:music-sequence::simultaneous-relative-callbackHow to transform a piece of music to relative pitches.
types(list):
'(general-music simultaneous-music)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < SimultaneousMusic ] | [ Up : Music expressions ] | [ SkipMusic > ] | ||
1.1.61 SkipEvent
Filler that takes up duration, but does not print anything.
Syntax: s4 for a skip equivalent to a quarter rest.
Event classes: skip-event, rhythmic-event, music-event and StreamEvent.
Not accepted by any engraver or performer.
Properties:
name(symbol):
'SkipEventName of this music object.
types(list):
'(general-music event rhythmic-event skip-event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < SkipEvent ] | [ Up : Music expressions ] | [ SlurEvent > ] | ||
1.1.62 SkipMusic
Filler that takes up duration, does not print anything, and also does not create staves or voices implicitly.
Syntax: \skip duration
Properties:
name(symbol):
'SkipMusicName of this music object.
length-callback(procedure):
ly:music-duration-lengthHow to compute the duration of this music. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
iterator-ctor(procedure):
ly:simple-music-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.types(list):
'(general-music event rhythmic-event skip-event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < SkipMusic ] | [ Up : Music expressions ] | [ SoloOneEvent > ] | ||
1.1.63 SlurEvent
Start or end slur.
Syntax: note( and note)
Event classes: slur-event, span-event, music-event and StreamEvent.
Accepted by: Slur_engraver and Slur_performer.
Properties:
name(symbol):
'SlurEventName of this music object.
types(list):
'(general-music span-event event slur-event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < SlurEvent ] | [ Up : Music expressions ] | [ SoloTwoEvent > ] | ||
1.1.64 SoloOneEvent
Print ‘Solo 1’.
Event classes: solo-one-event, part-combine-event, music-event and StreamEvent.
Accepted by: Part_combine_engraver.
Properties:
name(symbol):
'SoloOneEventName of this music object.
part-combine-status(symbol):
'solo1Change to what kind of state? Options are
solo1,solo2andunisono.types(list):
'(general-music event part-combine-event solo-one-event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < SoloOneEvent ] | [ Up : Music expressions ] | [ SostenutoEvent > ] | ||
1.1.65 SoloTwoEvent
Print ‘Solo 2’.
Event classes: solo-two-event, part-combine-event, music-event and StreamEvent.
Accepted by: Part_combine_engraver.
Properties:
name(symbol):
'SoloTwoEventName of this music object.
part-combine-status(symbol):
'solo2Change to what kind of state? Options are
solo1,solo2andunisono.types(list):
'(general-music event part-combine-event solo-two-event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < SoloTwoEvent ] | [ Up : Music expressions ] | [ SpacingSectionEvent > ] | ||
1.1.66 SostenutoEvent
Depress or release sostenuto pedal.
Event classes: sostenuto-event, pedal-event, span-event, music-event and StreamEvent.
Accepted by: Piano_pedal_engraver and Piano_pedal_performer.
Properties:
name(symbol):
'SostenutoEventName of this music object.
types(list):
'(general-music event pedal-event sostenuto-event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < SostenutoEvent ] | [ Up : Music expressions ] | [ SpanEvent > ] | ||
1.1.67 SpacingSectionEvent
Start a new spacing section.
Event classes: spacing-section-event, music-event and StreamEvent.
Accepted by: Spacing_engraver.
Properties:
name(symbol):
'SpacingSectionEventName of this music object.
types(list):
'(general-music event spacing-section-event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < SpacingSectionEvent ] | [ Up : Music expressions ] | [ StaffSpanEvent > ] | ||
1.1.68 SpanEvent
Event for anything that is started at a different time than stopped.
Event classes: span-event, music-event and StreamEvent.
Not accepted by any engraver or performer.
Properties:
name(symbol):
'SpanEventName of this music object.
types(list):
'(general-music event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < SpanEvent ] | [ Up : Music expressions ] | [ StringNumberEvent > ] | ||
1.1.69 StaffSpanEvent
Start or stop a staff symbol.
Event classes: staff-span-event, span-event, music-event and StreamEvent.
Accepted by: Staff_symbol_engraver.
Properties:
name(symbol):
'StaffSpanEventName of this music object.
types(list):
'(general-music event span-event staff-span-event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < StaffSpanEvent ] | [ Up : Music expressions ] | [ StrokeFingerEvent > ] | ||
1.1.70 StringNumberEvent
Specify on which string to play this note.
Syntax: \number
Event classes: string-number-event, music-event and StreamEvent.
Accepted by: Fretboard_engraver and Tab_note_heads_engraver.
Properties:
name(symbol):
'StringNumberEventName of this music object.
types(list):
'(general-music string-number-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < StringNumberEvent ] | [ Up : Music expressions ] | [ SustainEvent > ] | ||
1.1.71 StrokeFingerEvent
Specify with which finger to pluck a string.
Syntax: \rightHandFinger text
Event classes: stroke-finger-event, music-event and StreamEvent.
Accepted by: Fingering_engraver.
Properties:
name(symbol):
'StrokeFingerEventName of this music object.
types(list):
'(general-music stroke-finger-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < StrokeFingerEvent ] | [ Up : Music expressions ] | [ TextScriptEvent > ] | ||
1.1.72 SustainEvent
Depress or release sustain pedal.
Event classes: sustain-event, pedal-event, span-event, music-event and StreamEvent.
Accepted by: Piano_pedal_engraver and Piano_pedal_performer.
Properties:
name(symbol):
'SustainEventName of this music object.
types(list):
'(general-music event pedal-event sustain-event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < SustainEvent ] | [ Up : Music expressions ] | [ TextSpanEvent > ] | ||
1.1.73 TextScriptEvent
Print text.
Event classes: text-script-event, script-event, music-event and StreamEvent.
Accepted by: Text_engraver.
Properties:
name(symbol):
'TextScriptEventName of this music object.
types(list):
'(general-music script-event text-script-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < TextScriptEvent ] | [ Up : Music expressions ] | [ TieEvent > ] | ||
1.1.74 TextSpanEvent
Start a text spanner, e.g., 8va.....|
Event classes: text-span-event, span-event, music-event and StreamEvent.
Accepted by: Text_spanner_engraver.
Properties:
name(symbol):
'TextSpanEventName of this music object.
types(list):
'(general-music span-event event text-span-event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < TextSpanEvent ] | [ Up : Music expressions ] | [ TimeScaledMusic > ] | ||
1.1.75 TieEvent
A tie.
Syntax: note-~
Event classes: tie-event, music-event and StreamEvent.
Accepted by: Completion_heads_engraver, Tie_engraver and Tie_performer.
Properties:
name(symbol):
'TieEventName of this music object.
types(list):
'(general-music tie-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < TieEvent ] | [ Up : Music expressions ] | [ TransposedMusic > ] | ||
1.1.76 TimeScaledMusic
Multiply durations, as in tuplets.
Syntax: \times fraction music, e.g.
\times 2/3 { … } for triplets.
Properties:
name(symbol):
'TimeScaledMusicName of this music object.
length-callback(procedure):
ly:music-wrapper::length-callbackHow to compute the duration of this music. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
start-callback(procedure):
ly:music-wrapper::start-callbackFunction to compute the negative length of starting grace notes. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
iterator-ctor(procedure):
ly:time-scaled-music-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.types(list):
'(time-scaled-music music-wrapper-music general-music)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < TimeScaledMusic ] | [ Up : Music expressions ] | [ TremoloEvent > ] | ||
1.1.77 TransposedMusic
Music that has been transposed.
Properties:
name(symbol):
'TransposedMusicName of this music object.
iterator-ctor(procedure):
ly:music-wrapper-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.start-callback(procedure):
ly:music-wrapper::start-callbackFunction to compute the negative length of starting grace notes. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
length-callback(procedure):
ly:music-wrapper::length-callbackHow to compute the duration of this music. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
to-relative-callback(procedure):
ly:relative-octave-music::no-relative-callbackHow to transform a piece of music to relative pitches.
types(list):
'(music-wrapper-music general-music transposed-music)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < TransposedMusic ] | [ Up : Music expressions ] | [ TremoloRepeatedMusic > ] | ||
1.1.78 TremoloEvent
Unmeasured tremolo.
Event classes: tremolo-event, music-event and StreamEvent.
Accepted by: Stem_engraver.
Properties:
name(symbol):
'TremoloEventName of this music object.
types(list):
'(general-music event tremolo-event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < TremoloEvent ] | [ Up : Music expressions ] | [ TremoloSpanEvent > ] | ||
1.1.79 TremoloRepeatedMusic
Repeated notes denoted by tremolo beams.
Properties:
name(symbol):
'TremoloRepeatedMusicName of this music object.
iterator-ctor(procedure):
ly:chord-tremolo-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.start-callback(procedure):
ly:repeated-music::first-startFunction to compute the negative length of starting grace notes. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
length-callback(procedure):
ly:repeated-music::folded-music-lengthHow to compute the duration of this music. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
types(list):
'(general-music repeated-music tremolo-repeated-music)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < TremoloRepeatedMusic ] | [ Up : Music expressions ] | [ TrillSpanEvent > ] | ||
1.1.80 TremoloSpanEvent
Tremolo over two stems
Event classes: tremolo-span-event, span-event, music-event and StreamEvent.
Accepted by: Chord_tremolo_engraver.
Properties:
name(symbol):
'TremoloSpanEventName of this music object.
types(list):
'(general-music event span-event tremolo-span-event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < TremoloSpanEvent ] | [ Up : Music expressions ] | [ TupletSpanEvent > ] | ||
1.1.81 TrillSpanEvent
Start a trill spanner tr~~~
Event classes: trill-span-event, span-event, music-event and StreamEvent.
Accepted by: Trill_spanner_engraver.
Properties:
name(symbol):
'TrillSpanEventName of this music object.
types(list):
'(general-music span-event event trill-span-event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < TrillSpanEvent ] | [ Up : Music expressions ] | [ UnaCordaEvent > ] | ||
1.1.82 TupletSpanEvent
Used internally to signal where tuplet brackets start and stop.
Event classes: tuplet-span-event, span-event, music-event and StreamEvent.
Accepted by: Tuplet_engraver.
Properties:
name(symbol):
'TupletSpanEventName of this music object.
types(list):
'(tuplet-span-event span-event event general-music)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < TupletSpanEvent ] | [ Up : Music expressions ] | [ UnfoldedRepeatedMusic > ] | ||
1.1.83 UnaCordaEvent
Depress or release una-corda pedal.
Event classes: una-corda-event, pedal-event, span-event, music-event and StreamEvent.
Accepted by: Piano_pedal_engraver and Piano_pedal_performer.
Properties:
name(symbol):
'UnaCordaEventName of this music object.
types(list):
'(general-music event pedal-event una-corda-event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < UnaCordaEvent ] | [ Up : Music expressions ] | [ UnisonoEvent > ] | ||
1.1.84 UnfoldedRepeatedMusic
Repeated music which is fully written (and played) out.
Properties:
name(symbol):
'UnfoldedRepeatedMusicName of this music object.
iterator-ctor(procedure):
ly:unfolded-repeat-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.start-callback(procedure):
ly:repeated-music::first-startFunction to compute the negative length of starting grace notes. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
types(list):
'(general-music repeated-music unfolded-repeated-music)The types of this music object; determines by what engraver this music expression is processed.
length-callback(procedure):
ly:repeated-music::unfolded-music-lengthHow to compute the duration of this music. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < UnfoldedRepeatedMusic ] | [ Up : Music expressions ] | [ UnrelativableMusic > ] | ||
1.1.85 UnisonoEvent
Print ‘a 2’.
Event classes: unisono-event, part-combine-event, music-event and StreamEvent.
Accepted by: Part_combine_engraver.
Properties:
name(symbol):
'UnisonoEventName of this music object.
part-combine-status(symbol):
'unisonoChange to what kind of state? Options are
solo1,solo2andunisono.types(list):
'(general-music event part-combine-event unisono-event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < UnisonoEvent ] | [ Up : Music expressions ] | [ VoiceSeparator > ] | ||
1.1.86 UnrelativableMusic
Music that cannot be converted from relative to absolute notation. For example, transposed music.
Properties:
name(symbol):
'UnrelativableMusicName of this music object.
to-relative-callback(procedure):
ly:relative-octave-music::no-relative-callbackHow to transform a piece of music to relative pitches.
iterator-ctor(procedure):
ly:music-wrapper-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.length-callback(procedure):
ly:music-wrapper::length-callbackHow to compute the duration of this music. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
types(list):
'(music-wrapper-music general-music unrelativable-music)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < UnrelativableMusic ] | [ Up : Music expressions ] | [ VoltaRepeatedMusic > ] | ||
1.1.87 VoiceSeparator
Separate polyphonic voices in simultaneous music.
Syntax: \\
Properties:
name(symbol):
'VoiceSeparatorName of this music object.
types(list):
'(separator general-music)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < VoiceSeparator ] | [ Up : Music expressions ] | [ Music classes > ] | ||
1.1.88 VoltaRepeatedMusic
Repeats with alternatives placed sequentially.
Properties:
name(symbol):
'VoltaRepeatedMusicName of this music object.
iterator-ctor(procedure):
ly:volta-repeat-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.start-callback(procedure):
ly:repeated-music::first-startFunction to compute the negative length of starting grace notes. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
length-callback(procedure):
ly:repeated-music::volta-music-lengthHow to compute the duration of this music. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
types(list):
'(general-music repeated-music volta-repeated-music)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < VoltaRepeatedMusic ] | [ Up : Music definitions ] | [ StreamEvent > ] | ||
1.2 Music classes
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < Music classes ] | [ Up : Music classes ] | [ absolute-dynamic-event > ] | ||
1.2.1 StreamEvent
Music event type StreamEvent is in music objects of type AbsoluteDynamicEvent, AnnotateOutputEvent, ApplyOutputEvent, ArpeggioEvent, ArticulationEvent, BassFigureEvent, BeamEvent, BeamForbidEvent, BendAfterEvent, BreathingEvent, ClusterNoteEvent, CrescendoEvent, DecrescendoEvent, ExtenderEvent, FingeringEvent, GlissandoEvent, HarmonicEvent, HyphenEvent, KeyChangeEvent, LabelEvent, LaissezVibrerEvent, LigatureEvent, LineBreakEvent, LyricEvent, MarkEvent, MultiMeasureRestEvent, MultiMeasureTextEvent, NoteEvent, NoteGroupingEvent, PageBreakEvent, PageTurnEvent, PercentEvent, PesOrFlexaEvent, PhrasingSlurEvent, RepeatTieEvent, RestEvent, ScriptEvent, SkipEvent, SlurEvent, SoloOneEvent, SoloTwoEvent, SostenutoEvent, SpacingSectionEvent, SpanEvent, StaffSpanEvent, StringNumberEvent, StrokeFingerEvent, SustainEvent, TextScriptEvent, TextSpanEvent, TieEvent, TremoloEvent, TremoloSpanEvent, TrillSpanEvent, TupletSpanEvent, UnaCordaEvent and UnisonoEvent.
Not accepted by any engraver or performer.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < StreamEvent ] | [ Up : Music classes ] | [ annotate-output-event > ] | ||
1.2.2 absolute-dynamic-event
Music event type absolute-dynamic-event is in music objects of type AbsoluteDynamicEvent.
Accepted by: Dynamic_engraver, Dynamic_performer and New_dynamic_engraver.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < absolute-dynamic-event ] | [ Up : Music classes ] | [ apply-output-event > ] | ||
1.2.3 annotate-output-event
Music event type annotate-output-event is in music objects of type AnnotateOutputEvent.
Accepted by: Balloon_engraver.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < annotate-output-event ] | [ Up : Music classes ] | [ arpeggio-event > ] | ||
1.2.4 apply-output-event
Music event type apply-output-event is in music objects of type ApplyOutputEvent.
Accepted by: Output_property_engraver.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < apply-output-event ] | [ Up : Music classes ] | [ articulation-event > ] | ||
1.2.5 arpeggio-event
Music event type arpeggio-event is in music objects of type ArpeggioEvent.
Accepted by: Arpeggio_engraver.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < arpeggio-event ] | [ Up : Music classes ] | [ bass-figure-event > ] | ||
1.2.6 articulation-event
Music event type articulation-event is in music objects of type ArticulationEvent.
Accepted by: Script_engraver.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < articulation-event ] | [ Up : Music classes ] | [ beam-event > ] | ||
1.2.7 bass-figure-event
Music event type bass-figure-event is in music objects of type BassFigureEvent.
Accepted by: Figured_bass_engraver.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < bass-figure-event ] | [ Up : Music classes ] | [ beam-forbid-event > ] | ||
1.2.8 beam-event
Music event type beam-event is in music objects of type BeamEvent.
Accepted by: Beam_engraver, Beam_performer and Grace_beam_engraver.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < beam-event ] | [ Up : Music classes ] | [ bend-after-event > ] | ||
1.2.9 beam-forbid-event
Music event type beam-forbid-event is in music objects of type BeamForbidEvent.
Accepted by: Auto_beam_engraver.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < beam-forbid-event ] | [ Up : Music classes ] | [ break-event > ] | ||
1.2.10 bend-after-event
Music event type bend-after-event is in music objects of type BendAfterEvent.
Accepted by: Bend_engraver.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < bend-after-event ] | [ Up : Music classes ] | [ breathing-event > ] | ||
1.2.11 break-event
Music event type break-event is in music objects of type LineBreakEvent, PageBreakEvent and PageTurnEvent.
Accepted by: Page_turn_engraver and Paper_column_engraver.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < break-event ] | [ Up : Music classes ] | [ cluster-note-event > ] | ||
1.2.12 breathing-event
Music event type breathing-event is in music objects of type BreathingEvent.
Accepted by: Breathing_sign_engraver.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < breathing-event ] | [ Up : Music classes ] | [ crescendo-event > ] | ||
1.2.13 cluster-note-event
Music event type cluster-note-event is in music objects of type ClusterNoteEvent.
Accepted by: Cluster_spanner_engraver.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < cluster-note-event ] | [ Up : Music classes ] | [ decrescendo-event > ] | ||
1.2.14 crescendo-event
Music event type crescendo-event is in music objects of type CrescendoEvent.
Accepted by: Dynamic_performer.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < crescendo-event ] | [ Up : Music classes ] | [ dynamic-event > ] | ||
1.2.15 decrescendo-event
Music event type decrescendo-event is in music objects of type DecrescendoEvent.
Accepted by: Dynamic_performer.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < decrescendo-event ] | [ Up : Music classes ] | [ extender-event > ] | ||
1.2.16 dynamic-event
Music event type dynamic-event is in music objects of type AbsoluteDynamicEvent.
Not accepted by any engraver or performer.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < dynamic-event ] | [ Up : Music classes ] | [ fingering-event > ] | ||
1.2.17 extender-event
Music event type extender-event is in music objects of type ExtenderEvent.
Accepted by: Extender_engraver.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < extender-event ] | [ Up : Music classes ] | [ glissando-event > ] | ||
1.2.18 fingering-event
Music event type fingering-event is in music objects of type FingeringEvent.
Accepted by: Fingering_engraver.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < fingering-event ] | [ Up : Music classes ] | [ harmonic-event > ] | ||
1.2.19 glissando-event
Music event type glissando-event is in music objects of type GlissandoEvent.
Accepted by: Glissando_engraver.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < glissando-event ] | [ Up : Music classes ] | [ hyphen-event > ] | ||
1.2.20 harmonic-event
Music event type harmonic-event is in music objects of type HarmonicEvent.
Not accepted by any engraver or performer.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < harmonic-event ] | [ Up : Music classes ] | [ key-change-event > ] | ||
1.2.21 hyphen-event
Music event type hyphen-event is in music objects of type HyphenEvent.
Accepted by: Hyphen_engraver.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < hyphen-event ] | [ Up : Music classes ] | [ label-event > ] | ||
1.2.22 key-change-event
Music event type key-change-event is in music objects of type KeyChangeEvent.
Accepted by: Key_engraver and Key_performer.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < key-change-event ] | [ Up : Music classes ] | [ laissez-vibrer-event > ] | ||
1.2.23 label-event
Music event type label-event is in music objects of type LabelEvent.
Accepted by: Paper_column_engraver.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < label-event ] | [ Up : Music classes ] | [ layout-instruction-event > ] | ||
1.2.24 laissez-vibrer-event
Music event type laissez-vibrer-event is in music objects of type LaissezVibrerEvent.
Accepted by: Laissez_vibrer_engraver.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < laissez-vibrer-event ] | [ Up : Music classes ] | [ ligature-event > ] | ||
1.2.25 layout-instruction-event
Music event type layout-instruction-event is in music objects of type ApplyOutputEvent.
Not accepted by any engraver or performer.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < layout-instruction-event ] | [ Up : Music classes ] | [ line-break-event > ] | ||
1.2.26 ligature-event
Music event type ligature-event is in music objects of type LigatureEvent.
Accepted by: Ligature_bracket_engraver, Mensural_ligature_engraver and Vaticana_ligature_engraver.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < ligature-event ] | [ Up : Music classes ] | [ lyric-event > ] | ||
1.2.27 line-break-event
Music event type line-break-event is in music objects of type LineBreakEvent.
Not accepted by any engraver or performer.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < line-break-event ] | [ Up : Music classes ] | [ mark-event > ] | ||
1.2.28 lyric-event
Music event type lyric-event is in music objects of type LyricEvent.
Accepted by: Lyric_engraver and Lyric_performer.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < lyric-event ] | [ Up : Music classes ] | [ melodic-event > ] | ||
1.2.29 mark-event
Music event type mark-event is in music objects of type MarkEvent.
Accepted by: Mark_engraver.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < mark-event ] | [ Up : Music classes ] | [ multi-measure-rest-event > ] | ||
1.2.30 melodic-event
Music event type melodic-event is in music objects of type ClusterNoteEvent and NoteEvent.
Not accepted by any engraver or performer.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < melodic-event ] | [ Up : Music classes ] | [ multi-measure-text-event > ] | ||
1.2.31 multi-measure-rest-event
Music event type multi-measure-rest-event is in music objects of type MultiMeasureRestEvent.
Accepted by: Multi_measure_rest_engraver.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < multi-measure-rest-event ] | [ Up : Music classes ] | [ music-event > ] | ||
1.2.32 multi-measure-text-event
Music event type multi-measure-text-event is in music objects of type MultiMeasureTextEvent.
Accepted by: Multi_measure_rest_engraver.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < multi-measure-text-event ] | [ Up : Music classes ] | [ note-event > ] | ||
1.2.33 music-event
Music event type music-event is in music objects of type AbsoluteDynamicEvent, AnnotateOutputEvent, ApplyOutputEvent, ArpeggioEvent, ArticulationEvent, BassFigureEvent, BeamEvent, BeamForbidEvent, BendAfterEvent, BreathingEvent, ClusterNoteEvent, CrescendoEvent, DecrescendoEvent, ExtenderEvent, FingeringEvent, GlissandoEvent, HarmonicEvent, HyphenEvent, KeyChangeEvent, LabelEvent, LaissezVibrerEvent, LigatureEvent, LineBreakEvent, LyricEvent, MarkEvent, MultiMeasureRestEvent, MultiMeasureTextEvent, NoteEvent, NoteGroupingEvent, PageBreakEvent, PageTurnEvent, PercentEvent, PesOrFlexaEvent, PhrasingSlurEvent, RepeatTieEvent, RestEvent, ScriptEvent, SkipEvent, SlurEvent, SoloOneEvent, SoloTwoEvent, SostenutoEvent, SpacingSectionEvent, SpanEvent, StaffSpanEvent, StringNumberEvent, StrokeFingerEvent, SustainEvent, TextScriptEvent, TextSpanEvent, TieEvent, TremoloEvent, TremoloSpanEvent, TrillSpanEvent, TupletSpanEvent, UnaCordaEvent and UnisonoEvent.
Not accepted by any engraver or performer.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < music-event ] | [ Up : Music classes ] | [ note-grouping-event > ] | ||
1.2.34 note-event
Music event type note-event is in music objects of type NoteEvent.
Accepted by: Chord_name_engraver, Completion_heads_engraver, Drum_note_performer, Drum_notes_engraver, Fretboard_engraver, Note_heads_engraver, Note_name_engraver, Note_performer and Tab_note_heads_engraver.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < note-event ] | [ Up : Music classes ] | [ page-break-event > ] | ||
1.2.35 note-grouping-event
Music event type note-grouping-event is in music objects of type NoteGroupingEvent.
Accepted by: Horizontal_bracket_engraver.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < note-grouping-event ] | [ Up : Music classes ] | [ page-turn-event > ] | ||
1.2.36 page-break-event
Music event type page-break-event is in music objects of type PageBreakEvent.
Not accepted by any engraver or performer.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < page-break-event ] | [ Up : Music classes ] | [ part-combine-event > ] | ||
1.2.37 page-turn-event
Music event type page-turn-event is in music objects of type PageTurnEvent.
Not accepted by any engraver or performer.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < page-turn-event ] | [ Up : Music classes ] | [ pedal-event > ] | ||
1.2.38 part-combine-event
Music event type part-combine-event is in music objects of type SoloOneEvent, SoloTwoEvent and UnisonoEvent.
Accepted by: Part_combine_engraver.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < part-combine-event ] | [ Up : Music classes ] | [ percent-event > ] | ||
1.2.39 pedal-event
Music event type pedal-event is in music objects of type SostenutoEvent, SustainEvent and UnaCordaEvent.
Not accepted by any engraver or performer.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < pedal-event ] | [ Up : Music classes ] | [ pes-or-flexa-event > ] | ||
1.2.40 percent-event
Music event type percent-event is in music objects of type PercentEvent.
Accepted by: Percent_repeat_engraver and Slash_repeat_engraver.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < percent-event ] | [ Up : Music classes ] | [ phrasing-slur-event > ] | ||
1.2.41 pes-or-flexa-event
Music event type pes-or-flexa-event is in music objects of type PesOrFlexaEvent.
Accepted by: Vaticana_ligature_engraver.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < pes-or-flexa-event ] | [ Up : Music classes ] | [ repeat-tie-event > ] | ||
1.2.42 phrasing-slur-event
Music event type phrasing-slur-event is in music objects of type PhrasingSlurEvent.
Accepted by: Phrasing_slur_engraver.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < phrasing-slur-event ] | [ Up : Music classes ] | [ rest-event > ] | ||
1.2.43 repeat-tie-event
Music event type repeat-tie-event is in music objects of type RepeatTieEvent.
Accepted by: Repeat_tie_engraver.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < repeat-tie-event ] | [ Up : Music classes ] | [ rhythmic-event > ] | ||
1.2.44 rest-event
Music event type rest-event is in music objects of type RestEvent.
Accepted by: Figured_bass_engraver and Rest_engraver.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < rest-event ] | [ Up : Music classes ] | [ script-event > ] | ||
1.2.45 rhythmic-event
Music event type rhythmic-event is in music objects of type BassFigureEvent, ClusterNoteEvent, LyricEvent, MultiMeasureRestEvent, NoteEvent, PercentEvent, RestEvent and SkipEvent.
Not accepted by any engraver or performer.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < rhythmic-event ] | [ Up : Music classes ] | [ skip-event > ] | ||
1.2.46 script-event
Music event type script-event is in music objects of type ArticulationEvent, ScriptEvent and TextScriptEvent.
Not accepted by any engraver or performer.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < script-event ] | [ Up : Music classes ] | [ slur-event > ] | ||
1.2.47 skip-event
Music event type skip-event is in music objects of type SkipEvent.
Not accepted by any engraver or performer.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < skip-event ] | [ Up : Music classes ] | [ solo-one-event > ] | ||
1.2.48 slur-event
Music event type slur-event is in music objects of type SlurEvent.
Accepted by: Slur_engraver and Slur_performer.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < slur-event ] | [ Up : Music classes ] | [ solo-two-event > ] | ||
1.2.49 solo-one-event
Music event type solo-one-event is in music objects of type SoloOneEvent.
Not accepted by any engraver or performer.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < solo-one-event ] | [ Up : Music classes ] | [ sostenuto-event > ] | ||
1.2.50 solo-two-event
Music event type solo-two-event is in music objects of type SoloTwoEvent.
Not accepted by any engraver or performer.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < solo-two-event ] | [ Up : Music classes ] | [ spacing-section-event > ] | ||
1.2.51 sostenuto-event
Music event type sostenuto-event is in music objects of type SostenutoEvent.
Accepted by: Piano_pedal_engraver and Piano_pedal_performer.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < sostenuto-event ] | [ Up : Music classes ] | [ span-dynamic-event > ] | ||
1.2.52 spacing-section-event
Music event type spacing-section-event is in music objects of type SpacingSectionEvent.
Accepted by: Spacing_engraver.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < spacing-section-event ] | [ Up : Music classes ] | [ span-event > ] | ||
1.2.53 span-dynamic-event
Music event type span-dynamic-event is in music objects of type CrescendoEvent and DecrescendoEvent.
Accepted by: Dynamic_engraver and New_dynamic_engraver.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < span-dynamic-event ] | [ Up : Music classes ] | [ staff-span-event > ] | ||
1.2.54 span-event
Music event type span-event is in music objects of type BeamEvent, CrescendoEvent, DecrescendoEvent, LigatureEvent, PhrasingSlurEvent, SlurEvent, SostenutoEvent, SpanEvent, StaffSpanEvent, SustainEvent, TextSpanEvent, TremoloSpanEvent, TrillSpanEvent, TupletSpanEvent and UnaCordaEvent.
Not accepted by any engraver or performer.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < span-event ] | [ Up : Music classes ] | [ string-number-event > ] | ||
1.2.55 staff-span-event
Music event type staff-span-event is in music objects of type StaffSpanEvent.
Accepted by: Staff_symbol_engraver.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < staff-span-event ] | [ Up : Music classes ] | [ stroke-finger-event > ] | ||
1.2.56 string-number-event
Music event type string-number-event is in music objects of type StringNumberEvent.
Accepted by: Fretboard_engraver and Tab_note_heads_engraver.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < string-number-event ] | [ Up : Music classes ] | [ sustain-event > ] | ||
1.2.57 stroke-finger-event
Music event type stroke-finger-event is in music objects of type StrokeFingerEvent.
Accepted by: Fingering_engraver.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < stroke-finger-event ] | [ Up : Music classes ] | [ text-script-event > ] | ||
1.2.58 sustain-event
Music event type sustain-event is in music objects of type SustainEvent.
Accepted by: Piano_pedal_engraver and Piano_pedal_performer.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < sustain-event ] | [ Up : Music classes ] | [ text-span-event > ] | ||
1.2.59 text-script-event
Music event type text-script-event is in music objects of type TextScriptEvent.
Accepted by: Text_engraver.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < text-script-event ] | [ Up : Music classes ] | [ tie-event > ] | ||
1.2.60 text-span-event
Music event type text-span-event is in music objects of type TextSpanEvent.
Accepted by: Text_spanner_engraver.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < text-span-event ] | [ Up : Music classes ] | [ tremolo-event > ] | ||
1.2.61 tie-event
Music event type tie-event is in music objects of type TieEvent.
Accepted by: Completion_heads_engraver, Tie_engraver and Tie_performer.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < tie-event ] | [ Up : Music classes ] | [ tremolo-span-event > ] | ||
1.2.62 tremolo-event
Music event type tremolo-event is in music objects of type TremoloEvent.
Accepted by: Stem_engraver.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < tremolo-event ] | [ Up : Music classes ] | [ trill-span-event > ] | ||
1.2.63 tremolo-span-event
Music event type tremolo-span-event is in music objects of type TremoloSpanEvent.
Accepted by: Chord_tremolo_engraver.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < tremolo-span-event ] | [ Up : Music classes ] | [ tuplet-span-event > ] | ||
1.2.64 trill-span-event
Music event type trill-span-event is in music objects of type TrillSpanEvent.
Accepted by: Trill_spanner_engraver.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < trill-span-event ] | [ Up : Music classes ] | [ una-corda-event > ] | ||
1.2.65 tuplet-span-event
Music event type tuplet-span-event is in music objects of type TupletSpanEvent.
Accepted by: Tuplet_engraver.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < tuplet-span-event ] | [ Up : Music classes ] | [ unisono-event > ] | ||
1.2.66 una-corda-event
Music event type una-corda-event is in music objects of type UnaCordaEvent.
Accepted by: Piano_pedal_engraver and Piano_pedal_performer.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < una-corda-event ] | [ Up : Music classes ] | [ Music properties > ] | ||
1.2.67 unisono-event
Music event type unisono-event is in music objects of type UnisonoEvent.
Not accepted by any engraver or performer.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Translation >> ] | ||
| [ < unisono-event ] | [ Up : Music definitions ] | [ Translation > ] | ||
1.3 Music properties
-
X-offset(number) Offset of resulting grob; only used for balloon texts.
-
Y-offset(number) Offset of resulting grob; only used for balloon texts.
-
absolute-octave(integer) The absolute octave for a octave check note.
-
alteration(number) Alteration for figured bass.
-
articulation-type(string) Key for script definitions alist.
TODO: Consider making type into symbol.
-
articulations(list of music) Articulation events specifically for this note.
-
associated-context(string) Name of the Voice context associated with this
\newaddlyricssection.-
augmented(boolean) This figure is for an augmented figured bass (with
+sign).-
augmented-slash(boolean) This figure is for an augmented figured bass (back-slashed number).
-
bass(boolean) Set if this note is a bass note in a chord.
-
bracket-start(boolean) Start a bracket here.
TODO: Use SpanEvents?
-
bracket-stop(boolean) Stop a bracket here.
-
break-penalty(number) Penalty for line break hint.
-
break-permission(symbol) Whether to allow, forbid or force a line break.
-
cautionary(boolean) If set, this alteration needs a cautionary accidental.
-
change-to-id(string) Name of the context to change to.
-
change-to-type(symbol) Type of the context to change to.
-
compress-procedure(procedure) Compress this music expression. Arg 1: the music, arg 2: factor.
-
context-id(string) Name of context.
-
context-type(symbol) Type of context.
-
create-new(boolean) Create a fresh context.
-
delta-step(number) How much should a fall change pitch?
-
denominator(integer) Denominator in a time signature.
-
descend-only(boolean) If set, this
\contextonly descends in the context tree.-
digit(integer) Digit for fingering.
-
diminished(boolean) This bass figure should be slashed.
-
direction(direction) Print this up or down?
-
drum-type(symbol) Which percussion instrument to play this note on.
-
duration(duration) Duration of this note or lyric.
-
element(music) The single child of a Music_wrapper music object, or the body of a repeat.
-
elements(list of music) A list of elements for sequential of simultaneous music, or the alternatives of repeated music.
-
elements-callback(procedure) Return a list of children, for use by a sequential iterator. Takes a single music parameter.
-
error-found(boolean) If true, a parsing error was found in this expression.
-
figure(integer) A bass figure.
-
force-accidental(boolean) If set, a cautionary accidental should always be printed on this note.
-
grob-property(symbol) The symbol of the grob property to set.
-
grob-property-path(list) A list of symbols, locating a nested grob property, e.g.,
(beamed-lengths details).-
grob-value(any type) The value of the grob property to set.
-
input-tag(any type) Arbitrary marker to relate input and output.
-
inversion(boolean) If set, this chord note is inverted.
-
iterator-ctor(procedure) Function to construct a
music-event-iteratorobject for this music.-
label(markup) Label of a mark.
-
last-pitch(pitch) The last pitch after relativization.
-
length(moment) The duration of this music.
-
length-callback(procedure) How to compute the duration of this music. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
-
line-break-permission(symbol) When the music is at top-level, whether to allow, forbid or force a line break.
-
metronome-count(number) How many beats in a minute?
-
name(symbol) Name of this music object.
-
no-continuation(boolean) If set, disallow continuation lines.
-
numerator(integer) Numerator of a time signature.
-
octavation(integer) This pitch was octavated by how many octaves? For chord inversions, this is negative.
-
once(boolean) Apply this operation only during one time step?
-
origin(input location) Where was this piece of music defined?
-
page-break-permission(symbol) When the music is at top-level, whether to allow, forbid or force a page break.
-
page-label(symbol) The label of a page marker.
-
page-marker(boolean) If true, and the music expression is found at top-level, a page marker object is instanciated instead of a score.
-
page-turn-permission(symbol) When the music is at top-level, whether to allow, forbid or force a page turn.
-
parenthesize(boolean) Enclose resulting objects in parentheses?
-
part-combine-status(symbol) Change to what kind of state? Options are
solo1,solo2andunisono.-
pitch(pitch) The pitch of this note.
-
pitch-alist(list) A list of pitches jointly forming the scale of a key signature.
-
pop-first(boolean) Do a revert before we try to do a override on some grob property.
-
prob-property(symbol) The symbol of the prob property to set.
-
procedure(procedure) The function to run with
\applycontext. It must take a single argument, being the context.-
property-operations(list) Do these operations for instantiating the context.
-
quoted-context-id(string) The ID of the context to direct quotes to, e.g.,
cue.-
quoted-context-type(symbol) The name of the context to direct quotes to, e.g.,
Voice.-
quoted-events(vector) A vector of with
momentandevent-listentries.-
quoted-music-name(string) The name of the voice to quote.
-
quoted-transposition(pitch) The pitch used for the quote, overriding
\transposition.-
quoted-voice-direction(direction) Should the quoted voice be up-stem or down-stem?
-
repeat-count(integer) Do a
\repeathow often?-
span-direction(direction) Does this start or stop a spanner?
-
span-type(string) What kind of spanner should be created?
TODO: Consider making type into symbol.
-
split-list(list) Splitting moments for part combiner.
-
start-callback(procedure) Function to compute the negative length of starting grace notes. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
-
string-number(integer) The number of the string in a
StringNumberEvent.-
symbol(symbol) Grob name to perform an override or revert on.
-
tags(list) List of symbols that for denoting extra details, e.g.,
\tag #'part …could tag a piece of music as only being active in a part.-
tempo-unit(duration) The unit for the metronome count.
-
text(markup) Markup expression to be printed.
-
text-type(symbol) Particular type of text script (e.g., finger, dynamic).
-
to-relative-callback(procedure) How to transform a piece of music to relative pitches.
-
tonic(pitch) Base of the scale.
-
tremolo-type(integer) Speed of tremolo, e.g., 16 for
c4:16.-
trill-pitch(pitch) Pitch of other note of the trill.
-
tweaks(list) An alist of properties to override in the backend for the grob made of this event.
-
type(symbol) The type of this music object. Determines iteration in some cases.
-
types(list) The types of this music object; determines by what engraver this music expression is processed.
-
untransposable(boolean) If set, this music is not transposed.
-
value(any type) Assignment value for a translation property.
-
void(boolean) If this property is
#t, then the music expression is to be discarded by the toplevel music handler.-
what(symbol) What to change for auto-change.
FIXME: Naming.
| [ << Music definitions ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Music properties ] | [ Up : Top ] | [ Contexts > ] | ||
2. Translation
| 2.1 Contexts | Complete descriptions of all contexts. | |
| 2.2 Engravers and Performers | All separate engravers and performers. | |
| 2.3 Tunable context properties | All tunable context properties. | |
| 2.4 Internal context properties | All internal context properties. |
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Translation ] | [ Up : Translation ] | [ ChoirStaff > ] | ||
2.1 Contexts
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Contexts ] | [ Up : Contexts ] | [ ChordNames > ] | ||
2.1.1 ChoirStaff
Identical to StaffGroup except that the
contained staves are not connected vertically.
This context creates the following layout object(s):
SystemStartBar, SystemStartBrace, SystemStartBracket and SystemStartSquare.
This context sets the following properties:
- Set translator property
shortVocalNameto'(). - Set translator property
vocalNameto'(). - Set translator property
systemStartDelimiterto'SystemStartBracket.
Context ChoirStaff can contain Staff, StaffGroup, ChoirStaff, ChordNames, Lyrics, PianoStaff, GrandStaff, RhythmicStaff and DrumStaff.
This context is built from the following engraver(s):
System_start_delimiter_engraverCreate a system start delimiter (i.e., a
SystemStartBar,SystemStartBrace,SystemStartBracketorSystemStartSquarespanner).Properties (read)
systemStartDelimiter(symbol)Which grob to make for the start of the system/staff? Set to
SystemStartBrace,SystemStartBracketorSystemStartBar.systemStartDelimiterHierarchy(pair)A nested list, indicating the nesting of a start delimiters.
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
This engraver creates the following layout object(s):
SystemStartBar, SystemStartBrace, SystemStartBracket and SystemStartSquare.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < ChoirStaff ] | [ Up : Contexts ] | [ CueVoice > ] | ||
2.1.2 ChordNames
Typesets chord names.
This context creates the following layout object(s):
ChordName, StaffSpacing and VerticalAxisGroup.
This context sets the following properties:
- Set grob-property
remove-emptyin VerticalAxisGroup to#t. - Set grob-property
remove-firstin VerticalAxisGroup to#t. - Set grob-property
minimum-Y-extentin VerticalAxisGroup to'(0 . 2).
This context is a ‘bottom’ context; it cannot contain other contexts.
This context is built from the following engraver(s):
Hara_kiri_engraverLike
Axis_group_engraver, but make a hara-kiri spanner, and add interesting items (i.e., note heads, lyric syllables, and normal rests).Properties (read)
keepAliveInterfaces(list)A list of symbols, signifying grob interfaces that are worth keeping a staff with
remove-emptyset around for.This engraver creates the following layout object(s):
Skip_event_swallow_translatorSwallow
\skip.Chord_name_engraverCatch note events and generate the appropriate chordname.
Music types accepted:
Properties (read)
chordChanges(boolean)Only show changes in chords scheme?
chordNameExceptions(list)An alist of chord exceptions. Contains
(chord . markup)entries.chordNameFunction(procedure)The function that converts lists of pitches to chord names.
chordNoteNamer(procedure)A function that converts from a pitch object to a text markup. Used for single pitches.
chordRootNamer(procedure)A function that converts from a pitch object to a text markup. Used for chords.
chordNameExceptions(list)An alist of chord exceptions. Contains
(chord . markup)entries.majorSevenSymbol(markup)How should the major 7th be formatted in a chord name?
This engraver creates the following layout object(s):
Separating_line_group_engraverGenerate objects for computing spacing parameters.
Properties (read)
createSpacing(boolean)Create
StaffSpacingobjects? Should be set for staves.Properties (write)
hasStaffSpacing(boolean)True if the current
CommandColumncontains items that will affect spacing.This engraver creates the following layout object(s):
Output_property_engraverApply a procedure to any grob acknowledged.
Music types accepted:
Rest_swallow_translatorSwallow rest.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < ChordNames ] | [ Up : Contexts ] | [ Devnull > ] | ||
2.1.3 CueVoice
Corresponds to a voice on a staff. This context handles the conversion of dynamic signs, stems, beams, super- and subscripts, slurs, ties, and rests.
You have to instantiate this explicitly if you want to have multiple voices on the same staff.
This context also accepts commands for the following context(s):
Voice.
This context creates the following layout object(s):
Arpeggio, Beam, BendAfter, BreathingSign, ClusterSpannerBeacon, ClusterSpanner, CombineTextScript, Dots, DoublePercentRepeatCounter, DoublePercentRepeat, DynamicLineSpanner, DynamicTextSpanner, DynamicText, Fingering, Glissando, Hairpin, InstrumentSwitch, LaissezVibrerTieColumn, LaissezVibrerTie, LigatureBracket, MultiMeasureRestNumber, MultiMeasureRestText, MultiMeasureRest, NoteColumn, NoteHead, NoteSpacing, PercentRepeatCounter, PercentRepeat, PhrasingSlur, RepeatSlash, RepeatTieColumn, RepeatTie, Rest, ScriptColumn, Script, Slur, StemTremolo, Stem, StringNumber, StrokeFinger, TextScript, TextSpanner, TieColumn, Tie, TrillPitchAccidental, TrillPitchGroup, TrillPitchHead, TrillSpanner, TupletBracket, TupletNumber and VoiceFollower.
This context sets the following properties:
- Set grob-property
thicknessin Beam to0.35. - Set grob-property
length-fractionin Beam to0.629960524947437. - Set grob-property
length-fractionin Stem to0.629960524947437. - Set translator property
fontSizeto-4. - Set translator property
localKeySignatureto'().
This context is a ‘bottom’ context; it cannot contain other contexts.
This context is built from the following engraver(s):
Skip_event_swallow_translatorSwallow
\skip.Instrument_switch_engraverCreate a cue text for taking instrument.
Properties (read)
instrumentCueName(markup)The name to print if another instrument is to be taken.
This engraver creates the following layout object(s):
Grace_engraverSet font size and other properties for grace notes.
Properties (read)
graceSettings(list)Overrides for grace notes. This property should be manipulated through the
add-grace-propertyfunction.Tuplet_engraverCatch tuplet events and generate appropriate bracket.
Music types accepted:
Properties (read)
tupletFullLength(boolean)If set, the tuplet is printed up to the start of the next note.
tupletFullLengthNote(boolean)If set, end at the next note, otherwise end on the matter (time signatures, etc.) before the note.
This engraver creates the following layout object(s):
Tie_engraverGenerate ties between note heads of equal pitch.
Music types accepted:
Properties (read)
tieWaitForNote(boolean)If true, tied notes do not have to follow each other directly. This can be used for writing out arpeggios.
Properties (write)
tieMelismaBusy(boolean)Signal whether a tie is present.
This engraver creates the following layout object(s):
Slur_engraverBuild slur grobs from slur events.
Music types accepted:
Properties (read)
slurMelismaBusy(boolean)Signal if a slur is present.
doubleSlurs(boolean)If set, two slurs are created for every slurred note, one above and one below the chord.
This engraver creates the following layout object(s):
Slur.
Cluster_spanner_engraverEngrave a cluster using
Spannernotation.Music types accepted:
This engraver creates the following layout object(s):
Phrasing_slur_engraverPrint phrasing slurs. Similar to Slur_engraver.
Music types accepted:
This engraver creates the following layout object(s):
Spanner_break_forbid_engraverForbid breaks in certain spanners.
Note_spacing_engraverGenerate
NoteSpacing, an object linking horizontal lines for use in spacing.This engraver creates the following layout object(s):
Rhythmic_column_engraverGenerate
NoteColumn, an object that groups stems, note heads, and rests.This engraver creates the following layout object(s):
Script_column_engraverFind potentially colliding scripts and put them into a
ScriptColumnobject; that will fix the collisions.This engraver creates the following layout object(s):
Script_engraverHandle note scripted articulations.
Music types accepted:
Properties (read)
scriptDefinitions(list)The description of scripts. This is used by the
Script_engraverfor typesetting note-superscripts and subscripts. See ‘scm/script.scm’ for more information.This engraver creates the following layout object(s):
Bend_engraverCreate fall spanners.
Music types accepted:
This engraver creates the following layout object(s):
Fingering_engraverCreate fingering scripts.
Music types accepted:
stroke-finger-event and fingering-event
This engraver creates the following layout object(s):
Dynamic_align_engraverAlign hairpins and dynamic texts on a horizontal line
Properties (read)
currentMusicalColumn(layout object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
New_dynamic_engraverCreate hairpins, dynamic texts, and their vertical alignments. The symbols are collected onto a
DynamicLineSpannergrob which takes care of vertical positioning.Music types accepted:
span-dynamic-event and absolute-dynamic-event
Properties (read)
crescendoSpanner(symbol)The type of spanner to be used for crescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin crescendo is used.
crescendoText(markup)The text to print at start of non-hairpin crescendo, i.e., ‘cresc.’.
currentMusicalColumn(layout object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
decrescendoSpanner(symbol)The type of spanner to be used for decrescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin decrescendo is used.
decrescendoText(markup)The text to print at start of non-hairpin decrescendo, i.e., ‘dim.’.
This engraver creates the following layout object(s):
Text_engraverCreate text scripts.
Music types accepted:
This engraver creates the following layout object(s):
Part_combine_engraverPart combine engraver for orchestral scores: Print markings ‘a2’, ‘Solo’, ‘Solo II’, and ‘unisono’.
Music types accepted:
Properties (read)
printPartCombineTexts(boolean)Set ‘Solo’ and ‘A due’ texts in the part combiner?
soloText(markup)The text for the start of a solo when part-combining.
soloIIText(markup)The text for the start of a solo for voice ‘two’ when part-combining.
aDueText(markup)Text to print at a unisono passage.
This engraver creates the following layout object(s):
Slash_repeat_engraverMake beat repeats.
Music types accepted:
Properties (read)
measureLength(moment)Length of one measure in the current time signature.
This engraver creates the following layout object(s):
Percent_repeat_engraverMake whole bar and double bar repeats.
Music types accepted:
Properties (read)
countPercentRepeats(boolean)If set, produce counters for percent repeats.
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
measureLength(moment)Length of one measure in the current time signature.
repeatCountVisibility(procedure)A procedure taking as arguments an integer and context, returning whether the corresponding percent repeat number should be printed when
countPercentRepeatsis set.Properties (write)
forbidBreak(boolean)If set to
##t, prevent a line break at this point.This engraver creates the following layout object(s):
DoublePercentRepeat, DoublePercentRepeatCounter, PercentRepeat and PercentRepeatCounter.
Chord_tremolo_engraverGenerate beams for tremolo repeats.
Music types accepted:
This engraver creates the following layout object(s):
Beam.
New_fingering_engraverCreate fingering scripts for notes in a new chord. This engraver is ill-named, since it also takes care of articulations and harmonic note heads.
Properties (read)
fingeringOrientations(list)A list of symbols, containing ‘left’, ‘right’, ‘up’ and/or ‘down’. This list determines where fingerings are put relative to the chord being fingered.
harmonicDots(boolean)If set, harmonic notes in dotted chords get dots.
strokeFingerOrientations(list)See
fingeringOrientations.stringNumberOrientations(list)See
fingeringOrientations.This engraver creates the following layout object(s):
Fingering, Script, StringNumber and StrokeFinger.
Auto_beam_engraverGenerate beams based on measure characteristics and observed Stems. Uses
beatLength,measureLength, andmeasurePositionto decide when to start and stop a beam. Overriding beaming is done through Stem_engraver propertiesstemLeftBeamCountandstemRightBeamCount.Music types accepted:
Properties (read)
autoBeaming(boolean)If set to true then beams are generated automatically.
autoBeamSettings(list)Specifies when automatically generated beams should begin and end. See behavior Setting automatic beam behavior for more information.
beatLength(moment)The length of one beat in this time signature.
subdivideBeams(boolean)If set, multiple beams will be subdivided at beat positions by only drawing one beam over the beat.
This engraver creates the following layout object(s):
Beam.
Grace_beam_engraverHandle
Beamevents by engraving beams. If omitted, then notes are printed with flags instead of beams. Only engraves beams when we are at grace points in time.Music types accepted:
Properties (read)
beamMelismaBusy(boolean)Signal if a beam is present.
beatLength(moment)The length of one beat in this time signature.
subdivideBeams(boolean)If set, multiple beams will be subdivided at beat positions by only drawing one beam over the beat.
This engraver creates the following layout object(s):
Beam.
Beam_engraverHandle
Beamevents by engraving beams. If omitted, then notes are printed with flags instead of beams.Music types accepted:
Properties (read)
beamMelismaBusy(boolean)Signal if a beam is present.
beatLength(moment)The length of one beat in this time signature.
subdivideBeams(boolean)If set, multiple beams will be subdivided at beat positions by only drawing one beam over the beat.
Properties (write)
forbidBreak(boolean)If set to
##t, prevent a line break at this point.This engraver creates the following layout object(s):
Beam.
Stem_engraverCreate stems and single-stem tremolos. It also works together with the beam engraver for overriding beaming.
Music types accepted:
Properties (read)
tremoloFlags(integer)The number of tremolo flags to add if no number is specified.
stemLeftBeamCount(integer)Specify the number of beams to draw on the left side of the next note. Overrides automatic beaming. The value is only used once, and then it is erased.
stemRightBeamCount(integer)See
stemLeftBeamCount.This engraver creates the following layout object(s):
Stem and StemTremolo.
Tweak_engraverRead the
tweaksproperty from the originating event, and set properties.Rest_engraverEngrave rests.
Music types accepted:
Properties (read)
middleCPosition(number)The place of the middle C, measured in half staff-spaces. Usually determined by looking at
middleCClefPositionandmiddleCOffset.This engraver creates the following layout object(s):
Rest.
Dots_engraverCreate Dots objects for rhythmic-head-interfaces.
This engraver creates the following layout object(s):
Dots.
Note_heads_engraverGenerate note heads.
Music types accepted:
Properties (read)
middleCPosition(number)The place of the middle C, measured in half staff-spaces. Usually determined by looking at
middleCClefPositionandmiddleCOffset.staffLineLayoutFunction(procedure)Layout of staff lines,
traditional, orsemitone.This engraver creates the following layout object(s):
Breathing_sign_engraverCreate a breathing sign.
Music types accepted:
This engraver creates the following layout object(s):
Ligature_bracket_engraverHandle
Ligature_eventsby engravingLigaturebrackets.Music types accepted:
This engraver creates the following layout object(s):
Glissando_engraverEngrave glissandi.
Music types accepted:
This engraver creates the following layout object(s):
Note_head_line_engraverEngrave a line between two note heads, for example a glissando. If
followVoiceis set, staff switches also generate a line.Properties (read)
followVoice(boolean)If set, note heads are tracked across staff switches by a thin line.
This engraver creates the following layout object(s):
Glissando and VoiceFollower.
Repeat_tie_engraverCreate repeat ties.
Music types accepted:
This engraver creates the following layout object(s):
RepeatTie and RepeatTieColumn.
Laissez_vibrer_engraverCreate laissez vibrer items.
Music types accepted:
This engraver creates the following layout object(s):
Forbid_line_break_engraverForbid line breaks when note heads are still playing at some point.
Properties (read)
busyGrobs(list)A queue of
(end-moment . GROB)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Properties (write)
forbidBreak(boolean)If set to
##t, prevent a line break at this point.Grob_pq_engraverAdministrate when certain grobs (e.g., note heads) stop playing.
Properties (read)
busyGrobs(list)A queue of
(end-moment . GROB)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Properties (write)
busyGrobs(list)A queue of
(end-moment . GROB)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Trill_spanner_engraverCreate trill spanner from an event.
Music types accepted:
Properties (read)
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
currentMusicalColumn(layout object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
Text_spanner_engraverCreate text spanner from an event.
Music types accepted:
This engraver creates the following layout object(s):
Multi_measure_rest_engraverEngrave multi-measure rests that are produced with ‘R’. It reads
measurePositionandinternalBarNumberto determine what number to print over the MultiMeasureRest. ReadsmeasureLengthto determine whether it should use a whole rest or a breve rest to represent one measure.Music types accepted:
multi-measure-text-event and multi-measure-rest-event
Properties (read)
internalBarNumber(integer)Contains the current barnumber. This property is used for internal timekeeping, among others by the
Accidental_engraver.restNumberThreshold(number)If a multimeasure rest has more measures than this, a number is printed.
breakableSeparationItem(layout object)The breakable items in this time step, for this staff.
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
measurePosition(moment)How much of the current measure have we had. This can be set manually to create incomplete measures.
measureLength(moment)Length of one measure in the current time signature.
This engraver creates the following layout object(s):
MultiMeasureRest, MultiMeasureRestNumber and MultiMeasureRestText.
Arpeggio_engraverGenerate an Arpeggio symbol.
Music types accepted:
This engraver creates the following layout object(s):
Output_property_engraverApply a procedure to any grob acknowledged.
Music types accepted:
Pitched_trill_engraverPrint the bracketed note head after a note head with trill.
This engraver creates the following layout object(s):
Font_size_engraverPut
fontSizeintofont-sizegrob property.Properties (read)
fontSize(number)The relative size of all grobs in a context.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < CueVoice ] | [ Up : Contexts ] | [ DrumStaff > ] | ||
2.1.4 Devnull
Silently discards all musical information given to this context.
This context also accepts commands for the following context(s):
Voice and Staff.
This context creates the following layout object(s):
none.
This context is a ‘bottom’ context; it cannot contain other contexts.
This context is built from the following engraver(s):
Swallow_engraverThis engraver swallows everything given to it silently. The purpose of this is to prevent spurious ‘event junked’ warnings.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Devnull ] | [ Up : Contexts ] | [ DrumVoice > ] | ||
2.1.5 DrumStaff
Handles typesetting for percussion.
This context also accepts commands for the following context(s):
Staff.
This context creates the following layout object(s):
BarLine, BassFigureAlignmentPositioning, BassFigureAlignment, BassFigureBracket, BassFigureContinuation, BassFigureLine, BassFigure, Clef, DotColumn, InstrumentName, LedgerLineSpanner, NoteCollision, OctavateEight, RestCollision, ScriptRow, SostenutoPedalLineSpanner, StaffSpacing, StaffSymbol, SustainPedalLineSpanner, TimeSignature, UnaCordaPedalLineSpanner and VerticalAxisGroup.
This context sets the following properties:
- Set grob-property
staff-paddingin Script to0.75. - Set translator property
clefPositionto0. - Set translator property
clefGlyphto"clefs.percussion". - Set translator property
shortInstrumentNameto'(). - Set translator property
instrumentNameto'(). - Set grob-property
minimum-Y-extentin VerticalAxisGroup to'(-4 . 4). - Set translator property
ignoreFiguredBassRestto#t. - Set translator property
createSpacingto#t. - Set translator property
localKeySignatureto'().
Context DrumStaff can contain DrumVoice and CueVoice.
This context is built from the following engraver(s):
Script_row_engraverDetermine order in horizontal side position elements.
This engraver creates the following layout object(s):
Figured_bass_position_engraverPosition figured bass alignments over notes.
This engraver creates the following layout object(s):
Figured_bass_engraverMake figured bass numbers.
Music types accepted:
bass-figure-event and rest-event
Properties (read)
figuredBassAlterationDirection(direction)Where to put alterations relative to the main figure.
figuredBassCenterContinuations(boolean)Whether to vertically center pairs of extender lines. This does not work with three or more lines.
figuredBassFormatter(procedure)A routine generating a markup for a bass figure.
implicitBassFigures(list)A list of bass figures that are not printed as numbers, but only as extender lines.
useBassFigureExtenders(boolean)Whether to use extender lines for repeated bass figures.
ignoreFiguredBassRest(boolean)Don’t swallow rest events.
This engraver creates the following layout object(s):
BassFigure, BassFigureAlignment, BassFigureBracket, BassFigureContinuation and BassFigureLine.
Axis_group_engraverGroup all objects created in this context in a
VerticalAxisGroupspanner.Properties (read)
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
This engraver creates the following layout object(s):
Instrument_name_engraverCreate a system start text for instrument or vocal names.
Properties (read)
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
shortInstrumentName(markup)See
instrument.instrumentName(markup)The name to print left of a staff. The
instrumentproperty labels the staff in the first system, and theinstrproperty labels following lines.shortVocalName(markup)Name of a vocal line, short version.
vocalName(markup)Name of a vocal line.
This engraver creates the following layout object(s):
Piano_pedal_align_engraverAlign piano pedal symbols and brackets.
Properties (read)
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
This engraver creates the following layout object(s):
SostenutoPedalLineSpanner, SustainPedalLineSpanner and UnaCordaPedalLineSpanner.
Rest_collision_engraverHandle collisions of rests.
Properties (read)
busyGrobs(list)A queue of
(end-moment . GROB)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).This engraver creates the following layout object(s):
Grob_pq_engraverAdministrate when certain grobs (e.g., note heads) stop playing.
Properties (read)
busyGrobs(list)A queue of
(end-moment . GROB)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Properties (write)
busyGrobs(list)A queue of
(end-moment . GROB)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Collision_engraverCollect
NoteColumns, and as soon as there are two or more, put them in aNoteCollisionobject.This engraver creates the following layout object(s):
Staff_symbol_engraverCreate the constellation of five (default) staff lines.
Music types accepted:
This engraver creates the following layout object(s):
Ledger_line_engraverCreate the spanner to draw ledger lines, and notices objects that need ledger lines.
This engraver creates the following layout object(s):
Time_signature_engraverCreate a TimeSignature whenever
timeSignatureFractionchanges.Properties (read)
implicitTimeSignatureVisibility(vector)break visibility for the default time signature.
timeSignatureFraction(pair of numbers)A pair of numbers, signifying the time signature. For example,
#'(4 . 4)is a 4/4 time signature.This engraver creates the following layout object(s):
Clef_engraverDetermine and set reference point for pitches.
Properties (read)
clefGlyph(string)Name of the symbol within the music font.
clefOctavation(integer)Add this much extra octavation. Values of 7 and -7 are common.
clefPosition(number)Where should the center of the clef symbol go, measured in half staff spaces from the center of the staff.
explicitClefVisibility(vector)‘break-visibility’ function for clef changes.
forceClef(boolean)Show clef symbol, even if it has not changed. Only active for the first clef after the property is set, not for the full staff.
This engraver creates the following layout object(s):
Clef and OctavateEight.
Staff_collecting_engraverMaintain the
stavesFoundvariable.Properties (read)
stavesFound(list of grobs)A list of all staff-symbols found.
Properties (write)
stavesFound(list of grobs)A list of all staff-symbols found.
Dot_column_engraverEngrave dots on dotted notes shifted to the right of the note. If omitted, then dots appear on top of the notes.
This engraver creates the following layout object(s):
Separating_line_group_engraverGenerate objects for computing spacing parameters.
Properties (read)
createSpacing(boolean)Create
StaffSpacingobjects? Should be set for staves.Properties (write)
hasStaffSpacing(boolean)True if the current
CommandColumncontains items that will affect spacing.This engraver creates the following layout object(s):
Font_size_engraverPut
fontSizeintofont-sizegrob property.Properties (read)
fontSize(number)The relative size of all grobs in a context.
Bar_engraverCreate barlines. This engraver is controlled through the
whichBarproperty. If it has no bar line to create, it will forbid a linebreak at this point.Properties (read)
whichBar(string)This property is read to determine what type of bar line to create.
Example:
\set Staff.whichBar = "|:"This will create a start-repeat bar in this staff only. Valid values are described in bar-line-interface.
Properties (write)
forbidBreak(boolean)If set to
##t, prevent a line break at this point.This engraver creates the following layout object(s):
Output_property_engraverApply a procedure to any grob acknowledged.
Music types accepted:
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < DrumStaff ] | [ Up : Contexts ] | [ FiguredBass > ] | ||
2.1.6 DrumVoice
A voice on a percussion staff.
This context also accepts commands for the following context(s):
Voice.
This context creates the following layout object(s):
Beam, BendAfter, BreathingSign, CombineTextScript, Dots, DoublePercentRepeatCounter, DoublePercentRepeat, DynamicLineSpanner, DynamicTextSpanner, DynamicText, Hairpin, InstrumentSwitch, LaissezVibrerTieColumn, LaissezVibrerTie, MultiMeasureRestNumber, MultiMeasureRestText, MultiMeasureRest, NoteColumn, NoteHead, NoteSpacing, PercentRepeatCounter, PercentRepeat, PhrasingSlur, RepeatSlash, RepeatTieColumn, RepeatTie, Rest, ScriptColumn, Script, Slur, StemTremolo, Stem, TextScript, TextSpanner, TieColumn, Tie, TrillPitchAccidental, TrillPitchGroup, TrillPitchHead, TrillSpanner, TupletBracket and TupletNumber.
This context sets the following properties:
- Set translator property
localKeySignatureto'().
This context is a ‘bottom’ context; it cannot contain other contexts.
This context is built from the following engraver(s):
Skip_event_swallow_translatorSwallow
\skip.Drum_notes_engraverGenerate drum note heads.
Music types accepted:
Properties (read)
drumStyleTable(hash table)A hash table which maps drums to layout settings. Predefined values: ‘drums-style’, ‘timbales-style’, ‘congas-style’, ‘bongos-style’, and ‘percussion-style’.
The layout style is a hash table, containing the drum-pitches (e.g., the symbol ‘hihat’) as keys, and a list
(notehead-style script vertical-position)as values.This engraver creates the following layout object(s):
Grob_pq_engraverAdministrate when certain grobs (e.g., note heads) stop playing.
Properties (read)
busyGrobs(list)A queue of
(end-moment . GROB)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Properties (write)
busyGrobs(list)A queue of
(end-moment . GROB)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Skip_event_swallow_translatorSwallow
\skip.Instrument_switch_engraverCreate a cue text for taking instrument.
Properties (read)
instrumentCueName(markup)The name to print if another instrument is to be taken.
This engraver creates the following layout object(s):
Grace_engraverSet font size and other properties for grace notes.
Properties (read)
graceSettings(list)Overrides for grace notes. This property should be manipulated through the
add-grace-propertyfunction.Tuplet_engraverCatch tuplet events and generate appropriate bracket.
Music types accepted:
Properties (read)
tupletFullLength(boolean)If set, the tuplet is printed up to the start of the next note.
tupletFullLengthNote(boolean)If set, end at the next note, otherwise end on the matter (time signatures, etc.) before the note.
This engraver creates the following layout object(s):
Tie_engraverGenerate ties between note heads of equal pitch.
Music types accepted:
Properties (read)
tieWaitForNote(boolean)If true, tied notes do not have to follow each other directly. This can be used for writing out arpeggios.
Properties (write)
tieMelismaBusy(boolean)Signal whether a tie is present.
This engraver creates the following layout object(s):
Slur_engraverBuild slur grobs from slur events.
Music types accepted:
Properties (read)
slurMelismaBusy(boolean)Signal if a slur is present.
doubleSlurs(boolean)If set, two slurs are created for every slurred note, one above and one below the chord.
This engraver creates the following layout object(s):
Slur.
Phrasing_slur_engraverPrint phrasing slurs. Similar to Slur_engraver.
Music types accepted:
This engraver creates the following layout object(s):
Spanner_break_forbid_engraverForbid breaks in certain spanners.
Note_spacing_engraverGenerate
NoteSpacing, an object linking horizontal lines for use in spacing.This engraver creates the following layout object(s):
Rhythmic_column_engraverGenerate
NoteColumn, an object that groups stems, note heads, and rests.This engraver creates the following layout object(s):
Script_column_engraverFind potentially colliding scripts and put them into a
ScriptColumnobject; that will fix the collisions.This engraver creates the following layout object(s):
Script_engraverHandle note scripted articulations.
Music types accepted:
Properties (read)
scriptDefinitions(list)The description of scripts. This is used by the
Script_engraverfor typesetting note-superscripts and subscripts. See ‘scm/script.scm’ for more information.This engraver creates the following layout object(s):
Bend_engraverCreate fall spanners.
Music types accepted:
This engraver creates the following layout object(s):
Dynamic_align_engraverAlign hairpins and dynamic texts on a horizontal line
Properties (read)
currentMusicalColumn(layout object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
New_dynamic_engraverCreate hairpins, dynamic texts, and their vertical alignments. The symbols are collected onto a
DynamicLineSpannergrob which takes care of vertical positioning.Music types accepted:
span-dynamic-event and absolute-dynamic-event
Properties (read)
crescendoSpanner(symbol)The type of spanner to be used for crescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin crescendo is used.
crescendoText(markup)The text to print at start of non-hairpin crescendo, i.e., ‘cresc.’.
currentMusicalColumn(layout object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
decrescendoSpanner(symbol)The type of spanner to be used for decrescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin decrescendo is used.
decrescendoText(markup)The text to print at start of non-hairpin decrescendo, i.e., ‘dim.’.
This engraver creates the following layout object(s):
Text_engraverCreate text scripts.
Music types accepted:
This engraver creates the following layout object(s):
Part_combine_engraverPart combine engraver for orchestral scores: Print markings ‘a2’, ‘Solo’, ‘Solo II’, and ‘unisono’.
Music types accepted:
Properties (read)
printPartCombineTexts(boolean)Set ‘Solo’ and ‘A due’ texts in the part combiner?
soloText(markup)The text for the start of a solo when part-combining.
soloIIText(markup)The text for the start of a solo for voice ‘two’ when part-combining.
aDueText(markup)Text to print at a unisono passage.
This engraver creates the following layout object(s):
Slash_repeat_engraverMake beat repeats.
Music types accepted:
Properties (read)
measureLength(moment)Length of one measure in the current time signature.
This engraver creates the following layout object(s):
Percent_repeat_engraverMake whole bar and double bar repeats.
Music types accepted:
Properties (read)
countPercentRepeats(boolean)If set, produce counters for percent repeats.
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
measureLength(moment)Length of one measure in the current time signature.
repeatCountVisibility(procedure)A procedure taking as arguments an integer and context, returning whether the corresponding percent repeat number should be printed when
countPercentRepeatsis set.Properties (write)
forbidBreak(boolean)If set to
##t, prevent a line break at this point.This engraver creates the following layout object(s):
DoublePercentRepeat, DoublePercentRepeatCounter, PercentRepeat and PercentRepeatCounter.
Chord_tremolo_engraverGenerate beams for tremolo repeats.
Music types accepted:
This engraver creates the following layout object(s):
Beam.
Auto_beam_engraverGenerate beams based on measure characteristics and observed Stems. Uses
beatLength,measureLength, andmeasurePositionto decide when to start and stop a beam. Overriding beaming is done through Stem_engraver propertiesstemLeftBeamCountandstemRightBeamCount.Music types accepted:
Properties (read)
autoBeaming(boolean)If set to true then beams are generated automatically.
autoBeamSettings(list)Specifies when automatically generated beams should begin and end. See behavior Setting automatic beam behavior for more information.
beatLength(moment)The length of one beat in this time signature.
subdivideBeams(boolean)If set, multiple beams will be subdivided at beat positions by only drawing one beam over the beat.
This engraver creates the following layout object(s):
Beam.
Grace_beam_engraverHandle
Beamevents by engraving beams. If omitted, then notes are printed with flags instead of beams. Only engraves beams when we are at grace points in time.Music types accepted:
Properties (read)
beamMelismaBusy(boolean)Signal if a beam is present.
beatLength(moment)The length of one beat in this time signature.
subdivideBeams(boolean)If set, multiple beams will be subdivided at beat positions by only drawing one beam over the beat.
This engraver creates the following layout object(s):
Beam.
Beam_engraverHandle
Beamevents by engraving beams. If omitted, then notes are printed with flags instead of beams.Music types accepted:
Properties (read)
beamMelismaBusy(boolean)Signal if a beam is present.
beatLength(moment)The length of one beat in this time signature.
subdivideBeams(boolean)If set, multiple beams will be subdivided at beat positions by only drawing one beam over the beat.
Properties (write)
forbidBreak(boolean)If set to
##t, prevent a line break at this point.This engraver creates the following layout object(s):
Beam.
Stem_engraverCreate stems and single-stem tremolos. It also works together with the beam engraver for overriding beaming.
Music types accepted:
Properties (read)
tremoloFlags(integer)The number of tremolo flags to add if no number is specified.
stemLeftBeamCount(integer)Specify the number of beams to draw on the left side of the next note. Overrides automatic beaming. The value is only used once, and then it is erased.
stemRightBeamCount(integer)See
stemLeftBeamCount.This engraver creates the following layout object(s):
Stem and StemTremolo.
Tweak_engraverRead the
tweaksproperty from the originating event, and set properties.Rest_engraverEngrave rests.
Music types accepted:
Properties (read)
middleCPosition(number)The place of the middle C, measured in half staff-spaces. Usually determined by looking at
middleCClefPositionandmiddleCOffset.This engraver creates the following layout object(s):
Rest.
Dots_engraverCreate Dots objects for rhythmic-head-interfaces.
This engraver creates the following layout object(s):
Dots.
Breathing_sign_engraverCreate a breathing sign.
Music types accepted:
This engraver creates the following layout object(s):
Repeat_tie_engraverCreate repeat ties.
Music types accepted:
This engraver creates the following layout object(s):
RepeatTie and RepeatTieColumn.
Laissez_vibrer_engraverCreate laissez vibrer items.
Music types accepted:
This engraver creates the following layout object(s):
Forbid_line_break_engraverForbid line breaks when note heads are still playing at some point.
Properties (read)
busyGrobs(list)A queue of
(end-moment . GROB)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Properties (write)
forbidBreak(boolean)If set to
##t, prevent a line break at this point.Grob_pq_engraverAdministrate when certain grobs (e.g., note heads) stop playing.
Properties (read)
busyGrobs(list)A queue of
(end-moment . GROB)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Properties (write)
busyGrobs(list)A queue of
(end-moment . GROB)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Trill_spanner_engraverCreate trill spanner from an event.
Music types accepted:
Properties (read)
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
currentMusicalColumn(layout object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
Text_spanner_engraverCreate text spanner from an event.
Music types accepted:
This engraver creates the following layout object(s):
Multi_measure_rest_engraverEngrave multi-measure rests that are produced with ‘R’. It reads
measurePositionandinternalBarNumberto determine what number to print over the MultiMeasureRest. ReadsmeasureLengthto determine whether it should use a whole rest or a breve rest to represent one measure.Music types accepted:
multi-measure-text-event and multi-measure-rest-event
Properties (read)
internalBarNumber(integer)Contains the current barnumber. This property is used for internal timekeeping, among others by the
Accidental_engraver.restNumberThreshold(number)If a multimeasure rest has more measures than this, a number is printed.
breakableSeparationItem(layout object)The breakable items in this time step, for this staff.
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
measurePosition(moment)How much of the current measure have we had. This can be set manually to create incomplete measures.
measureLength(moment)Length of one measure in the current time signature.
This engraver creates the following layout object(s):
MultiMeasureRest, MultiMeasureRestNumber and MultiMeasureRestText.
Output_property_engraverApply a procedure to any grob acknowledged.
Music types accepted:
Pitched_trill_engraverPrint the bracketed note head after a note head with trill.
This engraver creates the following layout object(s):
Font_size_engraverPut
fontSizeintofont-sizegrob property.Properties (read)
fontSize(number)The relative size of all grobs in a context.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < DrumVoice ] | [ Up : Contexts ] | [ FretBoards > ] | ||
2.1.7 FiguredBass
(not documented)
This context creates the following layout object(s):
BassFigureAlignment, BassFigureBracket, BassFigureContinuation, BassFigureLine, BassFigure, StaffSpacing and VerticalAxisGroup.
This context sets the following properties:
- Set grob-property
minimum-Y-extentin VerticalAxisGroup to'(0 . 2). - Set grob-property
remove-firstin VerticalAxisGroup to#t. - Set grob-property
remove-emptyin VerticalAxisGroup to#t.
This context is a ‘bottom’ context; it cannot contain other contexts.
This context is built from the following engraver(s):
Hara_kiri_engraverLike
Axis_group_engraver, but make a hara-kiri spanner, and add interesting items (i.e., note heads, lyric syllables, and normal rests).Properties (read)
keepAliveInterfaces(list)A list of symbols, signifying grob interfaces that are worth keeping a staff with
remove-emptyset around for.This engraver creates the following layout object(s):
Separating_line_group_engraverGenerate objects for computing spacing parameters.
Properties (read)
createSpacing(boolean)Create
StaffSpacingobjects? Should be set for staves.Properties (write)
hasStaffSpacing(boolean)True if the current
CommandColumncontains items that will affect spacing.This engraver creates the following layout object(s):
Skip_event_swallow_translatorSwallow
\skip.Note_swallow_translatorSwallow notes.
Figured_bass_engraverMake figured bass numbers.
Music types accepted:
bass-figure-event and rest-event
Properties (read)
figuredBassAlterationDirection(direction)Where to put alterations relative to the main figure.
figuredBassCenterContinuations(boolean)Whether to vertically center pairs of extender lines. This does not work with three or more lines.
figuredBassFormatter(procedure)A routine generating a markup for a bass figure.
implicitBassFigures(list)A list of bass figures that are not printed as numbers, but only as extender lines.
useBassFigureExtenders(boolean)Whether to use extender lines for repeated bass figures.
ignoreFiguredBassRest(boolean)Don’t swallow rest events.
This engraver creates the following layout object(s):
BassFigure, BassFigureAlignment, BassFigureBracket, BassFigureContinuation and BassFigureLine.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < FiguredBass ] | [ Up : Contexts ] | [ Global > ] | ||
2.1.8 FretBoards
(not documented)
This context creates the following layout object(s):
FretBoard, InstrumentName, StaffSpacing and VerticalAxisGroup.
This context sets the following properties:
- Set translator property
predefinedDiagramTableto#<hash-table 0/113>.
This context is a ‘bottom’ context; it cannot contain other contexts.
This context is built from the following engraver(s):
Instrument_name_engraverCreate a system start text for instrument or vocal names.
Properties (read)
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
shortInstrumentName(markup)See
instrument.instrumentName(markup)The name to print left of a staff. The
instrumentproperty labels the staff in the first system, and theinstrproperty labels following lines.shortVocalName(markup)Name of a vocal line, short version.
vocalName(markup)Name of a vocal line.
This engraver creates the following layout object(s):
Font_size_engraverPut
fontSizeintofont-sizegrob property.Properties (read)
fontSize(number)The relative size of all grobs in a context.
Separating_line_group_engraverGenerate objects for computing spacing parameters.
Properties (read)
createSpacing(boolean)Create
StaffSpacingobjects? Should be set for staves.Properties (write)
hasStaffSpacing(boolean)True if the current
CommandColumncontains items that will affect spacing.This engraver creates the following layout object(s):
Fretboard_engraverGenerate one or more tablature noteheads from event of type
NoteEvent.Music types accepted:
string-number-event and note-event
Properties (read)
stringTunings(list)The tablature strings tuning. It is a list of the pitch (in semitones) of each string (starting with the lower one).
minimumFret(number)The tablature auto string-selecting mechanism selects the highest string with a fret at least
minimumFret.maximumFretStretch(number)Don’t allocate frets further than this from specified frets.
tablatureFormat(procedure)A function formatting a tablature note head. Called with three arguments: string number, context and event. It returns the text as a string.
highStringOne(boolean)Whether the first string is the string with highest pitch on the instrument. This used by the automatic string selector for tablature notation.
predefinedDiagramTable(hash table)The hash table of predefined fret diagrams to use in FretBoards.
This engraver creates the following layout object(s):
Axis_group_engraverGroup all objects created in this context in a
VerticalAxisGroupspanner.Properties (read)
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
This engraver creates the following layout object(s):
Output_property_engraverApply a procedure to any grob acknowledged.
Music types accepted:
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < FretBoards ] | [ Up : Contexts ] | [ GrandStaff > ] | ||
2.1.9 Global
Hard coded entry point for LilyPond. Cannot be tuned.
This context creates the following layout object(s):
none.
Context Global can contain Score.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Global ] | [ Up : Contexts ] | [ GregorianTranscriptionStaff > ] | ||
2.1.10 GrandStaff
A group of staves, with a brace on the left side, grouping the staves together. The bar lines of the contained staves are connected vertically.
This context creates the following layout object(s):
Arpeggio, SpanBar, SystemStartBar, SystemStartBrace, SystemStartBracket and SystemStartSquare.
This context sets the following properties:
- Set translator property
systemStartDelimiterto'SystemStartBrace. - Set translator property
localKeySignatureto'().
Context GrandStaff can contain Staff and FiguredBass.
This context is built from the following engraver(s):
System_start_delimiter_engraverCreate a system start delimiter (i.e., a
SystemStartBar,SystemStartBrace,SystemStartBracketorSystemStartSquarespanner).Properties (read)
systemStartDelimiter(symbol)Which grob to make for the start of the system/staff? Set to
SystemStartBrace,SystemStartBracketorSystemStartBar.systemStartDelimiterHierarchy(pair)A nested list, indicating the nesting of a start delimiters.
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
This engraver creates the following layout object(s):
SystemStartBar, SystemStartBrace, SystemStartBracket and SystemStartSquare.
Span_arpeggio_engraverMake arpeggios that span multiple staves.
Properties (read)
connectArpeggios(boolean)If set, connect arpeggios across piano staff.
This engraver creates the following layout object(s):
Span_bar_engraverMake cross-staff bar lines: It catches all normal bar lines and draws a single span bar across them.
This engraver creates the following layout object(s):
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < GrandStaff ] | [ Up : Contexts ] | [ GregorianTranscriptionVoice > ] | ||
2.1.11 GregorianTranscriptionStaff
Handles clefs, bar lines, keys, accidentals. It can contain
Voice contexts.
This context also accepts commands for the following context(s):
Staff.
This context creates the following layout object(s):
AccidentalCautionary, AccidentalPlacement, AccidentalSuggestion, Accidental, BarLine, BassFigureAlignmentPositioning, BassFigureAlignment, BassFigureBracket, BassFigureContinuation, BassFigureLine, BassFigure, Clef, DotColumn, InstrumentName, KeyCancellation, KeySignature, LedgerLineSpanner, NoteCollision, OctavateEight, OttavaBracket, PianoPedalBracket, RestCollision, ScriptRow, SostenutoPedalLineSpanner, SostenutoPedal, StaffSpacing, StaffSymbol, SustainPedalLineSpanner, SustainPedal, TimeSignature, UnaCordaPedalLineSpanner, UnaCordaPedal and VerticalAxisGroup.
This context sets the following properties:
- Set grob-property
transparentin BarLine to#t. - Set translator property
shortInstrumentNameto'(). - Set translator property
instrumentNameto'(). - Set grob-property
minimum-Y-extentin VerticalAxisGroup to'(-4 . 4). - Set translator property
ignoreFiguredBassRestto#t. - Set translator property
createSpacingto#t. - Set translator property
localKeySignatureto'().
Context GregorianTranscriptionStaff can contain GregorianTranscriptionVoice and CueVoice.
This context is built from the following engraver(s):
Script_row_engraverDetermine order in horizontal side position elements.
This engraver creates the following layout object(s):
Figured_bass_position_engraverPosition figured bass alignments over notes.
This engraver creates the following layout object(s):
Figured_bass_engraverMake figured bass numbers.
Music types accepted:
bass-figure-event and rest-event
Properties (read)
figuredBassAlterationDirection(direction)Where to put alterations relative to the main figure.
figuredBassCenterContinuations(boolean)Whether to vertically center pairs of extender lines. This does not work with three or more lines.
figuredBassFormatter(procedure)A routine generating a markup for a bass figure.
implicitBassFigures(list)A list of bass figures that are not printed as numbers, but only as extender lines.
useBassFigureExtenders(boolean)Whether to use extender lines for repeated bass figures.
ignoreFiguredBassRest(boolean)Don’t swallow rest events.
This engraver creates the following layout object(s):
BassFigure, BassFigureAlignment, BassFigureBracket, BassFigureContinuation and BassFigureLine.
Axis_group_engraverGroup all objects created in this context in a
VerticalAxisGroupspanner.Properties (read)
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
This engraver creates the following layout object(s):
String_number_engraverSwallow string number events. The purpose of this engraver is to process tablatures for normal notation. To provent warnings for unprocessed string number events to obscure real error messages, this engraver swallows them all.
Instrument_name_engraverCreate a system start text for instrument or vocal names.
Properties (read)
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
shortInstrumentName(markup)See
instrument.instrumentName(markup)The name to print left of a staff. The
instrumentproperty labels the staff in the first system, and theinstrproperty labels following lines.shortVocalName(markup)Name of a vocal line, short version.
vocalName(markup)Name of a vocal line.
This engraver creates the following layout object(s):
Piano_pedal_align_engraverAlign piano pedal symbols and brackets.
Properties (read)
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
This engraver creates the following layout object(s):
SostenutoPedalLineSpanner, SustainPedalLineSpanner and UnaCordaPedalLineSpanner.
Piano_pedal_engraverEngrave piano pedal symbols and brackets.
Music types accepted:
una-corda-event, sustain-event and sostenuto-event
Properties (read)
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
pedalSostenutoStrings(list)See
pedalSustainStrings.pedalSostenutoStyle(symbol)See
pedalSustainStyle.pedalSustainStrings(list)A list of strings to print for sustain-pedal. Format is
(up updown down), where each of the three is the string to print when this is done with the pedal.pedalSustainStyle(symbol)A symbol that indicates how to print sustain pedals:
text,bracketormixed(both).pedalUnaCordaStrings(list)See
pedalSustainStrings.pedalUnaCordaStyle(symbol)See
pedalSustainStyle.This engraver creates the following layout object(s):
PianoPedalBracket, SostenutoPedal, SustainPedal and UnaCordaPedal.
Accidental_engraverMake accidentals. Catch note heads, ties and notices key-change events. This engraver usually lives at Staff level, but reads the settings for Accidental at
Voicelevel, so you can\overridethem atVoice.Properties (read)
autoAccidentals(list)List of different ways to typeset an accidental.
For determining when to print an accidental, several different rules are tried. The rule that gives the highest number of accidentals is used.
Each entry in the list is either a symbol or a procedure.
- symbol
The symbol is the name of the context in which the following rules are to be applied. For example, if context is Score then all staves share accidentals, and if context is Staff then all voices in the same staff share accidentals, but staves do not.
- procedure
The procedure represents an accidental rule to be applied to the previously specified context.
The procedure takes the following arguments:
contextThe current context to which the rule should be applied.
pitchThe pitch of the note to be evaluated.
barnumThe current bar number.
measureposThe current measure position.
The procedure returns a pair of booleans. The first states whether an extra natural should be added. The second states whether an accidental should be printed.
(#t . #f)does not make sense.autoCautionaries(list)List similar to
autoAccidentals, but it controls cautionary accidentals rather than normal ones. Both lists are tried, and the one giving the most accidentals wins. In case of draw, a normal accidental is typeset.internalBarNumber(integer)Contains the current barnumber. This property is used for internal timekeeping, among others by the
Accidental_engraver.extraNatural(boolean)Whether to typeset an extra natural sign before accidentals changing from a non-natural to another non-natural.
harmonicAccidentals(boolean)If set, harmonic notes in chords get accidentals.
keySignature(list)The current key signature. This is an alist containing
(step . alter)or((octave . step) . alter), where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.keySignature = #`((6 . ,FLAT)).localKeySignature(list)The key signature at this point in the measure. The format is the same as for
keySignature, but can also contain((octave . name) . (alter barnumber . measureposition))pairs.Properties (write)
localKeySignature(list)The key signature at this point in the measure. The format is the same as for
keySignature, but can also contain((octave . name) . (alter barnumber . measureposition))pairs.This engraver creates the following layout object(s):
Accidental, AccidentalCautionary, AccidentalPlacement and AccidentalSuggestion.
Rest_collision_engraverHandle collisions of rests.
Properties (read)
busyGrobs(list)A queue of
(end-moment . GROB)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).This engraver creates the following layout object(s):
Grob_pq_engraverAdministrate when certain grobs (e.g., note heads) stop playing.
Properties (read)
busyGrobs(list)A queue of
(end-moment . GROB)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Properties (write)
busyGrobs(list)A queue of
(end-moment . GROB)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Collision_engraverCollect
NoteColumns, and as soon as there are two or more, put them in aNoteCollisionobject.This engraver creates the following layout object(s):
Staff_symbol_engraverCreate the constellation of five (default) staff lines.
Music types accepted:
This engraver creates the following layout object(s):
Ledger_line_engraverCreate the spanner to draw ledger lines, and notices objects that need ledger lines.
This engraver creates the following layout object(s):
Time_signature_engraverCreate a TimeSignature whenever
timeSignatureFractionchanges.Properties (read)
implicitTimeSignatureVisibility(vector)break visibility for the default time signature.
timeSignatureFraction(pair of numbers)A pair of numbers, signifying the time signature. For example,
#'(4 . 4)is a 4/4 time signature.This engraver creates the following layout object(s):
Key_engraverEngrave a key signature.
Music types accepted:
Properties (read)
createKeyOnClefChange(boolean)Print a key signature whenever the clef is changed.
explicitKeySignatureVisibility(vector)‘break-visibility’ function for explicit key changes. ‘\override’ of the
break-visibilityproperty will set the visibility for normal (i.e., at the start of the line) key signatures.extraNatural(boolean)Whether to typeset an extra natural sign before accidentals changing from a non-natural to another non-natural.
keyAlterationOrder(list)An alist that defines in what order alterations should be printed. The format is
(step . alter), where step is a number from 0 to 6 and alter from -2 (sharp) to 2 (flat).keySignature(list)The current key signature. This is an alist containing
(step . alter)or((octave . step) . alter), where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.keySignature = #`((6 . ,FLAT)).lastKeySignature(list)Last key signature before a key signature change.
printKeyCancellation(boolean)Print restoration alterations before a key signature change.
Properties (write)
keySignature(list)The current key signature. This is an alist containing
(step . alter)or((octave . step) . alter), where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.keySignature = #`((6 . ,FLAT)).lastKeySignature(list)Last key signature before a key signature change.
tonic(pitch)The tonic of the current scale.
This engraver creates the following layout object(s):
Clef_engraverDetermine and set reference point for pitches.
Properties (read)
clefGlyph(string)Name of the symbol within the music font.
clefOctavation(integer)Add this much extra octavation. Values of 7 and -7 are common.
clefPosition(number)Where should the center of the clef symbol go, measured in half staff spaces from the center of the staff.
explicitClefVisibility(vector)‘break-visibility’ function for clef changes.
forceClef(boolean)Show clef symbol, even if it has not changed. Only active for the first clef after the property is set, not for the full staff.
This engraver creates the following layout object(s):
Clef and OctavateEight.
Ottava_spanner_engraverCreate a text spanner when the ottavation property changes.
Properties (read)
ottavation(markup)If set, the text for an ottava spanner. Changing this creates a new text spanner.
originalMiddleCPosition(integer)Used for temporary overriding middle C in octavation brackets.
currentMusicalColumn(layout object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
Staff_collecting_engraverMaintain the
stavesFoundvariable.Properties (read)
stavesFound(list of grobs)A list of all staff-symbols found.
Properties (write)
stavesFound(list of grobs)A list of all staff-symbols found.
Dot_column_engraverEngrave dots on dotted notes shifted to the right of the note. If omitted, then dots appear on top of the notes.
This engraver creates the following layout object(s):
Separating_line_group_engraverGenerate objects for computing spacing parameters.
Properties (read)
createSpacing(boolean)Create
StaffSpacingobjects? Should be set for staves.Properties (write)
hasStaffSpacing(boolean)True if the current
CommandColumncontains items that will affect spacing.This engraver creates the following layout object(s):
Font_size_engraverPut
fontSizeintofont-sizegrob property.Properties (read)
fontSize(number)The relative size of all grobs in a context.
Bar_engraverCreate barlines. This engraver is controlled through the
whichBarproperty. If it has no bar line to create, it will forbid a linebreak at this point.Properties (read)
whichBar(string)This property is read to determine what type of bar line to create.
Example:
\set Staff.whichBar = "|:"This will create a start-repeat bar in this staff only. Valid values are described in bar-line-interface.
Properties (write)
forbidBreak(boolean)If set to
##t, prevent a line break at this point.This engraver creates the following layout object(s):
Output_property_engraverApply a procedure to any grob acknowledged.
Music types accepted:
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < GregorianTranscriptionStaff ] | [ Up : Contexts ] | [ Lyrics > ] | ||
2.1.12 GregorianTranscriptionVoice
Corresponds to a voice on a staff. This context handles the conversion of dynamic signs, stems, beams, super- and subscripts, slurs, ties, and rests.
You have to instantiate this explicitly if you want to have multiple voices on the same staff.
This context also accepts commands for the following context(s):
Voice.
This context creates the following layout object(s):
Arpeggio, Beam, BendAfter, BreathingSign, ClusterSpannerBeacon, ClusterSpanner, CombineTextScript, Dots, DoublePercentRepeatCounter, DoublePercentRepeat, DynamicLineSpanner, DynamicTextSpanner, DynamicText, Fingering, Glissando, Hairpin, InstrumentSwitch, LaissezVibrerTieColumn, LaissezVibrerTie, LigatureBracket, MultiMeasureRestNumber, MultiMeasureRestText, MultiMeasureRest, NoteColumn, NoteHead, NoteSpacing, PercentRepeatCounter, PercentRepeat, PhrasingSlur, RepeatSlash, RepeatTieColumn, RepeatTie, Rest, ScriptColumn, Script, Slur, StemTremolo, Stem, StringNumber, StrokeFinger, TextScript, TextSpanner, TieColumn, Tie, TrillPitchAccidental, TrillPitchGroup, TrillPitchHead, TrillSpanner, TupletBracket, TupletNumber and VoiceFollower.
This context sets the following properties:
- Set grob-property
paddingin TextSpanner to-0.1. - Set grob-property
stylein TextSpanner to'line. - Set grob-property
dash-fractionin TextSpanner to'(). - Set translator property
autoBeamingto#f. - Set grob-property
paddingin Script to0.5. - Set grob-property
transparentin LigatureBracket to#t. - Set translator property
localKeySignatureto'().
This context is a ‘bottom’ context; it cannot contain other contexts.
This context is built from the following engraver(s):
Skip_event_swallow_translatorSwallow
\skip.Instrument_switch_engraverCreate a cue text for taking instrument.
Properties (read)
instrumentCueName(markup)The name to print if another instrument is to be taken.
This engraver creates the following layout object(s):
Grace_engraverSet font size and other properties for grace notes.
Properties (read)
graceSettings(list)Overrides for grace notes. This property should be manipulated through the
add-grace-propertyfunction.Tuplet_engraverCatch tuplet events and generate appropriate bracket.
Music types accepted:
Properties (read)
tupletFullLength(boolean)If set, the tuplet is printed up to the start of the next note.
tupletFullLengthNote(boolean)If set, end at the next note, otherwise end on the matter (time signatures, etc.) before the note.
This engraver creates the following layout object(s):
Tie_engraverGenerate ties between note heads of equal pitch.
Music types accepted:
Properties (read)
tieWaitForNote(boolean)If true, tied notes do not have to follow each other directly. This can be used for writing out arpeggios.
Properties (write)
tieMelismaBusy(boolean)Signal whether a tie is present.
This engraver creates the following layout object(s):
Slur_engraverBuild slur grobs from slur events.
Music types accepted:
Properties (read)
slurMelismaBusy(boolean)Signal if a slur is present.
doubleSlurs(boolean)If set, two slurs are created for every slurred note, one above and one below the chord.
This engraver creates the following layout object(s):
Slur.
Cluster_spanner_engraverEngrave a cluster using
Spannernotation.Music types accepted:
This engraver creates the following layout object(s):
Phrasing_slur_engraverPrint phrasing slurs. Similar to Slur_engraver.
Music types accepted:
This engraver creates the following layout object(s):
Spanner_break_forbid_engraverForbid breaks in certain spanners.
Note_spacing_engraverGenerate
NoteSpacing, an object linking horizontal lines for use in spacing.This engraver creates the following layout object(s):
Rhythmic_column_engraverGenerate
NoteColumn, an object that groups stems, note heads, and rests.This engraver creates the following layout object(s):
Script_column_engraverFind potentially colliding scripts and put them into a
ScriptColumnobject; that will fix the collisions.This engraver creates the following layout object(s):
Script_engraverHandle note scripted articulations.
Music types accepted:
Properties (read)
scriptDefinitions(list)The description of scripts. This is used by the
Script_engraverfor typesetting note-superscripts and subscripts. See ‘scm/script.scm’ for more information.This engraver creates the following layout object(s):
Bend_engraverCreate fall spanners.
Music types accepted:
This engraver creates the following layout object(s):
Fingering_engraverCreate fingering scripts.
Music types accepted:
stroke-finger-event and fingering-event
This engraver creates the following layout object(s):
Dynamic_align_engraverAlign hairpins and dynamic texts on a horizontal line
Properties (read)
currentMusicalColumn(layout object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
New_dynamic_engraverCreate hairpins, dynamic texts, and their vertical alignments. The symbols are collected onto a
DynamicLineSpannergrob which takes care of vertical positioning.Music types accepted:
span-dynamic-event and absolute-dynamic-event
Properties (read)
crescendoSpanner(symbol)The type of spanner to be used for crescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin crescendo is used.
crescendoText(markup)The text to print at start of non-hairpin crescendo, i.e., ‘cresc.’.
currentMusicalColumn(layout object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
decrescendoSpanner(symbol)The type of spanner to be used for decrescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin decrescendo is used.
decrescendoText(markup)The text to print at start of non-hairpin decrescendo, i.e., ‘dim.’.
This engraver creates the following layout object(s):
Text_engraverCreate text scripts.
Music types accepted:
This engraver creates the following layout object(s):
Part_combine_engraverPart combine engraver for orchestral scores: Print markings ‘a2’, ‘Solo’, ‘Solo II’, and ‘unisono’.
Music types accepted:
Properties (read)
printPartCombineTexts(boolean)Set ‘Solo’ and ‘A due’ texts in the part combiner?
soloText(markup)The text for the start of a solo when part-combining.
soloIIText(markup)The text for the start of a solo for voice ‘two’ when part-combining.
aDueText(markup)Text to print at a unisono passage.
This engraver creates the following layout object(s):
Slash_repeat_engraverMake beat repeats.
Music types accepted:
Properties (read)
measureLength(moment)Length of one measure in the current time signature.
This engraver creates the following layout object(s):
Percent_repeat_engraverMake whole bar and double bar repeats.
Music types accepted:
Properties (read)
countPercentRepeats(boolean)If set, produce counters for percent repeats.
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
measureLength(moment)Length of one measure in the current time signature.
repeatCountVisibility(procedure)A procedure taking as arguments an integer and context, returning whether the corresponding percent repeat number should be printed when
countPercentRepeatsis set.Properties (write)
forbidBreak(boolean)If set to
##t, prevent a line break at this point.This engraver creates the following layout object(s):
DoublePercentRepeat, DoublePercentRepeatCounter, PercentRepeat and PercentRepeatCounter.
Chord_tremolo_engraverGenerate beams for tremolo repeats.
Music types accepted:
This engraver creates the following layout object(s):
Beam.
New_fingering_engraverCreate fingering scripts for notes in a new chord. This engraver is ill-named, since it also takes care of articulations and harmonic note heads.
Properties (read)
fingeringOrientations(list)A list of symbols, containing ‘left’, ‘right’, ‘up’ and/or ‘down’. This list determines where fingerings are put relative to the chord being fingered.
harmonicDots(boolean)If set, harmonic notes in dotted chords get dots.
strokeFingerOrientations(list)See
fingeringOrientations.stringNumberOrientations(list)See
fingeringOrientations.This engraver creates the following layout object(s):
Fingering, Script, StringNumber and StrokeFinger.
Auto_beam_engraverGenerate beams based on measure characteristics and observed Stems. Uses
beatLength,measureLength, andmeasurePositionto decide when to start and stop a beam. Overriding beaming is done through Stem_engraver propertiesstemLeftBeamCountandstemRightBeamCount.Music types accepted:
Properties (read)
autoBeaming(boolean)If set to true then beams are generated automatically.
autoBeamSettings(list)Specifies when automatically generated beams should begin and end. See behavior Setting automatic beam behavior for more information.
beatLength(moment)The length of one beat in this time signature.
subdivideBeams(boolean)If set, multiple beams will be subdivided at beat positions by only drawing one beam over the beat.
This engraver creates the following layout object(s):
Beam.
Grace_beam_engraverHandle
Beamevents by engraving beams. If omitted, then notes are printed with flags instead of beams. Only engraves beams when we are at grace points in time.Music types accepted:
Properties (read)
beamMelismaBusy(boolean)Signal if a beam is present.
beatLength(moment)The length of one beat in this time signature.
subdivideBeams(boolean)If set, multiple beams will be subdivided at beat positions by only drawing one beam over the beat.
This engraver creates the following layout object(s):
Beam.
Beam_engraverHandle
Beamevents by engraving beams. If omitted, then notes are printed with flags instead of beams.Music types accepted:
Properties (read)
beamMelismaBusy(boolean)Signal if a beam is present.
beatLength(moment)The length of one beat in this time signature.
subdivideBeams(boolean)If set, multiple beams will be subdivided at beat positions by only drawing one beam over the beat.
Properties (write)
forbidBreak(boolean)If set to
##t, prevent a line break at this point.This engraver creates the following layout object(s):
Beam.
Stem_engraverCreate stems and single-stem tremolos. It also works together with the beam engraver for overriding beaming.
Music types accepted:
Properties (read)
tremoloFlags(integer)The number of tremolo flags to add if no number is specified.
stemLeftBeamCount(integer)Specify the number of beams to draw on the left side of the next note. Overrides automatic beaming. The value is only used once, and then it is erased.
stemRightBeamCount(integer)See
stemLeftBeamCount.This engraver creates the following layout object(s):
Stem and StemTremolo.
Tweak_engraverRead the
tweaksproperty from the originating event, and set properties.Rest_engraverEngrave rests.
Music types accepted:
Properties (read)
middleCPosition(number)The place of the middle C, measured in half staff-spaces. Usually determined by looking at
middleCClefPositionandmiddleCOffset.This engraver creates the following layout object(s):
Rest.
Dots_engraverCreate Dots objects for rhythmic-head-interfaces.
This engraver creates the following layout object(s):
Dots.
Note_heads_engraverGenerate note heads.
Music types accepted:
Properties (read)
middleCPosition(number)The place of the middle C, measured in half staff-spaces. Usually determined by looking at
middleCClefPositionandmiddleCOffset.staffLineLayoutFunction(procedure)Layout of staff lines,
traditional, orsemitone.This engraver creates the following layout object(s):
Breathing_sign_engraverCreate a breathing sign.
Music types accepted:
This engraver creates the following layout object(s):
Ligature_bracket_engraverHandle
Ligature_eventsby engravingLigaturebrackets.Music types accepted:
This engraver creates the following layout object(s):
Glissando_engraverEngrave glissandi.
Music types accepted:
This engraver creates the following layout object(s):
Note_head_line_engraverEngrave a line between two note heads, for example a glissando. If
followVoiceis set, staff switches also generate a line.Properties (read)
followVoice(boolean)If set, note heads are tracked across staff switches by a thin line.
This engraver creates the following layout object(s):
Glissando and VoiceFollower.
Repeat_tie_engraverCreate repeat ties.
Music types accepted:
This engraver creates the following layout object(s):
RepeatTie and RepeatTieColumn.
Laissez_vibrer_engraverCreate laissez vibrer items.
Music types accepted:
This engraver creates the following layout object(s):
Forbid_line_break_engraverForbid line breaks when note heads are still playing at some point.
Properties (read)
busyGrobs(list)A queue of
(end-moment . GROB)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Properties (write)
forbidBreak(boolean)If set to
##t, prevent a line break at this point.Grob_pq_engraverAdministrate when certain grobs (e.g., note heads) stop playing.
Properties (read)
busyGrobs(list)A queue of
(end-moment . GROB)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Properties (write)
busyGrobs(list)A queue of
(end-moment . GROB)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Trill_spanner_engraverCreate trill spanner from an event.
Music types accepted:
Properties (read)
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
currentMusicalColumn(layout object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
Text_spanner_engraverCreate text spanner from an event.
Music types accepted:
This engraver creates the following layout object(s):
Multi_measure_rest_engraverEngrave multi-measure rests that are produced with ‘R’. It reads
measurePositionandinternalBarNumberto determine what number to print over the MultiMeasureRest. ReadsmeasureLengthto determine whether it should use a whole rest or a breve rest to represent one measure.Music types accepted:
multi-measure-text-event and multi-measure-rest-event
Properties (read)
internalBarNumber(integer)Contains the current barnumber. This property is used for internal timekeeping, among others by the
Accidental_engraver.restNumberThreshold(number)If a multimeasure rest has more measures than this, a number is printed.
breakableSeparationItem(layout object)The breakable items in this time step, for this staff.
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
measurePosition(moment)How much of the current measure have we had. This can be set manually to create incomplete measures.
measureLength(moment)Length of one measure in the current time signature.
This engraver creates the following layout object(s):
MultiMeasureRest, MultiMeasureRestNumber and MultiMeasureRestText.
Arpeggio_engraverGenerate an Arpeggio symbol.
Music types accepted:
This engraver creates the following layout object(s):
Output_property_engraverApply a procedure to any grob acknowledged.
Music types accepted:
Pitched_trill_engraverPrint the bracketed note head after a note head with trill.
This engraver creates the following layout object(s):
Font_size_engraverPut
fontSizeintofont-sizegrob property.Properties (read)
fontSize(number)The relative size of all grobs in a context.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < GregorianTranscriptionVoice ] | [ Up : Contexts ] | [ MensuralStaff > ] | ||
2.1.13 Lyrics
Corresponds to a voice with lyrics. Handles the printing of a single line of lyrics.
This context creates the following layout object(s):
InstrumentName, LyricExtender, LyricHyphen, LyricSpace, LyricText, StanzaNumber and VerticalAxisGroup.
This context sets the following properties:
- Set grob-property
bar-sizein BarLine to0.1. - Set grob-property
font-sizein InstrumentName to1.0. - Set grob-property
self-alignment-Yin InstrumentName to#f. - Set grob-property
paddingin SeparationItem to0.2. - Set grob-property
keep-fixed-while-stretchingin VerticalAxisGroup to#t. - Set grob-property
remove-emptyin VerticalAxisGroup to#t. - Set grob-property
remove-firstin VerticalAxisGroup to#t. - Set translator property
shortInstrumentNameto'(). - Set translator property
instrumentNameto'(). - Set grob-property
minimum-Y-extentin VerticalAxisGroup to'(-0.75 . 2.0).
This context is a ‘bottom’ context; it cannot contain other contexts.
This context is built from the following engraver(s):
Hara_kiri_engraverLike
Axis_group_engraver, but make a hara-kiri spanner, and add interesting items (i.e., note heads, lyric syllables, and normal rests).Properties (read)
keepAliveInterfaces(list)A list of symbols, signifying grob interfaces that are worth keeping a staff with
remove-emptyset around for.This engraver creates the following layout object(s):
Font_size_engraverPut
fontSizeintofont-sizegrob property.Properties (read)
fontSize(number)The relative size of all grobs in a context.
Skip_event_swallow_translatorSwallow
\skip.Instrument_name_engraverCreate a system start text for instrument or vocal names.
Properties (read)
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
shortInstrumentName(markup)See
instrument.instrumentName(markup)The name to print left of a staff. The
instrumentproperty labels the staff in the first system, and theinstrproperty labels following lines.shortVocalName(markup)Name of a vocal line, short version.
vocalName(markup)Name of a vocal line.
This engraver creates the following layout object(s):
Stanza_number_engraverEngrave stanza numbers.
Properties (read)
stanza(markup)Stanza ‘number’ to print before the start of a verse. Use in
Lyricscontext.This engraver creates the following layout object(s):
Hyphen_engraverCreate lyric hyphens and distance constraints between words.
Music types accepted:
This engraver creates the following layout object(s):
LyricHyphen and LyricSpace.
Extender_engraverCreate lyric extenders.
Music types accepted:
Properties (read)
extendersOverRests(boolean)Whether to continue extenders as they cross a rest.
This engraver creates the following layout object(s):
Lyric_engraverEngrave text for lyrics.
Music types accepted:
Properties (read)
ignoreMelismata(boolean)Ignore melismata for this Lyrics line.
lyricMelismaAlignment(direction)Alignment to use for a melisma syllable.
This engraver creates the following layout object(s):
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Lyrics ] | [ Up : Contexts ] | [ MensuralVoice > ] | ||
2.1.14 MensuralStaff
Same as Staff context, except that it is
accommodated for typesetting a piece in mensural style.
This context also accepts commands for the following context(s):
Staff.
This context creates the following layout object(s):
AccidentalCautionary, AccidentalPlacement, AccidentalSuggestion, Accidental, BarLine, BassFigureAlignmentPositioning, BassFigureAlignment, BassFigureBracket, BassFigureContinuation, BassFigureLine, BassFigure, Clef, Custos, DotColumn, InstrumentName, KeyCancellation, KeySignature, LedgerLineSpanner, NoteCollision, OctavateEight, OttavaBracket, PianoPedalBracket, RestCollision, ScriptRow, SostenutoPedalLineSpanner, SostenutoPedal, StaffSpacing, StaffSymbol, SustainPedalLineSpanner, SustainPedal, TimeSignature, UnaCordaPedalLineSpanner, UnaCordaPedal and VerticalAxisGroup.
This context sets the following properties:
- Set translator property
printKeyCancellationto#f. - Set translator property
autoCautionariesto'(). - Set translator property
autoAccidentalsto'(Staff #<procedure #f (context pitch barnum measurepos)>). - Set translator property
extraNaturalto#f. - Set grob-property
neutral-directionin Custos to-1. - Set grob-property
neutral-positionin Custos to3. - Set grob-property
stylein Custos to'mensural. - Set grob-property
glyph-name-alistin Accidental to'((-1/2 . accidentals.mensuralM1) (0 . accidentals.vaticana0) (1/2 . accidentals.mensural1)). - Set grob-property
glyph-name-alistin KeySignature to'((-1/2 . accidentals.mensuralM1) (0 . accidentals.vaticana0) (1/2 . accidentals.mensural1)). - Set grob-property
stylein TimeSignature to'mensural. - Set translator property
clefOctavationto0. - Set translator property
clefPositionto-2. - Set translator property
middleCPositionto-6. - Set translator property
middleCClefPositionto-6. - Set translator property
clefGlyphto"clefs.mensural.g". - Set grob-property
thicknessin StaffSymbol to0.6. - Set grob-property
transparentin BarLine to#t. - Set translator property
shortInstrumentNameto'(). - Set translator property
instrumentNameto'(). - Set grob-property
minimum-Y-extentin VerticalAxisGroup to'(-4 . 4). - Set translator property
ignoreFiguredBassRestto#t. - Set translator property
createSpacingto#t. - Set translator property
localKeySignatureto'().
Context MensuralStaff can contain MensuralVoice and CueVoice.
This context is built from the following engraver(s):
Custos_engraverEngrave custodes.
This engraver creates the following layout object(s):
Script_row_engraverDetermine order in horizontal side position elements.
This engraver creates the following layout object(s):
Figured_bass_position_engraverPosition figured bass alignments over notes.
This engraver creates the following layout object(s):
Figured_bass_engraverMake figured bass numbers.
Music types accepted:
bass-figure-event and rest-event
Properties (read)
figuredBassAlterationDirection(direction)Where to put alterations relative to the main figure.
figuredBassCenterContinuations(boolean)Whether to vertically center pairs of extender lines. This does not work with three or more lines.
figuredBassFormatter(procedure)A routine generating a markup for a bass figure.
implicitBassFigures(list)A list of bass figures that are not printed as numbers, but only as extender lines.
useBassFigureExtenders(boolean)Whether to use extender lines for repeated bass figures.
ignoreFiguredBassRest(boolean)Don’t swallow rest events.
This engraver creates the following layout object(s):
BassFigure, BassFigureAlignment, BassFigureBracket, BassFigureContinuation and BassFigureLine.
Axis_group_engraverGroup all objects created in this context in a
VerticalAxisGroupspanner.Properties (read)
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
This engraver creates the following layout object(s):
String_number_engraverSwallow string number events. The purpose of this engraver is to process tablatures for normal notation. To provent warnings for unprocessed string number events to obscure real error messages, this engraver swallows them all.
Instrument_name_engraverCreate a system start text for instrument or vocal names.
Properties (read)
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
shortInstrumentName(markup)See
instrument.instrumentName(markup)The name to print left of a staff. The
instrumentproperty labels the staff in the first system, and theinstrproperty labels following lines.shortVocalName(markup)Name of a vocal line, short version.
vocalName(markup)Name of a vocal line.
This engraver creates the following layout object(s):
Piano_pedal_align_engraverAlign piano pedal symbols and brackets.
Properties (read)
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
This engraver creates the following layout object(s):
SostenutoPedalLineSpanner, SustainPedalLineSpanner and UnaCordaPedalLineSpanner.
Piano_pedal_engraverEngrave piano pedal symbols and brackets.
Music types accepted:
una-corda-event, sustain-event and sostenuto-event
Properties (read)
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
pedalSostenutoStrings(list)See
pedalSustainStrings.pedalSostenutoStyle(symbol)See
pedalSustainStyle.pedalSustainStrings(list)A list of strings to print for sustain-pedal. Format is
(up updown down), where each of the three is the string to print when this is done with the pedal.pedalSustainStyle(symbol)A symbol that indicates how to print sustain pedals:
text,bracketormixed(both).pedalUnaCordaStrings(list)See
pedalSustainStrings.pedalUnaCordaStyle(symbol)See
pedalSustainStyle.This engraver creates the following layout object(s):
PianoPedalBracket, SostenutoPedal, SustainPedal and UnaCordaPedal.
Accidental_engraverMake accidentals. Catch note heads, ties and notices key-change events. This engraver usually lives at Staff level, but reads the settings for Accidental at
Voicelevel, so you can\overridethem atVoice.Properties (read)
autoAccidentals(list)List of different ways to typeset an accidental.
For determining when to print an accidental, several different rules are tried. The rule that gives the highest number of accidentals is used.
Each entry in the list is either a symbol or a procedure.
- symbol
The symbol is the name of the context in which the following rules are to be applied. For example, if context is Score then all staves share accidentals, and if context is Staff then all voices in the same staff share accidentals, but staves do not.
- procedure
The procedure represents an accidental rule to be applied to the previously specified context.
The procedure takes the following arguments:
contextThe current context to which the rule should be applied.
pitchThe pitch of the note to be evaluated.
barnumThe current bar number.
measureposThe current measure position.
The procedure returns a pair of booleans. The first states whether an extra natural should be added. The second states whether an accidental should be printed.
(#t . #f)does not make sense.autoCautionaries(list)List similar to
autoAccidentals, but it controls cautionary accidentals rather than normal ones. Both lists are tried, and the one giving the most accidentals wins. In case of draw, a normal accidental is typeset.internalBarNumber(integer)Contains the current barnumber. This property is used for internal timekeeping, among others by the
Accidental_engraver.extraNatural(boolean)Whether to typeset an extra natural sign before accidentals changing from a non-natural to another non-natural.
harmonicAccidentals(boolean)If set, harmonic notes in chords get accidentals.
keySignature(list)The current key signature. This is an alist containing
(step . alter)or((octave . step) . alter), where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.keySignature = #`((6 . ,FLAT)).localKeySignature(list)The key signature at this point in the measure. The format is the same as for
keySignature, but can also contain((octave . name) . (alter barnumber . measureposition))pairs.Properties (write)
localKeySignature(list)The key signature at this point in the measure. The format is the same as for
keySignature, but can also contain((octave . name) . (alter barnumber . measureposition))pairs.This engraver creates the following layout object(s):
Accidental, AccidentalCautionary, AccidentalPlacement and AccidentalSuggestion.
Rest_collision_engraverHandle collisions of rests.
Properties (read)
busyGrobs(list)A queue of
(end-moment . GROB)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).This engraver creates the following layout object(s):
Grob_pq_engraverAdministrate when certain grobs (e.g., note heads) stop playing.
Properties (read)
busyGrobs(list)A queue of
(end-moment . GROB)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Properties (write)
busyGrobs(list)A queue of
(end-moment . GROB)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Collision_engraverCollect
NoteColumns, and as soon as there are two or more, put them in aNoteCollisionobject.This engraver creates the following layout object(s):
Staff_symbol_engraverCreate the constellation of five (default) staff lines.
Music types accepted:
This engraver creates the following layout object(s):
Ledger_line_engraverCreate the spanner to draw ledger lines, and notices objects that need ledger lines.
This engraver creates the following layout object(s):
Time_signature_engraverCreate a TimeSignature whenever
timeSignatureFractionchanges.Properties (read)
implicitTimeSignatureVisibility(vector)break visibility for the default time signature.
timeSignatureFraction(pair of numbers)A pair of numbers, signifying the time signature. For example,
#'(4 . 4)is a 4/4 time signature.This engraver creates the following layout object(s):
Key_engraverEngrave a key signature.
Music types accepted:
Properties (read)
createKeyOnClefChange(boolean)Print a key signature whenever the clef is changed.
explicitKeySignatureVisibility(vector)‘break-visibility’ function for explicit key changes. ‘\override’ of the
break-visibilityproperty will set the visibility for normal (i.e., at the start of the line) key signatures.extraNatural(boolean)Whether to typeset an extra natural sign before accidentals changing from a non-natural to another non-natural.
keyAlterationOrder(list)An alist that defines in what order alterations should be printed. The format is
(step . alter), where step is a number from 0 to 6 and alter from -2 (sharp) to 2 (flat).keySignature(list)The current key signature. This is an alist containing
(step . alter)or((octave . step) . alter), where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.keySignature = #`((6 . ,FLAT)).lastKeySignature(list)Last key signature before a key signature change.
printKeyCancellation(boolean)Print restoration alterations before a key signature change.
Properties (write)
keySignature(list)The current key signature. This is an alist containing
(step . alter)or((octave . step) . alter), where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.keySignature = #`((6 . ,FLAT)).lastKeySignature(list)Last key signature before a key signature change.
tonic(pitch)The tonic of the current scale.
This engraver creates the following layout object(s):
Clef_engraverDetermine and set reference point for pitches.
Properties (read)
clefGlyph(string)Name of the symbol within the music font.
clefOctavation(integer)Add this much extra octavation. Values of 7 and -7 are common.
clefPosition(number)Where should the center of the clef symbol go, measured in half staff spaces from the center of the staff.
explicitClefVisibility(vector)‘break-visibility’ function for clef changes.
forceClef(boolean)Show clef symbol, even if it has not changed. Only active for the first clef after the property is set, not for the full staff.
This engraver creates the following layout object(s):
Clef and OctavateEight.
Ottava_spanner_engraverCreate a text spanner when the ottavation property changes.
Properties (read)
ottavation(markup)If set, the text for an ottava spanner. Changing this creates a new text spanner.
originalMiddleCPosition(integer)Used for temporary overriding middle C in octavation brackets.
currentMusicalColumn(layout object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
Staff_collecting_engraverMaintain the
stavesFoundvariable.Properties (read)
stavesFound(list of grobs)A list of all staff-symbols found.
Properties (write)
stavesFound(list of grobs)A list of all staff-symbols found.
Dot_column_engraverEngrave dots on dotted notes shifted to the right of the note. If omitted, then dots appear on top of the notes.
This engraver creates the following layout object(s):
Separating_line_group_engraverGenerate objects for computing spacing parameters.
Properties (read)
createSpacing(boolean)Create
StaffSpacingobjects? Should be set for staves.Properties (write)
hasStaffSpacing(boolean)True if the current
CommandColumncontains items that will affect spacing.This engraver creates the following layout object(s):
Font_size_engraverPut
fontSizeintofont-sizegrob property.Properties (read)
fontSize(number)The relative size of all grobs in a context.
Bar_engraverCreate barlines. This engraver is controlled through the
whichBarproperty. If it has no bar line to create, it will forbid a linebreak at this point.Properties (read)
whichBar(string)This property is read to determine what type of bar line to create.
Example:
\set Staff.whichBar = "|:"This will create a start-repeat bar in this staff only. Valid values are described in bar-line-interface.
Properties (write)
forbidBreak(boolean)If set to
##t, prevent a line break at this point.This engraver creates the following layout object(s):
Output_property_engraverApply a procedure to any grob acknowledged.
Music types accepted:
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < MensuralStaff ] | [ Up : Contexts ] | [ NoteNames > ] | ||
2.1.15 MensuralVoice
Same as Voice context, except that it is
accommodated for typesetting a piece in mensural style.
This context also accepts commands for the following context(s):
Voice.
This context creates the following layout object(s):
Arpeggio, Beam, BendAfter, BreathingSign, ClusterSpannerBeacon, ClusterSpanner, CombineTextScript, Dots, DoublePercentRepeatCounter, DoublePercentRepeat, DynamicLineSpanner, DynamicTextSpanner, DynamicText, Fingering, Glissando, Hairpin, InstrumentSwitch, LaissezVibrerTieColumn, LaissezVibrerTie, MensuralLigature, MultiMeasureRestNumber, MultiMeasureRestText, MultiMeasureRest, NoteColumn, NoteHead, NoteSpacing, PercentRepeatCounter, PercentRepeat, PhrasingSlur, RepeatSlash, RepeatTieColumn, RepeatTie, Rest, ScriptColumn, Script, StemTremolo, Stem, StringNumber, StrokeFinger, TextScript, TextSpanner, TieColumn, Tie, TrillPitchAccidental, TrillPitchGroup, TrillPitchHead, TrillSpanner, TupletBracket, TupletNumber and VoiceFollower.
This context sets the following properties:
- Set translator property
autoBeamingto#f. - Set grob-property
stylein Rest to'mensural. - Set grob-property
stylein NoteHead to'mensural. - Set translator property
localKeySignatureto'().
This context is a ‘bottom’ context; it cannot contain other contexts.
This context is built from the following engraver(s):
Mensural_ligature_engraverHandle
Mensural_ligature_eventsby glueing special ligature heads together.Music types accepted:
This engraver creates the following layout object(s):
Skip_event_swallow_translatorSwallow
\skip.Instrument_switch_engraverCreate a cue text for taking instrument.
Properties (read)
instrumentCueName(markup)The name to print if another instrument is to be taken.
This engraver creates the following layout object(s):
Grace_engraverSet font size and other properties for grace notes.
Properties (read)
graceSettings(list)Overrides for grace notes. This property should be manipulated through the
add-grace-propertyfunction.Tuplet_engraverCatch tuplet events and generate appropriate bracket.
Music types accepted:
Properties (read)
tupletFullLength(boolean)If set, the tuplet is printed up to the start of the next note.
tupletFullLengthNote(boolean)If set, end at the next note, otherwise end on the matter (time signatures, etc.) before the note.
This engraver creates the following layout object(s):
Tie_engraverGenerate ties between note heads of equal pitch.
Music types accepted:
Properties (read)
tieWaitForNote(boolean)If true, tied notes do not have to follow each other directly. This can be used for writing out arpeggios.
Properties (write)
tieMelismaBusy(boolean)Signal whether a tie is present.
This engraver creates the following layout object(s):
Cluster_spanner_engraverEngrave a cluster using
Spannernotation.Music types accepted:
This engraver creates the following layout object(s):
Phrasing_slur_engraverPrint phrasing slurs. Similar to Slur_engraver.
Music types accepted:
This engraver creates the following layout object(s):
Spanner_break_forbid_engraverForbid breaks in certain spanners.
Note_spacing_engraverGenerate
NoteSpacing, an object linking horizontal lines for use in spacing.This engraver creates the following layout object(s):
Rhythmic_column_engraverGenerate
NoteColumn, an object that groups stems, note heads, and rests.This engraver creates the following layout object(s):
Script_column_engraverFind potentially colliding scripts and put them into a
ScriptColumnobject; that will fix the collisions.This engraver creates the following layout object(s):
Script_engraverHandle note scripted articulations.
Music types accepted:
Properties (read)
scriptDefinitions(list)The description of scripts. This is used by the
Script_engraverfor typesetting note-superscripts and subscripts. See ‘scm/script.scm’ for more information.This engraver creates the following layout object(s):
Bend_engraverCreate fall spanners.
Music types accepted:
This engraver creates the following layout object(s):
Fingering_engraverCreate fingering scripts.
Music types accepted:
stroke-finger-event and fingering-event
This engraver creates the following layout object(s):
Dynamic_align_engraverAlign hairpins and dynamic texts on a horizontal line
Properties (read)
currentMusicalColumn(layout object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
New_dynamic_engraverCreate hairpins, dynamic texts, and their vertical alignments. The symbols are collected onto a
DynamicLineSpannergrob which takes care of vertical positioning.Music types accepted:
span-dynamic-event and absolute-dynamic-event
Properties (read)
crescendoSpanner(symbol)The type of spanner to be used for crescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin crescendo is used.
crescendoText(markup)The text to print at start of non-hairpin crescendo, i.e., ‘cresc.’.
currentMusicalColumn(layout object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
decrescendoSpanner(symbol)The type of spanner to be used for decrescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin decrescendo is used.
decrescendoText(markup)The text to print at start of non-hairpin decrescendo, i.e., ‘dim.’.
This engraver creates the following layout object(s):
Text_engraverCreate text scripts.
Music types accepted:
This engraver creates the following layout object(s):
Part_combine_engraverPart combine engraver for orchestral scores: Print markings ‘a2’, ‘Solo’, ‘Solo II’, and ‘unisono’.
Music types accepted:
Properties (read)
printPartCombineTexts(boolean)Set ‘Solo’ and ‘A due’ texts in the part combiner?
soloText(markup)The text for the start of a solo when part-combining.
soloIIText(markup)The text for the start of a solo for voice ‘two’ when part-combining.
aDueText(markup)Text to print at a unisono passage.
This engraver creates the following layout object(s):
Slash_repeat_engraverMake beat repeats.
Music types accepted:
Properties (read)
measureLength(moment)Length of one measure in the current time signature.
This engraver creates the following layout object(s):
Percent_repeat_engraverMake whole bar and double bar repeats.
Music types accepted:
Properties (read)
countPercentRepeats(boolean)If set, produce counters for percent repeats.
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
measureLength(moment)Length of one measure in the current time signature.
repeatCountVisibility(procedure)A procedure taking as arguments an integer and context, returning whether the corresponding percent repeat number should be printed when
countPercentRepeatsis set.Properties (write)
forbidBreak(boolean)If set to
##t, prevent a line break at this point.This engraver creates the following layout object(s):
DoublePercentRepeat, DoublePercentRepeatCounter, PercentRepeat and PercentRepeatCounter.
Chord_tremolo_engraverGenerate beams for tremolo repeats.
Music types accepted:
This engraver creates the following layout object(s):
Beam.
New_fingering_engraverCreate fingering scripts for notes in a new chord. This engraver is ill-named, since it also takes care of articulations and harmonic note heads.
Properties (read)
fingeringOrientations(list)A list of symbols, containing ‘left’, ‘right’, ‘up’ and/or ‘down’. This list determines where fingerings are put relative to the chord being fingered.
harmonicDots(boolean)If set, harmonic notes in dotted chords get dots.
strokeFingerOrientations(list)See
fingeringOrientations.stringNumberOrientations(list)See
fingeringOrientations.This engraver creates the following layout object(s):
Fingering, Script, StringNumber and StrokeFinger.
Auto_beam_engraverGenerate beams based on measure characteristics and observed Stems. Uses
beatLength,measureLength, andmeasurePositionto decide when to start and stop a beam. Overriding beaming is done through Stem_engraver propertiesstemLeftBeamCountandstemRightBeamCount.Music types accepted:
Properties (read)
autoBeaming(boolean)If set to true then beams are generated automatically.
autoBeamSettings(list)Specifies when automatically generated beams should begin and end. See behavior Setting automatic beam behavior for more information.
beatLength(moment)The length of one beat in this time signature.
subdivideBeams(boolean)If set, multiple beams will be subdivided at beat positions by only drawing one beam over the beat.
This engraver creates the following layout object(s):
Beam.
Grace_beam_engraverHandle
Beamevents by engraving beams. If omitted, then notes are printed with flags instead of beams. Only engraves beams when we are at grace points in time.Music types accepted:
Properties (read)
beamMelismaBusy(boolean)Signal if a beam is present.
beatLength(moment)The length of one beat in this time signature.
subdivideBeams(boolean)If set, multiple beams will be subdivided at beat positions by only drawing one beam over the beat.
This engraver creates the following layout object(s):
Beam.
Beam_engraverHandle
Beamevents by engraving beams. If omitted, then notes are printed with flags instead of beams.Music types accepted:
Properties (read)
beamMelismaBusy(boolean)Signal if a beam is present.
beatLength(moment)The length of one beat in this time signature.
subdivideBeams(boolean)If set, multiple beams will be subdivided at beat positions by only drawing one beam over the beat.
Properties (write)
forbidBreak(boolean)If set to
##t, prevent a line break at this point.This engraver creates the following layout object(s):
Beam.
Stem_engraverCreate stems and single-stem tremolos. It also works together with the beam engraver for overriding beaming.
Music types accepted:
Properties (read)
tremoloFlags(integer)The number of tremolo flags to add if no number is specified.
stemLeftBeamCount(integer)Specify the number of beams to draw on the left side of the next note. Overrides automatic beaming. The value is only used once, and then it is erased.
stemRightBeamCount(integer)See
stemLeftBeamCount.This engraver creates the following layout object(s):
Stem and StemTremolo.
Tweak_engraverRead the
tweaksproperty from the originating event, and set properties.Rest_engraverEngrave rests.
Music types accepted:
Properties (read)
middleCPosition(number)The place of the middle C, measured in half staff-spaces. Usually determined by looking at
middleCClefPositionandmiddleCOffset.This engraver creates the following layout object(s):
Rest.
Dots_engraverCreate Dots objects for rhythmic-head-interfaces.
This engraver creates the following layout object(s):
Dots.
Note_heads_engraverGenerate note heads.
Music types accepted:
Properties (read)
middleCPosition(number)The place of the middle C, measured in half staff-spaces. Usually determined by looking at
middleCClefPositionandmiddleCOffset.staffLineLayoutFunction(procedure)Layout of staff lines,
traditional, orsemitone.This engraver creates the following layout object(s):
Breathing_sign_engraverCreate a breathing sign.
Music types accepted:
This engraver creates the following layout object(s):
Glissando_engraverEngrave glissandi.
Music types accepted:
This engraver creates the following layout object(s):
Note_head_line_engraverEngrave a line between two note heads, for example a glissando. If
followVoiceis set, staff switches also generate a line.Properties (read)
followVoice(boolean)If set, note heads are tracked across staff switches by a thin line.
This engraver creates the following layout object(s):
Glissando and VoiceFollower.
Repeat_tie_engraverCreate repeat ties.
Music types accepted:
This engraver creates the following layout object(s):
RepeatTie and RepeatTieColumn.
Laissez_vibrer_engraverCreate laissez vibrer items.
Music types accepted:
This engraver creates the following layout object(s):
Forbid_line_break_engraverForbid line breaks when note heads are still playing at some point.
Properties (read)
busyGrobs(list)A queue of
(end-moment . GROB)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Properties (write)
forbidBreak(boolean)If set to
##t, prevent a line break at this point.Grob_pq_engraverAdministrate when certain grobs (e.g., note heads) stop playing.
Properties (read)
busyGrobs(list)A queue of
(end-moment . GROB)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Properties (write)
busyGrobs(list)A queue of
(end-moment . GROB)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Trill_spanner_engraverCreate trill spanner from an event.
Music types accepted:
Properties (read)
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
currentMusicalColumn(layout object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
Text_spanner_engraverCreate text spanner from an event.
Music types accepted:
This engraver creates the following layout object(s):
Multi_measure_rest_engraverEngrave multi-measure rests that are produced with ‘R’. It reads
measurePositionandinternalBarNumberto determine what number to print over the MultiMeasureRest. ReadsmeasureLengthto determine whether it should use a whole rest or a breve rest to represent one measure.Music types accepted:
multi-measure-text-event and multi-measure-rest-event
Properties (read)
internalBarNumber(integer)Contains the current barnumber. This property is used for internal timekeeping, among others by the
Accidental_engraver.restNumberThreshold(number)If a multimeasure rest has more measures than this, a number is printed.
breakableSeparationItem(layout object)The breakable items in this time step, for this staff.
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
measurePosition(moment)How much of the current measure have we had. This can be set manually to create incomplete measures.
measureLength(moment)Length of one measure in the current time signature.
This engraver creates the following layout object(s):
MultiMeasureRest, MultiMeasureRestNumber and MultiMeasureRestText.
Arpeggio_engraverGenerate an Arpeggio symbol.
Music types accepted:
This engraver creates the following layout object(s):
Output_property_engraverApply a procedure to any grob acknowledged.
Music types accepted:
Pitched_trill_engraverPrint the bracketed note head after a note head with trill.
This engraver creates the following layout object(s):
Font_size_engraverPut
fontSizeintofont-sizegrob property.Properties (read)
fontSize(number)The relative size of all grobs in a context.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < MensuralVoice ] | [ Up : Contexts ] | [ PianoStaff > ] | ||
2.1.16 NoteNames
(not documented)
This context creates the following layout object(s):
NoteName, StaffSpacing, TieColumn, Tie and VerticalAxisGroup.
This context sets the following properties:
- Set grob-property
minimum-Y-extentin VerticalAxisGroup to#f.
This context is a ‘bottom’ context; it cannot contain other contexts.
This context is built from the following engraver(s):
Separating_line_group_engraverGenerate objects for computing spacing parameters.
Properties (read)
createSpacing(boolean)Create
StaffSpacingobjects? Should be set for staves.Properties (write)
hasStaffSpacing(boolean)True if the current
CommandColumncontains items that will affect spacing.This engraver creates the following layout object(s):
Note_name_engraverPrint pitches as words.
Music types accepted:
Properties (read)
printOctaveNames(boolean)Print octave marks for the
NoteNamescontext.This engraver creates the following layout object(s):
Tie_engraverGenerate ties between note heads of equal pitch.
Music types accepted:
Properties (read)
tieWaitForNote(boolean)If true, tied notes do not have to follow each other directly. This can be used for writing out arpeggios.
Properties (write)
tieMelismaBusy(boolean)Signal whether a tie is present.
This engraver creates the following layout object(s):
Skip_event_swallow_translatorSwallow
\skip.Rest_swallow_translatorSwallow rest.
Axis_group_engraverGroup all objects created in this context in a
VerticalAxisGroupspanner.Properties (read)
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
This engraver creates the following layout object(s):
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < NoteNames ] | [ Up : Contexts ] | [ RhythmicStaff > ] | ||
2.1.17 PianoStaff
Just like GrandStaff but with support for
instrument names at the start of each system.
This context also accepts commands for the following context(s):
GrandStaff.
This context creates the following layout object(s):
Arpeggio, InstrumentName, SpanBar, SystemStartBar, SystemStartBrace, SystemStartBracket and SystemStartSquare.
This context sets the following properties:
- Set translator property
shortInstrumentNameto'(). - Set translator property
instrumentNameto'(). - Set translator property
systemStartDelimiterto'SystemStartBrace. - Set translator property
localKeySignatureto'().
Context PianoStaff can contain Staff and FiguredBass.
This context is built from the following engraver(s):
Instrument_name_engraverCreate a system start text for instrument or vocal names.
Properties (read)
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
shortInstrumentName(markup)See
instrument.instrumentName(markup)The name to print left of a staff. The
instrumentproperty labels the staff in the first system, and theinstrproperty labels following lines.shortVocalName(markup)Name of a vocal line, short version.
vocalName(markup)Name of a vocal line.
This engraver creates the following layout object(s):
System_start_delimiter_engraverCreate a system start delimiter (i.e., a
SystemStartBar,SystemStartBrace,SystemStartBracketorSystemStartSquarespanner).Properties (read)
systemStartDelimiter(symbol)Which grob to make for the start of the system/staff? Set to
SystemStartBrace,SystemStartBracketorSystemStartBar.systemStartDelimiterHierarchy(pair)A nested list, indicating the nesting of a start delimiters.
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
This engraver creates the following layout object(s):
SystemStartBar, SystemStartBrace, SystemStartBracket and SystemStartSquare.
Span_arpeggio_engraverMake arpeggios that span multiple staves.
Properties (read)
connectArpeggios(boolean)If set, connect arpeggios across piano staff.
This engraver creates the following layout object(s):
Span_bar_engraverMake cross-staff bar lines: It catches all normal bar lines and draws a single span bar across them.
This engraver creates the following layout object(s):
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < PianoStaff ] | [ Up : Contexts ] | [ Score > ] | ||
2.1.18 RhythmicStaff
A context like Staff but for printing rhythms.
Pitches are ignored; the notes are printed on one line.
This context also accepts commands for the following context(s):
Staff.
This context creates the following layout object(s):
BarLine, DotColumn, InstrumentName, LedgerLineSpanner, StaffSpacing, StaffSymbol, TimeSignature and VerticalAxisGroup.
This context sets the following properties:
- Set grob-property
neutral-directionin Beam to1. - Set grob-property
neutral-directionin Stem to1. - Set grob-property
line-countin StaffSymbol to1. - Set grob-property
staff-paddingin VoltaBracket to3. - Set grob-property
bar-sizein BarLine to4. - Set translator property
squashedPositionto0. - Set translator property
createSpacingto#t. - Set translator property
localKeySignatureto'(). - Set grob-property
minimum-Y-extentin VerticalAxisGroup to#f.
Context RhythmicStaff can contain Voice and CueVoice.
This context is built from the following engraver(s):
Ledger_line_engraverCreate the spanner to draw ledger lines, and notices objects that need ledger lines.
This engraver creates the following layout object(s):
Axis_group_engraverGroup all objects created in this context in a
VerticalAxisGroupspanner.Properties (read)
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
This engraver creates the following layout object(s):
Instrument_name_engraverCreate a system start text for instrument or vocal names.
Properties (read)
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
shortInstrumentName(markup)See
instrument.instrumentName(markup)The name to print left of a staff. The
instrumentproperty labels the staff in the first system, and theinstrproperty labels following lines.shortVocalName(markup)Name of a vocal line, short version.
vocalName(markup)Name of a vocal line.
This engraver creates the following layout object(s):
Time_signature_engraverCreate a TimeSignature whenever
timeSignatureFractionchanges.Properties (read)
implicitTimeSignatureVisibility(vector)break visibility for the default time signature.
timeSignatureFraction(pair of numbers)A pair of numbers, signifying the time signature. For example,
#'(4 . 4)is a 4/4 time signature.This engraver creates the following layout object(s):
Pitch_squash_engraverSet the vertical position of note heads to
squashedPosition, if that property is set. This can be used to make a single-line staff demonstrating the rhythm of a melody.Properties (read)
squashedPosition(integer)Vertical position of squashing for Pitch_squash_engraver.
Staff_symbol_engraverCreate the constellation of five (default) staff lines.
Music types accepted:
This engraver creates the following layout object(s):
Bar_engraverCreate barlines. This engraver is controlled through the
whichBarproperty. If it has no bar line to create, it will forbid a linebreak at this point.Properties (read)
whichBar(string)This property is read to determine what type of bar line to create.
Example:
\set Staff.whichBar = "|:"This will create a start-repeat bar in this staff only. Valid values are described in bar-line-interface.
Properties (write)
forbidBreak(boolean)If set to
##t, prevent a line break at this point.This engraver creates the following layout object(s):
Dot_column_engraverEngrave dots on dotted notes shifted to the right of the note. If omitted, then dots appear on top of the notes.
This engraver creates the following layout object(s):
Separating_line_group_engraverGenerate objects for computing spacing parameters.
Properties (read)
createSpacing(boolean)Create
StaffSpacingobjects? Should be set for staves.Properties (write)
hasStaffSpacing(boolean)True if the current
CommandColumncontains items that will affect spacing.This engraver creates the following layout object(s):
Font_size_engraverPut
fontSizeintofont-sizegrob property.Properties (read)
fontSize(number)The relative size of all grobs in a context.
Output_property_engraverApply a procedure to any grob acknowledged.
Music types accepted:
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < RhythmicStaff ] | [ Up : Contexts ] | [ Staff > ] | ||
2.1.19 Score
This is the top level notation context. No
other context can contain a Score context. This context
handles the administration of time signatures. It also makes sure
that items such as clefs, time signatures, and key-signatures are
aligned across staves.
You cannot explicitly instantiate a Score context (since it
is not contained in any other context). It is instantiated
automatically when an output definition (a \score or
\layout block) is processed.
This context creates the following layout object(s):
BarNumber, BreakAlignGroup, BreakAlignment, GraceSpacing, LeftEdge, MetronomeMark, NonMusicalPaperColumn, PaperColumn, ParenthesesItem, RehearsalMark, SpacingSpanner, SystemStartBar, SystemStartBrace, SystemStartBracket, SystemStartSquare, VerticalAlignment, VoltaBracketSpanner and VoltaBracket.
This context sets the following properties:
- Set translator property
timingto#t. - Set translator property
verticallySpacedContextsto'(Staff). - Set translator property
instrumentTranspositionto#<Pitch c' >. - Set translator property
quotedEventTypesto'(note-event rest-event tie-event beam-event tuplet-span-event). - Set translator property
keepAliveInterfacesto'(rhythmic-grob-interface lyric-interface percent-repeat-item-interface percent-repeat-interface stanza-number-interface). - Set translator property
graceSettingsto'((Voice Stem direction 1) (Voice Stem font-size -3) (Voice NoteHead font-size -3) (Voice Dots font-size -3) (Voice Stem length-fraction 0.8) (Voice Stem no-stem-extend #t) (Voice Beam thickness 0.384) (Voice Beam length-fraction 0.8) (Voice Accidental font-size -4) (Voice AccidentalCautionary font-size -4) (Voice Slur direction -1) (Voice Script font-size -3)). - Set translator property
metronomeMarkFormattertoformat-metronome-markup. - Set translator property
figuredBassFormattertoformat-bass-figure. - Set translator property
tablatureFormattofret-number-tablature-format. - Set translator property
stringTuningsto'(4 -1 -5 -10 -15 -20). - Set translator property
highStringOneto#t. - Set translator property
stringOneTopmostto#t. - Set translator property
bassStaffPropertiesto'((assign clefGlyph clefs.F) (assign clefPosition 2) (assign middleCPosition 6) (assign middleCClefPosition 6)). - Set translator property
chordNameExceptionsPartialto'(((#<Pitch c' > #<Pitch d' >) (#<procedure line-markup (layout props args)> ((#<procedure normal-size-super-markup (layout props arg)> 2)))) ((#<Pitch c' > #<Pitch ees' >) (#<procedure line-markup (layout props args)> (m))) ((#<Pitch c' > #<Pitch f' >) (#<procedure line-markup (layout props args)> ((#<procedure normal-size-super-markup (layout props arg)> sus4)))) ((#<Pitch c' > #<Pitch g' >) (#<procedure line-markup (layout props args)> ((#<procedure normal-size-super-markup (layout props arg)> 5)))) ((#<Pitch c' > #<Pitch ees' > #<Pitch f' >) (#<procedure line-markup (layout props args)> (m)) (#<procedure line-markup (layout props args)> ((#<procedure normal-size-super-markup (layout props arg)> sus4)))) ((#<Pitch c' > #<Pitch d' > #<Pitch ees' >) (#<procedure line-markup (layout props args)> (m)) (#<procedure line-markup (layout props args)> ((#<procedure normal-size-super-markup (layout props arg)> sus2))))). - Set translator property
chordNameExceptionsFullto'(((#<Pitch c' > #<Pitch e' > #<Pitch gis' >) (#<procedure line-markup (layout props args)> (+))) ((#<Pitch c' > #<Pitch ees' > #<Pitch ges' >) (#<procedure line-markup (layout props args)> ((#<procedure super-markup (layout props arg)> o)))) ((#<Pitch c' > #<Pitch ees' > #<Pitch ges' > #<Pitch bes' >) (#<procedure line-markup (layout props args)> ((#<procedure super-markup (layout props arg)> ø)))) ((#<Pitch c' > #<Pitch ees' > #<Pitch ges' > #<Pitch beses' >) (#<procedure line-markup (layout props args)> ((#<procedure super-markup (layout props arg)> o7))))). - Set translator property
chordPrefixSpacerto0. - Set translator property
chordRootNamertonote-name->markup. - Set translator property
chordNoteNamerto'(). - Set translator property
chordNameExceptionsto'(((#<Pitch e' > #<Pitch gis' >) #<procedure line-markup (layout props args)> (+)) ((#<Pitch ees' > #<Pitch ges' >) #<procedure line-markup (layout props args)> ((#<procedure super-markup (layout props arg)> o))) ((#<Pitch ees' > #<Pitch ges' > #<Pitch bes' >) #<procedure line-markup (layout props args)> ((#<procedure super-markup (layout props arg)> ø))) ((#<Pitch ees' > #<Pitch ges' > #<Pitch beses' >) #<procedure line-markup (layout props args)> ((#<procedure super-markup (layout props arg)> o7)))). - Set translator property
chordNameSeparatorto'(#<procedure simple-markup (layout props str)> /). - Set translator property
majorSevenSymbolto'(#<procedure line-markup (layout props args)> ((#<procedure triangle-markup (layout props filled)> #f))). - Set translator property
chordNameFunctiontoignatzek-chord-names. - Set translator property
barCheckSynchronizeto#f. - Set translator property
keyAlterationOrderto'((6 . -1/2) (2 . -1/2) (5 . -1/2) (1 . -1/2) (4 . -1/2) (0 . -1/2) (3 . -1/2) (3 . 1/2) (0 . 1/2) (4 . 1/2) (1 . 1/2) (5 . 1/2) (2 . 1/2) (6 . 1/2) (6 . -1) (2 . -1) (5 . -1) (1 . -1) (4 . -1) (0 . -1) (3 . -1) (3 . 1) (0 . 1) (4 . 1) (2 . 1) (5 . 1) (2 . 1) (6 . 1)). - Set translator property
printKeyCancellationto#t. - Set translator property
autoCautionariesto'(). - Set translator property
autoAccidentalsto'(Staff #<procedure #f (context pitch barnum measurepos)>). - Set translator property
extraNaturalto#t. - Set translator property
subdivideBeamsto#f. - Set translator property
rehearsalMarkto1. - Set translator property
markFormattertoformat-mark-letters. - Set translator property
lyricMelismaAlignmentto-1. - Set translator property
strokeFingerOrientationsto'(right). - Set translator property
stringNumberOrientationsto'(up down). - Set translator property
fingeringOrientationsto'(up down). - Set translator property
harmonicAccidentalsto#t. - Set translator property
pedalSostenutoStyleto'mixed. - Set translator property
pedalSostenutoStringsto'(Sost. Ped. *Sost. Ped. *). - Set translator property
pedalUnaCordaStyleto'text. - Set translator property
pedalUnaCordaStringsto'(una corda tre corde). - Set translator property
pedalSustainStyleto'text. - Set translator property
pedalSustainStringsto'(Ped. *Ped. *). - Set translator property
scriptDefinitionsto'((thumb (script-stencil feta thumb . thumb) (avoid-slur . inside) (padding . 0.2) (direction . 1)) (accent (avoid-slur . around) (padding . 0.2) (quantize-position . #t) (script-stencil feta sforzato . sforzato) (side-relative-direction . -1)) (espressivo (avoid-slur . around) (padding . 0.2) (quantize-position . #t) (script-stencil feta espr . espr) (side-relative-direction . -1)) (marcato (script-stencil feta dmarcato . umarcato) (padding . 0.2) (avoid-slur . inside) (quantize-position . #t) (side-relative-direction . -1)) (staccatissimo (avoid-slur . inside) (script-stencil feta dstaccatissimo . ustaccatissimo) (padding . 0.2) (side-relative-direction . -1)) (portato (script-stencil feta uportato . dportato) (avoid-slur . around) (slur-padding . 0.3) (padding . 0.45) (side-relative-direction . -1)) (accentus (script-stencil feta uaccentus . uaccentus) (side-relative-direction . -1) (avoid-slur . #f) (padding . 0.2) (quantize-position . #t) (script-priority . -100) (direction . 1)) (ictus (script-stencil feta ictus . ictus) (side-relative-direction . -1) (quantize-position . #t) (avoid-slur . #f) (padding . 0.2) (script-priority . -100) (direction . -1)) (semicirculus (script-stencil feta dsemicirculus . dsemicirculus) (side-relative-direction . -1) (quantize-position . #t) (avoid-slur . #f) (padding . 0.2) (script-priority . -100) (direction . 1)) (circulus (script-stencil feta circulus . circulus) (side-relative-direction . -1) (avoid-slur . #f) (padding . 0.2) (quantize-position . #t) (script-priority . -100) (direction . 1)) (signumcongruentiae (script-stencil feta dsignumcongruentiae . usignumcongruentiae) (padding . 0.2) (avoid-slur . outside) (direction . 1)) (fermata (script-stencil feta dfermata . ufermata) (padding . 0.2) (avoid-slur . around) (script-priority . 4000) (direction . 1)) (shortfermata (script-stencil feta dshortfermata . ushortfermata) (padding . 0.2) (avoid-slur . around) (direction . 1)) (longfermata (script-stencil feta dlongfermata . ulongfermata) (padding . 0.2) (avoid-slur . around) (direction . 1)) (verylongfermata (script-stencil feta dverylongfermata . uverylongfermata) (padding . 0.2) (avoid-slur . around) (direction . 1)) (stopped (script-stencil feta stopped . stopped) (avoid-slur . inside) (padding . 0.2) (direction . 1)) (staccato (script-stencil feta staccato . staccato) (side-relative-direction . -1) (quantize-position . #t) (avoid-slur . inside) (toward-stem-shift . 0.5) (padding . 0.2) (script-priority . -100)) (tenuto (script-stencil feta tenuto . tenuto) (quantize-position . #t) (avoid-slur . inside) (padding . 0.2) (side-relative-direction . -1)) (comma (script-stencil feta lcomma . rcomma) (quantize-position . #t) (padding . 0.2) (avoid-slur . #f) (direction . 1)) (varcomma (script-stencil feta lvarcomma . rvarcomma) (quantize-position . #t) (padding . 0.2) (avoid-slur . #f) (direction . 1)) (upbow (script-stencil feta upbow . upbow) (avoid-slur . around) (padding . 0.2) (direction . 1)) (downbow (script-stencil feta downbow . downbow) (padding . 0.2) (avoid-slur . around) (direction . 1)) (lheel (script-stencil feta upedalheel . upedalheel) (padding . 0.2) (avoid-slur . around) (direction . -1)) (rheel (script-stencil feta dpedalheel . dpedalheel) (padding . 0.2) (avoid-slur . around) (direction . 1)) (ltoe (script-stencil feta upedaltoe . upedaltoe) (padding . 0.2) (avoid-slur . around) (direction . -1)) (rtoe (script-stencil feta dpedaltoe . dpedaltoe) (padding . 0.2) (avoid-slur . around) (direction . 1)) (turn (script-stencil feta turn . turn) (avoid-slur . inside) (padding . 0.2) (direction . 1)) (open (avoid-slur . outside) (padding . 0.2) (script-stencil feta open . open) (direction . 1)) (flageolet (script-stencil feta flageolet . flageolet) (padding . 0.2) (avoid-slur . around) (direction . 1)) (reverseturn (script-stencil feta reverseturn . reverseturn) (padding . 0.2) (avoid-slur . inside) (direction . 1)) (trill (script-stencil feta trill . trill) (direction . 1) (padding . 0.2) (avoid-slur . outside) (script-priority . 2000)) (prall (script-stencil feta prall . prall) (padding . 0.2) (avoid-slur . around) (direction . 1)) (mordent (script-stencil feta mordent . mordent) (padding . 0.2) (avoid-slur . around) (direction . 1)) (prallprall (script-stencil feta prallprall . prallprall) (padding . 0.2) (avoid-slur . around) (direction . 1)) (prallmordent (script-stencil feta prallmordent . prallmordent) (padding . 0.2) (avoid-slur . around) (direction . 1)) (upprall (script-stencil feta upprall . upprall) (padding . 0.2) (avoid-slur . around) (direction . 1)) (downprall (script-stencil feta downprall . downprall) (padding . 0.2) (avoid-slur . around) (direction . 1)) (upmordent (script-stencil feta upmordent . upmordent) (padding . 0.2) (avoid-slur . around) (direction . 1)) (downmordent (script-stencil feta downmordent . downmordent) (padding . 0.2) (avoid-slur . around) (direction . 1)) (lineprall (script-stencil feta lineprall . lineprall) (padding . 0.2) (avoid-slur . around) (direction . 1)) (pralldown (script-stencil feta pralldown . pralldown) (padding . 0.2) (avoid-slur . around) (direction . 1)) (prallup (script-stencil feta prallup . prallup) (padding . 0.2) (avoid-slur . around) (direction . 1)) (segno (script-stencil feta segno . segno) (padding . 0.2) (avoid-slur . outside) (direction . 1)) (coda (script-stencil feta coda . coda) (padding . 0.2) (avoid-slur . outside) (direction . 1)) (varcoda (script-stencil feta varcoda . varcoda) (padding . 0.2) (avoid-slur . outside) (direction . 1))). - Set translator property
autoBeamChecktodefault-auto-beam-check. - Set translator property
autoBeamingto#t. - Set translator property
autoBeamSettingsto'(((end 1 32 2 2) . #<Mom 1/4>) ((end 1 32 2 2) . #<Mom 1/2>) ((end 1 32 2 2) . #<Mom 3/4>) ((end 1 16 3 2) . #<Mom 1/4>) ((end 1 16 3 2) . #<Mom 1/2>) ((end 1 16 3 2) . #<Mom 3/4>) ((end 1 16 3 2) . #<Mom 1>) ((end 1 16 3 2) . #<Mom 5/4>) ((end 1 32 3 2) . #<Mom 1/8>) ((end 1 32 3 2) . #<Mom 1/4>) ((end 1 32 3 2) . #<Mom 3/8>) ((end 1 32 3 2) . #<Mom 1/2>) ((end 1 32 3 2) . #<Mom 5/8>) ((end 1 32 3 2) . #<Mom 3/4>) ((end 1 32 3 2) . #<Mom 7/8>) ((end 1 32 3 2) . #<Mom 1>) ((end 1 32 3 2) . #<Mom 9/8>) ((end 1 32 3 2) . #<Mom 5/4>) ((end 1 32 3 2) . #<Mom 11/8>) ((end 1 32 2 4) . #<Mom 1/8>) ((end 1 32 2 4) . #<Mom 1/4>) ((end 1 32 2 4) . #<Mom 3/8>) ((end * * 3 4) . #<Mom 3/4>) ((end 1 16 3 4) . #<Mom 1/4>) ((end 1 16 3 4) . #<Mom 1/2>) ((end 1 32 3 4) . #<Mom 1/8>) ((end 1 32 3 4) . #<Mom 1/4>) ((end 1 32 3 4) . #<Mom 3/8>) ((end 1 32 3 4) . #<Mom 1/2>) ((end 1 32 3 4) . #<Mom 5/8>) ((end * * 4 4) . #<Mom 1/2>) ((end 1 12 4 4) . #<Mom 1/4>) ((end 1 12 4 4) . #<Mom 3/4>) ((end 1 16 4 4) . #<Mom 1/4>) ((end 1 16 4 4) . #<Mom 3/4>) ((end 1 32 4 4) . #<Mom 1/8>) ((end 1 32 4 4) . #<Mom 1/4>) ((end 1 32 4 4) . #<Mom 3/8>) ((end 1 32 4 4) . #<Mom 5/8>) ((end 1 32 4 4) . #<Mom 3/4>) ((end 1 32 4 4) . #<Mom 7/8>) ((end * * 3 8) . #<Mom 3/8>) ((end * * 4 8) . #<Mom 1/4>) ((end 1 32 4 8) . #<Mom 1/8>) ((end 1 32 4 8) . #<Mom 3/8>) ((end 1 32 6 8) . #<Mom 1/8>) ((end 1 32 6 8) . #<Mom 1/4>) ((end 1 32 6 8) . #<Mom 3/8>) ((end 1 32 6 8) . #<Mom 1/2>) ((end 1 32 6 8) . #<Mom 5/8>) ((end 1 32 9 8) . #<Mom 1/8>) ((end 1 32 9 8) . #<Mom 1/4>) ((end 1 32 9 8) . #<Mom 3/8>) ((end 1 32 9 8) . #<Mom 1/2>) ((end 1 32 9 8) . #<Mom 5/8>) ((end 1 32 9 8) . #<Mom 3/4>) ((end 1 32 9 8) . #<Mom 7/8>) ((end 1 32 9 8) . #<Mom 1>) ((end 1 32 12 8) . #<Mom 1/8>) ((end 1 32 12 8) . #<Mom 1/4>) ((end 1 32 12 8) . #<Mom 3/8>) ((end 1 32 12 8) . #<Mom 1/2>) ((end 1 32 12 8) . #<Mom 5/8>) ((end 1 32 12 8) . #<Mom 3/4>) ((end 1 32 12 8) . #<Mom 7/8>) ((end 1 32 12 8) . #<Mom 1>) ((end 1 32 12 8) . #<Mom 9/8>) ((end 1 32 12 8) . #<Mom 5/4>) ((end 1 32 12 8) . #<Mom 11/8>) ((end * * 4 16) . #<Mom 1/8>)). - Set translator property
repeatCountVisibilitytoall-repeat-counts-visible. - Set translator property
implicitTimeSignatureVisibilityto#(#f #t #t). - Set translator property
explicitKeySignatureVisibilityto#(#t #t #t). - Set translator property
explicitClefVisibilityto#(#t #t #t). - Set translator property
automaticBarsto#t. - Set translator property
barNumberVisibilitytofirst-bar-number-invisible. - Set translator property
doubleRepeatTypeto":|:". - Set translator property
defaultBarTypeto"|". - Set translator property
decrescendoSpannerto'hairpin. - Set translator property
crescendoSpannerto'hairpin. - Set translator property
firstClefto#t. - Set translator property
middleCPositionto-6. - Set translator property
middleCClefPositionto-6. - Set translator property
clefPositionto-2. - Set translator property
clefGlyphto"clefs.G". - Set translator property
tieWaitForNoteto#f. - Set translator property
melismaBusyPropertiesto'(melismaBusy slurMelismaBusy tieMelismaBusy beamMelismaBusy completionBusy). - Set translator property
drumStyleTableto#<hash-table 29/61>. - Set translator property
systemStartDelimiterto'SystemStartBar. - Set translator property
printPartCombineTextsto#t. - Set translator property
aDueTextto"a2". - Set translator property
soloIITextto"Solo II". - Set translator property
soloTextto"Solo". - Set translator property
noteToFretFunctiontodetermine-frets.
Context Score can contain Staff, FiguredBass, NoteNames, Devnull, PianoStaff, ChoirStaff, GrandStaff, ChordNames, Lyrics, DrumStaff, StaffGroup, MensuralStaff, GregorianTranscriptionStaff, VaticanaStaff, TabStaff, RhythmicStaff and FretBoards.
This context is built from the following engraver(s):
Parenthesis_engraverParenthesize objects whose music cause has the
parenthesizeproperty.This engraver creates the following layout object(s):
Bar_number_engraverA bar number is created whenever
measurePositionis zero and when there is a bar line (i.e., whenwhichBaris set). It is put on top of all staves, and appears only at the left side of the staff. The staves are taken fromstavesFound, which is maintained by Staff_collecting_engraver.Properties (read)
currentBarNumber(integer)Contains the current barnumber. This property is incremented at every bar line.
whichBar(string)This property is read to determine what type of bar line to create.
Example:
\set Staff.whichBar = "|:"This will create a start-repeat bar in this staff only. Valid values are described in bar-line-interface.
stavesFound(list of grobs)A list of all staff-symbols found.
barNumberVisibility(procedure)A Procedure that takes an integer and returns whether the corresponding bar number should be printed.
This engraver creates the following layout object(s):
Stanza_number_align_engraverThis engraver ensures that stanza numbers are neatly aligned.
Vertical_align_engraverCatch groups (staves, lyrics lines, etc.) and stack them vertically.
Properties (read)
alignAboveContext(string)Where to insert newly created context in vertical alignment.
alignBelowContext(string)Where to insert newly created context in vertical alignment.
This engraver creates the following layout object(s):
Grace_spacing_engraverBookkeeping of shortest starting and playing notes in grace note runs.
Properties (read)
currentMusicalColumn(layout object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
Spacing_engraverMake a
SpacingSpannerand do bookkeeping of shortest starting and playing notes.Music types accepted:
Properties (read)
currentMusicalColumn(layout object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
proportionalNotationDuration(moment)Global override for shortest-playing duration. This is used for switching on proportional notation.
This engraver creates the following layout object(s):
Break_align_engraverAlign grobs with corresponding
break-align-symbolsinto groups, and order the groups according tobreakAlignOrder. The left edge of the alignment gets a separate group, with a symbolleft-edge.This engraver creates the following layout object(s):
Metronome_mark_engraverEngrave metronome marking. This delegates the formatting work to the function in the
metronomeMarkFormatterproperty. The mark is put over all staves. The staves are taken from thestavesFoundproperty, which is maintained by Staff_collecting_engraver.Properties (read)
stavesFound(list of grobs)A list of all staff-symbols found.
metronomeMarkFormatter(procedure)How to produce a metronome markup. Called with four arguments: text, duration, count and context.
tempoUnitDuration(duration)Unit for specifying tempo.
tempoUnitCount(number)Count for specifying tempo.
tempoText(markup)Text for tempo marks.
tempoHideNote(boolean)Hide the note=count in tempo marks.
This engraver creates the following layout object(s):
Volta_engraverMake volta brackets.
Properties (read)
repeatCommands(list)This property is a list of commands of the form
(list 'volta x), where x is a string or#f.'end-repeatis also accepted as a command.voltaSpannerDuration(moment)This specifies the maximum duration to use for the brackets printed for
\alternative. This can be used to shrink the length of brackets in the situation where one alternative is very large.stavesFound(list of grobs)A list of all staff-symbols found.
This engraver creates the following layout object(s):
Mark_engraverCreate
RehearsalMarkobjects. It puts them on top of all staves (which is taken from the propertystavesFound). If moving this engraver to a different context, Staff_collecting_engraver must move along, otherwise all marks end up on the same Y location.Music types accepted:
Properties (read)
markFormatter(procedure)A procedure taking as arguments the context and the rehearsal mark. It should return the formatted mark as a markup object.
rehearsalMark(integer)The last rehearsal mark printed.
stavesFound(list of grobs)A list of all staff-symbols found.
This engraver creates the following layout object(s):
System_start_delimiter_engraverCreate a system start delimiter (i.e., a
SystemStartBar,SystemStartBrace,SystemStartBracketorSystemStartSquarespanner).Properties (read)
systemStartDelimiter(symbol)Which grob to make for the start of the system/staff? Set to
SystemStartBrace,SystemStartBracketorSystemStartBar.systemStartDelimiterHierarchy(pair)A nested list, indicating the nesting of a start delimiters.
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
This engraver creates the following layout object(s):
SystemStartBar, SystemStartBrace, SystemStartBracket and SystemStartSquare.
Output_property_engraverApply a procedure to any grob acknowledged.
Music types accepted:
Default_bar_line_engraverThis engraver determines what kind of automatic bar lines should be produced, and sets
whichBaraccordingly. It should be at the same level as Timing_translator.Properties (read)
automaticBars(boolean)If set to false then bar lines will not be printed automatically; they must be explicitly created with a
\barcommand. Unlike the\cadenzaOnkeyword, measures are still counted. Bar line generation will resume according to that count if this property is unset.barAlways(boolean)If set to true a bar line is drawn after each note.
defaultBarType(string)Set the default type of bar line. See
whichBarfor information on available bar types.This variable is read by Timing_translator at Score level.
measureLength(moment)Length of one measure in the current time signature.
whichBar(string)This property is read to determine what type of bar line to create.
Example:
\set Staff.whichBar = "|:"This will create a start-repeat bar in this staff only. Valid values are described in bar-line-interface.
measurePosition(moment)How much of the current measure have we had. This can be set manually to create incomplete measures.
Properties (write)
automaticBars(boolean)If set to false then bar lines will not be printed automatically; they must be explicitly created with a
\barcommand. Unlike the\cadenzaOnkeyword, measures are still counted. Bar line generation will resume according to that count if this property is unset.Timing_translatorThis engraver adds the alias
Timingto its containing context. Responsible for synchronizing timing information from staves. Normally inScore. In order to create polyrhythmic music, this engraver should be removed fromScoreand placed inStaff.Properties (read)
internalBarNumber(integer)Contains the current barnumber. This property is used for internal timekeeping, among others by the
Accidental_engraver.currentBarNumber(integer)Contains the current barnumber. This property is incremented at every bar line.
measureLength(moment)Length of one measure in the current time signature.
measurePosition(moment)How much of the current measure have we had. This can be set manually to create incomplete measures.
Properties (write)
internalBarNumber(integer)Contains the current barnumber. This property is used for internal timekeeping, among others by the
Accidental_engraver.currentBarNumber(integer)Contains the current barnumber. This property is incremented at every bar line.
measurePosition(moment)How much of the current measure have we had. This can be set manually to create incomplete measures.
Staff_collecting_engraverMaintain the
stavesFoundvariable.Properties (read)
stavesFound(list of grobs)A list of all staff-symbols found.
Properties (write)
stavesFound(list of grobs)A list of all staff-symbols found.
Repeat_acknowledge_engraverAcknowledge repeated music, and convert the contents of
repeatCommandsinto an appropriate setting forwhichBar.Properties (read)
doubleRepeatType(string)Set the default bar line for double repeats.
repeatCommands(list)This property is a list of commands of the form
(list 'volta x), where x is a string or#f.'end-repeatis also accepted as a command.whichBar(string)This property is read to determine what type of bar line to create.
Example:
\set Staff.whichBar = "|:"This will create a start-repeat bar in this staff only. Valid values are described in bar-line-interface.
Vertically_spaced_contexts_engraverProperties (read)
verticallySpacedContexts(list)List of symbols, containing context names whose vertical axis groups should be taken into account for vertical spacing of systems.
Properties (write)
verticallySpacedContexts(list)List of symbols, containing context names whose vertical axis groups should be taken into account for vertical spacing of systems.
Paper_column_engraverTake care of generating columns.
This engraver decides whether a column is breakable. The default is that a column is always breakable. However, every
Bar_engraverthat does not have a barline at a certain point will setforbidBreaksin the score context to stop line breaks. In practice, this means that you can make a break point by creating a bar line (assuming that there are no beams or notes that prevent a break point).Music types accepted:
Properties (read)
forbidBreak(boolean)If set to
##t, prevent a line break at this point.Properties (write)
forbidBreak(boolean)If set to
##t, prevent a line break at this point.currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
currentMusicalColumn(layout object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Score ] | [ Up : Contexts ] | [ StaffGroup > ] | ||
2.1.20 Staff
Handles clefs, bar lines, keys, accidentals. It can contain
Voice contexts.
This context creates the following layout object(s):
AccidentalCautionary, AccidentalPlacement, AccidentalSuggestion, Accidental, BarLine, BassFigureAlignmentPositioning, BassFigureAlignment, BassFigureBracket, BassFigureContinuation, BassFigureLine, BassFigure, Clef, DotColumn, InstrumentName, KeyCancellation, KeySignature, LedgerLineSpanner, NoteCollision, OctavateEight, OttavaBracket, PianoPedalBracket, RestCollision, ScriptRow, SostenutoPedalLineSpanner, SostenutoPedal, StaffSpacing, StaffSymbol, SustainPedalLineSpanner, SustainPedal, TimeSignature, UnaCordaPedalLineSpanner, UnaCordaPedal and VerticalAxisGroup.
This context sets the following properties:
- Set translator property
shortInstrumentNameto'(). - Set translator property
instrumentNameto'(). - Set grob-property
minimum-Y-extentin VerticalAxisGroup to'(-4 . 4). - Set translator property
ignoreFiguredBassRestto#t. - Set translator property
createSpacingto#t. - Set translator property
localKeySignatureto'().
Context Staff can contain Voice and CueVoice.
This context is built from the following engraver(s):
Script_row_engraverDetermine order in horizontal side position elements.
This engraver creates the following layout object(s):
Figured_bass_position_engraverPosition figured bass alignments over notes.
This engraver creates the following layout object(s):
Figured_bass_engraverMake figured bass numbers.
Music types accepted:
bass-figure-event and rest-event
Properties (read)
figuredBassAlterationDirection(direction)Where to put alterations relative to the main figure.
figuredBassCenterContinuations(boolean)Whether to vertically center pairs of extender lines. This does not work with three or more lines.
figuredBassFormatter(procedure)A routine generating a markup for a bass figure.
implicitBassFigures(list)A list of bass figures that are not printed as numbers, but only as extender lines.
useBassFigureExtenders(boolean)Whether to use extender lines for repeated bass figures.
ignoreFiguredBassRest(boolean)Don’t swallow rest events.
This engraver creates the following layout object(s):
BassFigure, BassFigureAlignment, BassFigureBracket, BassFigureContinuation and BassFigureLine.
Axis_group_engraverGroup all objects created in this context in a
VerticalAxisGroupspanner.Properties (read)
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
This engraver creates the following layout object(s):
String_number_engraverSwallow string number events. The purpose of this engraver is to process tablatures for normal notation. To provent warnings for unprocessed string number events to obscure real error messages, this engraver swallows them all.
Instrument_name_engraverCreate a system start text for instrument or vocal names.
Properties (read)
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
shortInstrumentName(markup)See
instrument.instrumentName(markup)The name to print left of a staff. The
instrumentproperty labels the staff in the first system, and theinstrproperty labels following lines.shortVocalName(markup)Name of a vocal line, short version.
vocalName(markup)Name of a vocal line.
This engraver creates the following layout object(s):
Piano_pedal_align_engraverAlign piano pedal symbols and brackets.
Properties (read)
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
This engraver creates the following layout object(s):
SostenutoPedalLineSpanner, SustainPedalLineSpanner and UnaCordaPedalLineSpanner.
Piano_pedal_engraverEngrave piano pedal symbols and brackets.
Music types accepted:
una-corda-event, sustain-event and sostenuto-event
Properties (read)
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
pedalSostenutoStrings(list)See
pedalSustainStrings.pedalSostenutoStyle(symbol)See
pedalSustainStyle.pedalSustainStrings(list)A list of strings to print for sustain-pedal. Format is
(up updown down), where each of the three is the string to print when this is done with the pedal.pedalSustainStyle(symbol)A symbol that indicates how to print sustain pedals:
text,bracketormixed(both).pedalUnaCordaStrings(list)See
pedalSustainStrings.pedalUnaCordaStyle(symbol)See
pedalSustainStyle.This engraver creates the following layout object(s):
PianoPedalBracket, SostenutoPedal, SustainPedal and UnaCordaPedal.
Accidental_engraverMake accidentals. Catch note heads, ties and notices key-change events. This engraver usually lives at Staff level, but reads the settings for Accidental at
Voicelevel, so you can\overridethem atVoice.Properties (read)
autoAccidentals(list)List of different ways to typeset an accidental.
For determining when to print an accidental, several different rules are tried. The rule that gives the highest number of accidentals is used.
Each entry in the list is either a symbol or a procedure.
- symbol
The symbol is the name of the context in which the following rules are to be applied. For example, if context is Score then all staves share accidentals, and if context is Staff then all voices in the same staff share accidentals, but staves do not.
- procedure
The procedure represents an accidental rule to be applied to the previously specified context.
The procedure takes the following arguments:
contextThe current context to which the rule should be applied.
pitchThe pitch of the note to be evaluated.
barnumThe current bar number.
measureposThe current measure position.
The procedure returns a pair of booleans. The first states whether an extra natural should be added. The second states whether an accidental should be printed.
(#t . #f)does not make sense.autoCautionaries(list)List similar to
autoAccidentals, but it controls cautionary accidentals rather than normal ones. Both lists are tried, and the one giving the most accidentals wins. In case of draw, a normal accidental is typeset.internalBarNumber(integer)Contains the current barnumber. This property is used for internal timekeeping, among others by the
Accidental_engraver.extraNatural(boolean)Whether to typeset an extra natural sign before accidentals changing from a non-natural to another non-natural.
harmonicAccidentals(boolean)If set, harmonic notes in chords get accidentals.
keySignature(list)The current key signature. This is an alist containing
(step . alter)or((octave . step) . alter), where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.keySignature = #`((6 . ,FLAT)).localKeySignature(list)The key signature at this point in the measure. The format is the same as for
keySignature, but can also contain((octave . name) . (alter barnumber . measureposition))pairs.Properties (write)
localKeySignature(list)The key signature at this point in the measure. The format is the same as for
keySignature, but can also contain((octave . name) . (alter barnumber . measureposition))pairs.This engraver creates the following layout object(s):
Accidental, AccidentalCautionary, AccidentalPlacement and AccidentalSuggestion.
Rest_collision_engraverHandle collisions of rests.
Properties (read)
busyGrobs(list)A queue of
(end-moment . GROB)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).This engraver creates the following layout object(s):
Grob_pq_engraverAdministrate when certain grobs (e.g., note heads) stop playing.
Properties (read)
busyGrobs(list)A queue of
(end-moment . GROB)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Properties (write)
busyGrobs(list)A queue of
(end-moment . GROB)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Collision_engraverCollect
NoteColumns, and as soon as there are two or more, put them in aNoteCollisionobject.This engraver creates the following layout object(s):
Staff_symbol_engraverCreate the constellation of five (default) staff lines.
Music types accepted:
This engraver creates the following layout object(s):
Ledger_line_engraverCreate the spanner to draw ledger lines, and notices objects that need ledger lines.
This engraver creates the following layout object(s):
Time_signature_engraverCreate a TimeSignature whenever
timeSignatureFractionchanges.Properties (read)
implicitTimeSignatureVisibility(vector)break visibility for the default time signature.
timeSignatureFraction(pair of numbers)A pair of numbers, signifying the time signature. For example,
#'(4 . 4)is a 4/4 time signature.This engraver creates the following layout object(s):
Key_engraverEngrave a key signature.
Music types accepted:
Properties (read)
createKeyOnClefChange(boolean)Print a key signature whenever the clef is changed.
explicitKeySignatureVisibility(vector)‘break-visibility’ function for explicit key changes. ‘\override’ of the
break-visibilityproperty will set the visibility for normal (i.e., at the start of the line) key signatures.extraNatural(boolean)Whether to typeset an extra natural sign before accidentals changing from a non-natural to another non-natural.
keyAlterationOrder(list)An alist that defines in what order alterations should be printed. The format is
(step . alter), where step is a number from 0 to 6 and alter from -2 (sharp) to 2 (flat).keySignature(list)The current key signature. This is an alist containing
(step . alter)or((octave . step) . alter), where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.keySignature = #`((6 . ,FLAT)).lastKeySignature(list)Last key signature before a key signature change.
printKeyCancellation(boolean)Print restoration alterations before a key signature change.
Properties (write)
keySignature(list)The current key signature. This is an alist containing
(step . alter)or((octave . step) . alter), where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.keySignature = #`((6 . ,FLAT)).lastKeySignature(list)Last key signature before a key signature change.
tonic(pitch)The tonic of the current scale.
This engraver creates the following layout object(s):
Clef_engraverDetermine and set reference point for pitches.
Properties (read)
clefGlyph(string)Name of the symbol within the music font.
clefOctavation(integer)Add this much extra octavation. Values of 7 and -7 are common.
clefPosition(number)Where should the center of the clef symbol go, measured in half staff spaces from the center of the staff.
explicitClefVisibility(vector)‘break-visibility’ function for clef changes.
forceClef(boolean)Show clef symbol, even if it has not changed. Only active for the first clef after the property is set, not for the full staff.
This engraver creates the following layout object(s):
Clef and OctavateEight.
Ottava_spanner_engraverCreate a text spanner when the ottavation property changes.
Properties (read)
ottavation(markup)If set, the text for an ottava spanner. Changing this creates a new text spanner.
originalMiddleCPosition(integer)Used for temporary overriding middle C in octavation brackets.
currentMusicalColumn(layout object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
Staff_collecting_engraverMaintain the
stavesFoundvariable.Properties (read)
stavesFound(list of grobs)A list of all staff-symbols found.
Properties (write)
stavesFound(list of grobs)A list of all staff-symbols found.
Dot_column_engraverEngrave dots on dotted notes shifted to the right of the note. If omitted, then dots appear on top of the notes.
This engraver creates the following layout object(s):
Separating_line_group_engraverGenerate objects for computing spacing parameters.
Properties (read)
createSpacing(boolean)Create
StaffSpacingobjects? Should be set for staves.Properties (write)
hasStaffSpacing(boolean)True if the current
CommandColumncontains items that will affect spacing.This engraver creates the following layout object(s):
Font_size_engraverPut
fontSizeintofont-sizegrob property.Properties (read)
fontSize(number)The relative size of all grobs in a context.
Bar_engraverCreate barlines. This engraver is controlled through the
whichBarproperty. If it has no bar line to create, it will forbid a linebreak at this point.Properties (read)
whichBar(string)This property is read to determine what type of bar line to create.
Example:
\set Staff.whichBar = "|:"This will create a start-repeat bar in this staff only. Valid values are described in bar-line-interface.
Properties (write)
forbidBreak(boolean)If set to
##t, prevent a line break at this point.This engraver creates the following layout object(s):
Output_property_engraverApply a procedure to any grob acknowledged.
Music types accepted:
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Staff ] | [ Up : Contexts ] | [ TabStaff > ] | ||
2.1.21 StaffGroup
Groups staves while adding a bracket on the left
side, grouping the staves together. The bar lines of the contained
staves are connected vertically. StaffGroup only consists of
a collection of staves, with a bracket in front and spanning bar lines.
This context creates the following layout object(s):
Arpeggio, SpanBar, SystemStartBar, SystemStartBrace, SystemStartBracket and SystemStartSquare.
This context sets the following properties:
- Set translator property
systemStartDelimiterto'SystemStartBracket.
Context StaffGroup can contain Staff, StaffGroup, ChoirStaff, FiguredBass, ChordNames, Lyrics, TabStaff, PianoStaff, GrandStaff, DrumStaff and RhythmicStaff.
This context is built from the following engraver(s):
System_start_delimiter_engraverCreate a system start delimiter (i.e., a
SystemStartBar,SystemStartBrace,SystemStartBracketorSystemStartSquarespanner).Properties (read)
systemStartDelimiter(symbol)Which grob to make for the start of the system/staff? Set to
SystemStartBrace,SystemStartBracketorSystemStartBar.systemStartDelimiterHierarchy(pair)A nested list, indicating the nesting of a start delimiters.
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
This engraver creates the following layout object(s):
SystemStartBar, SystemStartBrace, SystemStartBracket and SystemStartSquare.
Output_property_engraverApply a procedure to any grob acknowledged.
Music types accepted:
Span_arpeggio_engraverMake arpeggios that span multiple staves.
Properties (read)
connectArpeggios(boolean)If set, connect arpeggios across piano staff.
This engraver creates the following layout object(s):
Span_bar_engraverMake cross-staff bar lines: It catches all normal bar lines and draws a single span bar across them.
This engraver creates the following layout object(s):
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < StaffGroup ] | [ Up : Contexts ] | [ TabVoice > ] | ||
2.1.22 TabStaff
Context for generating tablature. [DOCME]
This context also accepts commands for the following context(s):
Staff.
This context creates the following layout object(s):
BarLine, BassFigureAlignmentPositioning, BassFigureAlignment, BassFigureBracket, BassFigureContinuation, BassFigureLine, BassFigure, Clef, DotColumn, InstrumentName, LedgerLineSpanner, NoteCollision, OctavateEight, OttavaBracket, PianoPedalBracket, RestCollision, ScriptRow, SostenutoPedalLineSpanner, SostenutoPedal, StaffSpacing, StaffSymbol, SustainPedalLineSpanner, SustainPedal, TimeSignature, UnaCordaPedalLineSpanner, UnaCordaPedal and VerticalAxisGroup.
This context sets the following properties:
- Set translator property
clefPositionto0. - Set translator property
clefGlyphto"clefs.tab". - Set grob-property
avoid-note-headin Stem to#t. - Set grob-property
staff-spacein StaffSymbol to1.5. - Set translator property
shortInstrumentNameto'(). - Set translator property
instrumentNameto'(). - Set grob-property
minimum-Y-extentin VerticalAxisGroup to'(-4 . 4). - Set translator property
ignoreFiguredBassRestto#t. - Set translator property
createSpacingto#t. - Set translator property
localKeySignatureto'().
Context TabStaff can contain TabVoice and CueVoice.
This context is built from the following engraver(s):
Tab_staff_symbol_engraverCreate a tablature staff symbol, but look at
stringTuningsfor the number of lines.Properties (read)
stringTunings(list)The tablature strings tuning. It is a list of the pitch (in semitones) of each string (starting with the lower one).
This engraver creates the following layout object(s):
Script_row_engraverDetermine order in horizontal side position elements.
This engraver creates the following layout object(s):
Figured_bass_position_engraverPosition figured bass alignments over notes.
This engraver creates the following layout object(s):
Figured_bass_engraverMake figured bass numbers.
Music types accepted:
bass-figure-event and rest-event
Properties (read)
figuredBassAlterationDirection(direction)Where to put alterations relative to the main figure.
figuredBassCenterContinuations(boolean)Whether to vertically center pairs of extender lines. This does not work with three or more lines.
figuredBassFormatter(procedure)A routine generating a markup for a bass figure.
implicitBassFigures(list)A list of bass figures that are not printed as numbers, but only as extender lines.
useBassFigureExtenders(boolean)Whether to use extender lines for repeated bass figures.
ignoreFiguredBassRest(boolean)Don’t swallow rest events.
This engraver creates the following layout object(s):
BassFigure, BassFigureAlignment, BassFigureBracket, BassFigureContinuation and BassFigureLine.
Axis_group_engraverGroup all objects created in this context in a
VerticalAxisGroupspanner.Properties (read)
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
This engraver creates the following layout object(s):
Instrument_name_engraverCreate a system start text for instrument or vocal names.
Properties (read)
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
shortInstrumentName(markup)See
instrument.instrumentName(markup)The name to print left of a staff. The
instrumentproperty labels the staff in the first system, and theinstrproperty labels following lines.shortVocalName(markup)Name of a vocal line, short version.
vocalName(markup)Name of a vocal line.
This engraver creates the following layout object(s):
Piano_pedal_align_engraverAlign piano pedal symbols and brackets.
Properties (read)
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
This engraver creates the following layout object(s):
SostenutoPedalLineSpanner, SustainPedalLineSpanner and UnaCordaPedalLineSpanner.
Piano_pedal_engraverEngrave piano pedal symbols and brackets.
Music types accepted:
una-corda-event, sustain-event and sostenuto-event
Properties (read)
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
pedalSostenutoStrings(list)See
pedalSustainStrings.pedalSostenutoStyle(symbol)See
pedalSustainStyle.pedalSustainStrings(list)A list of strings to print for sustain-pedal. Format is
(up updown down), where each of the three is the string to print when this is done with the pedal.pedalSustainStyle(symbol)A symbol that indicates how to print sustain pedals:
text,bracketormixed(both).pedalUnaCordaStrings(list)See
pedalSustainStrings.pedalUnaCordaStyle(symbol)See
pedalSustainStyle.This engraver creates the following layout object(s):
PianoPedalBracket, SostenutoPedal, SustainPedal and UnaCordaPedal.
Rest_collision_engraverHandle collisions of rests.
Properties (read)
busyGrobs(list)A queue of
(end-moment . GROB)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).This engraver creates the following layout object(s):
Grob_pq_engraverAdministrate when certain grobs (e.g., note heads) stop playing.
Properties (read)
busyGrobs(list)A queue of
(end-moment . GROB)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Properties (write)
busyGrobs(list)A queue of
(end-moment . GROB)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Collision_engraverCollect
NoteColumns, and as soon as there are two or more, put them in aNoteCollisionobject.This engraver creates the following layout object(s):
Staff_symbol_engraverCreate the constellation of five (default) staff lines.
Music types accepted:
This engraver creates the following layout object(s):
Ledger_line_engraverCreate the spanner to draw ledger lines, and notices objects that need ledger lines.
This engraver creates the following layout object(s):
Time_signature_engraverCreate a TimeSignature whenever
timeSignatureFractionchanges.Properties (read)
implicitTimeSignatureVisibility(vector)break visibility for the default time signature.
timeSignatureFraction(pair of numbers)A pair of numbers, signifying the time signature. For example,
#'(4 . 4)is a 4/4 time signature.This engraver creates the following layout object(s):
Clef_engraverDetermine and set reference point for pitches.
Properties (read)
clefGlyph(string)Name of the symbol within the music font.
clefOctavation(integer)Add this much extra octavation. Values of 7 and -7 are common.
clefPosition(number)Where should the center of the clef symbol go, measured in half staff spaces from the center of the staff.
explicitClefVisibility(vector)‘break-visibility’ function for clef changes.
forceClef(boolean)Show clef symbol, even if it has not changed. Only active for the first clef after the property is set, not for the full staff.
This engraver creates the following layout object(s):
Clef and OctavateEight.
Ottava_spanner_engraverCreate a text spanner when the ottavation property changes.
Properties (read)
ottavation(markup)If set, the text for an ottava spanner. Changing this creates a new text spanner.
originalMiddleCPosition(integer)Used for temporary overriding middle C in octavation brackets.
currentMusicalColumn(layout object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
Staff_collecting_engraverMaintain the
stavesFoundvariable.Properties (read)
stavesFound(list of grobs)A list of all staff-symbols found.
Properties (write)
stavesFound(list of grobs)A list of all staff-symbols found.
Dot_column_engraverEngrave dots on dotted notes shifted to the right of the note. If omitted, then dots appear on top of the notes.
This engraver creates the following layout object(s):
Separating_line_group_engraverGenerate objects for computing spacing parameters.
Properties (read)
createSpacing(boolean)Create
StaffSpacingobjects? Should be set for staves.Properties (write)
hasStaffSpacing(boolean)True if the current
CommandColumncontains items that will affect spacing.This engraver creates the following layout object(s):
Font_size_engraverPut
fontSizeintofont-sizegrob property.Properties (read)
fontSize(number)The relative size of all grobs in a context.
Bar_engraverCreate barlines. This engraver is controlled through the
whichBarproperty. If it has no bar line to create, it will forbid a linebreak at this point.Properties (read)
whichBar(string)This property is read to determine what type of bar line to create.
Example:
\set Staff.whichBar = "|:"This will create a start-repeat bar in this staff only. Valid values are described in bar-line-interface.
Properties (write)
forbidBreak(boolean)If set to
##t, prevent a line break at this point.This engraver creates the following layout object(s):
Output_property_engraverApply a procedure to any grob acknowledged.
Music types accepted:
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < TabStaff ] | [ Up : Contexts ] | [ VaticanaStaff > ] | ||
2.1.23 TabVoice
Context for drawing notes in a Tab staff.
This context also accepts commands for the following context(s):
Voice.
This context creates the following layout object(s):
Arpeggio, Beam, BendAfter, BreathingSign, ClusterSpannerBeacon, ClusterSpanner, CombineTextScript, Dots, DoublePercentRepeatCounter, DoublePercentRepeat, DynamicLineSpanner, DynamicTextSpanner, DynamicText, Glissando, Hairpin, HarmonicParenthesesItem, InstrumentSwitch, LaissezVibrerTieColumn, LaissezVibrerTie, LigatureBracket, MultiMeasureRestNumber, MultiMeasureRestText, MultiMeasureRest, NoteColumn, NoteSpacing, PercentRepeatCounter, PercentRepeat, PhrasingSlur, RepeatSlash, RepeatTieColumn, RepeatTie, Rest, ScriptColumn, Script, Slur, StemTremolo, Stem, TabNoteHead, TextScript, TextSpanner, TieColumn, Tie, TrillPitchAccidental, TrillPitchGroup, TrillPitchHead, TrillSpanner, TupletBracket, TupletNumber and VoiceFollower.
This context sets the following properties:
- Set grob-property
gapin Glissando to0.2. - Set grob-property
extra-dyin Glissando to0.75. - Set grob-property
bound-details leftin Glissando to'((attach-dir . 1) (padding . 0.3)). - Set grob-property
bound-details rightin Glissando to'((attach-dir . -1) (padding . 0.3)). - Set grob-property
extra-dyin Glissando to0.75. - Set grob-property
length-fractionin Beam to0.62. - Set grob-property
thicknessin Beam to0.32. - Set translator property
localKeySignatureto'().
This context is a ‘bottom’ context; it cannot contain other contexts.
This context is built from the following engraver(s):
Tab_harmonic_engraverIn a tablature, parenthesize objects whose music cause has the
parenthesizeproperty.This engraver creates the following layout object(s):
Tab_note_heads_engraverGenerate one or more tablature noteheads from event of type
NoteEvent.Music types accepted:
string-number-event and note-event
Properties (read)
middleCPosition(number)The place of the middle C, measured in half staff-spaces. Usually determined by looking at
middleCClefPositionandmiddleCOffset.stringTunings(list)The tablature strings tuning. It is a list of the pitch (in semitones) of each string (starting with the lower one).
minimumFret(number)The tablature auto string-selecting mechanism selects the highest string with a fret at least
minimumFret.tablatureFormat(procedure)A function formatting a tablature note head. Called with three arguments: string number, context and event. It returns the text as a string.
highStringOne(boolean)Whether the first string is the string with highest pitch on the instrument. This used by the automatic string selector for tablature notation.
stringOneTopmost(boolean)Whether the first string is printed on the top line of the tablature.
This engraver creates the following layout object(s):
Skip_event_swallow_translatorSwallow
\skip.Instrument_switch_engraverCreate a cue text for taking instrument.
Properties (read)
instrumentCueName(markup)The name to print if another instrument is to be taken.
This engraver creates the following layout object(s):
Grace_engraverSet font size and other properties for grace notes.
Properties (read)
graceSettings(list)Overrides for grace notes. This property should be manipulated through the
add-grace-propertyfunction.Tuplet_engraverCatch tuplet events and generate appropriate bracket.
Music types accepted:
Properties (read)
tupletFullLength(boolean)If set, the tuplet is printed up to the start of the next note.
tupletFullLengthNote(boolean)If set, end at the next note, otherwise end on the matter (time signatures, etc.) before the note.
This engraver creates the following layout object(s):
Tie_engraverGenerate ties between note heads of equal pitch.
Music types accepted:
Properties (read)
tieWaitForNote(boolean)If true, tied notes do not have to follow each other directly. This can be used for writing out arpeggios.
Properties (write)
tieMelismaBusy(boolean)Signal whether a tie is present.
This engraver creates the following layout object(s):
Slur_engraverBuild slur grobs from slur events.
Music types accepted:
Properties (read)
slurMelismaBusy(boolean)Signal if a slur is present.
doubleSlurs(boolean)If set, two slurs are created for every slurred note, one above and one below the chord.
This engraver creates the following layout object(s):
Slur.
Cluster_spanner_engraverEngrave a cluster using
Spannernotation.Music types accepted:
This engraver creates the following layout object(s):
Phrasing_slur_engraverPrint phrasing slurs. Similar to Slur_engraver.
Music types accepted:
This engraver creates the following layout object(s):
Spanner_break_forbid_engraverForbid breaks in certain spanners.
Note_spacing_engraverGenerate
NoteSpacing, an object linking horizontal lines for use in spacing.This engraver creates the following layout object(s):
Rhythmic_column_engraverGenerate
NoteColumn, an object that groups stems, note heads, and rests.This engraver creates the following layout object(s):
Script_column_engraverFind potentially colliding scripts and put them into a
ScriptColumnobject; that will fix the collisions.This engraver creates the following layout object(s):
Script_engraverHandle note scripted articulations.
Music types accepted:
Properties (read)
scriptDefinitions(list)The description of scripts. This is used by the
Script_engraverfor typesetting note-superscripts and subscripts. See ‘scm/script.scm’ for more information.This engraver creates the following layout object(s):
Bend_engraverCreate fall spanners.
Music types accepted:
This engraver creates the following layout object(s):
Dynamic_align_engraverAlign hairpins and dynamic texts on a horizontal line
Properties (read)
currentMusicalColumn(layout object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
New_dynamic_engraverCreate hairpins, dynamic texts, and their vertical alignments. The symbols are collected onto a
DynamicLineSpannergrob which takes care of vertical positioning.Music types accepted:
span-dynamic-event and absolute-dynamic-event
Properties (read)
crescendoSpanner(symbol)The type of spanner to be used for crescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin crescendo is used.
crescendoText(markup)The text to print at start of non-hairpin crescendo, i.e., ‘cresc.’.
currentMusicalColumn(layout object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
decrescendoSpanner(symbol)The type of spanner to be used for decrescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin decrescendo is used.
decrescendoText(markup)The text to print at start of non-hairpin decrescendo, i.e., ‘dim.’.
This engraver creates the following layout object(s):
Text_engraverCreate text scripts.
Music types accepted:
This engraver creates the following layout object(s):
Part_combine_engraverPart combine engraver for orchestral scores: Print markings ‘a2’, ‘Solo’, ‘Solo II’, and ‘unisono’.
Music types accepted:
Properties (read)
printPartCombineTexts(boolean)Set ‘Solo’ and ‘A due’ texts in the part combiner?
soloText(markup)The text for the start of a solo when part-combining.
soloIIText(markup)The text for the start of a solo for voice ‘two’ when part-combining.
aDueText(markup)Text to print at a unisono passage.
This engraver creates the following layout object(s):
Slash_repeat_engraverMake beat repeats.
Music types accepted:
Properties (read)
measureLength(moment)Length of one measure in the current time signature.
This engraver creates the following layout object(s):
Percent_repeat_engraverMake whole bar and double bar repeats.
Music types accepted:
Properties (read)
countPercentRepeats(boolean)If set, produce counters for percent repeats.
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
measureLength(moment)Length of one measure in the current time signature.
repeatCountVisibility(procedure)A procedure taking as arguments an integer and context, returning whether the corresponding percent repeat number should be printed when
countPercentRepeatsis set.Properties (write)
forbidBreak(boolean)If set to
##t, prevent a line break at this point.This engraver creates the following layout object(s):
DoublePercentRepeat, DoublePercentRepeatCounter, PercentRepeat and PercentRepeatCounter.
Chord_tremolo_engraverGenerate beams for tremolo repeats.
Music types accepted:
This engraver creates the following layout object(s):
Beam.
Auto_beam_engraverGenerate beams based on measure characteristics and observed Stems. Uses
beatLength,measureLength, andmeasurePositionto decide when to start and stop a beam. Overriding beaming is done through Stem_engraver propertiesstemLeftBeamCountandstemRightBeamCount.Music types accepted:
Properties (read)
autoBeaming(boolean)If set to true then beams are generated automatically.
autoBeamSettings(list)Specifies when automatically generated beams should begin and end. See behavior Setting automatic beam behavior for more information.
beatLength(moment)The length of one beat in this time signature.
subdivideBeams(boolean)If set, multiple beams will be subdivided at beat positions by only drawing one beam over the beat.
This engraver creates the following layout object(s):
Beam.
Grace_beam_engraverHandle
Beamevents by engraving beams. If omitted, then notes are printed with flags instead of beams. Only engraves beams when we are at grace points in time.Music types accepted:
Properties (read)
beamMelismaBusy(boolean)Signal if a beam is present.
beatLength(moment)The length of one beat in this time signature.
subdivideBeams(boolean)If set, multiple beams will be subdivided at beat positions by only drawing one beam over the beat.
This engraver creates the following layout object(s):
Beam.
Beam_engraverHandle
Beamevents by engraving beams. If omitted, then notes are printed with flags instead of beams.Music types accepted:
Properties (read)
beamMelismaBusy(boolean)Signal if a beam is present.
beatLength(moment)The length of one beat in this time signature.
subdivideBeams(boolean)If set, multiple beams will be subdivided at beat positions by only drawing one beam over the beat.
Properties (write)
forbidBreak(boolean)If set to
##t, prevent a line break at this point.This engraver creates the following layout object(s):
Beam.
Stem_engraverCreate stems and single-stem tremolos. It also works together with the beam engraver for overriding beaming.
Music types accepted:
Properties (read)
tremoloFlags(integer)The number of tremolo flags to add if no number is specified.
stemLeftBeamCount(integer)Specify the number of beams to draw on the left side of the next note. Overrides automatic beaming. The value is only used once, and then it is erased.
stemRightBeamCount(integer)See
stemLeftBeamCount.This engraver creates the following layout object(s):
Stem and StemTremolo.
Tweak_engraverRead the
tweaksproperty from the originating event, and set properties.Rest_engraverEngrave rests.
Music types accepted:
Properties (read)
middleCPosition(number)The place of the middle C, measured in half staff-spaces. Usually determined by looking at
middleCClefPositionandmiddleCOffset.This engraver creates the following layout object(s):
Rest.
Dots_engraverCreate Dots objects for rhythmic-head-interfaces.
This engraver creates the following layout object(s):
Dots.
Breathing_sign_engraverCreate a breathing sign.
Music types accepted:
This engraver creates the following layout object(s):
Ligature_bracket_engraverHandle
Ligature_eventsby engravingLigaturebrackets.Music types accepted:
This engraver creates the following layout object(s):
Glissando_engraverEngrave glissandi.
Music types accepted:
This engraver creates the following layout object(s):
Note_head_line_engraverEngrave a line between two note heads, for example a glissando. If
followVoiceis set, staff switches also generate a line.Properties (read)
followVoice(boolean)If set, note heads are tracked across staff switches by a thin line.
This engraver creates the following layout object(s):
Glissando and VoiceFollower.
Repeat_tie_engraverCreate repeat ties.
Music types accepted:
This engraver creates the following layout object(s):
RepeatTie and RepeatTieColumn.
Laissez_vibrer_engraverCreate laissez vibrer items.
Music types accepted:
This engraver creates the following layout object(s):
Forbid_line_break_engraverForbid line breaks when note heads are still playing at some point.
Properties (read)
busyGrobs(list)A queue of
(end-moment . GROB)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Properties (write)
forbidBreak(boolean)If set to
##t, prevent a line break at this point.Grob_pq_engraverAdministrate when certain grobs (e.g., note heads) stop playing.
Properties (read)
busyGrobs(list)A queue of
(end-moment . GROB)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Properties (write)
busyGrobs(list)A queue of
(end-moment . GROB)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Trill_spanner_engraverCreate trill spanner from an event.
Music types accepted:
Properties (read)
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
currentMusicalColumn(layout object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
Text_spanner_engraverCreate text spanner from an event.
Music types accepted:
This engraver creates the following layout object(s):
Multi_measure_rest_engraverEngrave multi-measure rests that are produced with ‘R’. It reads
measurePositionandinternalBarNumberto determine what number to print over the MultiMeasureRest. ReadsmeasureLengthto determine whether it should use a whole rest or a breve rest to represent one measure.Music types accepted:
multi-measure-text-event and multi-measure-rest-event
Properties (read)
internalBarNumber(integer)Contains the current barnumber. This property is used for internal timekeeping, among others by the
Accidental_engraver.restNumberThreshold(number)If a multimeasure rest has more measures than this, a number is printed.
breakableSeparationItem(layout object)The breakable items in this time step, for this staff.
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
measurePosition(moment)How much of the current measure have we had. This can be set manually to create incomplete measures.
measureLength(moment)Length of one measure in the current time signature.
This engraver creates the following layout object(s):
MultiMeasureRest, MultiMeasureRestNumber and MultiMeasureRestText.
Arpeggio_engraverGenerate an Arpeggio symbol.
Music types accepted:
This engraver creates the following layout object(s):
Output_property_engraverApply a procedure to any grob acknowledged.
Music types accepted:
Pitched_trill_engraverPrint the bracketed note head after a note head with trill.
This engraver creates the following layout object(s):
Font_size_engraverPut
fontSizeintofont-sizegrob property.Properties (read)
fontSize(number)The relative size of all grobs in a context.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < TabVoice ] | [ Up : Contexts ] | [ VaticanaVoice > ] | ||
2.1.24 VaticanaStaff
Same as Staff context, except that it is
accommodated for typesetting Gregorian Chant in the notational style
of Editio Vaticana.
This context also accepts commands for the following context(s):
Staff.
This context creates the following layout object(s):
AccidentalCautionary, AccidentalPlacement, AccidentalSuggestion, Accidental, BarLine, BassFigureAlignmentPositioning, BassFigureAlignment, BassFigureBracket, BassFigureContinuation, BassFigureLine, BassFigure, Clef, Custos, DotColumn, InstrumentName, KeyCancellation, KeySignature, LedgerLineSpanner, NoteCollision, OctavateEight, OttavaBracket, PianoPedalBracket, RestCollision, ScriptRow, SostenutoPedalLineSpanner, SostenutoPedal, StaffSpacing, StaffSymbol, SustainPedalLineSpanner, SustainPedal, UnaCordaPedalLineSpanner, UnaCordaPedal and VerticalAxisGroup.
This context sets the following properties:
- Set grob-property
stylein Dots to'vaticana. - Set grob-property
neutral-directionin Custos to-1. - Set grob-property
neutral-positionin Custos to3. - Set grob-property
stylein Custos to'vaticana. - Set grob-property
glyph-name-alistin Accidental to'((-1/2 . accidentals.vaticanaM1) (0 . accidentals.vaticana0) (1/2 . accidentals.mensural1)). - Set grob-property
glyph-name-alistin KeySignature to'((-1/2 . accidentals.vaticanaM1) (0 . accidentals.vaticana0) (1/2 . accidentals.mensural1)). - Set translator property
clefOctavationto0. - Set translator property
clefPositionto1. - Set translator property
middleCClefPositionto1. - Set translator property
middleCPositionto1. - Set translator property
clefGlyphto"clefs.vaticana.do". - Set grob-property
thicknessin StaffSymbol to0.6. - Set grob-property
line-countin StaffSymbol to4. - Set grob-property
transparentin BarLine to#t. - Set translator property
shortInstrumentNameto'(). - Set translator property
instrumentNameto'(). - Set grob-property
minimum-Y-extentin VerticalAxisGroup to'(-4 . 4). - Set translator property
ignoreFiguredBassRestto#t. - Set translator property
createSpacingto#t. - Set translator property
localKeySignatureto'().
Context VaticanaStaff can contain VaticanaVoice and CueVoice.
This context is built from the following engraver(s):
Custos_engraverEngrave custodes.
This engraver creates the following layout object(s):
Script_row_engraverDetermine order in horizontal side position elements.
This engraver creates the following layout object(s):
Figured_bass_position_engraverPosition figured bass alignments over notes.
This engraver creates the following layout object(s):
Figured_bass_engraverMake figured bass numbers.
Music types accepted:
bass-figure-event and rest-event
Properties (read)
figuredBassAlterationDirection(direction)Where to put alterations relative to the main figure.
figuredBassCenterContinuations(boolean)Whether to vertically center pairs of extender lines. This does not work with three or more lines.
figuredBassFormatter(procedure)A routine generating a markup for a bass figure.
implicitBassFigures(list)A list of bass figures that are not printed as numbers, but only as extender lines.
useBassFigureExtenders(boolean)Whether to use extender lines for repeated bass figures.
ignoreFiguredBassRest(boolean)Don’t swallow rest events.
This engraver creates the following layout object(s):
BassFigure, BassFigureAlignment, BassFigureBracket, BassFigureContinuation and BassFigureLine.
Axis_group_engraverGroup all objects created in this context in a
VerticalAxisGroupspanner.Properties (read)
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
This engraver creates the following layout object(s):
String_number_engraverSwallow string number events. The purpose of this engraver is to process tablatures for normal notation. To provent warnings for unprocessed string number events to obscure real error messages, this engraver swallows them all.
Instrument_name_engraverCreate a system start text for instrument or vocal names.
Properties (read)
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
shortInstrumentName(markup)See
instrument.instrumentName(markup)The name to print left of a staff. The
instrumentproperty labels the staff in the first system, and theinstrproperty labels following lines.shortVocalName(markup)Name of a vocal line, short version.
vocalName(markup)Name of a vocal line.
This engraver creates the following layout object(s):
Piano_pedal_align_engraverAlign piano pedal symbols and brackets.
Properties (read)
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
This engraver creates the following layout object(s):
SostenutoPedalLineSpanner, SustainPedalLineSpanner and UnaCordaPedalLineSpanner.
Piano_pedal_engraverEngrave piano pedal symbols and brackets.
Music types accepted:
una-corda-event, sustain-event and sostenuto-event
Properties (read)
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
pedalSostenutoStrings(list)See
pedalSustainStrings.pedalSostenutoStyle(symbol)See
pedalSustainStyle.pedalSustainStrings(list)A list of strings to print for sustain-pedal. Format is
(up updown down), where each of the three is the string to print when this is done with the pedal.pedalSustainStyle(symbol)A symbol that indicates how to print sustain pedals:
text,bracketormixed(both).pedalUnaCordaStrings(list)See
pedalSustainStrings.pedalUnaCordaStyle(symbol)See
pedalSustainStyle.This engraver creates the following layout object(s):
PianoPedalBracket, SostenutoPedal, SustainPedal and UnaCordaPedal.
Accidental_engraverMake accidentals. Catch note heads, ties and notices key-change events. This engraver usually lives at Staff level, but reads the settings for Accidental at
Voicelevel, so you can\overridethem atVoice.Properties (read)
autoAccidentals(list)List of different ways to typeset an accidental.
For determining when to print an accidental, several different rules are tried. The rule that gives the highest number of accidentals is used.
Each entry in the list is either a symbol or a procedure.
- symbol
The symbol is the name of the context in which the following rules are to be applied. For example, if context is Score then all staves share accidentals, and if context is Staff then all voices in the same staff share accidentals, but staves do not.
- procedure
The procedure represents an accidental rule to be applied to the previously specified context.
The procedure takes the following arguments:
contextThe current context to which the rule should be applied.
pitchThe pitch of the note to be evaluated.
barnumThe current bar number.
measureposThe current measure position.
The procedure returns a pair of booleans. The first states whether an extra natural should be added. The second states whether an accidental should be printed.
(#t . #f)does not make sense.autoCautionaries(list)List similar to
autoAccidentals, but it controls cautionary accidentals rather than normal ones. Both lists are tried, and the one giving the most accidentals wins. In case of draw, a normal accidental is typeset.internalBarNumber(integer)Contains the current barnumber. This property is used for internal timekeeping, among others by the
Accidental_engraver.extraNatural(boolean)Whether to typeset an extra natural sign before accidentals changing from a non-natural to another non-natural.
harmonicAccidentals(boolean)If set, harmonic notes in chords get accidentals.
keySignature(list)The current key signature. This is an alist containing
(step . alter)or((octave . step) . alter), where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.keySignature = #`((6 . ,FLAT)).localKeySignature(list)The key signature at this point in the measure. The format is the same as for
keySignature, but can also contain((octave . name) . (alter barnumber . measureposition))pairs.Properties (write)
localKeySignature(list)The key signature at this point in the measure. The format is the same as for
keySignature, but can also contain((octave . name) . (alter barnumber . measureposition))pairs.This engraver creates the following layout object(s):
Accidental, AccidentalCautionary, AccidentalPlacement and AccidentalSuggestion.
Rest_collision_engraverHandle collisions of rests.
Properties (read)
busyGrobs(list)A queue of
(end-moment . GROB)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).This engraver creates the following layout object(s):
Grob_pq_engraverAdministrate when certain grobs (e.g., note heads) stop playing.
Properties (read)
busyGrobs(list)A queue of
(end-moment . GROB)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Properties (write)
busyGrobs(list)A queue of
(end-moment . GROB)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Collision_engraverCollect
NoteColumns, and as soon as there are two or more, put them in aNoteCollisionobject.This engraver creates the following layout object(s):
Staff_symbol_engraverCreate the constellation of five (default) staff lines.
Music types accepted:
This engraver creates the following layout object(s):
Ledger_line_engraverCreate the spanner to draw ledger lines, and notices objects that need ledger lines.
This engraver creates the following layout object(s):
Key_engraverEngrave a key signature.
Music types accepted:
Properties (read)
createKeyOnClefChange(boolean)Print a key signature whenever the clef is changed.
explicitKeySignatureVisibility(vector)‘break-visibility’ function for explicit key changes. ‘\override’ of the
break-visibilityproperty will set the visibility for normal (i.e., at the start of the line) key signatures.extraNatural(boolean)Whether to typeset an extra natural sign before accidentals changing from a non-natural to another non-natural.
keyAlterationOrder(list)An alist that defines in what order alterations should be printed. The format is
(step . alter), where step is a number from 0 to 6 and alter from -2 (sharp) to 2 (flat).keySignature(list)The current key signature. This is an alist containing
(step . alter)or((octave . step) . alter), where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.keySignature = #`((6 . ,FLAT)).lastKeySignature(list)Last key signature before a key signature change.
printKeyCancellation(boolean)Print restoration alterations before a key signature change.
Properties (write)
keySignature(list)The current key signature. This is an alist containing
(step . alter)or((octave . step) . alter), where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.keySignature = #`((6 . ,FLAT)).lastKeySignature(list)Last key signature before a key signature change.
tonic(pitch)The tonic of the current scale.
This engraver creates the following layout object(s):
Clef_engraverDetermine and set reference point for pitches.
Properties (read)
clefGlyph(string)Name of the symbol within the music font.
clefOctavation(integer)Add this much extra octavation. Values of 7 and -7 are common.
clefPosition(number)Where should the center of the clef symbol go, measured in half staff spaces from the center of the staff.
explicitClefVisibility(vector)‘break-visibility’ function for clef changes.
forceClef(boolean)Show clef symbol, even if it has not changed. Only active for the first clef after the property is set, not for the full staff.
This engraver creates the following layout object(s):
Clef and OctavateEight.
Ottava_spanner_engraverCreate a text spanner when the ottavation property changes.
Properties (read)
ottavation(markup)If set, the text for an ottava spanner. Changing this creates a new text spanner.
originalMiddleCPosition(integer)Used for temporary overriding middle C in octavation brackets.
currentMusicalColumn(layout object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
Staff_collecting_engraverMaintain the
stavesFoundvariable.Properties (read)
stavesFound(list of grobs)A list of all staff-symbols found.
Properties (write)
stavesFound(list of grobs)A list of all staff-symbols found.
Dot_column_engraverEngrave dots on dotted notes shifted to the right of the note. If omitted, then dots appear on top of the notes.
This engraver creates the following layout object(s):
Separating_line_group_engraverGenerate objects for computing spacing parameters.
Properties (read)
createSpacing(boolean)Create
StaffSpacingobjects? Should be set for staves.Properties (write)
hasStaffSpacing(boolean)True if the current
CommandColumncontains items that will affect spacing.This engraver creates the following layout object(s):
Font_size_engraverPut
fontSizeintofont-sizegrob property.Properties (read)
fontSize(number)The relative size of all grobs in a context.
Bar_engraverCreate barlines. This engraver is controlled through the
whichBarproperty. If it has no bar line to create, it will forbid a linebreak at this point.Properties (read)
whichBar(string)This property is read to determine what type of bar line to create.
Example:
\set Staff.whichBar = "|:"This will create a start-repeat bar in this staff only. Valid values are described in bar-line-interface.
Properties (write)
forbidBreak(boolean)If set to
##t, prevent a line break at this point.This engraver creates the following layout object(s):
Output_property_engraverApply a procedure to any grob acknowledged.
Music types accepted:
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < VaticanaStaff ] | [ Up : Contexts ] | [ Voice > ] | ||
2.1.25 VaticanaVoice
Same as Voice context, except that it is
accommodated for typesetting Gregorian Chant in the notational style
of Editio Vaticana.
This context also accepts commands for the following context(s):
Voice.
This context creates the following layout object(s):
Arpeggio, Beam, BendAfter, BreathingSign, ClusterSpannerBeacon, ClusterSpanner, CombineTextScript, DotColumn, Dots, DoublePercentRepeatCounter, DoublePercentRepeat, DynamicLineSpanner, DynamicTextSpanner, DynamicText, Fingering, Glissando, Hairpin, InstrumentSwitch, LaissezVibrerTieColumn, LaissezVibrerTie, MultiMeasureRestNumber, MultiMeasureRestText, MultiMeasureRest, NoteColumn, NoteHead, NoteSpacing, PercentRepeatCounter, PercentRepeat, PhrasingSlur, RepeatSlash, RepeatTieColumn, RepeatTie, Rest, ScriptColumn, Script, StringNumber, StrokeFinger, TextScript, TextSpanner, TieColumn, Tie, TrillPitchAccidental, TrillPitchGroup, TrillPitchHead, TrillSpanner, TupletBracket, TupletNumber, VaticanaLigature and VoiceFollower.
This context sets the following properties:
- Set grob-property
paddingin TextSpanner to-0.1. - Set grob-property
stylein TextSpanner to'line. - Set translator property
autoBeamingto#f. - Set grob-property
paddingin Script to0.5. - Set grob-property
stylein NoteHead to'vaticana.punctum. - Set translator property
localKeySignatureto'().
This context is a ‘bottom’ context; it cannot contain other contexts.
This context is built from the following engraver(s):
Vaticana_ligature_engraverHandle ligatures by glueing special ligature heads together.
Music types accepted:
ligature-event and pes-or-flexa-event
This engraver creates the following layout object(s):
Skip_event_swallow_translatorSwallow
\skip.Instrument_switch_engraverCreate a cue text for taking instrument.
Properties (read)
instrumentCueName(markup)The name to print if another instrument is to be taken.
This engraver creates the following layout object(s):
Grace_engraverSet font size and other properties for grace notes.
Properties (read)
graceSettings(list)Overrides for grace notes. This property should be manipulated through the
add-grace-propertyfunction.Tuplet_engraverCatch tuplet events and generate appropriate bracket.
Music types accepted:
Properties (read)
tupletFullLength(boolean)If set, the tuplet is printed up to the start of the next note.
tupletFullLengthNote(boolean)If set, end at the next note, otherwise end on the matter (time signatures, etc.) before the note.
This engraver creates the following layout object(s):
Tie_engraverGenerate ties between note heads of equal pitch.
Music types accepted:
Properties (read)
tieWaitForNote(boolean)If true, tied notes do not have to follow each other directly. This can be used for writing out arpeggios.
Properties (write)
tieMelismaBusy(boolean)Signal whether a tie is present.
This engraver creates the following layout object(s):
Cluster_spanner_engraverEngrave a cluster using
Spannernotation.Music types accepted:
This engraver creates the following layout object(s):
Phrasing_slur_engraverPrint phrasing slurs. Similar to Slur_engraver.
Music types accepted:
This engraver creates the following layout object(s):
Spanner_break_forbid_engraverForbid breaks in certain spanners.
Note_spacing_engraverGenerate
NoteSpacing, an object linking horizontal lines for use in spacing.This engraver creates the following layout object(s):
Rhythmic_column_engraverGenerate
NoteColumn, an object that groups stems, note heads, and rests.This engraver creates the following layout object(s):
Script_column_engraverFind potentially colliding scripts and put them into a
ScriptColumnobject; that will fix the collisions.This engraver creates the following layout object(s):
Script_engraverHandle note scripted articulations.
Music types accepted:
Properties (read)
scriptDefinitions(list)The description of scripts. This is used by the
Script_engraverfor typesetting note-superscripts and subscripts. See ‘scm/script.scm’ for more information.This engraver creates the following layout object(s):
Bend_engraverCreate fall spanners.
Music types accepted:
This engraver creates the following layout object(s):
Fingering_engraverCreate fingering scripts.
Music types accepted:
stroke-finger-event and fingering-event
This engraver creates the following layout object(s):
Dynamic_align_engraverAlign hairpins and dynamic texts on a horizontal line
Properties (read)
currentMusicalColumn(layout object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
New_dynamic_engraverCreate hairpins, dynamic texts, and their vertical alignments. The symbols are collected onto a
DynamicLineSpannergrob which takes care of vertical positioning.Music types accepted:
span-dynamic-event and absolute-dynamic-event
Properties (read)
crescendoSpanner(symbol)The type of spanner to be used for crescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin crescendo is used.
crescendoText(markup)The text to print at start of non-hairpin crescendo, i.e., ‘cresc.’.
currentMusicalColumn(layout object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
decrescendoSpanner(symbol)The type of spanner to be used for decrescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin decrescendo is used.
decrescendoText(markup)The text to print at start of non-hairpin decrescendo, i.e., ‘dim.’.
This engraver creates the following layout object(s):
Text_engraverCreate text scripts.
Music types accepted:
This engraver creates the following layout object(s):
Part_combine_engraverPart combine engraver for orchestral scores: Print markings ‘a2’, ‘Solo’, ‘Solo II’, and ‘unisono’.
Music types accepted:
Properties (read)
printPartCombineTexts(boolean)Set ‘Solo’ and ‘A due’ texts in the part combiner?
soloText(markup)The text for the start of a solo when part-combining.
soloIIText(markup)The text for the start of a solo for voice ‘two’ when part-combining.
aDueText(markup)Text to print at a unisono passage.
This engraver creates the following layout object(s):
Slash_repeat_engraverMake beat repeats.
Music types accepted:
Properties (read)
measureLength(moment)Length of one measure in the current time signature.
This engraver creates the following layout object(s):
Percent_repeat_engraverMake whole bar and double bar repeats.
Music types accepted:
Properties (read)
countPercentRepeats(boolean)If set, produce counters for percent repeats.
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
measureLength(moment)Length of one measure in the current time signature.
repeatCountVisibility(procedure)A procedure taking as arguments an integer and context, returning whether the corresponding percent repeat number should be printed when
countPercentRepeatsis set.Properties (write)
forbidBreak(boolean)If set to
##t, prevent a line break at this point.This engraver creates the following layout object(s):
DoublePercentRepeat, DoublePercentRepeatCounter, PercentRepeat and PercentRepeatCounter.
Chord_tremolo_engraverGenerate beams for tremolo repeats.
Music types accepted:
This engraver creates the following layout object(s):
Beam.
New_fingering_engraverCreate fingering scripts for notes in a new chord. This engraver is ill-named, since it also takes care of articulations and harmonic note heads.
Properties (read)
fingeringOrientations(list)A list of symbols, containing ‘left’, ‘right’, ‘up’ and/or ‘down’. This list determines where fingerings are put relative to the chord being fingered.
harmonicDots(boolean)If set, harmonic notes in dotted chords get dots.
strokeFingerOrientations(list)See
fingeringOrientations.stringNumberOrientations(list)See
fingeringOrientations.This engraver creates the following layout object(s):
Fingering, Script, StringNumber and StrokeFinger.
Auto_beam_engraverGenerate beams based on measure characteristics and observed Stems. Uses
beatLength,measureLength, andmeasurePositionto decide when to start and stop a beam. Overriding beaming is done through Stem_engraver propertiesstemLeftBeamCountandstemRightBeamCount.Music types accepted:
Properties (read)
autoBeaming(boolean)If set to true then beams are generated automatically.
autoBeamSettings(list)Specifies when automatically generated beams should begin and end. See behavior Setting automatic beam behavior for more information.
beatLength(moment)The length of one beat in this time signature.
subdivideBeams(boolean)If set, multiple beams will be subdivided at beat positions by only drawing one beam over the beat.
This engraver creates the following layout object(s):
Beam.
Grace_beam_engraverHandle
Beamevents by engraving beams. If omitted, then notes are printed with flags instead of beams. Only engraves beams when we are at grace points in time.Music types accepted:
Properties (read)
beamMelismaBusy(boolean)Signal if a beam is present.
beatLength(moment)The length of one beat in this time signature.
subdivideBeams(boolean)If set, multiple beams will be subdivided at beat positions by only drawing one beam over the beat.
This engraver creates the following layout object(s):
Beam.
Beam_engraverHandle
Beamevents by engraving beams. If omitted, then notes are printed with flags instead of beams.Music types accepted:
Properties (read)
beamMelismaBusy(boolean)Signal if a beam is present.
beatLength(moment)The length of one beat in this time signature.
subdivideBeams(boolean)If set, multiple beams will be subdivided at beat positions by only drawing one beam over the beat.
Properties (write)
forbidBreak(boolean)If set to
##t, prevent a line break at this point.This engraver creates the following layout object(s):
Beam.
Tweak_engraverRead the
tweaksproperty from the originating event, and set properties.Rest_engraverEngrave rests.
Music types accepted:
Properties (read)
middleCPosition(number)The place of the middle C, measured in half staff-spaces. Usually determined by looking at
middleCClefPositionandmiddleCOffset.This engraver creates the following layout object(s):
Rest.
Dots_engraverCreate Dots objects for rhythmic-head-interfaces.
This engraver creates the following layout object(s):
Dots.
Note_heads_engraverGenerate note heads.
Music types accepted:
Properties (read)
middleCPosition(number)The place of the middle C, measured in half staff-spaces. Usually determined by looking at
middleCClefPositionandmiddleCOffset.staffLineLayoutFunction(procedure)Layout of staff lines,
traditional, orsemitone.This engraver creates the following layout object(s):
Breathing_sign_engraverCreate a breathing sign.
Music types accepted:
This engraver creates the following layout object(s):
Glissando_engraverEngrave glissandi.
Music types accepted:
This engraver creates the following layout object(s):
Note_head_line_engraverEngrave a line between two note heads, for example a glissando. If
followVoiceis set, staff switches also generate a line.Properties (read)
followVoice(boolean)If set, note heads are tracked across staff switches by a thin line.
This engraver creates the following layout object(s):
Glissando and VoiceFollower.
Repeat_tie_engraverCreate repeat ties.
Music types accepted:
This engraver creates the following layout object(s):
RepeatTie and RepeatTieColumn.
Laissez_vibrer_engraverCreate laissez vibrer items.
Music types accepted:
This engraver creates the following layout object(s):
Forbid_line_break_engraverForbid line breaks when note heads are still playing at some point.
Properties (read)
busyGrobs(list)A queue of
(end-moment . GROB)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Properties (write)
forbidBreak(boolean)If set to
##t, prevent a line break at this point.Grob_pq_engraverAdministrate when certain grobs (e.g., note heads) stop playing.
Properties (read)
busyGrobs(list)A queue of
(end-moment . GROB)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Properties (write)
busyGrobs(list)A queue of
(end-moment . GROB)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Trill_spanner_engraverCreate trill spanner from an event.
Music types accepted:
Properties (read)
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
currentMusicalColumn(layout object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
Text_spanner_engraverCreate text spanner from an event.
Music types accepted:
This engraver creates the following layout object(s):
Multi_measure_rest_engraverEngrave multi-measure rests that are produced with ‘R’. It reads
measurePositionandinternalBarNumberto determine what number to print over the MultiMeasureRest. ReadsmeasureLengthto determine whether it should use a whole rest or a breve rest to represent one measure.Music types accepted:
multi-measure-text-event and multi-measure-rest-event
Properties (read)
internalBarNumber(integer)Contains the current barnumber. This property is used for internal timekeeping, among others by the
Accidental_engraver.restNumberThreshold(number)If a multimeasure rest has more measures than this, a number is printed.
breakableSeparationItem(layout object)The breakable items in this time step, for this staff.
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
measurePosition(moment)How much of the current measure have we had. This can be set manually to create incomplete measures.
measureLength(moment)Length of one measure in the current time signature.
This engraver creates the following layout object(s):
MultiMeasureRest, MultiMeasureRestNumber and MultiMeasureRestText.
Arpeggio_engraverGenerate an Arpeggio symbol.
Music types accepted:
This engraver creates the following layout object(s):
Output_property_engraverApply a procedure to any grob acknowledged.
Music types accepted:
Pitched_trill_engraverPrint the bracketed note head after a note head with trill.
This engraver creates the following layout object(s):
Font_size_engraverPut
fontSizeintofont-sizegrob property.Properties (read)
fontSize(number)The relative size of all grobs in a context.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < VaticanaVoice ] | [ Up : Contexts ] | [ Engravers and Performers > ] | ||
2.1.26 Voice
Corresponds to a voice on a staff. This context handles the conversion of dynamic signs, stems, beams, super- and subscripts, slurs, ties, and rests.
You have to instantiate this explicitly if you want to have multiple voices on the same staff.
This context creates the following layout object(s):
Arpeggio, Beam, BendAfter, BreathingSign, ClusterSpannerBeacon, ClusterSpanner, CombineTextScript, Dots, DoublePercentRepeatCounter, DoublePercentRepeat, DynamicLineSpanner, DynamicTextSpanner, DynamicText, Fingering, Glissando, Hairpin, InstrumentSwitch, LaissezVibrerTieColumn, LaissezVibrerTie, LigatureBracket, MultiMeasureRestNumber, MultiMeasureRestText, MultiMeasureRest, NoteColumn, NoteHead, NoteSpacing, PercentRepeatCounter, PercentRepeat, PhrasingSlur, RepeatSlash, RepeatTieColumn, RepeatTie, Rest, ScriptColumn, Script, Slur, StemTremolo, Stem, StringNumber, StrokeFinger, TextScript, TextSpanner, TieColumn, Tie, TrillPitchAccidental, TrillPitchGroup, TrillPitchHead, TrillSpanner, TupletBracket, TupletNumber and VoiceFollower.
This context sets the following properties:
- Set translator property
localKeySignatureto'().
This context is a ‘bottom’ context; it cannot contain other contexts.
This context is built from the following engraver(s):
Skip_event_swallow_translatorSwallow
\skip.Instrument_switch_engraverCreate a cue text for taking instrument.
Properties (read)
instrumentCueName(markup)The name to print if another instrument is to be taken.
This engraver creates the following layout object(s):
Grace_engraverSet font size and other properties for grace notes.
Properties (read)
graceSettings(list)Overrides for grace notes. This property should be manipulated through the
add-grace-propertyfunction.Tuplet_engraverCatch tuplet events and generate appropriate bracket.
Music types accepted:
Properties (read)
tupletFullLength(boolean)If set, the tuplet is printed up to the start of the next note.
tupletFullLengthNote(boolean)If set, end at the next note, otherwise end on the matter (time signatures, etc.) before the note.
This engraver creates the following layout object(s):
Tie_engraverGenerate ties between note heads of equal pitch.
Music types accepted:
Properties (read)
tieWaitForNote(boolean)If true, tied notes do not have to follow each other directly. This can be used for writing out arpeggios.
Properties (write)
tieMelismaBusy(boolean)Signal whether a tie is present.
This engraver creates the following layout object(s):
Slur_engraverBuild slur grobs from slur events.
Music types accepted:
Properties (read)
slurMelismaBusy(boolean)Signal if a slur is present.
doubleSlurs(boolean)If set, two slurs are created for every slurred note, one above and one below the chord.
This engraver creates the following layout object(s):
Slur.
Cluster_spanner_engraverEngrave a cluster using
Spannernotation.Music types accepted:
This engraver creates the following layout object(s):
Phrasing_slur_engraverPrint phrasing slurs. Similar to Slur_engraver.
Music types accepted:
This engraver creates the following layout object(s):
Spanner_break_forbid_engraverForbid breaks in certain spanners.
Note_spacing_engraverGenerate
NoteSpacing, an object linking horizontal lines for use in spacing.This engraver creates the following layout object(s):
Rhythmic_column_engraverGenerate
NoteColumn, an object that groups stems, note heads, and rests.This engraver creates the following layout object(s):
Script_column_engraverFind potentially colliding scripts and put them into a
ScriptColumnobject; that will fix the collisions.This engraver creates the following layout object(s):
Script_engraverHandle note scripted articulations.
Music types accepted:
Properties (read)
scriptDefinitions(list)The description of scripts. This is used by the
Script_engraverfor typesetting note-superscripts and subscripts. See ‘scm/script.scm’ for more information.This engraver creates the following layout object(s):
Bend_engraverCreate fall spanners.
Music types accepted:
This engraver creates the following layout object(s):
Fingering_engraverCreate fingering scripts.
Music types accepted:
stroke-finger-event and fingering-event
This engraver creates the following layout object(s):
Dynamic_align_engraverAlign hairpins and dynamic texts on a horizontal line
Properties (read)
currentMusicalColumn(layout object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
New_dynamic_engraverCreate hairpins, dynamic texts, and their vertical alignments. The symbols are collected onto a
DynamicLineSpannergrob which takes care of vertical positioning.Music types accepted:
span-dynamic-event and absolute-dynamic-event
Properties (read)
crescendoSpanner(symbol)The type of spanner to be used for crescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin crescendo is used.
crescendoText(markup)The text to print at start of non-hairpin crescendo, i.e., ‘cresc.’.
currentMusicalColumn(layout object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
decrescendoSpanner(symbol)The type of spanner to be used for decrescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin decrescendo is used.
decrescendoText(markup)The text to print at start of non-hairpin decrescendo, i.e., ‘dim.’.
This engraver creates the following layout object(s):
Text_engraverCreate text scripts.
Music types accepted:
This engraver creates the following layout object(s):
Part_combine_engraverPart combine engraver for orchestral scores: Print markings ‘a2’, ‘Solo’, ‘Solo II’, and ‘unisono’.
Music types accepted:
Properties (read)
printPartCombineTexts(boolean)Set ‘Solo’ and ‘A due’ texts in the part combiner?
soloText(markup)The text for the start of a solo when part-combining.
soloIIText(markup)The text for the start of a solo for voice ‘two’ when part-combining.
aDueText(markup)Text to print at a unisono passage.
This engraver creates the following layout object(s):
Slash_repeat_engraverMake beat repeats.
Music types accepted:
Properties (read)
measureLength(moment)Length of one measure in the current time signature.
This engraver creates the following layout object(s):
Percent_repeat_engraverMake whole bar and double bar repeats.
Music types accepted:
Properties (read)
countPercentRepeats(boolean)If set, produce counters for percent repeats.
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
measureLength(moment)Length of one measure in the current time signature.
repeatCountVisibility(procedure)A procedure taking as arguments an integer and context, returning whether the corresponding percent repeat number should be printed when
countPercentRepeatsis set.Properties (write)
forbidBreak(boolean)If set to
##t, prevent a line break at this point.This engraver creates the following layout object(s):
DoublePercentRepeat, DoublePercentRepeatCounter, PercentRepeat and PercentRepeatCounter.
Chord_tremolo_engraverGenerate beams for tremolo repeats.
Music types accepted:
This engraver creates the following layout object(s):
Beam.
New_fingering_engraverCreate fingering scripts for notes in a new chord. This engraver is ill-named, since it also takes care of articulations and harmonic note heads.
Properties (read)
fingeringOrientations(list)A list of symbols, containing ‘left’, ‘right’, ‘up’ and/or ‘down’. This list determines where fingerings are put relative to the chord being fingered.
harmonicDots(boolean)If set, harmonic notes in dotted chords get dots.
strokeFingerOrientations(list)See
fingeringOrientations.stringNumberOrientations(list)See
fingeringOrientations.This engraver creates the following layout object(s):
Fingering, Script, StringNumber and StrokeFinger.
Auto_beam_engraverGenerate beams based on measure characteristics and observed Stems. Uses
beatLength,measureLength, andmeasurePositionto decide when to start and stop a beam. Overriding beaming is done through Stem_engraver propertiesstemLeftBeamCountandstemRightBeamCount.Music types accepted:
Properties (read)
autoBeaming(boolean)If set to true then beams are generated automatically.
autoBeamSettings(list)Specifies when automatically generated beams should begin and end. See behavior Setting automatic beam behavior for more information.
beatLength(moment)The length of one beat in this time signature.
subdivideBeams(boolean)If set, multiple beams will be subdivided at beat positions by only drawing one beam over the beat.
This engraver creates the following layout object(s):
Beam.
Grace_beam_engraverHandle
Beamevents by engraving beams. If omitted, then notes are printed with flags instead of beams. Only engraves beams when we are at grace points in time.Music types accepted:
Properties (read)
beamMelismaBusy(boolean)Signal if a beam is present.
beatLength(moment)The length of one beat in this time signature.
subdivideBeams(boolean)If set, multiple beams will be subdivided at beat positions by only drawing one beam over the beat.
This engraver creates the following layout object(s):
Beam.
Beam_engraverHandle
Beamevents by engraving beams. If omitted, then notes are printed with flags instead of beams.Music types accepted:
Properties (read)
beamMelismaBusy(boolean)Signal if a beam is present.
beatLength(moment)The length of one beat in this time signature.
subdivideBeams(boolean)If set, multiple beams will be subdivided at beat positions by only drawing one beam over the beat.
Properties (write)
forbidBreak(boolean)If set to
##t, prevent a line break at this point.This engraver creates the following layout object(s):
Beam.
Stem_engraverCreate stems and single-stem tremolos. It also works together with the beam engraver for overriding beaming.
Music types accepted:
Properties (read)
tremoloFlags(integer)The number of tremolo flags to add if no number is specified.
stemLeftBeamCount(integer)Specify the number of beams to draw on the left side of the next note. Overrides automatic beaming. The value is only used once, and then it is erased.
stemRightBeamCount(integer)See
stemLeftBeamCount.This engraver creates the following layout object(s):
Stem and StemTremolo.
Tweak_engraverRead the
tweaksproperty from the originating event, and set properties.Rest_engraverEngrave rests.
Music types accepted:
Properties (read)
middleCPosition(number)The place of the middle C, measured in half staff-spaces. Usually determined by looking at
middleCClefPositionandmiddleCOffset.This engraver creates the following layout object(s):
Rest.
Dots_engraverCreate Dots objects for rhythmic-head-interfaces.
This engraver creates the following layout object(s):
Dots.
Note_heads_engraverGenerate note heads.
Music types accepted:
Properties (read)
middleCPosition(number)The place of the middle C, measured in half staff-spaces. Usually determined by looking at
middleCClefPositionandmiddleCOffset.staffLineLayoutFunction(procedure)Layout of staff lines,
traditional, orsemitone.This engraver creates the following layout object(s):
Breathing_sign_engraverCreate a breathing sign.
Music types accepted:
This engraver creates the following layout object(s):
Ligature_bracket_engraverHandle
Ligature_eventsby engravingLigaturebrackets.Music types accepted:
This engraver creates the following layout object(s):
Glissando_engraverEngrave glissandi.
Music types accepted:
This engraver creates the following layout object(s):
Note_head_line_engraverEngrave a line between two note heads, for example a glissando. If
followVoiceis set, staff switches also generate a line.Properties (read)
followVoice(boolean)If set, note heads are tracked across staff switches by a thin line.
This engraver creates the following layout object(s):
Glissando and VoiceFollower.
Repeat_tie_engraverCreate repeat ties.
Music types accepted:
This engraver creates the following layout object(s):
RepeatTie and RepeatTieColumn.
Laissez_vibrer_engraverCreate laissez vibrer items.
Music types accepted:
This engraver creates the following layout object(s):
Forbid_line_break_engraverForbid line breaks when note heads are still playing at some point.
Properties (read)
busyGrobs(list)A queue of
(end-moment . GROB)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Properties (write)
forbidBreak(boolean)If set to
##t, prevent a line break at this point.Grob_pq_engraverAdministrate when certain grobs (e.g., note heads) stop playing.
Properties (read)
busyGrobs(list)A queue of
(end-moment . GROB)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Properties (write)
busyGrobs(list)A queue of
(end-moment . GROB)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Trill_spanner_engraverCreate trill spanner from an event.
Music types accepted:
Properties (read)
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
currentMusicalColumn(layout object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
Text_spanner_engraverCreate text spanner from an event.
Music types accepted:
This engraver creates the following layout object(s):
Multi_measure_rest_engraverEngrave multi-measure rests that are produced with ‘R’. It reads
measurePositionandinternalBarNumberto determine what number to print over the MultiMeasureRest. ReadsmeasureLengthto determine whether it should use a whole rest or a breve rest to represent one measure.Music types accepted:
multi-measure-text-event and multi-measure-rest-event
Properties (read)
internalBarNumber(integer)Contains the current barnumber. This property is used for internal timekeeping, among others by the
Accidental_engraver.restNumberThreshold(number)If a multimeasure rest has more measures than this, a number is printed.
breakableSeparationItem(layout object)The breakable items in this time step, for this staff.
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
measurePosition(moment)How much of the current measure have we had. This can be set manually to create incomplete measures.
measureLength(moment)Length of one measure in the current time signature.
This engraver creates the following layout object(s):
MultiMeasureRest, MultiMeasureRestNumber and MultiMeasureRestText.
Arpeggio_engraverGenerate an Arpeggio symbol.
Music types accepted:
This engraver creates the following layout object(s):
Output_property_engraverApply a procedure to any grob acknowledged.
Music types accepted:
Pitched_trill_engraverPrint the bracketed note head after a note head with trill.
This engraver creates the following layout object(s):
Font_size_engraverPut
fontSizeintofont-sizegrob property.Properties (read)
fontSize(number)The relative size of all grobs in a context.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Voice ] | [ Up : Translation ] | [ Accidental_engraver > ] | ||
2.2 Engravers and Performers
See Modifying context plug-ins.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Engravers and Performers ] | [ Up : Engravers and Performers ] | [ Ambitus_engraver > ] | ||
2.2.1 Accidental_engraver
Make accidentals. Catch note heads, ties and notices key-change events. This engraver usually lives at Staff level, but reads the settings for Accidental at Voice level, so you can \override them at Voice.
Properties (read)
autoAccidentals(list)List of different ways to typeset an accidental.
For determining when to print an accidental, several different rules are tried. The rule that gives the highest number of accidentals is used.
Each entry in the list is either a symbol or a procedure.
- symbol
The symbol is the name of the context in which the following rules are to be applied. For example, if context is Score then all staves share accidentals, and if context is Staff then all voices in the same staff share accidentals, but staves do not.
- procedure
The procedure represents an accidental rule to be applied to the previously specified context.
The procedure takes the following arguments:
contextThe current context to which the rule should be applied.
pitchThe pitch of the note to be evaluated.
barnumThe current bar number.
measureposThe current measure position.
The procedure returns a pair of booleans. The first states whether an extra natural should be added. The second states whether an accidental should be printed.
(#t . #f)does not make sense.autoCautionaries(list)List similar to
autoAccidentals, but it controls cautionary accidentals rather than normal ones. Both lists are tried, and the one giving the most accidentals wins. In case of draw, a normal accidental is typeset.internalBarNumber(integer)Contains the current barnumber. This property is used for internal timekeeping, among others by the
Accidental_engraver.extraNatural(boolean)Whether to typeset an extra natural sign before accidentals changing from a non-natural to another non-natural.
harmonicAccidentals(boolean)If set, harmonic notes in chords get accidentals.
keySignature(list)The current key signature. This is an alist containing
(step . alter)or((octave . step) . alter), where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.keySignature = #`((6 . ,FLAT)).localKeySignature(list)The key signature at this point in the measure. The format is the same as for
keySignature, but can also contain((octave . name) . (alter barnumber . measureposition))pairs.
Properties (write)
localKeySignature(list)The key signature at this point in the measure. The format is the same as for
keySignature, but can also contain((octave . name) . (alter barnumber . measureposition))pairs.
This engraver creates the following layout object(s):
Accidental, AccidentalCautionary, AccidentalPlacement and AccidentalSuggestion.
Accidental_engraver is part of the following context(s): GregorianTranscriptionStaff, MensuralStaff, Staff and VaticanaStaff.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Accidental_engraver ] | [ Up : Engravers and Performers ] | [ Arpeggio_engraver > ] | ||
2.2.2 Ambitus_engraver
This engraver creates the following layout object(s):
AccidentalPlacement, Ambitus, AmbitusAccidental, AmbitusLine and AmbitusNoteHead.
Ambitus_engraver is not part of any context.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Ambitus_engraver ] | [ Up : Engravers and Performers ] | [ Auto_beam_engraver > ] | ||
2.2.3 Arpeggio_engraver
Generate an Arpeggio symbol.
Music types accepted:
This engraver creates the following layout object(s):
Arpeggio_engraver is part of the following context(s): CueVoice, GregorianTranscriptionVoice, MensuralVoice, TabVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Arpeggio_engraver ] | [ Up : Engravers and Performers ] | [ Axis_group_engraver > ] | ||
2.2.4 Auto_beam_engraver
Generate beams based on measure characteristics and observed Stems. Uses beatLength, measureLength, and measurePosition to decide when to start and stop a beam. Overriding beaming is done through Stem_engraver properties stemLeftBeamCount and stemRightBeamCount.
Music types accepted:
Properties (read)
autoBeaming(boolean)If set to true then beams are generated automatically.
autoBeamSettings(list)Specifies when automatically generated beams should begin and end. See behavior Setting automatic beam behavior for more information.
beatLength(moment)The length of one beat in this time signature.
subdivideBeams(boolean)If set, multiple beams will be subdivided at beat positions by only drawing one beam over the beat.
This engraver creates the following layout object(s):
Beam.
Auto_beam_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, MensuralVoice, TabVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Auto_beam_engraver ] | [ Up : Engravers and Performers ] | [ Balloon_engraver > ] | ||
2.2.5 Axis_group_engraver
Group all objects created in this context in a VerticalAxisGroup spanner.
Properties (read)
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
This engraver creates the following layout object(s):
Axis_group_engraver is part of the following context(s): DrumStaff, FretBoards, GregorianTranscriptionStaff, MensuralStaff, NoteNames, RhythmicStaff, Staff, TabStaff and VaticanaStaff.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Axis_group_engraver ] | [ Up : Engravers and Performers ] | [ Bar_engraver > ] | ||
2.2.6 Balloon_engraver
Create balloon texts.
Music types accepted:
This engraver creates the following layout object(s):
Balloon_engraver is not part of any context.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Balloon_engraver ] | [ Up : Engravers and Performers ] | [ Bar_number_engraver > ] | ||
2.2.7 Bar_engraver
Create barlines. This engraver is controlled through the whichBar property. If it has no bar line to create, it will forbid a linebreak at this point.
Properties (read)
whichBar(string)This property is read to determine what type of bar line to create.
Example:
\set Staff.whichBar = "|:"This will create a start-repeat bar in this staff only. Valid values are described in bar-line-interface.
Properties (write)
forbidBreak(boolean)If set to
##t, prevent a line break at this point.
This engraver creates the following layout object(s):
Bar_engraver is part of the following context(s): DrumStaff, GregorianTranscriptionStaff, MensuralStaff, RhythmicStaff, Staff, TabStaff and VaticanaStaff.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Bar_engraver ] | [ Up : Engravers and Performers ] | [ Beam_engraver > ] | ||
2.2.8 Bar_number_engraver
A bar number is created whenever measurePosition is zero and when there is a bar line (i.e., when whichBar is set). It is put on top of all staves, and appears only at the left side of the staff. The staves are taken from stavesFound, which is maintained by Staff_collecting_engraver.
Properties (read)
currentBarNumber(integer)Contains the current barnumber. This property is incremented at every bar line.
whichBar(string)This property is read to determine what type of bar line to create.
Example:
\set Staff.whichBar = "|:"This will create a start-repeat bar in this staff only. Valid values are described in bar-line-interface.
stavesFound(list of grobs)A list of all staff-symbols found.
barNumberVisibility(procedure)A Procedure that takes an integer and returns whether the corresponding bar number should be printed.
This engraver creates the following layout object(s):
Bar_number_engraver is part of the following context(s): Score.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Bar_number_engraver ] | [ Up : Engravers and Performers ] | [ Beam_performer > ] | ||
2.2.9 Beam_engraver
Handle Beam events by engraving beams. If omitted, then notes are printed with flags instead of beams.
Music types accepted:
Properties (read)
beamMelismaBusy(boolean)Signal if a beam is present.
beatLength(moment)The length of one beat in this time signature.
subdivideBeams(boolean)If set, multiple beams will be subdivided at beat positions by only drawing one beam over the beat.
Properties (write)
forbidBreak(boolean)If set to
##t, prevent a line break at this point.
This engraver creates the following layout object(s):
Beam.
Beam_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, MensuralVoice, TabVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Beam_engraver ] | [ Up : Engravers and Performers ] | [ Bend_engraver > ] | ||
2.2.10 Beam_performer
Music types accepted:
Beam_performer is not part of any context.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Beam_performer ] | [ Up : Engravers and Performers ] | [ Break_align_engraver > ] | ||
2.2.11 Bend_engraver
Create fall spanners.
Music types accepted:
This engraver creates the following layout object(s):
Bend_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, MensuralVoice, TabVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Bend_engraver ] | [ Up : Engravers and Performers ] | [ Breathing_sign_engraver > ] | ||
2.2.12 Break_align_engraver
Align grobs with corresponding break-align-symbols into groups, and order the groups according to breakAlignOrder. The left edge of the alignment gets a separate group, with a symbol left-edge.
This engraver creates the following layout object(s):
BreakAlignGroup, BreakAlignment and LeftEdge.
Break_align_engraver is part of the following context(s): Score.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Break_align_engraver ] | [ Up : Engravers and Performers ] | [ Chord_name_engraver > ] | ||
2.2.13 Breathing_sign_engraver
Create a breathing sign.
Music types accepted:
This engraver creates the following layout object(s):
Breathing_sign_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, MensuralVoice, TabVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Breathing_sign_engraver ] | [ Up : Engravers and Performers ] | [ Chord_tremolo_engraver > ] | ||
2.2.14 Chord_name_engraver
Catch note events and generate the appropriate chordname.
Music types accepted:
Properties (read)
chordChanges(boolean)Only show changes in chords scheme?
chordNameExceptions(list)An alist of chord exceptions. Contains
(chord . markup)entries.chordNameFunction(procedure)The function that converts lists of pitches to chord names.
chordNoteNamer(procedure)A function that converts from a pitch object to a text markup. Used for single pitches.
chordRootNamer(procedure)A function that converts from a pitch object to a text markup. Used for chords.
chordNameExceptions(list)An alist of chord exceptions. Contains
(chord . markup)entries.majorSevenSymbol(markup)How should the major 7th be formatted in a chord name?
This engraver creates the following layout object(s):
Chord_name_engraver is part of the following context(s): ChordNames.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Chord_name_engraver ] | [ Up : Engravers and Performers ] | [ Clef_engraver > ] | ||
2.2.15 Chord_tremolo_engraver
Generate beams for tremolo repeats.
Music types accepted:
This engraver creates the following layout object(s):
Beam.
Chord_tremolo_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, MensuralVoice, TabVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Chord_tremolo_engraver ] | [ Up : Engravers and Performers ] | [ Cluster_spanner_engraver > ] | ||
2.2.16 Clef_engraver
Determine and set reference point for pitches.
Properties (read)
clefGlyph(string)Name of the symbol within the music font.
clefOctavation(integer)Add this much extra octavation. Values of 7 and -7 are common.
clefPosition(number)Where should the center of the clef symbol go, measured in half staff spaces from the center of the staff.
explicitClefVisibility(vector)‘break-visibility’ function for clef changes.
forceClef(boolean)Show clef symbol, even if it has not changed. Only active for the first clef after the property is set, not for the full staff.
This engraver creates the following layout object(s):
Clef and OctavateEight.
Clef_engraver is part of the following context(s): DrumStaff, GregorianTranscriptionStaff, MensuralStaff, Staff, TabStaff and VaticanaStaff.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Clef_engraver ] | [ Up : Engravers and Performers ] | [ Collision_engraver > ] | ||
2.2.17 Cluster_spanner_engraver
Engrave a cluster using Spanner notation.
Music types accepted:
This engraver creates the following layout object(s):
ClusterSpanner and ClusterSpannerBeacon.
Cluster_spanner_engraver is part of the following context(s): CueVoice, GregorianTranscriptionVoice, MensuralVoice, TabVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Cluster_spanner_engraver ] | [ Up : Engravers and Performers ] | [ Completion_heads_engraver > ] | ||
2.2.18 Collision_engraver
Collect NoteColumns, and as soon as there are two or more, put them in a NoteCollision object.
This engraver creates the following layout object(s):
Collision_engraver is part of the following context(s): DrumStaff, GregorianTranscriptionStaff, MensuralStaff, Staff, TabStaff and VaticanaStaff.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Collision_engraver ] | [ Up : Engravers and Performers ] | [ Control_track_performer > ] | ||
2.2.19 Completion_heads_engraver
This engraver replaces Note_heads_engraver. It plays some trickery to break long notes and automatically tie them into the next measure.
Music types accepted:
tie-event and note-event
Properties (read)
middleCPosition(number)The place of the middle C, measured in half staff-spaces. Usually determined by looking at
middleCClefPositionandmiddleCOffset.measurePosition(moment)How much of the current measure have we had. This can be set manually to create incomplete measures.
measureLength(moment)Length of one measure in the current time signature.
Properties (write)
completionBusy(boolean)Whether a completion-note head is playing.
This engraver creates the following layout object(s):
Completion_heads_engraver is not part of any context.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Completion_heads_engraver ] | [ Up : Engravers and Performers ] | [ Custos_engraver > ] | ||
2.2.20 Control_track_performer
Control_track_performer is not part of any context.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Control_track_performer ] | [ Up : Engravers and Performers ] | [ Default_bar_line_engraver > ] | ||
2.2.21 Custos_engraver
Engrave custodes.
This engraver creates the following layout object(s):
Custos_engraver is part of the following context(s): MensuralStaff and VaticanaStaff.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Custos_engraver ] | [ Up : Engravers and Performers ] | [ Dot_column_engraver > ] | ||
2.2.22 Default_bar_line_engraver
This engraver determines what kind of automatic bar lines should be produced, and sets whichBar accordingly. It should be at the same level as Timing_translator.
Properties (read)
automaticBars(boolean)If set to false then bar lines will not be printed automatically; they must be explicitly created with a
\barcommand. Unlike the\cadenzaOnkeyword, measures are still counted. Bar line generation will resume according to that count if this property is unset.barAlways(boolean)If set to true a bar line is drawn after each note.
defaultBarType(string)Set the default type of bar line. See
whichBarfor information on available bar types.This variable is read by Timing_translator at Score level.
measureLength(moment)Length of one measure in the current time signature.
whichBar(string)This property is read to determine what type of bar line to create.
Example:
\set Staff.whichBar = "|:"This will create a start-repeat bar in this staff only. Valid values are described in bar-line-interface.
measurePosition(moment)How much of the current measure have we had. This can be set manually to create incomplete measures.
Properties (write)
automaticBars(boolean)If set to false then bar lines will not be printed automatically; they must be explicitly created with a
\barcommand. Unlike the\cadenzaOnkeyword, measures are still counted. Bar line generation will resume according to that count if this property is unset.
Default_bar_line_engraver is part of the following context(s): Score.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Default_bar_line_engraver ] | [ Up : Engravers and Performers ] | [ Dots_engraver > ] | ||
2.2.23 Dot_column_engraver
Engrave dots on dotted notes shifted to the right of the note. If omitted, then dots appear on top of the notes.
This engraver creates the following layout object(s):
Dot_column_engraver is part of the following context(s): DrumStaff, GregorianTranscriptionStaff, MensuralStaff, RhythmicStaff, Staff, TabStaff and VaticanaStaff.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Dot_column_engraver ] | [ Up : Engravers and Performers ] | [ Drum_note_performer > ] | ||
2.2.24 Dots_engraver
Create Dots objects for rhythmic-head-interfaces.
This engraver creates the following layout object(s):
Dots.
Dots_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, MensuralVoice, TabVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Dots_engraver ] | [ Up : Engravers and Performers ] | [ Drum_notes_engraver > ] | ||
2.2.25 Drum_note_performer
Play drum notes.
Music types accepted:
Drum_note_performer is not part of any context.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Drum_note_performer ] | [ Up : Engravers and Performers ] | [ Dynamic_align_engraver > ] | ||
2.2.26 Drum_notes_engraver
Generate drum note heads.
Music types accepted:
Properties (read)
drumStyleTable(hash table)A hash table which maps drums to layout settings. Predefined values: ‘drums-style’, ‘timbales-style’, ‘congas-style’, ‘bongos-style’, and ‘percussion-style’.
The layout style is a hash table, containing the drum-pitches (e.g., the symbol ‘hihat’) as keys, and a list
(notehead-style script vertical-position)as values.
This engraver creates the following layout object(s):
Drum_notes_engraver is part of the following context(s): DrumVoice.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Drum_notes_engraver ] | [ Up : Engravers and Performers ] | [ Dynamic_engraver > ] | ||
2.2.27 Dynamic_align_engraver
Align hairpins and dynamic texts on a horizontal line
Properties (read)
currentMusicalColumn(layout object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
Dynamic_align_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, MensuralVoice, TabVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Dynamic_align_engraver ] | [ Up : Engravers and Performers ] | [ Dynamic_performer > ] | ||
2.2.28 Dynamic_engraver
Create hairpins, dynamic texts, and their vertical alignments. The symbols are collected onto a DynamicLineSpanner grob which takes care of vertical positioning.
Music types accepted:
span-dynamic-event and absolute-dynamic-event
This engraver creates the following layout object(s):
DynamicLineSpanner, DynamicText, DynamicTextSpanner and Hairpin.
Dynamic_engraver is not part of any context.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Dynamic_engraver ] | [ Up : Engravers and Performers ] | [ Engraver > ] | ||
2.2.29 Dynamic_performer
Music types accepted:
absolute-dynamic-event, crescendo-event and decrescendo-event
Properties (read)
dynamicAbsoluteVolumeFunction(procedure)[DOCUMENT-ME]
instrumentEqualizer(procedure)A function taking a string (instrument name), and returning a
(min . max)pair of numbers for the loudness range of the instrument.midiMaximumVolume(number)Analogous to
midiMinimumVolume.midiMinimumVolume(number)Set the minimum loudness for MIDI. Ranges from 0 to 1.
midiInstrument(string)Name of the MIDI instrument to use.
Dynamic_performer is not part of any context.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Dynamic_performer ] | [ Up : Engravers and Performers ] | [ Extender_engraver > ] | ||
2.2.30 Engraver
Base class for engravers. Does nothing, so it is not used.
Engraver is not part of any context.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Engraver ] | [ Up : Engravers and Performers ] | [ Figured_bass_engraver > ] | ||
2.2.31 Extender_engraver
Create lyric extenders.
Music types accepted:
Properties (read)
extendersOverRests(boolean)Whether to continue extenders as they cross a rest.
This engraver creates the following layout object(s):
Extender_engraver is part of the following context(s): Lyrics.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Extender_engraver ] | [ Up : Engravers and Performers ] | [ Figured_bass_position_engraver > ] | ||
2.2.32 Figured_bass_engraver
Make figured bass numbers.
Music types accepted:
bass-figure-event and rest-event
Properties (read)
figuredBassAlterationDirection(direction)Where to put alterations relative to the main figure.
figuredBassCenterContinuations(boolean)Whether to vertically center pairs of extender lines. This does not work with three or more lines.
figuredBassFormatter(procedure)A routine generating a markup for a bass figure.
implicitBassFigures(list)A list of bass figures that are not printed as numbers, but only as extender lines.
useBassFigureExtenders(boolean)Whether to use extender lines for repeated bass figures.
ignoreFiguredBassRest(boolean)Don’t swallow rest events.
This engraver creates the following layout object(s):
BassFigure, BassFigureAlignment, BassFigureBracket, BassFigureContinuation and BassFigureLine.
Figured_bass_engraver is part of the following context(s): DrumStaff, FiguredBass, GregorianTranscriptionStaff, MensuralStaff, Staff, TabStaff and VaticanaStaff.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Figured_bass_engraver ] | [ Up : Engravers and Performers ] | [ Fingering_engraver > ] | ||
2.2.33 Figured_bass_position_engraver
Position figured bass alignments over notes.
This engraver creates the following layout object(s):
BassFigureAlignmentPositioning.
Figured_bass_position_engraver is part of the following context(s): DrumStaff, GregorianTranscriptionStaff, MensuralStaff, Staff, TabStaff and VaticanaStaff.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Figured_bass_position_engraver ] | [ Up : Engravers and Performers ] | [ Font_size_engraver > ] | ||
2.2.34 Fingering_engraver
Create fingering scripts.
Music types accepted:
stroke-finger-event and fingering-event
This engraver creates the following layout object(s):
Fingering_engraver is part of the following context(s): CueVoice, GregorianTranscriptionVoice, MensuralVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Fingering_engraver ] | [ Up : Engravers and Performers ] | [ Forbid_line_break_engraver > ] | ||
2.2.35 Font_size_engraver
Put fontSize into font-size grob property.
Properties (read)
fontSize(number)The relative size of all grobs in a context.
Font_size_engraver is part of the following context(s): CueVoice, DrumStaff, DrumVoice, FretBoards, GregorianTranscriptionStaff, GregorianTranscriptionVoice, Lyrics, MensuralStaff, MensuralVoice, RhythmicStaff, Staff, TabStaff, TabVoice, VaticanaStaff, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Font_size_engraver ] | [ Up : Engravers and Performers ] | [ Fretboard_engraver > ] | ||
2.2.36 Forbid_line_break_engraver
Forbid line breaks when note heads are still playing at some point.
Properties (read)
busyGrobs(list)A queue of
(end-moment . GROB)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).
Properties (write)
forbidBreak(boolean)If set to
##t, prevent a line break at this point.
Forbid_line_break_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, MensuralVoice, TabVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Forbid_line_break_engraver ] | [ Up : Engravers and Performers ] | [ Glissando_engraver > ] | ||
2.2.37 Fretboard_engraver
Generate one or more tablature noteheads from event of type NoteEvent.
Music types accepted:
string-number-event and note-event
Properties (read)
stringTunings(list)The tablature strings tuning. It is a list of the pitch (in semitones) of each string (starting with the lower one).
minimumFret(number)The tablature auto string-selecting mechanism selects the highest string with a fret at least
minimumFret.maximumFretStretch(number)Don’t allocate frets further than this from specified frets.
tablatureFormat(procedure)A function formatting a tablature note head. Called with three arguments: string number, context and event. It returns the text as a string.
highStringOne(boolean)Whether the first string is the string with highest pitch on the instrument. This used by the automatic string selector for tablature notation.
predefinedDiagramTable(hash table)The hash table of predefined fret diagrams to use in FretBoards.
This engraver creates the following layout object(s):
Fretboard_engraver is part of the following context(s): FretBoards.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Fretboard_engraver ] | [ Up : Engravers and Performers ] | [ Grace_beam_engraver > ] | ||
2.2.38 Glissando_engraver
Engrave glissandi.
Music types accepted:
This engraver creates the following layout object(s):
Glissando_engraver is part of the following context(s): CueVoice, GregorianTranscriptionVoice, MensuralVoice, TabVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Glissando_engraver ] | [ Up : Engravers and Performers ] | [ Grace_engraver > ] | ||
2.2.39 Grace_beam_engraver
Handle Beam events by engraving beams. If omitted, then notes are printed with flags instead of beams. Only engraves beams when we are at grace points in time.
Music types accepted:
Properties (read)
beamMelismaBusy(boolean)Signal if a beam is present.
beatLength(moment)The length of one beat in this time signature.
subdivideBeams(boolean)If set, multiple beams will be subdivided at beat positions by only drawing one beam over the beat.
This engraver creates the following layout object(s):
Beam.
Grace_beam_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, MensuralVoice, TabVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Grace_beam_engraver ] | [ Up : Engravers and Performers ] | [ Grace_spacing_engraver > ] | ||
2.2.40 Grace_engraver
Set font size and other properties for grace notes.
Properties (read)
graceSettings(list)Overrides for grace notes. This property should be manipulated through the
add-grace-propertyfunction.
Grace_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, MensuralVoice, TabVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Grace_engraver ] | [ Up : Engravers and Performers ] | [ Grid_line_span_engraver > ] | ||
2.2.41 Grace_spacing_engraver
Bookkeeping of shortest starting and playing notes in grace note runs.
Properties (read)
currentMusicalColumn(layout object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
Grace_spacing_engraver is part of the following context(s): Score.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Grace_spacing_engraver ] | [ Up : Engravers and Performers ] | [ Grid_point_engraver > ] | ||
2.2.42 Grid_line_span_engraver
This engraver makes cross-staff lines: It catches all normal lines and draws a single span line across them.
This engraver creates the following layout object(s):
Grid_line_span_engraver is not part of any context.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Grid_line_span_engraver ] | [ Up : Engravers and Performers ] | [ Grob_pq_engraver > ] | ||
2.2.43 Grid_point_engraver
Generate grid points.
Properties (read)
gridInterval(moment)Interval for which to generate
GridPoints.
This engraver creates the following layout object(s):
Grid_point_engraver is not part of any context.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Grid_point_engraver ] | [ Up : Engravers and Performers ] | [ Hara_kiri_engraver > ] | ||
2.2.44 Grob_pq_engraver
Administrate when certain grobs (e.g., note heads) stop playing.
Properties (read)
busyGrobs(list)A queue of
(end-moment . GROB)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).
Properties (write)
busyGrobs(list)A queue of
(end-moment . GROB)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).
Grob_pq_engraver is part of the following context(s): CueVoice, DrumStaff, DrumVoice, GregorianTranscriptionStaff, GregorianTranscriptionVoice, MensuralStaff, MensuralVoice, Staff, TabStaff, TabVoice, VaticanaStaff, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Grob_pq_engraver ] | [ Up : Engravers and Performers ] | [ Horizontal_bracket_engraver > ] | ||
2.2.45 Hara_kiri_engraver
Like Axis_group_engraver, but make a hara-kiri spanner, and add interesting items (i.e., note heads, lyric syllables, and normal rests).
Properties (read)
keepAliveInterfaces(list)A list of symbols, signifying grob interfaces that are worth keeping a staff with
remove-emptyset around for.
This engraver creates the following layout object(s):
Hara_kiri_engraver is part of the following context(s): ChordNames, FiguredBass and Lyrics.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Hara_kiri_engraver ] | [ Up : Engravers and Performers ] | [ Hyphen_engraver > ] | ||
2.2.46 Horizontal_bracket_engraver
Create horizontal brackets over notes for musical analysis purposes.
Music types accepted:
This engraver creates the following layout object(s):
Horizontal_bracket_engraver is not part of any context.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Horizontal_bracket_engraver ] | [ Up : Engravers and Performers ] | [ Instrument_name_engraver > ] | ||
2.2.47 Hyphen_engraver
Create lyric hyphens and distance constraints between words.
Music types accepted:
This engraver creates the following layout object(s):
LyricHyphen and LyricSpace.
Hyphen_engraver is part of the following context(s): Lyrics.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Hyphen_engraver ] | [ Up : Engravers and Performers ] | [ Instrument_switch_engraver > ] | ||
2.2.48 Instrument_name_engraver
Create a system start text for instrument or vocal names.
Properties (read)
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
shortInstrumentName(markup)See
instrument.instrumentName(markup)The name to print left of a staff. The
instrumentproperty labels the staff in the first system, and theinstrproperty labels following lines.shortVocalName(markup)Name of a vocal line, short version.
vocalName(markup)Name of a vocal line.
This engraver creates the following layout object(s):
Instrument_name_engraver is part of the following context(s): DrumStaff, FretBoards, GregorianTranscriptionStaff, Lyrics, MensuralStaff, PianoStaff, RhythmicStaff, Staff, TabStaff and VaticanaStaff.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Instrument_name_engraver ] | [ Up : Engravers and Performers ] | [ Key_engraver > ] | ||
2.2.49 Instrument_switch_engraver
Create a cue text for taking instrument.
Properties (read)
instrumentCueName(markup)The name to print if another instrument is to be taken.
This engraver creates the following layout object(s):
Instrument_switch_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, MensuralVoice, TabVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Instrument_switch_engraver ] | [ Up : Engravers and Performers ] | [ Key_performer > ] | ||
2.2.50 Key_engraver
Engrave a key signature.
Music types accepted:
Properties (read)
createKeyOnClefChange(boolean)Print a key signature whenever the clef is changed.
explicitKeySignatureVisibility(vector)‘break-visibility’ function for explicit key changes. ‘\override’ of the
break-visibilityproperty will set the visibility for normal (i.e., at the start of the line) key signatures.extraNatural(boolean)Whether to typeset an extra natural sign before accidentals changing from a non-natural to another non-natural.
keyAlterationOrder(list)An alist that defines in what order alterations should be printed. The format is
(step . alter), where step is a number from 0 to 6 and alter from -2 (sharp) to 2 (flat).keySignature(list)The current key signature. This is an alist containing
(step . alter)or((octave . step) . alter), where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.keySignature = #`((6 . ,FLAT)).lastKeySignature(list)Last key signature before a key signature change.
printKeyCancellation(boolean)Print restoration alterations before a key signature change.
Properties (write)
keySignature(list)The current key signature. This is an alist containing
(step . alter)or((octave . step) . alter), where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.keySignature = #`((6 . ,FLAT)).lastKeySignature(list)Last key signature before a key signature change.
tonic(pitch)The tonic of the current scale.
This engraver creates the following layout object(s):
KeyCancellation and KeySignature.
Key_engraver is part of the following context(s): GregorianTranscriptionStaff, MensuralStaff, Staff and VaticanaStaff.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Key_engraver ] | [ Up : Engravers and Performers ] | [ Laissez_vibrer_engraver > ] | ||
2.2.51 Key_performer
Music types accepted:
Key_performer is not part of any context.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Key_performer ] | [ Up : Engravers and Performers ] | [ Ledger_line_engraver > ] | ||
2.2.52 Laissez_vibrer_engraver
Create laissez vibrer items.
Music types accepted:
This engraver creates the following layout object(s):
LaissezVibrerTie and LaissezVibrerTieColumn.
Laissez_vibrer_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, MensuralVoice, TabVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Laissez_vibrer_engraver ] | [ Up : Engravers and Performers ] | [ Ligature_bracket_engraver > ] | ||
2.2.53 Ledger_line_engraver
Create the spanner to draw ledger lines, and notices objects that need ledger lines.
This engraver creates the following layout object(s):
Ledger_line_engraver is part of the following context(s): DrumStaff, GregorianTranscriptionStaff, MensuralStaff, RhythmicStaff, Staff, TabStaff and VaticanaStaff.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Ledger_line_engraver ] | [ Up : Engravers and Performers ] | [ Lyric_engraver > ] | ||
2.2.54 Ligature_bracket_engraver
Handle Ligature_events by engraving Ligature brackets.
Music types accepted:
This engraver creates the following layout object(s):
Ligature_bracket_engraver is part of the following context(s): CueVoice, GregorianTranscriptionVoice, TabVoice and Voice.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Ligature_bracket_engraver ] | [ Up : Engravers and Performers ] | [ Lyric_performer > ] | ||
2.2.55 Lyric_engraver
Engrave text for lyrics.
Music types accepted:
Properties (read)
ignoreMelismata(boolean)Ignore melismata for this Lyrics line.
lyricMelismaAlignment(direction)Alignment to use for a melisma syllable.
This engraver creates the following layout object(s):
Lyric_engraver is part of the following context(s): Lyrics.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Lyric_engraver ] | [ Up : Engravers and Performers ] | [ Mark_engraver > ] | ||
2.2.56 Lyric_performer
Music types accepted:
Lyric_performer is not part of any context.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Lyric_performer ] | [ Up : Engravers and Performers ] | [ Measure_grouping_engraver > ] | ||
2.2.57 Mark_engraver
Create RehearsalMark objects. It puts them on top of all staves (which is taken from the property stavesFound). If moving this engraver to a different context, Staff_collecting_engraver must move along, otherwise all marks end up on the same Y location.
Music types accepted:
Properties (read)
markFormatter(procedure)A procedure taking as arguments the context and the rehearsal mark. It should return the formatted mark as a markup object.
rehearsalMark(integer)The last rehearsal mark printed.
stavesFound(list of grobs)A list of all staff-symbols found.
This engraver creates the following layout object(s):
Mark_engraver is part of the following context(s): Score.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Mark_engraver ] | [ Up : Engravers and Performers ] | [ Melody_engraver > ] | ||
2.2.58 Measure_grouping_engraver
Create MeasureGrouping to indicate beat subdivision.
Properties (read)
beatLength(moment)The length of one beat in this time signature.
currentMusicalColumn(layout object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
measurePosition(moment)How much of the current measure have we had. This can be set manually to create incomplete measures.
beatGrouping(list)A list of beatgroups, e.g., in 5/8 time
'(2 3).
This engraver creates the following layout object(s):
Measure_grouping_engraver is not part of any context.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Measure_grouping_engraver ] | [ Up : Engravers and Performers ] | [ Mensural_ligature_engraver > ] | ||
2.2.59 Melody_engraver
Create information for context dependent typesetting decisions.
This engraver creates the following layout object(s):
Melody_engraver is not part of any context.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Melody_engraver ] | [ Up : Engravers and Performers ] | [ Metronome_mark_engraver > ] | ||
2.2.60 Mensural_ligature_engraver
Handle Mensural_ligature_events by glueing special ligature heads together.
Music types accepted:
This engraver creates the following layout object(s):
Mensural_ligature_engraver is part of the following context(s): MensuralVoice.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Mensural_ligature_engraver ] | [ Up : Engravers and Performers ] | [ Multi_measure_rest_engraver > ] | ||
2.2.61 Metronome_mark_engraver
Engrave metronome marking. This delegates the formatting work to the function in the metronomeMarkFormatter property. The mark is put over all staves. The staves are taken from the stavesFound property, which is maintained by Staff_collecting_engraver.
Properties (read)
stavesFound(list of grobs)A list of all staff-symbols found.
metronomeMarkFormatter(procedure)How to produce a metronome markup. Called with four arguments: text, duration, count and context.
tempoUnitDuration(duration)Unit for specifying tempo.
tempoUnitCount(number)Count for specifying tempo.
tempoText(markup)Text for tempo marks.
tempoHideNote(boolean)Hide the note=count in tempo marks.
This engraver creates the following layout object(s):
Metronome_mark_engraver is part of the following context(s): Score.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Metronome_mark_engraver ] | [ Up : Engravers and Performers ] | [ New_dynamic_engraver > ] | ||
2.2.62 Multi_measure_rest_engraver
Engrave multi-measure rests that are produced with ‘R’. It reads measurePosition and internalBarNumber to determine what number to print over the MultiMeasureRest. Reads measureLength to determine whether it should use a whole rest or a breve rest to represent one measure.
Music types accepted:
multi-measure-text-event and multi-measure-rest-event
Properties (read)
internalBarNumber(integer)Contains the current barnumber. This property is used for internal timekeeping, among others by the
Accidental_engraver.restNumberThreshold(number)If a multimeasure rest has more measures than this, a number is printed.
breakableSeparationItem(layout object)The breakable items in this time step, for this staff.
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
measurePosition(moment)How much of the current measure have we had. This can be set manually to create incomplete measures.
measureLength(moment)Length of one measure in the current time signature.
This engraver creates the following layout object(s):
MultiMeasureRest, MultiMeasureRestNumber and MultiMeasureRestText.
Multi_measure_rest_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, MensuralVoice, TabVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Multi_measure_rest_engraver ] | [ Up : Engravers and Performers ] | [ New_fingering_engraver > ] | ||
2.2.63 New_dynamic_engraver
Create hairpins, dynamic texts, and their vertical alignments. The symbols are collected onto a DynamicLineSpanner grob which takes care of vertical positioning.
Music types accepted:
span-dynamic-event and absolute-dynamic-event
Properties (read)
crescendoSpanner(symbol)The type of spanner to be used for crescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin crescendo is used.
crescendoText(markup)The text to print at start of non-hairpin crescendo, i.e., ‘cresc.’.
currentMusicalColumn(layout object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
decrescendoSpanner(symbol)The type of spanner to be used for decrescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin decrescendo is used.
decrescendoText(markup)The text to print at start of non-hairpin decrescendo, i.e., ‘dim.’.
This engraver creates the following layout object(s):
DynamicText, DynamicTextSpanner and Hairpin.
New_dynamic_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, MensuralVoice, TabVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < New_dynamic_engraver ] | [ Up : Engravers and Performers ] | [ Note_head_line_engraver > ] | ||
2.2.64 New_fingering_engraver
Create fingering scripts for notes in a new chord. This engraver is ill-named, since it also takes care of articulations and harmonic note heads.
Properties (read)
fingeringOrientations(list)A list of symbols, containing ‘left’, ‘right’, ‘up’ and/or ‘down’. This list determines where fingerings are put relative to the chord being fingered.
harmonicDots(boolean)If set, harmonic notes in dotted chords get dots.
strokeFingerOrientations(list)See
fingeringOrientations.stringNumberOrientations(list)See
fingeringOrientations.
This engraver creates the following layout object(s):
Fingering, Script, StringNumber and StrokeFinger.
New_fingering_engraver is part of the following context(s): CueVoice, GregorianTranscriptionVoice, MensuralVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < New_fingering_engraver ] | [ Up : Engravers and Performers ] | [ Note_heads_engraver > ] | ||
2.2.65 Note_head_line_engraver
Engrave a line between two note heads, for example a glissando. If followVoice is set, staff switches also generate a line.
Properties (read)
followVoice(boolean)If set, note heads are tracked across staff switches by a thin line.
This engraver creates the following layout object(s):
Glissando and VoiceFollower.
Note_head_line_engraver is part of the following context(s): CueVoice, GregorianTranscriptionVoice, MensuralVoice, TabVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Note_head_line_engraver ] | [ Up : Engravers and Performers ] | [ Note_name_engraver > ] | ||
2.2.66 Note_heads_engraver
Generate note heads.
Music types accepted:
Properties (read)
middleCPosition(number)The place of the middle C, measured in half staff-spaces. Usually determined by looking at
middleCClefPositionandmiddleCOffset.staffLineLayoutFunction(procedure)Layout of staff lines,
traditional, orsemitone.
This engraver creates the following layout object(s):
Note_heads_engraver is part of the following context(s): CueVoice, GregorianTranscriptionVoice, MensuralVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Note_heads_engraver ] | [ Up : Engravers and Performers ] | [ Note_performer > ] | ||
2.2.67 Note_name_engraver
Print pitches as words.
Music types accepted:
Properties (read)
printOctaveNames(boolean)Print octave marks for the
NoteNamescontext.
This engraver creates the following layout object(s):
Note_name_engraver is part of the following context(s): NoteNames.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Note_name_engraver ] | [ Up : Engravers and Performers ] | [ Note_spacing_engraver > ] | ||
2.2.68 Note_performer
Music types accepted:
Note_performer is not part of any context.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Note_performer ] | [ Up : Engravers and Performers ] | [ Note_swallow_translator > ] | ||
2.2.69 Note_spacing_engraver
Generate NoteSpacing, an object linking horizontal lines for use in spacing.
This engraver creates the following layout object(s):
Note_spacing_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, MensuralVoice, TabVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Note_spacing_engraver ] | [ Up : Engravers and Performers ] | [ Ottava_spanner_engraver > ] | ||
2.2.70 Note_swallow_translator
Swallow notes.
Note_swallow_translator is part of the following context(s): FiguredBass.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Note_swallow_translator ] | [ Up : Engravers and Performers ] | [ Output_property_engraver > ] | ||
2.2.71 Ottava_spanner_engraver
Create a text spanner when the ottavation property changes.
Properties (read)
ottavation(markup)If set, the text for an ottava spanner. Changing this creates a new text spanner.
originalMiddleCPosition(integer)Used for temporary overriding middle C in octavation brackets.
currentMusicalColumn(layout object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
Ottava_spanner_engraver is part of the following context(s): GregorianTranscriptionStaff, MensuralStaff, Staff, TabStaff and VaticanaStaff.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Ottava_spanner_engraver ] | [ Up : Engravers and Performers ] | [ Page_turn_engraver > ] | ||
2.2.72 Output_property_engraver
Apply a procedure to any grob acknowledged.
Music types accepted:
Output_property_engraver is part of the following context(s): ChordNames, CueVoice, DrumStaff, DrumVoice, FretBoards, GregorianTranscriptionStaff, GregorianTranscriptionVoice, MensuralStaff, MensuralVoice, RhythmicStaff, Score, Staff, StaffGroup, TabStaff, TabVoice, VaticanaStaff, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Output_property_engraver ] | [ Up : Engravers and Performers ] | [ Paper_column_engraver > ] | ||
2.2.73 Page_turn_engraver
Decide where page turns are allowed to go.
Music types accepted:
Properties (read)
minimumPageTurnLength(moment)Minimum length of a rest for a page turn to be allowed.
minimumRepeatLengthForPageTurn(moment)Minimum length of a repeated section for a page turn to be allowed within that section.
Page_turn_engraver is not part of any context.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Page_turn_engraver ] | [ Up : Engravers and Performers ] | [ Parenthesis_engraver > ] | ||
2.2.74 Paper_column_engraver
Take care of generating columns.
This engraver decides whether a column is breakable. The default is that a column is always breakable. However, every Bar_engraver that does not have a barline at a certain point will set forbidBreaks in the score context to stop line breaks. In practice, this means that you can make a break point by creating a bar line (assuming that there are no beams or notes that prevent a break point).
Music types accepted:
Properties (read)
forbidBreak(boolean)If set to
##t, prevent a line break at this point.
Properties (write)
forbidBreak(boolean)If set to
##t, prevent a line break at this point.currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
currentMusicalColumn(layout object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
NonMusicalPaperColumn and PaperColumn.
Paper_column_engraver is part of the following context(s): Score.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Paper_column_engraver ] | [ Up : Engravers and Performers ] | [ Part_combine_engraver > ] | ||
2.2.75 Parenthesis_engraver
Parenthesize objects whose music cause has the parenthesize property.
This engraver creates the following layout object(s):
Parenthesis_engraver is part of the following context(s): Score.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Parenthesis_engraver ] | [ Up : Engravers and Performers ] | [ Percent_repeat_engraver > ] | ||
2.2.76 Part_combine_engraver
Part combine engraver for orchestral scores: Print markings ‘a2’, ‘Solo’, ‘Solo II’, and ‘unisono’.
Music types accepted:
Properties (read)
printPartCombineTexts(boolean)Set ‘Solo’ and ‘A due’ texts in the part combiner?
soloText(markup)The text for the start of a solo when part-combining.
soloIIText(markup)The text for the start of a solo for voice ‘two’ when part-combining.
aDueText(markup)Text to print at a unisono passage.
This engraver creates the following layout object(s):
Part_combine_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, MensuralVoice, TabVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Part_combine_engraver ] | [ Up : Engravers and Performers ] | [ Phrasing_slur_engraver > ] | ||
2.2.77 Percent_repeat_engraver
Make whole bar and double bar repeats.
Music types accepted:
Properties (read)
countPercentRepeats(boolean)If set, produce counters for percent repeats.
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
measureLength(moment)Length of one measure in the current time signature.
repeatCountVisibility(procedure)A procedure taking as arguments an integer and context, returning whether the corresponding percent repeat number should be printed when
countPercentRepeatsis set.
Properties (write)
forbidBreak(boolean)If set to
##t, prevent a line break at this point.
This engraver creates the following layout object(s):
DoublePercentRepeat, DoublePercentRepeatCounter, PercentRepeat and PercentRepeatCounter.
Percent_repeat_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, MensuralVoice, TabVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Percent_repeat_engraver ] | [ Up : Engravers and Performers ] | [ Piano_pedal_align_engraver > ] | ||
2.2.78 Phrasing_slur_engraver
Print phrasing slurs. Similar to Slur_engraver.
Music types accepted:
This engraver creates the following layout object(s):
Phrasing_slur_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, MensuralVoice, TabVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Phrasing_slur_engraver ] | [ Up : Engravers and Performers ] | [ Piano_pedal_engraver > ] | ||
2.2.79 Piano_pedal_align_engraver
Align piano pedal symbols and brackets.
Properties (read)
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
This engraver creates the following layout object(s):
SostenutoPedalLineSpanner, SustainPedalLineSpanner and UnaCordaPedalLineSpanner.
Piano_pedal_align_engraver is part of the following context(s): DrumStaff, GregorianTranscriptionStaff, MensuralStaff, Staff, TabStaff and VaticanaStaff.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Piano_pedal_align_engraver ] | [ Up : Engravers and Performers ] | [ Piano_pedal_performer > ] | ||
2.2.80 Piano_pedal_engraver
Engrave piano pedal symbols and brackets.
Music types accepted:
una-corda-event, sustain-event and sostenuto-event
Properties (read)
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
pedalSostenutoStrings(list)See
pedalSustainStrings.pedalSostenutoStyle(symbol)See
pedalSustainStyle.pedalSustainStrings(list)A list of strings to print for sustain-pedal. Format is
(up updown down), where each of the three is the string to print when this is done with the pedal.pedalSustainStyle(symbol)A symbol that indicates how to print sustain pedals:
text,bracketormixed(both).pedalUnaCordaStrings(list)See
pedalSustainStrings.pedalUnaCordaStyle(symbol)See
pedalSustainStyle.
This engraver creates the following layout object(s):
PianoPedalBracket, SostenutoPedal, SustainPedal and UnaCordaPedal.
Piano_pedal_engraver is part of the following context(s): GregorianTranscriptionStaff, MensuralStaff, Staff, TabStaff and VaticanaStaff.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Piano_pedal_engraver ] | [ Up : Engravers and Performers ] | [ Pitch_squash_engraver > ] | ||
2.2.81 Piano_pedal_performer
Music types accepted:
una-corda-event, sustain-event and sostenuto-event
Piano_pedal_performer is not part of any context.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Piano_pedal_performer ] | [ Up : Engravers and Performers ] | [ Pitched_trill_engraver > ] | ||
2.2.82 Pitch_squash_engraver
Set the vertical position of note heads to squashedPosition, if that property is set. This can be used to make a single-line staff demonstrating the rhythm of a melody.
Properties (read)
squashedPosition(integer)Vertical position of squashing for Pitch_squash_engraver.
Pitch_squash_engraver is part of the following context(s): RhythmicStaff.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Pitch_squash_engraver ] | [ Up : Engravers and Performers ] | [ Repeat_acknowledge_engraver > ] | ||
2.2.83 Pitched_trill_engraver
Print the bracketed note head after a note head with trill.
This engraver creates the following layout object(s):
TrillPitchAccidental, TrillPitchGroup and TrillPitchHead.
Pitched_trill_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, MensuralVoice, TabVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Pitched_trill_engraver ] | [ Up : Engravers and Performers ] | [ Repeat_tie_engraver > ] | ||
2.2.84 Repeat_acknowledge_engraver
Acknowledge repeated music, and convert the contents of repeatCommands into an appropriate setting for whichBar.
Properties (read)
doubleRepeatType(string)Set the default bar line for double repeats.
repeatCommands(list)This property is a list of commands of the form
(list 'volta x), where x is a string or#f.'end-repeatis also accepted as a command.whichBar(string)This property is read to determine what type of bar line to create.
Example:
\set Staff.whichBar = "|:"This will create a start-repeat bar in this staff only. Valid values are described in bar-line-interface.
Repeat_acknowledge_engraver is part of the following context(s): Score.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Repeat_acknowledge_engraver ] | [ Up : Engravers and Performers ] | [ Rest_collision_engraver > ] | ||
2.2.85 Repeat_tie_engraver
Create repeat ties.
Music types accepted:
This engraver creates the following layout object(s):
RepeatTie and RepeatTieColumn.
Repeat_tie_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, MensuralVoice, TabVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Repeat_tie_engraver ] | [ Up : Engravers and Performers ] | [ Rest_engraver > ] | ||
2.2.86 Rest_collision_engraver
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, MensuralStaff, Staff, TabStaff and VaticanaStaff.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Rest_collision_engraver ] | [ Up : Engravers and Performers ] | [ Rest_swallow_translator > ] | ||
2.2.87 Rest_engraver
Engrave rests.
Music types accepted:
Properties (read)
middleCPosition(number)The place of the middle C, measured in half staff-spaces. Usually determined by looking at
middleCClefPositionandmiddleCOffset.
This engraver creates the following layout object(s):
Rest.
Rest_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, MensuralVoice, TabVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Rest_engraver ] | [ Up : Engravers and Performers ] | [ Rhythmic_column_engraver > ] | ||
2.2.88 Rest_swallow_translator
Swallow rest.
Rest_swallow_translator is part of the following context(s): ChordNames and NoteNames.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Rest_swallow_translator ] | [ Up : Engravers and Performers ] | [ Script_column_engraver > ] | ||
2.2.89 Rhythmic_column_engraver
Generate NoteColumn, an object that groups stems, note heads, and rests.
This engraver creates the following layout object(s):
Rhythmic_column_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, MensuralVoice, TabVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Rhythmic_column_engraver ] | [ Up : Engravers and Performers ] | [ Script_engraver > ] | ||
2.2.90 Script_column_engraver
Find potentially colliding scripts and put them into a ScriptColumn object; that will fix the collisions.
This engraver creates the following layout object(s):
Script_column_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, MensuralVoice, TabVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Script_column_engraver ] | [ Up : Engravers and Performers ] | [ Script_row_engraver > ] | ||
2.2.91 Script_engraver
Handle note scripted articulations.
Music types accepted:
Properties (read)
scriptDefinitions(list)The description of scripts. This is used by the
Script_engraverfor typesetting note-superscripts and subscripts. See ‘scm/script.scm’ for more information.
This engraver creates the following layout object(s):
Script_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, MensuralVoice, TabVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Script_engraver ] | [ Up : Engravers and Performers ] | [ Separating_line_group_engraver > ] | ||
2.2.92 Script_row_engraver
Determine order in horizontal side position elements.
This engraver creates the following layout object(s):
Script_row_engraver is part of the following context(s): DrumStaff, GregorianTranscriptionStaff, MensuralStaff, Staff, TabStaff and VaticanaStaff.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Script_row_engraver ] | [ Up : Engravers and Performers ] | [ Skip_event_swallow_translator > ] | ||
2.2.93 Separating_line_group_engraver
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, MensuralStaff, NoteNames, RhythmicStaff, Staff, TabStaff and VaticanaStaff.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Separating_line_group_engraver ] | [ Up : Engravers and Performers ] | [ Slash_repeat_engraver > ] | ||
2.2.94 Skip_event_swallow_translator
Swallow \skip.
Skip_event_swallow_translator is part of the following context(s): ChordNames, CueVoice, DrumVoice, FiguredBass, GregorianTranscriptionVoice, Lyrics, MensuralVoice, NoteNames, TabVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Skip_event_swallow_translator ] | [ Up : Engravers and Performers ] | [ Slur_engraver > ] | ||
2.2.95 Slash_repeat_engraver
Make beat repeats.
Music types accepted:
Properties (read)
measureLength(moment)Length of one measure in the current time signature.
This engraver creates the following layout object(s):
Slash_repeat_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, MensuralVoice, TabVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Slash_repeat_engraver ] | [ Up : Engravers and Performers ] | [ Slur_performer > ] | ||
2.2.96 Slur_engraver
Build slur grobs from slur events.
Music types accepted:
Properties (read)
slurMelismaBusy(boolean)Signal if a slur is present.
doubleSlurs(boolean)If set, two slurs are created for every slurred note, one above and one below the chord.
This engraver creates the following layout object(s):
Slur.
Slur_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, TabVoice and Voice.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Slur_engraver ] | [ Up : Engravers and Performers ] | [ Spacing_engraver > ] | ||
2.2.97 Slur_performer
Music types accepted:
Slur_performer is not part of any context.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Slur_performer ] | [ Up : Engravers and Performers ] | [ Span_arpeggio_engraver > ] | ||
2.2.98 Spacing_engraver
Make a SpacingSpanner and do bookkeeping of shortest starting and playing notes.
Music types accepted:
Properties (read)
currentMusicalColumn(layout object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
proportionalNotationDuration(moment)Global override for shortest-playing duration. This is used for switching on proportional notation.
This engraver creates the following layout object(s):
Spacing_engraver is part of the following context(s): Score.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Spacing_engraver ] | [ Up : Engravers and Performers ] | [ Span_bar_engraver > ] | ||
2.2.99 Span_arpeggio_engraver
Make arpeggios that span multiple staves.
Properties (read)
connectArpeggios(boolean)If set, connect arpeggios across piano staff.
This engraver creates the following layout object(s):
Span_arpeggio_engraver is part of the following context(s): GrandStaff, PianoStaff and StaffGroup.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Span_arpeggio_engraver ] | [ Up : Engravers and Performers ] | [ Spanner_break_forbid_engraver > ] | ||
2.2.100 Span_bar_engraver
Make cross-staff bar lines: It catches all normal bar lines and draws a single span bar across them.
This engraver creates the following layout object(s):
Span_bar_engraver is part of the following context(s): GrandStaff, PianoStaff and StaffGroup.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Span_bar_engraver ] | [ Up : Engravers and Performers ] | [ Staff_collecting_engraver > ] | ||
2.2.101 Spanner_break_forbid_engraver
Forbid breaks in certain spanners.
Spanner_break_forbid_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, MensuralVoice, TabVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Spanner_break_forbid_engraver ] | [ Up : Engravers and Performers ] | [ Staff_performer > ] | ||
2.2.102 Staff_collecting_engraver
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, MensuralStaff, Score, Staff, TabStaff and VaticanaStaff.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Staff_collecting_engraver ] | [ Up : Engravers and Performers ] | [ Staff_symbol_engraver > ] | ||
2.2.103 Staff_performer
Staff_performer is not part of any context.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Staff_performer ] | [ Up : Engravers and Performers ] | [ Stanza_number_align_engraver > ] | ||
2.2.104 Staff_symbol_engraver
Create the constellation of five (default) staff lines.
Music types accepted:
This engraver creates the following layout object(s):
Staff_symbol_engraver is part of the following context(s): DrumStaff, GregorianTranscriptionStaff, MensuralStaff, RhythmicStaff, Staff, TabStaff and VaticanaStaff.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Staff_symbol_engraver ] | [ Up : Engravers and Performers ] | [ Stanza_number_engraver > ] | ||
2.2.105 Stanza_number_align_engraver
This engraver ensures that stanza numbers are neatly aligned.
Stanza_number_align_engraver is part of the following context(s): Score.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Stanza_number_align_engraver ] | [ Up : Engravers and Performers ] | [ Stem_engraver > ] | ||
2.2.106 Stanza_number_engraver
Engrave stanza numbers.
Properties (read)
stanza(markup)Stanza ‘number’ to print before the start of a verse. Use in
Lyricscontext.
This engraver creates the following layout object(s):
Stanza_number_engraver is part of the following context(s): Lyrics.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Stanza_number_engraver ] | [ Up : Engravers and Performers ] | [ String_number_engraver > ] | ||
2.2.107 Stem_engraver
Create stems and single-stem tremolos. It also works together with the beam engraver for overriding beaming.
Music types accepted:
Properties (read)
tremoloFlags(integer)The number of tremolo flags to add if no number is specified.
stemLeftBeamCount(integer)Specify the number of beams to draw on the left side of the next note. Overrides automatic beaming. The value is only used once, and then it is erased.
stemRightBeamCount(integer)See
stemLeftBeamCount.
This engraver creates the following layout object(s):
Stem and StemTremolo.
Stem_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, MensuralVoice, TabVoice and Voice.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Stem_engraver ] | [ Up : Engravers and Performers ] | [ Swallow_engraver > ] | ||
2.2.108 String_number_engraver
Swallow string number events. The purpose of this engraver is to process tablatures for normal notation. To provent warnings for unprocessed string number events to obscure real error messages, this engraver swallows them all.
String_number_engraver is part of the following context(s): GregorianTranscriptionStaff, MensuralStaff, Staff and VaticanaStaff.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < String_number_engraver ] | [ Up : Engravers and Performers ] | [ Swallow_performer > ] | ||
2.2.109 Swallow_engraver
This engraver swallows everything given to it silently. The purpose of this is to prevent spurious ‘event junked’ warnings.
Swallow_engraver is part of the following context(s): Devnull.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Swallow_engraver ] | [ Up : Engravers and Performers ] | [ System_start_delimiter_engraver > ] | ||
2.2.110 Swallow_performer
Swallow_performer is not part of any context.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Swallow_performer ] | [ Up : Engravers and Performers ] | [ Tab_harmonic_engraver > ] | ||
2.2.111 System_start_delimiter_engraver
Create a system start delimiter (i.e., a SystemStartBar, SystemStartBrace, SystemStartBracket or SystemStartSquare spanner).
Properties (read)
systemStartDelimiter(symbol)Which grob to make for the start of the system/staff? Set to
SystemStartBrace,SystemStartBracketorSystemStartBar.systemStartDelimiterHierarchy(pair)A nested list, indicating the nesting of a start delimiters.
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
This engraver creates the following layout object(s):
SystemStartBar, SystemStartBrace, SystemStartBracket and SystemStartSquare.
System_start_delimiter_engraver is part of the following context(s): ChoirStaff, GrandStaff, PianoStaff, Score and StaffGroup.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < System_start_delimiter_engraver ] | [ Up : Engravers and Performers ] | [ Tab_note_heads_engraver > ] | ||
2.2.112 Tab_harmonic_engraver
In a tablature, parenthesize objects whose music cause has the parenthesize property.
This engraver creates the following layout object(s):
Tab_harmonic_engraver is part of the following context(s): TabVoice.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Tab_harmonic_engraver ] | [ Up : Engravers and Performers ] | [ Tab_staff_symbol_engraver > ] | ||
2.2.113 Tab_note_heads_engraver
Generate one or more tablature noteheads from event of type NoteEvent.
Music types accepted:
string-number-event and note-event
Properties (read)
middleCPosition(number)The place of the middle C, measured in half staff-spaces. Usually determined by looking at
middleCClefPositionandmiddleCOffset.stringTunings(list)The tablature strings tuning. It is a list of the pitch (in semitones) of each string (starting with the lower one).
minimumFret(number)The tablature auto string-selecting mechanism selects the highest string with a fret at least
minimumFret.tablatureFormat(procedure)A function formatting a tablature note head. Called with three arguments: string number, context and event. It returns the text as a string.
highStringOne(boolean)Whether the first string is the string with highest pitch on the instrument. This used by the automatic string selector for tablature notation.
stringOneTopmost(boolean)Whether the first string is printed on the top line of the tablature.
This engraver creates the following layout object(s):
Tab_note_heads_engraver is part of the following context(s): TabVoice.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Tab_note_heads_engraver ] | [ Up : Engravers and Performers ] | [ Tempo_performer > ] | ||
2.2.114 Tab_staff_symbol_engraver
Create a tablature staff symbol, but look at stringTunings for the number of lines.
Properties (read)
stringTunings(list)The tablature strings tuning. It is a list of the pitch (in semitones) of each string (starting with the lower one).
This engraver creates the following layout object(s):
Tab_staff_symbol_engraver is part of the following context(s): TabStaff.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Tab_staff_symbol_engraver ] | [ Up : Engravers and Performers ] | [ Text_engraver > ] | ||
2.2.115 Tempo_performer
Properties (read)
tempoWholesPerMinute(moment)The tempo in whole notes per minute.
Tempo_performer is not part of any context.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Tempo_performer ] | [ Up : Engravers and Performers ] | [ Text_spanner_engraver > ] | ||
2.2.116 Text_engraver
Create text scripts.
Music types accepted:
This engraver creates the following layout object(s):
Text_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, MensuralVoice, TabVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Text_engraver ] | [ Up : Engravers and Performers ] | [ Tie_engraver > ] | ||
2.2.117 Text_spanner_engraver
Create text spanner from an event.
Music types accepted:
This engraver creates the following layout object(s):
Text_spanner_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, MensuralVoice, TabVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Text_spanner_engraver ] | [ Up : Engravers and Performers ] | [ Tie_performer > ] | ||
2.2.118 Tie_engraver
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.
This engraver creates the following layout object(s):
Tie_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, MensuralVoice, NoteNames, TabVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Tie_engraver ] | [ Up : Engravers and Performers ] | [ Time_signature_engraver > ] | ||
2.2.119 Tie_performer
Generate ties between note heads of equal pitch.
Music types accepted:
Properties (read)
tieMelismaBusy(boolean)Signal whether a tie is present.
Tie_performer is not part of any context.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Tie_performer ] | [ Up : Engravers and Performers ] | [ Time_signature_performer > ] | ||
2.2.120 Time_signature_engraver
Create a TimeSignature whenever timeSignatureFraction changes.
Properties (read)
implicitTimeSignatureVisibility(vector)break visibility for the default time signature.
timeSignatureFraction(pair of numbers)A pair of numbers, signifying the time signature. For example,
#'(4 . 4)is a 4/4 time signature.
This engraver creates the following layout object(s):
Time_signature_engraver is part of the following context(s): DrumStaff, GregorianTranscriptionStaff, MensuralStaff, RhythmicStaff, Staff and TabStaff.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Time_signature_engraver ] | [ Up : Engravers and Performers ] | [ Timing_translator > ] | ||
2.2.121 Time_signature_performer
Time_signature_performer is not part of any context.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Time_signature_performer ] | [ Up : Engravers and Performers ] | [ Translator > ] | ||
2.2.122 Timing_translator
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)
internalBarNumber(integer)Contains the current barnumber. This property is used for internal timekeeping, among others by the
Accidental_engraver.currentBarNumber(integer)Contains the current barnumber. This property is incremented at every bar line.
measureLength(moment)Length of one measure in the current time signature.
measurePosition(moment)How much of the current measure have we had. This can be set manually to create incomplete measures.
Properties (write)
internalBarNumber(integer)Contains the current barnumber. This property is used for internal timekeeping, among others by the
Accidental_engraver.currentBarNumber(integer)Contains the current barnumber. This property is incremented at every bar line.
measurePosition(moment)How much of the current measure have we had. This can be set manually to create incomplete measures.
Timing_translator is part of the following context(s): Score.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Timing_translator ] | [ Up : Engravers and Performers ] | [ Trill_spanner_engraver > ] | ||
2.2.123 Translator
Base class. Not instantiated.
Translator is not part of any context.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Translator ] | [ Up : Engravers and Performers ] | [ Tuplet_engraver > ] | ||
2.2.124 Trill_spanner_engraver
Create trill spanner from an event.
Music types accepted:
Properties (read)
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
currentMusicalColumn(layout object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
Trill_spanner_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, MensuralVoice, TabVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Trill_spanner_engraver ] | [ Up : Engravers and Performers ] | [ Tweak_engraver > ] | ||
2.2.125 Tuplet_engraver
Catch tuplet events and generate appropriate bracket.
Music types accepted:
Properties (read)
tupletFullLength(boolean)If set, the tuplet is printed up to the start of the next note.
tupletFullLengthNote(boolean)If set, end at the next note, otherwise end on the matter (time signatures, etc.) before the note.
This engraver creates the following layout object(s):
TupletBracket and TupletNumber.
Tuplet_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, MensuralVoice, TabVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Tuplet_engraver ] | [ Up : Engravers and Performers ] | [ Vaticana_ligature_engraver > ] | ||
2.2.126 Tweak_engraver
Read the tweaks property from the originating event, and set properties.
Tweak_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, MensuralVoice, TabVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Tweak_engraver ] | [ Up : Engravers and Performers ] | [ Vertical_align_engraver > ] | ||
2.2.127 Vaticana_ligature_engraver
Handle ligatures by glueing special ligature heads together.
Music types accepted:
ligature-event and pes-or-flexa-event
This engraver creates the following layout object(s):
DotColumn and VaticanaLigature.
Vaticana_ligature_engraver is part of the following context(s): VaticanaVoice.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Vaticana_ligature_engraver ] | [ Up : Engravers and Performers ] | [ Vertically_spaced_contexts_engraver > ] | ||
2.2.128 Vertical_align_engraver
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.
This engraver creates the following layout object(s):
Vertical_align_engraver is part of the following context(s): Score.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Vertical_align_engraver ] | [ Up : Engravers and Performers ] | [ Volta_engraver > ] | ||
2.2.129 Vertically_spaced_contexts_engraver
Properties (read)
verticallySpacedContexts(list)List of symbols, containing context names whose vertical axis groups should be taken into account for vertical spacing of systems.
Properties (write)
verticallySpacedContexts(list)List of symbols, containing context names whose vertical axis groups should be taken into account for vertical spacing of systems.
Vertically_spaced_contexts_engraver is part of the following context(s): Score.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Vertically_spaced_contexts_engraver ] | [ Up : Engravers and Performers ] | [ Tunable context properties > ] | ||
2.2.130 Volta_engraver
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.voltaSpannerDuration(moment)This specifies the maximum duration to use for the brackets printed for
\alternative. This can be used to shrink the length of brackets in the situation where one alternative is very large.stavesFound(list of grobs)A list of all staff-symbols found.
This engraver creates the following layout object(s):
VoltaBracket and VoltaBracketSpanner.
Volta_engraver is part of the following context(s): Score.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Volta_engraver ] | [ Up : Translation ] | [ Internal context properties > ] | ||
2.3 Tunable context properties
-
aDueText(markup) Text to print at a unisono passage.
-
alignAboveContext(string) Where to insert newly created context in vertical alignment.
-
alignBassFigureAccidentals(boolean) If true, then the accidentals are aligned in bass figure context.
-
alignBelowContext(string) Where to insert newly created context in vertical alignment.
-
associatedVoice(string) Name of the
Voicethat has the melody for thisLyricsline.-
autoAccidentals(list) List of different ways to typeset an accidental.
For determining when to print an accidental, several different rules are tried. The rule that gives the highest number of accidentals is used.
Each entry in the list is either a symbol or a procedure.
- symbol
The symbol is the name of the context in which the following rules are to be applied. For example, if context is Score then all staves share accidentals, and if context is Staff then all voices in the same staff share accidentals, but staves do not.
- procedure
The procedure represents an accidental rule to be applied to the previously specified context.
The procedure takes the following arguments:
-
context The current context to which the rule should be applied.
-
pitch The pitch of the note to be evaluated.
-
barnum The current bar number.
-
measurepos The current measure position.
The procedure returns a pair of booleans. The first states whether an extra natural should be added. The second states whether an accidental should be printed.
(#t . #f)does not make sense.-
-
autoBeamCheck(procedure) A procedure taking three arguments, context, dir [start/stop (-1 or 1)], and test [shortest note in the beam]. A non-
#freturn value starts or stops the auto beam.-
autoBeamSettings(list) Specifies when automatically generated beams should begin and end. See behavior Setting automatic beam behavior for more information.
-
autoBeaming(boolean) If set to true then beams are generated automatically.
-
autoCautionaries(list) List similar to
autoAccidentals, but it controls cautionary accidentals rather than normal ones. Both lists are tried, and the one giving the most accidentals wins. In case of draw, a normal accidental is typeset.-
automaticBars(boolean) If set to 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.
-
barCheckSynchronize(boolean) If true then reset
measurePositionwhen finding a bar check.-
barNumberVisibility(procedure) A Procedure that takes an integer and returns whether the corresponding bar number should be printed.
-
bassFigureFormatFunction(procedure) A procedure that is called to produce the formatting for a
BassFiguregrob. It takes a list ofBassFigureEvents, a context, and the grob to format.-
bassStaffProperties(list) An alist of property settings to apply for the down staff of
PianoStaff. Used by\autochange.-
beatGrouping(list) A list of beatgroups, e.g., in 5/8 time
'(2 3).-
beatLength(moment) The length of one beat in this time signature.
-
chordChanges(boolean) Only show changes in chords scheme?
-
chordNameExceptions(list) An alist of chord exceptions. Contains
(chord . markup)entries.-
chordNameExceptionsFull(list) An alist of full chord exceptions. Contains
(chord . markup)entries.-
chordNameExceptionsPartial(list) An alist of partial chord exceptions. Contains
(chord . (prefix-markup suffix-markup))entries.-
chordNameFunction(procedure) The function that converts lists of pitches to chord names.
-
chordNameSeparator(markup) The markup object used to separate parts of a chord name.
-
chordNoteNamer(procedure) 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.
-
clefOctavation(integer) Add this much extra octavation. Values of 7 and -7 are common.
-
clefPosition(number) Where should the center of the clef symbol go, measured in half staff spaces from the center of the staff.
-
completionBusy(boolean) Whether a completion-note head is playing.
-
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
StaffSpacingobjects? 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.’.
-
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
whichBarfor information on available bar types.This variable is read by Timing_translator at Score level.
-
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’, ‘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.-
explicitClefVisibility(vector) ‘break-visibility’ function for clef changes.
-
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.-
extendersOverRests(boolean) Whether to continue extenders as they cross a rest.
-
extraNatural(boolean) Whether to typeset an extra natural sign before accidentals changing from a non-natural to another non-natural.
-
figuredBassAlterationDirection(direction) Where to put alterations relative to the main figure.
-
figuredBassCenterContinuations(boolean) Whether to vertically center pairs of extender lines. This does not work with three or more lines.
-
figuredBassFormatter(procedure) 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.
-
gridInterval(moment) Interval for which to generate
GridPoints.-
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.
-
ignoreFiguredBassRest(boolean) Don’t swallow rest events.
-
ignoreMelismata(boolean) Ignore melismata for this Lyrics line.
-
implicitBassFigures(list) A list of bass figures that are not printed as numbers, but only as extender lines.
-
implicitTimeSignatureVisibility(vector) break visibility for the default 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
instrumentproperty labels the staff in the first system, and theinstrproperty labels following lines.-
instrumentTransposition(pitch) Define the transposition of the instrument. Its value is the pitch that sounds like 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-emptyset 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).-
keySignature(list) The current key signature. This is an alist containing
(step . alter)or((octave . step) . alter), where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.keySignature = #`((6 . ,FLAT)).-
lyricMelismaAlignment(direction) Alignment to use for a melisma syllable.
-
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 includemelismaBusy,slurMelismaBusy,tieMelismaBusy, andbeamMelismaBusy.-
metronomeMarkFormatter(procedure) How to produce a metronome markup. Called with four arguments: text, duration, count and context.
-
middleCClefPosition(number) The position of the middle C, as determined only by the clef. This can be calculated by looking at
clefPositionandclefGlyph.-
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.-
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.
-
minimumFret(number) The tablature auto string-selecting mechanism selects the highest string with a fret at least
minimumFret.-
minimumPageTurnLength(moment) Minimum length of a rest for a page turn to be allowed.
-
minimumRepeatLengthForPageTurn(moment) Minimum length of a repeated section for a page turn to be allowed within that section.
-
noteToFretFunction(procedure) How to produce a fret diagram. Parameters: A list of note events and a list of tabstring events.
-
ottavation(markup) If set, the text for an ottava spanner. Changing this creates a new text spanner.
-
output(unknown) The output produced by a score-level translator during music interpretation.
-
pedalSostenutoStrings(list) See
pedalSustainStrings.-
pedalSostenutoStyle(symbol) See
pedalSustainStyle.-
pedalSustainStrings(list) 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.-
predefinedDiagramTable(hash table) The hash table of predefined fret diagrams to use in FretBoards.
-
printKeyCancellation(boolean) Print restoration alterations before a key signature change.
-
printOctaveNames(boolean) Print octave marks for the
NoteNamescontext.-
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.
-
recordEventSequence(procedure) When
Recording_group_engraveris in this context, then upon termination of the context, this function is called with current context and a list of music objects. The list of contains entries with start times, music objects and whether they are processed in this context.-
rehearsalMark(integer) The last rehearsal mark printed.
-
repeatCommands(list) This property is a list of commands of the form
(list 'volta x), where x is a string or#f.'end-repeatis 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
countPercentRepeatsis set.-
restNumberThreshold(number) If a multimeasure rest has more measures than this, a number is printed.
-
shapeNoteStyles(vector) Vector of symbols, listing style for each note head relative to the tonic (qv.) of the scale.
-
shortInstrumentName(markup) See
instrument.-
shortVocalName(markup) Name of a vocal line, short version.
-
skipBars(boolean) If set to true, then skip the empty bars that are produced by multimeasure notes and rests. These bars will not appear on the printed output. If not set (the default), multimeasure notes and rests expand into their full length, printing the appropriate number of empty bars so that synchronization with other voices is preserved.
{ r1 r1*3 R1*3 \set Score.skipBars= ##t r1*3 R1*3 }-
skipTypesetting(boolean) If true, no typesetting is done, speeding up the interpretation phase. Useful for debugging large scores.
-
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 Pitch_squash_engraver.
-
staffLineLayoutFunction(procedure) Layout of staff lines,
traditional, orsemitone.-
stanza(markup) Stanza ‘number’ to print before the start of a verse. Use in
Lyricscontext.-
stemLeftBeamCount(integer) Specify the number of beams to draw on the left side of the next note. Overrides automatic beaming. The value is only used once, and then it is erased.
-
stemRightBeamCount(integer) See
stemLeftBeamCount.-
stringNumberOrientations(list) See
fingeringOrientations.-
stringOneTopmost(boolean) Whether the first string is printed on the top line of the tablature.
-
stringTunings(list) The tablature strings tuning. It is a list of the pitch (in semitones) of each string (starting with the lower one).
-
strokeFingerOrientations(list) See
fingeringOrientations.-
subdivideBeams(boolean) If set, multiple beams will be subdivided at beat positions by only drawing one beam over the beat.
-
suggestAccidentals(boolean) If set, accidentals are typeset as cautionary suggestions over the note.
-
systemStartDelimiter(symbol) Which grob to make for the start of the system/staff? Set to
SystemStartBrace,SystemStartBracketorSystemStartBar.-
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: string number, context and event. It returns the text as a string.
-
tempoHideNote(boolean) Hide the note=count in tempo marks.
-
tempoText(markup) Text for tempo marks.
-
tempoUnitCount(number) Count for specifying tempo.
-
tempoUnitDuration(duration) Unit for specifying tempo.
-
tempoWholesPerMinute(moment) The tempo in whole notes per minute.
-
tieWaitForNote(boolean) If true, tied notes do not have to follow each other directly. This can be used for writing out arpeggios.
-
timeSignatureFraction(pair of numbers) A pair of numbers, signifying the time signature. For example,
#'(4 . 4)is a 4/4 time signature.-
timing(boolean) Keep administration of measure length, position, bar number, etc.? Switch off for cadenzas.
-
tonic(pitch) The tonic of the current scale.
-
trebleStaffProperties(list) An alist of property settings to apply for the up staff of
PianoStaff. Used by\autochange.-
tremoloFlags(integer) The number of tremolo flags to add if no number is specified.
-
tupletFullLength(boolean) If set, the tuplet is printed up to the start of the next note.
-
tupletFullLengthNote(boolean) If set, end at the next note, otherwise end on the matter (time signatures, etc.) before the note.
-
tupletSpannerDuration(moment) Normally, a tuplet bracket is as wide as the
\timesexpression 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.
-
verticallySpacedContexts(list) List of symbols, containing context names whose vertical axis groups should be taken into account for vertical spacing of systems.
-
vocalName(markup) Name of a vocal line.
-
voltaSpannerDuration(moment) This specifies the maximum duration to use for the brackets printed for
\alternative. This can be used to shrink the length of brackets in the situation where one alternative is very large.-
whichBar(string) This property is read to determine what type of bar line to create.
Example:
\set Staff.whichBar = "|:"
This will create a start-repeat bar in this staff only. Valid values are described in bar-line-interface.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < Tunable context properties ] | [ Up : Translation ] | [ Backend > ] | ||
2.4 Internal context properties
-
associatedVoiceContext(context) The context object of the
Voicethat has the melody for thisLyrics.-
barCheckLastFail(moment) Where in the measure did the last barcheck fail?
-
beamMelismaBusy(boolean) Signal if a beam is present.
-
breakableSeparationItem(layout object) The breakable items in this time step, for this staff.
-
busyGrobs(list) A queue of
(end-moment . GROB)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).-
currentCommandColumn(layout object) Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
-
currentMusicalColumn(layout object) Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
-
dynamicAbsoluteVolumeFunction(procedure) [DOCUMENT-ME]
-
finalizations(list) 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-propertyfunction.-
hasStaffSpacing(boolean) True if the current
CommandColumncontains items that will affect spacing.-
instrumentSupport(list of grobs) A list of grobs to attach the instrument name to.
-
lastKeySignature(list) Last key signature before a key signature change.
-
localKeySignature(list) The key signature at this point in the measure. The format is the same as for
keySignature, but can also contain((octave . name) . (alter barnumber . measureposition))pairs.-
melismaBusy(boolean) Signifies whether a melisma is active. This can be used to signal melismas on top of those automatically detected.
-
originalMiddleCPosition(integer) Used for temporary overriding middle C in octavation brackets.
-
quotedEventTypes(list) A list of symbols, representing the event types that should be duplicated for
\quotecommands.-
rootSystem(layout object) The System object.
-
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.-
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.
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < Internal context properties ] | [ Up : Top ] | [ All layout objects > ] | ||
3. Backend
| 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. |
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < Backend ] | [ Up : Backend ] | [ Accidental > ] | ||
3.1 All layout objects
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < All layout objects ] | [ Up : All layout objects ] | [ AccidentalCautionary > ] | ||
3.1.1 Accidental
Accidental objects are created by: Accidental_engraver.
Standard settings:
avoid-slur(symbol):
'insideMethod of handling slur collisions. Choices are
around,inside,outside. If unset, scripts and slurs ignore each other.aroundonly moves the script if there is a collision;outsidealways moves the script.glyph-name-alist(list):
'((0 . accidentals.natural) (-1/2 . accidentals.flat) (1/2 . accidentals.sharp) (1 . accidentals.doublesharp) (-1 . accidentals.flatflat) (3/4 . accidentals.sharp.slashslash.stemstemstem) (1/4 . accidentals.sharp.slashslash.stem) (-1/4 . accidentals.mirroredflat) (-3/4 . accidentals.mirroredflat.flat))An alist of key-string pairs.
alteration(number):
accidental-interface::calc-alterationAlteration numbers for accidental.
stencil(unknown):
ly:accidental-interface::printThe symbol to print.
Y-extent(pair of numbers):
ly:accidental-interface::heightHard coded extent in Y direction.
X-extent(pair of numbers):
ly:accidental-interface::widthHard coded extent in X direction.
This object supports the following interface(s): item-interface, font-interface, accidental-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < Accidental ] | [ Up : All layout objects ] | [ AccidentalPlacement > ] | ||
3.1.2 AccidentalCautionary
AccidentalCautionary objects are created by: Accidental_engraver.
Standard settings:
avoid-slur(symbol):
'insideMethod of handling slur collisions. Choices are
around,inside,outside. If unset, scripts and slurs ignore each other.aroundonly moves the script if there is a collision;outsidealways moves the script.parenthesized(boolean):
#tParenthesize this grob.
glyph-name-alist(list):
'((0 . accidentals.natural) (-1/2 . accidentals.flat) (1/2 . accidentals.sharp) (1 . accidentals.doublesharp) (-1 . accidentals.flatflat) (3/4 . accidentals.sharp.slashslash.stemstemstem) (1/4 . accidentals.sharp.slashslash.stem) (-1/4 . accidentals.mirroredflat) (-3/4 . accidentals.mirroredflat.flat))An alist of key-string pairs.
alteration(number):
accidental-interface::calc-alterationAlteration numbers for accidental.
stencil(unknown):
ly:accidental-interface::printThe symbol to print.
Y-extent(pair of numbers):
ly:accidental-interface::heightHard coded extent in Y direction.
This object supports the following interface(s): item-interface, font-interface, accidental-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < AccidentalCautionary ] | [ Up : All layout objects ] | [ AccidentalSuggestion > ] | ||
3.1.3 AccidentalPlacement
AccidentalPlacement objects are created by: Accidental_engraver and Ambitus_engraver.
Standard settings:
left-padding(dimension, in staff space):
0.2The amount of space that is put left to an object (e.g., a group of accidentals).
script-priority(number):
-100A sorting key that determines in what order a script is within a stack of scripts.
direction(direction):
-1If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.X-extent(pair of numbers):
ly:axis-group-interface::widthHard coded extent in X direction.
right-padding(dimension, in staff space):
0.15Space to insert on the right side of an object (e.g., between note and its accidentals).
This object supports the following interface(s): item-interface, accidental-placement-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < AccidentalPlacement ] | [ Up : All layout objects ] | [ Ambitus > ] | ||
3.1.4 AccidentalSuggestion
AccidentalSuggestion objects are created by: Accidental_engraver.
Standard settings:
stencil(unknown):
ly:accidental-interface::printThe symbol to print.
X-extent(pair of numbers):
ly:accidental-interface::widthHard coded extent in X direction.
Y-extent(pair of numbers):
ly:accidental-interface::heightHard coded extent in Y direction.
X-offset(number):
#<simple-closure (#<primitive-generic +> #<simple-closure (#<primitive-procedure ly:self-alignment-interface::centered-on-x-parent>) > #<simple-closure (#<primitive-procedure ly:self-alignment-interface::x-aligned-on-self>) >) >The horizontal amount that this object is moved relative to its X-parent.
self-alignment-X(number):
0Specify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified.font-size(number):
-2The font size, compared to the ‘normal’ size.
0is style-sheet’s normal size,-1is smaller,+1is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. Fractional values are allowed.glyph-name-alist(list):
'((0 . accidentals.natural) (-1/2 . accidentals.flat) (1/2 . accidentals.sharp) (1 . accidentals.doublesharp) (-1 . accidentals.flatflat) (3/4 . accidentals.sharp.slashslash.stemstemstem) (1/4 . accidentals.sharp.slashslash.stem) (-1/4 . accidentals.mirroredflat) (-3/4 . accidentals.mirroredflat.flat))An alist of key-string pairs.
alteration(number):
accidental-interface::calc-alterationAlteration numbers for accidental.
Y-offset(number):
ly:side-position-interface::y-aligned-sideThe vertical amount that this object is moved relative to its Y-parent.
direction(direction):
1If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.staff-padding(dimension, in staff space):
0.25Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
outside-staff-priority(number):
0If set, the grob is positioned outside the staff in such a way as to avoid all collisions. In case of a potential collision, the grob with the smaller
outside-staff-priorityis closer to the staff.script-priority(number):
0A sorting key that determines in what order a script is within a stack of scripts.
side-axis(number):
1If the value is
#X(or equivalently0), the object is placed horizontally next to the other object. If the value is#Yor1, it is placed vertically.
This object supports the following interface(s): side-position-interface, self-alignment-interface, script-interface, item-interface, font-interface, accidental-suggestion-interface, accidental-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < AccidentalSuggestion ] | [ Up : All layout objects ] | [ AmbitusAccidental > ] | ||
3.1.5 Ambitus
Ambitus objects are created by: Ambitus_engraver.
Standard settings:
axes(list):
'(0 1)List of axis numbers. In the case of alignment grobs, this should contain only one number.
X-extent(pair of numbers):
ly:axis-group-interface::widthHard coded extent in X direction.
Y-extent(pair of numbers):
ly:axis-group-interface::heightHard coded extent in Y direction.
space-alist(list):
'((clef extra-space . 0.5) (key-signature extra-space . 0.0) (staff-bar extra-space . 0.0) (time-signature extra-space . 0.0) (first-note fixed-space . 0.0))A table that specifies distances between prefatory items, like clef and time-signature. The format is an alist of spacing tuples:
(break-align-symbol type . distance), where type can be the symbolsminimum-spaceorextra-space.non-musical(boolean):
#tTrue if the grob belongs to a
NonMusicalPaperColumn.break-align-symbol(symbol):
'ambitusThis key is used for aligning and spacing breakable items.
break-visibility(vector):
#(#f #f #t)A vector of 3 booleans,
#(end-of-line unbroken begin-of-line).#tmeans visible,#fmeans killed.
This object supports the following interface(s): item-interface, break-aligned-interface, axis-group-interface, ambitus-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < Ambitus ] | [ Up : All layout objects ] | [ AmbitusLine > ] | ||
3.1.6 AmbitusAccidental
AmbitusAccidental objects are created by: Ambitus_engraver.
Standard settings:
font-family(symbol):
'musicThe font family is the broadest category for selecting text fonts. Options include:
sans,roman.padding(dimension, in staff space):
0.5Add this much extra space between objects that are next to each other.
X-offset(number):
ly:side-position-interface::x-aligned-sideThe horizontal amount that this object is moved relative to its X-parent.
direction(direction):
-1If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.stencil(unknown):
ly:accidental-interface::printThe symbol to print.
Y-extent(pair of numbers):
ly:accidental-interface::heightHard coded extent in Y direction.
glyph-name-alist(list):
'((0 . accidentals.natural) (-1/2 . accidentals.flat) (1/2 . accidentals.sharp) (1 . accidentals.doublesharp) (-1 . accidentals.flatflat) (3/4 . accidentals.sharp.slashslash.stemstemstem) (1/4 . accidentals.sharp.slashslash.stem) (-1/4 . accidentals.mirroredflat) (-3/4 . accidentals.mirroredflat.flat))An alist of key-string pairs.
side-axis(number):
0If the value is
#X(or equivalently0), the object is placed horizontally next to the other object. If the value is#Yor1, it is placed vertically.
This object supports the following interface(s): side-position-interface, item-interface, font-interface, break-aligned-interface, accidental-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < AmbitusAccidental ] | [ Up : All layout objects ] | [ AmbitusNoteHead > ] | ||
3.1.7 AmbitusLine
AmbitusLine objects are created by: Ambitus_engraver.
Standard settings:
stencil(unknown):
ly:ambitus::printThe symbol to print.
thickness(number):
2Line thickness, generally measured in
line-thickness.X-offset(number):
ly:self-alignment-interface::centered-on-x-parentThe horizontal amount that this object is moved relative to its X-parent.
This object supports the following interface(s): staff-symbol-referencer-interface, item-interface, font-interface, ambitus-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < AmbitusLine ] | [ Up : All layout objects ] | [ Arpeggio > ] | ||
3.1.8 AmbitusNoteHead
AmbitusNoteHead objects are created by: Ambitus_engraver.
Standard settings:
duration-log(integer):
2The 2-log of the note head duration, i.e.,
0= whole note,1= half note, etc.stencil(unknown):
ly:note-head::printThe symbol to print.
Y-offset(number):
ly:staff-symbol-referencer::callbackThe vertical amount that this object is moved relative to its Y-parent.
This object supports the following interface(s): staff-symbol-referencer-interface, rhythmic-head-interface, note-head-interface, ledgered-interface, item-interface, font-interface, ambitus-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < AmbitusNoteHead ] | [ Up : All layout objects ] | [ BalloonTextItem > ] | ||
3.1.9 Arpeggio
Arpeggio objects are created by: Arpeggio_engraver and Span_arpeggio_engraver.
Standard settings:
X-extent(pair of numbers):
ly:arpeggio::widthHard coded extent in X direction.
stencil(unknown):
ly:arpeggio::printThe symbol to print.
Y-offset(number):
ly:staff-symbol-referencer::callbackThe vertical amount that this object is moved relative to its Y-parent.
X-offset(number):
ly:side-position-interface::x-aligned-sideThe horizontal amount that this object is moved relative to its X-parent.
direction(direction):
-1If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.positions(pair of numbers):
ly:arpeggio::calc-positionsPair of staff coordinates
(left . right), where both left and right are instaff-spaceunits of the current staff. For slurs, this value selects which slur candidate to use; if extreme positions are requested, the closest one is taken.padding(dimension, in staff space):
0.5Add this much extra space between objects that are next to each other.
script-priority(number):
0A sorting key that determines in what order a script is within a stack of scripts.
side-axis(number):
0If the value is
#X(or equivalently0), the object is placed horizontally next to the other object. If the value is#Yor1, it is placed vertically.staff-position(number):
0.0Vertical position, measured in half staff spaces, counted from the middle line.
Y-extent(pair of numbers):
ly:arpeggio::heightHard coded extent in Y direction.
This object supports the following interface(s): staff-symbol-referencer-interface, side-position-interface, item-interface, font-interface, arpeggio-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < Arpeggio ] | [ Up : All layout objects ] | [ BarLine > ] | ||
3.1.10 BalloonTextItem
BalloonTextItem objects are created by: Balloon_engraver.
Standard settings:
stencil(unknown):
ly:balloon-interface::printThe symbol to print.
text(markup):
#<procedure #f (grob)>Text markup. See Formatting text.
X-offset(number):
#<procedure #f (grob)>The horizontal amount that this object is moved relative to its X-parent.
Y-offset(number):
#<procedure #f (grob)>The vertical amount that this object is moved relative to its Y-parent.
This object supports the following interface(s): text-interface, item-interface, font-interface, balloon-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < BalloonTextItem ] | [ Up : All layout objects ] | [ BarNumber > ] | ||
3.1.11 BarLine
BarLine objects are created by: Bar_engraver.
Standard settings:
break-align-symbol(symbol):
'staff-barThis key is used for aligning and spacing breakable items.
break-align-anchor(number):
ly:bar-line::calc-anchorGrobs aligned to this break-align grob will have their X-offsets shifted by this number. In bar lines, for example, this is used to position grobs relative to the (visual) center of the bar line.
glyph(string):
"|"A string determining what ‘style’ of glyph is typeset. Valid choices depend on the function that is reading this property.
gap(dimension, in staff space):
0.4Size of a gap in a variable symbol.
layer(integer):
0The output layer (a value between 0 and 2): Layers define the order of printing objects. Objects in lower layers are overprinted by objects in higher layers.
break-visibility(vector):
bar-line::calc-break-visibilityA vector of 3 booleans,
#(end-of-line unbroken begin-of-line).#tmeans visible,#fmeans killed.non-musical(boolean):
#tTrue if the grob belongs to a
NonMusicalPaperColumn.stencil(unknown):
ly:bar-line::printThe symbol to print.
bar-size(dimension, in staff space):
ly:bar-line::calc-bar-sizeThe size of a bar line.
allow-span-bar(boolean):
#tIf false, no inter-staff bar line will be created below this bar line.
space-alist(list):
'((time-signature extra-space . 0.75) (custos minimum-space . 2.0) (clef minimum-space . 1.0) (key-signature extra-space . 1.0) (key-cancellation extra-space . 1.0) (first-note fixed-space . 1.3) (next-note semi-fixed-space . 0.9) (right-edge extra-space . 0.0))A table that specifies distances between prefatory items, like clef and time-signature. The format is an alist of spacing tuples:
(break-align-symbol type . distance), where type can be the symbolsminimum-spaceorextra-space.kern(dimension, in staff space):
3.0Amount of extra white space to add. For bar lines, this is the amount of space after a thick line.
thin-kern(number):
3.0The space after a hair-line in a bar line.
hair-thickness(number):
1.9Thickness of the thin line in a bar line.
thick-thickness(number):
6.0Bar line thickness, measured in
line-thickness.
This object supports the following interface(s): item-interface, font-interface, break-aligned-interface, bar-line-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < BarLine ] | [ Up : All layout objects ] | [ BassFigure > ] | ||
3.1.12 BarNumber
BarNumber objects are created by: Bar_number_engraver.
Standard settings:
stencil(unknown):
ly:text-interface::printThe symbol to print.
non-musical(boolean):
#tTrue if the grob belongs to a
NonMusicalPaperColumn.break-visibility(vector):
#(#f #f #t)A vector of 3 booleans,
#(end-of-line unbroken begin-of-line).#tmeans visible,#fmeans killed.padding(dimension, in staff space):
1.0Add this much extra space between objects that are next to each other.
direction(direction):
1If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.font-family(symbol):
'romanThe font family is the broadest category for selecting text fonts. Options include:
sans,roman.font-size(number):
-2The font size, compared to the ‘normal’ size.
0is style-sheet’s normal size,-1is smaller,+1is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. Fractional values are allowed.Y-offset(number):
ly:side-position-interface::y-aligned-sideThe vertical amount that this object is moved relative to its Y-parent.
side-axis(number):
1If the value is
#X(or equivalently0), the object is placed horizontally next to the other object. If the value is#Yor1, it is placed vertically.outside-staff-priority(number):
100If set, the grob is positioned outside the staff in such a way as to avoid all collisions. In case of a potential collision, the grob with the smaller
outside-staff-priorityis closer to the staff.X-offset(number):
#<simple-closure (#<primitive-generic +> #<simple-closure (#<primitive-procedure ly:break-alignable-interface::self-align-callback>) > #<simple-closure (#<primitive-procedure ly:self-alignment-interface::x-aligned-on-self>) >) >The horizontal amount that this object is moved relative to its X-parent.
self-alignment-X(number):
1Specify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified.break-align-symbols(list):
'(left-edge staff-bar)A list of symbols that determine which break-aligned grobs to align this to. If the grob selected by the first symbol in the list is invisible due to break-visibility, we will align to the next grob (and so on).
This object supports the following interface(s): text-interface, side-position-interface, self-alignment-interface, item-interface, font-interface, break-alignable-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < BarNumber ] | [ Up : All layout objects ] | [ BassFigureAlignment > ] | ||
3.1.13 BassFigure
BassFigure objects are created by: Figured_bass_engraver.
Standard settings:
stencil(unknown):
ly:text-interface::printThe symbol to print.
This object supports the following interface(s): text-interface, rhythmic-grob-interface, item-interface, font-interface, bass-figure-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < BassFigure ] | [ Up : All layout objects ] | [ BassFigureAlignmentPositioning > ] | ||
3.1.14 BassFigureAlignment
BassFigureAlignment objects are created by: Figured_bass_engraver.
Standard settings:
axes(list):
'(1)List of axis numbers. In the case of alignment grobs, this should contain only one number.
threshold(pair of numbers):
'(2 . 1000)
(min . max), where min and max are dimensions in staff space.Y-extent(pair of numbers):
ly:axis-group-interface::heightHard coded extent in Y direction.
stacking-dir(direction):
-1Stack objects in which direction?
padding(dimension, in staff space):
0.2Add this much extra space between objects that are next to each other.
This object supports the following interface(s): spanner-interface, bass-figure-alignment-interface, axis-group-interface, align-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < BassFigureAlignment ] | [ Up : All layout objects ] | [ BassFigureBracket > ] | ||
3.1.15 BassFigureAlignmentPositioning
BassFigureAlignmentPositioning objects are created by: Figured_bass_position_engraver.
Standard settings:
Y-offset(number):
ly:side-position-interface::y-aligned-sideThe vertical amount that this object is moved relative to its Y-parent.
side-axis(number):
1If the value is
#X(or equivalently0), the object is placed horizontally next to the other object. If the value is#Yor1, it is placed vertically.direction(direction):
1If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.Y-extent(pair of numbers):
ly:axis-group-interface::heightHard coded extent in Y direction.
axes(list):
'(1)List of axis numbers. In the case of alignment grobs, this should contain only one number.
staff-padding(dimension, in staff space):
1.0Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
padding(dimension, in staff space):
0.5Add this much extra space between objects that are next to each other.
This object supports the following interface(s): spanner-interface, side-position-interface, axis-group-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < BassFigureAlignmentPositioning ] | [ Up : All layout objects ] | [ BassFigureContinuation > ] | ||
3.1.16 BassFigureBracket
BassFigureBracket objects are created by: Figured_bass_engraver.
Standard settings:
stencil(unknown):
ly:enclosing-bracket::printThe symbol to print.
X-extent(pair of numbers):
ly:enclosing-bracket::widthHard coded extent in X direction.
edge-height(pair):
'(0.2 . 0.2)A pair of numbers specifying the heights of the vertical edges:
(left-height . right-height).
This object supports the following interface(s): item-interface, enclosing-bracket-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < BassFigureBracket ] | [ Up : All layout objects ] | [ BassFigureLine > ] | ||
3.1.17 BassFigureContinuation
BassFigureContinuation objects are created by: Figured_bass_engraver.
Standard settings:
stencil(unknown):
ly:figured-bass-continuation::printThe symbol to print.
Y-offset(number):
ly:figured-bass-continuation::center-on-figuresThe vertical amount that this object is moved relative to its Y-parent.
This object supports the following interface(s): spanner-interface, figured-bass-continuation-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < BassFigureContinuation ] | [ Up : All layout objects ] | [ Beam > ] | ||
3.1.18 BassFigureLine
BassFigureLine objects are created by: Figured_bass_engraver.
Standard settings:
axes(list):
'(1)List of axis numbers. In the case of alignment grobs, this should contain only one number.
Y-extent(pair of numbers):
ly:axis-group-interface::heightHard coded extent in Y direction.
vertical-skylines(unknown):
ly:axis-group-interface::calc-skylinesTwo skylines, one above and one below this grob.
This object supports the following interface(s): spanner-interface, axis-group-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < BassFigureLine ] | [ Up : All layout objects ] | [ BendAfter > ] | ||
3.1.19 Beam
Beam objects are created by: Auto_beam_engraver, Beam_engraver, Chord_tremolo_engraver and Grace_beam_engraver.
Standard settings:
gap(dimension, in staff space):
0.8Size of a gap in a variable symbol.
positions(pair of numbers):
#<simple-closure #<simple-closure (#<procedure chain-grob-member-functions (grob value . funcs)> (#<primitive-procedure cons> 0 0) #<primitive-procedure ly:beam::calc-least-squares-positions> #<primitive-procedure ly:beam::slope-damping> #<primitive-procedure ly:beam::shift-region-to-valid> #<primitive-procedure ly:beam::quanting>) > >Pair of staff coordinates
(left . right), where both left and right are instaff-spaceunits of the current staff. For slurs, this value selects which slur candidate to use; if extreme positions are requested, the closest one is taken.concaveness(number):
ly:beam::calc-concavenessA beam is concave if its inner stems are closer to the beam than the two outside stems. This number is a measure of the closeness of the inner stems. It is used for damping the slope of the beam.
direction(direction):
ly:beam::calc-directionIf
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.beaming(pair):
ly:beam::calc-beamingPair of number lists. Each number list specifies which beams to make.
0is the central beam,1is the next beam toward the note, etc. This information is used to determine how to connect the beaming patterns from stem to stem inside a beam.stencil(unknown):
ly:beam::printThe symbol to print.
clip-edges(boolean):
#tAllow outward pointing beamlets at the edges of beams?
thickness(number):
0.48Line thickness, generally measured in
line-thickness.neutral-direction(direction):
-1Which direction to take in the center of the staff.
beamed-stem-shorten(list):
'(1.0 0.5 0.25)How much to shorten beamed stems, when their direction is forced. It is a list, since the value is different depending on the number of flags and beams.
damping(number):
1Amount of beam slope damping.
auto-knee-gap(dimension, in staff space):
5.5If a gap is found between note heads where a horizontal beam fits that is larger than this number, make a kneed beam.
font-family(symbol):
'romanThe font family is the broadest category for selecting text fonts. Options include:
sans,roman.
This object supports the following interface(s): unbreakable-spanner-interface, staff-symbol-referencer-interface, spanner-interface, font-interface, beam-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < Beam ] | [ Up : All layout objects ] | [ BreakAlignGroup > ] | ||
3.1.20 BendAfter
BendAfter objects are created by: Bend_engraver.
Standard settings:
stencil(unknown):
bend::printThe symbol to print.
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.thickness(number):
2.0Line thickness, generally measured in
line-thickness.
This object supports the following interface(s): spanner-interface, bend-after-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < BendAfter ] | [ Up : All layout objects ] | [ BreakAlignment > ] | ||
3.1.21 BreakAlignGroup
BreakAlignGroup objects are created by: Break_align_engraver.
Standard settings:
axes(list):
'(0)List of axis numbers. In the case of alignment grobs, this should contain only one number.
X-extent(pair of numbers):
ly:axis-group-interface::widthHard coded extent in X direction.
break-align-anchor(number):
ly:break-aligned-interface::calc-average-anchorGrobs aligned to this break-align grob will have their X-offsets shifted by this number. In bar lines, for example, this is used to position grobs relative to the (visual) center of the bar line.
break-visibility(vector):
ly:break-aligned-interface::calc-break-visibilityA vector of 3 booleans,
#(end-of-line unbroken begin-of-line).#tmeans visible,#fmeans killed.
This object supports the following interface(s): item-interface, break-aligned-interface, axis-group-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < BreakAlignGroup ] | [ Up : All layout objects ] | [ BreathingSign > ] | ||
3.1.22 BreakAlignment
BreakAlignment objects are created by: Break_align_engraver.
Standard settings:
non-musical(boolean):
#tTrue if the grob belongs to a
NonMusicalPaperColumn.stacking-dir(direction):
1Stack objects in which direction?
X-extent(pair of numbers):
ly:axis-group-interface::widthHard coded extent in X direction.
break-align-orders(vector):
#((left-edge ambitus breathing-sign clef staff-bar key-cancellation key-signature time-signature custos) (left-edge ambitus breathing-sign clef staff-bar key-cancellation key-signature staff time-signature custos) (left-edge ambitus breathing-sign clef key-cancellation key-signature staff-bar time-signature custos))Defines the order in which prefatory matter (clefs, key signatures) appears. The format is a vector of length 3, where each element is one order for end-of-line, middle of line, and start-of-line, respectively. An order is a list of symbols.
For example, clefs are put after key signatures by setting
\override Score.BreakAlignment #'break-align-orders = #(make-vector 3 '(span-bar breathing-sign staff-bar key clef time-signature))axes(list):
'(0)List of axis numbers. In the case of alignment grobs, this should contain only one number.
This object supports the following interface(s): item-interface, break-alignment-interface, axis-group-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < BreakAlignment ] | [ Up : All layout objects ] | [ ChordName > ] | ||
3.1.23 BreathingSign
BreathingSign objects are created by: Breathing_sign_engraver.
Standard settings:
break-align-symbol(symbol):
'breathing-signThis key is used for aligning and spacing breakable items.
non-musical(boolean):
#tTrue if the grob belongs to a
NonMusicalPaperColumn.space-alist(list):
'((ambitus extra-space . 2.0) (custos minimum-space . 1.0) (key-signature minimum-space . 1.5) (time-signature minimum-space . 1.5) (staff-bar minimum-space . 1.5) (clef minimum-space . 2.0) (first-note fixed-space . 1.0) (right-edge extra-space . 0.1))A table that specifies distances between prefatory items, like clef and time-signature. The format is an alist of spacing tuples:
(break-align-symbol type . distance), where type can be the symbolsminimum-spaceorextra-space.stencil(unknown):
ly:text-interface::printThe symbol to print.
text(markup):
'(#<procedure musicglyph-markup (layout props glyph-name)> scripts.rcomma)Text markup. See Formatting text.
Y-offset(number):
ly:breathing-sign::offset-callbackThe vertical amount that this object is moved relative to its Y-parent.
break-visibility(vector):
#(#t #t #f)A vector of 3 booleans,
#(end-of-line unbroken begin-of-line).#tmeans visible,#fmeans killed.
This object supports the following interface(s): text-interface, item-interface, font-interface, breathing-sign-interface, break-aligned-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < BreathingSign ] | [ Up : All layout objects ] | [ Clef > ] | ||
3.1.24 ChordName
ChordName objects are created by: Chord_name_engraver.
Standard settings:
stencil(unknown):
ly:text-interface::printThe symbol to print.
after-line-breaking(boolean):
ly:chord-name::after-line-breakingDummy property, used to trigger callback for
after-line-breaking.word-space(dimension, in staff space):
0.0Space to insert between words in texts.
font-family(symbol):
'sansThe font family is the broadest category for selecting text fonts. Options include:
sans,roman.font-size(number):
1.5The font size, compared to the ‘normal’ size.
0is style-sheet’s normal size,-1is smaller,+1is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. Fractional values are allowed.
This object supports the following interface(s): text-interface, rhythmic-grob-interface, item-interface, font-interface, chord-name-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < ChordName ] | [ Up : All layout objects ] | [ ClusterSpanner > ] | ||
3.1.25 Clef
Clef objects are created by: Clef_engraver.
Standard settings:
stencil(unknown):
ly:clef::printThe symbol to print.
non-musical(boolean):
#tTrue if the grob belongs to a
NonMusicalPaperColumn.avoid-slur(symbol):
'insideMethod of handling slur collisions. Choices are
around,inside,outside. If unset, scripts and slurs ignore each other.aroundonly moves the script if there is a collision;outsidealways moves the script.font-family(symbol):
'musicThe font family is the broadest category for selecting text fonts. Options include:
sans,roman.break-align-symbol(symbol):
'clefThis key is used for aligning and spacing breakable items.
break-align-anchor(number):
ly:break-aligned-interface::calc-extent-aligned-anchorGrobs aligned to this break-align grob will have their X-offsets shifted by this number. In bar lines, for example, this is used to position grobs relative to the (visual) center of the bar line.
break-visibility(vector):
#(#f #f #t)A vector of 3 booleans,
#(end-of-line unbroken begin-of-line).#tmeans visible,#fmeans killed.space-alist(list):
'((ambitus extra-space . 2.0) (staff-bar extra-space . 0.7) (key-cancellation minimum-space . 3.5) (key-signature minimum-space . 3.5) (time-signature minimum-space . 4.2) (first-note minimum-fixed-space . 5.0) (next-note extra-space . 0.5) (right-edge extra-space . 0.5))A table that specifies distances between prefatory items, like clef and time-signature. The format is an alist of spacing tuples:
(break-align-symbol type . distance), where type can be the symbolsminimum-spaceorextra-space.Y-offset(number):
ly:staff-symbol-referencer::callbackThe vertical amount that this object is moved relative to its Y-parent.
This object supports the following interface(s): staff-symbol-referencer-interface, item-interface, font-interface, clef-interface, break-aligned-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < Clef ] | [ Up : All layout objects ] | [ ClusterSpannerBeacon > ] | ||
3.1.26 ClusterSpanner
ClusterSpanner objects are created by: Cluster_spanner_engraver.
Standard settings:
springs-and-rods(boolean):
ly:spanner::set-spacing-rodsDummy variable for triggering spacing routines.
stencil(unknown):
ly:cluster::printThe symbol to print.
minimum-length(dimension, in staff space):
0.0Try to make a spanner at least this long, normally in the horizontal direction. This requires an appropriate callback for the
springs-and-rodsproperty. If added to aTie, this sets the minimum distance between noteheads.padding(dimension, in staff space):
0.25Add this much extra space between objects that are next to each other.
style(symbol):
'rampThis setting determines in what style a grob is typeset. Valid choices depend on the
stencilcallback reading this property.
This object supports the following interface(s): spanner-interface, cluster-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < ClusterSpanner ] | [ Up : All layout objects ] | [ CombineTextScript > ] | ||
3.1.27 ClusterSpannerBeacon
ClusterSpannerBeacon objects are created by: Cluster_spanner_engraver.
Standard settings:
Y-extent(pair of numbers):
ly:cluster-beacon::heightHard coded extent in Y direction.
This object supports the following interface(s): rhythmic-grob-interface, item-interface, cluster-beacon-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < ClusterSpannerBeacon ] | [ Up : All layout objects ] | [ Custos > ] | ||
3.1.28 CombineTextScript
CombineTextScript objects are created by: Part_combine_engraver.
Standard settings:
stencil(unknown):
ly:text-interface::printThe symbol to print.
extra-spacing-width(pair of numbers):
'(+inf.0 . -inf.0)In the horizontal spacing problem, we pad each item by this amount (by adding the ‘car’ on the left side of the item and adding the ‘cdr’ on the right side of the item). In order to make a grob take up no horizontal space at all, set this to
(+inf.0 . -inf.0).Y-offset(number):
ly:side-position-interface::y-aligned-sideThe vertical amount that this object is moved relative to its Y-parent.
X-offset(number):
ly:self-alignment-interface::x-aligned-on-selfThe horizontal amount that this object is moved relative to its X-parent.
direction(direction):
1If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.padding(dimension, in staff space):
0.5Add this much extra space between objects that are next to each other.
staff-padding(dimension, in staff space):
0.5Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
script-priority(number):
200A sorting key that determines in what order a script is within a stack of scripts.
baseline-skip(dimension, in staff space):
2Distance between base lines of multiple lines of text.
side-axis(number):
1If the value is
#X(or equivalently0), the object is placed horizontally next to the other object. If the value is#Yor1, it is placed vertically.avoid-slur(symbol):
'outsideMethod of handling slur collisions. Choices are
around,inside,outside. If unset, scripts and slurs ignore each other.aroundonly moves the script if there is a collision;outsidealways moves the script.font-series(symbol):
'boldSelect the series of a font. Choices include
medium,bold,bold-narrow, etc.
This object supports the following interface(s): text-script-interface, text-interface, side-position-interface, item-interface, font-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < CombineTextScript ] | [ Up : All layout objects ] | [ DotColumn > ] | ||
3.1.29 Custos
Custos objects are created by: Custos_engraver.
Standard settings:
break-align-symbol(symbol):
'custosThis key is used for aligning and spacing breakable items.
non-musical(boolean):
#tTrue if the grob belongs to a
NonMusicalPaperColumn.stencil(unknown):
ly:custos::printThe symbol to print.
break-visibility(vector):
#(#t #f #f)A vector of 3 booleans,
#(end-of-line unbroken begin-of-line).#tmeans visible,#fmeans killed.style(symbol):
'vaticanaThis setting determines in what style a grob is typeset. Valid choices depend on the
stencilcallback reading this property.neutral-direction(direction):
-1Which direction to take in the center of the staff.
Y-offset(number):
ly:staff-symbol-referencer::callbackThe vertical amount that this object is moved relative to its Y-parent.
space-alist(list):
'((first-note minimum-fixed-space . 0.0) (right-edge extra-space . 0.1))A table that specifies distances between prefatory items, like clef and time-signature. The format is an alist of spacing tuples:
(break-align-symbol type . distance), where type can be the symbolsminimum-spaceorextra-space.
This object supports the following interface(s): staff-symbol-referencer-interface, item-interface, font-interface, custos-interface, break-aligned-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < Custos ] | [ Up : All layout objects ] | [ Dots > ] | ||
3.1.30 DotColumn
DotColumn objects are created by: Dot_column_engraver and Vaticana_ligature_engraver.
Standard settings:
axes(list):
'(0)List of axis numbers. In the case of alignment grobs, this should contain only one number.
direction(direction):
1If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.X-extent(pair of numbers):
ly:axis-group-interface::widthHard coded extent in X direction.
This object supports the following interface(s): item-interface, dot-column-interface, axis-group-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < DotColumn ] | [ Up : All layout objects ] | [ DoublePercentRepeat > ] | ||
3.1.31 Dots
Dots objects are created by: Completion_heads_engraver and Dots_engraver.
Standard settings:
stencil(unknown):
ly:dots::printThe symbol to print.
dot-count(integer):
dots::calc-dot-countThe number of dots.
staff-position(number):
dots::calc-staff-positionVertical position, measured in half staff spaces, counted from the middle line.
This object supports the following interface(s): staff-symbol-referencer-interface, item-interface, font-interface, dots-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < Dots ] | [ Up : All layout objects ] | [ DoublePercentRepeatCounter > ] | ||
3.1.32 DoublePercentRepeat
DoublePercentRepeat objects are created by: Percent_repeat_engraver.
Standard settings:
stencil(unknown):
ly:percent-repeat-item-interface::double-percentThe symbol to print.
non-musical(boolean):
#tTrue if the grob belongs to a
NonMusicalPaperColumn.slope(number):
1.0The slope of this object.
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.
slash-negative-kern(number):
1.6The space to remove between slashes 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 and Aybabtu) are using this property. Available values are
fetaMusic(Emmentaler),fetaBraces(Aybabtu),fetaNumber(Emmentaler), andfetaDynamic(Emmentaler).width(dimension, in staff space):
2.0The width of a grob measured in staff space.
thickness(number):
0.48Line thickness, generally measured in
line-thickness.break-align-symbol(symbol):
'staff-barThis key is used for aligning and spacing breakable items.
break-visibility(vector):
#(#t #t #f)A vector of 3 booleans,
#(end-of-line unbroken begin-of-line).#tmeans visible,#fmeans killed.
This object supports the following interface(s): percent-repeat-item-interface, percent-repeat-interface, item-interface, font-interface, break-aligned-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < DoublePercentRepeat ] | [ Up : All layout objects ] | [ DynamicLineSpanner > ] | ||
3.1.33 DoublePercentRepeatCounter
DoublePercentRepeatCounter objects are created by: Percent_repeat_engraver.
Standard settings:
stencil(unknown):
ly:text-interface::printThe symbol to print.
X-offset(number):
#<simple-closure (#<primitive-generic +> #<simple-closure (#<primitive-procedure ly:self-alignment-interface::centered-on-y-parent>) > #<simple-closure (#<primitive-procedure ly:self-alignment-interface::x-aligned-on-self>) >) >The horizontal amount that this object is moved relative to its X-parent.
Y-offset(number):
ly:side-position-interface::y-aligned-sideThe vertical amount that this object is moved relative to its Y-parent.
font-encoding(symbol):
'fetaNumberThe font encoding is the broadest category for selecting a font. Currently, only lilypond’s system fonts (Emmentaler and Aybabtu) are using this property. Available values are
fetaMusic(Emmentaler),fetaBraces(Aybabtu),fetaNumber(Emmentaler), andfetaDynamic(Emmentaler).self-alignment-X(number):
0Specify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified.font-size(number):
-2The font size, compared to the ‘normal’ size.
0is style-sheet’s normal size,-1is smaller,+1is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. Fractional values are allowed.direction(direction):
1If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.padding(dimension, in staff space):
0.2Add this much extra space between objects that are next to each other.
staff-padding(dimension, in staff space):
0.25Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
side-axis(number):
1If the value is
#X(or equivalently0), the object is placed horizontally next to the other object. If the value is#Yor1, it is placed vertically.
This object supports the following interface(s): text-interface, side-position-interface, self-alignment-interface, percent-repeat-item-interface, percent-repeat-interface, item-interface, font-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < DoublePercentRepeatCounter ] | [ Up : All layout objects ] | [ DynamicText > ] | ||
3.1.34 DynamicLineSpanner
DynamicLineSpanner objects are created by: Dynamic_align_engraver and Dynamic_engraver.
Standard settings:
axes(list):
'(1)List of axis numbers. In the case of alignment grobs, this should contain only one number.
Y-offset(number):
ly:side-position-interface::y-aligned-sideThe vertical amount that this object is moved relative to its Y-parent.
staff-padding(dimension, in staff space):
0.1Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
padding(dimension, in staff space):
0.6Add this much extra space between objects that are next to each other.
slur-padding(number):
0.3Extra distance between slur and script.
minimum-space(dimension, in staff space):
1.2Minimum distance that the victim should move (after padding).
direction(direction):
-1If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.side-axis(number):
1If the value is
#X(or equivalently0), the object is placed horizontally next to the other object. If the value is#Yor1, it is placed vertically.outside-staff-priority(number):
250If set, the grob is positioned outside the staff in such a way as to avoid all collisions. In case of a potential collision, the grob with the smaller
outside-staff-priorityis closer to the staff.Y-extent(pair of numbers):
ly:axis-group-interface::heightHard coded extent in Y direction.
X-extent(pair of numbers):
ly:axis-group-interface::widthHard coded extent in X direction.
This object supports the following interface(s): spanner-interface, side-position-interface, dynamic-line-spanner-interface, dynamic-interface, axis-group-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < DynamicLineSpanner ] | [ Up : All layout objects ] | [ DynamicTextSpanner > ] | ||
3.1.35 DynamicText
DynamicText objects are created by: Dynamic_engraver and New_dynamic_engraver.
Standard settings:
stencil(unknown):
ly:text-interface::printThe symbol to print.
direction(direction):
ly:script-interface::calc-directionIf
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.X-offset(number):
ly:self-alignment-interface::x-aligned-on-selfThe horizontal amount that this object is moved relative to its X-parent.
self-alignment-X(number):
0Specify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified.Y-offset(number):
ly:self-alignment-interface::y-aligned-on-selfThe vertical amount that this object is moved relative to its Y-parent.
self-alignment-Y(number):
0Like
self-alignment-Xbut for the Y axis.font-series(symbol):
'boldSelect the series of a font. Choices include
medium,bold,bold-narrow, etc.font-encoding(symbol):
'fetaDynamicThe font encoding is the broadest category for selecting a font. Currently, only lilypond’s system fonts (Emmentaler and Aybabtu) are using this property. Available values are
fetaMusic(Emmentaler),fetaBraces(Aybabtu),fetaNumber(Emmentaler), andfetaDynamic(Emmentaler).font-shape(symbol):
'italicSelect the shape of a font. Choices include
upright,italic,caps.extra-spacing-width(pair of numbers):
'(+inf.0 . -inf.0)In the horizontal spacing problem, we pad each item by this amount (by adding the ‘car’ on the left side of the item and adding the ‘cdr’ on the right side of the item). In order to make a grob take up no horizontal space at all, set this to
(+inf.0 . -inf.0).outside-staff-priority(number):
250If set, the grob is positioned outside the staff in such a way as to avoid all collisions. In case of a potential collision, the grob with the smaller
outside-staff-priorityis closer to the staff.
This object supports the following interface(s): text-interface, self-alignment-interface, script-interface, item-interface, font-interface, dynamic-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < DynamicText ] | [ Up : All layout objects ] | [ Fingering > ] | ||
3.1.36 DynamicTextSpanner
DynamicTextSpanner objects are created by: Dynamic_engraver and New_dynamic_engraver.
Standard settings:
font-shape(symbol):
'italicSelect the shape of a font. Choices include
upright,italic,caps.style(symbol):
'dashed-lineThis setting determines in what style a grob is typeset. Valid choices depend on the
stencilcallback reading this property.minimum-Y-extent(pair of numbers):
'(-1 . 1)Minimum size of an object in Y dimension, measured in
staff-spaceunits.bound-details(list):
'((right (attach-dir . -1) (Y . 0) (padding . 0.75)) (right-broken (attach-dir . 1) (padding . 0.0)) (left (attach-dir . -1) (Y . 0) (stencil-offset 0 . -0.5) (padding . 0.5)) (left-broken (attach-dir . 1)))An alist of properties for determining attachments of spanners to edges.
stencil(unknown):
ly:line-spanner::printThe symbol to print.
left-bound-info(list):
ly:line-spanner::calc-left-bound-info-and-textAn alist of properties for determining attachments of spanners to edges.
right-bound-info(list):
ly:line-spanner::calc-right-bound-infoAn alist of properties for determining attachments of spanners to edges.
font-size(number):
1The font size, compared to the ‘normal’ size.
0is style-sheet’s normal size,-1is smaller,+1is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. Fractional values are allowed.dash-fraction(number):
0.2Size of the dashes, relative to
dash-period. Should be between0.0(no line) and1.0(continuous line).dash-period(number):
3.0The length of one dash together with whitespace. If negative, no line is drawn at all.
This object supports the following interface(s): text-interface, spanner-interface, line-spanner-interface, line-interface, font-interface, dynamic-text-spanner-interface, dynamic-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < DynamicTextSpanner ] | [ Up : All layout objects ] | [ FretBoard > ] | ||
3.1.37 Fingering
Fingering objects are created by: Fingering_engraver and New_fingering_engraver.
Standard settings:
padding(dimension, in staff space):
0.5Add this much extra space between objects that are next to each other.
avoid-slur(symbol):
'aroundMethod of handling slur collisions. Choices are
around,inside,outside. If unset, scripts and slurs ignore each other.aroundonly moves the script if there is a collision;outsidealways moves the script.slur-padding(number):
0.2Extra distance between slur and script.
staff-padding(dimension, in staff space):
0.5Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
self-alignment-X(number):
0Specify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified.self-alignment-Y(number):
0Like
self-alignment-Xbut for the Y axis.script-priority(number):
100A sorting key that determines in what order a script is within a stack of scripts.
stencil(unknown):
ly:text-interface::printThe symbol to print.
direction(direction):
ly:script-interface::calc-directionIf
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.text(markup):
fingering::calc-textText markup. See Formatting text.
font-encoding(symbol):
'fetaNumberThe font encoding is the broadest category for selecting a font. Currently, only lilypond’s system fonts (Emmentaler and Aybabtu) are using this property. Available values are
fetaMusic(Emmentaler),fetaBraces(Aybabtu),fetaNumber(Emmentaler), andfetaDynamic(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. Fractional values are allowed.
This object supports the following interface(s): text-script-interface, text-interface, side-position-interface, self-alignment-interface, item-interface, font-interface, finger-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < Fingering ] | [ Up : All layout objects ] | [ Glissando > ] | ||
3.1.38 FretBoard
FretBoard objects are created by: Fretboard_engraver.
Standard settings:
stencil(unknown):
fret-board::calc-stencilThe symbol to print.
fret-diagram-details(list):
'((finger-code . below-string))An alist of detailed grob properties for fret diagrams. Each alist entry consists of a
(property . value)pair. The properties which can be included 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-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.label-dir– Side to which the fret label is attached.-1,#LEFT, or#DOWNfor left or down;1,#RIGHT, or#UPfor right or up. Default#RIGHT.mute-string– Character string to be used to indicate muted string. Default"x".number-type– Type of numbers to use in fret label. Choices includeroman-lower,roman-upper, andarabic. Defaultroman-lower.open-string– Character string to be used to indicate open string. Default"o".orientation– Orientation of fret-diagram. Options includenormal,landscape, andopposing-landscape. Defaultnormal.string-count– The number of strings. Default 6.string-label-font-mag– The magnification of the font used to label fingerings at the string, rather than in the dot. Default value 0.6 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.
This object supports the following interface(s): item-interface, fret-diagram-interface, font-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < FretBoard ] | [ Up : All layout objects ] | [ GraceSpacing > ] | ||
3.1.39 Glissando
Glissando objects are created by: Glissando_engraver and Note_head_line_engraver.
Standard settings:
style(symbol):
'lineThis setting determines in what style a grob is typeset. Valid choices depend on the
stencilcallback reading this property.gap(dimension, in staff space):
0.5Size of a gap in a variable symbol.
zigzag-width(dimension, in staff space):
0.75The width of one zigzag squiggle. This number is adjusted slightly so that the glissando line can be constructed from a whole number of squiggles.
X-extent(pair of numbers):
#fHard coded extent in X direction.
Y-extent(pair of numbers):
#fHard coded extent in Y direction.
bound-details(list):
'((right (attach-dir . 0) (padding . 1.5)) (left (attach-dir . 0) (padding . 1.5)))An alist of properties for determining attachments of spanners to edges.
stencil(unknown):
ly:line-spanner::printThe symbol to print.
left-bound-info(list):
ly:line-spanner::calc-left-bound-infoAn alist of properties for determining attachments of spanners to edges.
right-bound-info(list):
ly:line-spanner::calc-right-bound-infoAn alist of properties for determining attachments of spanners to edges.
This object supports the following interface(s): unbreakable-spanner-interface, spanner-interface, line-spanner-interface, line-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < Glissando ] | [ Up : All layout objects ] | [ GridLine > ] | ||
3.1.40 GraceSpacing
GraceSpacing objects are created by: Grace_spacing_engraver.
Standard settings:
common-shortest-duration(moment):
grace-spacing::calc-shortest-durationThe most common shortest note length. This is used in spacing. Enlarging this sets the score tighter.
spacing-increment(number):
0.8Add this much space for a doubled duration. Typically, the width of a note head. See also spacing-spanner-interface.
shortest-duration-space(dimension, in staff space):
1.6Start with this much space for the shortest duration. This is expressed in
spacing-incrementas unit. See also spacing-spanner-interface.
This object supports the following interface(s): spanner-interface, spacing-options-interface, grace-spacing-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < GraceSpacing ] | [ Up : All layout objects ] | [ GridPoint > ] | ||
3.1.41 GridLine
GridLine objects are created by: Grid_line_span_engraver.
Standard settings:
X-extent(pair of numbers):
ly:grid-line-interface::widthHard coded extent in X direction.
stencil(unknown):
ly:grid-line-interface::printThe symbol to print.
self-alignment-X(number):
0Specify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified.X-offset(number):
#<simple-closure (#<primitive-generic +> #<simple-closure (#<primitive-procedure ly:self-alignment-interface::centered-on-x-parent>) > #<simple-closure (#<primitive-procedure ly:self-alignment-interface::x-aligned-on-self>) >) >The horizontal amount that this object is moved relative to its X-parent.
layer(integer):
0The output layer (a value between 0 and 2): Layers define the order of printing objects. Objects in lower layers are overprinted by objects in higher layers.
This object supports the following interface(s): self-alignment-interface, item-interface, grid-line-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < GridLine ] | [ Up : All layout objects ] | [ Hairpin > ] | ||
3.1.42 GridPoint
GridPoint objects are created by: Grid_point_engraver.
Standard settings:
X-extent(pair of numbers):
'(0 . 0)Hard coded extent in X direction.
Y-extent(pair of numbers):
'(0 . 0)Hard coded extent in Y direction.
This object supports the following interface(s): item-interface, grid-point-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < GridPoint ] | [ Up : All layout objects ] | [ HarmonicParenthesesItem > ] | ||
3.1.43 Hairpin
Hairpin objects are created by: Dynamic_engraver and New_dynamic_engraver.
Standard settings:
stencil(unknown):
ly:hairpin::printThe symbol to print.
springs-and-rods(boolean):
ly:spanner::set-spacing-rodsDummy variable for triggering spacing routines.
after-line-breaking(boolean):
ly:hairpin::after-line-breakingDummy property, used to trigger callback for
after-line-breaking.grow-direction(direction):
hairpin::calc-grow-directionCrescendo or decrescendo?
circled-tip(boolean):
#fPut a circle at start/end of hairpins (al/del niente).
to-barline(boolean):
#tIf true, the spanner will stop at the bar line just before it would otherwise stop.
thickness(number):
1.0Line thickness, generally measured in
line-thickness.height(dimension, in staff space):
0.6666Height of an object in
staff-spaceunits.minimum-length(dimension, in staff space):
2.0Try to make a spanner at least this long, normally in the horizontal direction. This requires an appropriate callback for the
springs-and-rodsproperty. If added to aTie, this sets the minimum distance between noteheads.bound-padding(number):
1.0The amount of padding to insert around spanner bounds.
self-alignment-Y(number):
0Like
self-alignment-Xbut for the Y axis.Y-offset(number):
ly:self-alignment-interface::y-aligned-on-selfThe vertical amount that this object is moved relative to its Y-parent.
This object supports the following interface(s): spanner-interface, self-alignment-interface, line-interface, hairpin-interface, dynamic-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < Hairpin ] | [ Up : All layout objects ] | [ HorizontalBracket > ] | ||
3.1.44 HarmonicParenthesesItem
HarmonicParenthesesItem objects are created by: Tab_harmonic_engraver.
Standard settings:
stencil(unknown):
parentheses-item::printThe symbol to print.
padding(dimension, in staff space):
0Add this much extra space between objects that are next to each other.
stencils(list):
parentheses-item::calc-angled-bracket-stencilsMultiple stencils, used as intermediate value.
This object supports the following interface(s): parentheses-interface, item-interface, font-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < HarmonicParenthesesItem ] | [ Up : All layout objects ] | [ InstrumentName > ] | ||
3.1.45 HorizontalBracket
HorizontalBracket objects are created by: Horizontal_bracket_engraver.
Standard settings:
thickness(number):
1.0Line thickness, generally measured in
line-thickness.stencil(unknown):
ly:horizontal-bracket::printThe symbol to print.
Y-offset(number):
ly:side-position-interface::y-aligned-sideThe vertical amount that this object is moved relative to its Y-parent.
connect-to-neighbor(pair):
ly:tuplet-bracket::calc-connect-to-neighborsPair of booleans, indicating whether this grob looks as a continued break.
padding(dimension, in staff space):
0.2Add this much extra space between objects that are next to each other.
staff-padding(dimension, in staff space):
0.2Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
direction(direction):
-1If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.side-axis(number):
1If the value is
#X(or equivalently0), the object is placed horizontally next to the other object. If the value is#Yor1, it is placed vertically.bracket-flare(pair of numbers):
'(0.5 . 0.5)A pair of numbers specifying how much edges of brackets should slant outward. Value
0.0means straight edges.
This object supports the following interface(s): spanner-interface, side-position-interface, line-interface, horizontal-bracket-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < HorizontalBracket ] | [ Up : All layout objects ] | [ InstrumentSwitch > ] | ||
3.1.46 InstrumentName
InstrumentName objects are created by: Instrument_name_engraver.
Standard settings:
padding(dimension, in staff space):
0.3Add this much extra space between objects that are next to each other.
stencil(unknown):
ly:system-start-text::printThe symbol to print.
X-offset(number):
ly:side-position-interface::x-aligned-sideThe horizontal amount that this object is moved relative to its X-parent.
direction(direction):
-1If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.self-alignment-Y(number):
0Like
self-alignment-Xbut for the Y axis.self-alignment-X(number):
0Specify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified.
This object supports the following interface(s): system-start-text-interface, spanner-interface, side-position-interface, self-alignment-interface, font-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < InstrumentName ] | [ Up : All layout objects ] | [ KeyCancellation > ] | ||
3.1.47 InstrumentSwitch
InstrumentSwitch objects are created by: Instrument_switch_engraver.
Standard settings:
padding(dimension, in staff space):
0.5Add this much extra space between objects that are next to each other.
stencil(unknown):
ly:text-interface::printThe symbol to print.
Y-offset(number):
ly:side-position-interface::y-aligned-sideThe vertical amount that this object is moved relative to its Y-parent.
X-offset(number):
ly:self-alignment-interface::x-aligned-on-selfThe horizontal amount that this object is moved relative to its X-parent.
staff-padding(dimension, in staff space):
0.5Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
direction(direction):
1If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.side-axis(number):
1If the value is
#X(or equivalently0), the object is placed horizontally next to the other object. If the value is#Yor1, it is placed vertically.self-alignment-X(number):
-1Specify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified.outside-staff-priority(number):
500If set, the grob is positioned outside the staff in such a way as to avoid all collisions. In case of a potential collision, the grob with the smaller
outside-staff-priorityis closer to the staff.extra-spacing-width(pair of numbers):
'(+inf.0 . -inf.0)In the horizontal spacing problem, we pad each item by this amount (by adding the ‘car’ on the left side of the item and adding the ‘cdr’ on the right side of the item). In order to make a grob take up no horizontal space at all, set this to
(+inf.0 . -inf.0).
This object supports the following interface(s): text-interface, side-position-interface, self-alignment-interface, item-interface, font-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < InstrumentSwitch ] | [ Up : All layout objects ] | [ KeySignature > ] | ||
3.1.48 KeyCancellation
KeyCancellation objects are created by: Key_engraver.
Standard settings:
stencil(unknown):
ly:key-signature-interface::printThe symbol to print.
glyph-name-alist(list):
'((0 . accidentals.natural))An alist of key-string pairs.
space-alist(list):
'((time-signature extra-space . 1.25) (staff-bar extra-space . 0.6) (key-signature extra-space . 0.5) (right-edge extra-space . 0.5) (first-note fixed-space . 2.5))A table that specifies distances between prefatory items, like clef and time-signature. The format is an alist of spacing tuples:
(break-align-symbol type . distance), where type can be the symbolsminimum-spaceorextra-space.Y-offset(number):
ly:staff-symbol-referencer::callbackThe vertical amount that this object is moved relative to its Y-parent.
break-align-symbol(symbol):
'key-cancellationThis key is used for aligning and spacing breakable items.
break-visibility(vector):
#(#t #t #f)A vector of 3 booleans,
#(end-of-line unbroken begin-of-line).#tmeans visible,#fmeans killed.non-musical(boolean):
#tTrue if the grob belongs to a
NonMusicalPaperColumn.
This object supports the following interface(s): staff-symbol-referencer-interface, key-signature-interface, key-cancellation-interface, item-interface, font-interface, break-aligned-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < KeyCancellation ] | [ Up : All layout objects ] | [ LaissezVibrerTie > ] | ||
3.1.49 KeySignature
KeySignature objects are created by: Key_engraver.
Standard settings:
stencil(unknown):
ly:key-signature-interface::printThe symbol to print.
avoid-slur(symbol):
'insideMethod of handling slur collisions. Choices are
around,inside,outside. If unset, scripts and slurs ignore each other.aroundonly moves the script if there is a collision;outsidealways moves the script.glyph-name-alist(list):
'((0 . accidentals.natural) (-1/2 . accidentals.flat) (1/2 . accidentals.sharp) (1 . accidentals.doublesharp) (-1 . accidentals.flatflat) (3/4 . accidentals.sharp.slashslash.stemstemstem) (1/4 . accidentals.sharp.slashslash.stem) (-1/4 . accidentals.mirroredflat) (-3/4 . accidentals.mirroredflat.flat))An alist of key-string pairs.
space-alist(list):
'((time-signature extra-space . 1.15) (staff-bar extra-space . 1.1) (right-edge extra-space . 0.5) (first-note fixed-space . 2.5))A table that specifies distances between prefatory items, like clef and time-signature. The format is an alist of spacing tuples:
(break-align-symbol type . distance), where type can be the symbolsminimum-spaceorextra-space.Y-offset(number):
ly:staff-symbol-referencer::callbackThe vertical amount that this object is moved relative to its Y-parent.
break-align-symbol(symbol):
'key-signatureThis key is used for aligning and spacing breakable items.
break-align-anchor(number):
ly:break-aligned-interface::calc-extent-aligned-anchorGrobs aligned to this break-align grob will have their X-offsets shifted by this number. In bar lines, for example, this is used to position grobs relative to the (visual) center of the bar line.
break-visibility(vector):
#(#f #f #t)A vector of 3 booleans,
#(end-of-line unbroken begin-of-line).#tmeans visible,#fmeans killed.non-musical(boolean):
#tTrue if the grob belongs to a
NonMusicalPaperColumn.
This object supports the following interface(s): staff-symbol-referencer-interface, key-signature-interface, item-interface, font-interface, break-aligned-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < KeySignature ] | [ Up : All layout objects ] | [ LaissezVibrerTieColumn > ] | ||
3.1.50 LaissezVibrerTie
LaissezVibrerTie objects are created by: Laissez_vibrer_engraver.
Standard settings:
stencil(unknown):
ly:tie::printThe symbol to print.
control-points(list):
ly:semi-tie::calc-control-pointsList of offsets (number pairs) that form control points for the tie, slur, or bracket shape. For Béziers, this should list the control points of a third-order Bézier curve.
direction(direction):
ly:tie::calc-directionIf
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.head-direction(direction):
-1Are the note heads left or right in a semitie?
thickness(number):
1.0Line thickness, generally measured in
line-thickness.
This object supports the following interface(s): semi-tie-interface, item-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < LaissezVibrerTie ] | [ Up : All layout objects ] | [ LedgerLineSpanner > ] | ||
3.1.51 LaissezVibrerTieColumn
LaissezVibrerTieColumn objects are created by: Laissez_vibrer_engraver.
Standard settings:
X-extent(pair of numbers):
#fHard coded extent in X direction.
Y-extent(pair of numbers):
#fHard coded extent in Y direction.
head-direction(direction):
-1Are the note heads left or right in a semitie?
This object supports the following interface(s): semi-tie-column-interface, item-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < LaissezVibrerTieColumn ] | [ Up : All layout objects ] | [ LeftEdge > ] | ||
3.1.52 LedgerLineSpanner
LedgerLineSpanner objects are created by: Ledger_line_engraver.
Standard settings:
springs-and-rods(boolean):
ly:ledger-line-spanner::set-spacing-rodsDummy variable for triggering spacing routines.
stencil(unknown):
ly:ledger-line-spanner::printThe symbol to print.
X-extent(pair of numbers):
#fHard coded extent in X direction.
Y-extent(pair of numbers):
#fHard coded extent in Y direction.
minimum-length-fraction(number):
0.25Minimum length of ledger line as fraction of note head size.
length-fraction(number):
0.25Multiplier for lengths. Used for determining ledger lines and stem lengths.
layer(integer):
0The output layer (a value between 0 and 2): Layers define the order of printing objects. Objects in lower layers are overprinted by objects in higher layers.
This object supports the following interface(s): spanner-interface, ledger-line-spanner-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < LedgerLineSpanner ] | [ Up : All layout objects ] | [ LigatureBracket > ] | ||
3.1.53 LeftEdge
LeftEdge objects are created by: Break_align_engraver.
Standard settings:
break-align-symbol(symbol):
'left-edgeThis key is used for aligning and spacing breakable items.
break-align-anchor(number):
ly:break-aligned-interface::calc-extent-aligned-anchorGrobs aligned to this break-align grob will have their X-offsets shifted by this number. In bar lines, for example, this is used to position grobs relative to the (visual) center of the bar line.
X-extent(pair of numbers):
'(0 . 0)Hard coded extent in X direction.
non-musical(boolean):
#tTrue if the grob belongs to a
NonMusicalPaperColumn.break-visibility(vector):
#(#t #f #t)A vector of 3 booleans,
#(end-of-line unbroken begin-of-line).#tmeans visible,#fmeans killed.space-alist(list):
'((custos extra-space . 0.0) (ambitus extra-space . 2.0) (time-signature extra-space . 1.0) (staff-bar extra-space . 0.0) (breathing-sign minimum-space . 0.0) (clef extra-space . 0.8) (first-note fixed-space . 2.0) (right-edge extra-space . 0.0) (key-signature extra-space . 0.0) (key-cancellation extra-space . 0.0))A table that specifies distances between prefatory items, like clef and time-signature. The format is an alist of spacing tuples:
(break-align-symbol type . distance), where type can be the symbolsminimum-spaceorextra-space.
This object supports the following interface(s): item-interface, break-aligned-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < LeftEdge ] | [ Up : All layout objects ] | [ LyricExtender > ] | ||
3.1.54 LigatureBracket
LigatureBracket objects are created by: Ligature_bracket_engraver.
Standard settings:
padding(dimension, in staff space):
2.0Add this much extra space between objects that are next to each other.
thickness(number):
1.6Line thickness, generally measured in
line-thickness.edge-height(pair):
'(0.7 . 0.7)A pair of numbers specifying the heights of the vertical edges:
(left-height . right-height).shorten-pair(pair of numbers):
'(-0.2 . -0.2)The lengths to shorten a text-spanner on both sides, for example a pedal bracket. Positive values shorten the text-spanner, while negative values lengthen it.
direction(direction):
1If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.positions(pair of numbers):
ly:tuplet-bracket::calc-positionsPair of staff coordinates
(left . right), where both left and right are instaff-spaceunits of the current staff. For slurs, this value selects which slur candidate to use; if extreme positions are requested, the closest one is taken.stencil(unknown):
ly:tuplet-bracket::printThe symbol to print.
staff-padding(dimension, in staff space):
0.25Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
connect-to-neighbor(pair):
ly:tuplet-bracket::calc-connect-to-neighborsPair of booleans, indicating whether this grob looks as a continued break.
control-points(list):
ly:tuplet-bracket::calc-control-pointsList of offsets (number pairs) that form control points for the tie, slur, or bracket shape. For Béziers, this should list the control points of a third-order Bézier curve.
This object supports the following interface(s): tuplet-bracket-interface, spanner-interface, line-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < LigatureBracket ] | [ Up : All layout objects ] | [ LyricHyphen > ] | ||
3.1.55 LyricExtender
LyricExtender objects are created by: Extender_engraver.
Standard settings:
stencil(unknown):
ly:lyric-extender::printThe symbol to print.
thickness(number):
0.8Line thickness, generally measured in
line-thickness.minimum-length(dimension, in staff space):
1.5Try to make a spanner at least this long, normally in the horizontal direction. This requires an appropriate callback for the
springs-and-rodsproperty. If added to aTie, this sets the minimum distance between noteheads.Y-extent(pair of numbers):
'(0 . 0)Hard coded extent in Y direction.
This object supports the following interface(s): spanner-interface, lyric-interface, lyric-extender-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < LyricExtender ] | [ Up : All layout objects ] | [ LyricSpace > ] | ||
3.1.56 LyricHyphen
LyricHyphen objects are created by: Hyphen_engraver.
Standard settings:
thickness(number):
1.3Line thickness, generally measured in
line-thickness.height(dimension, in staff space):
0.42Height of an object in
staff-spaceunits.dash-period(number):
10.0The length of one dash together with whitespace. If negative, no line is drawn at all.
length(dimension, in staff space):
0.66User override for the stem length of unbeamed stems.
minimum-length(dimension, in staff space):
0.3Try to make a spanner at least this long, normally in the horizontal direction. This requires an appropriate callback for the
springs-and-rodsproperty. If added to aTie, this sets the minimum distance between noteheads.minimum-distance(dimension, in staff space):
0.1Minimum distance between rest and notes or beam.
padding(dimension, in staff space):
0.07Add this much extra space between objects that are next to each other.
springs-and-rods(boolean):
ly:lyric-hyphen::set-spacing-rodsDummy variable for triggering spacing routines.
stencil(unknown):
ly:lyric-hyphen::printThe symbol to print.
Y-extent(pair of numbers):
'(0 . 0)Hard coded extent in Y direction.
This object supports the following interface(s): spanner-interface, lyric-interface, lyric-hyphen-interface, font-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < LyricHyphen ] | [ Up : All layout objects ] | [ LyricText > ] | ||
3.1.57 LyricSpace
LyricSpace objects are created by: Hyphen_engraver.
Standard settings:
minimum-distance(dimension, in staff space):
0.45Minimum distance between rest and notes or beam.
springs-and-rods(boolean):
ly:lyric-hyphen::set-spacing-rodsDummy variable for triggering spacing routines.
padding(dimension, in staff space):
0.0Add this much extra space between objects that are next to each other.
Y-extent(pair of numbers):
#fHard coded extent in Y direction.
X-extent(pair of numbers):
#fHard coded extent in X direction.
This object supports the following interface(s): spanner-interface, lyric-hyphen-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < LyricSpace ] | [ Up : All layout objects ] | [ MeasureGrouping > ] | ||
3.1.58 LyricText
LyricText objects are created by: Lyric_engraver.
Standard settings:
stencil(unknown):
lyric-text::printThe symbol to print.
text(markup):
#<procedure #f (grob)>Text markup. See Formatting text.
X-offset(number):
ly:self-alignment-interface::aligned-on-x-parentThe horizontal amount that this object is moved relative to its X-parent.
self-alignment-X(number):
0Specify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified.word-space(dimension, in staff space):
0.6Space to insert between words in texts.
font-series(symbol):
'bold-narrowSelect the series of a font. Choices include
medium,bold,bold-narrow, etc.font-size(number):
1.0The font size, compared to the ‘normal’ size.
0is style-sheet’s normal size,-1is smaller,+1is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. Fractional values are allowed.extra-spacing-width(pair of numbers):
'(0.0 . 0.0)In the horizontal spacing problem, we pad each item by this amount (by adding the ‘car’ on the left side of the item and adding the ‘cdr’ on the right side of the item). In order to make a grob take up no horizontal space at all, set this to
(+inf.0 . -inf.0).
This object supports the following interface(s): text-interface, self-alignment-interface, rhythmic-grob-interface, lyric-syllable-interface, item-interface, font-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < LyricText ] | [ Up : All layout objects ] | [ MelodyItem > ] | ||
3.1.59 MeasureGrouping
MeasureGrouping objects are created by: Measure_grouping_engraver.
Standard settings:
Y-offset(number):
ly:side-position-interface::y-aligned-sideThe vertical amount that this object is moved relative to its Y-parent.
side-axis(number):
1If the value is
#X(or equivalently0), the object is placed horizontally next to the other object. If the value is#Yor1, it is placed vertically.stencil(unknown):
ly:measure-grouping::printThe symbol to print.
padding(dimension, in staff space):
2Add this much extra space between objects that are next to each other.
direction(direction):
1If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.thickness(number):
1Line thickness, generally measured in
line-thickness.height(dimension, in staff space):
2.0Height of an object in
staff-spaceunits.staff-padding(dimension, in staff space):
3Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
This object supports the following interface(s): spanner-interface, side-position-interface, measure-grouping-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < MeasureGrouping ] | [ Up : All layout objects ] | [ MensuralLigature > ] | ||
3.1.60 MelodyItem
MelodyItem objects are created by: Melody_engraver.
Standard settings:
neutral-direction(direction):
-1Which direction to take in the center of the staff.
This object supports the following interface(s): melody-spanner-interface, item-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < MelodyItem ] | [ Up : All layout objects ] | [ MetronomeMark > ] | ||
3.1.61 MensuralLigature
MensuralLigature objects are created by: Mensural_ligature_engraver.
Standard settings:
thickness(number):
1.4Line thickness, generally measured in
line-thickness.stencil(unknown):
ly:mensural-ligature::printThe symbol to print.
This object supports the following interface(s): spanner-interface, mensural-ligature-interface, font-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < MensuralLigature ] | [ Up : All layout objects ] | [ MultiMeasureRest > ] | ||
3.1.62 MetronomeMark
MetronomeMark objects are created by: Metronome_mark_engraver.
Standard settings:
stencil(unknown):
ly:text-interface::printThe symbol to print.
Y-offset(number):
ly:side-position-interface::y-aligned-sideThe vertical amount that this object is moved relative to its Y-parent.
direction(direction):
1If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.padding(dimension, in staff space):
0.8Add this much extra space between objects that are next to each other.
side-axis(number):
1If the value is
#X(or equivalently0), the object is placed horizontally next to the other object. If the value is#Yor1, it is placed vertically.extra-spacing-width(pair of numbers):
'(+inf.0 . -inf.0)In the horizontal spacing problem, we pad each item by this amount (by adding the ‘car’ on the left side of the item and adding the ‘cdr’ on the right side of the item). In order to make a grob take up no horizontal space at all, set this to
(+inf.0 . -inf.0).outside-staff-priority(number):
1000If set, the grob is positioned outside the staff in such a way as to avoid all collisions. In case of a potential collision, the grob with the smaller
outside-staff-priorityis closer to the staff.
This object supports the following interface(s): text-interface, side-position-interface, metronome-mark-interface, item-interface, font-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < MetronomeMark ] | [ Up : All layout objects ] | [ MultiMeasureRestNumber > ] | ||
3.1.63 MultiMeasureRest
MultiMeasureRest objects are created by: Multi_measure_rest_engraver.
Standard settings:
stencil(unknown):
ly:multi-measure-rest::printThe symbol to print.
springs-and-rods(boolean):
ly:multi-measure-rest::set-spacing-rodsDummy variable for triggering spacing routines.
Y-offset(number):
ly:staff-symbol-referencer::callbackThe vertical amount that this object is moved relative to its Y-parent.
staff-position(number):
0Vertical position, measured in half staff spaces, counted from the middle line.
expand-limit(integer):
10Maximum number of measures expanded in church rests.
thick-thickness(number):
6.6Bar line thickness, measured in
line-thickness.hair-thickness(number):
2.0Thickness of the thin line in a bar line.
padding(dimension, in staff space):
1Add this much extra space between objects that are next to each other.
This object supports the following interface(s): staff-symbol-referencer-interface, spanner-interface, rest-interface, multi-measure-rest-interface, multi-measure-interface, font-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < MultiMeasureRest ] | [ Up : All layout objects ] | [ MultiMeasureRestText > ] | ||
3.1.64 MultiMeasureRestNumber
MultiMeasureRestNumber objects are created by: Multi_measure_rest_engraver.
Standard settings:
bound-padding(number):
2.0The amount of padding to insert around spanner bounds.
springs-and-rods(boolean):
ly:multi-measure-rest::set-text-rodsDummy variable for triggering spacing routines.
stencil(unknown):
ly:text-interface::printThe symbol to print.
X-offset(number):
#<simple-closure (#<primitive-generic +> #<simple-closure (#<primitive-procedure ly:self-alignment-interface::x-aligned-on-self>) > #<simple-closure (#<primitive-procedure ly:self-alignment-interface::x-centered-on-y-parent>) >) >The horizontal amount that this object is moved relative to its X-parent.
Y-offset(number):
ly:side-position-interface::y-aligned-sideThe vertical amount that this object is moved relative to its Y-parent.
side-axis(number):
1If the value is
#X(or equivalently0), the object is placed horizontally next to the other object. If the value is#Yor1, it is placed vertically.self-alignment-X(number):
0Specify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified.direction(direction):
1If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.padding(dimension, in staff space):
0.4Add this much extra space between objects that are next to each other.
staff-padding(dimension, in staff space):
0.4Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
font-encoding(symbol):
'fetaNumberThe font encoding is the broadest category for selecting a font. Currently, only lilypond’s system fonts (Emmentaler and Aybabtu) are using this property. Available values are
fetaMusic(Emmentaler),fetaBraces(Aybabtu),fetaNumber(Emmentaler), andfetaDynamic(Emmentaler).
This object supports the following interface(s): text-interface, spanner-interface, side-position-interface, self-alignment-interface, multi-measure-interface, font-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < MultiMeasureRestNumber ] | [ Up : All layout objects ] | [ NonMusicalPaperColumn > ] | ||
3.1.65 MultiMeasureRestText
MultiMeasureRestText objects are created by: Multi_measure_rest_engraver.
Standard settings:
stencil(unknown):
ly:text-interface::printThe symbol to print.
X-offset(number):
#<simple-closure (#<primitive-generic +> #<simple-closure (#<primitive-procedure ly:self-alignment-interface::x-centered-on-y-parent>) > #<simple-closure (#<primitive-procedure ly:self-alignment-interface::x-aligned-on-self>) >) >The horizontal amount that this object is moved relative to its X-parent.
Y-offset(number):
ly:side-position-interface::y-aligned-sideThe vertical amount that this object is moved relative to its Y-parent.
self-alignment-X(number):
0Specify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified.direction(direction):
1If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.padding(dimension, in staff space):
0.2Add this much extra space between objects that are next to each other.
staff-padding(dimension, in staff space):
0.25Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
outside-staff-priority(number):
450If set, the grob is positioned outside the staff in such a way as to avoid all collisions. In case of a potential collision, the grob with the smaller
outside-staff-priorityis closer to the staff.
This object supports the following interface(s): text-interface, spanner-interface, side-position-interface, self-alignment-interface, multi-measure-interface, font-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < MultiMeasureRestText ] | [ Up : All layout objects ] | [ NoteCollision > ] | ||
3.1.66 NonMusicalPaperColumn
NonMusicalPaperColumn objects are created by: Paper_column_engraver.
Standard settings:
allow-loose-spacing(boolean):
#tIf set, column can be detached from main spacing.
axes(list):
'(0)List of axis numbers. In the case of alignment grobs, this should contain only one number.
before-line-breaking(boolean):
ly:paper-column::before-line-breakingDummy property, used to trigger a callback function.
X-extent(pair of numbers):
ly:axis-group-interface::widthHard coded extent in X direction.
horizontal-skylines(unknown):
ly:separation-item::calc-skylinesTwo skylines, one to the left and one to the right of this grob.
non-musical(boolean):
#tTrue if the grob belongs to a
NonMusicalPaperColumn.line-break-permission(symbol):
'allowInstructs the line breaker on whether to put a line break at this column. Can be
forceorallow.page-break-permission(symbol):
'allowInstructs the page breaker on whether to put a page break at this column. Can be
forceorallow.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.
This object supports the following interface(s): spaceable-grob-interface, separation-item-interface, paper-column-interface, item-interface, font-interface, axis-group-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < NonMusicalPaperColumn ] | [ Up : All layout objects ] | [ NoteColumn > ] | ||
3.1.67 NoteCollision
NoteCollision objects are created by: Collision_engraver.
Standard settings:
axes(list):
'(0 1)List of axis numbers. In the case of alignment grobs, this should contain only one number.
X-extent(pair of numbers):
ly:axis-group-interface::widthHard coded extent in X direction.
Y-extent(pair of numbers):
ly:axis-group-interface::heightHard coded extent in Y direction.
prefer-dotted-right(boolean):
#tFor note collisions, prefer to shift dotted up-note to the right, rather than shifting just the dot.
This object supports the following interface(s): note-collision-interface, item-interface, axis-group-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < NoteCollision ] | [ Up : All layout objects ] | [ NoteHead > ] | ||
3.1.68 NoteColumn
NoteColumn objects are created by: Rhythmic_column_engraver.
Standard settings:
axes(list):
'(0 1)List of axis numbers. In the case of alignment grobs, this should contain only one number.
X-extent(pair of numbers):
ly:axis-group-interface::widthHard coded extent in X direction.
Y-extent(pair of numbers):
ly:axis-group-interface::heightHard coded extent in Y direction.
horizontal-skylines(unknown):
ly:separation-item::calc-skylinesTwo skylines, one to the left and one to the right of this grob.
This object supports the following interface(s): separation-item-interface, note-column-interface, item-interface, axis-group-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < NoteColumn ] | [ Up : All layout objects ] | [ NoteName > ] | ||
3.1.69 NoteHead
NoteHead objects are created by: Completion_heads_engraver, Drum_notes_engraver and Note_heads_engraver.
Standard settings:
stencil(unknown):
ly:note-head::printThe symbol to print.
duration-log(integer):
note-head::calc-duration-logThe 2-log of the note head duration, i.e.,
0= whole note,1= half note, etc.stem-attachment(pair of numbers):
ly:note-head::calc-stem-attachmentAn
(x . y)pair where the stem attaches to the notehead.Y-offset(number):
ly:staff-symbol-referencer::callbackThe vertical amount that this object is moved relative to its Y-parent.
X-offset(number):
ly:note-head::stem-x-shiftThe horizontal amount that this object is moved relative to its X-parent.
This object supports the following interface(s): vaticana-ligature-interface, staff-symbol-referencer-interface, rhythmic-head-interface, rhythmic-grob-interface, note-head-interface, mensural-ligature-interface, ledgered-interface, item-interface, gregorian-ligature-interface, font-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < NoteHead ] | [ Up : All layout objects ] | [ NoteSpacing > ] | ||
3.1.70 NoteName
NoteName objects are created by: Note_name_engraver.
Standard settings:
stencil(unknown):
ly:text-interface::printThe symbol to print.
This object supports the following interface(s): text-interface, note-name-interface, item-interface, font-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < NoteName ] | [ Up : All layout objects ] | [ OctavateEight > ] | ||
3.1.71 NoteSpacing
NoteSpacing objects are created by: Note_spacing_engraver.
Standard settings:
stem-spacing-correction(number):
0.5Optical correction amount for stems that are placed in tight configurations. For opposite directions, this amount is the correction for two normal sized stems that overlap completely.
same-direction-correction(number):
0.25Optical correction amount for stems that are placed in tight configurations. This amount is used for stems with the same direction to compensate for note head to stem distance.
space-to-barline(boolean):
#tIf set, the distance between a note and the following non-musical column will be measured to the bar line instead of to the beginning of the non-musical column. If there is a clef change followed by a bar line, for example, this means that we will try to space the non-musical column as though the clef is not there.
knee-spacing-correction(number):
1.0Factor for the optical correction amount for kneed beams. Set between
0for no correction and1for full correction.
This object supports the following interface(s): spacing-interface, note-spacing-interface, item-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < NoteSpacing ] | [ Up : All layout objects ] | [ OttavaBracket > ] | ||
3.1.72 OctavateEight
OctavateEight objects are created by: Clef_engraver.
Standard settings:
self-alignment-X(number):
0Specify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified.break-visibility(vector):
#(#f #f #t)A vector of 3 booleans,
#(end-of-line unbroken begin-of-line).#tmeans visible,#fmeans killed.X-offset(number):
#<simple-closure (#<primitive-generic +> #<simple-closure (#<primitive-procedure ly:self-alignment-interface::x-aligned-on-self>) > #<simple-closure (#<primitive-procedure ly:self-alignment-interface::centered-on-x-parent>) >) >The horizontal amount that this object is moved relative to its X-parent.
Y-offset(number):
ly:side-position-interface::y-aligned-sideThe vertical amount that this object is moved relative to its Y-parent.
stencil(unknown):
ly:text-interface::printThe symbol to print.
font-shape(symbol):
'italicSelect the shape of a font. Choices include
upright,italic,caps.staff-padding(dimension, in staff space):
0.2Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
font-size(number):
-4The font size, compared to the ‘normal’ size.
0is style-sheet’s normal size,-1is smaller,+1is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. Fractional values are allowed.
This object supports the following interface(s): text-interface, side-position-interface, self-alignment-interface, item-interface, font-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < OctavateEight ] | [ Up : All layout objects ] | [ PaperColumn > ] | ||
3.1.73 OttavaBracket
OttavaBracket objects are created by: Ottava_spanner_engraver.
Standard settings:
Y-offset(number):
ly:side-position-interface::y-aligned-sideThe vertical amount that this object is moved relative to its Y-parent.
stencil(unknown):
ly:ottava-bracket::printThe symbol to print.
font-shape(symbol):
'italicSelect the shape of a font. Choices include
upright,italic,caps.shorten-pair(pair of numbers):
'(0.0 . -0.6)The lengths to shorten a text-spanner on both sides, for example a pedal bracket. Positive values shorten the text-spanner, while negative values lengthen it.
staff-padding(dimension, in staff space):
1.0Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
padding(dimension, in staff space):
0.5Add this much extra space between objects that are next to each other.
minimum-length(dimension, in staff space):
1.0Try to make a spanner at least this long, normally in the horizontal direction. This requires an appropriate callback for the
springs-and-rodsproperty. If added to aTie, this sets the minimum distance between noteheads.style(symbol):
'dashed-lineThis setting determines in what style a grob is typeset. Valid choices depend on the
stencilcallback reading this property.dash-fraction(number):
0.3Size of the dashes, relative to
dash-period. Should be between0.0(no line) and1.0(continuous line).edge-height(pair):
'(0 . 1.2)A pair of numbers specifying the heights of the vertical edges:
(left-height . right-height).direction(direction):
1If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.outside-staff-priority(number):
400If set, the grob is positioned outside the staff in such a way as to avoid all collisions. In case of a potential collision, the grob with the smaller
outside-staff-priorityis closer to the staff.
This object supports the following interface(s): text-interface, spanner-interface, side-position-interface, ottava-bracket-interface, line-interface, horizontal-bracket-interface, font-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < OttavaBracket ] | [ Up : All layout objects ] | [ ParenthesesItem > ] | ||
3.1.74 PaperColumn
PaperColumn objects are created by: Paper_column_engraver.
Standard settings:
axes(list):
'(0)List of axis numbers. In the case of alignment grobs, this should contain only one number.
allow-loose-spacing(boolean):
#tIf set, column can be detached from main spacing.
before-line-breaking(boolean):
ly:paper-column::before-line-breakingDummy property, used to trigger a callback function.
horizontal-skylines(unknown):
ly:separation-item::calc-skylinesTwo skylines, one to the left and one to the right of this grob.
X-extent(pair of numbers):
ly:axis-group-interface::widthHard coded extent in X direction.
This object supports the following interface(s): spaceable-grob-interface, separation-item-interface, paper-column-interface, item-interface, font-interface, axis-group-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < PaperColumn ] | [ Up : All layout objects ] | [ PercentRepeat > ] | ||
3.1.75 ParenthesesItem
ParenthesesItem objects are created by: Parenthesis_engraver.
Standard settings:
stencil(unknown):
parentheses-item::printThe symbol to print.
stencils(list):
parentheses-item::calc-parenthesis-stencilsMultiple stencils, used as intermediate value.
font-size(number):
-6The font size, compared to the ‘normal’ size.
0is style-sheet’s normal size,-1is smaller,+1is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. Fractional values are allowed.padding(dimension, in staff space):
0.2Add this much extra space between objects that are next to each other.
This object supports the following interface(s): parentheses-interface, item-interface, font-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < ParenthesesItem ] | [ Up : All layout objects ] | [ PercentRepeatCounter > ] | ||
3.1.76 PercentRepeat
PercentRepeat objects are created by: Percent_repeat_engraver.
Standard settings:
springs-and-rods(boolean):
ly:multi-measure-rest::set-spacing-rodsDummy variable for triggering spacing routines.
stencil(unknown):
ly:multi-measure-rest::percentThe symbol to print.
slope(number):
1.0The slope of this object.
thickness(number):
0.48Line thickness, generally measured in
line-thickness.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 and Aybabtu) are using this property. Available values are
fetaMusic(Emmentaler),fetaBraces(Aybabtu),fetaNumber(Emmentaler), andfetaDynamic(Emmentaler).
This object supports the following interface(s): spanner-interface, percent-repeat-interface, multi-measure-rest-interface, font-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < PercentRepeat ] | [ Up : All layout objects ] | [ PhrasingSlur > ] | ||
3.1.77 PercentRepeatCounter
PercentRepeatCounter objects are created by: Percent_repeat_engraver.
Standard settings:
stencil(unknown):
ly:text-interface::printThe symbol to print.
X-offset(number):
#<simple-closure (#<primitive-generic +> #<simple-closure (#<primitive-procedure ly:self-alignment-interface::x-centered-on-y-parent>) > #<simple-closure (#<primitive-procedure ly:self-alignment-interface::x-aligned-on-self>) >) >The horizontal amount that this object is moved relative to its X-parent.
Y-offset(number):
ly:side-position-interface::y-aligned-sideThe vertical amount that this object is moved relative to its Y-parent.
self-alignment-X(number):
0Specify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified.direction(direction):
1If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.padding(dimension, in staff space):
0.2Add this much extra space between objects that are next to each other.
staff-padding(dimension, in staff space):
0.25Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
font-size(number):
-2The font size, compared to the ‘normal’ size.
0is style-sheet’s normal size,-1is smaller,+1is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. Fractional values are allowed.font-encoding(symbol):
'fetaNumberThe font encoding is the broadest category for selecting a font. Currently, only lilypond’s system fonts (Emmentaler and Aybabtu) are using this property. Available values are
fetaMusic(Emmentaler),fetaBraces(Aybabtu),fetaNumber(Emmentaler), andfetaDynamic(Emmentaler).
This object supports the following interface(s): text-interface, spanner-interface, side-position-interface, self-alignment-interface, percent-repeat-interface, font-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < PercentRepeatCounter ] | [ Up : All layout objects ] | [ PianoPedalBracket > ] | ||
3.1.78 PhrasingSlur
PhrasingSlur objects are created by: Phrasing_slur_engraver.
Standard settings:
control-points(list):
ly:slur::calc-control-pointsList of offsets (number pairs) that form control points for the tie, slur, or bracket shape. For Béziers, this should list the control points of a third-order Bézier curve.
direction(direction):
ly:slur::calc-directionIf
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.springs-and-rods(boolean):
ly:spanner::set-spacing-rodsDummy variable for triggering spacing routines.
Y-extent(pair of numbers):
ly:slur::heightHard coded extent in Y direction.
stencil(unknown):
ly:slur::printThe symbol to print.
thickness(number):
1.1Line thickness, generally measured in
line-thickness.minimum-length(dimension, in staff space):
1.5Try to make a spanner at least this long, normally in the horizontal direction. This requires an appropriate callback for the
springs-and-rodsproperty. If added to aTie, this sets the minimum distance between noteheads.height-limit(dimension, in staff space):
2.0Maximum slur height: The longer the slur, the closer it is to this height.
ratio(number):
0.333Parameter for slur shape. The higher this number, the quicker the slur attains its
height-limit.
This object supports the following interface(s): spanner-interface, slur-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < PhrasingSlur ] | [ Up : All layout objects ] | [ RehearsalMark > ] | ||
3.1.79 PianoPedalBracket
PianoPedalBracket objects are created by: Piano_pedal_engraver.
Standard settings:
stencil(unknown):
ly:piano-pedal-bracket::printThe symbol to print.
style(symbol):
'lineThis setting determines in what style a grob is typeset. Valid choices depend on the
stencilcallback reading this property.bound-padding(number):
1.0The amount of padding to insert around spanner bounds.
direction(direction):
-1If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.bracket-flare(pair of numbers):
'(0.5 . 0.5)A pair of numbers specifying how much edges of brackets should slant outward. Value
0.0means straight edges.edge-height(pair):
'(1.0 . 1.0)A pair of numbers specifying the heights of the vertical edges:
(left-height . right-height).shorten-pair(pair of numbers):
'(0.0 . 0.0)The lengths to shorten a text-spanner on both sides, for example a pedal bracket. Positive values shorten the text-spanner, while negative values lengthen it.
thickness(number):
1.0Line thickness, generally measured in
line-thickness.
This object supports the following interface(s): spanner-interface, piano-pedal-interface, piano-pedal-bracket-interface, line-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < PianoPedalBracket ] | [ Up : All layout objects ] | [ RepeatSlash > ] | ||
3.1.80 RehearsalMark
RehearsalMark objects are created by: Mark_engraver.
Standard settings:
stencil(unknown):
ly:text-interface::printThe symbol to print.
X-offset(number):
#<simple-closure (#<primitive-generic +> #<simple-closure (#<primitive-procedure ly:break-alignable-interface::self-align-callback>) > #<simple-closure (#<primitive-procedure ly:self-alignment-interface::x-aligned-on-self>) >) >The horizontal amount that this object is moved relative to its X-parent.
Y-offset(number):
ly:side-position-interface::y-aligned-sideThe vertical amount that this object is moved relative to its Y-parent.
extra-spacing-width(pair of numbers):
'(+inf.0 . -inf.0)In the horizontal spacing problem, we pad each item by this amount (by adding the ‘car’ on the left side of the item and adding the ‘cdr’ on the right side of the item). In order to make a grob take up no horizontal space at all, set this to
(+inf.0 . -inf.0).self-alignment-X(number):
0Specify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified.direction(direction):
1If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.non-musical(boolean):
#tTrue if the grob belongs to a
NonMusicalPaperColumn.font-size(number):
2The font size, compared to the ‘normal’ size.
0is style-sheet’s normal size,-1is smaller,+1is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. Fractional values are allowed.baseline-skip(dimension, in staff space):
2Distance between base lines of multiple lines of text.
break-visibility(vector):
#(#f #t #t)A vector of 3 booleans,
#(end-of-line unbroken begin-of-line).#tmeans visible,#fmeans killed.break-align-symbols(list):
'(staff-bar clef)A list of symbols that determine which break-aligned grobs to align this to. If the grob selected by the first symbol in the list is invisible due to break-visibility, we will align to the next grob (and so on).
padding(dimension, in staff space):
0.8Add this much extra space between objects that are next to each other.
outside-staff-priority(number):
1500If set, the grob is positioned outside the staff in such a way as to avoid all collisions. In case of a potential collision, the grob with the smaller
outside-staff-priorityis closer to the staff.
This object supports the following interface(s): text-interface, side-position-interface, self-alignment-interface, mark-interface, item-interface, font-interface, break-alignable-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < RehearsalMark ] | [ Up : All layout objects ] | [ RepeatTie > ] | ||
3.1.81 RepeatSlash
RepeatSlash objects are created by: Slash_repeat_engraver.
Standard settings:
stencil(unknown):
ly:percent-repeat-item-interface::beat-slashThe symbol to print.
thickness(number):
0.48Line thickness, generally measured in
line-thickness.slope(number):
1.7The slope of this object.
This object supports the following interface(s): rhythmic-grob-interface, percent-repeat-item-interface, percent-repeat-interface, item-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < RepeatSlash ] | [ Up : All layout objects ] | [ RepeatTieColumn > ] | ||
3.1.82 RepeatTie
RepeatTie objects are created by: Repeat_tie_engraver.
Standard settings:
stencil(unknown):
ly:tie::printThe symbol to print.
control-points(list):
ly:semi-tie::calc-control-pointsList of offsets (number pairs) that form control points for the tie, slur, or bracket shape. For Béziers, this should list the control points of a third-order Bézier curve.
direction(direction):
ly:tie::calc-directionIf
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.thickness(number):
1.0Line thickness, generally measured in
line-thickness.head-direction(direction):
1Are the note heads left or right in a semitie?
This object supports the following interface(s): semi-tie-interface, item-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < RepeatTie ] | [ Up : All layout objects ] | [ Rest > ] | ||
3.1.83 RepeatTieColumn
RepeatTieColumn objects are created by: Repeat_tie_engraver.
Standard settings:
X-extent(pair of numbers):
#fHard coded extent in X direction.
Y-extent(pair of numbers):
#fHard coded extent in Y direction.
direction(direction):
ly:tie::calc-directionIf
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.head-direction(direction):
ly:semi-tie-column::calc-head-directionAre the note heads left or right in a semitie?
This object supports the following interface(s): semi-tie-column-interface, item-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < RepeatTieColumn ] | [ Up : All layout objects ] | [ RestCollision > ] | ||
3.1.84 Rest
Rest objects are created by: Rest_engraver.
Standard settings:
stencil(unknown):
ly:rest::printThe symbol to print.
duration-log(integer):
stem::calc-duration-logThe 2-log of the note head duration, i.e.,
0= whole note,1= half note, etc.X-extent(pair of numbers):
ly:rest::widthHard coded extent in X direction.
Y-extent(pair of numbers):
ly:rest::heightHard coded extent in Y direction.
Y-offset(number):
ly:rest::y-offset-callbackThe vertical amount that this object is moved relative to its Y-parent.
minimum-distance(dimension, in staff space):
0.25Minimum distance between rest and notes or beam.
This object supports the following interface(s): staff-symbol-referencer-interface, rhythmic-head-interface, rhythmic-grob-interface, rest-interface, item-interface, font-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < Rest ] | [ Up : All layout objects ] | [ Script > ] | ||
3.1.85 RestCollision
RestCollision objects are created by: Rest_collision_engraver.
Standard settings:
minimum-distance(dimension, in staff space):
0.75Minimum distance between rest and notes or beam.
This object supports the following interface(s): rest-collision-interface, item-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < RestCollision ] | [ Up : All layout objects ] | [ ScriptColumn > ] | ||
3.1.86 Script
Script objects are created by: Drum_notes_engraver, New_fingering_engraver and Script_engraver.
Standard settings:
staff-padding(dimension, in staff space):
0.25Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
X-offset(number):
script-interface::calc-x-offsetThe horizontal amount that this object is moved relative to its X-parent.
Y-offset(number):
ly:side-position-interface::y-aligned-sideThe vertical amount that this object is moved relative to its Y-parent.
side-axis(number):
1If the value is
#X(or equivalently0), the object is placed horizontally next to the other object. If the value is#Yor1, it is placed vertically.stencil(unknown):
ly:script-interface::printThe symbol to print.
direction(direction):
ly:script-interface::calc-directionIf
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.font-encoding(symbol):
'fetaMusicThe font encoding is the broadest category for selecting a font. Currently, only lilypond’s system fonts (Emmentaler and Aybabtu) are using this property. Available values are
fetaMusic(Emmentaler),fetaBraces(Aybabtu),fetaNumber(Emmentaler), andfetaDynamic(Emmentaler).
This object supports the following interface(s): side-position-interface, script-interface, item-interface, font-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < Script ] | [ Up : All layout objects ] | [ ScriptRow > ] | ||
3.1.87 ScriptColumn
ScriptColumn objects are created by: Script_column_engraver.
Standard settings:
before-line-breaking(boolean):
ly:script-column::before-line-breakingDummy property, used to trigger a callback function.
This object supports the following interface(s): script-column-interface, item-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < ScriptColumn ] | [ Up : All layout objects ] | [ SeparationItem > ] | ||
3.1.88 ScriptRow
ScriptRow objects are created by: Script_row_engraver.
Standard settings:
before-line-breaking(boolean):
ly:script-column::row-before-line-breakingDummy property, used to trigger a callback function.
This object supports the following interface(s): script-column-interface, item-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < ScriptRow ] | [ Up : All layout objects ] | [ Slur > ] | ||
3.1.89 SeparationItem
SeparationItem objects are not created by any engraver.
Standard settings:
avoid-slur(symbol):
'insideMethod of handling slur collisions. Choices are
around,inside,outside. If unset, scripts and slurs ignore each other.aroundonly moves the script if there is a collision;outsidealways moves the script.X-extent(pair of numbers):
ly:axis-group-interface::widthHard coded extent in X direction.
Y-extent(pair of numbers):
ly:axis-group-interface::heightHard coded extent in Y direction.
horizontal-skylines(unknown):
ly:separation-item::calc-skylinesTwo skylines, one to the left and one to the right of this grob.
stencil(unknown):
ly:separation-item::printThe symbol to print.
This object supports the following interface(s): separation-item-interface, item-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < SeparationItem ] | [ Up : All layout objects ] | [ SostenutoPedal > ] | ||
3.1.90 Slur
Slur objects are created by: Slur_engraver.
Standard settings:
control-points(list):
ly:slur::calc-control-pointsList of offsets (number pairs) that form control points for the tie, slur, or bracket shape. For Béziers, this should list the control points of a third-order Bézier curve.
direction(direction):
ly:slur::calc-directionIf
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.springs-and-rods(boolean):
ly:spanner::set-spacing-rodsDummy variable for triggering spacing routines.
Y-extent(pair of numbers):
ly:slur::heightHard coded extent in Y direction.
stencil(unknown):
ly:slur::printThe symbol to print.
thickness(number):
1.2Line thickness, generally measured in
line-thickness.line-thickness(number):
0.8The thickness of the tie or slur contour.
minimum-length(dimension, in staff space):
1.5Try to make a spanner at least this long, normally in the horizontal direction. This requires an appropriate callback for the
springs-and-rodsproperty. If added to aTie, this sets the minimum distance between noteheads.height-limit(dimension, in staff space):
2.0Maximum slur height: The longer the slur, the closer it is to this height.
ratio(number):
0.25Parameter for slur shape. The higher this number, the quicker the slur attains its
height-limit.avoid-slur(symbol):
'insideMethod of handling slur collisions. Choices are
around,inside,outside. If unset, scripts and slurs ignore each other.aroundonly moves the script if there is a collision;outsidealways moves the script.
This object supports the following interface(s): spanner-interface, slur-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < Slur ] | [ Up : All layout objects ] | [ SostenutoPedalLineSpanner > ] | ||
3.1.91 SostenutoPedal
SostenutoPedal objects are created by: Piano_pedal_engraver.
Standard settings:
stencil(unknown):
ly:text-interface::printThe symbol to print.
direction(direction):
1If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.X-offset(number):
ly:self-alignment-interface::x-aligned-on-selfThe horizontal amount that this object is moved relative to its X-parent.
extra-spacing-width(pair of numbers):
'(+inf.0 . -inf.0)In the horizontal spacing problem, we pad each item by this amount (by adding the ‘car’ on the left side of the item and adding the ‘cdr’ on the right side of the item). In order to make a grob take up no horizontal space at all, set this to
(+inf.0 . -inf.0).padding(dimension, in staff space):
0.0Add this much extra space between objects that are next to each other.
font-shape(symbol):
'italicSelect the shape of a font. Choices include
upright,italic,caps.self-alignment-X(number):
0Specify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified.
This object supports the following interface(s): text-interface, self-alignment-interface, piano-pedal-script-interface, item-interface, font-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < SostenutoPedal ] | [ Up : All layout objects ] | [ SpacingSpanner > ] | ||
3.1.92 SostenutoPedalLineSpanner
SostenutoPedalLineSpanner objects are created by: Piano_pedal_align_engraver.
Standard settings:
axes(list):
'(1)List of axis numbers. In the case of alignment grobs, this should contain only one number.
Y-extent(pair of numbers):
ly:axis-group-interface::heightHard coded extent in Y direction.
X-extent(pair of numbers):
ly:axis-group-interface::widthHard coded extent in X direction.
Y-offset(number):
ly:side-position-interface::y-aligned-sideThe vertical amount that this object is moved relative to its Y-parent.
outside-staff-priority(number):
1000If set, the grob is positioned outside the staff in such a way as to avoid all collisions. In case of a potential collision, the grob with the smaller
outside-staff-priorityis closer to the staff.side-axis(number):
1If the value is
#X(or equivalently0), the object is placed horizontally next to the other object. If the value is#Yor1, it is placed vertically.staff-padding(dimension, in staff space):
1.0Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
padding(dimension, in staff space):
1.2Add this much extra space between objects that are next to each other.
minimum-space(dimension, in staff space):
1.0Minimum distance that the victim should move (after padding).
direction(direction):
-1If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.
This object supports the following interface(s): spanner-interface, side-position-interface, piano-pedal-interface, axis-group-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < SostenutoPedalLineSpanner ] | [ Up : All layout objects ] | [ SpanBar > ] | ||
3.1.93 SpacingSpanner
SpacingSpanner objects are created by: Spacing_engraver.
Standard settings:
springs-and-rods(boolean):
ly:spacing-spanner::set-springsDummy variable for triggering spacing routines.
common-shortest-duration(moment):
ly:spacing-spanner::calc-common-shortest-durationThe most common shortest note length. This is used in spacing. Enlarging this sets the score tighter.
average-spacing-wishes(boolean):
#tIf set, the spacing wishes are averaged over staves.
shortest-duration-space(dimension, in staff space):
2.0Start with this much space for the shortest duration. This is expressed in
spacing-incrementas unit. See also spacing-spanner-interface.spacing-increment(number):
1.2Add this much space for a doubled duration. Typically, the width of a note head. See also spacing-spanner-interface.
base-shortest-duration(moment):
#<Mom 3/16>Spacing is based on the shortest notes in a piece. Normally, pieces are spaced as if notes at least as short as this are present.
This object supports the following interface(s): spanner-interface, spacing-spanner-interface, spacing-options-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < SpacingSpanner ] | [ Up : All layout objects ] | [ StaffSpacing > ] | ||
3.1.94 SpanBar
SpanBar objects are created by: Span_bar_engraver.
Standard settings:
break-align-symbol(symbol):
'staff-barThis key is used for aligning and spacing breakable items.
Y-extent(pair of numbers):
ly:axis-group-interface::heightHard coded extent in Y direction.
layer(integer):
0The output layer (a value between 0 and 2): Layers define the order of printing objects. Objects in lower layers are overprinted by objects in higher layers.
non-musical(boolean):
#tTrue if the grob belongs to a
NonMusicalPaperColumn.stencil(unknown):
ly:span-bar::printThe symbol to print.
bar-size(dimension, in staff space):
ly:span-bar::calc-bar-sizeThe size of a bar line.
X-extent(pair of numbers):
ly:span-bar::widthHard coded extent in X direction.
before-line-breaking(boolean):
ly:span-bar::before-line-breakingDummy property, used to trigger a callback function.
allow-span-bar(boolean):
#tIf false, no inter-staff bar line will be created below this bar line.
kern(dimension, in staff space):
3.0Amount of extra white space to add. For bar lines, this is the amount of space after a thick line.
thin-kern(number):
3.0The space after a hair-line in a bar line.
hair-thickness(number):
1.6Thickness of the thin line in a bar line.
thick-thickness(number):
6.0Bar line thickness, measured in
line-thickness.
This object supports the following interface(s): span-bar-interface, item-interface, font-interface, bar-line-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < SpanBar ] | [ Up : All layout objects ] | [ StaffSymbol > ] | ||
3.1.95 StaffSpacing
StaffSpacing objects are created by: Separating_line_group_engraver.
Standard settings:
non-musical(boolean):
#tTrue if the grob belongs to a
NonMusicalPaperColumn.stem-spacing-correction(number):
0.4Optical correction amount for stems that are placed in tight configurations. For opposite directions, this amount is the correction for two normal sized stems that overlap completely.
This object supports the following interface(s): staff-spacing-interface, spacing-interface, item-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < StaffSpacing ] | [ Up : All layout objects ] | [ StanzaNumber > ] | ||
3.1.96 StaffSymbol
StaffSymbol objects are created by: Staff_symbol_engraver and Tab_staff_symbol_engraver.
Standard settings:
Y-extent(pair of numbers):
ly:staff-symbol::heightHard coded extent in Y direction.
stencil(unknown):
ly:staff-symbol::printThe symbol to print.
line-count(integer):
5The number of staff lines.
ledger-line-thickness(pair of numbers):
'(1.0 . 0.1)The thickness of ledger lines. It is the sum of 2 numbers: The first is the factor for line thickness, and the second for staff space. Both contributions are added.
layer(integer):
0The output layer (a value between 0 and 2): Layers define the order of printing objects. Objects in lower layers are overprinted by objects in higher layers.
This object supports the following interface(s): staff-symbol-interface, spanner-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < StaffSymbol ] | [ Up : All layout objects ] | [ Stem > ] | ||
3.1.97 StanzaNumber
StanzaNumber objects are created by: Stanza_number_engraver.
Standard settings:
stencil(unknown):
ly:text-interface::printThe symbol to print.
font-series(symbol):
'boldSelect the series of a font. Choices include
medium,bold,bold-narrow, etc.padding(dimension, in staff space):
1.0Add this much extra space between objects that are next to each other.
X-offset(number):
ly:side-position-interface::x-aligned-sideThe horizontal amount that this object is moved relative to its X-parent.
side-axis(number):
0If the value is
#X(or equivalently0), the object is placed horizontally next to the other object. If the value is#Yor1, it is placed vertically.direction(direction):
-1If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.
This object supports the following interface(s): text-interface, stanza-number-interface, side-position-interface, item-interface, font-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < StanzaNumber ] | [ Up : All layout objects ] | [ StemTremolo > ] | ||
3.1.98 Stem
Stem objects are created by: Stem_engraver.
Standard settings:
direction(direction):
ly:stem::calc-directionIf
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.duration-log(integer):
stem::calc-duration-logThe 2-log of the note head duration, i.e.,
0= whole note,1= half note, etc.default-direction(direction):
ly:stem::calc-default-directionDirection determined by note head positions.
stem-end-position(number):
ly:stem::calc-stem-end-positionWhere does the stem end (the end is opposite to the support-head)?
neutral-direction(direction):
-1Which direction to take in the center of the staff.
stencil(unknown):
ly:stem::printThe symbol to print.
X-extent(pair of numbers):
ly:stem::widthHard coded extent in X direction.
Y-extent(pair of numbers):
ly:stem::heightHard coded extent in Y direction.
length(dimension, in staff space):
ly:stem::calc-lengthUser override for the stem length of unbeamed stems.
thickness(number):
1.3Line thickness, generally measured in
line-thickness.flag(unknown):
ly:stem::calc-flagA function returning the full flag stencil for the
Stem, which is passed to the function as the only argument. The default ly:stem::calc-stencil function uses theflag-styleproperty to determine the correct glyph for the flag. By providing your own function, you can create arbitrary flags.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.
X-offset(number):
ly:stem::offset-callbackThe horizontal amount that this object is moved relative to its X-parent.
Y-offset(number):
ly:staff-symbol-referencer::callbackThe vertical amount that this object is moved relative to its Y-parent.
This object supports the following interface(s): stem-interface, item-interface, font-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < Stem ] | [ Up : All layout objects ] | [ StringNumber > ] | ||
3.1.99 StemTremolo
StemTremolo objects are created by: Stem_engraver.
Standard settings:
Y-extent(pair of numbers):
ly:stem-tremolo::heightHard coded extent in Y direction.
X-extent(pair of numbers):
ly:stem-tremolo::widthHard coded extent in X direction.
stencil(unknown):
ly:stem-tremolo::printThe symbol to print.
slope(number):
ly:stem-tremolo::calc-slopeThe slope of this object.
beam-width(dimension, in staff space):
ly:stem-tremolo::calc-widthWidth of the tremolo sign.
style(symbol):
ly:stem-tremolo::calc-styleThis setting determines in what style a grob is typeset. Valid choices depend on the
stencilcallback reading this property.beam-thickness(dimension, in staff space):
0.48Beam thickness, measured in
staff-spaceunits.
This object supports the following interface(s): stem-tremolo-interface, item-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < StemTremolo ] | [ Up : All layout objects ] | [ StrokeFinger > ] | ||
3.1.100 StringNumber
StringNumber objects are created by: New_fingering_engraver.
Standard settings:
stencil(unknown):
print-circled-text-callbackThe symbol to print.
text(markup):
string-number::calc-textText markup. See Formatting text.
padding(dimension, in staff space):
0.5Add this much extra space between objects that are next to each other.
staff-padding(dimension, in staff space):
0.5Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
self-alignment-X(number):
0Specify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified.self-alignment-Y(number):
0Like
self-alignment-Xbut for the Y axis.script-priority(number):
100A sorting key that determines in what order a script is within a stack of scripts.
avoid-slur(symbol):
'aroundMethod of handling slur collisions. Choices are
around,inside,outside. If unset, scripts and slurs ignore each other.aroundonly moves the script if there is a collision;outsidealways moves the script.font-encoding(symbol):
'fetaNumberThe font encoding is the broadest category for selecting a font. Currently, only lilypond’s system fonts (Emmentaler and Aybabtu) are using this property. Available values are
fetaMusic(Emmentaler),fetaBraces(Aybabtu),fetaNumber(Emmentaler), andfetaDynamic(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. Fractional values are allowed.
This object supports the following interface(s): text-script-interface, text-interface, string-number-interface, side-position-interface, self-alignment-interface, item-interface, font-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < StringNumber ] | [ Up : All layout objects ] | [ SustainPedal > ] | ||
3.1.101 StrokeFinger
StrokeFinger objects are created by: New_fingering_engraver.
Standard settings:
stencil(unknown):
ly:text-interface::printThe symbol to print.
text(markup):
stroke-finger::calc-textText markup. See Formatting text.
digit-names(unknown):
#(p i m a x)Names for string finger digits.
padding(dimension, in staff space):
0.5Add this much extra space between objects that are next to each other.
staff-padding(dimension, in staff space):
0.5Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
self-alignment-X(number):
0Specify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified.self-alignment-Y(number):
0Like
self-alignment-Xbut for the Y axis.script-priority(number):
100A sorting key that determines in what order a script is within a stack of scripts.
font-shape(symbol):
'italicSelect the shape of a font. Choices include
upright,italic,caps.font-size(number):
-4The font size, compared to the ‘normal’ size.
0is style-sheet’s normal size,-1is smaller,+1is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. Fractional values are allowed.
This object supports the following interface(s): text-script-interface, text-interface, stroke-finger-interface, side-position-interface, self-alignment-interface, item-interface, font-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < StrokeFinger ] | [ Up : All layout objects ] | [ SustainPedalLineSpanner > ] | ||
3.1.102 SustainPedal
SustainPedal objects are created by: Piano_pedal_engraver.
Standard settings:
extra-spacing-width(pair of numbers):
'(+inf.0 . -inf.0)In the horizontal spacing problem, we pad each item by this amount (by adding the ‘car’ on the left side of the item and adding the ‘cdr’ on the right side of the item). In order to make a grob take up no horizontal space at all, set this to
(+inf.0 . -inf.0).stencil(unknown):
ly:sustain-pedal::printThe symbol to print.
self-alignment-X(number):
0Specify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified.direction(direction):
1If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.padding(dimension, in staff space):
0.0Add this much extra space between objects that are next to each other.
X-offset(number):
ly:self-alignment-interface::x-aligned-on-selfThe horizontal amount that this object is moved relative to its X-parent.
This object supports the following interface(s): text-interface, self-alignment-interface, piano-pedal-script-interface, piano-pedal-interface, item-interface, font-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < SustainPedal ] | [ Up : All layout objects ] | [ System > ] | ||
3.1.103 SustainPedalLineSpanner
SustainPedalLineSpanner objects are created by: Piano_pedal_align_engraver.
Standard settings:
axes(list):
'(1)List of axis numbers. In the case of alignment grobs, this should contain only one number.
Y-extent(pair of numbers):
ly:axis-group-interface::heightHard coded extent in Y direction.
X-extent(pair of numbers):
ly:axis-group-interface::widthHard coded extent in X direction.
Y-offset(number):
ly:side-position-interface::y-aligned-sideThe vertical amount that this object is moved relative to its Y-parent.
outside-staff-priority(number):
1000If set, the grob is positioned outside the staff in such a way as to avoid all collisions. In case of a potential collision, the grob with the smaller
outside-staff-priorityis closer to the staff.side-axis(number):
1If the value is
#X(or equivalently0), the object is placed horizontally next to the other object. If the value is#Yor1, it is placed vertically.padding(dimension, in staff space):
1.2Add this much extra space between objects that are next to each other.
staff-padding(dimension, in staff space):
1.2Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
minimum-space(dimension, in staff space):
1.0Minimum distance that the victim should move (after padding).
direction(direction):
-1If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.
This object supports the following interface(s): spanner-interface, side-position-interface, piano-pedal-interface, axis-group-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < SustainPedalLineSpanner ] | [ Up : All layout objects ] | [ SystemStartBar > ] | ||
3.1.104 System
System objects are not created by any engraver.
Standard settings:
axes(list):
'(0 1)List of axis numbers. In the case of alignment grobs, this should contain only one number.
X-extent(pair of numbers):
ly:axis-group-interface::widthHard coded extent in X direction.
Y-extent(pair of numbers):
ly:axis-group-interface::heightHard coded extent in Y direction.
vertical-skylines(unknown):
ly:axis-group-interface::calc-skylinesTwo skylines, one above and one below this grob.
max-stretch(number):
ly:axis-group-interface::calc-max-stretchThe maximum amount that this
VerticalAxisGroupcan be vertically stretched (for example, in order to better fill a page).
This object supports the following interface(s): system-interface, spanner-interface, axis-group-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < System ] | [ Up : All layout objects ] | [ SystemStartBrace > ] | ||
3.1.105 SystemStartBar
SystemStartBar objects are created by: System_start_delimiter_engraver.
Standard settings:
Y-extent(pair of numbers):
#fHard coded extent in Y direction.
padding(dimension, in staff space):
-0.1Add this much extra space between objects that are next to each other.
X-offset(number):
ly:side-position-interface::x-aligned-sideThe horizontal amount that this object is moved relative to its X-parent.
direction(direction):
-1If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.style(symbol):
'bar-lineThis setting determines in what style a grob is typeset. Valid choices depend on the
stencilcallback reading this property.collapse-height(dimension, in staff space):
5.0Minimum height of system start delimiter. If equal or smaller, the bracket/brace/line is removed.
thickness(number):
1.6Line thickness, generally measured in
line-thickness.stencil(unknown):
ly:system-start-delimiter::printThe symbol to print.
This object supports the following interface(s): system-start-delimiter-interface, spanner-interface, side-position-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < SystemStartBar ] | [ Up : All layout objects ] | [ SystemStartBracket > ] | ||
3.1.106 SystemStartBrace
SystemStartBrace objects are created by: System_start_delimiter_engraver.
Standard settings:
style(symbol):
'braceThis setting determines in what style a grob is typeset. Valid choices depend on the
stencilcallback reading this property.padding(dimension, in staff space):
0.3Add this much extra space between objects that are next to each other.
stencil(unknown):
ly:system-start-delimiter::printThe symbol to print.
collapse-height(dimension, in staff space):
5.0Minimum height of system start delimiter. If equal or smaller, the bracket/brace/line is removed.
X-offset(number):
ly:side-position-interface::x-aligned-sideThe horizontal amount that this object is moved relative to its X-parent.
direction(direction):
-1If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.font-encoding(symbol):
'fetaBracesThe font encoding is the broadest category for selecting a font. Currently, only lilypond’s system fonts (Emmentaler and Aybabtu) are using this property. Available values are
fetaMusic(Emmentaler),fetaBraces(Aybabtu),fetaNumber(Emmentaler), andfetaDynamic(Emmentaler).Y-extent(pair of numbers):
#fHard coded extent in Y direction.
This object supports the following interface(s): system-start-delimiter-interface, spanner-interface, side-position-interface, font-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < SystemStartBrace ] | [ Up : All layout objects ] | [ SystemStartSquare > ] | ||
3.1.107 SystemStartBracket
SystemStartBracket objects are created by: System_start_delimiter_engraver.
Standard settings:
Y-extent(pair of numbers):
#fHard coded extent in Y direction.
padding(dimension, in staff space):
0.8Add this much extra space between objects that are next to each other.
X-offset(number):
ly:side-position-interface::x-aligned-sideThe horizontal amount that this object is moved relative to its X-parent.
direction(direction):
-1If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.stencil(unknown):
ly:system-start-delimiter::printThe symbol to print.
style(symbol):
'bracketThis setting determines in what style a grob is typeset. Valid choices depend on the
stencilcallback reading this property.collapse-height(dimension, in staff space):
5.0Minimum height of system start delimiter. If equal or smaller, the bracket/brace/line is removed.
thickness(number):
0.45Line thickness, generally measured in
line-thickness.
This object supports the following interface(s): system-start-delimiter-interface, spanner-interface, side-position-interface, font-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < SystemStartBracket ] | [ Up : All layout objects ] | [ TabNoteHead > ] | ||
3.1.108 SystemStartSquare
SystemStartSquare objects are created by: System_start_delimiter_engraver.
Standard settings:
Y-extent(pair of numbers):
#fHard coded extent in Y direction.
X-offset(number):
ly:side-position-interface::x-aligned-sideThe horizontal amount that this object is moved relative to its X-parent.
direction(direction):
-1If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.stencil(unknown):
ly:system-start-delimiter::printThe symbol to print.
style(symbol):
'line-bracketThis setting determines in what style a grob is typeset. Valid choices depend on the
stencilcallback reading this property.thickness(number):
1.0Line thickness, generally measured in
line-thickness.
This object supports the following interface(s): system-start-delimiter-interface, spanner-interface, side-position-interface, font-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < SystemStartSquare ] | [ Up : All layout objects ] | [ TextScript > ] | ||
3.1.109 TabNoteHead
TabNoteHead objects are created by: Tab_note_heads_engraver.
Standard settings:
stencil(unknown):
ly:text-interface::printThe symbol to print.
duration-log(integer):
note-head::calc-duration-logThe 2-log of the note head duration, i.e.,
0= whole note,1= half note, etc.Y-offset(number):
ly:staff-symbol-referencer::callbackThe vertical amount that this object is moved relative to its Y-parent.
X-offset(number):
ly:self-alignment-interface::x-aligned-on-selfThe horizontal amount that this object is moved relative to its X-parent.
direction(direction):
0If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.font-size(number):
-2The font size, compared to the ‘normal’ size.
0is style-sheet’s normal size,-1is smaller,+1is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. Fractional values are allowed.stem-attachment(pair of numbers):
'(0.0 . 1.35)An
(x . y)pair where the stem attaches to the notehead.font-series(symbol):
'boldSelect the series of a font. Choices include
medium,bold,bold-narrow, etc.
This object supports the following interface(s): text-interface, staff-symbol-referencer-interface, rhythmic-head-interface, rhythmic-grob-interface, note-head-interface, item-interface, font-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < TabNoteHead ] | [ Up : All layout objects ] | [ TextSpanner > ] | ||
3.1.110 TextScript
TextScript objects are created by: Text_engraver.
Standard settings:
extra-spacing-width(pair of numbers):
'(+inf.0 . -inf.0)In the horizontal spacing problem, we pad each item by this amount (by adding the ‘car’ on the left side of the item and adding the ‘cdr’ on the right side of the item). In order to make a grob take up no horizontal space at all, set this to
(+inf.0 . -inf.0).X-offset(number):
ly:self-alignment-interface::x-aligned-on-selfThe horizontal amount that this object is moved relative to its X-parent.
Y-offset(number):
ly:side-position-interface::y-aligned-sideThe vertical amount that this object is moved relative to its Y-parent.
side-axis(number):
1If the value is
#X(or equivalently0), the object is placed horizontally next to the other object. If the value is#Yor1, it is placed vertically.direction(direction):
-1If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.padding(dimension, in staff space):
0.5Add this much extra space between objects that are next to each other.
staff-padding(dimension, in staff space):
0.5Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
stencil(unknown):
ly:text-interface::printThe symbol to print.
direction(direction):
-1If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.outside-staff-priority(number):
450If set, the grob is positioned outside the staff in such a way as to avoid all collisions. In case of a potential collision, the grob with the smaller
outside-staff-priorityis closer to the staff.avoid-slur(symbol):
'aroundMethod of handling slur collisions. Choices are
around,inside,outside. If unset, scripts and slurs ignore each other.aroundonly moves the script if there is a collision;outsidealways moves the script.slur-padding(number):
0.5Extra distance between slur and script.
script-priority(number):
200A sorting key that determines in what order a script is within a stack of scripts.
This object supports the following interface(s): text-script-interface, text-interface, side-position-interface, self-alignment-interface, item-interface, instrument-specific-markup-interface, font-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < TextScript ] | [ Up : All layout objects ] | [ Tie > ] | ||
3.1.111 TextSpanner
TextSpanner objects are created by: Text_spanner_engraver.
Standard settings:
Y-offset(number):
ly:side-position-interface::y-aligned-sideThe vertical amount that this object is moved relative to its Y-parent.
font-shape(symbol):
'italicSelect the shape of a font. Choices include
upright,italic,caps.style(symbol):
'dashed-lineThis setting determines in what style a grob is typeset. Valid choices depend on the
stencilcallback reading this property.staff-padding(dimension, in staff space):
0.8Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
dash-fraction(number):
0.2Size of the dashes, relative to
dash-period. Should be between0.0(no line) and1.0(continuous line).dash-period(number):
3.0The length of one dash together with whitespace. If negative, no line is drawn at all.
side-axis(number):
1If the value is
#X(or equivalently0), the object is placed horizontally next to the other object. If the value is#Yor1, it is placed vertically.direction(direction):
1If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.outside-staff-priority(number):
350If set, the grob is positioned outside the staff in such a way as to avoid all collisions. In case of a potential collision, the grob with the smaller
outside-staff-priorityis closer to the staff.left-bound-info(list):
ly:line-spanner::calc-left-bound-infoAn alist of properties for determining attachments of spanners to edges.
right-bound-info(list):
ly:line-spanner::calc-right-bound-infoAn alist of properties for determining attachments of spanners to edges.
bound-details(list):
'((left (Y . 0) (padding . 0.25) (attach-dir . -1)) (right (Y . 0) (padding . 0.25)))An alist of properties for determining attachments of spanners to edges.
stencil(unknown):
ly:line-spanner::printThe symbol to print.
This object supports the following interface(s): spanner-interface, side-position-interface, line-spanner-interface, line-interface, font-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < TextSpanner ] | [ Up : All layout objects ] | [ TieColumn > ] | ||
3.1.112 Tie
Tie objects are created by: Completion_heads_engraver and Tie_engraver.
Standard settings:
control-points(list):
ly:tie::calc-control-pointsList of offsets (number pairs) that form control points for the tie, slur, or bracket shape. For Béziers, this should list the control points of a third-order Bézier curve.
springs-and-rods(boolean):
ly:spanner::set-spacing-rodsDummy variable for triggering spacing routines.
avoid-slur(symbol):
'insideMethod of handling slur collisions. Choices are
around,inside,outside. If unset, scripts and slurs ignore each other.aroundonly moves the script if there is a collision;outsidealways moves the script.direction(direction):
ly:tie::calc-directionIf
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.neutral-direction(direction):
1Which direction to take in the center of the staff.
stencil(unknown):
ly:tie::printThe symbol to print.
font-size(number):
-6The font size, compared to the ‘normal’ size.
0is style-sheet’s normal size,-1is smaller,+1is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. Fractional values are allowed.thickness(number):
1.2Line thickness, generally measured in
line-thickness.line-thickness(number):
0.8The thickness of the tie or slur contour.
This object supports the following interface(s): tie-interface, spanner-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < Tie ] | [ Up : All layout objects ] | [ TimeSignature > ] | ||
3.1.113 TieColumn
TieColumn objects are created by: Tie_engraver.
Standard settings:
before-line-breaking(boolean):
ly:tie-column::before-line-breakingDummy property, used to trigger a callback function.
X-extent(pair of numbers):
#fHard coded extent in X direction.
Y-extent(pair of numbers):
#fHard coded extent in Y direction.
This object supports the following interface(s): tie-column-interface, spanner-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < TieColumn ] | [ Up : All layout objects ] | [ TrillPitchAccidental > ] | ||
3.1.114 TimeSignature
TimeSignature objects are created by: Time_signature_engraver.
Standard settings:
stencil(unknown):
ly:time-signature::printThe symbol to print.
break-align-symbol(symbol):
'time-signatureThis key is used for aligning and spacing breakable items.
break-align-anchor(number):
ly:break-aligned-interface::calc-extent-aligned-anchorGrobs aligned to this break-align grob will have their X-offsets shifted by this number. In bar lines, for example, this is used to position grobs relative to the (visual) center of the bar line.
break-visibility(vector):
#(#t #t #t)A vector of 3 booleans,
#(end-of-line unbroken begin-of-line).#tmeans visible,#fmeans killed.avoid-slur(symbol):
'insideMethod of handling slur collisions. Choices are
around,inside,outside. If unset, scripts and slurs ignore each other.aroundonly moves the script if there is a collision;outsidealways moves the script.extra-spacing-height(pair of numbers):
'(-1.0 . 1.0)In the horizontal spacing problem, we increase the height of each item by this amount (by adding the ‘car’ to the bottom of the item and adding the ‘cdr’ to the top of the item). In order to make a grob infinitely high (to prevent the horizontal spacing problem from placing any other grobs above or below this grob), set this to
(-inf.0 . +inf.0).space-alist(list):
'((first-note fixed-space . 2.0) (right-edge extra-space . 0.5) (staff-bar minimum-space . 2.0))A table that specifies distances between prefatory items, like clef and time-signature. The format is an alist of spacing tuples:
(break-align-symbol type . distance), where type can be the symbolsminimum-spaceorextra-space.non-musical(boolean):
#tTrue if the grob belongs to a
NonMusicalPaperColumn.style(symbol):
'CThis setting determines in what style a grob is typeset. Valid choices depend on the
stencilcallback reading this property.
This object supports the following interface(s): time-signature-interface, item-interface, font-interface, break-aligned-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < TimeSignature ] | [ Up : All layout objects ] | [ TrillPitchGroup > ] | ||
3.1.115 TrillPitchAccidental
TrillPitchAccidental objects are created by: Pitched_trill_engraver.
Standard settings:
X-offset(number):
ly:side-position-interface::x-aligned-sideThe horizontal amount that this object is moved relative to its X-parent.
padding(dimension, in staff space):
0.2Add this much extra space between objects that are next to each other.
direction(direction):
-1If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.font-size(number):
-4The font size, compared to the ‘normal’ size.
0is style-sheet’s normal size,-1is smaller,+1is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. Fractional values are allowed.side-axis(number):
0If the value is
#X(or equivalently0), the object is placed horizontally next to the other object. If the value is#Yor1, it is placed vertically.stencil(unknown):
ly:accidental-interface::printThe symbol to print.
Y-extent(pair of numbers):
ly:accidental-interface::heightHard coded extent in Y direction.
glyph-name-alist(list):
'((0 . accidentals.natural) (-1/2 . accidentals.flat) (1/2 . accidentals.sharp) (1 . accidentals.doublesharp) (-1 . accidentals.flatflat) (3/4 . accidentals.sharp.slashslash.stemstemstem) (1/4 . accidentals.sharp.slashslash.stem) (-1/4 . accidentals.mirroredflat) (-3/4 . accidentals.mirroredflat.flat))An alist of key-string pairs.
This object supports the following interface(s): trill-pitch-accidental-interface, side-position-interface, item-interface, font-interface, accidental-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < TrillPitchAccidental ] | [ Up : All layout objects ] | [ TrillPitchHead > ] | ||
3.1.116 TrillPitchGroup
TrillPitchGroup objects are created by: Pitched_trill_engraver.
Standard settings:
X-offset(number):
ly:side-position-interface::x-aligned-sideThe horizontal amount that this object is moved relative to its X-parent.
axes(list):
'(0)List of axis numbers. In the case of alignment grobs, this should contain only one number.
font-size(number):
-4The font size, compared to the ‘normal’ size.
0is style-sheet’s normal size,-1is smaller,+1is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. Fractional values are allowed.stencil(unknown):
parenthesize-elementsThe symbol to print.
stencils(list):
parentheses-item::calc-parenthesis-stencilsMultiple stencils, used as intermediate value.
direction(direction):
1If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.side-axis(number):
0If the value is
#X(or equivalently0), the object is placed horizontally next to the other object. If the value is#Yor1, it is placed vertically.padding(dimension, in staff space):
0.3Add this much extra space between objects that are next to each other.
This object supports the following interface(s): side-position-interface, parentheses-interface, note-head-interface, item-interface, font-interface, axis-group-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < TrillPitchGroup ] | [ Up : All layout objects ] | [ TrillSpanner > ] | ||
3.1.117 TrillPitchHead
TrillPitchHead objects are created by: Pitched_trill_engraver.
Standard settings:
stencil(unknown):
ly:note-head::printThe symbol to print.
duration-log(integer):
2The 2-log of the note head duration, i.e.,
0= whole note,1= half note, etc.Y-offset(number):
ly:staff-symbol-referencer::callbackThe vertical amount that this object is moved relative to its Y-parent.
font-size(number):
-4The font size, compared to the ‘normal’ size.
0is style-sheet’s normal size,-1is smaller,+1is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. Fractional values are allowed.
This object supports the following interface(s): staff-symbol-referencer-interface, rhythmic-head-interface, pitched-trill-interface, ledgered-interface, item-interface, font-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < TrillPitchHead ] | [ Up : All layout objects ] | [ TupletBracket > ] | ||
3.1.118 TrillSpanner
TrillSpanner objects are created by: Trill_spanner_engraver.
Standard settings:
left-bound-info(list):
ly:line-spanner::calc-left-bound-infoAn alist of properties for determining attachments of spanners to edges.
right-bound-info(list):
ly:line-spanner::calc-right-bound-infoAn alist of properties for determining attachments of spanners to edges.
bound-details(list):
'((left (text #<procedure translate-scaled-markup (layout props offset arg)> (0.0 . -1.0) (#<procedure musicglyph-markup (layout props glyph-name)> scripts.trill)) (Y . 0) (stencil-offset -0.5 . 0) (padding . 1.5) (attach-dir . 0) (anchor-alignment . 0.15)) (left-broken (end-on-note . #t)) (right (Y . 0)))An alist of properties for determining attachments of spanners to edges.
stencil(unknown):
ly:line-spanner::printThe symbol to print.
style(symbol):
'trillThis setting determines in what style a grob is typeset. Valid choices depend on the
stencilcallback reading this property.staff-padding(dimension, in staff space):
1.0Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
padding(dimension, in staff space):
0.5Add this much extra space between objects that are next to each other.
direction(direction):
1If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.Y-offset(number):
ly:side-position-interface::y-aligned-sideThe vertical amount that this object is moved relative to its Y-parent.
side-axis(number):
1If the value is
#X(or equivalently0), the object is placed horizontally next to the other object. If the value is#Yor1, it is placed vertically.outside-staff-priority(number):
50If set, the grob is positioned outside the staff in such a way as to avoid all collisions. In case of a potential collision, the grob with the smaller
outside-staff-priorityis closer to the staff.
This object supports the following interface(s): trill-spanner-interface, spanner-interface, side-position-interface, line-spanner-interface, line-interface, font-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < TrillSpanner ] | [ Up : All layout objects ] | [ TupletNumber > ] | ||
3.1.119 TupletBracket
TupletBracket objects are created by: Tuplet_engraver.
Standard settings:
padding(dimension, in staff space):
1.1Add this much extra space between objects that are next to each other.
thickness(number):
1.6Line thickness, generally measured in
line-thickness.edge-height(pair):
'(0.7 . 0.7)A pair of numbers specifying the heights of the vertical edges:
(left-height . right-height).shorten-pair(pair of numbers):
'(-0.2 . -0.2)The lengths to shorten a text-spanner on both sides, for example a pedal bracket. Positive values shorten the text-spanner, while negative values lengthen it.
staff-padding(dimension, in staff space):
0.25Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
full-length-to-extent(boolean):
#tRun to the extent of the column for a full-length tuplet bracket.
direction(direction):
ly:tuplet-bracket::calc-directionIf
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.positions(pair of numbers):
ly:tuplet-bracket::calc-positionsPair of staff coordinates
(left . right), where both left and right are instaff-spaceunits of the current staff. For slurs, this value selects which slur candidate to use; if extreme positions are requested, the closest one is taken.connect-to-neighbor(pair):
ly:tuplet-bracket::calc-connect-to-neighborsPair of booleans, indicating whether this grob looks as a continued break.
control-points(list):
ly:tuplet-bracket::calc-control-pointsList of offsets (number pairs) that form control points for the tie, slur, or bracket shape. For Béziers, this should list the control points of a third-order Bézier curve.
stencil(unknown):
ly:tuplet-bracket::printThe symbol to print.
This object supports the following interface(s): tuplet-bracket-interface, spanner-interface, line-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < TupletBracket ] | [ Up : All layout objects ] | [ UnaCordaPedal > ] | ||
3.1.120 TupletNumber
TupletNumber objects are created by: Tuplet_engraver.
Standard settings:
stencil(unknown):
ly:tuplet-number::printThe symbol to print.
text(markup):
tuplet-number::calc-denominator-textText markup. See Formatting text.
font-shape(symbol):
'italicSelect the shape of a font. Choices include
upright,italic,caps.font-size(number):
-2The font size, compared to the ‘normal’ size.
0is style-sheet’s normal size,-1is smaller,+1is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. Fractional values are allowed.avoid-slur(symbol):
'insideMethod of handling slur collisions. Choices are
around,inside,outside. If unset, scripts and slurs ignore each other.aroundonly moves the script if there is a collision;outsidealways moves the script.
This object supports the following interface(s): tuplet-number-interface, text-interface, spanner-interface, font-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < TupletNumber ] | [ Up : All layout objects ] | [ UnaCordaPedalLineSpanner > ] | ||
3.1.121 UnaCordaPedal
UnaCordaPedal objects are created by: Piano_pedal_engraver.
Standard settings:
stencil(unknown):
ly:text-interface::printThe symbol to print.
font-shape(symbol):
'italicSelect the shape of a font. Choices include
upright,italic,caps.extra-spacing-width(pair of numbers):
'(+inf.0 . -inf.0)In the horizontal spacing problem, we pad each item by this amount (by adding the ‘car’ on the left side of the item and adding the ‘cdr’ on the right side of the item). In order to make a grob take up no horizontal space at all, set this to
(+inf.0 . -inf.0).self-alignment-X(number):
0Specify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified.direction(direction):
1If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.padding(dimension, in staff space):
0.0Add this much extra space between objects that are next to each other.
X-offset(number):
ly:self-alignment-interface::x-aligned-on-selfThe horizontal amount that this object is moved relative to its X-parent.
This object supports the following interface(s): text-interface, self-alignment-interface, piano-pedal-script-interface, item-interface, font-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < UnaCordaPedal ] | [ Up : All layout objects ] | [ VaticanaLigature > ] | ||
3.1.122 UnaCordaPedalLineSpanner
UnaCordaPedalLineSpanner objects are created by: Piano_pedal_align_engraver.
Standard settings:
axes(list):
'(1)List of axis numbers. In the case of alignment grobs, this should contain only one number.
Y-extent(pair of numbers):
ly:axis-group-interface::heightHard coded extent in Y direction.
X-extent(pair of numbers):
ly:axis-group-interface::widthHard coded extent in X direction.
Y-offset(number):
ly:side-position-interface::y-aligned-sideThe vertical amount that this object is moved relative to its Y-parent.
outside-staff-priority(number):
1000If set, the grob is positioned outside the staff in such a way as to avoid all collisions. In case of a potential collision, the grob with the smaller
outside-staff-priorityis closer to the staff.side-axis(number):
1If the value is
#X(or equivalently0), the object is placed horizontally next to the other object. If the value is#Yor1, it is placed vertically.padding(dimension, in staff space):
1.2Add this much extra space between objects that are next to each other.
staff-padding(dimension, in staff space):
1.2Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
minimum-space(dimension, in staff space):
1.0Minimum distance that the victim should move (after padding).
direction(direction):
-1If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.
This object supports the following interface(s): spanner-interface, side-position-interface, piano-pedal-interface, axis-group-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < UnaCordaPedalLineSpanner ] | [ Up : All layout objects ] | [ VerticalAlignment > ] | ||
3.1.123 VaticanaLigature
VaticanaLigature objects are created by: Vaticana_ligature_engraver.
Standard settings:
thickness(number):
0.6Line thickness, generally measured in
line-thickness.stencil(unknown):
ly:vaticana-ligature::printThe symbol to print.
This object supports the following interface(s): vaticana-ligature-interface, spanner-interface, font-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < VaticanaLigature ] | [ Up : All layout objects ] | [ VerticalAxisGroup > ] | ||
3.1.124 VerticalAlignment
VerticalAlignment objects are created by: Vertical_align_engraver.
Standard settings:
axes(list):
'(1)List of axis numbers. In the case of alignment grobs, this should contain only one number.
after-line-breaking(boolean):
ly:align-interface::stretch-after-breakDummy property, used to trigger callback for
after-line-breaking.Y-extent(pair of numbers):
ly:axis-group-interface::heightHard coded extent in Y direction.
X-extent(pair of numbers):
ly:axis-group-interface::widthHard coded extent in X direction.
stacking-dir(direction):
-1Stack objects in which direction?
padding(dimension, in staff space):
0.5Add this much extra space between objects that are next to each other.
vertical-skylines(unknown):
ly:axis-group-interface::combine-skylinesTwo skylines, one above and one below this grob.
max-stretch(number):
0The maximum amount that this
VerticalAxisGroupcan be vertically stretched (for example, in order to better fill a page).
This object supports the following interface(s): spanner-interface, axis-group-interface, align-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < VerticalAlignment ] | [ Up : All layout objects ] | [ VoiceFollower > ] | ||
3.1.125 VerticalAxisGroup
VerticalAxisGroup objects are created by: Axis_group_engraver and Hara_kiri_engraver.
Standard settings:
axes(list):
'(1)List of axis numbers. In the case of alignment grobs, this should contain only one number.
Y-offset(number):
ly:hara-kiri-group-spanner::force-hara-kiri-callbackThe vertical amount that this object is moved relative to its Y-parent.
Y-extent(pair of numbers):
ly:hara-kiri-group-spanner::y-extentHard coded extent in Y direction.
X-extent(pair of numbers):
ly:axis-group-interface::widthHard coded extent in X direction.
vertical-skylines(unknown):
ly:hara-kiri-group-spanner::calc-skylinesTwo skylines, one above and one below this grob.
max-stretch(number):
ly:axis-group-interface::calc-max-stretchThe maximum amount that this
VerticalAxisGroupcan be vertically stretched (for example, in order to better fill a page).stencil(unknown):
ly:axis-group-interface::printThe symbol to print.
This object supports the following interface(s): vertically-spaceable-interface, spanner-interface, hara-kiri-group-spanner-interface, axis-group-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < VerticalAxisGroup ] | [ Up : All layout objects ] | [ VoltaBracket > ] | ||
3.1.126 VoiceFollower
VoiceFollower objects are created by: Note_head_line_engraver.
Standard settings:
style(symbol):
'lineThis setting determines in what style a grob is typeset. Valid choices depend on the
stencilcallback reading this property.gap(dimension, in staff space):
0.5Size of a gap in a variable symbol.
non-musical(boolean):
#tTrue if the grob belongs to a
NonMusicalPaperColumn.X-extent(pair of numbers):
#fHard coded extent in X direction.
Y-extent(pair of numbers):
#fHard coded extent in Y direction.
bound-details(list):
'((right (attach-dir . 0) (padding . 1.5)) (left (attach-dir . 0) (padding . 1.5)))An alist of properties for determining attachments of spanners to edges.
stencil(unknown):
ly:line-spanner::printThe symbol to print.
left-bound-info(list):
ly:line-spanner::calc-left-bound-infoAn alist of properties for determining attachments of spanners to edges.
right-bound-info(list):
ly:line-spanner::calc-right-bound-infoAn alist of properties for determining attachments of spanners to edges.
This object supports the following interface(s): spanner-interface, line-spanner-interface, line-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < VoiceFollower ] | [ Up : All layout objects ] | [ VoltaBracketSpanner > ] | ||
3.1.127 VoltaBracket
VoltaBracket objects are created by: Volta_engraver.
Standard settings:
stencil(unknown):
ly:volta-bracket-interface::printThe symbol to print.
font-encoding(symbol):
'fetaNumberThe font encoding is the broadest category for selecting a font. Currently, only lilypond’s system fonts (Emmentaler and Aybabtu) are using this property. Available values are
fetaMusic(Emmentaler),fetaBraces(Aybabtu),fetaNumber(Emmentaler), andfetaDynamic(Emmentaler).thickness(number):
1.6Line thickness, generally measured in
line-thickness.edge-height(pair):
'(2.0 . 2.0)A pair of numbers specifying the heights of the vertical edges:
(left-height . right-height).font-size(number):
-4The font size, compared to the ‘normal’ size.
0is style-sheet’s normal size,-1is smaller,+1is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. Fractional values are allowed.word-space(dimension, in staff space):
0.6Space to insert between words in texts.
direction(direction):
1If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.
This object supports the following interface(s): volta-bracket-interface, text-interface, spanner-interface, side-position-interface, line-interface, horizontal-bracket-interface, font-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < VoltaBracket ] | [ Up : All layout objects ] | [ Graphical Object Interfaces > ] | ||
3.1.128 VoltaBracketSpanner
VoltaBracketSpanner objects are created by: Volta_engraver.
Standard settings:
axes(list):
'(1)List of axis numbers. In the case of alignment grobs, this should contain only one number.
side-axis(number):
1If the value is
#X(or equivalently0), the object is placed horizontally next to the other object. If the value is#Yor1, it is placed vertically.direction(direction):
1If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.padding(dimension, in staff space):
1Add this much extra space between objects that are next to each other.
Y-offset(number):
ly:side-position-interface::y-aligned-sideThe vertical amount that this object is moved relative to its Y-parent.
outside-staff-priority(number):
100If set, the grob is positioned outside the staff in such a way as to avoid all collisions. In case of a potential collision, the grob with the smaller
outside-staff-priorityis closer to the staff.Y-extent(pair of numbers):
ly:axis-group-interface::heightHard coded extent in Y direction.
X-extent(pair of numbers):
ly:axis-group-interface::widthHard coded extent in X direction.
no-alignment(boolean):
#tIf set, don’t place this grob in a
VerticalAlignment; rather, place it using its ownY-offsetcallback.
This object supports the following interface(s): spanner-interface, side-position-interface, axis-group-interface and grob-interface.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < VoltaBracketSpanner ] | [ Up : Backend ] | [ accidental-interface > ] | ||
3.2 Graphical Object Interfaces
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < Graphical Object Interfaces ] | [ Up : Graphical Object Interfaces ] | [ accidental-placement-interface > ] | ||
3.2.1 accidental-interface
A single accidental.
User settable properties:
alteration(number)Alteration numbers for accidental.
avoid-slur(symbol)Method of handling slur collisions. Choices are
around,inside,outside. If unset, scripts and slurs ignore each other.aroundonly moves the script if there is a collision;outsidealways moves the script.glyph-name-alist(list)An alist of key-string pairs.
parenthesized(boolean)Parenthesize this grob.
restore-first(boolean)Print a natural before the accidental.
Internal properties:
forced(boolean)Manually forced accidental.
tie(layout object)A pointer to a
Tieobject.
This grob interface is used in the following graphical object(s): Accidental, AccidentalCautionary, AccidentalSuggestion, AmbitusAccidental and TrillPitchAccidental.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < accidental-interface ] | [ Up : Graphical Object Interfaces ] | [ accidental-suggestion-interface > ] | ||
3.2.2 accidental-placement-interface
Resolve accidental collisions.
User settable properties:
direction(direction)If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.left-padding(dimension, in staff space)The amount of space that is put left to an object (e.g., a group of accidentals).
padding(dimension, in staff space)Add this much extra space between objects that are next to each other.
right-padding(dimension, in staff space)Space to insert on the right side of an object (e.g., between note and its accidentals).
script-priority(number)A sorting key that determines in what order a script is within a stack of scripts.
Internal properties:
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.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < accidental-placement-interface ] | [ Up : Graphical Object Interfaces ] | [ align-interface > ] | ||
3.2.3 accidental-suggestion-interface
An accidental, printed as a suggestion (typically: vertically over a note).
This grob interface is used in the following graphical object(s): AccidentalSuggestion.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < accidental-suggestion-interface ] | [ Up : Graphical Object Interfaces ] | [ ambitus-interface > ] | ||
3.2.4 align-interface
Order grobs from top to bottom, left to right, right to left or bottom to top. For vertical alignments of staves, the break-system-details of the left
NonMusicalPaperColumn may be set to tune vertical spacing. Set alignment-extra-space to add extra space for staves. Set fixed-alignment-extra-space to force staves in PianoStaffs further apart.
User settable properties:
align-dir(direction)Which side to align?
-1: left side,0: around center of width,1: right side.axes(list)List of axis numbers. In the case of alignment grobs, this should contain only one number.
padding(dimension, in staff space)Add this much extra space between objects that are next to each other.
stacking-dir(direction)Stack objects in which direction?
threshold(pair of numbers)
(min . max), where min and max are dimensions in staff space.
Internal properties:
elements(unknown)A list of grobs; the type is depending on the grob where this is set in.
positioning-done(boolean)Used to signal that a positioning element did its job. This ensures that a positioning is only done once.
This grob interface is used in the following graphical object(s): BassFigureAlignment and VerticalAlignment.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < align-interface ] | [ Up : Graphical Object Interfaces ] | [ arpeggio-interface > ] | ||
3.2.5 ambitus-interface
The line between note heads for a pitch range.
User settable properties:
thickness(number)Line thickness, generally measured in
line-thickness.
Internal properties:
join-heads(boolean)Whether to join the note heads of an ambitus grob with a vertical line.
note-heads(unknown)A list of note head grobs.
This grob interface is used in the following graphical object(s): Ambitus, AmbitusLine and AmbitusNoteHead.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < ambitus-interface ] | [ Up : Graphical Object Interfaces ] | [ axis-group-interface > ] | ||
3.2.6 arpeggio-interface
Functions and settings for drawing an arpeggio symbol (a wavy line left to noteheads.
User settable properties:
arpeggio-direction(direction)If set, put an arrow on the arpeggio squiggly line.
positions(pair of numbers)Pair of staff coordinates
(left . right), where both left and right are instaff-spaceunits of the current staff. For slurs, this value selects which slur candidate to use; if extreme positions are requested, the closest one is taken.script-priority(number)A sorting key that determines in what order a script is within a stack of scripts.
Internal properties:
stems(unknown)A list of stem objects, corresponding to the notes that the arpeggio has to be before.
This grob interface is used in the following graphical object(s): Arpeggio.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < arpeggio-interface ] | [ Up : Graphical Object Interfaces ] | [ balloon-interface > ] | ||
3.2.7 axis-group-interface
An object that groups other layout objects.
User settable properties:
axes(list)List of axis numbers. In the case of alignment grobs, this should contain only one number.
keep-fixed-while-stretching(boolean)A grob with this property set to true is fixed relative to the staff above it when systems are stretched.
max-stretch(number)The maximum amount that this
VerticalAxisGroupcan be vertically stretched (for example, in order to better fill a page).no-alignment(boolean)If set, don’t place this grob in a
VerticalAlignment; rather, place it using its ownY-offsetcallback.vertical-skylines(unknown)Two skylines, one above and one below this grob.
Internal properties:
X-common(layout object)Common reference point for axis group.
Y-common(layout object)See
X-common.adjacent-pure-heights(vector)Used by a
VerticalAxisGroupto cache theY-extents of different column ranges.elements(unknown)A list of grobs; the type is depending on the grob where this is set in.
pure-Y-common(layout object)A cache of the
common_refpoint_of_arrayof theelementsgrob set.pure-relevant-items(unknown)A subset of elements that are relevant for finding the
pure-Y-extent.pure-relevant-spanners(unknown)A subset of elements that are relevant for finding the
pure-Y-extent.
This grob interface is used in the following graphical object(s): Ambitus, BassFigureAlignment, BassFigureAlignmentPositioning, BassFigureLine, BreakAlignGroup, BreakAlignment, DotColumn, DynamicLineSpanner, NonMusicalPaperColumn, NoteCollision, NoteColumn, PaperColumn, SostenutoPedalLineSpanner, SustainPedalLineSpanner, System, TrillPitchGroup, UnaCordaPedalLineSpanner, VerticalAlignment, VerticalAxisGroup and VoltaBracketSpanner.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < axis-group-interface ] | [ Up : Graphical Object Interfaces ] | [ bar-line-interface > ] | ||
3.2.8 balloon-interface
A collection of routines to put text balloons around an object.
User settable properties:
padding(dimension, in staff space)Add this much extra space between objects that are next to each other.
text(markup)Text markup. See Formatting text.
This grob interface is used in the following graphical object(s): BalloonTextItem.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < balloon-interface ] | [ Up : Graphical Object Interfaces ] | [ bass-figure-alignment-interface > ] | ||
3.2.9 bar-line-interface
Bar line.
Print a special bar symbol. It replaces the regular bar symbol with a special symbol. The argument bartype is a string which specifies the kind of bar line to print. Options are :|, |:, :|:, :|.|:, :|.:, ||, |., .|, .|., |.|, : and dashed.
These produce, respectively, a right repeat, a left repeat, a thick double repeat, a thin-thick-thin double repeat, a thin-thick double repeat, a double bar, a start bar, an end bar, a thick double bar, a thin-thick-thin bar, a dotted bar and a dashed bar. In addition, there is an option ||: which is equivalent to |: except at line breaks, where it produces a double bar (||) at the end of the line and a repeat sign (|:) at the beginning of the new line.
If bartype is set to empty then nothing is printed, but a line break is allowed at that spot.
gap is used for the gaps in dashed bar lines.
User settable properties:
allow-span-bar(boolean)If false, no inter-staff bar line will be created below this bar line.
bar-size(dimension, in staff space)The size of a bar line.
gap(dimension, in staff space)Size of a gap in a variable symbol.
glyph(string)A string determining what ‘style’ of glyph is typeset. Valid choices depend on the function that is reading this property.
hair-thickness(number)Thickness of the thin line in a bar line.
kern(dimension, in staff space)Amount of extra white space to add. For bar lines, this is the amount of space after a thick line.
thick-thickness(number)Bar line thickness, measured in
line-thickness.thin-kern(number)The space after a hair-line in a bar line.
Internal properties:
bar-extent(pair of numbers)The Y-extent of the actual bar line. This may differ from
Y-extentbecause it does not include the dots in a repeat bar line.glyph-name(string)The glyph name within the font.
This grob interface is used in the following graphical object(s): BarLine and SpanBar.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < bar-line-interface ] | [ Up : Graphical Object Interfaces ] | [ bass-figure-interface > ] | ||
3.2.10 bass-figure-alignment-interface
Align a bass figure.
This grob interface is used in the following graphical object(s): BassFigureAlignment.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < bass-figure-alignment-interface ] | [ Up : Graphical Object Interfaces ] | [ beam-interface > ] | ||
3.2.11 bass-figure-interface
A bass figure text.
User settable properties:
implicit(boolean)Is this an implicit bass figure?
This grob interface is used in the following graphical object(s): BassFigure.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < bass-figure-interface ] | [ Up : Graphical Object Interfaces ] | [ bend-after-interface > ] | ||
3.2.12 beam-interface
A beam.
The thickness property is the weight of beams, measured in staffspace. The direction property is not user-serviceable. Use the direction property of Stem instead.
User settable properties:
annotation(string)Annotate a grob for debug purposes.
auto-knee-gap(dimension, in staff space)If a gap is found between note heads where a horizontal beam fits that is larger than this number, make a kneed beam.
beamed-stem-shorten(list)How much to shorten beamed stems, when their direction is forced. It is a list, since the value is different depending on the number of flags and beams.
beaming(pair)Pair of number lists. Each number list specifies which beams to make.
0is the central beam,1is the next beam toward the note, etc. This information is used to determine how to connect the beaming patterns from stem to stem inside a beam.break-overshoot(pair of numbers)How much does a broken spanner stick out of its bounds?
clip-edges(boolean)Allow outward pointing beamlets at the edges of beams?
concaveness(number)A beam is concave if its inner stems are closer to the beam than the two outside stems. This number is a measure of the closeness of the inner stems. It is used for damping the slope of the beam.
damping(number)Amount of beam slope damping.
direction(direction)If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.gap(dimension, in staff space)Size of a gap in a variable symbol.
gap-count(integer)Number of gapped beams for tremolo.
grow-direction(direction)Crescendo or decrescendo?
inspect-quants(pair of numbers)If debugging is set, set beam and slur quants to this position, and print the respective scores.
knee(boolean)Is this beam kneed?
length-fraction(number)Multiplier for lengths. Used for determining ledger lines and stem lengths.
neutral-direction(direction)Which direction to take in the center of the staff.
positions(pair of numbers)Pair of staff coordinates
(left . right), where both left and right are instaff-spaceunits of the current staff. For slurs, this value selects which slur candidate to use; if extreme positions are requested, the closest one is taken.thickness(number)Line thickness, generally measured in
line-thickness.
Internal properties:
details(list)Alist of parameters for detailed grob behavior.
More information on the allowed parameters can be found by inspecting ‘lily/slur-scoring.cc’, ‘lily/beam-quanting.cc’, and ‘lily/tie-formatting-problem.cc’. Setting
debug-tie-scoring,debug-beam-scoringordebug-slur-scoringalso provides useful clues.least-squares-dy(number)The ideal beam slope, without damping.
normal-stems(unknown)An array of visible stems.
quant-score(string)The beam quanting score; stored for debugging.
quantized-positions(pair of numbers)The beam positions after quanting.
shorten(dimension, in staff space)The amount of space that a stem is shortened. Internally used to distribute beam shortening over stems.
stems(unknown)A list of stem objects, corresponding to the notes that the arpeggio has to be before.
This grob interface is used in the following graphical object(s): Beam.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < beam-interface ] | [ Up : Graphical Object Interfaces ] | [ break-alignable-interface > ] | ||
3.2.13 bend-after-interface
A doit or drop.
User settable properties:
thickness(number)Line thickness, generally measured in
line-thickness.
Internal properties:
delta-position(number)The vertical position difference.
This grob interface is used in the following graphical object(s): BendAfter.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < bend-after-interface ] | [ Up : Graphical Object Interfaces ] | [ break-aligned-interface > ] | ||
3.2.14 break-alignable-interface
Object that is aligned on a break alignment.
User settable properties:
break-align-symbols(list)A list of symbols that determine which break-aligned grobs to align this to. If the grob selected by the first symbol in the list is invisible due to break-visibility, we will align to the next grob (and so on).
This grob interface is used in the following graphical object(s): BarNumber and RehearsalMark.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < break-alignable-interface ] | [ Up : Graphical Object Interfaces ] | [ break-alignment-interface > ] | ||
3.2.15 break-aligned-interface
Items that are aligned in prefatory matter.
The spacing of these items is controlled by the space-alist property. It contains a list break-align-symbols with a specification of the associated space. The space specification can be
-
(minimum-space . spc)) Pad space until the distance is spc.
-
(fixed-space . spc) Set a fixed space.
-
(semi-fixed-space . spc) Set a space. Half of it is fixed and half is stretchable. (does not work at start of line. fixme)
-
(extra-space . spc) Add spc amount of space.
Special keys for the alist are first-note and next-note, signifying the first note on a line, and the next note halfway a line.
Rules for this spacing are much more complicated than this. See [Wanske] page 126–134, [Ross] page 143–147.
User settable properties:
break-align-anchor(number)Grobs aligned to this break-align grob will have their X-offsets shifted by this number. In bar lines, for example, this is used to position grobs relative to the (visual) center of the bar line.
break-align-anchor-alignment(number)Read by
ly:break-aligned-interface::calc-extent-aligned-anchorfor aligning an anchor to a grob’s extentbreak-align-symbol(symbol)This key is used for aligning and spacing breakable items.
space-alist(list)A table that specifies distances between prefatory items, like clef and time-signature. The format is an alist of spacing tuples:
(break-align-symbol type . distance), where type can be the symbolsminimum-spaceorextra-space.
This grob interface is used in the following graphical object(s): Ambitus, AmbitusAccidental, BarLine, BreakAlignGroup, BreathingSign, Clef, Custos, DoublePercentRepeat, KeyCancellation, KeySignature, LeftEdge and TimeSignature.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < break-aligned-interface ] | [ Up : Graphical Object Interfaces ] | [ breathing-sign-interface > ] | ||
3.2.16 break-alignment-interface
The object that performs break alignment. See break-aligned-interface.
User settable properties:
break-align-orders(vector)Defines the order in which prefatory matter (clefs, key signatures) appears. The format is a vector of length 3, where each element is one order for end-of-line, middle of line, and start-of-line, respectively. An order is a list of symbols.
For example, clefs are put after key signatures by setting
\override Score.BreakAlignment #'break-align-orders = #(make-vector 3 '(span-bar breathing-sign staff-bar key clef time-signature))
Internal properties:
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.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < break-alignment-interface ] | [ Up : Graphical Object Interfaces ] | [ chord-name-interface > ] | ||
3.2.17 breathing-sign-interface
A breathing sign.
User settable properties:
direction(direction)If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.
This grob interface is used in the following graphical object(s): BreathingSign.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < breathing-sign-interface ] | [ Up : Graphical Object Interfaces ] | [ clef-interface > ] | ||
3.2.18 chord-name-interface
A chord name.
Internal properties:
begin-of-line-visible(boolean)Used for marking
ChordNamesthat should only show changes.
This grob interface is used in the following graphical object(s): ChordName.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < chord-name-interface ] | [ Up : Graphical Object Interfaces ] | [ cluster-beacon-interface > ] | ||
3.2.19 clef-interface
A clef sign.
User settable properties:
full-size-change(boolean)Don’t make a change clef smaller.
glyph(string)A string determining what ‘style’ of glyph is typeset. Valid choices depend on the function that is reading this property.
non-default(boolean)Set for manually specified clefs.
Internal properties:
glyph-name(string)The glyph name within the font.
This grob interface is used in the following graphical object(s): Clef.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < clef-interface ] | [ Up : Graphical Object Interfaces ] | [ cluster-interface > ] | ||
3.2.20 cluster-beacon-interface
A place holder for the cluster spanner to determine the vertical extents of a cluster spanner at this X position.
User settable properties:
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.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < cluster-beacon-interface ] | [ Up : Graphical Object Interfaces ] | [ custos-interface > ] | ||
3.2.21 cluster-interface
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.
User settable properties:
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.
Internal properties:
columns(unknown)A list of grobs, typically containing
PaperColumnorNoteColumnobjects.
This grob interface is used in the following graphical object(s): ClusterSpanner.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < cluster-interface ] | [ Up : Graphical Object Interfaces ] | [ dot-column-interface > ] | ||
3.2.22 custos-interface
A custos object. style can have four valid values: mensural, vaticana, medicaea, and hufnagel. mensural is the default style.
User settable properties:
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.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < custos-interface ] | [ Up : Graphical Object Interfaces ] | [ dots-interface > ] | ||
3.2.23 dot-column-interface
Group dot objects so they form a column, and position dots so they do not clash with staff lines.
User settable properties:
direction(direction)If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.
Internal properties:
dots(unknown)Multiple
Dotsobjects.positioning-done(boolean)Used to signal that a positioning element did its job. This ensures that a positioning is only done once.
This grob interface is used in the following graphical object(s): DotColumn.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < dot-column-interface ] | [ Up : Graphical Object Interfaces ] | [ dynamic-interface > ] | ||
3.2.24 dots-interface
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.
User settable properties:
direction(direction)If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.dot-count(integer)The number of dots.
style(symbol)This setting determines in what style a grob is typeset. Valid choices depend on the
stencilcallback reading this property.
This grob interface is used in the following graphical object(s): Dots.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < dots-interface ] | [ Up : Graphical Object Interfaces ] | [ dynamic-line-spanner-interface > ] | ||
3.2.25 dynamic-interface
Any kind of loudness sign.
This grob interface is used in the following graphical object(s): DynamicLineSpanner, DynamicText, DynamicTextSpanner and Hairpin.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < dynamic-interface ] | [ Up : Graphical Object Interfaces ] | [ dynamic-text-spanner-interface > ] | ||
3.2.26 dynamic-line-spanner-interface
Dynamic line spanner.
User settable properties:
avoid-slur(symbol)Method of handling slur collisions. Choices are
around,inside,outside. If unset, scripts and slurs ignore each other.aroundonly moves the script if there is a collision;outsidealways moves the script.
This grob interface is used in the following graphical object(s): DynamicLineSpanner.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < dynamic-line-spanner-interface ] | [ Up : Graphical Object Interfaces ] | [ enclosing-bracket-interface > ] | ||
3.2.27 dynamic-text-spanner-interface
Dynamic text spanner.
User settable properties:
text(markup)Text markup. See Formatting text.
This grob interface is used in the following graphical object(s): DynamicTextSpanner.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < dynamic-text-spanner-interface ] | [ Up : Graphical Object Interfaces ] | [ figured-bass-continuation-interface > ] | ||
3.2.28 enclosing-bracket-interface
Brackets alongside bass figures.
User settable properties:
bracket-flare(pair of numbers)A pair of numbers specifying how much edges of brackets should slant outward. Value
0.0means straight edges.edge-height(pair)A pair of numbers specifying the heights of the vertical edges:
(left-height . right-height).padding(dimension, in staff space)Add this much extra space between objects that are next to each other.
shorten-pair(pair of numbers)The lengths to shorten a text-spanner on both sides, for example a pedal bracket. Positive values shorten the text-spanner, while negative values lengthen it.
thickness(number)Line thickness, generally measured in
line-thickness.
Internal properties:
elements(unknown)A list of grobs; the type is depending on the grob where this is set in.
This grob interface is used in the following graphical object(s): BassFigureBracket.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < enclosing-bracket-interface ] | [ Up : Graphical Object Interfaces ] | [ finger-interface > ] | ||
3.2.29 figured-bass-continuation-interface
Simple extender line between bounds.
User settable properties:
padding(dimension, in staff space)Add this much extra space between objects that are next to each other.
thickness(number)Line thickness, generally measured in
line-thickness.
Internal properties:
figures(unknown)Figured bass objects for continuation line.
This grob interface is used in the following graphical object(s): BassFigureContinuation.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < figured-bass-continuation-interface ] | [ Up : Graphical Object Interfaces ] | [ font-interface > ] | ||
3.2.30 finger-interface
A fingering instruction.
This grob interface is used in the following graphical object(s): Fingering.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < finger-interface ] | [ Up : Graphical Object Interfaces ] | [ fret-diagram-interface > ] | ||
3.2.31 font-interface
Any symbol that is typeset through fixed sets of glyphs, (i.e., fonts).
User settable properties:
font-encoding(symbol)The font encoding is the broadest category for selecting a font. Currently, only lilypond’s system fonts (Emmentaler and Aybabtu) are using this property. Available values are
fetaMusic(Emmentaler),fetaBraces(Aybabtu),fetaNumber(Emmentaler), andfetaDynamic(Emmentaler).font-family(symbol)The font family is the broadest category for selecting text fonts. Options include:
sans,roman.font-name(string)Specifies a file name (without extension) of the font to load. This setting overrides selection using
font-family,font-seriesandfont-shape.font-series(symbol)Select the series of a font. Choices include
medium,bold,bold-narrow, etc.font-shape(symbol)Select the shape of a font. Choices include
upright,italic,caps.font-size(number)The font size, compared to the ‘normal’ size.
0is style-sheet’s normal size,-1is smaller,+1is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. Fractional values are allowed.
Internal properties:
font(font metric)A cached font metric object.
This grob interface is used in the following graphical object(s): Accidental, AccidentalCautionary, AccidentalSuggestion, AmbitusAccidental, AmbitusLine, AmbitusNoteHead, Arpeggio, BalloonTextItem, BarLine, BarNumber, BassFigure, Beam, BreathingSign, ChordName, Clef, CombineTextScript, Custos, Dots, DoublePercentRepeat, DoublePercentRepeatCounter, DynamicText, DynamicTextSpanner, Fingering, FretBoard, HarmonicParenthesesItem, InstrumentName, InstrumentSwitch, KeyCancellation, KeySignature, LyricHyphen, LyricText, MensuralLigature, MetronomeMark, MultiMeasureRest, MultiMeasureRestNumber, MultiMeasureRestText, NonMusicalPaperColumn, NoteHead, NoteName, OctavateEight, OttavaBracket, PaperColumn, ParenthesesItem, PercentRepeat, PercentRepeatCounter, RehearsalMark, Rest, Script, SostenutoPedal, SpanBar, StanzaNumber, Stem, StringNumber, StrokeFinger, SustainPedal, SystemStartBrace, SystemStartBracket, SystemStartSquare, TabNoteHead, TextScript, TextSpanner, TimeSignature, TrillPitchAccidental, TrillPitchGroup, TrillPitchHead, TrillSpanner, TupletNumber, UnaCordaPedal, VaticanaLigature and VoltaBracket.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < font-interface ] | [ Up : Graphical Object Interfaces ] | [ grace-spacing-interface > ] | ||
3.2.32 fret-diagram-interface
A fret diagram
User settable properties:
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-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.label-dir– Side to which the fret label is attached.-1,#LEFT, or#DOWNfor left or down;1,#RIGHT, or#UPfor right or up. Default#RIGHT.mute-string– Character string to be used to indicate muted string. Default"x".number-type– Type of numbers to use in fret label. Choices includeroman-lower,roman-upper, andarabic. Defaultroman-lower.open-string– Character string to be used to indicate open string. Default"o".orientation– Orientation of fret-diagram. Options includenormal,landscape, andopposing-landscape. Defaultnormal.string-count– The number of strings. Default 6.string-label-font-mag– The magnification of the font used to label fingerings at the string, rather than in the dot. Default value 0.6 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)Size of object, relative to standard size.
thickness(number)Line thickness, generally measured in
line-thickness.
This grob interface is used in the following graphical object(s): FretBoard.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < fret-diagram-interface ] | [ Up : Graphical Object Interfaces ] | [ gregorian-ligature-interface > ] | ||
3.2.33 grace-spacing-interface
Keep track of durations in a run of grace notes.
User settable properties:
common-shortest-duration(moment)The most common shortest note length. This is used in spacing. Enlarging this sets the score tighter.
Internal properties:
columns(unknown)A list of grobs, typically containing
PaperColumnorNoteColumnobjects.
This grob interface is used in the following graphical object(s): GraceSpacing.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < grace-spacing-interface ] | [ Up : Graphical Object Interfaces ] | [ grid-line-interface > ] | ||
3.2.34 gregorian-ligature-interface
A gregorian ligature.
Internal properties:
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.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < gregorian-ligature-interface ] | [ Up : Graphical Object Interfaces ] | [ grid-point-interface > ] | ||
3.2.35 grid-line-interface
A line that is spanned between grid-points.
User settable properties:
thickness(number)Line thickness, generally measured in
line-thickness.
Internal properties:
elements(unknown)A list of grobs; the type is depending on the grob where this is set in.
This grob interface is used in the following graphical object(s): GridLine.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < grid-line-interface ] | [ Up : Graphical Object Interfaces ] | [ grob-interface > ] | ||
3.2.36 grid-point-interface
A spanning point for grid lines.
This grob interface is used in the following graphical object(s): GridPoint.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < grid-point-interface ] | [ Up : Graphical Object Interfaces ] | [ hairpin-interface > ] | ||
3.2.37 grob-interface
A grob represents a piece of music notation.
All grobs have an X and Y position on the page. These X and Y positions are stored in a relative format, thus they can easily be combined by stacking them, hanging one grob to the side of another, or coupling them into grouping objects.
Each grob has a reference point (a.k.a. parent): The position of a grob is stored relative to that reference point. For example, the X reference point of a staccato dot usually is the note head that it applies to. When the note head is moved, the staccato dot moves along automatically.
A grob is often associated with a symbol, but some grobs do not print any symbols. They take care of grouping objects. For example, there is a separate grob that stacks staves vertically. The NoteCollision object is also an abstract grob: It only moves around chords, but doesn’t print anything.
Grobs have properties (Scheme variables) that can be read and set. Two types of them exist: immutable and mutable. Immutable variables define the default style and behavior. They are shared between many objects. They can be changed using \override and \revert. Mutable properties are variables that are specific to one grob. Typically, lists of other objects, or results from computations are stored in mutable properties. In particular, every call to set-grob-property (or its C++ equivalent) sets a mutable property.
The properties after-line-breaking and before-line-breaking are dummies that are not user-serviceable.
User settable properties:
X-extent(pair of numbers)Hard coded extent in X direction.
X-offset(number)The horizontal amount that this object is moved relative to its X-parent.
Y-extent(pair of numbers)Hard coded extent in Y direction.
Y-offset(number)The vertical amount that this object is moved relative to its Y-parent.
after-line-breaking(boolean)Dummy property, used to trigger callback for
after-line-breaking.avoid-slur(symbol)Method of handling slur collisions. Choices are
around,inside,outside. If unset, scripts and slurs ignore each other.aroundonly moves the script if there is a collision;outsidealways moves the script.before-line-breaking(boolean)Dummy property, used to trigger a callback function.
color(list)The color of this grob.
extra-X-extent(pair of numbers)A grob is enlarged in X dimension by this much.
extra-Y-extent(pair of numbers)A grob is enlarged in Y dimension by this much.
extra-offset(pair of numbers)A pair representing an offset. This offset is added just before outputting the symbol, so the typesetting engine is completely oblivious to it. The values are measured in
staff-spaceunits of the staff’sStaffSymbol.layer(integer)The output layer (a value between 0 and 2): Layers define the order of printing objects. Objects in lower layers are overprinted by objects in higher layers.
minimum-X-extent(pair of numbers)Minimum size of an object in X dimension, measured in
staff-spaceunits.minimum-Y-extent(pair of numbers)Minimum size of an object in Y dimension, measured in
staff-spaceunits.outside-staff-horizontal-padding(number)By default, an outside-staff-object can be placed so that is it very close to another grob horizontally. If this property is set, the outside-staff-object is raised so that it is not so close to its neighbor.
outside-staff-padding(number)The padding to place between this grob and the staff when spacing according to
outside-staff-priority.outside-staff-priority(number)If set, the grob is positioned outside the staff in such a way as to avoid all collisions. In case of a potential collision, the grob with the smaller
outside-staff-priorityis closer to the staff.rotation(list)Number of degrees to rotate this object, and what point to rotate around. For example,
#'(45 0 0)rotates by 45 degrees around the center of this object.springs-and-rods(boolean)Dummy variable for triggering spacing routines.
stencil(unknown)The symbol to print.
transparent(boolean)This makes the grob invisible.
Internal properties:
axis-group-parent-X(layout object)Containing X axis group.
axis-group-parent-Y(layout object)Containing Y axis group.
cause(any type)Any kind of causation objects (i.e., music, or perhaps translator) that was the cause for this grob.
cross-staff(boolean)For a beam or a stem, this is true if we depend on inter-staff spacing.
interfaces(list)A list of symbols indicating the interfaces supported by this object. It is initialized from the
metafield.meta(list)Provide meta information. It is an alist with the entries
nameandinterfaces.pure-Y-offset-in-progress(boolean)A debugging aid for catching cyclic dependencies.
staff-symbol(layout object)The staff symbol grob that we are in.
This grob interface is used in the following graphical object(s): Accidental, AccidentalCautionary, AccidentalPlacement, AccidentalSuggestion, Ambitus, AmbitusAccidental, AmbitusLine, AmbitusNoteHead, Arpeggio, BalloonTextItem, BarLine, BarNumber, BassFigure, BassFigureAlignment, BassFigureAlignmentPositioning, BassFigureBracket, BassFigureContinuation, BassFigureLine, Beam, BendAfter, BreakAlignGroup, BreakAlignment, BreathingSign, ChordName, Clef, ClusterSpanner, ClusterSpannerBeacon, CombineTextScript, Custos, DotColumn, Dots, DoublePercentRepeat, DoublePercentRepeatCounter, DynamicLineSpanner, DynamicText, DynamicTextSpanner, Fingering, FretBoard, Glissando, GraceSpacing, GridLine, GridPoint, Hairpin, HarmonicParenthesesItem, HorizontalBracket, InstrumentName, InstrumentSwitch, KeyCancellation, KeySignature, LaissezVibrerTie, LaissezVibrerTieColumn, LedgerLineSpanner, LeftEdge, LigatureBracket, LyricExtender, LyricHyphen, LyricSpace, LyricText, MeasureGrouping, MelodyItem, MensuralLigature, MetronomeMark, MultiMeasureRest, MultiMeasureRestNumber, MultiMeasureRestText, NonMusicalPaperColumn, NoteCollision, NoteColumn, NoteHead, NoteName, NoteSpacing, OctavateEight, OttavaBracket, PaperColumn, ParenthesesItem, PercentRepeat, PercentRepeatCounter, PhrasingSlur, PianoPedalBracket, RehearsalMark, RepeatSlash, RepeatTie, RepeatTieColumn, Rest, RestCollision, Script, ScriptColumn, ScriptRow, SeparationItem, Slur, SostenutoPedal, SostenutoPedalLineSpanner, SpacingSpanner, SpanBar, StaffSpacing, StaffSymbol, StanzaNumber, Stem, StemTremolo, StringNumber, StrokeFinger, SustainPedal, SustainPedalLineSpanner, System, SystemStartBar, SystemStartBrace, SystemStartBracket, SystemStartSquare, TabNoteHead, TextScript, TextSpanner, Tie, TieColumn, TimeSignature, TrillPitchAccidental, TrillPitchGroup, TrillPitchHead, TrillSpanner, TupletBracket, TupletNumber, UnaCordaPedal, UnaCordaPedalLineSpanner, VaticanaLigature, VerticalAlignment, VerticalAxisGroup, VoiceFollower, VoltaBracket and VoltaBracketSpanner.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < grob-interface ] | [ Up : Graphical Object Interfaces ] | [ hara-kiri-group-spanner-interface > ] | ||
3.2.38 hairpin-interface
A hairpin crescendo or decrescendo.
User settable properties:
bound-padding(number)The amount of padding to insert around spanner bounds.
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.
Internal properties:
adjacent-hairpins(unknown)A list of directly neighboring hairpins.
This grob interface is used in the following graphical object(s): Hairpin.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < hairpin-interface ] | [ Up : Graphical Object Interfaces ] | [ horizontal-bracket-interface > ] | ||
3.2.39 hara-kiri-group-spanner-interface
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.
User settable properties:
remove-empty(boolean)If set, remove group if it contains no interesting items.
remove-first(boolean)Remove the first staff of an orchestral score?
Internal properties:
important-column-ranks(vector)A cache of columns that contain
items-worth-livingdata.items-worth-living(unknown)A list of interesting items. If empty in a particular staff, then that staff is erased.
This grob interface is used in the following graphical object(s): VerticalAxisGroup.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < hara-kiri-group-spanner-interface ] | [ Up : Graphical Object Interfaces ] | [ instrument-specific-markup-interface > ] | ||
3.2.40 horizontal-bracket-interface
A horizontal bracket encompassing notes.
User settable properties:
bracket-flare(pair of numbers)A pair of numbers specifying how much edges of brackets should slant outward. Value
0.0means straight edges.connect-to-neighbor(pair)Pair of booleans, indicating whether this grob looks as a continued break.
edge-height(pair)A pair of numbers specifying the heights of the vertical edges:
(left-height . right-height).shorten-pair(pair of numbers)The lengths to shorten a text-spanner on both sides, for example a pedal bracket. Positive values shorten the text-spanner, while negative values lengthen it.
Internal properties:
columns(unknown)A list of grobs, typically containing
PaperColumnorNoteColumnobjects.
This grob interface is used in the following graphical object(s): HorizontalBracket, OttavaBracket and VoltaBracket.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < horizontal-bracket-interface ] | [ Up : Graphical Object Interfaces ] | [ item-interface > ] | ||
3.2.41 instrument-specific-markup-interface
Instrument-specific markup (like fret boards or harp pedal diagrams).
User settable properties:
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-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.label-dir– Side to which the fret label is attached.-1,#LEFT, or#DOWNfor left or down;1,#RIGHT, or#UPfor right or up. Default#RIGHT.mute-string– Character string to be used to indicate muted string. Default"x".number-type– Type of numbers to use in fret label. Choices includeroman-lower,roman-upper, andarabic. Defaultroman-lower.open-string– Character string to be used to indicate open string. Default"o".orientation– Orientation of fret-diagram. Options includenormal,landscape, andopposing-landscape. Defaultnormal.string-count– The number of strings. Default 6.string-label-font-mag– The magnification of the font used to label fingerings at the string, rather than in the dot. Default value 0.6 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.harp-pedal-details(list)An alist of detailed grob properties for harp pedal diagrams. Each alist entry consists of a
(property . value)pair. The properties which can be included in harp-pedal-details include the following:
box-offset– Vertical shift of the center of flat/sharp pedal boxes above/below the horizontal line. Default value 0.8.box-width– Width of each pedal box. Default value 0.4.box-height– Height of each pedal box. Default value 1.0.space-before-divider– Space between boxes before the first divider (so that the diagram can be made symmetric). Default value 0.8.space-after-divider– Space between boxes after the first divider. Default value 0.8.circle-thickness– Thickness (in unit of the line-thickness) of the ellipse around circled pedals. Default value 0.5.circle-x-padding– Padding in X direction of the ellipse around circled pedals. Default value 0.15.circle-y-padding– Padding in Y direction of the ellipse around circled pedals. Default value 0.2.size(number)Size of object, relative to standard size.
thickness(number)Line thickness, generally measured in
line-thickness.
This grob interface is used in the following graphical object(s): TextScript.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < instrument-specific-markup-interface ] | [ Up : Graphical Object Interfaces ] | [ key-cancellation-interface > ] | ||
3.2.42 item-interface
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
User settable properties:
break-visibility(vector)A vector of 3 booleans,
#(end-of-line unbroken begin-of-line).#tmeans visible,#fmeans killed.extra-spacing-height(pair of numbers)In the horizontal spacing problem, we increase the height of each item by this amount (by adding the ‘car’ to the bottom of the item and adding the ‘cdr’ to the top of the item). In order to make a grob infinitely high (to prevent the horizontal spacing problem from placing any other grobs above or below this grob), set this to
(-inf.0 . +inf.0).extra-spacing-width(pair of numbers)In the horizontal spacing problem, we pad each item by this amount (by adding the ‘car’ on the left side of the item and adding the ‘cdr’ on the right side of the item). In order to make a grob take up no horizontal space at all, set this to
(+inf.0 . -inf.0).non-musical(boolean)True if the grob belongs to a
NonMusicalPaperColumn.
This grob interface is used in the following graphical object(s): Accidental, AccidentalCautionary, AccidentalPlacement, AccidentalSuggestion, Ambitus, AmbitusAccidental, AmbitusLine, AmbitusNoteHead, Arpeggio, BalloonTextItem, BarLine, BarNumber, BassFigure, BassFigureBracket, BreakAlignGroup, BreakAlignment, BreathingSign, ChordName, Clef, ClusterSpannerBeacon, CombineTextScript, Custos, DotColumn, Dots, DoublePercentRepeat, DoublePercentRepeatCounter, DynamicText, Fingering, FretBoard, GridLine, GridPoint, HarmonicParenthesesItem, InstrumentSwitch, KeyCancellation, KeySignature, LaissezVibrerTie, LaissezVibrerTieColumn, LeftEdge, LyricText, MelodyItem, MetronomeMark, NonMusicalPaperColumn, NoteCollision, NoteColumn, NoteHead, NoteName, NoteSpacing, OctavateEight, PaperColumn, ParenthesesItem, RehearsalMark, RepeatSlash, RepeatTie, RepeatTieColumn, Rest, RestCollision, Script, ScriptColumn, ScriptRow, SeparationItem, SostenutoPedal, SpanBar, StaffSpacing, StanzaNumber, Stem, StemTremolo, StringNumber, StrokeFinger, SustainPedal, TabNoteHead, TextScript, TimeSignature, TrillPitchAccidental, TrillPitchGroup, TrillPitchHead and UnaCordaPedal.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < item-interface ] | [ Up : Graphical Object Interfaces ] | [ key-signature-interface > ] | ||
3.2.43 key-cancellation-interface
A key cancellation.
This grob interface is used in the following graphical object(s): KeyCancellation.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < key-cancellation-interface ] | [ Up : Graphical Object Interfaces ] | [ ledger-line-spanner-interface > ] | ||
3.2.44 key-signature-interface
A group of accidentals, to be printed as signature sign.
User settable properties:
alteration-alist(list)List of
(pitch . accidental)pairs for key signature.c0-position(integer)An integer indicating the position of middle C.
glyph-name-alist(list)An alist of key-string pairs.
padding(dimension, in staff space)Add this much extra space between objects that are next to each other.
padding-pairs(list)An alist mapping
(name . name)to distances.
This grob interface is used in the following graphical object(s): KeyCancellation and KeySignature.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < key-signature-interface ] | [ Up : Graphical Object Interfaces ] | [ ledgered-interface > ] | ||
3.2.45 ledger-line-spanner-interface
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.
User settable properties:
gap(dimension, in staff space)Size of a gap in a variable symbol.
length-fraction(number)Multiplier for lengths. Used for determining ledger lines and stem lengths.
minimum-length-fraction(number)Minimum length of ledger line as fraction of note head size.
thickness(number)Line thickness, generally measured in
line-thickness.
Internal properties:
note-heads(unknown)A list of note head grobs.
This grob interface is used in the following graphical object(s): LedgerLineSpanner.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < ledger-line-spanner-interface ] | [ Up : Graphical Object Interfaces ] | [ ligature-bracket-interface > ] | ||
3.2.46 ledgered-interface
Objects that need ledger lines, typically note heads. See also ledger-line-spanner-interface.
User settable properties:
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.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < ledgered-interface ] | [ Up : Graphical Object Interfaces ] | [ ligature-interface > ] | ||
3.2.47 ligature-bracket-interface
A bracket indicating a ligature in the original edition.
User settable properties:
height(dimension, in staff space)Height of an object in
staff-spaceunits.thickness(number)Line thickness, generally measured in
line-thickness.width(dimension, in staff space)The width of a grob measured in staff space.
This grob interface is not used in any graphical object.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < ligature-bracket-interface ] | [ Up : Graphical Object Interfaces ] | [ line-interface > ] | ||
3.2.48 ligature-interface
A ligature.
This grob interface is not used in any graphical object.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < ligature-interface ] | [ Up : Graphical Object Interfaces ] | [ line-spanner-interface > ] | ||
3.2.49 line-interface
Generic line objects. Any object using lines supports this. The property style can be line, dashed-line, trill, dotted-line or zigzag.
For dashed-line, the length of the dashes is tuned with dash-fraction. If the latter is set to 0, a dotted line is produced. If dash-period is negative, the line is made transparent.
User settable properties:
arrow-length(number)Arrow length.
arrow-width(number)Arrow width.
dash-fraction(number)Size of the dashes, relative to
dash-period. Should be between0.0(no line) and1.0(continuous line).dash-period(number)The length of one dash together with whitespace. If negative, no line is drawn at all.
style(symbol)This setting determines in what style a grob is typeset. Valid choices depend on the
stencilcallback reading this property.thickness(number)Line thickness, generally measured in
line-thickness.zigzag-length(dimension, in staff space)The length of the lines of a zigzag, relative to
zigzag-width. A value of1gives 60-degree zigzags.zigzag-width(dimension, in staff space)The width of one zigzag squiggle. This number is adjusted slightly so that the glissando line can be constructed from a whole number of squiggles.
This grob interface is used in the following graphical object(s): DynamicTextSpanner, Glissando, Hairpin, HorizontalBracket, LigatureBracket, OttavaBracket, PianoPedalBracket, TextSpanner, TrillSpanner, TupletBracket, VoiceFollower and VoltaBracket.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < line-interface ] | [ Up : Graphical Object Interfaces ] | [ lyric-extender-interface > ] | ||
3.2.50 line-spanner-interface
Generic line drawn between two objects, e.g., for use with glissandi.
User settable properties:
bound-details(list)An alist of properties for determining attachments of spanners to edges.
extra-dy(number)Slope glissandi this much extra.
gap(dimension, in staff space)Size of a gap in a variable symbol.
left-bound-info(list)An alist of properties for determining attachments of spanners to edges.
right-bound-info(list)An alist of properties for determining attachments of spanners to edges.
thickness(number)Line thickness, generally measured in
line-thickness.to-barline(boolean)If true, the spanner will stop at the bar line just before it would otherwise stop.
Internal properties:
note-columns(pair)A list of
NoteColumngrobs.
This grob interface is used in the following graphical object(s): DynamicTextSpanner, Glissando, TextSpanner, TrillSpanner and VoiceFollower.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < line-spanner-interface ] | [ Up : Graphical Object Interfaces ] | [ lyric-hyphen-interface > ] | ||
3.2.51 lyric-extender-interface
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).
User settable properties:
left-padding(dimension, in staff space)The amount of space that is put left to an object (e.g., a group of accidentals).
next(layout object)Object that is next relation (e.g., the lyric syllable following an extender).
right-padding(dimension, in staff space)Space to insert on the right side of an object (e.g., between note and its accidentals).
thickness(number)Line thickness, generally measured in
line-thickness.
Internal properties:
heads(unknown)A list of note heads.
This grob interface is used in the following graphical object(s): LyricExtender.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < lyric-extender-interface ] | [ Up : Graphical Object Interfaces ] | [ lyric-interface > ] | ||
3.2.52 lyric-hyphen-interface
A centered hyphen is simply a line between lyrics used to divide syllables.
User settable properties:
dash-period(number)The length of one dash together with whitespace. If negative, no line is drawn at all.
height(dimension, in staff space)Height of an object in
staff-spaceunits.length(dimension, in staff space)User override for the stem length of unbeamed stems.
minimum-distance(dimension, in staff space)Minimum distance between rest and notes or beam.
minimum-length(dimension, in staff space)Try to make a spanner at least this long, normally in the horizontal direction. This requires an appropriate callback for the
springs-and-rodsproperty. If added to aTie, this sets the minimum distance between noteheads.padding(dimension, in staff space)Add this much extra space between objects that are next to each other.
thickness(number)Line thickness, generally measured in
line-thickness.
This grob interface is used in the following graphical object(s): LyricHyphen and LyricSpace.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < lyric-hyphen-interface ] | [ Up : Graphical Object Interfaces ] | [ lyric-syllable-interface > ] | ||
3.2.53 lyric-interface
Any object that is related to lyrics.
This grob interface is used in the following graphical object(s): LyricExtender and LyricHyphen.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < lyric-interface ] | [ Up : Graphical Object Interfaces ] | [ mark-interface > ] | ||
3.2.54 lyric-syllable-interface
A single piece of lyrics.
This grob interface is used in the following graphical object(s): LyricText.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < lyric-syllable-interface ] | [ Up : Graphical Object Interfaces ] | [ measure-grouping-interface > ] | ||
3.2.55 mark-interface
A rehearsal mark.
This grob interface is used in the following graphical object(s): RehearsalMark.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < mark-interface ] | [ Up : Graphical Object Interfaces ] | [ melody-spanner-interface > ] | ||
3.2.56 measure-grouping-interface
This object indicates groups of beats. Valid choices for style are bracket and triangle.
User settable properties:
height(dimension, in staff space)Height of an object in
staff-spaceunits.style(symbol)This setting determines in what style a grob is typeset. Valid choices depend on the
stencilcallback reading this property.thickness(number)Line thickness, generally measured in
line-thickness.
This grob interface is used in the following graphical object(s): MeasureGrouping.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < measure-grouping-interface ] | [ Up : Graphical Object Interfaces ] | [ mensural-ligature-interface > ] | ||
3.2.57 melody-spanner-interface
Context dependent typesetting decisions.
User settable properties:
neutral-direction(direction)Which direction to take in the center of the staff.
Internal properties:
stems(unknown)A list of stem objects, corresponding to the notes that the arpeggio has to be before.
This grob interface is used in the following graphical object(s): MelodyItem.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < melody-spanner-interface ] | [ Up : Graphical Object Interfaces ] | [ metronome-mark-interface > ] | ||
3.2.58 mensural-ligature-interface
A mensural ligature.
User settable properties:
thickness(number)Line thickness, generally measured in
line-thickness.
Internal properties:
delta-position(number)The vertical position difference.
flexa-width(dimension, in staff space)The width of a flexa shape in a ligature grob in (in
staff-spaceunits).head-width(dimension, in staff space)The width of this ligature head.
join-right-amount(number)DOCME
primitive(integer)A pointer to a ligature primitive, i.e., an item similar to a note head that is part of a ligature.
This grob interface is used in the following graphical object(s): MensuralLigature and NoteHead.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < mensural-ligature-interface ] | [ Up : Graphical Object Interfaces ] | [ multi-measure-interface > ] | ||
3.2.59 metronome-mark-interface
A metronome mark.
This grob interface is used in the following graphical object(s): MetronomeMark.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < metronome-mark-interface ] | [ Up : Graphical Object Interfaces ] | [ multi-measure-rest-interface > ] | ||
3.2.60 multi-measure-interface
Multi measure rest, and the text or number that is printed over it.
User settable properties:
bound-padding(number)The amount of padding to insert around spanner bounds.
This grob interface is used in the following graphical object(s): MultiMeasureRest, MultiMeasureRestNumber and MultiMeasureRestText.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < multi-measure-interface ] | [ Up : Graphical Object Interfaces ] | [ note-collision-interface > ] | ||
3.2.61 multi-measure-rest-interface
A rest that spans a whole number of measures.
User settable properties:
bound-padding(number)The amount of padding to insert around spanner bounds.
expand-limit(integer)Maximum number of measures expanded in church rests.
hair-thickness(number)Thickness of the thin line in a bar line.
measure-count(integer)The number of measures for a multi-measure rest.
minimum-length(dimension, in staff space)Try to make a spanner at least this long, normally in the horizontal direction. This requires an appropriate callback for the
springs-and-rodsproperty. If added to aTie, this sets the minimum distance between noteheads.thick-thickness(number)Bar line thickness, measured in
line-thickness.
Internal properties:
use-breve-rest(boolean)Use breve rests for measures longer than a whole rest.
This grob interface is used in the following graphical object(s): MultiMeasureRest and PercentRepeat.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < multi-measure-rest-interface ] | [ Up : Graphical Object Interfaces ] | [ note-column-interface > ] | ||
3.2.62 note-collision-interface
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.
User settable properties:
merge-differently-dotted(boolean)Merge note heads in collisions, even if they have a different number of dots. This is normal notation for some types of polyphonic music.
merge-differently-dottedonly applies to opposing stem directions (i.e., voice 1 & 2).merge-differently-headed(boolean)Merge note heads in collisions, even if they have different note heads. The smaller of the two heads is rendered invisible. This is used in polyphonic guitar notation. The value of this setting is used by note-collision-interface.
merge-differently-headedonly applies to opposing stem directions (i.e., voice 1 & 2).prefer-dotted-right(boolean)For note collisions, prefer to shift dotted up-note to the right, rather than shifting just the dot.
Internal properties:
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.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < note-collision-interface ] | [ Up : Graphical Object Interfaces ] | [ note-head-interface > ] | ||
3.2.63 note-column-interface
Stem and noteheads combined.
User settable properties:
force-hshift(number)This specifies a manual shift for notes in collisions. The unit is the note head width of the first voice note. This is used by note-collision-interface.
horizontal-shift(integer)An integer that identifies ranking of
NoteColumns for horizontal shifting. This is used by note-collision-interface.ignore-collision(boolean)If set, don’t do note collision resolution on this
NoteColumn.
Internal properties:
arpeggio(layout object)A pointer to an
Arpeggioobject.note-heads(unknown)A list of note head grobs.
rest(layout object)A pointer to a
Restobject.rest-collision(layout object)A rest collision that a rest is in.
stem(layout object)A pointer to a
Stemobject.
This grob interface is used in the following graphical object(s): NoteColumn.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < note-column-interface ] | [ Up : Graphical Object Interfaces ] | [ note-name-interface > ] | ||
3.2.64 note-head-interface
A note head. There are many possible values for style. For a complete list, see
Note head styles.
User settable properties:
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.
Internal properties:
accidental-grob(layout object)The accidental for this note.
glyph-name(string)The glyph name within the font.
This grob interface is used in the following graphical object(s): AmbitusNoteHead, NoteHead, TabNoteHead and TrillPitchGroup.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < note-head-interface ] | [ Up : Graphical Object Interfaces ] | [ note-spacing-interface > ] | ||
3.2.65 note-name-interface
Note names.
This grob interface is used in the following graphical object(s): NoteName.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < note-name-interface ] | [ Up : Graphical Object Interfaces ] | [ only-prebreak-interface > ] | ||
3.2.66 note-spacing-interface
This object calculates spacing wishes for individual voices.
User settable properties:
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.
Internal properties:
left-items(unknown)DOCME
right-items(unknown)DOCME
This grob interface is used in the following graphical object(s): NoteSpacing.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < note-spacing-interface ] | [ Up : Graphical Object Interfaces ] | [ ottava-bracket-interface > ] | ||
3.2.67 only-prebreak-interface
Kill this grob after the line breaking process.
This grob interface is not used in any graphical object.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < only-prebreak-interface ] | [ Up : Graphical Object Interfaces ] | [ paper-column-interface > ] | ||
3.2.68 ottava-bracket-interface
An ottava bracket.
User settable properties:
bracket-flare(pair of numbers)A pair of numbers specifying how much edges of brackets should slant outward. Value
0.0means straight edges.edge-height(pair)A pair of numbers specifying the heights of the vertical edges:
(left-height . right-height).minimum-length(dimension, in staff space)Try to make a spanner at least this long, normally in the horizontal direction. This requires an appropriate callback for the
springs-and-rodsproperty. If added to aTie, this sets the minimum distance between noteheads.shorten-pair(pair of numbers)The lengths to shorten a text-spanner on both sides, for example a pedal bracket. Positive values shorten the text-spanner, while negative values lengthen it.
This grob interface is used in the following graphical object(s): OttavaBracket.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < ottava-bracket-interface ] | [ Up : Graphical Object Interfaces ] | [ parentheses-interface > ] | ||
3.2.69 paper-column-interface
Paper_column objects form the top-most X parents for items. There are two types of columns: musical columns, where are attached to, and non-musical columns, where bar-lines, clefs, etc., are attached to. The spacing engine determines the X positions of these objects.
They are numbered, the first (leftmost) is column 0. Numbering happens before line breaking, and columns are not renumbered after line breaking. Since many columns go unused, you should only use the rank field to get ordering information. Two adjacent columns may have non-adjacent numbers.
User settable properties:
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 happen?
Internal properties:
bounded-by-me(unknown)A list of spanners that have this column as start/begin point. Only columns that have grobs or act as bounds are spaced.
grace-spacing(layout object)A run of grace notes.
spacing(layout object)The spacing spanner governing this section.
This grob interface is used in the following graphical object(s): NonMusicalPaperColumn and PaperColumn.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < paper-column-interface ] | [ Up : Graphical Object Interfaces ] | [ percent-repeat-interface > ] | ||
3.2.70 parentheses-interface
Parentheses for other objects.
User settable properties:
padding(dimension, in staff space)Add this much extra space between objects that are next to each other.
stencils(list)Multiple stencils, used as intermediate value.
This grob interface is used in the following graphical object(s): HarmonicParenthesesItem, ParenthesesItem and TrillPitchGroup.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < parentheses-interface ] | [ Up : Graphical Object Interfaces ] | [ percent-repeat-item-interface > ] | ||
3.2.71 percent-repeat-interface
Beat, Double and single measure repeats.
User settable properties:
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)Line thickness, generally measured in
line-thickness.
This grob interface is used in the following graphical object(s): DoublePercentRepeat, DoublePercentRepeatCounter, PercentRepeat, PercentRepeatCounter and RepeatSlash.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < percent-repeat-interface ] | [ Up : Graphical Object Interfaces ] | [ piano-pedal-bracket-interface > ] | ||
3.2.72 percent-repeat-item-interface
Repeats that look like percent signs.
User settable properties:
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)Line thickness, generally measured in
line-thickness.
This grob interface is used in the following graphical object(s): DoublePercentRepeat, DoublePercentRepeatCounter and RepeatSlash.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < percent-repeat-item-interface ] | [ Up : Graphical Object Interfaces ] | [ piano-pedal-interface > ] | ||
3.2.73 piano-pedal-bracket-interface
The bracket of the piano pedal. It can be tuned through the regular bracket properties.
User settable properties:
bound-padding(number)The amount of padding to insert around spanner bounds.
bracket-flare(pair of numbers)A pair of numbers specifying how much edges of brackets should slant outward. Value
0.0means straight edges.edge-height(pair)A pair of numbers specifying the heights of the vertical edges:
(left-height . right-height).shorten-pair(pair of numbers)The lengths to shorten a text-spanner on both sides, for example a pedal bracket. Positive values shorten the text-spanner, while negative values lengthen it.
Internal properties:
pedal-text(layout object)A pointer to the text of a mixed-style piano pedal.
This grob interface is used in the following graphical object(s): PianoPedalBracket.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < piano-pedal-bracket-interface ] | [ Up : Graphical Object Interfaces ] | [ piano-pedal-script-interface > ] | ||
3.2.74 piano-pedal-interface
A piano pedal sign.
This grob interface is used in the following graphical object(s): PianoPedalBracket, SostenutoPedalLineSpanner, SustainPedal, SustainPedalLineSpanner and UnaCordaPedalLineSpanner.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < piano-pedal-interface ] | [ Up : Graphical Object Interfaces ] | [ pitched-trill-interface > ] | ||
3.2.75 piano-pedal-script-interface
A piano pedal sign, fixed size.
This grob interface is used in the following graphical object(s): SostenutoPedal, SustainPedal and UnaCordaPedal.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < piano-pedal-script-interface ] | [ Up : Graphical Object Interfaces ] | [ rest-collision-interface > ] | ||
3.2.76 pitched-trill-interface
A note head to indicate trill pitches.
Internal properties:
accidental-grob(layout object)The accidental for this note.
This grob interface is used in the following graphical object(s): TrillPitchHead.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < pitched-trill-interface ] | [ Up : Graphical Object Interfaces ] | [ rest-interface > ] | ||
3.2.77 rest-collision-interface
Move around ordinary rests (not multi-measure-rests) to avoid conflicts.
User settable properties:
minimum-distance(dimension, in staff space)Minimum distance between rest and notes or beam.
Internal properties:
elements(unknown)A list of grobs; the type is depending on the grob where this is set in.
positioning-done(boolean)Used to signal that a positioning element did its job. This ensures that a positioning is only done once.
This grob interface is used in the following graphical object(s): RestCollision.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < rest-collision-interface ] | [ Up : Graphical Object Interfaces ] | [ rhythmic-grob-interface > ] | ||
3.2.78 rest-interface
A rest symbol. The property style can be default, mensural, neomensural or classical.
User settable properties:
direction(direction)If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.minimum-distance(dimension, in staff space)Minimum distance between rest and notes or beam.
style(symbol)This setting determines in what style a grob is typeset. Valid choices depend on the
stencilcallback reading this property.
This grob interface is used in the following graphical object(s): MultiMeasureRest and Rest.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < rest-interface ] | [ Up : Graphical Object Interfaces ] | [ rhythmic-head-interface > ] | ||
3.2.79 rhythmic-grob-interface
Any object with a duration. Used to determine which grobs are interesting enough to maintain a hara-kiri staff.
This grob interface is used in the following graphical object(s): BassFigure, ChordName, ClusterSpannerBeacon, LyricText, NoteHead, RepeatSlash, Rest and TabNoteHead.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < rhythmic-grob-interface ] | [ Up : Graphical Object Interfaces ] | [ script-column-interface > ] | ||
3.2.80 rhythmic-head-interface
Note head or rest.
User settable properties:
duration-log(integer)The 2-log of the note head duration, i.e.,
0= whole note,1= half note, etc.
Internal properties:
dot(layout object)A reference to a
Dotsobject.stem(layout object)A pointer to a
Stemobject.
This grob interface is used in the following graphical object(s): AmbitusNoteHead, NoteHead, Rest, TabNoteHead and TrillPitchHead.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < rhythmic-head-interface ] | [ Up : Graphical Object Interfaces ] | [ script-interface > ] | ||
3.2.81 script-column-interface
An interface that sorts scripts according to their script-priority.
This grob interface is used in the following graphical object(s): ScriptColumn and ScriptRow.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < script-column-interface ] | [ Up : Graphical Object Interfaces ] | [ self-alignment-interface > ] | ||
3.2.82 script-interface
An object that is put above or below a note.
User settable properties:
add-stem-support(boolean)If set, the
Stemobject is included in this script’s support.avoid-slur(symbol)Method of handling slur collisions. Choices are
around,inside,outside. If unset, scripts and slurs ignore each other.aroundonly moves the script if there is a collision;outsidealways moves the script.script-priority(number)A sorting key that determines in what order a script is within a stack of scripts.
slur-padding(number)Extra distance between slur and script.
toward-stem-shift(number)Amount by which scripts are shifted toward the stem if their direction coincides with the stem direction.
0.0means keep the default position (centered on the note head),1.0means centered on the stem. Interpolated values are possible.
Internal properties:
positioning-done(boolean)Used to signal that a positioning element did its job. This ensures that a positioning is only done once.
script-stencil(pair)A pair
(type . arg)which acts as an index for looking up aStencilobject.slur(layout object)A pointer to a
Slurobject.
This grob interface is used in the following graphical object(s): AccidentalSuggestion, DynamicText and Script.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < script-interface ] | [ Up : Graphical Object Interfaces ] | [ semi-tie-column-interface > ] | ||
3.2.83 self-alignment-interface
Position this object on itself and/or on its parent. To this end, the following functions are provided:
-
Self_alignment_interface::[xy]_aligned_on_self Align self on reference point, using
self-alignment-Xandself-alignment-Y.-
Self_alignment_interface::aligned_on_[xy]_parent -
Self_alignment_interface::centered_on_[xy]_parent Shift the object so its own reference point is centered on the extent of the parent
User settable properties:
self-alignment-X(number)Specify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified.self-alignment-Y(number)Like
self-alignment-Xbut for the Y axis.
This grob interface is used in the following graphical object(s): AccidentalSuggestion, BarNumber, DoublePercentRepeatCounter, DynamicText, Fingering, GridLine, Hairpin, InstrumentName, InstrumentSwitch, LyricText, MultiMeasureRestNumber, MultiMeasureRestText, OctavateEight, PercentRepeatCounter, RehearsalMark, SostenutoPedal, StringNumber, StrokeFinger, SustainPedal, TextScript and UnaCordaPedal.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < self-alignment-interface ] | [ Up : Graphical Object Interfaces ] | [ semi-tie-interface > ] | ||
3.2.84 semi-tie-column-interface
The interface for a column of l.v. (laissez vibrer) ties.
User settable properties:
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.
Internal properties:
positioning-done(boolean)Used to signal that a positioning element did its job. This ensures that a positioning is only done once.
This grob interface is used in the following graphical object(s): LaissezVibrerTieColumn and RepeatTieColumn.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < semi-tie-column-interface ] | [ Up : Graphical Object Interfaces ] | [ separation-item-interface > ] | ||
3.2.85 semi-tie-interface
A tie which is only on one side connected to a note head.
User settable properties:
control-points(list)List of offsets (number pairs) that form control points for the tie, slur, or bracket shape. For Béziers, this should list the control points of a third-order Bézier curve.
direction(direction)If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.head-direction(direction)Are the note heads left or right in a semitie?
thickness(number)Line thickness, generally measured in
line-thickness.
Internal properties:
details(list)Alist of parameters for detailed grob behavior.
More information on the allowed parameters can be found by inspecting ‘lily/slur-scoring.cc’, ‘lily/beam-quanting.cc’, and ‘lily/tie-formatting-problem.cc’. Setting
debug-tie-scoring,debug-beam-scoringordebug-slur-scoringalso provides useful clues.note-head(layout object)A single note head.
This grob interface is used in the following graphical object(s): LaissezVibrerTie and RepeatTie.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < semi-tie-interface ] | [ Up : Graphical Object Interfaces ] | [ side-position-interface > ] | ||
3.2.86 separation-item-interface
Item that computes widths to generate spacing rods.
User settable properties:
X-extent(pair of numbers)Hard coded extent in X direction.
horizontal-skylines(unknown)Two skylines, one to the left and one to the right of this grob.
padding(dimension, in staff space)Add this much extra space between objects that are next to each other.
Internal properties:
conditional-elements(unknown)Internal use only.
elements(unknown)A list of grobs; the type is depending on the grob where this is set in.
This grob interface is used in the following graphical object(s): NonMusicalPaperColumn, NoteColumn, PaperColumn and SeparationItem.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < separation-item-interface ] | [ Up : Graphical Object Interfaces ] | [ slur-interface > ] | ||
3.2.87 side-position-interface
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.
User settable properties:
direction(direction)If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.minimum-space(dimension, in staff space)Minimum distance that the victim should move (after padding).
padding(dimension, in staff space)Add this much extra space between objects that are next to each other.
side-axis(number)If the value is
#X(or equivalently0), the object is placed horizontally next to the other object. If the value is#Yor1, it is placed vertically.side-relative-direction(direction)Multiply direction of
direction-sourcewith this to get the direction of this object.slur-padding(number)Extra distance between slur and script.
staff-padding(dimension, in staff space)Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
Internal properties:
direction-source(layout object)In case
side-relative-directionis set, which grob to get the direction from.quantize-position(boolean)If set, a vertical alignment is aligned to be within staff spaces.
side-support-elements(unknown)The side support, a list of grobs.
This grob interface is used in the following graphical object(s): AccidentalSuggestion, AmbitusAccidental, Arpeggio, BarNumber, BassFigureAlignmentPositioning, CombineTextScript, DoublePercentRepeatCounter, DynamicLineSpanner, Fingering, HorizontalBracket, InstrumentName, InstrumentSwitch, MeasureGrouping, MetronomeMark, MultiMeasureRestNumber, MultiMeasureRestText, OctavateEight, OttavaBracket, PercentRepeatCounter, RehearsalMark, Script, SostenutoPedalLineSpanner, StanzaNumber, StringNumber, StrokeFinger, SustainPedalLineSpanner, SystemStartBar, SystemStartBrace, SystemStartBracket, SystemStartSquare, TextScript, TextSpanner, TrillPitchAccidental, TrillPitchGroup, TrillSpanner, UnaCordaPedalLineSpanner, VoltaBracket and VoltaBracketSpanner.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < side-position-interface ] | [ Up : Graphical Object Interfaces ] | [ spaceable-grob-interface > ] | ||
3.2.88 slur-interface
A slur.
User settable properties:
annotation(string)Annotate a grob for debug purposes.
avoid-slur(symbol)Method of handling slur collisions. Choices are
around,inside,outside. If unset, scripts and slurs ignore each other.aroundonly moves the script if there is a collision;outsidealways moves the script.control-points(list)List of offsets (number pairs) that form control points for the tie, slur, or bracket shape. For Béziers, this should list the control points of a third-order Bézier curve.
dash-fraction(number)Size of the dashes, relative to
dash-period. Should be between0.0(no line) and1.0(continuous line).dash-period(number)The length of one dash together with whitespace. If negative, no line is drawn at all.
direction(direction)If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.eccentricity(number)How asymmetrical to make a slur. Positive means move the center to the right.
height-limit(dimension, in staff space)Maximum slur height: The longer the slur, the closer it is to this height.
inspect-index(integer)If debugging is set, set beam and slur configuration to this index, and print the respective scores.
inspect-quants(pair of numbers)If debugging is set, set beam and slur quants to this position, and print the respective scores.
line-thickness(number)The thickness of the tie or slur contour.
positions(pair of numbers)Pair of staff coordinates
(left . right), where both left and right are instaff-spaceunits of the current staff. For slurs, this value selects which slur candidate to use; if extreme positions are requested, the closest one is taken.ratio(number)Parameter for slur shape. The higher this number, the quicker the slur attains its
height-limit.thickness(number)Line thickness, generally measured in
line-thickness.
Internal properties:
details(list)Alist of parameters for detailed grob behavior.
More information on the allowed parameters can be found by inspecting ‘lily/slur-scoring.cc’, ‘lily/beam-quanting.cc’, and ‘lily/tie-formatting-problem.cc’. Setting
debug-tie-scoring,debug-beam-scoringordebug-slur-scoringalso provides useful clues.encompass-objects(unknown)Objects that a slur should avoid in addition to notes and stems.
note-columns(pair)A list of
NoteColumngrobs.quant-score(string)The beam quanting score; stored for debugging.
This grob interface is used in the following graphical object(s): PhrasingSlur and Slur.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < slur-interface ] | [ Up : Graphical Object Interfaces ] | [ spacing-interface > ] | ||
3.2.89 spaceable-grob-interface
A layout object that takes part in the spacing problem.
User settable properties:
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.
Internal properties:
ideal-distances(list)
(obj . (dist . strength))pairs.left-neighbors(unknown)A list of
spacing-wishesgrobs that are close to the current column.The closest
spacing-wishesdetermine the actual distances between the columns.minimum-distances(list)A list of rods that have the format
(obj . dist).right-neighbors(unknown)See
left-neighbors.spacing-wishes(unknown)List of note spacing or staff spacing objects.
This grob interface is used in the following graphical object(s): NonMusicalPaperColumn and PaperColumn.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < spaceable-grob-interface ] | [ Up : Graphical Object Interfaces ] | [ spacing-options-interface > ] | ||
3.2.90 spacing-interface
This object calculates the desired and minimum distances between two columns.
Internal properties:
left-items(unknown)DOCME
right-items(unknown)DOCME
This grob interface is used in the following graphical object(s): NoteSpacing and StaffSpacing.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < spacing-interface ] | [ Up : Graphical Object Interfaces ] | [ spacing-spanner-interface > ] | ||
3.2.91 spacing-options-interface
Supports setting of spacing variables.
User settable properties:
shortest-duration-space(dimension, in staff space)Start with this much space for the shortest duration. This is expressed in
spacing-incrementas unit. See also spacing-spanner-interface.spacing-increment(number)Add this much space for a doubled duration. Typically, the width of a note head. See also spacing-spanner-interface.
This grob interface is used in the following graphical object(s): GraceSpacing and SpacingSpanner.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < spacing-options-interface ] | [ Up : Graphical Object Interfaces ] | [ span-bar-interface > ] | ||
3.2.92 spacing-spanner-interface
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.
User settable properties:
average-spacing-wishes(boolean)If set, the spacing wishes are averaged over staves.
base-shortest-duration(moment)Spacing is based on the shortest notes in a piece. Normally, pieces are spaced as if notes at least as short as this are present.
common-shortest-duration(moment)The most common shortest note length. This is used in spacing. Enlarging this sets the score tighter.
packed-spacing(boolean)If set, the notes are spaced as tightly as possible.
shortest-duration-space(dimension, in staff space)Start with this much space for the shortest duration. This is expressed in
spacing-incrementas unit. See also spacing-spanner-interface.spacing-increment(number)Add this much space for a doubled duration. Typically, the width of a note head. See also spacing-spanner-interface.
strict-grace-spacing(boolean)If set, main notes are spaced normally, then grace notes are put left of the musical columns fot 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 durations. This looks better in complex polyphonic patterns.
This grob interface is used in the following graphical object(s): SpacingSpanner.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < spacing-spanner-interface ] | [ Up : Graphical Object Interfaces ] | [ spanner-interface > ] | ||
3.2.93 span-bar-interface
A bar line that is spanned between other barlines. This interface is used for bar lines that connect different staves.
Internal properties:
elements(unknown)A list of grobs; the type is depending on the grob where this is set in.
glyph-name(string)The glyph name within the font.
This grob interface is used in the following graphical object(s): SpanBar.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < span-bar-interface ] | [ Up : Graphical Object Interfaces ] | [ staff-spacing-interface > ] | ||
3.2.94 spanner-interface
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.
User settable properties:
minimum-length(dimension, in staff space)Try to make a spanner at least this long, normally in the horizontal direction. This requires an appropriate callback for the
springs-and-rodsproperty. If added to aTie, this sets the minimum distance between noteheads.to-barline(boolean)If true, the spanner will stop at the bar line just before it would otherwise stop.
This grob interface is used in the following graphical object(s): BassFigureAlignment, BassFigureAlignmentPositioning, BassFigureContinuation, BassFigureLine, Beam, BendAfter, ClusterSpanner, DynamicLineSpanner, DynamicTextSpanner, Glissando, GraceSpacing, Hairpin, HorizontalBracket, InstrumentName, LedgerLineSpanner, LigatureBracket, LyricExtender, LyricHyphen, LyricSpace, MeasureGrouping, MensuralLigature, MultiMeasureRest, MultiMeasureRestNumber, MultiMeasureRestText, OttavaBracket, PercentRepeat, PercentRepeatCounter, PhrasingSlur, PianoPedalBracket, Slur, SostenutoPedalLineSpanner, SpacingSpanner, StaffSymbol, SustainPedalLineSpanner, System, SystemStartBar, SystemStartBrace, SystemStartBracket, SystemStartSquare, TextSpanner, Tie, TieColumn, TrillSpanner, TupletBracket, TupletNumber, UnaCordaPedalLineSpanner, VaticanaLigature, VerticalAlignment, VerticalAxisGroup, VoiceFollower, VoltaBracket and VoltaBracketSpanner.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < spanner-interface ] | [ Up : Graphical Object Interfaces ] | [ staff-symbol-interface > ] | ||
3.2.95 staff-spacing-interface
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.
User settable properties:
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.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < staff-spacing-interface ] | [ Up : Graphical Object Interfaces ] | [ staff-symbol-referencer-interface > ] | ||
3.2.96 staff-symbol-interface
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.
User settable properties:
ledger-line-thickness(pair of numbers)The thickness of ledger lines. It is the sum of 2 numbers: The first is the factor for line thickness, and the second for staff space. Both contributions are added.
line-count(integer)The number of staff lines.
line-positions(list)Vertical positions of staff lines.
staff-space(dimension, in staff space)Amount of space between staff lines, expressed in global
staff-space.thickness(number)Line thickness, generally measured in
line-thickness.width(dimension, in staff space)The width of a grob measured in staff space.
This grob interface is used in the following graphical object(s): StaffSymbol.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < staff-symbol-interface ] | [ Up : Graphical Object Interfaces ] | [ stanza-number-interface > ] | ||
3.2.97 staff-symbol-referencer-interface
An object whose Y position is meant relative to a staff symbol. These usually have Staff_symbol_referencer::callback in their Y-offset-callbacks.
User settable properties:
staff-position(number)Vertical position, measured in half staff spaces, counted from the middle line.
This grob interface is used in the following graphical object(s): AmbitusLine, AmbitusNoteHead, Arpeggio, Beam, Clef, Custos, Dots, KeyCancellation, KeySignature, MultiMeasureRest, NoteHead, Rest, TabNoteHead and TrillPitchHead.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < staff-symbol-referencer-interface ] | [ Up : Graphical Object Interfaces ] | [ stem-interface > ] | ||
3.2.98 stanza-number-interface
A stanza number, to be put in from of a lyrics line.
This grob interface is used in the following graphical object(s): StanzaNumber.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < stanza-number-interface ] | [ Up : Graphical Object Interfaces ] | [ stem-tremolo-interface > ] | ||
3.2.99 stem-interface
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-lengths List of stem lengths given beam multiplicity.
-
beamed-minimum-free-lengths List of normal minimum free stem lengths (chord to beams) given beam multiplicity.
-
beamed-extreme-minimum-free-lengths List of extreme minimum free stem lengths (chord to beams) given beam multiplicity.
-
lengths Default stem lengths. The list gives a length for each flag count.
-
stem-shorten How much a stem in a forced direction should be shortened. The list gives an amount depending on the number of flags and beams.
User settable properties:
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.
direction(direction)If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.duration-log(integer)The 2-log of the note head duration, i.e.,
0= whole note,1= half note, etc.flag(unknown)A function returning the full flag stencil for the
Stem, which is passed to the function as the only argument. The default ly:stem::calc-stencil function uses theflag-styleproperty to determine the correct glyph for the flag. By providing your own function, you can create arbitrary flags.flag-style(symbol)A symbol determining what style of flag glyph is typeset on a
Stem. Valid options include'()for standard flags,'mensuraland'no-flag, which switches off the flag.french-beaming(boolean)Use French beaming style for this stem. The stem stops at the innermost beams.
length(dimension, in staff space)User override for the stem length of unbeamed stems.
length-fraction(number)Multiplier for lengths. Used for determining ledger lines and stem lengths.
max-beam-connect(integer)Maximum number of beams to connect to beams from this stem. Further beams are typeset as beamlets.
neutral-direction(direction)Which direction to take in the center of the staff.
no-stem-extend(boolean)If set, notes with ledger lines do not get stems extending to the middle staff line.
stem-end-position(number)Where does the stem end (the end is opposite to the support-head)?
stemlet-length(number)How long should be a stem over a rest?
stroke-style(string)Set to
"grace"to turn stroke through flag on.thickness(number)Line thickness, generally measured in
line-thickness.
Internal properties:
beam(layout object)A pointer to the beam, if applicable.
details(list)Alist of parameters for detailed grob behavior.
More information on the allowed parameters can be found by inspecting ‘lily/slur-scoring.cc’, ‘lily/beam-quanting.cc’, and ‘lily/tie-formatting-problem.cc’. Setting
debug-tie-scoring,debug-beam-scoringordebug-slur-scoringalso provides useful clues.note-heads(unknown)A list of note head grobs.
positioning-done(boolean)Used to signal that a positioning element did its job. This ensures that a positioning is only done once.
rests(unknown)A list of rest objects.
stem-info(pair)A cache of stem parameters.
tremolo-flag(layout object)The tremolo object on a stem.
This grob interface is used in the following graphical object(s): Stem.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < stem-interface ] | [ Up : Graphical Object Interfaces ] | [ string-number-interface > ] | ||
3.2.100 stem-tremolo-interface
A beam slashing a stem to indicate a tremolo. The property style can be default or rectangle.
User settable properties:
beam-thickness(dimension, in staff space)Beam thickness, measured in
staff-spaceunits.beam-width(dimension, in staff space)Width of the tremolo sign.
flag-count(number)The number of tremolo beams.
length-fraction(number)Multiplier for lengths. Used for determining ledger lines and stem lengths.
slope(number)The slope of this object.
style(symbol)This setting determines in what style a grob is typeset. Valid choices depend on the
stencilcallback reading this property.
Internal properties:
stem(layout object)A pointer to a
Stemobject.
This grob interface is used in the following graphical object(s): StemTremolo.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < stem-tremolo-interface ] | [ Up : Graphical Object Interfaces ] | [ stroke-finger-interface > ] | ||
3.2.101 string-number-interface
A string number instruction.
This grob interface is used in the following graphical object(s): StringNumber.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < string-number-interface ] | [ Up : Graphical Object Interfaces ] | [ system-interface > ] | ||
3.2.102 stroke-finger-interface
A right hand finger instruction.
User settable properties:
digit-names(unknown)Names for string finger digits.
This grob interface is used in the following graphical object(s): StrokeFinger.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < stroke-finger-interface ] | [ Up : Graphical Object Interfaces ] | [ system-start-delimiter-interface > ] | ||
3.2.103 system-interface
This is the top-level object: Each object in a score ultimately has a System object as its X and Y parent.
User settable properties:
labels(list)List of labels (symbols) placed on a column
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.
Internal properties:
all-elements(unknown)A list of all grobs in this line. Its function is to protect objects from being garbage collected.
columns(unknown)A list of grobs, typically containing
PaperColumnorNoteColumnobjects.pure-Y-extent(pair of numbers)The estimated height of a system.
skyline-distance(number)The distance between this staff and the next one, as determined by a skyline algorithm.
spaceable-staves(unknown)Objects to be spaced during page layout.
This grob interface is used in the following graphical object(s): System.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < system-interface ] | [ Up : Graphical Object Interfaces ] | [ system-start-text-interface > ] | ||
3.2.104 system-start-delimiter-interface
The brace, bracket or bar in front of the system. The following values for style are recognized:
-
bracket A thick bracket, normally used to group similar instruments in a score. Default for
StaffGroup.SystemStartBracketuses this style.-
brace A ‘piano style’ brace normally used for an instrument that uses two staves. The default style for
GrandStaff.SystemStartBraceuses this style.-
bar-line A simple line between the staves in a score. Default for staves enclosed in
<<and>>.SystemStartBaruses this style.-
line-bracket A simple square, normally used for subgrouping instruments in a score.
SystemStartSquareuses this style.
See also ‘input/regression/system-start-nesting.ly’.
User settable properties:
collapse-height(dimension, in staff space)Minimum height of system start delimiter. If equal or smaller, the bracket/brace/line is removed.
style(symbol)This setting determines in what style a grob is typeset. Valid choices depend on the
stencilcallback reading this property.thickness(number)Line thickness, generally measured in
line-thickness.
This grob interface is used in the following graphical object(s): SystemStartBar, SystemStartBrace, SystemStartBracket and SystemStartSquare.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < system-start-delimiter-interface ] | [ Up : Graphical Object Interfaces ] | [ tablature-interface > ] | ||
3.2.105 system-start-text-interface
Text in front of the system.
User settable properties:
long-text(markup)Text markup. See Formatting text.
self-alignment-X(number)Specify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified.self-alignment-Y(number)Like
self-alignment-Xbut for the Y axis.text(markup)Text markup. See Formatting text.
This grob interface is used in the following graphical object(s): InstrumentName.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < system-start-text-interface ] | [ Up : Graphical Object Interfaces ] | [ text-interface > ] | ||
3.2.106 tablature-interface
An interface for any notes set in a tablature staff.
This grob interface is not used in any graphical object.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < tablature-interface ] | [ Up : Graphical Object Interfaces ] | [ text-script-interface > ] | ||
3.2.107 text-interface
A Scheme markup text, see Formatting text and New markup command definition.
There are two important commands: ly:text-interface::print, which is a grob callback, and ly:text-interface::interpret-markup.
User settable properties:
baseline-skip(dimension, in staff space)Distance between base lines of multiple lines of text.
text(markup)Text markup. See Formatting text.
text-direction(direction)This controls the ordering of the words. The default
RIGHTis for roman text. Arabic or Hebrew should useLEFT.word-space(dimension, in staff space)Space to insert between words in texts.
This grob interface is used in the following graphical object(s): BalloonTextItem, BarNumber, BassFigure, BreathingSign, ChordName, CombineTextScript, DoublePercentRepeatCounter, DynamicText, DynamicTextSpanner, Fingering, InstrumentSwitch, LyricText, MetronomeMark, MultiMeasureRestNumber, MultiMeasureRestText, NoteName, OctavateEight, OttavaBracket, PercentRepeatCounter, RehearsalMark, SostenutoPedal, StanzaNumber, StringNumber, StrokeFinger, SustainPedal, TabNoteHead, TextScript, TupletNumber, UnaCordaPedal and VoltaBracket.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < text-interface ] | [ Up : Graphical Object Interfaces ] | [ tie-column-interface > ] | ||
3.2.108 text-script-interface
An object that is put above or below a note.
User settable properties:
add-stem-support(boolean)If set, the
Stemobject is included in this script’s support.avoid-slur(symbol)Method of handling slur collisions. Choices are
around,inside,outside. If unset, scripts and slurs ignore each other.aroundonly moves the script if there is a collision;outsidealways moves the script.script-priority(number)A sorting key that determines in what order a script is within a stack of scripts.
Internal properties:
slur(layout object)A pointer to a
Slurobject.
This grob interface is used in the following graphical object(s): CombineTextScript, Fingering, StringNumber, StrokeFinger and TextScript.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < text-script-interface ] | [ Up : Graphical Object Interfaces ] | [ tie-interface > ] | ||
3.2.109 tie-column-interface
Object that sets directions of multiple ties in a tied chord.
User settable properties:
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.
Internal properties:
positioning-done(boolean)Used to signal that a positioning element did its job. This ensures that a positioning is only done once.
This grob interface is used in the following graphical object(s): TieColumn.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < tie-column-interface ] | [ Up : Graphical Object Interfaces ] | [ time-signature-interface > ] | ||
3.2.110 tie-interface
A horizontal curve connecting two noteheads.
User settable properties:
annotation(string)Annotate a grob for debug purposes.
avoid-slur(symbol)Method of handling slur collisions. Choices are
around,inside,outside. If unset, scripts and slurs ignore each other.aroundonly moves the script if there is a collision;outsidealways moves the script.control-points(list)List of offsets (number pairs) that form control points for the tie, slur, or bracket shape. For Béziers, this should list the control points of a third-order Bézier curve.
dash-fraction(number)Size of the dashes, relative to
dash-period. Should be between0.0(no line) and1.0(continuous line).dash-period(number)The length of one dash together with whitespace. If negative, no line is drawn at all.
direction(direction)If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.head-direction(direction)Are the note heads left or right in a semitie?
line-thickness(number)The thickness of the tie or slur contour.
neutral-direction(direction)Which direction to take in the center of the staff.
staff-position(number)Vertical position, measured in half staff spaces, counted from the middle line.
thickness(number)Line thickness, generally measured in
line-thickness.
Internal properties:
details(list)Alist of parameters for detailed grob behavior.
More information on the allowed parameters can be found by inspecting ‘lily/slur-scoring.cc’, ‘lily/beam-quanting.cc’, and ‘lily/tie-formatting-problem.cc’. Setting
debug-tie-scoring,debug-beam-scoringordebug-slur-scoringalso provides useful clues.quant-score(string)The beam quanting score; stored for debugging.
separation-item(layout object)A separation item.
This grob interface is used in the following graphical object(s): Tie.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < tie-interface ] | [ Up : Graphical Object Interfaces ] | [ trill-pitch-accidental-interface > ] | ||
3.2.111 time-signature-interface
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
defaultis equivalent toC.-
neomensural 2/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.
-
mensural 2/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-digit All time signatures are typeset with a single digit, e.g., 3/2 is written as 3.
-
numbered All time signatures are typeset with two digits.
User settable properties:
fraction(pair of numbers)Numerator and denominator of a time signature object.
style(symbol)This setting determines in what style a grob is typeset. Valid choices depend on the
stencilcallback reading this property.
This grob interface is used in the following graphical object(s): TimeSignature.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < time-signature-interface ] | [ Up : Graphical Object Interfaces ] | [ trill-spanner-interface > ] | ||
3.2.112 trill-pitch-accidental-interface
An accidental for trill pitch.
This grob interface is used in the following graphical object(s): TrillPitchAccidental.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < trill-pitch-accidental-interface ] | [ Up : Graphical Object Interfaces ] | [ tuplet-bracket-interface > ] | ||
3.2.113 trill-spanner-interface
A trill spanner.
This grob interface is used in the following graphical object(s): TrillSpanner.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < trill-spanner-interface ] | [ Up : Graphical Object Interfaces ] | [ tuplet-number-interface > ] | ||
3.2.114 tuplet-bracket-interface
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.
User settable properties:
bracket-flare(pair of numbers)A pair of numbers specifying how much edges of brackets should slant outward. Value
0.0means straight edges.bracket-visibility(boolean or symbol)This controls the visibility of the tuplet bracket. Setting it to false prevents printing of the bracket. Setting the property to
if-no-beammakes it print only if there is no beam associated with this tuplet bracket.break-overshoot(pair of numbers)How much does a broken spanner stick out of its bounds?
connect-to-neighbor(pair)Pair of booleans, indicating whether this grob looks as a continued break.
control-points(list)List of offsets (number pairs) that form control points for the tie, slur, or bracket shape. For Béziers, this should list the control points of a third-order Bézier curve.
direction(direction)If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.edge-height(pair)A pair of numbers specifying the heights of the vertical edges:
(left-height . right-height).edge-text(pair)A pair specifying the texts to be set at the edges:
(left-text . right-text).full-length-padding(number)How much padding to use at the right side of a full-length tuplet bracket.
full-length-to-extent(boolean)Run to the extent of the column for a full-length tuplet bracket.
gap(dimension, in staff space)Size of a gap in a variable symbol.
padding(dimension, in staff space)Add this much extra space between objects that are next to each other.
positions(pair of numbers)Pair of staff coordinates
(left . right), where both left and right are instaff-spaceunits of the current staff. For slurs, this value selects which slur candidate to use; if extreme positions are requested, the closest one is taken.shorten-pair(pair of numbers)The lengths to shorten a text-spanner on both sides, for example a pedal bracket. Positive values shorten the text-spanner, while negative values lengthen it.
staff-padding(dimension, in staff space)Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
thickness(number)Line thickness, generally measured in
line-thickness.
Internal properties:
note-columns(pair)A list of
NoteColumngrobs.tuplet-number(layout object)The number for a bracket.
tuplets(unknown)A list of smaller tuplet brackets.
This grob interface is used in the following graphical object(s): LigatureBracket and TupletBracket.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < tuplet-bracket-interface ] | [ Up : Graphical Object Interfaces ] | [ unbreakable-spanner-interface > ] | ||
3.2.115 tuplet-number-interface
The number for a bracket.
User settable properties:
avoid-slur(symbol)Method of handling slur collisions. Choices are
around,inside,outside. If unset, scripts and slurs ignore each other.aroundonly moves the script if there is a collision;outsidealways moves the script.
Internal properties:
bracket(layout object)The bracket for a number.
This grob interface is used in the following graphical object(s): TupletNumber.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < tuplet-number-interface ] | [ Up : Graphical Object Interfaces ] | [ vaticana-ligature-interface > ] | ||
3.2.116 unbreakable-spanner-interface
A spanner that should not be broken across line breaks. Override
with breakable=##t.
User settable properties:
breakable(boolean)Allow breaks here.
This grob interface is used in the following graphical object(s): Beam and Glissando.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < unbreakable-spanner-interface ] | [ Up : Graphical Object Interfaces ] | [ vertically-spaceable-interface > ] | ||
3.2.117 vaticana-ligature-interface
A vaticana style Gregorian ligature.
User settable properties:
thickness(number)Line thickness, generally measured in
line-thickness.
Internal properties:
add-cauda(boolean)Does this flexa require an additional cauda on the left side?
add-join(boolean)Is this ligature head-joined with the next one by a vertical line?
add-stem(boolean)Is this ligature head a virga and therefore needs an additional stem on the right side?
delta-position(number)The vertical position difference.
flexa-height(dimension, in staff space)The height of a flexa shape in a ligature grob (in
staff-spaceunits).flexa-width(dimension, in staff space)The width of a flexa shape in a ligature grob in (in
staff-spaceunits).glyph-name(string)The glyph name within the font.
x-offset(dimension, in staff space)Extra horizontal offset for ligature heads.
This grob interface is used in the following graphical object(s): NoteHead and VaticanaLigature.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < vaticana-ligature-interface ] | [ Up : Graphical Object Interfaces ] | [ volta-bracket-interface > ] | ||
3.2.118 vertically-spaceable-interface
Objects that should be kept at constant vertical distances. Typically: VerticalAxisGroup objects of Staff contexts.
This grob interface is used in the following graphical object(s): VerticalAxisGroup.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < vertically-spaceable-interface ] | [ Up : Graphical Object Interfaces ] | [ User backend properties > ] | ||
3.2.119 volta-bracket-interface
Volta bracket with number.
User settable properties:
height(dimension, in staff space)Height of an object in
staff-spaceunits.thickness(number)Line thickness, generally measured in
line-thickness.
Internal properties:
bars(unknown)A list of bar line pointers.
This grob interface is used in the following graphical object(s): VoltaBracket.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < volta-bracket-interface ] | [ Up : Backend ] | [ Internal backend properties > ] | ||
3.3 User backend properties
-
X-extent(pair of numbers) Hard coded extent in X direction.
-
X-offset(number) The horizontal amount that this object is moved relative to its X-parent.
-
Y-extent(pair of numbers) Hard coded extent in Y direction.
-
Y-offset(number) The vertical amount that this object is moved relative to its Y-parent.
-
add-stem-support(boolean) If set, the
Stemobject 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.
-
arpeggio-direction(direction) If set, put an arrow on the arpeggio squiggly line.
-
arrow-length(number) Arrow length.
-
arrow-width(number) Arrow width.
-
auto-knee-gap(dimension, in staff space) If a gap is found between note heads where a horizontal beam fits that is larger than this number, make a kneed beam.
-
average-spacing-wishes(boolean) If set, the spacing wishes are averaged over staves.
-
avoid-note-head(boolean) If set, the stem of a chord does not pass through all note heads, but starts at the last note head.
-
avoid-slur(symbol) Method of handling slur collisions. Choices are
around,inside,outside. If unset, scripts and slurs ignore each other.aroundonly moves the script if there is a collision;outsidealways moves the script.-
axes(list) List of axis numbers. In the case of alignment grobs, this should contain only one number.
-
bar-size(dimension, in staff space) The size of a bar line.
-
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-spaceunits.-
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.
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.
-
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.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-align-anchor(number) Grobs aligned to this break-align grob will have their X-offsets shifted by this number. In bar lines, for example, this is used to position grobs relative to the (visual) center of the bar line.
-
break-align-anchor-alignment(number) Read by
ly:break-aligned-interface::calc-extent-aligned-anchorfor aligning an anchor to a grob’s extent-
break-align-orders(vector) Defines the order in which prefatory matter (clefs, key signatures) appears. The format is a vector of length 3, where each element is one order for end-of-line, middle of line, and start-of-line, respectively. An order is a list of symbols.
For example, clefs are put after key signatures by setting
\override Score.BreakAlignment #'break-align-orders = #(make-vector 3 '(span-bar breathing-sign staff-bar key clef time-signature))-
break-align-symbol(symbol) This key is used for aligning and spacing breakable items.
-
break-align-symbols(list) A list of symbols that determine which break-aligned grobs to align this to. If the grob selected by the first symbol in the list is invisible due to break-visibility, we will align to the next grob (and so on).
-
break-overshoot(pair of numbers) How much does a broken spanner stick out of its bounds?
-
break-visibility(vector) A vector of 3 booleans,
#(end-of-line unbroken begin-of-line).#tmeans visible,#fmeans killed.-
breakable(boolean) Allow breaks here.
-
c0-position(integer) An integer indicating the position of middle C.
-
circled-tip(boolean) Put a circle at start/end of hairpins (al/del niente).
-
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.
-
color(list) The color of this grob.
-
common-shortest-duration(moment) The most common shortest note length. This is used in spacing. Enlarging this sets the score tighter.
-
concaveness(number) A beam is concave if its inner stems are closer to the beam than the two outside stems. This number is a measure of the closeness of the inner stems. It is used for damping the slope of the beam.
-
connect-to-neighbor(pair) Pair of booleans, indicating whether this grob looks as a continued break.
-
control-points(list) List of offsets (number pairs) that form control points for the tie, slur, or bracket shape. For Béziers, this should list the control points of a third-order Bézier curve.
-
damping(number) Amount of beam slope damping.
-
dash-fraction(number) Size of the dashes, relative to
dash-period. Should be between0.0(no line) and1.0(continuous line).-
dash-period(number) The length of one dash together with whitespace. If negative, no line is drawn at all.
-
default-direction(direction) Direction determined by note head positions.
-
digit-names(unknown) Names for string finger digits.
-
direction(direction) If
side-axisis0(or#X), then this property determines whether the object is placed#LEFT,#CENTERor#RIGHTwith respect to the other object. Otherwise, it determines whether the object is placed#UP,#CENTERor#DOWN. Numerical values may also be used:#UP=1,#DOWN=-1,#LEFT=-1,#RIGHT=1,#CENTER=0.-
dot-count(integer) The number of dots.
-
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.-
duration-log(integer) The 2-log of the note head duration, i.e.,
0= whole note,1= half note, etc.-
eccentricity(number) How asymmetrical to make a slur. Positive means move the center to the right.
-
edge-height(pair) A pair of numbers specifying the heights of the vertical edges:
(left-height . right-height).-
edge-text(pair) A pair specifying the texts to be set at the edges:
(left-text . right-text).-
expand-limit(integer) Maximum number of measures expanded in church rests.
-
extra-X-extent(pair of numbers) A grob is enlarged in X dimension by this much.
-
extra-Y-extent(pair of numbers) A grob is enlarged in Y dimension by this much.
-
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-spaceunits of the staff’sStaffSymbol.-
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(unknown) A function returning the full flag stencil for the
Stem, which is passed to the function as the only argument. The default ly:stem::calc-stencil function uses theflag-styleproperty to determine the correct glyph for the flag. By providing your own function, you can create arbitrary flags.-
flag-count(number) The number of tremolo beams.
-
flag-style(symbol) A symbol determining what style of flag glyph is typeset on a
Stem. Valid options include'()for standard flags,'mensuraland'no-flag, which switches off the flag.-
font-encoding(symbol) The font encoding is the broadest category for selecting a font. Currently, only lilypond’s system fonts (Emmentaler and Aybabtu) are using this property. Available values are
fetaMusic(Emmentaler),fetaBraces(Aybabtu),fetaNumber(Emmentaler), andfetaDynamic(Emmentaler).-
font-family(symbol) The font family is the broadest category for selecting text fonts. Options include:
sans,roman.-
font-name(string) Specifies a file name (without extension) of the font to load. This setting overrides selection using
font-family,font-seriesandfont-shape.-
font-series(symbol) Select the series of a font. Choices include
medium,bold,bold-narrow, etc.-
font-shape(symbol) Select the shape of a font. Choices include
upright,italic,caps.-
font-size(number) The font size, compared to the ‘normal’ size.
0is style-sheet’s normal size,-1is smaller,+1is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. Fractional values are allowed.-
force-hshift(number) This specifies a manual shift for notes in collisions. The unit is the note head width of the first voice note. This is used by note-collision-interface.
-
fraction(pair of numbers) Numerator and denominator of a time signature object.
-
french-beaming(boolean) Use French beaming style for this stem. The stem stops at the innermost beams.
-
fret-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-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. -
label-dir– Side to which the fret label is attached.-1,#LEFT, or#DOWNfor left or down;1,#RIGHT, or#UPfor right or up. Default#RIGHT. -
mute-string– Character string to be used to indicate muted string. Default"x". -
number-type– Type of numbers to use in fret label. Choices includeroman-lower,roman-upper, andarabic. Defaultroman-lower. -
open-string– Character string to be used to indicate open string. Default"o". -
orientation– Orientation of fret-diagram. Options includenormal,landscape, andopposing-landscape. Defaultnormal. -
string-count– The number of strings. Default 6. -
string-label-font-mag– The magnification of the font used to label fingerings at the string, rather than in the dot. Default value 0.6 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.
-
-
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.
-
glyph(string) A string determining what ‘style’ of glyph is typeset. Valid choices depend on the function that is reading this property.
-
glyph-name-alist(list) An alist of key-string pairs.
-
grow-direction(direction) Crescendo or decrescendo?
-
hair-thickness(number) Thickness of the thin line in a bar line.
-
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-spaceunits.-
height-limit(dimension, in staff space) Maximum slur height: The longer the slur, the closer it is to this height.
-
horizontal-shift(integer) An integer that identifies ranking of
NoteColumns for horizontal shifting. This is used by note-collision-interface.-
horizontal-skylines(unknown) Two skylines, one to the left and one to the right of this grob.
-
ignore-collision(boolean) If set, don’t do note collision resolution on this
NoteColumn.-
implicit(boolean) Is this an implicit bass figure?
-
inspect-index(integer) If debugging is set, set beam and slur configuration to this index, and print the respective scores.
-
inspect-quants(pair of numbers) If debugging is set, set beam and slur quants to this position, and print the respective scores.
-
keep-fixed-while-stretching(boolean) A grob with this property set to true is fixed relative to the staff above it when systems are stretched.
-
keep-inside-line(boolean) If set, this column cannot have objects sticking into the margin.
-
kern(dimension, in staff space) Amount of extra white space to add. For bar lines, this is the amount of space after a thick line.
-
knee(boolean) Is this beam kneed?
-
knee-spacing-correction(number) Factor for the optical correction amount for kneed beams. Set between
0for no correction and1for full correction.-
labels(list) List of labels (symbols) placed on a column
-
layer(integer) The output layer (a value between 0 and 2): Layers define the order of printing objects. Objects in lower layers are overprinted by objects in higher layers.
-
ledger-line-thickness(pair of numbers) The thickness of ledger lines. It is the sum of 2 numbers: The first is the factor for line thickness, and the second for staff space. Both contributions are added.
-
left-bound-info(list) An alist of properties for determining attachments of spanners to edges.
-
left-padding(dimension, in staff space) The amount of space that is put left to an object (e.g., a group of accidentals).
-
length(dimension, in staff space) User override for the stem length of unbeamed stems.
-
length-fraction(number) Multiplier for lengths. Used for determining ledger lines and stem lengths.
-
line-break-penalty(number) Penalty for a line break at this column. This affects the choices of the line breaker; it avoids a line break at a column with a positive penalty and 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.
-
line-count(integer) The number of staff lines.
-
line-positions(list) Vertical positions of staff lines.
-
line-thickness(number) The thickness of the tie or slur contour.
-
long-text(markup) Text markup. See Formatting text.
-
max-beam-connect(integer) Maximum number of beams to connect to beams from this stem. Further beams are typeset as beamlets.
-
max-stretch(number) The maximum amount that this
VerticalAxisGroupcan be vertically stretched (for example, in order to better fill a page).-
measure-count(integer) The number of measures for a multi-measure rest.
-
measure-length(moment) Length of a measure. Used in some spacing situations.
-
merge-differently-dotted(boolean) Merge note heads in collisions, even if they have a different number of dots. This is normal notation for some types of polyphonic music.
merge-differently-dottedonly applies to opposing stem directions (i.e., voice 1 & 2).-
merge-differently-headed(boolean) Merge note heads in collisions, even if they have different note heads. The smaller of the two heads is rendered invisible. This is used in polyphonic guitar notation. The value of this setting is used by note-collision-interface.
merge-differently-headedonly applies to opposing stem directions (i.e., voice 1 & 2).-
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.-
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.-
minimum-length-fraction(number) Minimum length of ledger line as fraction of note head size.
-
minimum-space(dimension, in staff space) Minimum distance that the victim should move (after padding).
-
neutral-direction(direction) Which direction to take in the center of the staff.
-
neutral-position(number) Position (in half staff spaces) where to flip the direction of custos stem.
-
next(layout object) Object that is next relation (e.g., the lyric syllable following an extender).
-
no-alignment(boolean) If set, don’t place this grob in a
VerticalAlignment; rather, place it using its ownY-offsetcallback.-
no-ledgers(boolean) If set, don’t draw ledger lines on this object.
-
no-stem-extend(boolean) If set, notes with ledger lines do not get stems extending to the middle staff line.
-
non-default(boolean) Set for manually specified clefs.
-
non-musical(boolean) True if the grob belongs to a
NonMusicalPaperColumn.-
note-names(vector) Vector of strings containing names for easy-notation note heads.
-
outside-staff-horizontal-padding(number) By default, an outside-staff-object can be placed so that is it very close to another grob horizontally. If this property is set, the outside-staff-object is raised so that it is not so close to its neighbor.
-
outside-staff-padding(number) The padding to place between this grob and the staff when spacing according to
outside-staff-priority.-
outside-staff-priority(number) If set, the grob is positioned outside the staff in such a way as to avoid all collisions. In case of a potential collision, the grob with the smaller
outside-staff-priorityis closer to the staff.-
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
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.-
parenthesized(boolean) Parenthesize this grob.
-
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.-
prefer-dotted-right(boolean) For note collisions, prefer to shift dotted up-note to the right, rather than shifting just the dot.
-
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?
-
restore-first(boolean) Print a natural before the accidental.
-
rhythmic-location(rhythmic location) Where (bar number, measure position) in the score.
-
right-bound-info(list) An alist of properties for determining attachments of spanners to edges.
-
right-padding(dimension, in staff space) Space to insert on the right side of an object (e.g., between note and its accidentals).
-
rotation(list) Number of degrees to rotate this object, and what point to rotate around. For example,
#'(45 0 0)rotates by 45 degrees around the center of this object.-
same-direction-correction(number) Optical correction amount for stems that are placed in tight configurations. This amount is used for stems with the same direction to compensate for note head to stem distance.
-
script-priority(number) A sorting key that determines in what order a script is within a stack of scripts.
-
self-alignment-X(number) Specify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified.-
self-alignment-Y(number) Like
self-alignment-Xbut for the Y axis.-
shorten-pair(pair of numbers) The lengths to shorten a text-spanner on both sides, for example a pedal bracket. Positive values shorten the text-spanner, while negative values lengthen it.
-
shortest-duration-space(dimension, in staff space) Start with this much space for the shortest duration. This is expressed in
spacing-incrementas unit. See also spacing-spanner-interface.-
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 equivalently0), the object is placed horizontally next to the other object. If the value is#Yor1, it is placed vertically.-
side-relative-direction(direction) Multiply direction of
direction-sourcewith this to get the direction of this object.-
size(number) Size of object, relative to standard size.
-
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.
-
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.
-
space-alist(list) A table that specifies distances between prefatory items, like clef and time-signature. The format is an alist of spacing tuples:
(break-align-symbol type . distance), where type can be the symbolsminimum-spaceorextra-space.-
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(number) Add this much space for a doubled duration. Typically, the width of a note head. See also spacing-spanner-interface.
-
springs-and-rods(boolean) Dummy variable for triggering spacing routines.
-
stacking-dir(direction) Stack objects in which direction?
-
staff-padding(dimension, in staff space) Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the 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.-
stem-attachment(pair of numbers) An
(x . y)pair where the stem attaches to the notehead.-
stem-end-position(number) Where does the stem end (the end is opposite to the support-head)?
-
stem-spacing-correction(number) Optical correction amount for stems that are placed in tight configurations. For opposite directions, this amount is the correction for two normal sized stems that overlap completely.
-
stemlet-length(number) How long should be a stem over a rest?
-
stencil(unknown) 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 fot 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
stencilcallback reading this property.-
text(markup) Text markup. See Formatting text.
-
text-direction(direction) This controls the ordering of the words. The default
RIGHTis for roman text. Arabic or Hebrew should useLEFT.-
thick-thickness(number) Bar line thickness, measured in
line-thickness.-
thickness(number) Line thickness, generally measured in
line-thickness.-
thin-kern(number) The space after a hair-line in a bar line.
-
threshold(pair of numbers) (min . max), where min and max are dimensions in staff space.-
tie-configuration(list) List of
(position . dir)pairs, indicating the desired tie configuration, where position is the offset from the center of the staff in staff space and dir indicates the direction of the tie (1=>up,-1=>down,0=>center). A non-pair entry in the list causes the corresponding tie to be formatted automatically.-
to-barline(boolean) If true, the spanner will stop at 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.0means keep the default position (centered on the note head),1.0means centered on the stem. Interpolated values are possible.-
transparent(boolean) This makes the grob invisible.
-
uniform-stretching(boolean) If set, items stretch proportionally to their durations. This looks better in complex polyphonic patterns.
-
used(boolean) If set, this spacing column is kept in the spacing problem.
-
vertical-skylines(unknown) Two skylines, one above and one below this grob.
-
when(moment) Global time step associated with this column happen?
-
width(dimension, in staff space) The width of a grob measured in staff space.
-
word-space(dimension, in staff space) Space to insert between words in texts.
-
zigzag-length(dimension, in staff space) The length of the lines of a zigzag, relative to
zigzag-width. A value 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.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Scheme functions >> ] | ||
| [ < User backend properties ] | [ Up : Backend ] | [ Scheme functions > ] | ||
3.4 Internal backend properties
-
X-common(layout object) Common reference point for axis group.
-
Y-common(layout object) See
X-common.-
accidental-grob(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-hairpins(unknown) A list of directly neighboring hairpins.
-
adjacent-pure-heights(vector) Used by a
VerticalAxisGroupto cache theY-extents of different column ranges.-
all-elements(unknown) A list of all grobs in this line. Its function is to protect objects from being garbage collected.
-
arpeggio(layout object) A pointer to an
Arpeggioobject.-
ascendens(boolean) Is this neume of ascending type?
-
auctum(boolean) Is this neume liquescentically augmented?
-
axis-group-parent-X(layout object) Containing X axis group.
-
axis-group-parent-Y(layout object) Containing Y axis group.
-
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.-
bars(unknown) A list of bar line pointers.
-
beam(layout object) A pointer to the beam, if applicable.
-
begin-of-line-visible(boolean) Used for marking
ChordNamesthat should only show changes.-
bounded-by-me(unknown) A list of spanners that have this column as start/begin point. Only columns that have grobs or act as bounds are spaced.
-
bracket(layout object) The bracket for a number.
-
cause(any type) Any kind of causation objects (i.e., music, or perhaps translator) that was the cause for this grob.
-
cavum(boolean) Is this neume outlined?
-
columns(unknown) A list of grobs, typically containing
PaperColumnorNoteColumnobjects.-
conditional-elements(unknown) Internal use only.
-
context-info(integer) Within a ligature, the final glyph or shape of a head may be affected by the left and/or right neighbour head.
context-infoholds for each head such information about the left and right neighbour, encoded as a bit mask.-
cross-staff(boolean) For a beam or a stem, this is true if we depend on inter-staff spacing.
-
delta-position(number) The vertical position difference.
-
deminutum(boolean) Is this neume deminished?
-
descendens(boolean) Is this neume of descendent type?
-
details(list) Alist of parameters for detailed grob behavior.
More information on the allowed parameters can be found by inspecting ‘lily/slur-scoring.cc’, ‘lily/beam-quanting.cc’, and ‘lily/tie-formatting-problem.cc’. Setting
debug-tie-scoring,debug-beam-scoringordebug-slur-scoringalso provides useful clues.-
direction-source(layout object) In case
side-relative-directionis set, which grob to get the direction from.-
dot(layout object) A reference to a
Dotsobject.-
dots(unknown) Multiple
Dotsobjects.-
elements(unknown) A list of grobs; the type is depending on the grob where this is set in.
-
encompass-objects(unknown) Objects that a slur should avoid in addition to notes and stems.
-
figures(unknown) Figured bass objects for continuation line.
-
flexa-height(dimension, in staff space) The height of a flexa shape in a ligature grob (in
staff-spaceunits).-
flexa-width(dimension, in staff space) The width of a flexa shape in a ligature grob in (in
staff-spaceunits).-
font(font metric) A cached font metric object.
-
forced(boolean) Manually forced accidental.
-
glyph-name(string) The glyph name within the font.
-
grace-spacing(layout object) A run of grace notes.
-
head-width(dimension, in staff space) The width of this ligature head.
-
heads(unknown) A list of note heads.
-
ideal-distances(list) (obj . (dist . strength))pairs.-
important-column-ranks(vector) A cache of columns that contain
items-worth-livingdata.-
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
metafield.-
items-worth-living(unknown) A list of interesting items. If empty in a particular staff, then that staff is erased.
-
join-heads(boolean) Whether to join the note heads of an ambitus grob with a vertical line.
-
join-right-amount(number) DOCME
-
least-squares-dy(number) The ideal beam slope, without damping.
-
left-items(unknown) DOCME
-
left-neighbors(unknown) A list of
spacing-wishesgrobs that are close to the current column.The closest
spacing-wishesdetermine the actual distances between the columns.-
linea(boolean) Attach vertical lines to this neume?
-
meta(list) Provide meta information. It is an alist with the entries
nameandinterfaces.-
minimum-distances(list) A list of rods that have the format
(obj . dist).-
normal-stems(unknown) An array of visible stems.
-
note-columns(pair) A list of
NoteColumngrobs.-
note-head(layout object) A single note head.
-
note-heads(unknown) A list of note head grobs.
-
oriscus(boolean) Is this neume an oriscus?
-
pedal-text(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
\virgaor\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-Y-common(layout object) A cache of the
common_refpoint_of_arrayof theelementsgrob set.-
pure-Y-extent(pair of numbers) The estimated height of a system.
-
pure-Y-offset-in-progress(boolean) A debugging aid for catching cyclic dependencies.
-
pure-relevant-items(unknown) A subset of elements that are relevant for finding the
pure-Y-extent.-
pure-relevant-spanners(unknown) A subset of elements that are relevant for finding the
pure-Y-extent.-
quant-score(string) The beam quanting score; stored for debugging.
-
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(layout object) A pointer to a
Restobject.-
rest-collision(layout object) A rest collision that a rest is in.
-
rests(unknown) A list of rest objects.
-
right-items(unknown) DOCME
-
right-neighbors(unknown) See
left-neighbors.-
script-stencil(pair) A pair
(type . arg)which acts as an index for looking up aStencilobject.-
separation-item(layout object) A separation item.
-
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(unknown) The side support, a list of grobs.
-
skyline-distance(number) The distance between this staff and the next one, as determined by a skyline algorithm.
-
slur(layout object) A pointer to a
Slurobject.-
spaceable-staves(unknown) Objects to be spaced during page layout.
-
spacing(layout object) The spacing spanner governing this section.
-
spacing-wishes(unknown) List of note spacing or staff spacing objects.
-
staff-symbol(layout object) The staff symbol grob that we are in.
-
stem(layout object) A pointer to a
Stemobject.-
stem-info(pair) A cache of stem parameters.
-
stems(unknown) A list of stem objects, corresponding to the notes that the arpeggio has to be before.
-
stropha(boolean) Is this neume a stropha?
-
tie(layout object) A pointer to a
Tieobject.-
tremolo-flag(layout object) The tremolo object on a stem.
-
tuplet-number(layout object) The number for a bracket.
-
tuplets(unknown) A list of smaller tuplet brackets.
-
use-breve-rest(boolean) Use breve rests for measures longer than a whole rest.
-
virga(boolean) Is this neume a virga?
-
x-offset(dimension, in staff space) Extra horizontal offset for ligature heads.
| [ << Backend ] | [Top][Contents][Index][ ? ] | [ Indices >> ] | ||
| [ < Internal backend properties ] | [ Up : Top ] | [ Indices > ] | ||
4. Scheme functions
- Function: ly:add-listener list disp cl
Add the listener list to the dispatcher disp. Whenever disp hears an event of class cl, it is forwarded to list.
- Function: ly:assoc-get key alist default-value
Return value if key in alist, else
default-value(or#fif not specified).
- Function: ly:book-process book-smob default-paper default-layout 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).
- Function: ly:book-process-to-systems book-smob default-paper default-layout 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).
- Function: ly:bracket a iv t p
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.
- Function: ly:chain-assoc-get key achain dfault
Return value for key from a list of alists achain. If no entry is found, return dfault or
#fif no dfault is specified.
- Function: ly:clear-anonymous-modules
Plug a GUILE 1.6 and 1.7 memory leak by breaking a weak reference pointer cycle explicitly.
- Function: ly:context-events-below context
Return a
stream-distributorthat distributes all events from context and all its subcontexts.
- Function: ly:context-find context name
Find a parent of context that has name or alias name. Return
#fif not found.
- Function: ly:context-grob-definition context name
Return the definition of name (a symbol) within context as an alist.
- Function: ly:context-id context
Return the ID string of context, i.e., for
\context Voice = one …return the stringone.
- Function: ly:context-name context
Return the name of context, i.e., for
\context Voice = one …return the symbolVoice.
- Function: ly:context-property-where-defined context name
Return the context above context where name is defined.
- Function: ly:context-pushpop-property context grob eltprop val
Do a single
\overrideor\revertoperation in context. The grob definition grob is extended with eltprop (if val is specified) or reverted (if unspecified).
- Function: ly:context-set-property! context name val
Set value of property name in context context to val.
- Function: ly:dimension? d
Return d as a number. Used to distinguish length variables from normal numbers.
- Function: ly:dir? s
A type predicate. The direction
sis-1,0or1, where-1represents left or down and1represents right or up.
- Function: ly:error str rest
A Scheme callable function to issue the error str. The error is formatted with
formatand rest.
- Function: ly:eval-simple-closure delayed closure scm-start scm-end
Evaluate a simple closure with the given delayed argument. If scm-start and scm-end are defined, evaluate it purely with those start and end points.
- Function: ly:event-property sev sym
Get the property sym of stream event mus. If sym is undefined, return
'().
- Function: ly:font-design-size font
Given the font metric font, return the design size, relative to the current output-scale.
- Function: ly:font-get-glyph font 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 Aybabtu fonts, corresponding to the font encodingsfetaMusicandfetaBraces, respectively.
- Function: ly:font-glyph-name-to-charcode font name
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 Aybabtu fonts, corresponding to the font encodingsfetaMusicandfetaBraces, respectively.
- Function: ly:font-glyph-name-to-index font name
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 Aybabtu fonts, corresponding to the font encodingsfetaMusicandfetaBraces, respectively.
- Function: ly:font-index-to-charcode font index
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 Aybabtu fonts, corresponding to the font encodingsfetaMusicandfetaBraces, respectively.
- Function: ly:font-magnification font
Given the font metric font, return the magnification, relative to the current output-scale.
- Function: ly:font-sub-fonts font
Given the font metric font of an OpenType font, return the names of the subfonts within font.
- Function: ly:format-output context
Given a global context in its final state, process it and return the
Music_outputobject in its final state.
- Function: ly:get-all-function-documentation
Get a hash table with all LilyPond Scheme extension functions.
- Function: ly:get-glyph font index
Retrieve a stencil for the glyph numbered 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 Aybabtu fonts, corresponding to the font encodingsfetaMusicandfetaBraces, respectively.
- Function: ly:get-listened-event-classes
Return a list of all event classes that some translator listens to.
- Function: ly:grob-alist-chain grob global
Get an alist chain for grob grob, with global as the global default. If unspecified,
font-defaultsfrom the layout block is taken.
- Function: ly:grob-common-refpoint grob other axis
Find the common refpoint of grob and other for axis.
- Function: ly:grob-common-refpoint-of-array grob others axis
Find the common refpoint of grob and others (a grob-array) for axis.
- Function: ly:grob-extent grob refp axis
Get the extent in axis direction of grob relative to the grob refp.
- Function: ly:grob-object grob sym
Return the value of a pointer in grob g of property sym. It returns
'()(end-of-list) if sym is undefined in g.
- Function: ly:grob-parent grob axis
Get the parent of grob. axis is 0 for the X-axis, 1 for the Y-axis.
- Function: ly:grob-property grob sym deflt
Return the value of a value in grob g of property sym. It returns
'()(end-of-list) or deflt (if specified) if sym is undefined in g.
- Function: ly:grob-relative-coordinate grob refp axis
Get the coordinate in axis direction of grob relative to the grob refp.
- Function: ly:grob-robust-relative-extent grob refp axis
Get the extent in axis direction of grob relative to the grob refp, or
(0,0)if empty.
- Function: ly:gulp-file name size
Read the file name, and return its contents in a string. The file is looked up using the search path.
- Function: ly:input-both-locations sip
Return input location in sip as
(file-name first-line first-column last-line last-column).
- Function: ly:input-file-line-char-column sip
Return input location in sip as
(file-name line char column).
- Function: ly:input-message sip msg rest
Print msg as a GNU compliant error message, pointing to the location in sip. msg is interpreted similar to
format’s argument, using rest.
- Function: ly:interpret-music-expression mus ctx
Interpret the music expression mus in the global context ctx. The context is returned in its final state.
- Function: ly:interpret-stencil-expression expr func arg1 offset
Parse expr, feed bits to func with first arg arg1 having offset offset.
- Function: ly:item-break-dir it
The break status direction of item it.
-1means end of line,0unbroken, and1beginning of line.
- Function: ly:lexer-keywords lexer
Return a list of
(KEY . CODE)pairs, signifying the LilyPond reserved words list.
- Function: ly:make-book paper header scores
Make a
\bookof paper and header (which may be#fas well) containing\scores.
- Function: ly:make-duration length dotcount num den
length is the negative logarithm (base 2) of the duration: 1 is a half note, 2 is a quarter note, 3 is an eighth note, etc. The number of dots after the note is given by the optional argument dotcount.
The duration factor is optionally given by num and den.
A duration is a musical duration, i.e., a length of time described by a power of two (whole, half, quarter, etc.) and a number of augmentation dots.
- Function: ly:make-global-context output-def
Set up a global interpretation context, using the output block output_def. The context is returned.
- Function: ly:make-global-translator global
Create a translator group and connect it to the global context global. The translator group is returned.
- Function: ly:make-listener callback
Create a listener. Any time the listener hears an object, it will call callback with that object.
callback should take exactly one argument.
- Function: ly:make-moment n d gn gd
Create the rational number with main timing n/d, and optional grace timing gn/gd.
A moment is a point in musical time. It consists of a pair of rationals (m, g), where m is the timing for the main notes, and g the timing for grace notes. In absence of grace notes, g is zero.
- Function: ly:make-music props
Make a C++
Musicobject and initialize it with props.This function is for internal use and is only called by
make-music, which is the preferred interface for creating music objects.
- Function: ly:make-music-function signature func
Make a function to process music, to be used for the parser.
funcis the function, andsignaturedescribes its arguments.signatureis a list containing eitherly:music?predicates or other type predicates.
- Function: ly:make-page-permission-marker symbol permission
Return page marker with page breaking and turning permissions.
- Function: ly:make-pango-description-string chain size
Make a
PangoFontDescriptionstring for the property alist chain at size size.
- Function: ly:make-paper-outputter port format
Create an outputter that evaluates within
output-format, writing to port.
- Function: ly:make-pitch octave note alter
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. alter is a rational number of 200-cent whole tones for alteration.
- Function: ly:make-scale steps
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.
- Function: ly:make-simple-closure expr
Make a simple closure. expr should be form of
(func a1 A2 …), and will be invoked as(func delayed-arg a1 a2 …).
- Function: ly:make-stencil expr xext yext
Stencils are device independent output expressions. They carry two pieces of information:
- A specification of how to print this object. This specification is processed by the output backends, for example ‘scm/output-ps.scm’.
-
The vertical and horizontal extents of the object, given as pairs. If an extent is unspecified (or if you use
(1000 . -1000)as its value), it is taken to be empty.
- Function: ly:make-stream-event cl proplist
Create a stream event of class cl with the given mutable property list.
- Function: ly:message str rest
A Scheme callable function to issue the message str. The message is formatted with
formatand rest.
- Function: ly:minimal-breaking pb
Break (pages and lines) the
Paper_bookobject pb without looking for optimal spacing: stack as many lines on a page before moving to the next one.
- Function: ly:modules-lookup modules sym def
Look up sym in the list modules, returning the first occurence. If not found, return def or
#fif def isn’t specified.
- Function: ly:music-length mus
Get the length of music expression mus and return it as a
Momentobject.
- Function: ly:music-mutable-properties mus
Return an alist containing the mutable properties of mus. The immutable properties are not available, since they are constant and initialized by the
make-musicfunction.
- Function: ly:music-property mus sym dfault
Get the property sym of music expression mus. If sym is undefined, return
'().
- Function: ly:note-head::stem-attachment font-metric glyph-name
Get attachment in font-metric for attaching a stem to notehead glyph-name.
- Function: ly:optimal-breaking pb
Optimally break (pages and lines) the
Paper_bookobject pb to minimize badness in bother vertical and horizontal spacing.
- Function: ly:otf->cff otf-file-name
Convert the contents of an OTF file to a CFF file, returning it as a string.
- Function: ly:otf-font-glyph-info font glyph
Given the font metric font of an OpenType font, return the information about named glyph glyph (a string).
- Function: ly:otf-font-table-data font tag
Extract a table tag from font. Return empty string for non-existent tag.
- Function: ly:output-def-lookup pap sym def
Look up sym in the pap output definition (e.g.,
\paper). Return the value or def (which defaults to'()) if undefined.
- Function: ly:page-turn-breaking pb
Optimally break (pages and lines) the
Paper_bookobject pb such that page turns only happen in specified places, returning its pages.
- Function: ly:pango-font-physical-fonts f
Return alist of
(ps-name file-name font-index)lists for Pango font f.
- Function: ly:paper-get-font paper-smob chain
Return a font metric satisfying the font-qualifiers in the alist chain chain. (An alist chain is a list of alists, containing grob properties.)
- Function: ly:paper-score-paper-systems paper-score
Return vector of
paper_systemobjects from paper-score.
- Function: ly:paper-system-minimum-distance sys1 sys2
Measure the minimum distance between these two paper-systems, using their stored skylines if possible and falling back to their extents otherwise.
- Function: ly:parser-lookup parser-smob symbol
Look up symbol in parser-smob’s module. Return
'()if not defined.
- Function: ly:parser-parse-string parser-smob ly-code
Parse the string ly-code with parser-smob. Upon failure, throw
ly-file-failedkey.
- Function: ly:parser-set-note-names parser names
Replace current note names in parser. names is an alist of symbols. This only has effect if the current mode is notes.
- Function: ly:pitch-diff pitch root
Return pitch delta such that pitch transposed by delta equals root.
- Function: ly:pitch-transpose p delta
Transpose p by the amount delta, where delta is relative to middle C.
- Function: ly:position-on-line? sg spos
Return whether pos is on a line of the staff associated with the the grob sg (even on an extender line).
- Function: ly:programming-error str rest
A Scheme callable function to issue the internal warning str. The message is formatted with
formatand rest.
- Function: ly:progress str rest
A Scheme callable function to print progress str. The message is formatted with
formatand rest.
- Function: ly:property-lookup-stats sym
Return hash table with a property access corresponding to sym. Choices are
prob,grob, andcontext.
- Function: ly:relative-group-extent elements common axis
Determine the extent of elements relative to common in the axis direction.
- Function: ly:round-filled-box xext yext blot
Make a
Stencilobject that prints a black box of dimensions xext, yext and roundness blot.
- Function: ly:round-filled-polygon points blot
Make a
Stencilobject that prints a black polygon with corners at the points defined by points (list of coordinate pairs) and roundness blot.
- Function: ly:run-translator mus output-def
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.
- Function: ly:score-embedded-format score layout
Run score through layout (an output definition) scaled to correct output-scale already, returning a list of layout-lines. This function takes an optional
Object_keyargument.
- Function: ly:set-default-scale scale
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.
- Function: ly:set-grob-modification-callback cb
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.
- Function: ly:set-middle-C! context
Set the
middleCPositionvariable in context based on the variablesmiddleCClefPositionand middleCOffset.
- Function: ly:set-property-cache-callback cb
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.
- Function: ly:solve-spring-rod-problem springs rods length ragged
Solve a spring and rod problem for count objects, that are connected by count-1 springs, and an arbitrary number of rods. count is implicitly given by springs and rods. The springs argument has the format
(ideal, inverse_hook)and rods is of the form(idx1, idx2, distance).length is a number, ragged a boolean.
The function returns a list containing the force (positive for stretching, negative for compressing and
#ffor non-satisfied constraints) followed by spring-count+1 positions of the objects.
- Function: ly:spanner-bound spanner dir
Get one of the bounds of spanner. dir is
-1for left, and1for right.
- Function: ly:staff-symbol-line-thickness grob
Returns the line-thickness of the staff associated with grob.
- Function: ly:start-environment
Return the environment (a list of strings) that was in effect at program start.
- Function: ly:stencil-aligned-to stil axis dir
Align stil using its own extents. dir is a number.
-1and1are left and right, respectively. Other values are interpolated (so0means the center).
- Function: ly:stencil-combine-at-edge first axis direction second padding minimum
Construct a stencil by putting second next to first. axis can be 0 (x-axis) or 1 (y-axis). direction can be -1 (left or down) or 1 (right or up). The stencils are juxtaposed with padding as extra space. If this puts the reference points closer than minimum, they are moved by the latter amount. first and second may also be
'()or#f.
- Function: ly:stencil-extent stil axis
Return a pair of numbers signifying the extent of stil in axis direction (
0or1for x and y axis, respectively).
- Function: ly:stencil-rotate stil angle x y
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.
- Function: ly:stencil-rotate-absolute stil angle x y
Return a stencil stil rotated angle degrees around point (x, y), given in absolute coordinates.
- Function: ly:stencil-translate stil offset
Return a stil, but translated by offset (a pair of numbers).
- Function: ly:stencil-translate-axis stil amount axis
Return a copy of stil but translated by amount in axis direction.
- Function: ly:system-font-load name
Load the OpenType system font ‘name.otf’. Fonts loaded with this command must contain three additional SFNT font tables called
LILC,LILF, andLILY, needed for typesetting musical elements. Currently, only the Emmentaler and the Aybabtu fonts fulfill these requirements.Note that only
ly:font-get-glyphand derived code (like\lookup) can access glyphs from the system fonts; text strings are handled exclusively via the Pango interface.
- Function: ly:system-stretch system amount-scm
Stretch the system vertically by the given amount. This must be called before the system is drawn (for example with
ly:system-print).
- Function: ly:text-dimension font text
Given the font metric in font and the string text, compute the extents of that text in that font. The return value is a pair of number-pairs.
- Function: ly:text-interface::interpret-markup
Convert a text markup into a stencil. Takes three arguments, layout, props, and markup.
layout is a
\layoutblock; it may be obtained from a grob withly:grob-layout. props is 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.
- Function: ly:translator-name trans
Return the type name of the translator object trans. The name is a symbol.
- Function: ly:ttf->pfa ttf-file-name idx
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.
- Function: ly:ttf-ps-name ttf-file-name idx
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.
- Function: ly:warning str rest
A Scheme callable function to issue the warning
str. The message is formatted withformatandrest.
| [ << Scheme functions ] | [Top][Contents][Index][ ? ] | [ >> ] | ||
| [ < Scheme functions ] | [ Up : Top ] | [ > ] | ||
A. Indices
| [ << Indices ] | [Top][Contents][Index][ ? ] | [ >> ] | ||
| [ < Indices ] | [ Up : Indices ] | [ > ] | ||
A.1 Concept index
| [ << Indices ] | [Top][Contents][Index][ ? ] | [ >> ] | ||
| [ < ] | [ Up : Indices ] | [ > ] | ||
A.2 Function index
| Jump to: | D L |
|---|
| Jump to: | D L |
|---|
| [Top][Contents][Index][ ? ] |
Table of Contents
- 1. Music definitions
- 1.1 Music expressions
- 1.1.1 AbsoluteDynamicEvent
- 1.1.2 AnnotateOutputEvent
- 1.1.3 ApplyContext
- 1.1.4 ApplyOutputEvent
- 1.1.5 ArpeggioEvent
- 1.1.6 ArticulationEvent
- 1.1.7 AutoChangeMusic
- 1.1.8 BarCheck
- 1.1.9 BassFigureEvent
- 1.1.10 BeamEvent
- 1.1.11 BeamForbidEvent
- 1.1.12 BendAfterEvent
- 1.1.13 BreathingEvent
- 1.1.14 ClusterNoteEvent
- 1.1.15 ContextChange
- 1.1.16 ContextSpeccedMusic
- 1.1.17 CrescendoEvent
- 1.1.18 DecrescendoEvent
- 1.1.19 Event
- 1.1.20 EventChord
- 1.1.21 ExtenderEvent
- 1.1.22 FingeringEvent
- 1.1.23 GlissandoEvent
- 1.1.24 GraceMusic
- 1.1.25 HarmonicEvent
- 1.1.26 HyphenEvent
- 1.1.27 KeyChangeEvent
- 1.1.28 LabelEvent
- 1.1.29 LaissezVibrerEvent
- 1.1.30 LigatureEvent
- 1.1.31 LineBreakEvent
- 1.1.32 LyricCombineMusic
- 1.1.33 LyricEvent
- 1.1.34 MarkEvent
- 1.1.35 MultiMeasureRestEvent
- 1.1.36 MultiMeasureRestMusic
- 1.1.37 MultiMeasureTextEvent
- 1.1.38 Music
- 1.1.39 NoteEvent
- 1.1.40 NoteGroupingEvent
- 1.1.41 OverrideProperty
- 1.1.42 PageBreakEvent
- 1.1.43 PageTurnEvent
- 1.1.44 PartCombineMusic
- 1.1.45 PercentEvent
- 1.1.46 PercentRepeatedMusic
- 1.1.47 PesOrFlexaEvent
- 1.1.48 PhrasingSlurEvent
- 1.1.49 PropertySet
- 1.1.50 PropertyUnset
- 1.1.51 QuoteMusic
- 1.1.52 RelativeOctaveCheck
- 1.1.53 RelativeOctaveMusic
- 1.1.54 RepeatTieEvent
- 1.1.55 RepeatedMusic
- 1.1.56 RestEvent
- 1.1.57 RevertProperty
- 1.1.58 ScriptEvent
- 1.1.59 SequentialMusic
- 1.1.60 SimultaneousMusic
- 1.1.61 SkipEvent
- 1.1.62 SkipMusic
- 1.1.63 SlurEvent
- 1.1.64 SoloOneEvent
- 1.1.65 SoloTwoEvent
- 1.1.66 SostenutoEvent
- 1.1.67 SpacingSectionEvent
- 1.1.68 SpanEvent
- 1.1.69 StaffSpanEvent
- 1.1.70 StringNumberEvent
- 1.1.71 StrokeFingerEvent
- 1.1.72 SustainEvent
- 1.1.73 TextScriptEvent
- 1.1.74 TextSpanEvent
- 1.1.75 TieEvent
- 1.1.76 TimeScaledMusic
- 1.1.77 TransposedMusic
- 1.1.78 TremoloEvent
- 1.1.79 TremoloRepeatedMusic
- 1.1.80 TremoloSpanEvent
- 1.1.81 TrillSpanEvent
- 1.1.82 TupletSpanEvent
- 1.1.83 UnaCordaEvent
- 1.1.84 UnfoldedRepeatedMusic
- 1.1.85 UnisonoEvent
- 1.1.86 UnrelativableMusic
- 1.1.87 VoiceSeparator
- 1.1.88 VoltaRepeatedMusic
- 1.2 Music classes
- 1.2.1 StreamEvent
- 1.2.2 absolute-dynamic-event
- 1.2.3 annotate-output-event
- 1.2.4 apply-output-event
- 1.2.5 arpeggio-event
- 1.2.6 articulation-event
- 1.2.7 bass-figure-event
- 1.2.8 beam-event
- 1.2.9 beam-forbid-event
- 1.2.10 bend-after-event
- 1.2.11 break-event
- 1.2.12 breathing-event
- 1.2.13 cluster-note-event
- 1.2.14 crescendo-event
- 1.2.15 decrescendo-event
- 1.2.16 dynamic-event
- 1.2.17 extender-event
- 1.2.18 fingering-event
- 1.2.19 glissando-event
- 1.2.20 harmonic-event
- 1.2.21 hyphen-event
- 1.2.22 key-change-event
- 1.2.23 label-event
- 1.2.24 laissez-vibrer-event
- 1.2.25 layout-instruction-event
- 1.2.26 ligature-event
- 1.2.27 line-break-event
- 1.2.28 lyric-event
- 1.2.29 mark-event
- 1.2.30 melodic-event
- 1.2.31 multi-measure-rest-event
- 1.2.32 multi-measure-text-event
- 1.2.33 music-event
- 1.2.34 note-event
- 1.2.35 note-grouping-event
- 1.2.36 page-break-event
- 1.2.37 page-turn-event
- 1.2.38 part-combine-event
- 1.2.39 pedal-event
- 1.2.40 percent-event
- 1.2.41 pes-or-flexa-event
- 1.2.42 phrasing-slur-event
- 1.2.43 repeat-tie-event
- 1.2.44 rest-event
- 1.2.45 rhythmic-event
- 1.2.46 script-event
- 1.2.47 skip-event
- 1.2.48 slur-event
- 1.2.49 solo-one-event
- 1.2.50 solo-two-event
- 1.2.51 sostenuto-event
- 1.2.52 spacing-section-event
- 1.2.53 span-dynamic-event
- 1.2.54 span-event
- 1.2.55 staff-span-event
- 1.2.56 string-number-event
- 1.2.57 stroke-finger-event
- 1.2.58 sustain-event
- 1.2.59 text-script-event
- 1.2.60 text-span-event
- 1.2.61 tie-event
- 1.2.62 tremolo-event
- 1.2.63 tremolo-span-event
- 1.2.64 trill-span-event
- 1.2.65 tuplet-span-event
- 1.2.66 una-corda-event
- 1.2.67 unisono-event
- 1.3 Music properties
- 1.1 Music expressions
- 2. Translation
- 2.1 Contexts
- 2.1.1 ChoirStaff
- 2.1.2 ChordNames
- 2.1.3 CueVoice
- 2.1.4 Devnull
- 2.1.5 DrumStaff
- 2.1.6 DrumVoice
- 2.1.7 FiguredBass
- 2.1.8 FretBoards
- 2.1.9 Global
- 2.1.10 GrandStaff
- 2.1.11 GregorianTranscriptionStaff
- 2.1.12 GregorianTranscriptionVoice
- 2.1.13 Lyrics
- 2.1.14 MensuralStaff
- 2.1.15 MensuralVoice
- 2.1.16 NoteNames
- 2.1.17 PianoStaff
- 2.1.18 RhythmicStaff
- 2.1.19 Score
- 2.1.20 Staff
- 2.1.21 StaffGroup
- 2.1.22 TabStaff
- 2.1.23 TabVoice
- 2.1.24 VaticanaStaff
- 2.1.25 VaticanaVoice
- 2.1.26 Voice
- 2.2 Engravers and Performers
- 2.2.1 Accidental_engraver
- 2.2.2 Ambitus_engraver
- 2.2.3 Arpeggio_engraver
- 2.2.4 Auto_beam_engraver
- 2.2.5 Axis_group_engraver
- 2.2.6 Balloon_engraver
- 2.2.7 Bar_engraver
- 2.2.8 Bar_number_engraver
- 2.2.9 Beam_engraver
- 2.2.10 Beam_performer
- 2.2.11 Bend_engraver
- 2.2.12 Break_align_engraver
- 2.2.13 Breathing_sign_engraver
- 2.2.14 Chord_name_engraver
- 2.2.15 Chord_tremolo_engraver
- 2.2.16 Clef_engraver
- 2.2.17 Cluster_spanner_engraver
- 2.2.18 Collision_engraver
- 2.2.19 Completion_heads_engraver
- 2.2.20 Control_track_performer
- 2.2.21 Custos_engraver
- 2.2.22 Default_bar_line_engraver
- 2.2.23 Dot_column_engraver
- 2.2.24 Dots_engraver
- 2.2.25 Drum_note_performer
- 2.2.26 Drum_notes_engraver
- 2.2.27 Dynamic_align_engraver
- 2.2.28 Dynamic_engraver
- 2.2.29 Dynamic_performer
- 2.2.30 Engraver
- 2.2.31 Extender_engraver
- 2.2.32 Figured_bass_engraver
- 2.2.33 Figured_bass_position_engraver
- 2.2.34 Fingering_engraver
- 2.2.35 Font_size_engraver
- 2.2.36 Forbid_line_break_engraver
- 2.2.37 Fretboard_engraver
- 2.2.38 Glissando_engraver
- 2.2.39 Grace_beam_engraver
- 2.2.40 Grace_engraver
- 2.2.41 Grace_spacing_engraver
- 2.2.42 Grid_line_span_engraver
- 2.2.43 Grid_point_engraver
- 2.2.44 Grob_pq_engraver
- 2.2.45 Hara_kiri_engraver
- 2.2.46 Horizontal_bracket_engraver
- 2.2.47 Hyphen_engraver
- 2.2.48 Instrument_name_engraver
- 2.2.49 Instrument_switch_engraver
- 2.2.50 Key_engraver
- 2.2.51 Key_performer
- 2.2.52 Laissez_vibrer_engraver
- 2.2.53 Ledger_line_engraver
- 2.2.54 Ligature_bracket_engraver
- 2.2.55 Lyric_engraver
- 2.2.56 Lyric_performer
- 2.2.57 Mark_engraver
- 2.2.58 Measure_grouping_engraver
- 2.2.59 Melody_engraver
- 2.2.60 Mensural_ligature_engraver
- 2.2.61 Metronome_mark_engraver
- 2.2.62 Multi_measure_rest_engraver
- 2.2.63 New_dynamic_engraver
- 2.2.64 New_fingering_engraver
- 2.2.65 Note_head_line_engraver
- 2.2.66 Note_heads_engraver
- 2.2.67 Note_name_engraver
- 2.2.68 Note_performer
- 2.2.69 Note_spacing_engraver
- 2.2.70 Note_swallow_translator
- 2.2.71 Ottava_spanner_engraver
- 2.2.72 Output_property_engraver
- 2.2.73 Page_turn_engraver
- 2.2.74 Paper_column_engraver
- 2.2.75 Parenthesis_engraver
- 2.2.76 Part_combine_engraver
- 2.2.77 Percent_repeat_engraver
- 2.2.78 Phrasing_slur_engraver
- 2.2.79 Piano_pedal_align_engraver
- 2.2.80 Piano_pedal_engraver
- 2.2.81 Piano_pedal_performer
- 2.2.82 Pitch_squash_engraver
- 2.2.83 Pitched_trill_engraver
- 2.2.84 Repeat_acknowledge_engraver
- 2.2.85 Repeat_tie_engraver
- 2.2.86 Rest_collision_engraver
- 2.2.87 Rest_engraver
- 2.2.88 Rest_swallow_translator
- 2.2.89 Rhythmic_column_engraver
- 2.2.90 Script_column_engraver
- 2.2.91 Script_engraver
- 2.2.92 Script_row_engraver
- 2.2.93 Separating_line_group_engraver
- 2.2.94 Skip_event_swallow_translator
- 2.2.95 Slash_repeat_engraver
- 2.2.96 Slur_engraver
- 2.2.97 Slur_performer
- 2.2.98 Spacing_engraver
- 2.2.99 Span_arpeggio_engraver
- 2.2.100 Span_bar_engraver
- 2.2.101 Spanner_break_forbid_engraver
- 2.2.102 Staff_collecting_engraver
- 2.2.103 Staff_performer
- 2.2.104 Staff_symbol_engraver
- 2.2.105 Stanza_number_align_engraver
- 2.2.106 Stanza_number_engraver
- 2.2.107 Stem_engraver
- 2.2.108 String_number_engraver
- 2.2.109 Swallow_engraver
- 2.2.110 Swallow_performer
- 2.2.111 System_start_delimiter_engraver
- 2.2.112 Tab_harmonic_engraver
- 2.2.113 Tab_note_heads_engraver
- 2.2.114 Tab_staff_symbol_engraver
- 2.2.115 Tempo_performer
- 2.2.116 Text_engraver
- 2.2.117 Text_spanner_engraver
- 2.2.118 Tie_engraver
- 2.2.119 Tie_performer
- 2.2.120 Time_signature_engraver
- 2.2.121 Time_signature_performer
- 2.2.122 Timing_translator
- 2.2.123 Translator
- 2.2.124 Trill_spanner_engraver
- 2.2.125 Tuplet_engraver
- 2.2.126 Tweak_engraver
- 2.2.127 Vaticana_ligature_engraver
- 2.2.128 Vertical_align_engraver
- 2.2.129 Vertically_spaced_contexts_engraver
- 2.2.130 Volta_engraver
- 2.3 Tunable context properties
- 2.4 Internal context properties
- 2.1 Contexts
- 3. Backend
- 3.1 All layout objects
- 3.1.1 Accidental
- 3.1.2 AccidentalCautionary
- 3.1.3 AccidentalPlacement
- 3.1.4 AccidentalSuggestion
- 3.1.5 Ambitus
- 3.1.6 AmbitusAccidental
- 3.1.7 AmbitusLine
- 3.1.8 AmbitusNoteHead
- 3.1.9 Arpeggio
- 3.1.10 BalloonTextItem
- 3.1.11 BarLine
- 3.1.12 BarNumber
- 3.1.13 BassFigure
- 3.1.14 BassFigureAlignment
- 3.1.15 BassFigureAlignmentPositioning
- 3.1.16 BassFigureBracket
- 3.1.17 BassFigureContinuation
- 3.1.18 BassFigureLine
- 3.1.19 Beam
- 3.1.20 BendAfter
- 3.1.21 BreakAlignGroup
- 3.1.22 BreakAlignment
- 3.1.23 BreathingSign
- 3.1.24 ChordName
- 3.1.25 Clef
- 3.1.26 ClusterSpanner
- 3.1.27 ClusterSpannerBeacon
- 3.1.28 CombineTextScript
- 3.1.29 Custos
- 3.1.30 DotColumn
- 3.1.31 Dots
- 3.1.32 DoublePercentRepeat
- 3.1.33 DoublePercentRepeatCounter
- 3.1.34 DynamicLineSpanner
- 3.1.35 DynamicText
- 3.1.36 DynamicTextSpanner
- 3.1.37 Fingering
- 3.1.38 FretBoard
- 3.1.39 Glissando
- 3.1.40 GraceSpacing
- 3.1.41 GridLine
- 3.1.42 GridPoint
- 3.1.43 Hairpin
- 3.1.44 HarmonicParenthesesItem
- 3.1.45 HorizontalBracket
- 3.1.46 InstrumentName
- 3.1.47 InstrumentSwitch
- 3.1.48 KeyCancellation
- 3.1.49 KeySignature
- 3.1.50 LaissezVibrerTie
- 3.1.51 LaissezVibrerTieColumn
- 3.1.52 LedgerLineSpanner
- 3.1.53 LeftEdge
- 3.1.54 LigatureBracket
- 3.1.55 LyricExtender
- 3.1.56 LyricHyphen
- 3.1.57 LyricSpace
- 3.1.58 LyricText
- 3.1.59 MeasureGrouping
- 3.1.60 MelodyItem
- 3.1.61 MensuralLigature
- 3.1.62 MetronomeMark
- 3.1.63 MultiMeasureRest
- 3.1.64 MultiMeasureRestNumber
- 3.1.65 MultiMeasureRestText
- 3.1.66 NonMusicalPaperColumn
- 3.1.67 NoteCollision
- 3.1.68 NoteColumn
- 3.1.69 NoteHead
- 3.1.70 NoteName
- 3.1.71 NoteSpacing
- 3.1.72 OctavateEight
- 3.1.73 OttavaBracket
- 3.1.74 PaperColumn
- 3.1.75 ParenthesesItem
- 3.1.76 PercentRepeat
- 3.1.77 PercentRepeatCounter
- 3.1.78 PhrasingSlur
- 3.1.79 PianoPedalBracket
- 3.1.80 RehearsalMark
- 3.1.81 RepeatSlash
- 3.1.82 RepeatTie
- 3.1.83 RepeatTieColumn
- 3.1.84 Rest
- 3.1.85 RestCollision
- 3.1.86 Script
- 3.1.87 ScriptColumn
- 3.1.88 ScriptRow
- 3.1.89 SeparationItem
- 3.1.90 Slur
- 3.1.91 SostenutoPedal
- 3.1.92 SostenutoPedalLineSpanner
- 3.1.93 SpacingSpanner
- 3.1.94 SpanBar
- 3.1.95 StaffSpacing
- 3.1.96 StaffSymbol
- 3.1.97 StanzaNumber
- 3.1.98 Stem
- 3.1.99 StemTremolo
- 3.1.100 StringNumber
- 3.1.101 StrokeFinger
- 3.1.102 SustainPedal
- 3.1.103 SustainPedalLineSpanner
- 3.1.104 System
- 3.1.105 SystemStartBar
- 3.1.106 SystemStartBrace
- 3.1.107 SystemStartBracket
- 3.1.108 SystemStartSquare
- 3.1.109 TabNoteHead
- 3.1.110 TextScript
- 3.1.111 TextSpanner
- 3.1.112 Tie
- 3.1.113 TieColumn
- 3.1.114 TimeSignature
- 3.1.115 TrillPitchAccidental
- 3.1.116 TrillPitchGroup
- 3.1.117 TrillPitchHead
- 3.1.118 TrillSpanner
- 3.1.119 TupletBracket
- 3.1.120 TupletNumber
- 3.1.121 UnaCordaPedal
- 3.1.122 UnaCordaPedalLineSpanner
- 3.1.123 VaticanaLigature
- 3.1.124 VerticalAlignment
- 3.1.125 VerticalAxisGroup
- 3.1.126 VoiceFollower
- 3.1.127 VoltaBracket
- 3.1.128 VoltaBracketSpanner
- 3.2 Graphical Object Interfaces
- 3.2.1 accidental-interface
- 3.2.2 accidental-placement-interface
- 3.2.3 accidental-suggestion-interface
- 3.2.4 align-interface
- 3.2.5 ambitus-interface
- 3.2.6 arpeggio-interface
- 3.2.7 axis-group-interface
- 3.2.8 balloon-interface
- 3.2.9 bar-line-interface
- 3.2.10 bass-figure-alignment-interface
- 3.2.11 bass-figure-interface
- 3.2.12 beam-interface
- 3.2.13 bend-after-interface
- 3.2.14 break-alignable-interface
- 3.2.15 break-aligned-interface
- 3.2.16 break-alignment-interface
- 3.2.17 breathing-sign-interface
- 3.2.18 chord-name-interface
- 3.2.19 clef-interface
- 3.2.20 cluster-beacon-interface
- 3.2.21 cluster-interface
- 3.2.22 custos-interface
- 3.2.23 dot-column-interface
- 3.2.24 dots-interface
- 3.2.25 dynamic-interface
- 3.2.26 dynamic-line-spanner-interface
- 3.2.27 dynamic-text-spanner-interface
- 3.2.28 enclosing-bracket-interface
- 3.2.29 figured-bass-continuation-interface
- 3.2.30 finger-interface
- 3.2.31 font-interface
- 3.2.32 fret-diagram-interface
- 3.2.33 grace-spacing-interface
- 3.2.34 gregorian-ligature-interface
- 3.2.35 grid-line-interface
- 3.2.36 grid-point-interface
- 3.2.37 grob-interface
- 3.2.38 hairpin-interface
- 3.2.39 hara-kiri-group-spanner-interface
- 3.2.40 horizontal-bracket-interface
- 3.2.41 instrument-specific-markup-interface
- 3.2.42 item-interface
- 3.2.43 key-cancellation-interface
- 3.2.44 key-signature-interface
- 3.2.45 ledger-line-spanner-interface
- 3.2.46 ledgered-interface
- 3.2.47 ligature-bracket-interface
- 3.2.48 ligature-interface
- 3.2.49 line-interface
- 3.2.50 line-spanner-interface
- 3.2.51 lyric-extender-interface
- 3.2.52 lyric-hyphen-interface
- 3.2.53 lyric-interface
- 3.2.54 lyric-syllable-interface
- 3.2.55 mark-interface
- 3.2.56 measure-grouping-interface
- 3.2.57 melody-spanner-interface
- 3.2.58 mensural-ligature-interface
- 3.2.59 metronome-mark-interface
- 3.2.60 multi-measure-interface
- 3.2.61 multi-measure-rest-interface
- 3.2.62 note-collision-interface
- 3.2.63 note-column-interface
- 3.2.64 note-head-interface
- 3.2.65 note-name-interface
- 3.2.66 note-spacing-interface
- 3.2.67 only-prebreak-interface
- 3.2.68 ottava-bracket-interface
- 3.2.69 paper-column-interface
- 3.2.70 parentheses-interface
- 3.2.71 percent-repeat-interface
- 3.2.72 percent-repeat-item-interface
- 3.2.73 piano-pedal-bracket-interface
- 3.2.74 piano-pedal-interface
- 3.2.75 piano-pedal-script-interface
- 3.2.76 pitched-trill-interface
- 3.2.77 rest-collision-interface
- 3.2.78 rest-interface
- 3.2.79 rhythmic-grob-interface
- 3.2.80 rhythmic-head-interface
- 3.2.81 script-column-interface
- 3.2.82 script-interface
- 3.2.83 self-alignment-interface
- 3.2.84 semi-tie-column-interface
- 3.2.85 semi-tie-interface
- 3.2.86 separation-item-interface
- 3.2.87 side-position-interface
- 3.2.88 slur-interface
- 3.2.89 spaceable-grob-interface
- 3.2.90 spacing-interface
- 3.2.91 spacing-options-interface
- 3.2.92 spacing-spanner-interface
- 3.2.93 span-bar-interface
- 3.2.94 spanner-interface
- 3.2.95 staff-spacing-interface
- 3.2.96 staff-symbol-interface
- 3.2.97 staff-symbol-referencer-interface
- 3.2.98 stanza-number-interface
- 3.2.99 stem-interface
- 3.2.100 stem-tremolo-interface
- 3.2.101 string-number-interface
- 3.2.102 stroke-finger-interface
- 3.2.103 system-interface
- 3.2.104 system-start-delimiter-interface
- 3.2.105 system-start-text-interface
- 3.2.106 tablature-interface
- 3.2.107 text-interface
- 3.2.108 text-script-interface
- 3.2.109 tie-column-interface
- 3.2.110 tie-interface
- 3.2.111 time-signature-interface
- 3.2.112 trill-pitch-accidental-interface
- 3.2.113 trill-spanner-interface
- 3.2.114 tuplet-bracket-interface
- 3.2.115 tuplet-number-interface
- 3.2.116 unbreakable-spanner-interface
- 3.2.117 vaticana-ligature-interface
- 3.2.118 vertically-spaceable-interface
- 3.2.119 volta-bracket-interface
- 3.3 User backend properties
- 3.4 Internal backend properties
- 3.1 All layout objects
- 4. Scheme functions
- A. Indices
| [Top][Contents][Index][ ? ] |
About This Document
This document was generated by Graham Percival on December 15, 2009 using texi2html 1.82.
The buttons in the navigation panels have the following meaning:
| Button | Name | Go to | From 1.2.3 go to |
|---|---|---|---|
| [] | |||
| [ << ] | FastBack | Beginning of this chapter or previous chapter | 1 |
| [] | |||
| [Top] | Top | Cover (top) of document | |
| [Contents] | Contents | Table of contents | |
| [Index] | Index | Index | |
| [ ? ] | About | About (help) | |
| [] | |||
| [ >> ] | FastForward | Next chapter | 2 |
| [] | |||
| [] | |||
| [ < ] | Back | Previous section in reading order | 1.2.2 |
| [] | |||
| [ Up ] | Up | Up section | 1.2 |
| [] | |||
| [ > ] | Forward | Next section in reading order | 1.2.4 |
where the Example assumes that the current position is at Subsubsection One-Two-Three of a document of the following structure:
- 1. Section One
- 1.1 Subsection One-One
- ...
- 1.2 Subsection One-Two
- 1.2.1 Subsubsection One-Two-One
- 1.2.2 Subsubsection One-Two-Two
- 1.2.3 Subsubsection One-Two-Three <== Current Position
- 1.2.4 Subsubsection One-Two-Four
- 1.3 Subsection One-Three
- ...
- 1.4 Subsection One-Four
- 1.1 Subsection One-One