| [Top][Contents][Index] |
LilyPond – Internals Reference ¶
|
This manual is a technical reference for all internal elements used by LilyPond version 2.27.1 and all Scheme functions it provides. This information can be used to create tweaks and extensions, from simple output settings to advanced Scheme programming. |
|
For more information about how this manual fits with the other documentation, or to read this manual in other formats, see Manuals. If you are missing any manuals, the complete documentation can be found at https://lilypond.org/. |
This document is also available as a PDF and as a HTML indexed multiple pages.
| 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 | Functions exported by LilyPond. | |
| Appendix 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 ] | [ AdHocJumpEvent > ] |
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 and Dynamic_performer.
Properties:
name(symbol):
'AbsoluteDynamicEventName of this music object.
types(list): '(post-event event dynamic-event absolute-dynamic-event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < AbsoluteDynamicEvent ] | [ Up: Music expressions ] | [ AdHocMarkEvent > ] |
1.1.2 AdHocJumpEvent ¶
Insert a JumpScript.
Syntax: \jump markup
Example: \jump "Gavotte I D.C."
Event classes:
ad-hoc-jump-event, music-event and StreamEvent.
Accepted by: Bar_engraver and Jump_engraver.
Properties:
name(symbol):
'AdHocJumpEventName of this music object.
types(list): '(ad-hoc-jump-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < AdHocJumpEvent ] | [ Up: Music expressions ] | [ AlternativeEvent > ] |
1.1.3 AdHocMarkEvent ¶
Insert markup as a rehearsal mark without advancing the rehearsal mark sequence.
Syntax: \mark markup
Example: \mark "A"
Event classes:
ad-hoc-mark-event, mark-event, music-event and StreamEvent.
Accepted by: Mark_tracking_translator.
Properties:
name(symbol):
'AdHocMarkEventName of this music object.
types(list): '(ad-hoc-mark-event mark-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < AdHocMarkEvent ] | [ Up: Music expressions ] | [ AnnotateOutputEvent > ] |
1.1.4 AlternativeEvent ¶
Create an alternative event.
Event classes:
alternative-event, music-event, StreamEvent and structural-event.
Accepted by: Timing_translator.
Properties:
name(symbol):
'AlternativeEventName of this music object.
types(list): '(alternative-event structural-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < AlternativeEvent ] | [ Up: Music expressions ] | [ ApplyContext > ] |
1.1.5 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): '(event annotate-output-event post-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.6 ApplyContext ¶
Call the argument with the current context during interpreting phase.
Properties:
iterator-ctor(procedure):
ly:apply-context-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.name(symbol):
'ApplyContextName of this music object.
types(list): '(apply-context)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < ApplyContext ] | [ Up: Music expressions ] | [ ArpeggioEvent > ] |
1.1.7 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: Apply_output_engraver.
Properties:
name(symbol):
'ApplyOutputEventName of this music object.
types(list): '(event apply-output-event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < ApplyOutputEvent ] | [ Up: Music expressions ] | [ ArticulationEvent > ] |
1.1.8 ArpeggioEvent ¶
Arpeggiate this chord.
Syntax: note-\arpeggio
Event classes:
arpeggio-event, music-event and StreamEvent.
Accepted by: Arpeggio_engraver.
Properties:
name(symbol):
'ArpeggioEventName of this music object.
types(list): '(post-event arpeggio-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < ArpeggioEvent ] | [ Up: Music expressions ] | [ BarCheckEvent > ] |
1.1.9 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, music-event, script-event and StreamEvent.
Accepted by: Beat_engraver, Beat_performer, Drum_note_performer, Note_performer, Script_engraver and Toe_heel_engraver.
Properties:
name(symbol):
'ArticulationEventName of this music object.
types(list): '(post-event event articulation-event script-event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < ArticulationEvent ] | [ Up: Music expressions ] | [ BarEvent > ] |
1.1.10 BarCheckEvent ¶
Check whether this music coincides with the start of the measure.
Event classes:
bar-check-event, music-event and StreamEvent.
Accepted by: Timing_translator.
Properties:
name(symbol):
'BarCheckEventName of this music object.
types(list): '(bar-check-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < BarCheckEvent ] | [ Up: Music expressions ] | [ BassFigureEvent > ] |
1.1.11 BarEvent ¶
Force a bar line.
Syntax: \bar type
Example: \bar "!"
Event classes:
bar-event, music-event and StreamEvent.
Accepted by: Timing_translator.
Properties:
name(symbol):
'BarEventName of this music object.
types(list): '(bar-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < BarEvent ] | [ Up: Music expressions ] | [ BeamBreakEvent > ] |
1.1.12 BassFigureEvent ¶
Print a bass-figure text.
Event classes:
bass-figure-event, music-event, rhythmic-event and StreamEvent.
Accepted by: Figured_bass_engraver.
Properties:
name(symbol):
'BassFigureEventName of this music object.
types(list): '(event rhythmic-event bass-figure-event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < BassFigureEvent ] | [ Up: Music expressions ] | [ BeamEvent > ] |
1.1.13 BeamBreakEvent ¶
Manual control over whether to connect or disconnect auto-beam groups.
Event classes:
beam-break-event, music-event and StreamEvent.
Accepted by: Auto_beam_engraver and Grace_auto_beam_engraver.
Properties:
name(symbol):
'BeamBreakEventName of this music object.
types(list): '(event beam-break-event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < BeamBreakEvent ] | [ Up: Music expressions ] | [ BeamForbidEvent > ] |
1.1.14 BeamEvent ¶
Start or stop a beam.
Syntax for manual control: c8-[ c c-] c8
Event classes:
beam-event, music-event, span-event and StreamEvent.
Accepted by: Beam_engraver, Beam_performer and Grace_beam_engraver.
Properties:
name(symbol):
'BeamEventName of this music object.
types(list): '(post-event event beam-event span-event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < BeamEvent ] | [ Up: Music expressions ] | [ BendAfterEvent > ] |
1.1.15 BeamForbidEvent ¶
Specify that a note must not be auto-beamed.
Event classes:
beam-forbid-event, music-event and StreamEvent.
Accepted by: Auto_beam_engraver and Grace_auto_beam_engraver.
Properties:
name(symbol):
'BeamForbidEventName of this music object.
types(list): '(post-event event beam-forbid-event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < BeamForbidEvent ] | [ Up: Music expressions ] | [ BendSpanEvent > ] |
1.1.16 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): '(post-event 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 ] | [ BreakDynamicSpanEvent > ] |
1.1.17 BendSpanEvent ¶
Used to signal where a bend spanner starts and stops.
Event classes:
bend-span-event, music-event, span-event and StreamEvent.
Accepted by: Bend_spanner_engraver.
Properties:
name(symbol):
'BendSpanEventName of this music object.
types(list): '(bend-span-event post-event span-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < BendSpanEvent ] | [ Up: Music expressions ] | [ BreathingEvent > ] |
1.1.18 BreakDynamicSpanEvent ¶
End an alignment spanner for dynamics here.
Event classes:
break-dynamic-span-event, break-span-event, music-event and StreamEvent.
Accepted by: Dynamic_engraver.
Properties:
name(symbol):
'BreakDynamicSpanEventName of this music object.
types(list): '(post-event break-span-event break-dynamic-span-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < BreakDynamicSpanEvent ] | [ Up: Music expressions ] | [ CaesuraEvent > ] |
1.1.19 BreathingEvent ¶
A short span of silence that shortens the previous note.
Syntax: note\breathe
Event classes:
breathing-event, music-event and StreamEvent.
Accepted by: Breathing_sign_engraver and Note_performer.
Properties:
midi-length(procedure):
breathe::midi-lengthFunction to determine how long to play a note in MIDI. It should take a moment (the written length of the note) and a context, and return a moment (the length to play the note).
name(symbol):
'BreathingEventName of this music object.
types(list): '(event breathing-event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < BreathingEvent ] | [ Up: Music expressions ] | [ ChordSlurEvent > ] |
1.1.20 CaesuraEvent ¶
A short span of silence that does not shorten the previous note.
Syntax: note\caesura
Event classes:
caesura-event, music-event and StreamEvent.
Accepted by: Bar_engraver, Caesura_engraver and Divisio_engraver.
Properties:
name(symbol):
'CaesuraEventName of this music object.
types(list): '(caesura-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < CaesuraEvent ] | [ Up: Music expressions ] | [ ClusterNoteEvent > ] |
1.1.21 ChordSlurEvent ¶
Do not arpeggiate this chord. This is similar to
See NonArpeggiatoEvent with the acknowledgment that performing all notes
simultaneously might be impossible.
Syntax: note-\chordSlur
Event classes:
chord-slur-event, music-event and StreamEvent.
Accepted by: Arpeggio_engraver.
Properties:
name(symbol):
'ChordSlurEventName of this music object.
types(list): '(post-event chord-slur-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < ChordSlurEvent ] | [ Up: Music expressions ] | [ CodaMarkEvent > ] |
1.1.22 ClusterNoteEvent ¶
A note that is part of a cluster.
Event classes:
cluster-note-event, melodic-event, music-event, rhythmic-event and StreamEvent.
Accepted by: Cluster_spanner_engraver.
Properties:
iterator-ctor(procedure):
ly:rhythmic-music-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.name(symbol):
'ClusterNoteEventName of this music object.
types(list): '(cluster-note-event melodic-event rhythmic-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < ClusterNoteEvent ] | [ Up: Music expressions ] | [ CompletizeExtenderEvent > ] |
1.1.23 CodaMarkEvent ¶
Add a coda mark.
Event classes:
coda-mark-event, music-event, StreamEvent and structural-event.
Accepted by: Bar_engraver and Mark_tracking_translator.
Properties:
name(symbol):
'CodaMarkEventName of this music object.
types(list): '(coda-mark-event structural-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < CodaMarkEvent ] | [ Up: Music expressions ] | [ ContextChange > ] |
1.1.24 CompletizeExtenderEvent ¶
Used internally to signal the end of a lyrics block to
ensure extenders are completed correctly when a Lyrics context ends
before its associated Voice context.
Event classes:
completize-extender-event, music-event and StreamEvent.
Accepted by: Extender_engraver.
Properties:
name(symbol):
'CompletizeExtenderEventName of this music object.
types(list): '(completize-extender-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < CompletizeExtenderEvent ] | [ Up: Music expressions ] | [ ContextSpeccedMusic > ] |
1.1.25 ContextChange ¶
Change staves in Piano staff.
Syntax: \change Staff = new-id
Properties:
iterator-ctor(procedure):
ly:change-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.name(symbol):
'ContextChangeName of this music object.
types(list): '(translator-change-instruction)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < ContextChange ] | [ Up: Music expressions ] | [ CrescendoEvent > ] |
1.1.26 ContextSpeccedMusic ¶
Interpret the argument music within a specific context.
Properties:
iterator-ctor(procedure):
ly:context-specced-music-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.length-callback(procedure):
ly:music-wrapper::length-callbackHow to compute the duration of this music. This property can only be defined as initializer in scm/define-music-types.scm.
name(symbol):
'ContextSpeccedMusicName of this music object.
start-callback(procedure):
ly:music-wrapper::start-callbackFunction to compute the negative length of starting grace notes. This property can only be defined as initializer in scm/define-music-types.scm.
types(list): '(context-specification music-wrapper-music)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < ContextSpeccedMusic ] | [ Up: Music expressions ] | [ DalSegnoEvent > ] |
1.1.27 CrescendoEvent ¶
Begin or end a crescendo.
Syntax: note\< … note\!
An alternative syntax is note\cr …
note\endcr.
Event classes:
crescendo-event, music-event, span-dynamic-event, span-event and StreamEvent.
Accepted by: Dynamic_engraver and Dynamic_performer.
Properties:
name(symbol):
'CrescendoEventName of this music object.
types(list): '(post-event span-event span-dynamic-event crescendo-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < CrescendoEvent ] | [ Up: Music expressions ] | [ DecrescendoEvent > ] |
1.1.28 DalSegnoEvent ¶
Add a D.S. or similar instruction.
Event classes:
dal-segno-event, music-event, StreamEvent and structural-event.
Accepted by: Bar_engraver, Jump_engraver and Volta_engraver.
Properties:
name(symbol):
'DalSegnoEventName of this music object.
types(list): '(dal-segno-event structural-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < DalSegnoEvent ] | [ Up: Music expressions ] | [ DoublePercentEvent > ] |
1.1.29 DecrescendoEvent ¶
Begin or end a decrescendo.
Syntax: note\> … note\!
An alternative syntax is note\decr …
note\enddecr.
Event classes:
decrescendo-event, music-event, span-dynamic-event, span-event and StreamEvent.
Accepted by: Dynamic_engraver and Dynamic_performer.
Properties:
name(symbol):
'DecrescendoEventName of this music object.
types(list): '(post-event span-event span-dynamic-event decrescendo-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < DecrescendoEvent ] | [ Up: Music expressions ] | [ DurationLineEvent > ] |
1.1.30 DoublePercentEvent ¶
Used internally to signal double percent repeats.
Event classes:
double-percent-event, music-event, rhythmic-event and StreamEvent.
Accepted by: Double_percent_repeat_engraver.
Properties:
name(symbol):
'DoublePercentEventName of this music object.
types(list): '(event double-percent-event rhythmic-event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < DoublePercentEvent ] | [ Up: Music expressions ] | [ EpisemaEvent > ] |
1.1.31 DurationLineEvent ¶
Initiate a duration line.
Syntax: note\-
Event classes:
duration-line-event, music-event and StreamEvent.
Accepted by: Duration_line_engraver.
Properties:
name(symbol):
'DurationLineEventName of this music object.
types(list): '(duration-line-event post-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < DurationLineEvent ] | [ Up: Music expressions ] | [ Event > ] |
1.1.32 EpisemaEvent ¶
Begin or end an episema.
Event classes:
episema-event, music-event, span-event and StreamEvent.
Accepted by: Episema_engraver.
Properties:
name(symbol):
'EpisemaEventName of this music object.
types(list): '(post-event span-event event episema-event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < EpisemaEvent ] | [ Up: Music expressions ] | [ EventChord > ] |
1.1.33 Event ¶
Unspecified music event.
Properties:
name(symbol):
'EventName of this music object.
types(list): '(event)The types of this music object; determines by what engraver this music expression is processed.
void(boolean):
#tIf this property is
#t, then the music expression is to be discarded by the top-level music handler.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < Event ] | [ Up: Music expressions ] | [ ExtenderEvent > ] |
1.1.34 EventChord ¶
Explicitly entered chords.
When iterated, elements are converted to events at the current
timestep, followed by any articulations. Per-chord postevents
attached by the parser just follow any rhythmic events in
elements instead of utilizing articulations.
An unexpanded chord repetition ‘q’ is recognizable by having its
duration stored in duration.
Properties:
iterator-ctor(procedure):
ly:event-chord-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.length-callback(procedure):
ly:music-sequence::event-chord-length-callbackHow to compute the duration of this music. This property can only be defined as initializer in scm/define-music-types.scm.
name(symbol):
'EventChordName of this music object.
to-relative-callback(procedure):
ly:music-sequence::event-chord-relative-callbackHow to transform a piece of music to relative pitches.
types(list): '(event-chord)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 ] | [ FineEvent > ] |
1.1.35 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): '(post-event 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 ] | [ FingerGlideEvent > ] |
1.1.36 FineEvent ¶
End the performance, not necessarily at the written end of the music.
Event classes:
fine-event, music-event, StreamEvent and structural-event.
Accepted by: Bar_engraver, Divisio_engraver, Jump_engraver, Timing_translator and Volta_engraver.
Properties:
iterator-ctor(procedure):
ly:fine-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.name(symbol):
'FineEventName of this music object.
types(list): '(fine-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < FineEvent ] | [ Up: Music expressions ] | [ FingeringEvent > ] |
1.1.37 FingerGlideEvent ¶
Initiate a line connecting two equal fingerings. This line represents a finger gliding on a string.
Syntax: note\glide-finger
Event classes:
finger-glide-event, music-event, span-event and StreamEvent.
Not accepted by any engraver or performer.
Properties:
name(symbol):
'FingerGlideEventName of this music object.
types(list): '(finger-glide-event post-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < FingerGlideEvent ] | [ Up: Music expressions ] | [ FootnoteEvent > ] |
1.1.38 FingeringEvent ¶
Specify what finger to use for this note.
Event classes:
fingering-event, music-event and StreamEvent.
Accepted by: Fingering_engraver, Fretboard_engraver and Tab_note_heads_engraver.
Properties:
name(symbol):
'FingeringEventName of this music object.
types(list): '(post-event fingering-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < FingeringEvent ] | [ Up: Music expressions ] | [ GlissandoEvent > ] |
1.1.39 FootnoteEvent ¶
Footnote a grob.
Event classes:
footnote-event, music-event and StreamEvent.
Not accepted by any engraver or performer.
Properties:
name(symbol):
'FootnoteEventName of this music object.
types(list): '(event footnote-event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < FootnoteEvent ] | [ Up: Music expressions ] | [ GraceMusic > ] |
1.1.40 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): '(post-event 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.41 GraceMusic ¶
Interpret the argument as grace notes.
Properties:
iterator-ctor(procedure):
ly:grace-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.length(moment):
#<Mom 0>The endpoint of this music. This property is unhappily named in that it does not account for any initial grace notes: the full length of the music is
lengthminus the start time. A value ofINF-MOMENTindicates indefinite length.name(symbol):
'GraceMusicName of this music object.
start-callback(procedure):
ly:grace-music::start-callbackFunction to compute the negative length of starting grace notes. This property can only be defined as initializer in scm/define-music-types.scm.
types(list): '(grace-music music-wrapper-music)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < GraceMusic ] | [ Up: Music expressions ] | [ HyphenEvent > ] |
1.1.42 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): '(post-event 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 ] | [ InitialContextMusic > ] |
1.1.43 HyphenEvent ¶
A hyphen between lyric syllables.
Event classes:
hyphen-event, music-event and StreamEvent.
Accepted by: Extender_engraver and Hyphen_engraver.
Properties:
name(symbol):
'HyphenEventName of this music object.
types(list): '(post-event hyphen-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < HyphenEvent ] | [ Up: Music expressions ] | [ KeyChangeEvent > ] |
1.1.44 InitialContextMusic ¶
Enter the initial context of the argument and ignore the rest of it.
Syntax: \initialContextFrom music
Properties:
iterator-ctor(procedure):
ly:initial-context-music-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.length(moment):
#<Mom 0>The endpoint of this music. This property is unhappily named in that it does not account for any initial grace notes: the full length of the music is
lengthminus the start time. A value ofINF-MOMENTindicates indefinite length.name(symbol):
'InitialContextMusicName of this music object.
to-relative-callback(procedure):
ly:relative-octave-music::no-relative-callbackHow to transform a piece of music to relative pitches.
types(list): '(initial-context-music)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < InitialContextMusic ] | [ Up: Music expressions ] | [ LabelEvent > ] |
1.1.45 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 at lily/define-music-types.scm:352:33 (x p)>How to transform a piece of music to relative pitches.
types(list): '(key-change-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < KeyChangeEvent ] | [ Up: Music expressions ] | [ LaissezVibrerEvent > ] |
1.1.46 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): '(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.47 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): '(post-event 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.48 LigatureEvent ¶
Start or end a ligature.
Event classes:
ligature-event, music-event, span-event and StreamEvent.
Accepted by: Kievan_ligature_engraver, Ligature_bracket_engraver, Mensural_ligature_engraver and Vaticana_ligature_engraver.
Properties:
name(symbol):
'LigatureEventName of this music object.
types(list): '(span-event ligature-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < LigatureEvent ] | [ Up: Music expressions ] | [ LyricCombineMusic > ] |
1.1.49 LineBreakEvent ¶
Allow, forbid or force a line break.
Event classes:
break-event, line-break-event, music-event and StreamEvent.
Accepted by: Page_turn_engraver and Paper_column_engraver.
Properties:
name(symbol):
'LineBreakEventName of this music object.
types(list): '(line-break-event break-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < LineBreakEvent ] | [ Up: Music expressions ] | [ LyricEvent > ] |
1.1.50 LyricCombineMusic ¶
Align lyrics to the start of notes.
Syntax: \lyricsto voicename lyrics
Properties:
iterator-ctor(procedure):
ly:lyric-combine-music-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.length(moment):
#<Mom infinity>The endpoint of this music. This property is unhappily named in that it does not account for any initial grace notes: the full length of the music is
lengthminus the start time. A value ofINF-MOMENTindicates indefinite length.name(symbol):
'LyricCombineMusicName of this music object.
types(list): '(lyric-combine-music)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < LyricCombineMusic ] | [ Up: Music expressions ] | [ MeasureCounterEvent > ] |
1.1.51 LyricEvent ¶
A lyric syllable. Must be entered in lyrics mode,
i.e., \lyrics { twinkle4 twinkle4 } .
Event classes:
lyric-event, music-event, rhythmic-event and StreamEvent.
Accepted by: Extender_engraver, Lyric_engraver and Lyric_performer.
Properties:
iterator-ctor(procedure):
ly:rhythmic-music-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.name(symbol):
'LyricEventName of this music object.
types(list): '(rhythmic-event lyric-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < LyricEvent ] | [ Up: Music expressions ] | [ MeasureSpannerEvent > ] |
1.1.52 MeasureCounterEvent ¶
Used to signal the start and end of a measure count.
Event classes:
measure-counter-event, music-event, span-event and StreamEvent.
Accepted by: Measure_counter_engraver.
Properties:
name(symbol):
'MeasureCounterEventName of this music object.
types(list): '(measure-counter-event span-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < MeasureCounterEvent ] | [ Up: Music expressions ] | [ MultiMeasureArticulationEvent > ] |
1.1.53 MeasureSpannerEvent ¶
Used to signal the start and end of a measure spanner.
Event classes:
measure-spanner-event, music-event, span-event and StreamEvent.
Accepted by: Measure_spanner_engraver.
Properties:
name(symbol):
'MeasureSpannerEventName of this music object.
types(list): '(measure-spanner-event span-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < MeasureSpannerEvent ] | [ Up: Music expressions ] | [ MultiMeasureRestEvent > ] |
1.1.54 MultiMeasureArticulationEvent ¶
Articulations on multi-measure rests.
Event classes:
multi-measure-articulation-event, music-event and StreamEvent.
Accepted by: Multi_measure_rest_engraver.
Properties:
name(symbol):
'MultiMeasureArticulationEventName of this music object.
types(list): '(post-event event multi-measure-articulation-event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < MultiMeasureArticulationEvent ] | [ Up: Music expressions ] | [ MultiMeasureRestMusic > ] |
1.1.55 MultiMeasureRestEvent ¶
Used internally by MultiMeasureRestMusic
to signal rests.
Event classes:
general-rest-event, multi-measure-rest-event, music-event, rhythmic-event and StreamEvent.
Accepted by: Current_chord_text_engraver and Multi_measure_rest_engraver.
Properties:
iterator-ctor(procedure):
ly:rhythmic-music-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.name(symbol):
'MultiMeasureRestEventName of this music object.
types(list):'(event rhythmic-event general-rest-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.56 MultiMeasureRestMusic ¶
Rests that may be compressed into multi-measure rests.
Syntax: R2.*4 for 4 measures in 3/4 time.
Properties:
elements-callback(procedure):
mm-rest-child-listReturn a list of children, for use by a sequential iterator. Takes a single music parameter.
iterator-ctor(procedure):
ly:sequential-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.name(symbol):
'MultiMeasureRestMusicName of this music object.
types(list): '(multi-measure-rest)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < MultiMeasureRestMusic ] | [ Up: Music expressions ] | [ Music > ] |
1.1.57 MultiMeasureTextEvent ¶
Texts on multi-measure rests.
Syntax: R-\markup { "bla" }
Event classes:
multi-measure-text-event, music-event and StreamEvent.
Accepted by: Multi_measure_rest_engraver.
Properties:
name(symbol):
'MultiMeasureTextEventName of this music object.
types(list): '(post-event event multi-measure-text-event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < MultiMeasureTextEvent ] | [ Up: Music expressions ] | [ NonArpeggiatoEvent > ] |
1.1.58 Music ¶
Unspecified music expression.
Properties:
iterator-ctor(procedure):
ly:music-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.name(symbol):
'MusicName of this music object.
types(list):
'()The types of this music object; determines by what engraver this music expression is processed.
void(boolean):
#tIf this property is
#t, then the music expression is to be discarded by the top-level music handler.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < Music ] | [ Up: Music expressions ] | [ NoteEvent > ] |
1.1.59 NonArpeggiatoEvent ¶
Do not arpeggiate this chord.
Syntax: note-\nonArpeggiato
Event classes:
music-event, non-arpeggiato-event and StreamEvent.
Accepted by: Arpeggio_engraver.
Properties:
name(symbol):
'NonArpeggiatoEventName of this music object.
types(list): '(post-event non-arpeggiato-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < NonArpeggiatoEvent ] | [ Up: Music expressions ] | [ NoteGroupingEvent > ] |
1.1.60 NoteEvent ¶
A note.
Outside of chords, any events in articulations with a listener
are broadcast like chord articulations, the others are retained.
For iteration inside of chords, See EventChord.
Event classes:
melodic-event, music-event, note-event, rhythmic-event and StreamEvent.
Accepted by: Beat_engraver, Beat_performer, Bend_spanner_engraver, Completion_heads_engraver, Current_chord_text_engraver, Drum_note_performer, Drum_notes_engraver, Finger_glide_engraver, Fretboard_engraver, Note_heads_engraver, Note_name_engraver, Note_performer, Part_combine_engraver, Phrasing_slur_engraver, Slur_engraver and Tab_note_heads_engraver.
Properties:
iterator-ctor(procedure):
ly:rhythmic-music-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.name(symbol):
'NoteEventName of this music object.
types(list): '(event note-event rhythmic-event melodic-event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < NoteEvent ] | [ Up: Music expressions ] | [ OptionalMaterialEvent > ] |
1.1.61 NoteGroupingEvent ¶
Start or stop grouping brackets.
Event classes:
music-event, note-grouping-event and StreamEvent.
Accepted by: Horizontal_bracket_engraver.
Properties:
name(symbol):
'NoteGroupingEventName of this music object.
types(list): '(post-event event note-grouping-event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < NoteGroupingEvent ] | [ Up: Music expressions ] | [ OttavaEvent > ] |
1.1.62 OptionalMaterialEvent ¶
Start or stop optional material.
Event classes:
music-event, optional-material-event, span-event and StreamEvent.
Accepted by: Optional_material_bracket_engraver.
Properties:
name(symbol):
'OptionalMaterialEventName of this music object.
types(list): '(optional-material-event span-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < OptionalMaterialEvent ] | [ Up: Music expressions ] | [ OverrideProperty > ] |
1.1.63 OttavaEvent ¶
Start or stop an ottava bracket.
Event classes:
music-event, ottava-event and StreamEvent.
Accepted by: Ottava_spanner_engraver.
Properties:
name(symbol):
'OttavaEventName of this music object.
types(list): '(ottava-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < OttavaEvent ] | [ Up: Music expressions ] | [ PageBreakEvent > ] |
1.1.64 OverrideProperty ¶
Extend the definition of a graphical object.
Syntax: \override [ context . ]
object property = value
Properties:
iterator-ctor(procedure):
ly:push-property-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.name(symbol):
'OverridePropertyName of this music object.
types(list): '(layout-instruction-event override-property-event)The types of this music object; determines by what engraver this music expression is processed.
untransposable(boolean):
#tIf set, this music is not transposed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < OverrideProperty ] | [ Up: Music expressions ] | [ PageTurnEvent > ] |
1.1.65 PageBreakEvent ¶
Allow, forbid or force a page break.
Event classes:
break-event, music-event, page-break-event and StreamEvent.
Accepted by: Page_turn_engraver and Paper_column_engraver.
Properties:
name(symbol):
'PageBreakEventName of this music object.
types(list): '(break-event page-break-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < PageBreakEvent ] | [ Up: Music expressions ] | [ PartCombineEvent > ] |
1.1.66 PageTurnEvent ¶
Allow, forbid or force a page turn.
Event classes:
break-event, music-event, page-turn-event and StreamEvent.
Accepted by: Page_turn_engraver and Paper_column_engraver.
Properties:
name(symbol):
'PageTurnEventName of this music object.
types(list): '(break-event page-turn-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < PageTurnEvent ] | [ Up: Music expressions ] | [ PartCombineMusic > ] |
1.1.67 PartCombineEvent ¶
Announce partcombine status change, such as aDue,
soloI, or soloII, based on value of property
part-combine-status.
Event classes:
music-event, part-combine-event and StreamEvent.
Accepted by: Part_combine_engraver.
Properties:
name(symbol):
'PartCombineEventName of this music object.
types(list): '(event part-combine-event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < PartCombineEvent ] | [ Up: Music expressions ] | [ PartialEvent > ] |
1.1.68 PartCombineMusic ¶
Combine two parts on a staff, either merged or as separate voices.
Properties:
iterator-ctor(procedure):
ly:part-combine-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.length-callback(procedure):
ly:music-sequence::maximum-length-callbackHow to compute the duration of this music. This property can only be defined as initializer in scm/define-music-types.scm.
name(symbol):
'PartCombineMusicName of this music object.
start-callback(procedure):
ly:music-sequence::minimum-start-callbackFunction to compute the negative length of starting grace notes. This property can only be defined as initializer in scm/define-music-types.scm.
types(list): '(part-combine-music)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < PartCombineMusic ] | [ Up: Music expressions ] | [ PartialSet > ] |
1.1.69 PartialEvent ¶
An event announcing a partial measure.
Event classes:
music-event, partial-event and StreamEvent.
Accepted by: Timing_translator.
Properties:
name(symbol):
'PartialEventName of this music object.
types(list): '(partial-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < PartialEvent ] | [ Up: Music expressions ] | [ PercentEvent > ] |
1.1.70 PartialSet ¶
Create an anacrusis or upbeat (partial measure).
Properties:
elements-callback(procedure):
make-partial-setReturn a list of children, for use by a sequential iterator. Takes a single music parameter.
iterator-ctor(procedure):
ly:sequential-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.length-callback(procedure):
ly:music-sequence::cumulative-length-callbackHow to compute the duration of this music. This property can only be defined as initializer in scm/define-music-types.scm.
name(symbol):
'PartialSetName of this music object.
types(list): '(partial-set)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < PartialSet ] | [ Up: Music expressions ] | [ PercentRepeatedMusic > ] |
1.1.71 PercentEvent ¶
Used internally to signal percent repeats.
Event classes:
music-event, percent-event and StreamEvent.
Accepted by: Percent_repeat_engraver.
Properties:
name(symbol):
'PercentEventName of this music object.
types(list): '(event percent-event rhythmic-event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < PercentEvent ] | [ Up: Music expressions ] | [ PhrasingSlurEvent > ] |
1.1.72 PercentRepeatedMusic ¶
Repeats encoded by percents and slashes.
Properties:
elements-callback(procedure):
make-percent-setReturn a list of children, for use by a sequential iterator. Takes a single music parameter.
iterator-ctor(procedure):
ly:percent-repeat-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.length-callback(procedure):
ly:calculated-sequential-music::lengthHow to compute the duration of this music. This property can only be defined as initializer in scm/define-music-types.scm.
name(symbol):
'PercentRepeatedMusicName of this music object.
start-callback(procedure):
ly:calculated-sequential-music::startFunction to compute the negative length of starting grace notes. This property can only be defined as initializer in scm/define-music-types.scm.
types(list): '(repeated-music percent-repeated-music)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < PercentRepeatedMusic ] | [ Up: Music expressions ] | [ PolymetricTimeSignatureEvent > ] |
1.1.73 PhrasingSlurEvent ¶
Start or end phrasing slur.
Syntax: note\( and note\)
Event classes:
music-event, phrasing-slur-event, span-event and StreamEvent.
Accepted by: Phrasing_slur_engraver.
Properties:
name(symbol):
'PhrasingSlurEventName of this music object.
types(list): '(post-event span-event event phrasing-slur-event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < PhrasingSlurEvent ] | [ Up: Music expressions ] | [ PolymetricTimeSignatureMusic > ] |
1.1.74 PolymetricTimeSignatureEvent ¶
An event created when setting a new time signature
Event classes:
music-event, polymetric-time-signature-event, StreamEvent and time-signature-event.
Accepted by: Time_signature_engraver and Timing_translator.
Properties:
name(symbol):
'PolymetricTimeSignatureEventName of this music object.
types(list):'(event time-signature-event polymetric-time-signature-event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < PolymetricTimeSignatureEvent ] | [ Up: Music expressions ] | [ PostEvents > ] |
1.1.75 PolymetricTimeSignatureMusic ¶
Set a new time signature
Properties:
duration(duration):
#<Duration 1 >Duration of this note or lyric.
elements-callback(procedure):
make-time-signature-setReturn a list of children, for use by a sequential iterator. Takes a single music parameter.
iterator-ctor(procedure):
ly:sequential-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.length-callback(procedure):
ly:music-sequence::cumulative-length-callbackHow to compute the duration of this music. This property can only be defined as initializer in scm/define-music-types.scm.
name(symbol):
'PolymetricTimeSignatureMusicName of this music object.
types(list): '(time-signature-music polymetric-time-signature-music)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < PolymetricTimeSignatureMusic ] | [ Up: Music expressions ] | [ PropertySet > ] |
1.1.76 PostEvents ¶
Container for several postevents.
This can be used to package several events into a single one. Should not be seen outside of the parser.
Properties:
name(symbol):
'PostEventsName of this music object.
types(list): '(post-event post-event-wrapper)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < PostEvents ] | [ Up: Music expressions ] | [ PropertyUnset > ] |
1.1.77 PropertySet ¶
Set a context property.
Syntax: \set context.prop = scheme-val
Properties:
iterator-ctor(procedure):
ly:property-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.name(symbol):
'PropertySetName of this music object.
types(list): '(layout-instruction-event)The types of this music object; determines by what engraver this music expression is processed.
untransposable(boolean):
#tIf set, this music is not transposed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < PropertySet ] | [ Up: Music expressions ] | [ QuoteMusic > ] |
1.1.78 PropertyUnset ¶
Restore the default setting for a context
property. See PropertySet.
Syntax: \unset context.prop
Properties:
iterator-ctor(procedure):
ly:property-unset-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.name(symbol):
'PropertyUnsetName of this music object.
types(list): '(layout-instruction-event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < PropertyUnset ] | [ Up: Music expressions ] | [ ReferenceTimeSignatureEvent > ] |
1.1.79 QuoteMusic ¶
Quote preprocessed snippets of music.
Properties:
iterator-ctor(procedure):
ly:music-wrapper-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.length-callback(procedure):
ly:music-wrapper::length-callbackHow to compute the duration of this music. This property can only be defined as initializer in scm/define-music-types.scm.
name(symbol):
'QuoteMusicName of this music object.
start-callback(procedure):
ly:music-wrapper::start-callbackFunction to compute the negative length of starting grace notes. This property can only be defined as initializer in scm/define-music-types.scm.
types(list): '(music-wrapper-music)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < QuoteMusic ] | [ Up: Music expressions ] | [ ReferenceTimeSignatureMusic > ] |
1.1.80 ReferenceTimeSignatureEvent ¶
An event created when setting a new time signature
Event classes:
music-event, reference-time-signature-event, StreamEvent and time-signature-event.
Accepted by: Time_signature_engraver and Time_signature_performer.
Properties:
name(symbol):
'ReferenceTimeSignatureEventName of this music object.
types(list):'(event time-signature-event reference-time-signature-event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < ReferenceTimeSignatureEvent ] | [ Up: Music expressions ] | [ RehearsalMarkEvent > ] |
1.1.81 ReferenceTimeSignatureMusic ¶
Set a new time signature
Properties:
elements-callback(procedure):
make-time-signature-setReturn a list of children, for use by a sequential iterator. Takes a single music parameter.
iterator-ctor(procedure):
ly:sequential-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.name(symbol):
'ReferenceTimeSignatureMusicName of this music object.
types(list): '(time-signature-music reference-time-signature-music)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < ReferenceTimeSignatureMusic ] | [ Up: Music expressions ] | [ RelativeOctaveCheck > ] |
1.1.82 RehearsalMarkEvent ¶
Insert a rehearsal mark.
Syntax: \mark marker
Example: \mark 3
Event classes:
mark-event, music-event, rehearsal-mark-event and StreamEvent.
Accepted by: Mark_tracking_translator.
Properties:
name(symbol):
'RehearsalMarkEventName of this music object.
types(list): '(rehearsal-mark-event mark-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < RehearsalMarkEvent ] | [ Up: Music expressions ] | [ RelativeOctaveMusic > ] |
1.1.83 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): '(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 ] | [ RepeatSlashEvent > ] |
1.1.84 RelativeOctaveMusic ¶
Music in which the assignment of octaves is complete.
Properties:
iterator-ctor(procedure):
ly:music-wrapper-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.length-callback(procedure):
ly:music-wrapper::length-callbackHow to compute the duration of this music. This property can only be defined as initializer in scm/define-music-types.scm.
name(symbol):
'RelativeOctaveMusicName of this music object.
start-callback(procedure):
ly:music-wrapper::start-callbackFunction to compute the negative length of starting grace notes. This property can only be defined as initializer in scm/define-music-types.scm.
to-relative-callback(procedure):
ly:relative-octave-music::relative-callbackHow to transform a piece of music to relative pitches.
types(list): '(music-wrapper-music relative-octave-music)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < RelativeOctaveMusic ] | [ Up: Music expressions ] | [ RepeatTieEvent > ] |
1.1.85 RepeatSlashEvent ¶
Used internally to signal beat repeats.
Event classes:
music-event, repeat-slash-event, rhythmic-event and StreamEvent.
Accepted by: Slash_repeat_engraver.
Properties:
name(symbol):
'RepeatSlashEventName of this music object.
types(list): '(event repeat-slash-event rhythmic-event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < RepeatSlashEvent ] | [ Up: Music expressions ] | [ RestEvent > ] |
1.1.86 RepeatTieEvent ¶
Ties for starting a second volta bracket.
Event classes:
music-event, repeat-tie-event and StreamEvent.
Accepted by: Repeat_tie_engraver.
Properties:
name(symbol):
'RepeatTieEventName of this music object.
types(list): '(post-event event repeat-tie-event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < RepeatTieEvent ] | [ Up: Music expressions ] | [ RevertProperty > ] |
1.1.87 RestEvent ¶
A Rest.
Syntax: r4 for a quarter rest.
Event classes:
general-rest-event, music-event, rest-event, rhythmic-event and StreamEvent.
Accepted by: Completion_rest_engraver, Current_chord_text_engraver, Figured_bass_engraver and Rest_engraver.
Properties:
iterator-ctor(procedure):
ly:rhythmic-music-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.name(symbol):
'RestEventName of this music object.
types(list):'(event rhythmic-event general-rest-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.88 RevertProperty ¶
The opposite of OverrideProperty: remove a
previously added property from a graphical object definition.
Properties:
iterator-ctor(procedure):
ly:pop-property-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.name(symbol):
'RevertPropertyName of this music object.
types(list): '(layout-instruction-event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < RevertProperty ] | [ Up: Music expressions ] | [ SectionEvent > ] |
1.1.89 ScriptEvent ¶
Add an articulation mark to a note.
Event classes:
music-event, script-event and StreamEvent.
Not accepted by any engraver or performer.
Properties:
name(symbol):
'ScriptEventName of this music object.
types(list): '(event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < ScriptEvent ] | [ Up: Music expressions ] | [ SectionLabelEvent > ] |
1.1.90 SectionEvent ¶
Add a section division, which is typically written as a thin double bar line.
Event classes:
music-event, section-event, StreamEvent and structural-event.
Accepted by: Bar_engraver and Divisio_engraver.
Properties:
name(symbol):
'SectionEventName of this music object.
types(list): '(section-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < SectionEvent ] | [ Up: Music expressions ] | [ SegnoMarkEvent > ] |
1.1.91 SectionLabelEvent ¶
Mark the beginning of a named passage. Does not imply a section division.
Event classes:
music-event, section-label-event and StreamEvent.
Accepted by: Mark_tracking_translator.
Properties:
name(symbol):
'SectionLabelEventName of this music object.
types(list): '(section-label-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < SectionLabelEvent ] | [ Up: Music expressions ] | [ SegnoRepeatedMusic > ] |
1.1.92 SegnoMarkEvent ¶
Add a segno mark or bar line.
Event classes:
music-event, segno-mark-event, StreamEvent and structural-event.
Accepted by: Bar_engraver and Mark_tracking_translator.
Properties:
name(symbol):
'SegnoMarkEventName of this music object.
types(list): '(segno-mark-event structural-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < SegnoMarkEvent ] | [ Up: Music expressions ] | [ SequentialAlternativeMusic > ] |
1.1.93 SegnoRepeatedMusic ¶
Repeats with alternatives placed sequentially and marked with segno, Coda, D.C., etc.
Properties:
elements-callback(procedure):
make-volta-setReturn a list of children, for use by a sequential iterator. Takes a single music parameter.
iterator-ctor(procedure):
ly:volta-repeat-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.length-callback(procedure):
ly:calculated-sequential-music::lengthHow to compute the duration of this music. This property can only be defined as initializer in scm/define-music-types.scm.
name(symbol):
'SegnoRepeatedMusicName of this music object.
start-callback(procedure):
ly:calculated-sequential-music::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): '(segno-repeated-music folded-repeated-music repeated-music)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < SegnoRepeatedMusic ] | [ Up: Music expressions ] | [ SequentialMusic > ] |
1.1.94 SequentialAlternativeMusic ¶
Repeat alternatives in sequence.
Syntax: \alternative { alternatives }
Properties:
elements-callback(procedure):
#<procedure at lily/define-music-types.scm:696:30 (m)>Return a list of children, for use by a sequential iterator. Takes a single music parameter.
iterator-ctor(procedure):
ly:alternative-sequence-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.length-callback(procedure):
ly:music-sequence::cumulative-length-callbackHow to compute the duration of this music. This property can only be defined as initializer in scm/define-music-types.scm.
name(symbol):
'SequentialAlternativeMusicName of this music object.
start-callback(procedure):
ly:music-sequence::first-start-callbackFunction to compute the negative length of starting grace notes. This property can only be defined as initializer in scm/define-music-types.scm.
types(list): '(sequential-music sequential-alternative-music)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < SequentialAlternativeMusic ] | [ Up: Music expressions ] | [ SimultaneousMusic > ] |
1.1.95 SequentialMusic ¶
Music expressions concatenated.
Syntax: \sequential { … } or simply { … }
Properties:
elements-callback(procedure):
#<procedure at lily/define-music-types.scm:709:30 (m)>Return a list of children, for use by a sequential iterator. Takes a single music parameter.
iterator-ctor(procedure):
ly:sequential-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.length-callback(procedure):
ly:music-sequence::cumulative-length-callbackHow to compute the duration of this music. This property can only be defined as initializer in scm/define-music-types.scm.
name(symbol):
'SequentialMusicName of this music object.
start-callback(procedure):
ly:music-sequence::first-start-callbackFunction to compute the negative length of starting grace notes. This property can only be defined as initializer in scm/define-music-types.scm.
types(list): '(sequential-music)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < SequentialMusic ] | [ Up: Music expressions ] | [ SkipEvent > ] |
1.1.96 SimultaneousMusic ¶
Music playing together.
Syntax: \simultaneous { … } or << … >>
Properties:
iterator-ctor(procedure):
ly:simultaneous-music-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.length-callback(procedure):
ly:music-sequence::maximum-length-callbackHow to compute the duration of this music. This property can only be defined as initializer in scm/define-music-types.scm.
name(symbol):
'SimultaneousMusicName of this music object.
start-callback(procedure):
ly:music-sequence::minimum-start-callbackFunction to compute the negative length of starting grace notes. This property can only be defined as initializer in scm/define-music-types.scm.
to-relative-callback(procedure):
ly:music-sequence::simultaneous-relative-callbackHow to transform a piece of music to relative pitches.
types(list): '(simultaneous-music)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < SimultaneousMusic ] | [ Up: Music expressions ] | [ SkipMusic > ] |
1.1.97 SkipEvent ¶
Filler that takes up duration, but does not print anything.
Syntax: s4 for a skip equivalent to a quarter rest.
Event classes:
music-event, rhythmic-event, skip-event and StreamEvent.
Not accepted by any engraver or performer.
Properties:
iterator-ctor(procedure):
ly:rhythmic-music-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.name(symbol):
'SkipEventName of this music object.
types(list): '(event rhythmic-event skip-event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < SkipEvent ] | [ Up: Music expressions ] | [ SkippedMusic > ] |
1.1.98 SkipMusic ¶
Filler that takes up duration, does not print anything, and also does not create staves or voices implicitly.
Syntax: \skip duration
Properties:
iterator-ctor(procedure):
ly:simple-music-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.name(symbol):
'SkipMusicName of this music object.
types(list): '(event skip-event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < SkipMusic ] | [ Up: Music expressions ] | [ SlurEvent > ] |
1.1.99 SkippedMusic ¶
Filler that takes up duration, does not print anything, and also does not create staves or voices implicitly.
Syntax: \skip music
Properties:
iterator-ctor(procedure):
ly:simple-music-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.length-callback(procedure):
ly:music-wrapper::length-callbackHow to compute the duration of this music. This property can only be defined as initializer in scm/define-music-types.scm.
name(symbol):
'SkippedMusicName of this music object.
start-callback(procedure):
ly:music-wrapper::start-callbackFunction to compute the negative length of starting grace notes. This property can only be defined as initializer in scm/define-music-types.scm.
types(list): '(skipped-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 >> ] |
[ < SkippedMusic ] | [ Up: Music expressions ] | [ SostenutoEvent > ] |
1.1.100 SlurEvent ¶
Start or end slur.
Syntax: note( and note)
Event classes:
music-event, slur-event, span-event and StreamEvent.
Accepted by: Slur_engraver and Slur_performer.
Properties:
name(symbol):
'SlurEventName of this music object.
types(list): '(post-event span-event event slur-event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < SlurEvent ] | [ Up: Music expressions ] | [ SpacingSectionEvent > ] |
1.1.101 SostenutoEvent ¶
Depress or release sostenuto pedal.
Event classes:
music-event, pedal-event, sostenuto-event, span-event and StreamEvent.
Accepted by: Piano_pedal_engraver and Piano_pedal_performer.
Properties:
name(symbol):
'SostenutoEventName of this music object.
types(list): '(post-event event pedal-event sostenuto-event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < SostenutoEvent ] | [ Up: Music expressions ] | [ SpanEvent > ] |
1.1.102 SpacingSectionEvent ¶
Start a new spacing section.
Event classes:
music-event, spacing-section-event and StreamEvent.
Accepted by: Spacing_engraver.
Properties:
name(symbol):
'SpacingSectionEventName of this music object.
types(list): '(event spacing-section-event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < SpacingSectionEvent ] | [ Up: Music expressions ] | [ StaffHighlightEvent > ] |
1.1.103 SpanEvent ¶
Event for anything that is started at a different time than stopped.
Event classes:
music-event, span-event and StreamEvent.
Not accepted by any engraver or performer.
Properties:
name(symbol):
'SpanEventName of this music object.
types(list): '(event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < SpanEvent ] | [ Up: Music expressions ] | [ StaffSpanEvent > ] |
1.1.104 StaffHighlightEvent ¶
Start or stop a staff highlight.
Syntax: \staffHighlight, \stopStaffHighlight.
Event classes:
music-event, span-event, staff-highlight-event and StreamEvent.
Accepted by: Staff_highlight_engraver.
Properties:
name(symbol):
'StaffHighlightEventName of this music object.
types(list): '(staff-highlight-event span-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < StaffHighlightEvent ] | [ Up: Music expressions ] | [ StanzaEvent > ] |
1.1.105 StaffSpanEvent ¶
Start or stop a staff symbol.
Event classes:
music-event, span-event, staff-span-event and StreamEvent.
Accepted by: Staff_symbol_engraver.
Properties:
name(symbol):
'StaffSpanEventName of this music object.
types(list): '(event span-event staff-span-event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < StaffSpanEvent ] | [ Up: Music expressions ] | [ StringNumberEvent > ] |
1.1.106 StanzaEvent ¶
Set and display a stanza number in lyrics.
Syntax: \stanza markup.
Event classes:
music-event, stanza-event and StreamEvent.
Not accepted by any engraver or performer.
Properties:
name(symbol):
'StanzaEventName of this music object.
types(list): '(stanza-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < StanzaEvent ] | [ Up: Music expressions ] | [ StrokeFingerEvent > ] |
1.1.107 StringNumberEvent ¶
Specify on which string to play this note.
Syntax: \number
Event classes:
music-event, StreamEvent and string-number-event.
Accepted by: Bend_spanner_engraver, Fretboard_engraver and Tab_note_heads_engraver.
Properties:
name(symbol):
'StringNumberEventName of this music object.
types(list): '(post-event string-number-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < StringNumberEvent ] | [ Up: Music expressions ] | [ SustainEvent > ] |
1.1.108 StrokeFingerEvent ¶
Specify with which finger to pluck a string.
Syntax: \rightHandFinger text
Event classes:
music-event, StreamEvent and stroke-finger-event.
Not accepted by any engraver or performer.
Properties:
name(symbol):
'StrokeFingerEventName of this music object.
types(list): '(post-event stroke-finger-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < StrokeFingerEvent ] | [ Up: Music expressions ] | [ TempoChangeEvent > ] |
1.1.109 SustainEvent ¶
Depress or release sustain pedal.
Event classes:
music-event, pedal-event, span-event, StreamEvent and sustain-event.
Accepted by: Piano_pedal_engraver and Piano_pedal_performer.
Properties:
name(symbol):
'SustainEventName of this music object.
types(list): '(post-event event pedal-event sustain-event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < SustainEvent ] | [ Up: Music expressions ] | [ TempoGradualChangeEvent > ] |
1.1.110 TempoChangeEvent ¶
A metronome mark or tempo indication.
Event classes:
music-event, StreamEvent and tempo-change-event.
Accepted by: Metronome_mark_engraver and Tempo_performer.
Properties:
name(symbol):
'TempoChangeEventName of this music object.
types(list): '(event tempo-change-event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < TempoChangeEvent ] | [ Up: Music expressions ] | [ TextMarkEvent > ] |
1.1.111 TempoGradualChangeEvent ¶
Begin a gradual change in tempo.
Event classes:
music-event, span-event, StreamEvent and tempo-gradual-change-event.
Accepted by: Tempo_performer.
Properties:
name(symbol):
'TempoGradualChangeEventName of this music object.
types(list): '(event span-event tempo-gradual-change-event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < TempoGradualChangeEvent ] | [ Up: Music expressions ] | [ TextScriptEvent > ] |
1.1.112 TextMarkEvent ¶
A textual mark.
Syntax: \textMark markup or \textEndMark markup.
Event classes:
music-event, StreamEvent and text-mark-event.
Accepted by: Text_mark_engraver.
Properties:
name(symbol):
'TextMarkEventName of this music object.
types(list): '(text-mark-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < TextMarkEvent ] | [ Up: Music expressions ] | [ TextSpanEvent > ] |
1.1.113 TextScriptEvent ¶
Print text.
Event classes:
music-event, script-event, StreamEvent and text-script-event.
Accepted by: Text_engraver.
Properties:
name(symbol):
'TextScriptEventName of this music object.
types(list): '(post-event script-event text-script-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < TextScriptEvent ] | [ Up: Music expressions ] | [ TieEvent > ] |
1.1.114 TextSpanEvent ¶
Start a text spanner, for example, an octavation.
Event classes:
music-event, span-event, StreamEvent and text-span-event.
Accepted by: Text_spanner_engraver.
Properties:
name(symbol):
'TextSpanEventName of this music object.
types(list): '(post-event span-event event text-span-event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < TextSpanEvent ] | [ Up: Music expressions ] | [ TimeScaledMusic > ] |
1.1.115 TieEvent ¶
A tie.
Syntax: note-~
Event classes:
music-event, StreamEvent and tie-event.
Accepted by: Drum_note_performer, Note_performer, Tie_engraver and Tie_performer.
Properties:
name(symbol):
'TieEventName of this music object.
types(list): '(post-event tie-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < TieEvent ] | [ Up: Music expressions ] | [ TransposedMusic > ] |
1.1.116 TimeScaledMusic ¶
Multiply durations, as in tuplets.
Syntax: \times fraction music, e.g.,
\times 2/3 { … } for triplets.
Properties:
iterator-ctor(procedure):
ly:tuplet-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.length-callback(procedure):
ly:music-wrapper::length-callbackHow to compute the duration of this music. This property can only be defined as initializer in scm/define-music-types.scm.
name(symbol):
'TimeScaledMusicName of this music object.
start-callback(procedure):
ly:music-wrapper::start-callbackFunction to compute the negative length of starting grace notes. This property can only be defined as initializer in scm/define-music-types.scm.
types(list): '(time-scaled-music)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < TimeScaledMusic ] | [ Up: Music expressions ] | [ TremoloEvent > ] |
1.1.117 TransposedMusic ¶
Music that has been transposed.
Properties:
iterator-ctor(procedure):
ly:music-wrapper-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.length-callback(procedure):
ly:music-wrapper::length-callbackHow to compute the duration of this music. This property can only be defined as initializer in scm/define-music-types.scm.
name(symbol):
'TransposedMusicName of this music object.
start-callback(procedure):
ly:music-wrapper::start-callbackFunction to compute the negative length of starting grace notes. This property can only be defined as initializer in scm/define-music-types.scm.
to-relative-callback(procedure):
ly:relative-octave-music::no-relative-callbackHow to transform a piece of music to relative pitches.
types(list): '(music-wrapper-music transposed-music)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < TransposedMusic ] | [ Up: Music expressions ] | [ TremoloRepeatedMusic > ] |
1.1.118 TremoloEvent ¶
Unmeasured tremolo.
Event classes:
music-event, StreamEvent and tremolo-event.
Accepted by: Stem_engraver.
Properties:
name(symbol):
'TremoloEventName of this music object.
types(list): '(post-event event tremolo-event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < TremoloEvent ] | [ Up: Music expressions ] | [ TremoloSpanEvent > ] |
1.1.119 TremoloRepeatedMusic ¶
Repeated notes denoted by tremolo beams.
Properties:
elements-callback(procedure):
make-tremolo-setReturn a list of children, for use by a sequential iterator. Takes a single music parameter.
iterator-ctor(procedure):
ly:sequential-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.length-callback(procedure):
ly:calculated-sequential-music::lengthHow to compute the duration of this music. This property can only be defined as initializer in scm/define-music-types.scm.
name(symbol):
'TremoloRepeatedMusicName of this music object.
start-callback(procedure):
ly:calculated-sequential-music::startFunction to compute the negative length of starting grace notes. This property can only be defined as initializer in scm/define-music-types.scm.
types(list): '(repeated-music tremolo-repeated-music)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < TremoloRepeatedMusic ] | [ Up: Music expressions ] | [ TrillSpanEvent > ] |
1.1.120 TremoloSpanEvent ¶
Tremolo over two stems.
Event classes:
music-event, span-event, StreamEvent and tremolo-span-event.
Accepted by: Chord_tremolo_engraver.
Properties:
name(symbol):
'TremoloSpanEventName of this music object.
types(list): '(event span-event tremolo-span-event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < TremoloSpanEvent ] | [ Up: Music expressions ] | [ TupletSpanEvent > ] |
1.1.121 TrillSpanEvent ¶
Start a trill spanner.
Event classes:
music-event, span-event, StreamEvent and trill-span-event.
Accepted by: Trill_spanner_engraver.
Properties:
name(symbol):
'TrillSpanEventName of this music object.
types(list): '(post-event span-event event trill-span-event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < TrillSpanEvent ] | [ Up: Music expressions ] | [ UnaCordaEvent > ] |
1.1.122 TupletSpanEvent ¶
Used internally to signal where tuplet brackets start and stop.
Event classes:
music-event, span-event, StreamEvent and tuplet-span-event.
Accepted by: Tuplet_engraver.
Properties:
name(symbol):
'TupletSpanEventName of this music object.
types(list): '(tuplet-span-event span-event event post-event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < TupletSpanEvent ] | [ Up: Music expressions ] | [ UnfoldedRepeatedMusic > ] |
1.1.123 UnaCordaEvent ¶
Depress or release una-corda pedal.
Event classes:
music-event, pedal-event, span-event, StreamEvent and una-corda-event.
Accepted by: Piano_pedal_engraver and Piano_pedal_performer.
Properties:
name(symbol):
'UnaCordaEventName of this music object.
types(list): '(post-event event pedal-event una-corda-event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < UnaCordaEvent ] | [ Up: Music expressions ] | [ UnfoldedSpeccedMusic > ] |
1.1.124 UnfoldedRepeatedMusic ¶
Repeated music which is fully written (and played) out.
Properties:
elements-callback(procedure):
make-unfolded-setReturn a list of children, for use by a sequential iterator. Takes a single music parameter.
iterator-ctor(procedure):
ly:sequential-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.length-callback(procedure):
ly:calculated-sequential-music::lengthHow to compute the duration of this music. This property can only be defined as initializer in scm/define-music-types.scm.
name(symbol):
'UnfoldedRepeatedMusicName of this music object.
start-callback(procedure):
ly:calculated-sequential-music::startFunction to compute the negative length of starting grace notes. This property can only be defined as initializer in scm/define-music-types.scm.
types(list): '(repeated-music unfolded-repeated-music)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < UnfoldedRepeatedMusic ] | [ Up: Music expressions ] | [ UnrelativableMusic > ] |
1.1.125 UnfoldedSpeccedMusic ¶
Music that appears once repeated music is unfolded.
Properties:
iterator-ctor(procedure):
ly:music-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.length(moment):
#<Mom 0>The endpoint of this music. This property is unhappily named in that it does not account for any initial grace notes: the full length of the music is
lengthminus the start time. A value ofINF-MOMENTindicates indefinite length.name(symbol):
'UnfoldedSpeccedMusicName of this music object.
types(list): '(unfolded-specification music-wrapper-music)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < UnfoldedSpeccedMusic ] | [ Up: Music expressions ] | [ VoiceSeparator > ] |
1.1.126 UnrelativableMusic ¶
Music that cannot be converted from relative to absolute notation. For example, transposed music.
Properties:
iterator-ctor(procedure):
ly:music-wrapper-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.length-callback(procedure):
ly:music-wrapper::length-callbackHow to compute the duration of this music. This property can only be defined as initializer in scm/define-music-types.scm.
name(symbol):
'UnrelativableMusicName of this music object.
start-callback(procedure):
ly:music-wrapper::start-callbackFunction to compute the negative length of starting grace notes. This property can only be defined as initializer in scm/define-music-types.scm.
to-relative-callback(procedure):
ly:relative-octave-music::no-relative-callbackHow to transform a piece of music to relative pitches.
types(list): '(music-wrapper-music unrelativable-music)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < UnrelativableMusic ] | [ Up: Music expressions ] | [ VoltaRepeatEndEvent > ] |
1.1.127 VoiceSeparator ¶
Separate polyphonic voices in simultaneous music.
Syntax: \\
Properties:
name(symbol):
'VoiceSeparatorName of this music object.
types(list): '(separator)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < VoiceSeparator ] | [ Up: Music expressions ] | [ VoltaRepeatStartEvent > ] |
1.1.128 VoltaRepeatEndEvent ¶
Signal the end of a volta-style repeat. Multiple end events per start event can be expected when there are alternative endings.
Event classes:
music-event, StreamEvent, structural-event and volta-repeat-end-event.
Accepted by: Divisio_engraver, Lyric_repeat_count_engraver, Repeat_acknowledge_engraver and Signum_repetitionis_engraver.
Properties:
name(symbol):
'VoltaRepeatEndEventName of this music object.
types(list): '(volta-repeat-end-event structural-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < VoltaRepeatEndEvent ] | [ Up: Music expressions ] | [ VoltaRepeatedMusic > ] |
1.1.129 VoltaRepeatStartEvent ¶
Signal the start of a volta-style repeat.
Event classes:
music-event, StreamEvent, structural-event and volta-repeat-start-event.
Accepted by: Divisio_engraver and Repeat_acknowledge_engraver.
Properties:
name(symbol):
'VoltaRepeatStartEventName of this music object.
types(list): '(volta-repeat-start-event structural-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < VoltaRepeatStartEvent ] | [ Up: Music expressions ] | [ VoltaSpanEvent > ] |
1.1.130 VoltaRepeatedMusic ¶
Repeats with alternatives placed sequentially.
Properties:
elements-callback(procedure):
make-volta-setReturn a list of children, for use by a sequential iterator. Takes a single music parameter.
iterator-ctor(procedure):
ly:volta-repeat-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.length-callback(procedure):
ly:calculated-sequential-music::lengthHow to compute the duration of this music. This property can only be defined as initializer in scm/define-music-types.scm.
name(symbol):
'VoltaRepeatedMusicName of this music object.
start-callback(procedure):
ly:calculated-sequential-music::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): '(volta-repeated-music folded-repeated-music 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 expressions ] | [ VoltaSpeccedMusic > ] |
1.1.131 VoltaSpanEvent ¶
Used internally to signal where volta brackets start and stop.
Event classes:
music-event, span-event, StreamEvent and volta-span-event.
Accepted by: Volta_engraver.
Properties:
name(symbol):
'VoltaSpanEventName of this music object.
types(list): '(volta-span-event span-event event post-event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < VoltaSpanEvent ] | [ Up: Music expressions ] | [ VowelTransitionEvent > ] |
1.1.132 VoltaSpeccedMusic ¶
Music for a specific volta within repeated music.
Properties:
iterator-ctor(procedure):
ly:volta-specced-music-iterator::constructorFunction to construct a
music-event-iteratorobject for this music.length-callback(procedure):
ly:music-wrapper::length-callbackHow to compute the duration of this music. This property can only be defined as initializer in scm/define-music-types.scm.
name(symbol):
'VoltaSpeccedMusicName of this music object.
start-callback(procedure):
ly:music-wrapper::start-callbackFunction to compute the negative length of starting grace notes. This property can only be defined as initializer in scm/define-music-types.scm.
types(list): '(volta-specification music-wrapper-music)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < VoltaSpeccedMusic ] | [ Up: Music expressions ] | [ Music classes > ] |
1.1.133 VowelTransitionEvent ¶
A vowel transition between lyric syllables.
Event classes:
music-event, StreamEvent and vowel-transition-event.
Accepted by: Hyphen_engraver.
Properties:
name(symbol):
'VowelTransitionEventName of this music object.
types(list): '(post-event vowel-transition-event event)The types of this music object; determines by what engraver this music expression is processed.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < VowelTransitionEvent ] | [ Up: Music definitions ] | [ absolute-dynamic-event > ] |
1.2 Music classes ¶
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
| [ < Music classes ] | [ Up: Music classes ] | [ ad-hoc-jump-event > ] |
1.2.1 absolute-dynamic-event ¶
Music event type absolute-dynamic-event is in music objects of type AbsoluteDynamicEvent.
Accepted by: Dynamic_engraver and Dynamic_performer.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < absolute-dynamic-event ] | [ Up: Music classes ] | [ ad-hoc-mark-event > ] |
1.2.2 ad-hoc-jump-event ¶
Music event type ad-hoc-jump-event is in music objects of type AdHocJumpEvent.
Accepted by: Bar_engraver and Jump_engraver.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < ad-hoc-jump-event ] | [ Up: Music classes ] | [ alternative-event > ] |
1.2.3 ad-hoc-mark-event ¶
Music event type ad-hoc-mark-event is in music objects of type AdHocMarkEvent.
Accepted by: Mark_tracking_translator.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < ad-hoc-mark-event ] | [ Up: Music classes ] | [ annotate-output-event > ] |
1.2.4 alternative-event ¶
Music event type alternative-event is in music objects of type AlternativeEvent.
Accepted by: Timing_translator.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < alternative-event ] | [ Up: Music classes ] | [ apply-output-event > ] |
1.2.5 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.6 apply-output-event ¶
Music event type apply-output-event is in music objects of type ApplyOutputEvent.
Accepted by: Apply_output_engraver.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < apply-output-event ] | [ Up: Music classes ] | [ articulation-event > ] |
1.2.7 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 ] | [ bar-check-event > ] |
1.2.8 articulation-event ¶
Music event type articulation-event is in music objects of type ArticulationEvent.
Accepted by: Beat_engraver, Beat_performer, Drum_note_performer, Note_performer, Script_engraver and Toe_heel_engraver.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < articulation-event ] | [ Up: Music classes ] | [ bar-event > ] |
1.2.9 bar-check-event ¶
Music event type bar-check-event is in music objects of type BarCheckEvent.
Accepted by: Timing_translator.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < bar-check-event ] | [ Up: Music classes ] | [ bass-figure-event > ] |
1.2.10 bar-event ¶
Music event type bar-event is in music objects of type BarEvent.
Accepted by: Timing_translator.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < bar-event ] | [ Up: Music classes ] | [ beam-break-event > ] |
1.2.11 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-event > ] |
1.2.12 beam-break-event ¶
Music event type beam-break-event is in music objects of type BeamBreakEvent.
Accepted by: Auto_beam_engraver and Grace_auto_beam_engraver.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < beam-break-event ] | [ Up: Music classes ] | [ beam-forbid-event > ] |
1.2.13 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.14 beam-forbid-event ¶
Music event type beam-forbid-event is in music objects of type BeamForbidEvent.
Accepted by: Auto_beam_engraver and Grace_auto_beam_engraver.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < beam-forbid-event ] | [ Up: Music classes ] | [ bend-span-event > ] |
1.2.15 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 ] | [ break-dynamic-span-event > ] |
1.2.16 bend-span-event ¶
Music event type bend-span-event is in music objects of type BendSpanEvent.
Accepted by: Bend_spanner_engraver.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < bend-span-event ] | [ Up: Music classes ] | [ break-event > ] |
1.2.17 break-dynamic-span-event ¶
Music event type break-dynamic-span-event is in music objects of type BreakDynamicSpanEvent.
Accepted by: Dynamic_engraver.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < break-dynamic-span-event ] | [ Up: Music classes ] | [ break-span-event > ] |
1.2.18 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 ] | [ breathing-event > ] |
1.2.19 break-span-event ¶
Music event type break-span-event is in music objects of type BreakDynamicSpanEvent.
Not accepted by any engraver or performer.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < break-span-event ] | [ Up: Music classes ] | [ caesura-event > ] |
1.2.20 breathing-event ¶
Music event type breathing-event is in music objects of type BreathingEvent.
Accepted by: Breathing_sign_engraver and Note_performer.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < breathing-event ] | [ Up: Music classes ] | [ chord-slur-event > ] |
1.2.21 caesura-event ¶
Music event type caesura-event is in music objects of type CaesuraEvent.
Accepted by: Bar_engraver, Caesura_engraver and Divisio_engraver.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < caesura-event ] | [ Up: Music classes ] | [ cluster-note-event > ] |
1.2.22 chord-slur-event ¶
Music event type chord-slur-event is in music objects of type ChordSlurEvent.
Accepted by: Arpeggio_engraver.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < chord-slur-event ] | [ Up: Music classes ] | [ coda-mark-event > ] |
1.2.23 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 ] | [ completize-extender-event > ] |
1.2.24 coda-mark-event ¶
Music event type coda-mark-event is in music objects of type CodaMarkEvent.
Accepted by: Bar_engraver and Mark_tracking_translator.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < coda-mark-event ] | [ Up: Music classes ] | [ crescendo-event > ] |
1.2.25 completize-extender-event ¶
Music event type completize-extender-event is in music objects of type CompletizeExtenderEvent.
Accepted by: Extender_engraver.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < completize-extender-event ] | [ Up: Music classes ] | [ dal-segno-event > ] |
1.2.26 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 ] | [ decrescendo-event > ] |
1.2.27 dal-segno-event ¶
Music event type dal-segno-event is in music objects of type DalSegnoEvent.
Accepted by: Bar_engraver, Jump_engraver and Volta_engraver.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < dal-segno-event ] | [ Up: Music classes ] | [ double-percent-event > ] |
1.2.28 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 ] | [ duration-line-event > ] |
1.2.29 double-percent-event ¶
Music event type double-percent-event is in music objects of type DoublePercentEvent.
Accepted by: Double_percent_repeat_engraver.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < double-percent-event ] | [ Up: Music classes ] | [ dynamic-event > ] |
1.2.30 duration-line-event ¶
Music event type duration-line-event is in music objects of type DurationLineEvent.
Accepted by: Duration_line_engraver.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < duration-line-event ] | [ Up: Music classes ] | [ episema-event > ] |
1.2.31 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 ] | [ extender-event > ] |
1.2.32 episema-event ¶
Music event type episema-event is in music objects of type EpisemaEvent.
Accepted by: Episema_engraver.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < episema-event ] | [ Up: Music classes ] | [ fine-event > ] |
1.2.33 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 ] | [ finger-glide-event > ] |
1.2.34 fine-event ¶
Music event type fine-event is in music objects of type FineEvent.
Accepted by: Bar_engraver, Divisio_engraver, Jump_engraver, Timing_translator and Volta_engraver.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < fine-event ] | [ Up: Music classes ] | [ fingering-event > ] |
1.2.35 finger-glide-event ¶
Music event type finger-glide-event is in music objects of type FingerGlideEvent.
Not accepted by any engraver or performer.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < finger-glide-event ] | [ Up: Music classes ] | [ footnote-event > ] |
1.2.36 fingering-event ¶
Music event type fingering-event is in music objects of type FingeringEvent.
Accepted by: Fingering_engraver, Fretboard_engraver and Tab_note_heads_engraver.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < fingering-event ] | [ Up: Music classes ] | [ general-rest-event > ] |
1.2.37 footnote-event ¶
Music event type footnote-event is in music objects of type FootnoteEvent.
Not accepted by any engraver or performer.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < footnote-event ] | [ Up: Music classes ] | [ glissando-event > ] |
1.2.38 general-rest-event ¶
Music event type general-rest-event is in music objects of type MultiMeasureRestEvent and RestEvent.
Accepted by: Current_chord_text_engraver.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < general-rest-event ] | [ Up: Music classes ] | [ harmonic-event > ] |
1.2.39 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.40 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.41 hyphen-event ¶
Music event type hyphen-event is in music objects of type HyphenEvent.
Accepted by: Extender_engraver and Hyphen_engraver.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < hyphen-event ] | [ Up: Music classes ] | [ label-event > ] |
1.2.42 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.43 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.44 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.45 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.46 ligature-event ¶
Music event type ligature-event is in music objects of type LigatureEvent.
Accepted by: Kievan_ligature_engraver, Ligature_bracket_engraver, Mensural_ligature_engraver and Vaticana_ligature_engraver.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < ligature-event ] | [ Up: Music classes ] | [ lyric-event > ] |
1.2.47 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.48 lyric-event ¶
Music event type lyric-event is in music objects of type LyricEvent.
Accepted by: Extender_engraver, Lyric_engraver and Lyric_performer.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < lyric-event ] | [ Up: Music classes ] | [ measure-counter-event > ] |
1.2.49 mark-event ¶
Music event type mark-event is in music objects of type AdHocMarkEvent and RehearsalMarkEvent.
Not accepted by any engraver or performer.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < mark-event ] | [ Up: Music classes ] | [ measure-spanner-event > ] |
1.2.50 measure-counter-event ¶
Music event type measure-counter-event is in music objects of type MeasureCounterEvent.
Accepted by: Measure_counter_engraver.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < measure-counter-event ] | [ Up: Music classes ] | [ melodic-event > ] |
1.2.51 measure-spanner-event ¶
Music event type measure-spanner-event is in music objects of type MeasureSpannerEvent.
Accepted by: Measure_spanner_engraver.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < measure-spanner-event ] | [ Up: Music classes ] | [ multi-measure-articulation-event > ] |
1.2.52 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-rest-event > ] |
1.2.53 multi-measure-articulation-event ¶
Music event type multi-measure-articulation-event is in music objects of type MultiMeasureArticulationEvent.
Accepted by: Multi_measure_rest_engraver.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < multi-measure-articulation-event ] | [ Up: Music classes ] | [ multi-measure-text-event > ] |
1.2.54 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.55 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 ] | [ non-arpeggiato-event > ] |
1.2.56 music-event ¶
Music event type music-event is in music objects of type AbsoluteDynamicEvent, AdHocJumpEvent, AdHocMarkEvent, AlternativeEvent, AnnotateOutputEvent, ApplyOutputEvent, ArpeggioEvent, ArticulationEvent, BarCheckEvent, BarEvent, BassFigureEvent, BeamBreakEvent, BeamEvent, BeamForbidEvent, BendAfterEvent, BendSpanEvent, BreakDynamicSpanEvent, BreathingEvent, CaesuraEvent, ChordSlurEvent, ClusterNoteEvent, CodaMarkEvent, CompletizeExtenderEvent, CrescendoEvent, DalSegnoEvent, DecrescendoEvent, DoublePercentEvent, DurationLineEvent, EpisemaEvent, ExtenderEvent, FineEvent, FingerGlideEvent, FingeringEvent, FootnoteEvent, GlissandoEvent, HarmonicEvent, HyphenEvent, KeyChangeEvent, LabelEvent, LaissezVibrerEvent, LigatureEvent, LineBreakEvent, LyricEvent, MeasureCounterEvent, MeasureSpannerEvent, MultiMeasureArticulationEvent, MultiMeasureRestEvent, MultiMeasureTextEvent, NonArpeggiatoEvent, NoteEvent, NoteGroupingEvent, OptionalMaterialEvent, OttavaEvent, PageBreakEvent, PageTurnEvent, PartCombineEvent, PartialEvent, PercentEvent, PhrasingSlurEvent, PolymetricTimeSignatureEvent, ReferenceTimeSignatureEvent, RehearsalMarkEvent, RepeatSlashEvent, RepeatTieEvent, RestEvent, ScriptEvent, SectionEvent, SectionLabelEvent, SegnoMarkEvent, SkipEvent, SlurEvent, SostenutoEvent, SpacingSectionEvent, SpanEvent, StaffHighlightEvent, StaffSpanEvent, StanzaEvent, StringNumberEvent, StrokeFingerEvent, SustainEvent, TempoChangeEvent, TempoGradualChangeEvent, TextMarkEvent, TextScriptEvent, TextSpanEvent, TieEvent, TremoloEvent, TremoloSpanEvent, TrillSpanEvent, TupletSpanEvent, UnaCordaEvent, VoltaRepeatEndEvent, VoltaRepeatStartEvent, VoltaSpanEvent and VowelTransitionEvent.
Not accepted by any engraver or performer.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < music-event ] | [ Up: Music classes ] | [ note-event > ] |
1.2.57 non-arpeggiato-event ¶
Music event type non-arpeggiato-event is in music objects of type NonArpeggiatoEvent.
Accepted by: Arpeggio_engraver.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < non-arpeggiato-event ] | [ Up: Music classes ] | [ note-grouping-event > ] |
1.2.58 note-event ¶
Music event type note-event is in music objects of type NoteEvent.
Accepted by: Beat_engraver, Beat_performer, Bend_spanner_engraver, Completion_heads_engraver, Current_chord_text_engraver, Drum_note_performer, Drum_notes_engraver, Finger_glide_engraver, Fretboard_engraver, Note_heads_engraver, Note_name_engraver, Note_performer, Part_combine_engraver, Phrasing_slur_engraver, Slur_engraver and Tab_note_heads_engraver.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < note-event ] | [ Up: Music classes ] | [ optional-material-event > ] |
1.2.59 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 ] | [ ottava-event > ] |
1.2.60 optional-material-event ¶
Music event type optional-material-event is in music objects of type OptionalMaterialEvent.
Accepted by: Optional_material_bracket_engraver.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < optional-material-event ] | [ Up: Music classes ] | [ page-break-event > ] |
1.2.61 ottava-event ¶
Music event type ottava-event is in music objects of type OttavaEvent.
Accepted by: Ottava_spanner_engraver.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < ottava-event ] | [ Up: Music classes ] | [ page-turn-event > ] |
1.2.62 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.63 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 ] | [ partial-event > ] |
1.2.64 part-combine-event ¶
Music event type part-combine-event is in music objects of type PartCombineEvent.
Accepted by: Part_combine_engraver.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < part-combine-event ] | [ Up: Music classes ] | [ pedal-event > ] |
1.2.65 partial-event ¶
Music event type partial-event is in music objects of type PartialEvent.
Accepted by: Timing_translator.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < partial-event ] | [ Up: Music classes ] | [ percent-event > ] |
1.2.66 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 ] | [ phrasing-slur-event > ] |
1.2.67 percent-event ¶
Music event type percent-event is in music objects of type PercentEvent.
Accepted by: Percent_repeat_engraver.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < percent-event ] | [ Up: Music classes ] | [ polymetric-time-signature-event > ] |
1.2.68 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 ] | [ reference-time-signature-event > ] |
1.2.69 polymetric-time-signature-event ¶
Music event type polymetric-time-signature-event is in music objects of type PolymetricTimeSignatureEvent.
Accepted by: Time_signature_engraver and Timing_translator.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < polymetric-time-signature-event ] | [ Up: Music classes ] | [ rehearsal-mark-event > ] |
1.2.70 reference-time-signature-event ¶
Music event type reference-time-signature-event is in music objects of type ReferenceTimeSignatureEvent.
Accepted by: Time_signature_engraver and Time_signature_performer.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < reference-time-signature-event ] | [ Up: Music classes ] | [ repeat-slash-event > ] |
1.2.71 rehearsal-mark-event ¶
Music event type rehearsal-mark-event is in music objects of type RehearsalMarkEvent.
Accepted by: Mark_tracking_translator.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < rehearsal-mark-event ] | [ Up: Music classes ] | [ repeat-tie-event > ] |
1.2.72 repeat-slash-event ¶
Music event type repeat-slash-event is in music objects of type RepeatSlashEvent.
Accepted by: Slash_repeat_engraver.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < repeat-slash-event ] | [ Up: Music classes ] | [ rest-event > ] |
1.2.73 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.74 rest-event ¶
Music event type rest-event is in music objects of type RestEvent.
Accepted by: Completion_rest_engraver, Figured_bass_engraver and Rest_engraver.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < rest-event ] | [ Up: Music classes ] | [ script-event > ] |
1.2.75 rhythmic-event ¶
Music event type rhythmic-event is in music objects of type BassFigureEvent, ClusterNoteEvent, DoublePercentEvent, LyricEvent, MultiMeasureRestEvent, NoteEvent, RepeatSlashEvent, RestEvent and SkipEvent.
Not accepted by any engraver or performer.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < rhythmic-event ] | [ Up: Music classes ] | [ section-event > ] |
1.2.76 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 ] | [ section-label-event > ] |
1.2.77 section-event ¶
Music event type section-event is in music objects of type SectionEvent.
Accepted by: Bar_engraver and Divisio_engraver.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < section-event ] | [ Up: Music classes ] | [ segno-mark-event > ] |
1.2.78 section-label-event ¶
Music event type section-label-event is in music objects of type SectionLabelEvent.
Accepted by: Mark_tracking_translator.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < section-label-event ] | [ Up: Music classes ] | [ skip-event > ] |
1.2.79 segno-mark-event ¶
Music event type segno-mark-event is in music objects of type SegnoMarkEvent.
Accepted by: Bar_engraver and Mark_tracking_translator.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < segno-mark-event ] | [ Up: Music classes ] | [ slur-event > ] |
1.2.80 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 ] | [ sostenuto-event > ] |
1.2.81 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 ] | [ spacing-section-event > ] |
1.2.82 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.83 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.84 span-dynamic-event ¶
Music event type span-dynamic-event is in music objects of type CrescendoEvent and DecrescendoEvent.
Accepted by: Dynamic_engraver.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < span-dynamic-event ] | [ Up: Music classes ] | [ staff-highlight-event > ] |
1.2.85 span-event ¶
Music event type span-event is in music objects of type BeamEvent, BendSpanEvent, CrescendoEvent, DecrescendoEvent, EpisemaEvent, FingerGlideEvent, LigatureEvent, MeasureCounterEvent, MeasureSpannerEvent, OptionalMaterialEvent, PhrasingSlurEvent, SlurEvent, SostenutoEvent, SpanEvent, StaffHighlightEvent, StaffSpanEvent, SustainEvent, TempoGradualChangeEvent, TextSpanEvent, TremoloSpanEvent, TrillSpanEvent, TupletSpanEvent, UnaCordaEvent and VoltaSpanEvent.
Not accepted by any engraver or performer.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < span-event ] | [ Up: Music classes ] | [ staff-span-event > ] |
1.2.86 staff-highlight-event ¶
Music event type staff-highlight-event is in music objects of type StaffHighlightEvent.
Accepted by: Staff_highlight_engraver.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < staff-highlight-event ] | [ Up: Music classes ] | [ stanza-event > ] |
1.2.87 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 ] | [ StreamEvent > ] |
1.2.88 stanza-event ¶
Music event type stanza-event is in music objects of type StanzaEvent.
Not accepted by any engraver or performer.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < stanza-event ] | [ Up: Music classes ] | [ string-number-event > ] |
1.2.89 StreamEvent ¶
Music event type StreamEvent is in music objects of type AbsoluteDynamicEvent, AdHocJumpEvent, AdHocMarkEvent, AlternativeEvent, AnnotateOutputEvent, ApplyOutputEvent, ArpeggioEvent, ArticulationEvent, BarCheckEvent, BarEvent, BassFigureEvent, BeamBreakEvent, BeamEvent, BeamForbidEvent, BendAfterEvent, BendSpanEvent, BreakDynamicSpanEvent, BreathingEvent, CaesuraEvent, ChordSlurEvent, ClusterNoteEvent, CodaMarkEvent, CompletizeExtenderEvent, CrescendoEvent, DalSegnoEvent, DecrescendoEvent, DoublePercentEvent, DurationLineEvent, EpisemaEvent, ExtenderEvent, FineEvent, FingerGlideEvent, FingeringEvent, FootnoteEvent, GlissandoEvent, HarmonicEvent, HyphenEvent, KeyChangeEvent, LabelEvent, LaissezVibrerEvent, LigatureEvent, LineBreakEvent, LyricEvent, MeasureCounterEvent, MeasureSpannerEvent, MultiMeasureArticulationEvent, MultiMeasureRestEvent, MultiMeasureTextEvent, NonArpeggiatoEvent, NoteEvent, NoteGroupingEvent, OptionalMaterialEvent, OttavaEvent, PageBreakEvent, PageTurnEvent, PartCombineEvent, PartialEvent, PercentEvent, PhrasingSlurEvent, PolymetricTimeSignatureEvent, ReferenceTimeSignatureEvent, RehearsalMarkEvent, RepeatSlashEvent, RepeatTieEvent, RestEvent, ScriptEvent, SectionEvent, SectionLabelEvent, SegnoMarkEvent, SkipEvent, SlurEvent, SostenutoEvent, SpacingSectionEvent, SpanEvent, StaffHighlightEvent, StaffSpanEvent, StanzaEvent, StringNumberEvent, StrokeFingerEvent, SustainEvent, TempoChangeEvent, TempoGradualChangeEvent, TextMarkEvent, TextScriptEvent, TextSpanEvent, TieEvent, TremoloEvent, TremoloSpanEvent, TrillSpanEvent, TupletSpanEvent, UnaCordaEvent, VoltaRepeatEndEvent, VoltaRepeatStartEvent, VoltaSpanEvent and VowelTransitionEvent.
Not accepted by any engraver or performer.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < StreamEvent ] | [ Up: Music classes ] | [ stroke-finger-event > ] |
1.2.90 string-number-event ¶
Music event type string-number-event is in music objects of type StringNumberEvent.
Accepted by: Bend_spanner_engraver, Fretboard_engraver and Tab_note_heads_engraver.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < string-number-event ] | [ Up: Music classes ] | [ structural-event > ] |
1.2.91 stroke-finger-event ¶
Music event type stroke-finger-event is in music objects of type StrokeFingerEvent.
Not accepted by any engraver or performer.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < stroke-finger-event ] | [ Up: Music classes ] | [ sustain-event > ] |
1.2.92 structural-event ¶
Music event type structural-event is in music objects of type AlternativeEvent, CodaMarkEvent, DalSegnoEvent, FineEvent, SectionEvent, SegnoMarkEvent, VoltaRepeatEndEvent and VoltaRepeatStartEvent.
Not accepted by any engraver or performer.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < structural-event ] | [ Up: Music classes ] | [ tempo-change-event > ] |
1.2.93 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 ] | [ tempo-gradual-change-event > ] |
1.2.94 tempo-change-event ¶
Music event type tempo-change-event is in music objects of type TempoChangeEvent.
Accepted by: Metronome_mark_engraver and Tempo_performer.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < tempo-change-event ] | [ Up: Music classes ] | [ text-mark-event > ] |
1.2.95 tempo-gradual-change-event ¶
Music event type tempo-gradual-change-event is in music objects of type TempoGradualChangeEvent.
Accepted by: Tempo_performer.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < tempo-gradual-change-event ] | [ Up: Music classes ] | [ text-script-event > ] |
1.2.96 text-mark-event ¶
Music event type text-mark-event is in music objects of type TextMarkEvent.
Accepted by: Text_mark_engraver.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < text-mark-event ] | [ Up: Music classes ] | [ text-span-event > ] |
1.2.97 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.98 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 ] | [ time-signature-event > ] |
1.2.99 tie-event ¶
Music event type tie-event is in music objects of type TieEvent.
Accepted by: Drum_note_performer, Note_performer, Tie_engraver and Tie_performer.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < tie-event ] | [ Up: Music classes ] | [ tremolo-event > ] |
1.2.100 time-signature-event ¶
Music event type time-signature-event is in music objects of type PolymetricTimeSignatureEvent and ReferenceTimeSignatureEvent.
Not accepted by any engraver or performer.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < time-signature-event ] | [ Up: Music classes ] | [ tremolo-span-event > ] |
1.2.101 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.102 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.103 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.104 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 ] | [ volta-repeat-end-event > ] |
1.2.105 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 ] | [ volta-repeat-start-event > ] |
1.2.106 volta-repeat-end-event ¶
Music event type volta-repeat-end-event is in music objects of type VoltaRepeatEndEvent.
Accepted by: Divisio_engraver, Lyric_repeat_count_engraver, Repeat_acknowledge_engraver and Signum_repetitionis_engraver.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < volta-repeat-end-event ] | [ Up: Music classes ] | [ volta-span-event > ] |
1.2.107 volta-repeat-start-event ¶
Music event type volta-repeat-start-event is in music objects of type VoltaRepeatStartEvent.
Accepted by: Divisio_engraver and Repeat_acknowledge_engraver.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < volta-repeat-start-event ] | [ Up: Music classes ] | [ vowel-transition-event > ] |
1.2.108 volta-span-event ¶
Music event type volta-span-event is in music objects of type VoltaSpanEvent.
Accepted by: Volta_engraver.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < volta-span-event ] | [ Up: Music classes ] | [ Music properties > ] |
1.2.109 vowel-transition-event ¶
Music event type vowel-transition-event is in music objects of type VowelTransitionEvent.
Accepted by: Hyphen_engraver.
| [ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < vowel-transition-event ] | [ Up: Music definitions ] | [ Translation > ] |
1.3 Music properties ¶
absolute-octave(integer)The absolute octave for an octave check note.
alteration(number)Alteration for figured bass.
alteration-bracket(boolean)Put brackets around bass figure alteration.
alternative-dir(direction)Indicates that an
alternative-eventis the first (-1), middle (0), or last (1) of group of alternate endings.alternative-number(non-negative, exact integer)The index of the current
\alternativeelement, starting from one.articulation-type(symbol)Key for script definitions alist.
articulations(list of music objects)Articulation events specifically for this note.
associated-context(string)Name of the context associated with this
\lyricstosection.associated-context-type(symbol)Type of the context associated with this
\lyricstosection.augmented(boolean)This figure is for an augmented figured bass (with
+sign).augmented-slash(boolean)This figure is for an augmented figured bass (back-slashed number).
automatically-numbered(boolean)Should a footnote be automatically numbered?
autosplit-end(boolean)Duration of event was truncated by automatic splitting in
Completion_heads_engraver.bar-type(string)The type of bar line to create, e.g.,
"|"bass(boolean)Set if this note is a bass note in a chord.
beam-break-permission(symbol)Whether to force or forbid breaking of an automatic beam between two notes.
beat-structure(a number list or a list of them)Beat structure for automatic beams, optionally with inner lists defining submeasure structure for automatic bar lines.
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-tag(symbol)Tag identifying the musical scope of a context change. The change applies to the nearest enclosing music with this tag.
change-to-id(string)Name of the context to change to.
change-to-type(symbol)Type of the context to change to.
class(symbol)The class name of an event class.
color(color)The color of a highlight.
context(context)The context to which an event is sent.
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(rational number)Denominator of a ratio.
digit(non-negative, exact integer)Digit for fingering.
diminished(boolean)This bass figure should be slashed.
direction(direction)Print this up or down?
drum-type(symbol)Which percussion instrument to play this note on.
duration(duration)Duration of this note or lyric.
element(music)The single child of a Music_wrapper music object, or the body of a repeat.
elements(list of music objects)A list of elements for sequential of simultaneous music, or the alternatives of repeated music.
elements-callback(procedure)Return a list of children, for use by a sequential iterator. Takes a single music parameter.
error-found(boolean)If true, a parsing error was found in this expression.
figure(integer)A bass figure.
fine-folded(boolean)True in a
fine-eventthat is issued from within a folded repeat (segno or volta).footnote-text(markup)Text to appear in a footnote.
force-accidental(boolean)If set, a cautionary accidental should always be printed on this note.
grob-property(symbol)The symbol of the grob property to set.
grob-property-path(list)A list of symbols, locating a nested grob property, e.g.,
(beamed-lengths details).grob-value(any type)The value of the grob property to set.
horizontal-direction(direction)This is
RIGHTfor\textMark, andLEFTfor\textEndMark.id(index or symbol)The ID of an event.
input-tag(any type)Arbitrary marker to relate input and output.
inversion(boolean)If set, this chord note is inverted.
iterator-ctor(procedure)Function to construct a
music-event-iteratorobject for this music.label(non-negative, exact integer)Sequence number of a mark. 1 is first.
last-pitch(pitch)The last pitch after relativization.
length(moment)The endpoint of this music. This property is unhappily named in that it does not account for any initial grace notes: the full length of the music is
lengthminus the start time. A value ofINF-MOMENTindicates indefinite length.length-callback(procedure)How to compute the duration of this music. This property can only be defined as initializer in scm/define-music-types.scm.
line-break-permission(symbol)When the music is at top-level, whether to allow, forbid or force a line break.
metronome-count(number or pair of numbers)How many beats in a minute?
midi-extra-velocity(integer)How much louder or softer should this note be in MIDI output? The default is 0.
midi-length(procedure)Function to determine how long to play a note in MIDI. It should take a moment (the written length of the note) and a context, and return a moment (the length to play the note).
moment(moment)The moment at which an event happens.
music-cause(music)The music object that is the cause of an event.
name(symbol)Name of this music object.
no-continuation(boolean)If set, disallow continuation lines.
numerator(rational number)Numerator of a ratio.
octavation(integer)This pitch was octavated by how many octaves? For chord inversions, this is negative.
once(boolean)Apply this operation only during one time step?
ops(any type)The operations to apply during the creation of a context.
origin(input location)Where was this piece of music defined?
ottava-number(integer)The octavation for
\ottava.page-break-permission(symbol)When the music is at top-level, whether to allow, forbid or force a page break.
page-label(symbol)The label of a page marker.
page-marker(boolean)If true, and the music expression is found at top-level, a page marker object is instanciated instead of a score.
page-turn-permission(symbol)When the music is at top-level, whether to allow, forbid or force a page turn.
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.
pitch-approximate(boolean)The
pitchproperty approximates a pitch that cannot be known exactly, such as the highest note a singer can sing.pop-first(boolean)Do a revert before we try to do an override on some grob property.
procedure(procedure)The function to run with
\applycontext. It must take a single argument, being the context.property-operations(list)Do these operations for instantiating the context.
property-path(symbol)The path of a property.
quoted-context-id(string)The ID of the context to direct quotes to, e.g.,
cue.quoted-context-type(symbol)The name of the context to direct quotes to, e.g.,
Voice.quoted-events(vector)A vector of with
momentandevent-listentries.quoted-music-clef(string)The clef of the voice to quote.
quoted-music-name(string)The name of the voice to quote.
quoted-transposition(pitch)The pitch used for the quote, overriding
\transposition.quoted-voice-direction(direction)Should the quoted voice be up-stem or down-stem?
repeat-body-start-moment(moment)In a D.S. event, the moment of the segno.
repeat-count(non-negative, exact integer)The number of times to perform a
\repeat.return-count(non-negative, exact integer)The number of times to perform a D.S.
search-direction(direction)Limits the scope of
\contextsearches.slash-count(integer)The number of slashes in a single-beat repeat. If zero, signals a beat containing varying durations.
span-direction(direction)Does this start or stop a spanner?
span-text(markup)The displayed text for dynamic text spanners (e.g., cresc.).
span-type(symbol)What kind of dynamic spanner should be created? Options are
'textand'hairpin.spanner-id(index or symbol)Identifier to distinguish concurrent spanners.
start-callback(procedure)Function to compute the negative length of starting grace notes. This property can only be defined as initializer in scm/define-music-types.scm.
string-number(integer)The number of the string in a
StringNumberEvent.stroke-finger-digit(non-negative, exact integer)Digit for stroke finger.
stroke-finger-text(markup)Markup expression to be printed for stroke finger.
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.
time-signature(time signature)A time-signature specification. See the
\timecommand.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 top-level music handler.volta-depth(non-negative, exact integer)The depth in the repeat structure.
volta-numbers(number list)Volte to which this music applies.
what(symbol)What to change for auto-change.
FIXME: Naming.
X-offset(number)Offset of resulting grob; only used for balloon texts.
Y-offset(number)Offset of resulting grob; only used for balloon texts.
| [ << 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 ] | [ ChordGrid > ] |
2.1.1 ChoirStaff ¶
Identical to StaffGroup except that the
contained staves are not connected vertically.
This context creates the following layout object(s):
Arpeggio, ChordBracket, ChordSlur, InstrumentName, SpanBarStub, StaffGrouper, SystemStartBar, SystemStartBrace, SystemStartBracket, SystemStartSquare and VerticalAlignment.
This context sets the following properties:
- Revert grob property
extra-spacing-widthinDynamicText - Set context property
instrumentNameto'(). - Set context property
localAlterationsto#f. - Set context property
localAlterationsto'(). - Set context property
shortInstrumentNameto'(). - Set context property
systemStartDelimiterto'SystemStartBracket. - Set context property
topLevelAlignmentto#f. - Set grob property
extra-spacing-widthinDynamicTextto#f.
This is not a ‘Bottom’ context; search for such a one will commence after creating an implicit context of type Staff.
Context ChoirStaff can contain
ChoirStaff, ChordNames, Devnull, DrumStaff, Dynamics, FiguredBass, FretBoards, GrandStaff, GregorianTranscriptionLyrics, GregorianTranscriptionStaff, KievanStaff, Lyrics, MensuralStaff, NoteNames, OneStaff, PetrucciStaff, PianoStaff, RhythmicStaff, Staff, StaffGroup, TabStaff, VaticanaLyrics and VaticanaStaff.
This context is built from the following engraver(s):
Apply_output_engraverApply a procedure to any grob acknowledged.
Music types accepted:
apply-output-eventInstrument_name_engraverCreate a system start text for instrument or vocal names.
Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
instrumentName(markup)The name to print left of a staff. The
instrumentNameproperty labels the staff in the first system, and theshortInstrumentNameproperty labels following lines.shortInstrumentName(markup)See
instrumentName.shortVocalName(markup)Name of a vocal line, short version.
vocalName(markup)Name of a vocal line.
This engraver creates the following layout object(s):
InstrumentName.Span_arpeggio_engraverMake arpeggios, non-arpeggiato brackets, and vertical slurs spanning multiple staves.
Properties (read)
connectArpeggios(boolean)If set, connect arpeggios across piano staff.
connectChordBrackets(boolean)If set, connect chord brackets across piano staff.
connectChordSlurs(boolean)If set, connect chord slurs across piano staff.
This engraver creates the following layout object(s):
Arpeggio,ChordBracketandChordSlur.Span_bar_stub_engraverMake stubs for span bars in all contexts that the span bars cross.
This engraver creates the following layout object(s):
SpanBarStub.System_start_delimiter_engraverCreate a system start delimiter (i.e., a
SystemStartBar,SystemStartBrace,SystemStartBracketorSystemStartSquarespanner).Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
systemStartDelimiter(symbol)Which grob to make for the start of the system/staff? Set to
SystemStartBrace,SystemStartBracketorSystemStartBar.systemStartDelimiterHierarchy(pair)A nested list, indicating the nesting of a start delimiters.
This engraver creates the following layout object(s):
SystemStartBar,SystemStartBrace,SystemStartBracketandSystemStartSquare.Vertical_align_engraverCatch groups (staves, lyrics lines, etc.) and stack them vertically.
Properties (read)
alignAboveContext(string)Where to insert newly created context in vertical alignment.
alignBelowContext(string)Where to insert newly created context in vertical alignment.
hasAxisGroup(boolean)True if the current context is contained in an axis group.
This engraver creates the following layout object(s):
StaffGrouperandVerticalAlignment.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < ChoirStaff ] | [ Up: Contexts ] | [ ChordGridScore > ] |
2.1.2 ChordGrid ¶
Creates chord grid notation. This context is always part of
a ChordGridScore context.
This context also accepts commands for the following context(s):
Staff.
This context creates the following layout object(s):
BarLine, ChordSquare, DoublePercentRepeat, DoublePercentRepeatCounter, GridChordName, PercentRepeat, PercentRepeatCounter, StaffSymbol, SystemStartBar, SystemStartBrace, SystemStartBracket, SystemStartSquare and VerticalAxisGroup.
This context sets the following properties:
- Set grob property
font-sizeinBarLineto3. - Set grob property
hair-thicknessinBarLineto2. - Set grob property
kerninBarLineto5. - Set grob property
line-positionsinStaffSymbolto :'(-13.5 13.5)
- Set grob property
thicknessinStaffSymbolto2. - Set grob property
thicknessinSystemStartBarto2.
This is a ‘Bottom’ context; no contexts will be created implicitly from it.
This context cannot contain other contexts.
This context is built from the following engraver(s):
Alteration_glyph_engraverSet the
glyph-name-alistof all grobs having theaccidental-switch-interfaceto the value of the context’salterationGlyphsproperty, when defined.Properties (read)
alterationGlyphs(list)Alist mapping alterations to accidental glyphs. Alterations are given as exact numbers, e.g., -1/2 for flat. This applies to all grobs that can print accidentals.
Apply_output_engraverApply a procedure to any grob acknowledged.
Music types accepted:
apply-output-eventAxis_group_engraverGroup all objects created in this context in a
VerticalAxisGroupspanner.Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
hasAxisGroup(boolean)True if the current context is contained in an axis group.
keepAliveInterfaces(list)A list of symbols, signifying grob interfaces that are worth keeping a staff with
remove-emptyset around for.Properties (write)
hasAxisGroup(boolean)True if the current context is contained in an axis group.
This engraver creates the following layout object(s):
VerticalAxisGroup.Bar_engraverCreate bar lines for various commands, including
\\bar.If
forbidBreakBetweenBarLinesis true, allow line breaks at bar lines only.Music types accepted:
ad-hoc-jump-event,caesura-event,coda-mark-event,dal-segno-event,fine-event,section-eventandsegno-mark-eventProperties (read)
caesuraType(list)An alist
((bar-line . bar-type) (breath . breath-type) (scripts . script-type...) (underlying-bar-line . bar-type))specifying which breath mark, bar line, and scripts to create at
\caesura. All entries are optional.
bar-linehas higher priority than a measure bar line andunderlying-bar-linehas lower priority than a measure bar line.caesuraTypeTransform(procedure)An engraver callback taking three arguments and returning an alist of the same kind as
caesuraType.The first argument is the context.
The second argument is the value of
caesuraTypewith an additional entry(articulations . symbol-list)identifying the articulations attached to the caesura in the music. If the transform function returns this second argument unmodified, it is as if no transform function were set; the function is free to return a different value. The transform function can remove articulations, but any added articulations are ignored.The third argument is a symbol-list identifying certain things the engraver has observed.
bar-lineindicates that the engraver has observed aBarLineat the current moment.doubleRepeatBarType(string)Bar line to insert where the end of one
\repeat voltacoincides with the start of another. The default is ‘:..:’.doubleRepeatSegnoBarType(string)Bar line to insert where an in-staff segno coincides with the end of one
\repeat voltaand the beginning of another. The default is ‘:|.S.|:’.endRepeatBarType(string)Bar line to insert at the end of a
\repeat volta. The default is ‘:|.’.endRepeatSegnoBarType(string)Bar line to insert where an in-staff segno coincides with the end of a
\repeat volta. The default is ‘:|.S’.fineBarType(string)Bar line to insert at
\fine. Where there is also a repeat bar line, the repeat bar line takes precedence and this value is appended to it as an annotation. The default is ‘|.’.fineSegnoBarType(string)Bar line to insert where an in-staff segno coincides with
\fine. The default is ‘|.S’.fineStartRepeatSegnoBarType(string)Bar line to insert where an in-staff segno coincides with
\fineand the start of a\repeat volta. The default is ‘|.S.|:’.forbidBreakBetweenBarLines(boolean)If set to
#t,Bar_engraverforbids line breaks where there is no bar line.measureBarType(string)Bar line to insert at a measure boundary.
printInitialRepeatBar(boolean)Use a special bar line at the start of a volta repeat even at the beginning of the piece.
printTrivialVoltaRepeats(boolean)Notate volta-style repeats even when the repeat count is 1.
repeatCommands(list)A list of commands related to volta-style repeats. In general, each element is a list,
'(command args…), but a command with no arguments may be abbreviated to a symbol; e.g.,'((start-repeat))may be given as'(start-repeat).
end-repeat return-countEnd a repeated section. return-count is the number of times to go back from this point to the beginning of the section.
start-repeat repeat-countStart a repeated section. repeat-count is the number of times to perform this section.
volta textIf text is markup, start a volta bracket with that label; if text is
#f, end a volta bracket.sectionBarType(string)Bar line to insert at
\section. Where there is also a repeat bar line, the repeat bar line takes precedence and this value is appended to it as an annotation. The default is ‘||’.segnoBarType(string)Bar line to insert at an in-staff segno. The default is ‘S’.
segnoStyle(symbol)A symbol that indicates how to print a segno:
bar-lineormark.startRepeatBarType(string)Bar line to insert at the start of a
\repeat volta. The default is ‘.|:’.startRepeatSegnoBarType(string)Bar line to insert where an in-staff segno coincides with the start of a
\repeat volta. The default is ‘S.|:’.submeasureBarsEnabled(boolean)Whether to insert submeasure bar lines at boundaries specified by
submeasureStructure. They are typically enabled selectively to clarify complex rhythms.submeasureBarType(string)Bar line to insert at submeasure boundaries specified by
submeasureStructure, whensubmeasureBarsEnabledallows.submeasureStructure(number list)A sequence describing subdivisions of a measure. Each element tells the distance from the previous division in units of
beatBase.underlyingRepeatBarType(string)Bar line to insert at points of repetition or departure where no bar line would normally appear, for example at the end of a system broken in mid measure where the next system begins with a segno. Where there is also a repeat bar line, the repeat bar line takes precedence and this value is appended to it as an annotation. The default is ‘||’.
whichBar(string)The current bar line type, or
'()if there is no bar line. Setting this explicitly in user code is deprecated. Use\baror related commands to set it.Properties (write)
currentBarLine(graphical (layout) object)Set to the
BarLinethatBar_engraverhas created in the current time step.forbidBreak(boolean)If set to
#t, prevent a line break at this point, except if explicitly requested by the user.This engraver creates the following layout object(s):
BarLine.Chord_square_engraverEngrave chord squares in chord grids.
Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
This engraver creates the following layout object(s):
ChordSquare.Current_chord_text_engraverCatch note and rest events and generate the appropriate chord text using
chordNameFunction. Actually creating a chord name grob is left to other engravers.Music types accepted:
general-rest-eventandnote-eventProperties (read)
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.
majorSevenSymbol(markup)How should the major 7th be formatted in a chord name?
noChordSymbol(markup)Markup to be displayed for rests in a ChordNames context.
Properties (write)
currentChordCause(stream event)Event cause of the chord that should be created in this time step (if any).
currentChordText(markup)In contexts printing chord names, this is at any point of time the markup that will be put in the chord name.
Double_percent_repeat_engraverMake double measure repeats.
Music types accepted:
double-percent-eventProperties (read)
countPercentRepeats(boolean)If set, produce counters for percent repeats.
measureLength(positive exact rational or +inf.0)The musical length of the current measure.
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, except if explicitly requested by the user.This engraver creates the following layout object(s):
DoublePercentRepeatandDoublePercentRepeatCounter.Grid_chord_name_engraverRead
currentChordTextto create chord names adapted for typesetting within a chord grid.Properties (read)
currentChordCause(stream event)Event cause of the chord that should be created in this time step (if any).
currentChordText(markup)In contexts printing chord names, this is at any point of time the markup that will be put in the chord name.
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
This engraver creates the following layout object(s):
GridChordName.Percent_repeat_engraverMake whole measure repeats.
Music types accepted:
percent-eventProperties (read)
countPercentRepeats(boolean)If set, produce counters for percent repeats.
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
repeatCountVisibility(procedure)A procedure taking as arguments an integer and context, returning whether the corresponding percent repeat number should be printed when
countPercentRepeatsis set.This engraver creates the following layout object(s):
PercentRepeatandPercentRepeatCounter.Staff_symbol_engraverCreate the constellation of five (default) staff lines.
Music types accepted:
staff-span-eventThis engraver creates the following layout object(s):
StaffSymbol.System_start_delimiter_engraverCreate a system start delimiter (i.e., a
SystemStartBar,SystemStartBrace,SystemStartBracketorSystemStartSquarespanner).Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
systemStartDelimiter(symbol)Which grob to make for the start of the system/staff? Set to
SystemStartBrace,SystemStartBracketorSystemStartBar.systemStartDelimiterHierarchy(pair)A nested list, indicating the nesting of a start delimiters.
This engraver creates the following layout object(s):
SystemStartBar,SystemStartBrace,SystemStartBracketandSystemStartSquare.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < ChordGrid ] | [ Up: Contexts ] | [ ChordNames > ] |
2.1.3 ChordGridScore ¶
Top-level context replacing Score in chord grid notation.
Compared to Score, it uses proportional notation, and has a few other
settings like removing bar numbers.
This context also accepts commands for the following context(s):
Score and Timing.
This context creates the following layout object(s):
BreakAlignGroup, BreakAlignment, CenteredBarNumberLineSpanner, CodaMark, ControlPoint, ControlPolygon, Footnote, GraceSpacing, JumpScript, LeftEdge, MetronomeMark, NonMusicalPaperColumn, PaperColumn, Parentheses, RehearsalMark, SectionLabel, SegnoMark, SpacingSpanner, StaffGrouper, TextMark, VerticalAlignment, VoltaBracket and VoltaBracketSpanner.
This context sets the following properties:
- Set context property
additionalPitchPrefixto"add". - Set context property
aDueTextto"a2". - Set context property
alterationGlyphsto#f. - Set context property
alternativeRestoresto:'(measurePosition measureLength measureStartNow lastChord)
- Set context property
associatedVoiceTypeto'Voice. - Set context property
autoAccidentalsto:'(Staff #<procedure at lily/music-functions.scm:1794:0 (context pitch barnum)>)
- Set context property
autoBeamChecktodefault-auto-beam-check. - Set context property
autoBeamingto#t. - Set context property
autoCautionariesto'(). - Set context property
barNumberFormattertorobust-bar-number-function. - Set context property
barNumberVisibilitytofirst-bar-number-invisible-and-no-parenthesized-bar-numbers. - Set context property
beamHalfMeasureto#t. - Set context property
breathMarkDefinitionsto:'((altcomma (text #<procedure musicglyph-markup (layout props glyph-name)> "scripts.raltcomma")) (caesura (text #<procedure musicglyph-markup (layout props glyph-name)> "scripts.caesura.straight")) (chantdoublebar (extra-spacing-width -1.0 . 0.0) (stencil . #<procedure ly:breathing-sign::finalis (_)>) (Y-offset . 0.0)) (chantfullbar (extra-spacing-width -1.0 . 0.0) (stencil . #<procedure ly:breathing-sign::divisio-maxima (_)>) (Y-offset . 0.0)) (chanthalfbar (extra-spacing-height . #<procedure item::extra-spacing-height-including-staff (grob)>) (extra-spacing-width -1.0 . 0.0) (stencil . #<procedure ly:breathing-sign::divisio-maior (_)>) (Y-offset . 0.0)) (chantquarterbar (extra-spacing-height . #<procedure item::extra-spacing-height-including-staff (grob)>) (extra-spacing-width -1.0 . 0.0) (stencil . #<procedure ly:breathing-sign::divisio-minima (_)>)) (comma (text #<procedure musicglyph-markup (layout props glyph-name)> "scripts.rcomma")) (curvedcaesura (text #<procedure musicglyph-markup (layout props glyph-name)> "scripts.caesura.curved")) (outsidecomma (outside-staff-priority . 40) (text #<procedure musicglyph-markup (layout props glyph-name)> "scripts.rcomma")) (spacer (text #<procedure null-markup (layout props)>)) (tickmark (outside-staff-priority . 40) (text #<procedure musicglyph-markup (layout props glyph-name)> "scripts.tickmark")) (upbow (outside-staff-priority . 40) (text #<procedure musicglyph-markup (layout props glyph-name)> "scripts.uupbow")) (varcomma (text #<procedure musicglyph-markup (layout props glyph-name)> "scripts.rvarcomma"))) - Set context property
breathMarkTypeto'comma. - Set context property
caesuraTypeto:'((breath . caesura))
- Set context property
centerBarNumbersto#f. - Set context property
chordNameExceptionsto:'(((#<Pitch e' > #<Pitch gis' >) #<procedure line-markup (layout props args)> ("+")) ((#<Pitch ees' > #<Pitch ges' >) #<procedure line-markup (layout props args)> ((#<procedure line-markup (layout props args)> ((#<procedure fontsize-markup (layout props increment arg)> 2 "°"))))) ((#<Pitch ees' > #<Pitch ges' > #<Pitch bes' >) #<procedure line-markup (layout props args)> ((#<procedure super-markup (layout props arg)> "ø"))) ((#<Pitch ees' > #<Pitch ges' > #<Pitch beses' >) #<procedure concat-markup (layout props args)> ((#<procedure line-markup (layout props args)> ((#<procedure fontsize-markup (layout props increment arg)> 2 "°"))) (#<procedure super-markup (layout props arg)> "7"))) ((#<Pitch e' > #<Pitch g' > #<Pitch bes' > #<Pitch des'' > #<Pitch ees'' > #<Pitch fis'' > #<Pitch aes'' >) #<procedure line-markup (layout props args)> ((#<procedure super-markup (layout props arg)> "alt"))) ((#<Pitch g' >) #<procedure line-markup (layout props args)> ((#<procedure super-markup (layout props arg)> "5"))) ((#<Pitch g' > #<Pitch c'' >) #<procedure line-markup (layout props args)> ((#<procedure super-markup (layout props arg)> "5")))) - Set context property
chordNameFunctiontoignatzek-chord-names. - Set context property
chordNameLowercaseMinorto#f. - Set context property
chordNameSeparatorto:'(#<procedure hspace-markup (layout props amount)> 0.5)
- Set context property
chordNoteNamerto#<procedure at lily/chord-name.scm:118:0 (pitch lowercase?)>. - Set context property
chordPrefixSpacerto0. - Set context property
chordRootNamerto#<procedure at lily/chord-name.scm:118:0 (pitch lowercase?)>. - Set context property
clefGlyphto"clefs.G". - Set context property
clefPositionto-2. - Set context property
clefTranspositionFormattertoclef-transposition-markup. - Set context property
codaMarkFormatterto#<procedure at lily/translation-functions.scm:232:4 (number context)>. - Set context property
completionFactortounity-if-multimeasure. - Set context property
crescendoSpannerto'hairpin. - Set context property
cueClefTranspositionFormattertoclef-transposition-markup. - Set context property
dalSegnoTextFormattertoformat-dal-segno-text. - Set context property
decrescendoSpannerto'hairpin. - Set context property
deprecatedBarCheckSynchronizeto#f. - Set context property
doubleRepeatBarTypeto":..:". - Set context property
doubleRepeatSegnoBarTypeto":|.S.|:". - Set context property
drumStyleTableto#<hash-table>. - Set context property
endRepeatBarTypeto":|.". - Set context property
endRepeatSegnoBarTypeto":|.S". - Set context property
explicitClefVisibilityto:#(#t #t #t)
- Set context property
explicitCueClefVisibilityto:#(#f #t #t)
- Set context property
explicitKeySignatureVisibilityto:#(#t #t #t)
- Set context property
extendersOverReststo#t. - Set context property
extraNaturalto#t. - Set context property
figuredBassAlterationDirectionto-1. - Set context property
figuredBassFormattertoformat-bass-figure. - Set context property
figuredBassLargeNumberAlignmentto0. - Set context property
figuredBassPlusDirectionto-1. - Set context property
figuredBassPlusStrokedAlistto:'((2 . "figbass.twoplus") (4 . "figbass.fourplus") (5 . "figbass.fiveplus") (6 . "figbass.sixstroked") (7 . "figbass.sevenstroked") (9 . "figbass.ninestroked"))
- Set context property
fineBarTypeto"|.". - Set context property
fineSegnoBarTypeto"|.S". - Set context property
fineStartRepeatSegnoBarTypeto"|.S.|:". - Set context property
fineTextto"Fine". - Set context property
fingeringOrientationsto:'(up down)
- Set context property
firstClefto#t. - Set context property
forbidBreakBetweenBarLinesto#t. - Set context property
graceSettingsto:'((Voice Stem direction 1) (Voice Slur direction -1) (Voice Stem font-size -3) (Voice Flag font-size -3) (Voice NoteHead font-size -3) (Voice TabNoteHead font-size -4) (Voice Dots font-size -3) (Voice Stem length-fraction 0.8) (Voice Stem no-stem-extend #t) (Voice Beam beam-thickness 0.384) (Voice Beam length-fraction 0.8) (Voice Accidental font-size -4) (Voice AccidentalCautionary font-size -4) (Voice Script font-size -3) (Voice Fingering font-size -8) (Voice StringNumber font-size -8))
- Set context property
harmonicAccidentalsto#t. - Set context property
highStringOneto#t. - Set context property
initialTimeSignatureVisibilityto:#(#f #t #t)
- Set context property
instrumentTranspositionto#<Pitch c' >. - Set context property
keepAliveInterfacesto:'(bass-figure-interface chord-name-interface cluster-beacon-interface dynamic-interface fret-diagram-interface lyric-syllable-interface note-head-interface tab-note-head-interface lyric-interface percent-repeat-interface stanza-number-interface)
- Set context 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) (1 . 1) (5 . 1) (2 . 1) (6 . 1))
- Set context property
lyricMelismaAlignmentto-1. - Set context property
majorSevenSymbolto:'(#<procedure line-markup (layout props args)> ((#<procedure fontsize-markup (layout props increment arg)> -3 (#<procedure triangle-markup (layout props filled)> #f)))) - Set context property
measureBarTypeto"|". - Set context property
melismaBusyPropertiesto:'(melismaBusy slurMelismaBusy tieMelismaBusy beamMelismaBusy completionBusy)
- Set context property
metronomeMarkFormattertoformat-metronome-markup. - Set context property
middleCClefPositionto-6. - Set context property
middleCPositionto-6. - Set context property
minorChordModifierto"m". - Set context property
noChordSymbolto"N.C.". - Set context property
noteNameFunctiontonote-name-markup. - Set context property
noteNameSeparatorto"/". - Set context property
noteToFretFunctiontodetermine-frets. - Set context property
partCombineTextsOnNoteto#t. - Set context property
pedalSostenutoStringsto:'("Sost. Ped." "*Sost. Ped." "*") - Set context property
pedalSostenutoStyleto'mixed. - Set context property
pedalSustainStringsto:'("Ped." "*Ped." "*") - Set context property
pedalSustainStyleto'text. - Set context property
pedalUnaCordaStringsto:'("una corda" "" "tre corde") - Set context property
pedalUnaCordaStyleto'text. - Set context property
predefinedDiagramTableto#f. - Set context property
printAccidentalNamesto#t. - Set context property
printInitialRepeatBarto#t. - Set context property
printKeyCancellationto#t. - Set context property
printOctaveNamesto#f. - Set context property
printPartCombineTextsto#t. - Set context property
printTrivialVoltaRepeatsto#f. - Set context property
proportionalNotationDurationto1/4. - Set context property
quotedCueEventTypesto:'(note-event rest-event tie-event beam-event tuplet-span-event tremolo-event)
- Set context property
quotedEventTypesto:'(StreamEvent)
- Set context property
rehearsalMarkFormatterto#<procedure at lily/translation-functions.scm:232:4 (number context)>. - Set context property
rehearsalMarkto1. - Set context property
repeatCountVisibilitytoall-repeat-counts-visible. - Set context property
restNumberThresholdto1. - Set context property
scriptDefinitionsto:'((accent (avoid-slur . around) (padding . 0.2) (script-stencil feta "sforzato" . "sforzato") (side-axis . 1) (side-relative-direction . -1)) (accentus (script-stencil feta "uaccentus" . "uaccentus") (side-relative-direction . -1) (avoid-slur . ignore) (padding . 0.2) (quantize-position . #t) (script-priority . -100) (side-axis . 1) (direction . 1)) (altcomma (script-stencil feta "laltcomma" . "raltcomma") (quantize-position . #t) (padding . 0.2) (avoid-slur . ignore) (side-axis . 1) (direction . 1)) (bachschleifer (script-stencil feta "bachschleifer" . "bachschleifer") (no-ledgers . #f) (padding . 0.8) (length-fraction . 1.5) (avoid-slur . around) (side-axis . 0) (direction . -1) (staff-position . #<procedure at lily/output-lib.scm:1955:0 (grob)>)) (circulus (script-stencil feta "circulus" . "circulus") (side-relative-direction . -1) (avoid-slur . ignore) (padding . 0.2) (quantize-position . #t) (script-priority . -100) (side-axis . 1) (direction . 1)) (coda (script-stencil feta "coda" . "coda") (padding . 0.2) (avoid-slur . outside) (side-axis . 1) (direction . 1)) (comma (script-stencil feta "lcomma" . "rcomma") (quantize-position . #t) (padding . 0.2) (avoid-slur . ignore) (side-axis . 1) (direction . 1)) (downbow (script-stencil feta "ddownbow" . "udownbow") (padding . 0.2) (skyline-horizontal-padding . 0.2) (avoid-slur . around) (direction . 1) (side-axis . 1) (script-priority . 180)) (downmordent (script-stencil feta "downmordent" . "downmordent") (padding . 0.2) (avoid-slur . around) (side-axis . 1) (direction . 1)) (downprall (script-stencil feta "downprall" . "downprall") (padding . 0.2) (avoid-slur . around) (side-axis . 1) (direction . 1)) (espressivo (avoid-slur . around) (padding . 0.2) (script-stencil feta "espr" . "espr") (side-axis . 1) (side-relative-direction . -1)) (fermata (script-stencil feta "dfermata" . "ufermata") (padding . 0.4) (avoid-slur . around) (outside-staff-priority . 75) (script-priority . 175) (side-axis . 1) (direction . 1)) (flageolet (script-stencil feta "flageolet" . "flageolet") (padding . 0.2) (avoid-slur . around) (direction . 1) (side-axis . 1) (script-priority . 50)) (halfopen (avoid-slur . outside) (padding . 0.2) (script-stencil feta "halfopen" . "halfopen") (side-axis . 1) (direction . 1)) (halfopenvertical (avoid-slur . outside) (padding . 0.2) (script-stencil feta "halfopenvertical" . "halfopenvertical") (side-axis . 1) (direction . 1)) (haydnturn (script-stencil feta "haydnturn" . "haydnturn") (padding . 0.2) (avoid-slur . inside) (side-axis . 1) (direction . 1)) (heel (script-stencil feta "upedalheel" . "upedalheel") (padding . 0.2) (avoid-slur . around) (side-axis . 1) (direction . 1)) (heelcircle (script-stencil feta "pedalheelcircle" . "pedalheelcircle") (padding . 0.2) (avoid-slur . around) (side-axis . 1) (direction . 1)) (henzelongfermata (script-stencil feta "dhenzelongfermata" . "uhenzelongfermata") (padding . 0.4) (avoid-slur . around) (outside-staff-priority . 75) (script-priority . 175) (side-axis . 1) (direction . 1)) (henzeshortfermata (script-stencil feta "dhenzeshortfermata" . "uhenzeshortfermata") (padding . 0.4) (avoid-slur . around) (outside-staff-priority . 75) (script-priority . 175) (side-axis . 1) (direction . 1)) (ictus (script-stencil feta "ictus" . "ictus") (side-relative-direction . -1) (quantize-position . #t) (avoid-slur . ignore) (padding . 0.2) (script-priority . -100) (side-axis . 1) (direction . -1)) (lheel (script-stencil feta "upedalheel" . "upedalheel") (padding . 0.2) (avoid-slur . around) (side-axis . 1) (direction . -1)) (lineprall (script-stencil feta "lineprall" . "lineprall") (padding . 0.2) (avoid-slur . around) (side-axis . 1) (direction . 1)) (longfermata (script-stencil feta "dlongfermata" . "ulongfermata") (padding . 0.4) (avoid-slur . around) (outside-staff-priority . 75) (script-priority . 175) (side-axis . 1) (direction . 1)) (ltoe (script-stencil feta "upedaltoe" . "upedaltoe") (padding . 0.2) (avoid-slur . around) (side-axis . 1) (direction . -1)) (marcato (script-stencil feta "dmarcato" . "umarcato") (padding . 0.2) (avoid-slur . inside) (quantize-position . #t) (side-axis . 1) (side-relative-direction . -1)) (mordent (script-stencil feta "mordent" . "mordent") (padding . 0.2) (avoid-slur . around) (side-axis . 1) (direction . 1)) (open (avoid-slur . outside) (padding . 0.2) (script-stencil feta "open" . "open") (side-axis . 1) (direction . 1)) (outsidecomma (avoid-slur . around) (direction . 1) (padding . 0.2) (side-axis . 1) (script-stencil feta "lcomma" . "rcomma")) (portato (script-stencil feta "uportato" . "dportato") (avoid-slur . around) (padding . 0.45) (side-axis . 1) (side-relative-direction . -1)) (prall (script-stencil feta "prall" . "prall") (padding . 0.2) (avoid-slur . around) (side-axis . 1) (direction . 1)) (pralldown (script-stencil feta "pralldown" . "pralldown") (padding . 0.2) (avoid-slur . around) (side-axis . 1) (direction . 1)) (prallmordent (script-stencil feta "prallmordent" . "prallmordent") (padding . 0.2) (avoid-slur . around) (side-axis . 1) (direction . 1)) (prallprall (script-stencil feta "prallprall" . "prallprall") (padding . 0.2) (avoid-slur . around) (side-axis . 1) (direction . 1)) (prallup (script-stencil feta "prallup" . "prallup") (padding . 0.2) (avoid-slur . around) (side-axis . 1) (direction . 1)) (reverseturn (script-stencil feta "reverseturn" . "reverseturn") (padding . 0.2) (avoid-slur . inside) (side-axis . 1) (direction . 1)) (rheel (script-stencil feta "dpedalheel" . "dpedalheel") (padding . 0.2) (avoid-slur . around) (side-axis . 1) (direction . 1)) (rtoe (script-stencil feta "dpedaltoe" . "dpedaltoe") (padding . 0.2) (avoid-slur . around) (side-axis . 1) (direction . 1)) (segno (script-stencil feta "segno" . "segno") (padding . 0.2) (avoid-slur . outside) (side-axis . 1) (direction . 1)) (semicirculus (script-stencil feta "dsemicirculus" . "dsemicirculus") (side-relative-direction . -1) (quantize-position . #t) (avoid-slur . ignore) (padding . 0.2) (script-priority . -100) (side-axis . 1) (direction . 1)) (shortfermata (script-stencil feta "dshortfermata" . "ushortfermata") (padding . 0.4) (avoid-slur . around) (outside-staff-priority . 75) (script-priority . 175) (side-axis . 1) (direction . 1)) (signumcongruentiae (script-stencil feta "dsignumcongruentiae" . "usignumcongruentiae") (padding . 0.2) (avoid-slur . outside) (side-axis . 1) (direction . 1)) (slashturn (script-stencil feta "slashturn" . "slashturn") (padding . 0.2) (avoid-slur . inside) (side-axis . 1) (direction . 1)) (snappizzicato (script-stencil feta "snappizzicato" . "snappizzicato") (padding . 0.2) (avoid-slur . outside) (side-axis . 1) (direction . 1)) (staccatissimo (avoid-slur . inside) (quantize-position . #t) (script-stencil feta "dstaccatissimo" . "ustaccatissimo") (padding . 0.2) (skyline-horizontal-padding . 0.1) (side-axis . 1) (side-relative-direction . -1) (toward-stem-shift . 1.0) (toward-stem-shift-in-column . 0.0)) (staccato (script-stencil feta "staccato" . "staccato") (side-axis . 1) (side-relative-direction . -1) (quantize-position . #t) (avoid-slur . inside) (toward-stem-shift . 1.0) (toward-stem-shift-in-column . 0.0) (padding . 0.2) (skyline-horizontal-padding . 0.1) (script-priority . -100)) (stopped (script-stencil feta "stopped" . "stopped") (avoid-slur . inside) (padding . 0.2) (side-axis . 1) (direction . 1)) (tenuto (script-stencil feta "tenuto" . "tenuto") (quantize-position . #t) (avoid-slur . inside) (padding . 0.2) (script-priority . -50) (side-axis . 1) (side-relative-direction . -1)) (toe (script-stencil feta "dpedaltoe" . "dpedaltoe") (padding . 0.2) (avoid-slur . around) (side-axis . 1) (direction . 1)) (trill (script-stencil feta "trill" . "trill") (direction . 1) (padding . 0.2) (avoid-slur . outside) (side-axis . 1) (script-priority . 150)) (turn (script-stencil feta "turn" . "turn") (avoid-slur . inside) (padding . 0.2) (side-axis . 1) (direction . 1)) (upbow (script-stencil feta "dupbow" . "uupbow") (avoid-slur . around) (padding . 0.2) (direction . 1) (side-axis . 1) (script-priority . 180)) (upmordent (script-stencil feta "upmordent" . "upmordent") (padding . 0.2) (avoid-slur . around) (side-axis . 1) (direction . 1)) (upprall (script-stencil feta "upprall" . "upprall") (padding . 0.2) (avoid-slur . around) (side-axis . 1) (direction . 1)) (varcoda (script-stencil feta "varcoda" . "varcoda") (padding . 0.2) (avoid-slur . outside) (side-axis . 1) (direction . 1)) (varcomma (script-stencil feta "lvarcomma" . "rvarcomma") (quantize-position . #t) (padding . 0.2) (avoid-slur . ignore) (side-axis . 1) (direction . 1)) (varheel (script-stencil feta "dpedalheel" . "dpedalheel") (padding . 0.2) (avoid-slur . around) (side-axis . 1) (direction . 1)) (vartoe (script-stencil feta "upedaltoe" . "upedaltoe") (padding . 0.2) (avoid-slur . around) (side-axis . 1) (direction . 1)) (verylongfermata (script-stencil feta "dverylongfermata" . "uverylongfermata") (padding . 0.4) (avoid-slur . around) (outside-staff-priority . 75) (script-priority . 175) (side-axis . 1) (direction . 1)) (veryshortfermata (script-stencil feta "dveryshortfermata" . "uveryshortfermata") (padding . 0.4) (avoid-slur . around) (outside-staff-priority . 75) (script-priority . 175) (side-axis . 1) (direction . 1))) - Set context property
sectionBarTypeto"||". - Set context property
segnoBarTypeto"S". - Set context property
segnoMarkFormattertoformat-segno-mark-considering-bar-lines. - Set context property
segnoStyleto'mark. - Set context property
slashChordSeparatorto"/". - Set context property
soloIITextto"Solo II". - Set context property
soloTextto"Solo". - Set context property
startRepeatBarTypeto".|:". - Set context property
startRepeatSegnoBarTypeto"S.|:". - Set context property
stringNumberOrientationsto:'(up down)
- Set context property
stringOneTopmostto#t. - Set context property
stringTuningsto:'(#<Pitch e' > #<Pitch b > #<Pitch g > #<Pitch d > #<Pitch a, > #<Pitch e, >)
- Set context property
strokeFingerOrientationsto:'(right)
- Set context property
subdivideBeamsto#f. - Set context property
submeasureBarsEnabledto#f. - Set context property
submeasureBarTypeto"!". - Set context property
suspendMelodyDecisionsto#f. - Set context property
systemStartDelimiterto'SystemStartBar. - Set context property
tablatureFormattofret-number-tablature-format. - Set context property
tabStaffLineLayoutFunctiontotablature-position-on-lines. - Set context property
tempoCountPrecisionto1/4. - Set context property
tieWaitForNoteto#f. - Set context property
timeSignatureSettingsto:'(((2 . 2) (beamExceptions (end (1/32 8 8 8 8)))) ((2 . 8) (beamExceptions (end (1/8 2)))) ((3 . 2) (beamExceptions (end (1/32 8 8 8 8 8 8)))) ((3 . 4) (beamExceptions (end (1/8 6) (1/12 3 3 3)))) ((3 . 8) (beamExceptions (end (1/8 3)))) ((4 . 2) (beamExceptions (end (1/16 4 4 4 4 4 4 4 4)))) ((4 . 4) (beamExceptions (end (1/8 4 4) (1/12 3 3 3 3)))) ((4 . 8) (beatStructure 2 2)) ((6 . 4) (beamExceptions (end (1/16 4 4 4 4 4 4)))) ((9 . 4) (beamExceptions (end (1/32 8 8 8 8 8 8 8 8)))) ((12 . 4) (beamExceptions (end (1/32 8 8 8 8 8 8 8 8 8 8 8 8)))) ((5 . 8) (beatStructure 3 2)) ((8 . 8) (beatStructure 3 3 2))) - Set context property
timeSignatureto:'(4 . 4)
- Set context property
timingto#t. - Set context property
topLevelAlignmentto#t. - Set context property
underlyingRepeatBarTypeto"||".
This is not a ‘Bottom’ context; search for such a one will commence after creating an implicit context of type Staff.
Context ChordGridScore can contain
ChoirStaff, ChordGrid, ChordNames, Devnull, DrumStaff, Dynamics, FiguredBass, FretBoards, GrandStaff, GregorianTranscriptionLyrics, GregorianTranscriptionStaff, KievanStaff, Lyrics, MensuralStaff, NoteNames, OneStaff, PetrucciStaff, PianoStaff, RhythmicStaff, Staff, StaffGroup, TabStaff, VaticanaLyrics and VaticanaStaff.
This context is built from the following engraver(s):
Apply_output_engraverApply a procedure to any grob acknowledged.
Music types accepted:
apply-output-eventBeam_collision_engraverHelp beams avoid colliding with notes and clefs in other voices.
Break_align_engraverAlign grobs with corresponding
break-align-symbolsinto groups, and order the groups according tobreakAlignOrder. The left edge of the alignment gets a separate group, with a symbolleft-edge.This engraver creates the following layout object(s):
BreakAlignGroup,BreakAlignmentandLeftEdge.Centered_bar_number_align_engraverGroup measure-centered bar numbers in a
CenteredBarNumberLineSpannerso they end up on the same vertical position.Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
This engraver creates the following layout object(s):
CenteredBarNumberLineSpanner.Concurrent_hairpin_engraverCollect concurrent hairpins.
Footnote_engraverCreate footnote texts.
This engraver creates the following layout object(s):
Footnote.Grace_spacing_engraverBookkeeping of shortest starting and playing notes in grace note runs.
Properties (read)
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
GraceSpacing.Jump_engraverThis engraver creates instructions such as D.C. and Fine, placing them vertically outside the set of staves given in the
stavesFoundcontext property.If
Jump_engraveris added or moved to another context,Staff_collecting_engraveralso needs to be there so that marks appear at the intended Y location.Music types accepted:
ad-hoc-jump-event,dal-segno-eventandfine-eventProperties (read)
codaMarkCount(non-negative, exact integer)Updated at the end of each time step in which a coda mark appears: not set during the first time step, 0 up to the first coda mark, 1 from the first to the second, 2 from the second to the third, etc.
codaMarkFormatter(procedure)A procedure that creates a coda mark (which in conventional D.S. al Coda form indicates the start of the alternative endings), taking as arguments the mark sequence number and the context. It should return a markup object.
dalSegnoTextFormatter(procedure)Format a jump instruction such as D.S.
The first argument is the context.
The second argument is the number of times the instruction is performed.
The third argument is a list of three markups: start-markup, end-markup, and next-markup.
If start-markup is
#f, the form is da capo; otherwise the form is dal segno and start-markup is the sign at the start of the repeated section.If end-markup is not
#f, it is either the sign at the end of the main body of the repeat, or it is a Fine instruction. When it is a Fine instruction, next-markup is#f.If next-markup is not
#f, it is the mark to be jumped to after performing the body of the repeat, e.g., Coda.finalFineTextVisibility(boolean)Whether
\fineat the written end of the music should create a Fine instruction.fineText(markup)The text to print at
\fine.segnoMarkCount(non-negative, exact integer)Updated at the end of each time step in which a segno appears: not set during the first time step, 0 up to the first segno, 1 from the first to the second segno, 2 from the second to the third segno, etc.
segnoMarkFormatter(procedure)A procedure that creates a segno (which conventionally indicates the start of a repeated section), taking as arguments the mark sequence number and the context. It should return a markup object.
stavesFound(list of grobs)A list of all staff-symbols found.
This engraver creates the following layout object(s):
JumpScript.Mark_engraverThis engraver creates rehearsal marks, segno and coda marks, and section labels.
Mark_engravercreates marks, formats them, and places them vertically outside the set of staves given in thestavesFoundcontext property.If
Mark_engraveris added or moved to another context,Staff_collecting_engraveralso needs to be there so that marks appear at the intended Y location.By default,
Mark_engraversin multiple contexts create a common sequence of marks chosen by theScore-levelMark_tracking_translator. If independent sequences are desired, multipleMark_tracking_translatorsmust be used.Properties (read)
codaMarkFormatter(procedure)A procedure that creates a coda mark (which in conventional D.S. al Coda form indicates the start of the alternative endings), taking as arguments the mark sequence number and the context. It should return a markup object.
currentPerformanceMarkEvent(stream event)The coda, section, or segno mark event selected by
Mark_tracking_translatorfor engraving byMark_engraver.currentRehearsalMarkEvent(stream event)The ad-hoc or rehearsal mark event selected by
Mark_tracking_translatorfor engraving byMark_engraver.rehearsalMarkFormatter(procedure)A procedure taking as arguments the context and the sequence number of the rehearsal mark. It should return the formatted mark as a markup object.
segnoMarkFormatter(procedure)A procedure that creates a segno (which conventionally indicates the start of a repeated section), taking as arguments the mark sequence number and the context. It should return a markup object.
stavesFound(list of grobs)A list of all staff-symbols found.
This engraver creates the following layout object(s):
CodaMark,RehearsalMark,SectionLabelandSegnoMark.Mark_tracking_translatorThis translator chooses which marks
Mark_engravershould engrave.Music types accepted:
ad-hoc-mark-event,coda-mark-event,rehearsal-mark-event,section-label-eventandsegno-mark-eventProperties (read)
codaMarkCount(non-negative, exact integer)Updated at the end of each time step in which a coda mark appears: not set during the first time step, 0 up to the first coda mark, 1 from the first to the second, 2 from the second to the third, etc.
rehearsalMark(integer)The next rehearsal mark to print.
segnoMarkCount(non-negative, exact integer)Updated at the end of each time step in which a segno appears: not set during the first time step, 0 up to the first segno, 1 from the first to the second segno, 2 from the second to the third segno, etc.
Properties (write)
codaMarkCount(non-negative, exact integer)Updated at the end of each time step in which a coda mark appears: not set during the first time step, 0 up to the first coda mark, 1 from the first to the second, 2 from the second to the third, etc.
currentPerformanceMarkEvent(stream event)The coda, section, or segno mark event selected by
Mark_tracking_translatorfor engraving byMark_engraver.currentRehearsalMarkEvent(stream event)The ad-hoc or rehearsal mark event selected by
Mark_tracking_translatorfor engraving byMark_engraver.rehearsalMark(integer)The next rehearsal mark to print.
segnoMarkCount(non-negative, exact integer)Updated at the end of each time step in which a segno appears: not set during the first time step, 0 up to the first segno, 1 from the first to the second segno, 2 from the second to the third segno, etc.
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 byStaff_collecting_engraver.Music types accepted:
tempo-change-eventProperties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
metronomeMarkFormatter(procedure)How to produce a metronome markup. Called with two arguments: a
TempoChangeEventand context.stavesFound(list of grobs)A list of all staff-symbols found.
tempoHideNote(boolean)Hide the note = count in tempo marks.
This engraver creates the following layout object(s):
MetronomeMark.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:
break-eventandlabel-eventProperties (read)
forbidBreak(boolean)If set to
#t, prevent a line break at this point, except if explicitly requested by the user.Properties (write)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
forbidBreak(boolean)If set to
#t, prevent a line break at this point, except if explicitly requested by the user.forceBreak(boolean)Set to
#twhen an event forcing a line break was heard.This engraver creates the following layout object(s):
NonMusicalPaperColumnandPaperColumn.Parenthesis_engraverParenthesize objects whose
parenthesizeproperty is#t.This engraver creates the following layout object(s):
Parentheses.Repeat_acknowledge_engraverThis engraver augments
repeatCommandswithstart-repeatandend-repeatentries based on received events. This is internal behavior that allows simplifying other engravers that must support both\repeat voltaand manual repeats.This engraver also resets
repeatCommandsat the beginning of each time step. This is user-facing behavior: it allows setting a value for the current time step simply with\setrather than requiring\once \set.Music types accepted:
volta-repeat-end-eventandvolta-repeat-start-eventProperties (write)
repeatCommands(list)A list of commands related to volta-style repeats. In general, each element is a list,
'(command args…), but a command with no arguments may be abbreviated to a symbol; e.g.,'((start-repeat))may be given as'(start-repeat).
end-repeat return-countEnd a repeated section. return-count is the number of times to go back from this point to the beginning of the section.
start-repeat repeat-countStart a repeated section. repeat-count is the number of times to perform this section.
volta textIf text is markup, start a volta bracket with that label; if text is
#f, end a volta bracket.Show_control_points_engraverCreate grobs to visualize control points of Bézier curves (ties and slurs) for ease of tweaking.
This engraver creates the following layout object(s):
ControlPointandControlPolygon.Spacing_engraverMake a
SpacingSpannerand do bookkeeping of shortest starting and playing notes.Music types accepted:
spacing-section-eventProperties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
proportionalNotationDuration(non-negative exact rational or +inf.0)Global override for shortest-playing duration. This is used for switching on proportional notation.
This engraver creates the following layout object(s):
SpacingSpanner.Spanner_tracking_engraverHelper for creating spanners attached to other spanners. If a spanner has the
sticky-grob-interface, the engraver tracks the spanner contained in itssticky-hostobject. When the host ends, the sticky spanner attached to it has its end announced too.Staff_collecting_engraverMaintain the
stavesFoundvariable.Properties (read)
stavesFound(list of grobs)A list of all staff-symbols found.
Properties (write)
stavesFound(list of grobs)A list of all staff-symbols found.
Stanza_number_align_engraverThis engraver ensures that stanza numbers are neatly aligned across all lyrics contexts.
Text_mark_engraverEngraves arbitrary textual marks.
Music types accepted:
text-mark-eventProperties (read)
stavesFound(list of grobs)A list of all staff-symbols found.
This engraver creates the following layout object(s):
TextMark.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.Music types accepted:
alternative-event,bar-check-event,bar-event,fine-event,partial-eventandpolymetric-time-signature-eventProperties (read)
alternativeNumberingStyle(symbol)The scheme and style for numbering bars in repeat alternatives. If not set (the default), bar numbers continue through alternatives. Can be set to
numbersto reset the bar number at each alternative, or set tonumbers-with-lettersto reset and also include letter suffixes.beatBase(positive exact rational or +inf.0)The musical length corresponding to one unit of
beatStructure.currentBarNumber(integer)Contains the current bar number. This property is incremented at every bar line.
internalBarNumber(integer)Contains the current bar number. This property is used for internal timekeeping, among others by the
Accidental_engraver.measureLength(positive exact rational or +inf.0)The musical length of the current measure.
measurePosition(moment)The current point within the measure.
timeSignature(time signature)A time-signature specification. See the
\timecommand.Properties (write)
alternativeNumber(non-negative, exact integer)When set, the first volta number for the current
\alternativeelement. Not set outside of alternatives.beatBase(positive exact rational or +inf.0)The musical length corresponding to one unit of
beatStructure.currentBarNumber(integer)Contains the current bar number. This property is incremented at every bar line.
internalBarNumber(integer)Contains the current bar number. This property is used for internal timekeeping, among others by the
Accidental_engraver.measureLength(positive exact rational or +inf.0)The musical length of the current measure.
measurePosition(moment)The current point within the measure.
measureStartNow(boolean)True at the beginning of a measure.
timeSignature(time signature)A time-signature specification. See the
\timecommand.Tweak_engraverRead the
tweaksproperty from the originating event, and set properties.Vertical_align_engraverCatch groups (staves, lyrics lines, etc.) and stack them vertically.
Properties (read)
alignAboveContext(string)Where to insert newly created context in vertical alignment.
alignBelowContext(string)Where to insert newly created context in vertical alignment.
hasAxisGroup(boolean)True if the current context is contained in an axis group.
This engraver creates the following layout object(s):
StaffGrouperandVerticalAlignment.Volta_engraverMake volta brackets.
Music types accepted:
dal-segno-event,fine-eventandvolta-span-eventProperties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
printTrivialVoltaRepeats(boolean)Notate volta-style repeats even when the repeat count is 1.
repeatCommands(list)A list of commands related to volta-style repeats. In general, each element is a list,
'(command args…), but a command with no arguments may be abbreviated to a symbol; e.g.,'((start-repeat))may be given as'(start-repeat).
end-repeat return-countEnd a repeated section. return-count is the number of times to go back from this point to the beginning of the section.
start-repeat repeat-countStart a repeated section. repeat-count is the number of times to perform this section.
volta textIf text is markup, start a volta bracket with that label; if text is
#f, end a volta bracket.stavesFound(list of grobs)A list of all staff-symbols found.
This engraver creates the following layout object(s):
VoltaBracketandVoltaBracketSpanner.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < ChordGridScore ] | [ Up: Contexts ] | [ CueVoice > ] |
2.1.4 ChordNames ¶
Typesets chord names.
This context also accepts commands for the following context(s):
Staff.
This context creates the following layout object(s):
ChordName, StaffSpacing and VerticalAxisGroup.
This context sets the following properties:
- Set grob property
font-sizeinParenthesesto1.5. - Set grob property
nonstaff-nonstaff-spacing.paddinginVerticalAxisGroupto0.5. - Set grob property
nonstaff-relatedstaff-spacing.paddinginVerticalAxisGroupto0.5. - Set grob property
remove-emptyinVerticalAxisGroupto#t. - Set grob property
remove-firstinVerticalAxisGroupto#t. - Set grob property
staff-affinityinVerticalAxisGroupto-1.
This is a ‘Bottom’ context; no contexts will be created implicitly from it.
This context cannot contain other contexts.
This context is built from the following engraver(s):
Alteration_glyph_engraverSet the
glyph-name-alistof all grobs having theaccidental-switch-interfaceto the value of the context’salterationGlyphsproperty, when defined.Properties (read)
alterationGlyphs(list)Alist mapping alterations to accidental glyphs. Alterations are given as exact numbers, e.g., -1/2 for flat. This applies to all grobs that can print accidentals.
Apply_output_engraverApply a procedure to any grob acknowledged.
Music types accepted:
apply-output-eventAxis_group_engraverGroup all objects created in this context in a
VerticalAxisGroupspanner.Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
hasAxisGroup(boolean)True if the current context is contained in an axis group.
keepAliveInterfaces(list)A list of symbols, signifying grob interfaces that are worth keeping a staff with
remove-emptyset around for.Properties (write)
hasAxisGroup(boolean)True if the current context is contained in an axis group.
This engraver creates the following layout object(s):
VerticalAxisGroup.Chord_name_engraverRead
currentChordTextto create chord names.Properties (read)
chordChanges(boolean)Only show changes in chords scheme?
currentChordCause(stream event)Event cause of the chord that should be created in this time step (if any).
currentChordText(markup)In contexts printing chord names, this is at any point of time the markup that will be put in the chord name.
lastChord(markup)Last chord, used for detecting chord changes.
Properties (write)
lastChord(markup)Last chord, used for detecting chord changes.
This engraver creates the following layout object(s):
ChordName.Current_chord_text_engraverCatch note and rest events and generate the appropriate chord text using
chordNameFunction. Actually creating a chord name grob is left to other engravers.Music types accepted:
general-rest-eventandnote-eventProperties (read)
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.
majorSevenSymbol(markup)How should the major 7th be formatted in a chord name?
noChordSymbol(markup)Markup to be displayed for rests in a ChordNames context.
Properties (write)
currentChordCause(stream event)Event cause of the chord that should be created in this time step (if any).
currentChordText(markup)In contexts printing chord names, this is at any point of time the markup that will be put in the chord name.
Pure_from_neighbor_engraverCoordinates items that get their pure heights from their neighbors.
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
currentCommandColumncontains items that will affect spacing.This engraver creates the following layout object(s):
StaffSpacing.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < ChordNames ] | [ Up: Contexts ] | [ Devnull > ] |
2.1.5 CueVoice ¶
A voice context used to render notes of a reduced size, intended primarily for adding cue notes to a staff. Usually left to be created implicitly.
This context also accepts commands for the following context(s):
Voice.
This context creates the following layout object(s):
ApproximatePitchNoteHead, Arpeggio, Beam, BendAfter, BreathingSign, ChordBracket, ChordSlur, ClusterSpanner, ClusterSpannerBeacon, CombineTextScript, Dots, DoublePercentRepeat, DoublePercentRepeatCounter, DoubleRepeatSlash, DynamicLineSpanner, DynamicText, DynamicTextSpanner, FingerGlideSpanner, Fingering, Flag, Glissando, Hairpin, InstrumentSwitch, LaissezVibrerTie, LaissezVibrerTieColumn, LigatureBracket, MultiMeasureRest, MultiMeasureRestNumber, MultiMeasureRestScript, MultiMeasureRestText, NoteColumn, NoteHead, NoteSpacing, PercentRepeat, PercentRepeatCounter, PhrasingSlur, RepeatSlash, RepeatTie, RepeatTieColumn, Rest, Script, ScriptColumn, Slur, Stem, StemStub, StemTremolo, StringNumber, StrokeFinger, TextScript, TextSpanner, Tie, TieColumn, TrillPitchAccidental, TrillPitchGroup, TrillPitchHead, TrillPitchParentheses, TrillSpanner, TupletBracket, TupletNumber and VoiceFollower.
This context sets the following properties:
- Set context property
fontSizeto-4. - Set grob property
beam-thicknessinBeamto0.35. - Set grob property
beam-thicknessinStemTremoloto0.35. - Set grob property
ignore-ambitusinNoteHeadto#t. - Set grob property
length-fractioninBeamto0.6299605249474366. - Set grob property
length-fractioninStemto0.6299605249474366.
This is a ‘Bottom’ context; no contexts will be created implicitly from it.
This context cannot contain other contexts.
This context is built from the following engraver(s):
Apply_output_engraverApply a procedure to any grob acknowledged.
Music types accepted:
apply-output-eventArpeggio_engraverCreate arpeggiato and non-arpeggiato symbols.
Music types accepted:
arpeggio-event,chord-slur-eventandnon-arpeggiato-eventThis engraver creates the following layout object(s):
Arpeggio,ChordBracketandChordSlur.Auto_beam_engraverGenerate beams based on measure characteristics and observed Stems. Uses
beatBase,beatStructure,beamExceptions,measureLength, andmeasurePositionto decide when to start and stop a beam. Overriding beaming is done throughStem_engraverpropertiesstemLeftBeamCountandstemRightBeamCount.Music types accepted:
beam-break-eventandbeam-forbid-eventProperties (read)
autoBeaming(boolean)If set to
#tthen beams are generated automatically. If set to#f, auto-beaming is switched off as soon as the current beam (if any) is finished according to the auto-beaming rules.beamExceptions(list)An alist of exceptions to auto-beam rules that normally end on beats.
beamHalfMeasure(boolean)Whether to allow a beam to begin halfway through the measure in triple time, which could look like 6/8.
beatBase(positive exact rational or +inf.0)The musical length corresponding to one unit of
beatStructure.beatStructure(number list)A sequence describing the length of each beat in the measure in units of
beatBase.subdivideBeams(boolean)If set, beams of multiple stems may be subdivided by omitting a number of beamlets, dependent on
beamMaximumSubdivision, between beats at multiples ofbeamMinimumSubdivision.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:
beam-eventProperties (read)
beamMelismaBusy(boolean)Signal if a beam is present.
beatBase(positive exact rational or +inf.0)The musical length corresponding to one unit of
beatStructure.beatStructure(number list)A sequence describing the length of each beat in the measure in units of
beatBase.subdivideBeams(boolean)If set, beams of multiple stems may be subdivided by omitting a number of beamlets, dependent on
beamMaximumSubdivision, between beats at multiples ofbeamMinimumSubdivision.This engraver creates the following layout object(s):
Beam.Bend_engraverCreate fall spanners.
Music types accepted:
bend-after-eventProperties (read)
currentBarLine(graphical (layout) object)Set to the
BarLinethatBar_engraverhas created in the current time step.currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
BendAfter.Breathing_sign_engraverNotate breath marks.
Music types accepted:
breathing-eventProperties (read)
breathMarkType(symbol)The type of
BreathingSignto create at\breathe.This engraver creates the following layout object(s):
BreathingSign.Chord_tremolo_engraverGenerate beams for tremolo repeats.
Music types accepted:
tremolo-span-eventThis engraver creates the following layout object(s):
Beam.Cluster_spanner_engraverEngrave a cluster using
Spannernotation.Music types accepted:
cluster-note-eventThis engraver creates the following layout object(s):
ClusterSpannerandClusterSpannerBeacon.Dots_engraverCreate
Dotsobjects forrhythmic-head-interfaces.This engraver creates the following layout object(s):
Dots.Double_percent_repeat_engraverMake double measure repeats.
Music types accepted:
double-percent-eventProperties (read)
countPercentRepeats(boolean)If set, produce counters for percent repeats.
measureLength(positive exact rational or +inf.0)The musical length of the current measure.
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, except if explicitly requested by the user.This engraver creates the following layout object(s):
DoublePercentRepeatandDoublePercentRepeatCounter.Dynamic_align_engraverAlign hairpins and dynamic texts on a horizontal line.
Properties (read)
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
DynamicLineSpanner.Dynamic_engraverCreate hairpins, dynamic texts and dynamic text spanners.
Music types accepted:
absolute-dynamic-event,break-dynamic-span-eventandspan-dynamic-eventProperties (read)
crescendoSpanner(symbol)The type of spanner to be used for crescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin crescendo is used.
crescendoText(markup)The text to print at start of non-hairpin crescendo, i.e., ‘cresc.’.
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
decrescendoSpanner(symbol)The type of spanner to be used for decrescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin decrescendo is used.
decrescendoText(markup)The text to print at start of non-hairpin decrescendo, i.e., ‘dim.’.
This engraver creates the following layout object(s):
DynamicText,DynamicTextSpannerandHairpin.Finger_glide_engraverEngraver to print a line between two
Fingering,StringNumberorStrokeFingergrobs.Music types accepted:
note-eventThis engraver creates the following layout object(s):
FingerGlideSpanner.Fingering_engraverCreate fingering scripts.
Music types accepted:
fingering-eventThis engraver creates the following layout object(s):
Fingering.Font_size_engraverPut
fontSizeintofont-sizegrob property.Properties (read)
fontSize(number)The relative size of all grobs in a context.
Forbid_line_break_engraverForbid line breaks when note heads are still playing at some point.
Properties (read)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g., note heads, spanners, etc.).Properties (write)
forbidBreak(boolean)If set to
#t, prevent a line break at this point, except if explicitly requested by the user.Glissando_engraverEngrave glissandi.
Music types accepted:
glissando-eventProperties (read)
glissandoMap(list)A map in the form of
'((source1 . target1) (source2 . target2) ... (sourcen . targetn)), showing the glissandi to be drawn for note columns. The value'()defaults to'((0 . 0) (1 . 1) ... (n . n)), where n is the minimum number of note heads in the two note columns between which the glissandi occur.This engraver creates the following layout object(s):
Glissando.Grace_auto_beam_engraverGenerates one autobeam group across an entire grace phrase. As usual, any manual beaming or
\noBeamwill block autobeaming, just like setting the context property ‘autoBeaming’ to##f.Music types accepted:
beam-break-eventandbeam-forbid-eventProperties (read)
autoBeaming(boolean)If set to
#tthen beams are generated automatically. If set to#f, auto-beaming is switched off as soon as the current beam (if any) is finished according to the auto-beaming rules.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:
beam-eventProperties (read)
beamMelismaBusy(boolean)Signal if a beam is present.
beatBase(positive exact rational or +inf.0)The musical length corresponding to one unit of
beatStructure.beatStructure(number list)A sequence describing the length of each beat in the measure in units of
beatBase.subdivideBeams(boolean)If set, beams of multiple stems may be subdivided by omitting a number of beamlets, dependent on
beamMaximumSubdivision, between beats at multiples ofbeamMinimumSubdivision.This engraver creates the following layout object(s):
Beam.Grace_engraverSet font size and other properties for grace notes.
Properties (read)
graceSettings(list)Overrides for grace notes. This property should be manipulated through the
add-grace-propertyfunction.Grob_pq_engraverAdministrate when certain grobs (e.g., note heads) stop playing.
Properties (read)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g., note heads, spanners, etc.).Properties (write)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g., note heads, spanners, etc.).Instrument_switch_engraverCreate a cue text for taking instrument.
This engraver is deprecated.
Properties (read)
instrumentCueName(markup)The name to print if another instrument is to be taken.
This property is deprecated
This engraver creates the following layout object(s):
InstrumentSwitch.Laissez_vibrer_engraverCreate laissez vibrer items.
Music types accepted:
laissez-vibrer-eventThis engraver creates the following layout object(s):
LaissezVibrerTieandLaissezVibrerTieColumn.Ligature_bracket_engraverHandle
Ligature_eventsby engravingLigaturebrackets.Music types accepted:
ligature-eventThis engraver creates the following layout object(s):
LigatureBracket.Multi_measure_rest_engraverEngrave multi-measure rests that are produced with ‘R’. It reads
measureStartNowandinternalBarNumberto determine what number to print over theMultiMeasureRest.Music types accepted:
multi-measure-articulation-event,multi-measure-rest-eventandmulti-measure-text-eventProperties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
internalBarNumber(integer)Contains the current bar number. This property is used for internal timekeeping, among others by the
Accidental_engraver.measureStartNow(boolean)True at the beginning of a measure.
restNumberThreshold(number)If a multi-measure rest has more measures than this, a number is printed.
This engraver creates the following layout object(s):
MultiMeasureRest,MultiMeasureRestNumber,MultiMeasureRestScriptandMultiMeasureRestText.New_fingering_engraverCreate fingering scripts for notes in a new chord. This engraver is ill-named, since it also takes care of articulations and harmonic note heads.
Properties (read)
fingeringOrientations(list)A list of symbols, containing ‘left’, ‘right’, ‘up’ and/or ‘down’. This list determines where fingerings are put relative to the chord being fingered.
harmonicDots(boolean)If set, harmonic notes in dotted chords get dots.
stringNumberOrientations(list)See
fingeringOrientations.strokeFingerOrientations(list)See
fingeringOrientations.This engraver creates the following layout object(s):
Fingering,Script,StringNumberandStrokeFinger.Note_head_line_engraverEngrave a line between two note heads in a staff switch if
followVoiceis set.Properties (read)
followVoice(boolean)If set, note heads are tracked across staff switches by a thin line.
This engraver creates the following layout object(s):
VoiceFollower.Note_heads_engraverGenerate note heads.
Music types accepted:
note-eventProperties (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):
ApproximatePitchNoteHeadandNoteHead.Note_spacing_engraverGenerate
NoteSpacing, an object linking horizontal lines for use in spacing.This engraver creates the following layout object(s):
NoteSpacing.Part_combine_engraverPart combine engraver for orchestral scores: Print markings ‘a2’, ‘Solo’, ‘Solo II’, and ‘unisono’.
Music types accepted:
note-eventandpart-combine-eventProperties (read)
aDueText(markup)Text to print at a unisono passage.
partCombineTextsOnNote(boolean)Print part-combine texts only on the next note rather than immediately on rests or skips.
printPartCombineTexts(boolean)Set ‘Solo’ and ‘A due’ texts in the part combiner?
soloIIText(markup)The text for the start of a solo for voice ‘two’ when part-combining.
soloText(markup)The text for the start of a solo when part-combining.
This engraver creates the following layout object(s):
CombineTextScript.Percent_repeat_engraverMake whole measure repeats.
Music types accepted:
percent-eventProperties (read)
countPercentRepeats(boolean)If set, produce counters for percent repeats.
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
repeatCountVisibility(procedure)A procedure taking as arguments an integer and context, returning whether the corresponding percent repeat number should be printed when
countPercentRepeatsis set.This engraver creates the following layout object(s):
PercentRepeatandPercentRepeatCounter.Phrasing_slur_engraverPrint phrasing slurs. Similar to
Slur_engraver.Music types accepted:
note-eventandphrasing-slur-eventThis engraver creates the following layout object(s):
PhrasingSlur.Pitched_trill_engraverPrint the bracketed note head after a note head with trill.
This engraver creates the following layout object(s):
TrillPitchAccidental,TrillPitchGroup,TrillPitchHeadandTrillPitchParentheses.Repeat_tie_engraverCreate repeat ties.
Music types accepted:
repeat-tie-eventThis engraver creates the following layout object(s):
RepeatTieandRepeatTieColumn.Rest_engraverEngrave rests.
Music types accepted:
rest-eventProperties (read)
middleCPosition(number)The place of the middle C, measured in half staff-spaces. Usually determined by looking at
middleCClefPositionandmiddleCOffset.This engraver creates the following layout object(s):
Rest.Rhythmic_column_engraverGenerate
NoteColumn, an object that groups stems, note heads, and rests.This engraver creates the following layout object(s):
NoteColumn.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):
ScriptColumn.Script_engraverHandle note scripted articulations.
Music types accepted:
articulation-eventProperties (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.Slash_repeat_engraverMake beat repeats.
Music types accepted:
repeat-slash-eventThis engraver creates the following layout object(s):
DoubleRepeatSlashandRepeatSlash.Slur_engraverBuild slur grobs from slur events.
Music types accepted:
note-eventandslur-eventProperties (read)
doubleSlurs(boolean)If set, two slurs are created for every slurred note, one above and one below the chord.
slurMelismaBusy(boolean)Signal if a slur is present.
This engraver creates the following layout object(s):
Slur.Spanner_break_forbid_engraverForbid breaks in certain spanners.
Stem_engraverCreate stems, flags and single-stem tremolos. It also works together with the beam engraver for overriding beaming.
Music types accepted:
tremolo-eventProperties (read)
currentBarLine(graphical (layout) object)Set to the
BarLinethatBar_engraverhas created in the current time step.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):
Flag,Stem,StemStubandStemTremolo.Text_engraverCreate text scripts.
Music types accepted:
text-script-eventThis engraver creates the following layout object(s):
TextScript.Text_spanner_engraverCreate text spanner from an event.
Music types accepted:
text-span-eventProperties (read)
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
TextSpanner.Tie_engraverGenerate ties between note heads of equal pitch.
Music types accepted:
tie-eventProperties (read)
skipTypesetting(boolean)If true, no typesetting is done, speeding up the interpretation phase. Useful for debugging large scores.
tieWaitForNote(boolean)If true, tied notes do not have to follow each other directly. This can be used for writing out arpeggios.
Properties (write)
tieMelismaBusy(boolean)Signal whether a tie is present.
This engraver creates the following layout object(s):
TieandTieColumn.Toe_heel_engraverRead the
toeHeelStylecontext property and use it to style\rtoeand its siblings, based on the data in thetoe-heel-stylesalist.Music types accepted:
articulation-eventProperties (read)
toeHeelStyle(symbol)The style for the glyph shape and behavior of
\rtoeand siblings. Possible values aredefault,standard,reversed,circleheels, andbelow. If not set (the default), use valuedefault.Trill_spanner_engraverCreate trill spanners.
Music types accepted:
trill-span-eventProperties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
TrillSpanner.Tuplet_engraverCatch tuplet events and generate appropriate bracket.
Music types accepted:
tuplet-span-eventProperties (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):
TupletBracketandTupletNumber.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < CueVoice ] | [ Up: Contexts ] | [ DrumStaff > ] |
2.1.6 Devnull ¶
Silently discard all musical information given to this context.
This context also accepts commands for the following context(s):
Staff and Voice.
This context creates the following layout object(s): none.
This is a ‘Bottom’ context; no contexts will be created implicitly from it.
This context cannot contain other contexts.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Devnull ] | [ Up: Contexts ] | [ DrumVoice > ] |
2.1.7 DrumStaff ¶
Handles typesetting for percussion. Can contain
DrumVoice.
This context also accepts commands for the following context(s):
Staff.
This context creates the following layout object(s):
BarLine, BassFigure, BassFigureAlignment, BassFigureAlignmentPositioning, BassFigureBracket, BassFigureContinuation, BassFigureLine, BreathingSign, CaesuraScript, Clef, ClefModifier, CueClef, CueEndClef, DotColumn, FingeringColumn, InstrumentName, LedgerLineSpanner, NoteCollision, OptionalMaterialBracket, RestCollision, ScriptColumn, ScriptRow, SostenutoPedalLineSpanner, StaffEllipsis, StaffHighlight, StaffSpacing, StaffSymbol, SustainPedalLineSpanner, TimeSignature, UnaCordaPedalLineSpanner and VerticalAxisGroup.
This context sets the following properties:
- Set context property
clefGlyphto"clefs.percussion". - Set context property
clefPositionto0. - Set context property
createSpacingto#t. - Set context property
ignoreFiguredBassRestto#f. - Set context property
instrumentNameto'(). - Set context property
localAlterationsto'(). - Set context property
ottavationMarkupsto:'((4 . "29") (3 . "22") (2 . "15") (1 . "8") (-1 . "8") (-2 . "15") (-3 . "22") (-4 . "29"))
- Set context property
shortInstrumentNameto'(). - Set grob property
staff-paddinginScriptto0.75.
This is not a ‘Bottom’ context; search for such a one will commence after creating an implicit context of type DrumVoice.
This context is built from the following engraver(s):
Alteration_glyph_engraverSet the
glyph-name-alistof all grobs having theaccidental-switch-interfaceto the value of the context’salterationGlyphsproperty, when defined.Properties (read)
alterationGlyphs(list)Alist mapping alterations to accidental glyphs. Alterations are given as exact numbers, e.g., -1/2 for flat. This applies to all grobs that can print accidentals.
Apply_output_engraverApply a procedure to any grob acknowledged.
Music types accepted:
apply-output-eventAxis_group_engraverGroup all objects created in this context in a
VerticalAxisGroupspanner.Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
hasAxisGroup(boolean)True if the current context is contained in an axis group.
keepAliveInterfaces(list)A list of symbols, signifying grob interfaces that are worth keeping a staff with
remove-emptyset around for.Properties (write)
hasAxisGroup(boolean)True if the current context is contained in an axis group.
This engraver creates the following layout object(s):
VerticalAxisGroup.Bar_engraverCreate bar lines for various commands, including
\\bar.If
forbidBreakBetweenBarLinesis true, allow line breaks at bar lines only.Music types accepted:
ad-hoc-jump-event,caesura-event,coda-mark-event,dal-segno-event,fine-event,section-eventandsegno-mark-eventProperties (read)
caesuraType(list)An alist
((bar-line . bar-type) (breath . breath-type) (scripts . script-type...) (underlying-bar-line . bar-type))specifying which breath mark, bar line, and scripts to create at
\caesura. All entries are optional.
bar-linehas higher priority than a measure bar line andunderlying-bar-linehas lower priority than a measure bar line.caesuraTypeTransform(procedure)An engraver callback taking three arguments and returning an alist of the same kind as
caesuraType.The first argument is the context.
The second argument is the value of
caesuraTypewith an additional entry(articulations . symbol-list)identifying the articulations attached to the caesura in the music. If the transform function returns this second argument unmodified, it is as if no transform function were set; the function is free to return a different value. The transform function can remove articulations, but any added articulations are ignored.The third argument is a symbol-list identifying certain things the engraver has observed.
bar-lineindicates that the engraver has observed aBarLineat the current moment.doubleRepeatBarType(string)Bar line to insert where the end of one
\repeat voltacoincides with the start of another. The default is ‘:..:’.doubleRepeatSegnoBarType(string)Bar line to insert where an in-staff segno coincides with the end of one
\repeat voltaand the beginning of another. The default is ‘:|.S.|:’.endRepeatBarType(string)Bar line to insert at the end of a
\repeat volta. The default is ‘:|.’.endRepeatSegnoBarType(string)Bar line to insert where an in-staff segno coincides with the end of a
\repeat volta. The default is ‘:|.S’.fineBarType(string)Bar line to insert at
\fine. Where there is also a repeat bar line, the repeat bar line takes precedence and this value is appended to it as an annotation. The default is ‘|.’.fineSegnoBarType(string)Bar line to insert where an in-staff segno coincides with
\fine. The default is ‘|.S’.fineStartRepeatSegnoBarType(string)Bar line to insert where an in-staff segno coincides with
\fineand the start of a\repeat volta. The default is ‘|.S.|:’.forbidBreakBetweenBarLines(boolean)If set to
#t,Bar_engraverforbids line breaks where there is no bar line.measureBarType(string)Bar line to insert at a measure boundary.
printInitialRepeatBar(boolean)Use a special bar line at the start of a volta repeat even at the beginning of the piece.
printTrivialVoltaRepeats(boolean)Notate volta-style repeats even when the repeat count is 1.
repeatCommands(list)A list of commands related to volta-style repeats. In general, each element is a list,
'(command args…), but a command with no arguments may be abbreviated to a symbol; e.g.,'((start-repeat))may be given as'(start-repeat).
end-repeat return-countEnd a repeated section. return-count is the number of times to go back from this point to the beginning of the section.
start-repeat repeat-countStart a repeated section. repeat-count is the number of times to perform this section.
volta textIf text is markup, start a volta bracket with that label; if text is
#f, end a volta bracket.sectionBarType(string)Bar line to insert at
\section. Where there is also a repeat bar line, the repeat bar line takes precedence and this value is appended to it as an annotation. The default is ‘||’.segnoBarType(string)Bar line to insert at an in-staff segno. The default is ‘S’.
segnoStyle(symbol)A symbol that indicates how to print a segno:
bar-lineormark.startRepeatBarType(string)Bar line to insert at the start of a
\repeat volta. The default is ‘.|:’.startRepeatSegnoBarType(string)Bar line to insert where an in-staff segno coincides with the start of a
\repeat volta. The default is ‘S.|:’.submeasureBarsEnabled(boolean)Whether to insert submeasure bar lines at boundaries specified by
submeasureStructure. They are typically enabled selectively to clarify complex rhythms.submeasureBarType(string)Bar line to insert at submeasure boundaries specified by
submeasureStructure, whensubmeasureBarsEnabledallows.submeasureStructure(number list)A sequence describing subdivisions of a measure. Each element tells the distance from the previous division in units of
beatBase.underlyingRepeatBarType(string)Bar line to insert at points of repetition or departure where no bar line would normally appear, for example at the end of a system broken in mid measure where the next system begins with a segno. Where there is also a repeat bar line, the repeat bar line takes precedence and this value is appended to it as an annotation. The default is ‘||’.
whichBar(string)The current bar line type, or
'()if there is no bar line. Setting this explicitly in user code is deprecated. Use\baror related commands to set it.Properties (write)
currentBarLine(graphical (layout) object)Set to the
BarLinethatBar_engraverhas created in the current time step.forbidBreak(boolean)If set to
#t, prevent a line break at this point, except if explicitly requested by the user.This engraver creates the following layout object(s):
BarLine.Caesura_engraverNotate a short break in sound that does not shorten the previous note.
Depending on the result of passing the value of
caesuraTypethroughcaesuraTypeTransform, this engraver may create aBreathingSignwithCaesuraScriptgrobs aligned to it, or it may createCaesuraScriptgrobs and align them to aBarLine.If this engraver observes a
BarLine, it callscaesuraTypeTransformagain with the new information, and if necessary, recreates its grobs.Music types accepted:
caesura-eventProperties (read)
breathMarkDefinitions(list)The description of breath marks. This is used by the
Breathing_sign_engraver. See scm/breath.scm for more information.caesuraType(list)An alist
((bar-line . bar-type) (breath . breath-type) (scripts . script-type...) (underlying-bar-line . bar-type))specifying which breath mark, bar line, and scripts to create at
\caesura. All entries are optional.
bar-linehas higher priority than a measure bar line andunderlying-bar-linehas lower priority than a measure bar line.caesuraTypeTransform(procedure)An engraver callback taking three arguments and returning an alist of the same kind as
caesuraType.The first argument is the context.
The second argument is the value of
caesuraTypewith an additional entry(articulations . symbol-list)identifying the articulations attached to the caesura in the music. If the transform function returns this second argument unmodified, it is as if no transform function were set; the function is free to return a different value. The transform function can remove articulations, but any added articulations are ignored.The third argument is a symbol-list identifying certain things the engraver has observed.
bar-lineindicates that the engraver has observed aBarLineat the current moment.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):
BreathingSignandCaesuraScript.Clef_engraverDetermine and set reference point for pitches.
Properties (read)
clefGlyph(string)Name of the symbol within the music font.
clefPosition(number)Where should the center of the clef symbol go, measured in half staff spaces from the center of the staff.
clefTransposition(integer)Add this much extra transposition to a clef. Values of 7 and -7 are common.
clefTranspositionStyle(symbol)Determines the way the
ClefModifiergrob of a clef is displayed. Possible values are'default,'parenthesized, and'bracketed.explicitClefVisibility(vector)‘break-visibility’ function for clef changes.
forbidBreak(boolean)If set to
#t, prevent a line break at this point, except if explicitly requested by the user.forceBreak(boolean)Set to
#twhen an event forcing a line break was heard.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):
ClefandClefModifier.Collision_engraverCollect
NoteColumns, and as soon as there are two or more, put them in aNoteCollisionobject.This engraver creates the following layout object(s):
NoteCollision.Cue_clef_engraverDetermine and set reference point for pitches in cued voices.
Properties (read)
clefTransposition(integer)Add this much extra transposition to a clef. Values of 7 and -7 are common.
cueClefGlyph(string)Name of the symbol within the music font.
cueClefPosition(number)Where should the center of the clef symbol go, measured in half staff spaces from the center of the staff.
cueClefTransposition(integer)Add this much extra transposition to a cue clef. Values of 7 and -7 are common.
cueClefTranspositionStyle(symbol)Determines the way the
ClefModifiergrob of a cue clef is displayed. Possible values are'default,'parenthesized, and'bracketed.explicitCueClefVisibility(vector)‘break-visibility’ function for cue clef changes.
forbidBreak(boolean)If set to
#t, prevent a line break at this point, except if explicitly requested by the user.forceBreak(boolean)Set to
#twhen an event forcing a line break was heard.middleCCuePosition(number)The position of the middle C, as determined only by the clef of the cue notes. This can be calculated by looking at
cueClefPositionandcueClefGlyph.This engraver creates the following layout object(s):
ClefModifier,CueClefandCueEndClef.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):
DotColumn.Figured_bass_engraverMake figured bass numbers.
Music types accepted:
bass-figure-eventandrest-eventProperties (read)
figuredBassAlterationDirection(direction)Where to put alterations relative to the main figure.
figuredBassCenterContinuations(boolean)Whether to vertically center pairs of extender lines. This does not work with three or more lines.
figuredBassFormatter(procedure)A routine generating a markup for a bass figure.
ignoreFiguredBassRest(boolean)Don’t swallow rest events.
implicitBassFigures(list)A list of bass figures that are not printed as numbers, but only as extender lines.
useBassFigureExtenders(boolean)Whether to use extender lines for repeated bass figures.
This engraver creates the following layout object(s):
BassFigure,BassFigureAlignment,BassFigureBracket,BassFigureContinuationandBassFigureLine.Figured_bass_position_engraverPosition figured bass alignments over notes.
This engraver creates the following layout object(s):
BassFigureAlignmentPositioning.Fingering_column_engraverFind potentially colliding scripts and put them into a
FingeringColumnobject; that will fix the collisions.This engraver creates the following layout object(s):
FingeringColumn.Font_size_engraverPut
fontSizeintofont-sizegrob property.Properties (read)
fontSize(number)The relative size of all grobs in a context.
Grob_pq_engraverAdministrate when certain grobs (e.g., note heads) stop playing.
Properties (read)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g., note heads, spanners, etc.).Properties (write)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g., note heads, spanners, etc.).Horizontal_script_engraverAligns
ScripthorizontallyInstrument_name_engraverCreate a system start text for instrument or vocal names.
Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
instrumentName(markup)The name to print left of a staff. The
instrumentNameproperty labels the staff in the first system, and theshortInstrumentNameproperty labels following lines.shortInstrumentName(markup)See
instrumentName.shortVocalName(markup)Name of a vocal line, short version.
vocalName(markup)Name of a vocal line.
This engraver creates the following layout object(s):
InstrumentName.Ledger_line_engraverCreate the spanner to draw ledger lines, and notices objects that need ledger lines.
This engraver creates the following layout object(s):
LedgerLineSpanner.Merge_mmrest_numbers_engraverEngraver to merge multi-measure rest numbers in multiple voices.
This works by gathering all multi-measure rest numbers at a time step. If they all have the same text and there are at least two only the first one is retained and the others are hidden.
Non_musical_script_column_engraverFind potentially colliding non-musical scripts and put them into a
ScriptColumnobject; that will fix the collisions.This engraver creates the following layout object(s):
ScriptColumn.Optional_material_bracket_engraverNotate in-staff brackets for optional material.
Music types accepted:
optional-material-eventThis engraver creates the following layout object(s):
OptionalMaterialBracket.Piano_pedal_align_engraverAlign piano pedal symbols and brackets.
Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
This engraver creates the following layout object(s):
SostenutoPedalLineSpanner,SustainPedalLineSpannerandUnaCordaPedalLineSpanner.Pure_from_neighbor_engraverCoordinates items that get their pure heights from their neighbors.
Rest_collision_engraverHandle collisions of rests.
Properties (read)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g., note heads, spanners, etc.).This engraver creates the following layout object(s):
RestCollision.Script_row_engraverDetermine order in horizontal side position elements.
This engraver creates the following layout object(s):
ScriptRow.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
currentCommandColumncontains items that will affect spacing.This engraver creates the following layout object(s):
StaffSpacing.Skip_typesetting_engraverCreate a
StaffEllipsiswhenskipTypesettingis used.Properties (read)
skipTypesetting(boolean)If true, no typesetting is done, speeding up the interpretation phase. Useful for debugging large scores.
This engraver creates the following layout object(s):
StaffEllipsis.Staff_collecting_engraverMaintain the
stavesFoundvariable.Properties (read)
stavesFound(list of grobs)A list of all staff-symbols found.
Properties (write)
stavesFound(list of grobs)A list of all staff-symbols found.
Staff_highlight_engraverHighlights music passages.
Music types accepted:
staff-highlight-eventProperties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
This engraver creates the following layout object(s):
StaffHighlight.Staff_symbol_engraverCreate the constellation of five (default) staff lines.
Music types accepted:
staff-span-eventThis engraver creates the following layout object(s):
StaffSymbol.Time_signature_engraverCreate a
TimeSignaturewhenevertimeSignaturechanges.Music types accepted:
polymetric-time-signature-eventandreference-time-signature-eventProperties (read)
initialTimeSignatureVisibility(vector)break visibility for the initial time signature.
partialBusy(boolean)Signal that \partial acts at the current time step.
timeSignature(time signature)A time-signature specification. See the
\timecommand.This engraver creates the following layout object(s):
TimeSignature.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < DrumStaff ] | [ Up: Contexts ] | [ Dynamics > ] |
2.1.8 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, DoublePercentRepeat, DoublePercentRepeatCounter, DoubleRepeatSlash, DynamicLineSpanner, DynamicText, DynamicTextSpanner, FingerGlideSpanner, Flag, Hairpin, InstrumentSwitch, LaissezVibrerTie, LaissezVibrerTieColumn, MultiMeasureRest, MultiMeasureRestNumber, MultiMeasureRestScript, MultiMeasureRestText, NoteColumn, NoteHead, NoteSpacing, PercentRepeat, PercentRepeatCounter, PhrasingSlur, RepeatSlash, RepeatTie, RepeatTieColumn, Rest, Script, ScriptColumn, Slur, Stem, StemStub, StemTremolo, TextScript, TextSpanner, Tie, TieColumn, TrillPitchAccidental, TrillPitchGroup, TrillPitchHead, TrillPitchParentheses, TrillSpanner, TupletBracket and TupletNumber.
This is a ‘Bottom’ context; no contexts will be created implicitly from it.
This context cannot contain other contexts.
This context is built from the following engraver(s):
Apply_output_engraverApply a procedure to any grob acknowledged.
Music types accepted:
apply-output-eventAuto_beam_engraverGenerate beams based on measure characteristics and observed Stems. Uses
beatBase,beatStructure,beamExceptions,measureLength, andmeasurePositionto decide when to start and stop a beam. Overriding beaming is done throughStem_engraverpropertiesstemLeftBeamCountandstemRightBeamCount.Music types accepted:
beam-break-eventandbeam-forbid-eventProperties (read)
autoBeaming(boolean)If set to
#tthen beams are generated automatically. If set to#f, auto-beaming is switched off as soon as the current beam (if any) is finished according to the auto-beaming rules.beamExceptions(list)An alist of exceptions to auto-beam rules that normally end on beats.
beamHalfMeasure(boolean)Whether to allow a beam to begin halfway through the measure in triple time, which could look like 6/8.
beatBase(positive exact rational or +inf.0)The musical length corresponding to one unit of
beatStructure.beatStructure(number list)A sequence describing the length of each beat in the measure in units of
beatBase.subdivideBeams(boolean)If set, beams of multiple stems may be subdivided by omitting a number of beamlets, dependent on
beamMaximumSubdivision, between beats at multiples ofbeamMinimumSubdivision.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:
beam-eventProperties (read)
beamMelismaBusy(boolean)Signal if a beam is present.
beatBase(positive exact rational or +inf.0)The musical length corresponding to one unit of
beatStructure.beatStructure(number list)A sequence describing the length of each beat in the measure in units of
beatBase.subdivideBeams(boolean)If set, beams of multiple stems may be subdivided by omitting a number of beamlets, dependent on
beamMaximumSubdivision, between beats at multiples ofbeamMinimumSubdivision.This engraver creates the following layout object(s):
Beam.Bend_engraverCreate fall spanners.
Music types accepted:
bend-after-eventProperties (read)
currentBarLine(graphical (layout) object)Set to the
BarLinethatBar_engraverhas created in the current time step.currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
BendAfter.Breathing_sign_engraverNotate breath marks.
Music types accepted:
breathing-eventProperties (read)
breathMarkType(symbol)The type of
BreathingSignto create at\breathe.This engraver creates the following layout object(s):
BreathingSign.Chord_tremolo_engraverGenerate beams for tremolo repeats.
Music types accepted:
tremolo-span-eventThis engraver creates the following layout object(s):
Beam.Dots_engraverCreate
Dotsobjects forrhythmic-head-interfaces.This engraver creates the following layout object(s):
Dots.Double_percent_repeat_engraverMake double measure repeats.
Music types accepted:
double-percent-eventProperties (read)
countPercentRepeats(boolean)If set, produce counters for percent repeats.
measureLength(positive exact rational or +inf.0)The musical length of the current measure.
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, except if explicitly requested by the user.This engraver creates the following layout object(s):
DoublePercentRepeatandDoublePercentRepeatCounter.Drum_notes_engraverGenerate drum note heads.
Music types accepted:
note-eventProperties (read)
drumStyleTable(hash table)A hash table which maps drums to layout settings. Predefined values: ‘drums-style’, ‘agostini-drums-style’, ‘weinberg-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):
NoteHeadandScript.Dynamic_align_engraverAlign hairpins and dynamic texts on a horizontal line.
Properties (read)
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
DynamicLineSpanner.Dynamic_engraverCreate hairpins, dynamic texts and dynamic text spanners.
Music types accepted:
absolute-dynamic-event,break-dynamic-span-eventandspan-dynamic-eventProperties (read)
crescendoSpanner(symbol)The type of spanner to be used for crescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin crescendo is used.
crescendoText(markup)The text to print at start of non-hairpin crescendo, i.e., ‘cresc.’.
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
decrescendoSpanner(symbol)The type of spanner to be used for decrescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin decrescendo is used.
decrescendoText(markup)The text to print at start of non-hairpin decrescendo, i.e., ‘dim.’.
This engraver creates the following layout object(s):
DynamicText,DynamicTextSpannerandHairpin.Finger_glide_engraverEngraver to print a line between two
Fingering,StringNumberorStrokeFingergrobs.Music types accepted:
note-eventThis engraver creates the following layout object(s):
FingerGlideSpanner.Font_size_engraverPut
fontSizeintofont-sizegrob property.Properties (read)
fontSize(number)The relative size of all grobs in a context.
Forbid_line_break_engraverForbid line breaks when note heads are still playing at some point.
Properties (read)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g., note heads, spanners, etc.).Properties (write)
forbidBreak(boolean)If set to
#t, prevent a line break at this point, except if explicitly requested by the user.Grace_auto_beam_engraverGenerates one autobeam group across an entire grace phrase. As usual, any manual beaming or
\noBeamwill block autobeaming, just like setting the context property ‘autoBeaming’ to##f.Music types accepted:
beam-break-eventandbeam-forbid-eventProperties (read)
autoBeaming(boolean)If set to
#tthen beams are generated automatically. If set to#f, auto-beaming is switched off as soon as the current beam (if any) is finished according to the auto-beaming rules.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:
beam-eventProperties (read)
beamMelismaBusy(boolean)Signal if a beam is present.
beatBase(positive exact rational or +inf.0)The musical length corresponding to one unit of
beatStructure.beatStructure(number list)A sequence describing the length of each beat in the measure in units of
beatBase.subdivideBeams(boolean)If set, beams of multiple stems may be subdivided by omitting a number of beamlets, dependent on
beamMaximumSubdivision, between beats at multiples ofbeamMinimumSubdivision.This engraver creates the following layout object(s):
Beam.Grace_engraverSet font size and other properties for grace notes.
Properties (read)
graceSettings(list)Overrides for grace notes. This property should be manipulated through the
add-grace-propertyfunction.Grob_pq_engraverAdministrate when certain grobs (e.g., note heads) stop playing.
Properties (read)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g., note heads, spanners, etc.).Properties (write)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g., note heads, spanners, etc.).Instrument_switch_engraverCreate a cue text for taking instrument.
This engraver is deprecated.
Properties (read)
instrumentCueName(markup)The name to print if another instrument is to be taken.
This property is deprecated
This engraver creates the following layout object(s):
InstrumentSwitch.Laissez_vibrer_engraverCreate laissez vibrer items.
Music types accepted:
laissez-vibrer-eventThis engraver creates the following layout object(s):
LaissezVibrerTieandLaissezVibrerTieColumn.Multi_measure_rest_engraverEngrave multi-measure rests that are produced with ‘R’. It reads
measureStartNowandinternalBarNumberto determine what number to print over theMultiMeasureRest.Music types accepted:
multi-measure-articulation-event,multi-measure-rest-eventandmulti-measure-text-eventProperties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
internalBarNumber(integer)Contains the current bar number. This property is used for internal timekeeping, among others by the
Accidental_engraver.measureStartNow(boolean)True at the beginning of a measure.
restNumberThreshold(number)If a multi-measure rest has more measures than this, a number is printed.
This engraver creates the following layout object(s):
MultiMeasureRest,MultiMeasureRestNumber,MultiMeasureRestScriptandMultiMeasureRestText.Note_spacing_engraverGenerate
NoteSpacing, an object linking horizontal lines for use in spacing.This engraver creates the following layout object(s):
NoteSpacing.Part_combine_engraverPart combine engraver for orchestral scores: Print markings ‘a2’, ‘Solo’, ‘Solo II’, and ‘unisono’.
Music types accepted:
note-eventandpart-combine-eventProperties (read)
aDueText(markup)Text to print at a unisono passage.
partCombineTextsOnNote(boolean)Print part-combine texts only on the next note rather than immediately on rests or skips.
printPartCombineTexts(boolean)Set ‘Solo’ and ‘A due’ texts in the part combiner?
soloIIText(markup)The text for the start of a solo for voice ‘two’ when part-combining.
soloText(markup)The text for the start of a solo when part-combining.
This engraver creates the following layout object(s):
CombineTextScript.Percent_repeat_engraverMake whole measure repeats.
Music types accepted:
percent-eventProperties (read)
countPercentRepeats(boolean)If set, produce counters for percent repeats.
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
repeatCountVisibility(procedure)A procedure taking as arguments an integer and context, returning whether the corresponding percent repeat number should be printed when
countPercentRepeatsis set.This engraver creates the following layout object(s):
PercentRepeatandPercentRepeatCounter.Phrasing_slur_engraverPrint phrasing slurs. Similar to
Slur_engraver.Music types accepted:
note-eventandphrasing-slur-eventThis engraver creates the following layout object(s):
PhrasingSlur.Pitched_trill_engraverPrint the bracketed note head after a note head with trill.
This engraver creates the following layout object(s):
TrillPitchAccidental,TrillPitchGroup,TrillPitchHeadandTrillPitchParentheses.Repeat_tie_engraverCreate repeat ties.
Music types accepted:
repeat-tie-eventThis engraver creates the following layout object(s):
RepeatTieandRepeatTieColumn.Rest_engraverEngrave rests.
Music types accepted:
rest-eventProperties (read)
middleCPosition(number)The place of the middle C, measured in half staff-spaces. Usually determined by looking at
middleCClefPositionandmiddleCOffset.This engraver creates the following layout object(s):
Rest.Rhythmic_column_engraverGenerate
NoteColumn, an object that groups stems, note heads, and rests.This engraver creates the following layout object(s):
NoteColumn.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):
ScriptColumn.Script_engraverHandle note scripted articulations.
Music types accepted:
articulation-eventProperties (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.Slash_repeat_engraverMake beat repeats.
Music types accepted:
repeat-slash-eventThis engraver creates the following layout object(s):
DoubleRepeatSlashandRepeatSlash.Slur_engraverBuild slur grobs from slur events.
Music types accepted:
note-eventandslur-eventProperties (read)
doubleSlurs(boolean)If set, two slurs are created for every slurred note, one above and one below the chord.
slurMelismaBusy(boolean)Signal if a slur is present.
This engraver creates the following layout object(s):
Slur.Spanner_break_forbid_engraverForbid breaks in certain spanners.
Stem_engraverCreate stems, flags and single-stem tremolos. It also works together with the beam engraver for overriding beaming.
Music types accepted:
tremolo-eventProperties (read)
currentBarLine(graphical (layout) object)Set to the
BarLinethatBar_engraverhas created in the current time step.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):
Flag,Stem,StemStubandStemTremolo.Text_engraverCreate text scripts.
Music types accepted:
text-script-eventThis engraver creates the following layout object(s):
TextScript.Text_spanner_engraverCreate text spanner from an event.
Music types accepted:
text-span-eventProperties (read)
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
TextSpanner.Tie_engraverGenerate ties between note heads of equal pitch.
Music types accepted:
tie-eventProperties (read)
skipTypesetting(boolean)If true, no typesetting is done, speeding up the interpretation phase. Useful for debugging large scores.
tieWaitForNote(boolean)If true, tied notes do not have to follow each other directly. This can be used for writing out arpeggios.
Properties (write)
tieMelismaBusy(boolean)Signal whether a tie is present.
This engraver creates the following layout object(s):
TieandTieColumn.Toe_heel_engraverRead the
toeHeelStylecontext property and use it to style\rtoeand its siblings, based on the data in thetoe-heel-stylesalist.Music types accepted:
articulation-eventProperties (read)
toeHeelStyle(symbol)The style for the glyph shape and behavior of
\rtoeand siblings. Possible values aredefault,standard,reversed,circleheels, andbelow. If not set (the default), use valuedefault.Trill_spanner_engraverCreate trill spanners.
Music types accepted:
trill-span-eventProperties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
TrillSpanner.Tuplet_engraverCatch tuplet events and generate appropriate bracket.
Music types accepted:
tuplet-span-eventProperties (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):
TupletBracketandTupletNumber.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < DrumVoice ] | [ Up: Contexts ] | [ FiguredBass > ] |
2.1.9 Dynamics ¶
Holds a single line of dynamics centered between the staves surrounding this context.
This context also accepts commands for the following context(s):
Staff and Voice.
This context creates the following layout object(s):
BarLine, DynamicLineSpanner, DynamicText, DynamicTextSpanner, Hairpin, PianoPedalBracket, Script, SostenutoPedal, SustainPedal, TextScript, TextSpanner, UnaCordaPedal and VerticalAxisGroup.
This context sets the following properties:
- Set context property
pedalSustainStringsto:'("Ped." "*Ped." "*") - Set context property
pedalUnaCordaStringsto:'("una corda" "" "tre corde") - Set grob property
font-shapeinTextScriptto'italic. - Set grob property
nonstaff-relatedstaff-spacinginVerticalAxisGroupto :'((basic-distance . 5) (padding . 0.5))
- Set grob property
outside-staff-priorityinDynamicLineSpannerto#f. - Set grob property
outside-staff-priorityinDynamicTextto#f. - Set grob property
outside-staff-priorityinHairpinto#f. - Set grob property
staff-affinityinVerticalAxisGroupto0. - Set grob property
Y-offsetinDynamicLineSpannerto0.
This is a ‘Bottom’ context; no contexts will be created implicitly from it.
This context cannot contain other contexts.
This context is built from the following engraver(s):
Apply_output_engraverApply a procedure to any grob acknowledged.
Music types accepted:
apply-output-eventAxis_group_engraverGroup all objects created in this context in a
VerticalAxisGroupspanner.Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
hasAxisGroup(boolean)True if the current context is contained in an axis group.
keepAliveInterfaces(list)A list of symbols, signifying grob interfaces that are worth keeping a staff with
remove-emptyset around for.Properties (write)
hasAxisGroup(boolean)True if the current context is contained in an axis group.
This engraver creates the following layout object(s):
VerticalAxisGroup.Bar_engraverCreate bar lines for various commands, including
\\bar.If
forbidBreakBetweenBarLinesis true, allow line breaks at bar lines only.Music types accepted:
ad-hoc-jump-event,caesura-event,coda-mark-event,dal-segno-event,fine-event,section-eventandsegno-mark-eventProperties (read)
caesuraType(list)An alist
((bar-line . bar-type) (breath . breath-type) (scripts . script-type...) (underlying-bar-line . bar-type))specifying which breath mark, bar line, and scripts to create at
\caesura. All entries are optional.
bar-linehas higher priority than a measure bar line andunderlying-bar-linehas lower priority than a measure bar line.caesuraTypeTransform(procedure)An engraver callback taking three arguments and returning an alist of the same kind as
caesuraType.The first argument is the context.
The second argument is the value of
caesuraTypewith an additional entry(articulations . symbol-list)identifying the articulations attached to the caesura in the music. If the transform function returns this second argument unmodified, it is as if no transform function were set; the function is free to return a different value. The transform function can remove articulations, but any added articulations are ignored.The third argument is a symbol-list identifying certain things the engraver has observed.
bar-lineindicates that the engraver has observed aBarLineat the current moment.doubleRepeatBarType(string)Bar line to insert where the end of one
\repeat voltacoincides with the start of another. The default is ‘:..:’.doubleRepeatSegnoBarType(string)Bar line to insert where an in-staff segno coincides with the end of one
\repeat voltaand the beginning of another. The default is ‘:|.S.|:’.endRepeatBarType(string)Bar line to insert at the end of a
\repeat volta. The default is ‘:|.’.endRepeatSegnoBarType(string)Bar line to insert where an in-staff segno coincides with the end of a
\repeat volta. The default is ‘:|.S’.fineBarType(string)Bar line to insert at
\fine. Where there is also a repeat bar line, the repeat bar line takes precedence and this value is appended to it as an annotation. The default is ‘|.’.fineSegnoBarType(string)Bar line to insert where an in-staff segno coincides with
\fine. The default is ‘|.S’.fineStartRepeatSegnoBarType(string)Bar line to insert where an in-staff segno coincides with
\fineand the start of a\repeat volta. The default is ‘|.S.|:’.forbidBreakBetweenBarLines(boolean)If set to
#t,Bar_engraverforbids line breaks where there is no bar line.measureBarType(string)Bar line to insert at a measure boundary.
printInitialRepeatBar(boolean)Use a special bar line at the start of a volta repeat even at the beginning of the piece.
printTrivialVoltaRepeats(boolean)Notate volta-style repeats even when the repeat count is 1.
repeatCommands(list)A list of commands related to volta-style repeats. In general, each element is a list,
'(command args…), but a command with no arguments may be abbreviated to a symbol; e.g.,'((start-repeat))may be given as'(start-repeat).
end-repeat return-countEnd a repeated section. return-count is the number of times to go back from this point to the beginning of the section.
start-repeat repeat-countStart a repeated section. repeat-count is the number of times to perform this section.
volta textIf text is markup, start a volta bracket with that label; if text is
#f, end a volta bracket.sectionBarType(string)Bar line to insert at
\section. Where there is also a repeat bar line, the repeat bar line takes precedence and this value is appended to it as an annotation. The default is ‘||’.segnoBarType(string)Bar line to insert at an in-staff segno. The default is ‘S’.
segnoStyle(symbol)A symbol that indicates how to print a segno:
bar-lineormark.startRepeatBarType(string)Bar line to insert at the start of a
\repeat volta. The default is ‘.|:’.startRepeatSegnoBarType(string)Bar line to insert where an in-staff segno coincides with the start of a
\repeat volta. The default is ‘S.|:’.submeasureBarsEnabled(boolean)Whether to insert submeasure bar lines at boundaries specified by
submeasureStructure. They are typically enabled selectively to clarify complex rhythms.submeasureBarType(string)Bar line to insert at submeasure boundaries specified by
submeasureStructure, whensubmeasureBarsEnabledallows.submeasureStructure(number list)A sequence describing subdivisions of a measure. Each element tells the distance from the previous division in units of
beatBase.underlyingRepeatBarType(string)Bar line to insert at points of repetition or departure where no bar line would normally appear, for example at the end of a system broken in mid measure where the next system begins with a segno. Where there is also a repeat bar line, the repeat bar line takes precedence and this value is appended to it as an annotation. The default is ‘||’.
whichBar(string)The current bar line type, or
'()if there is no bar line. Setting this explicitly in user code is deprecated. Use\baror related commands to set it.Properties (write)
currentBarLine(graphical (layout) object)Set to the
BarLinethatBar_engraverhas created in the current time step.forbidBreak(boolean)If set to
#t, prevent a line break at this point, except if explicitly requested by the user.This engraver creates the following layout object(s):
BarLine.Dynamic_align_engraverAlign hairpins and dynamic texts on a horizontal line.
Properties (read)
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
DynamicLineSpanner.Dynamic_engraverCreate hairpins, dynamic texts and dynamic text spanners.
Music types accepted:
absolute-dynamic-event,break-dynamic-span-eventandspan-dynamic-eventProperties (read)
crescendoSpanner(symbol)The type of spanner to be used for crescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin crescendo is used.
crescendoText(markup)The text to print at start of non-hairpin crescendo, i.e., ‘cresc.’.
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
decrescendoSpanner(symbol)The type of spanner to be used for decrescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin decrescendo is used.
decrescendoText(markup)The text to print at start of non-hairpin decrescendo, i.e., ‘dim.’.
This engraver creates the following layout object(s):
DynamicText,DynamicTextSpannerandHairpin.Font_size_engraverPut
fontSizeintofont-sizegrob property.Properties (read)
fontSize(number)The relative size of all grobs in a context.
Piano_pedal_engraverEngrave piano pedal symbols and brackets.
Music types accepted:
sostenuto-event,sustain-eventanduna-corda-eventProperties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
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,SustainPedalandUnaCordaPedal.Script_engraverHandle note scripted articulations.
Music types accepted:
articulation-eventProperties (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.Text_engraverCreate text scripts.
Music types accepted:
text-script-eventThis engraver creates the following layout object(s):
TextScript.Text_spanner_engraverCreate text spanner from an event.
Music types accepted:
text-span-eventProperties (read)
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
TextSpanner.Toe_heel_engraverRead the
toeHeelStylecontext property and use it to style\rtoeand its siblings, based on the data in thetoe-heel-stylesalist.Music types accepted:
articulation-eventProperties (read)
toeHeelStyle(symbol)The style for the glyph shape and behavior of
\rtoeand siblings. Possible values aredefault,standard,reversed,circleheels, andbelow. If not set (the default), use valuedefault.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Dynamics ] | [ Up: Contexts ] | [ FretBoards > ] |
2.1.10 FiguredBass ¶
The context in which BassFigure grobs are created
from input entered in \figuremode mode.
This context creates the following layout object(s):
BassFigure, BassFigureAlignment, BassFigureBracket, BassFigureContinuation, BassFigureLine, StaffSpacing and VerticalAxisGroup.
This context sets the following properties:
- Set grob property
nonstaff-nonstaff-spacing.paddinginVerticalAxisGroupto0.5. - Set grob property
nonstaff-relatedstaff-spacing.paddinginVerticalAxisGroupto0.5. - Set grob property
remove-emptyinVerticalAxisGroupto#t. - Set grob property
remove-firstinVerticalAxisGroupto#t. - Set grob property
staff-affinityinVerticalAxisGroupto1.
This is a ‘Bottom’ context; no contexts will be created implicitly from it.
This context cannot contain other contexts.
This context is built from the following engraver(s):
Axis_group_engraverGroup all objects created in this context in a
VerticalAxisGroupspanner.Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
hasAxisGroup(boolean)True if the current context is contained in an axis group.
keepAliveInterfaces(list)A list of symbols, signifying grob interfaces that are worth keeping a staff with
remove-emptyset around for.Properties (write)
hasAxisGroup(boolean)True if the current context is contained in an axis group.
This engraver creates the following layout object(s):
VerticalAxisGroup.Figured_bass_engraverMake figured bass numbers.
Music types accepted:
bass-figure-eventandrest-eventProperties (read)
figuredBassAlterationDirection(direction)Where to put alterations relative to the main figure.
figuredBassCenterContinuations(boolean)Whether to vertically center pairs of extender lines. This does not work with three or more lines.
figuredBassFormatter(procedure)A routine generating a markup for a bass figure.
ignoreFiguredBassRest(boolean)Don’t swallow rest events.
implicitBassFigures(list)A list of bass figures that are not printed as numbers, but only as extender lines.
useBassFigureExtenders(boolean)Whether to use extender lines for repeated bass figures.
This engraver creates the following layout object(s):
BassFigure,BassFigureAlignment,BassFigureBracket,BassFigureContinuationandBassFigureLine.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
currentCommandColumncontains items that will affect spacing.This engraver creates the following layout object(s):
StaffSpacing.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < FiguredBass ] | [ Up: Contexts ] | [ Global > ] |
2.1.11 FretBoards ¶
A context for displaying fret diagrams.
This context also accepts commands for the following context(s):
Staff.
This context creates the following layout object(s):
FretBoard, InstrumentName, StaffSpacing and VerticalAxisGroup.
This context sets the following properties:
- Set context property
handleNegativeFretsto'recalculate. - Set context property
instrumentNameto'(). - Set context property
predefinedDiagramTableto#<hash-table>. - Set context property
restrainOpenStringsto#f. - Set context property
shortInstrumentNameto'().
This is a ‘Bottom’ context; no contexts will be created implicitly from it.
This context cannot contain other contexts.
This context is built from the following engraver(s):
Apply_output_engraverApply a procedure to any grob acknowledged.
Music types accepted:
apply-output-eventAxis_group_engraverGroup all objects created in this context in a
VerticalAxisGroupspanner.Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
hasAxisGroup(boolean)True if the current context is contained in an axis group.
keepAliveInterfaces(list)A list of symbols, signifying grob interfaces that are worth keeping a staff with
remove-emptyset around for.Properties (write)
hasAxisGroup(boolean)True if the current context is contained in an axis group.
This engraver creates the following layout object(s):
VerticalAxisGroup.Font_size_engraverPut
fontSizeintofont-sizegrob property.Properties (read)
fontSize(number)The relative size of all grobs in a context.
Fretboard_engraverGenerate fret diagram from one or more events of type
NoteEvent.Music types accepted:
fingering-event,note-eventandstring-number-eventProperties (read)
chordChanges(boolean)Only show changes in chords scheme?
defaultStrings(list)A list of strings to use in calculating frets for tablatures and fretboards if no strings are provided in the notes for the current moment.
highStringOne(boolean)Whether the first string is the string with highest pitch on the instrument. This used by the automatic string selector for tablature notation.
maximumFretStretch(number)Don’t allocate frets further than this from specified frets.
minimumFret(number)The tablature auto string-selecting mechanism selects the highest string with a fret at least
minimumFret.noteToFretFunction(procedure)Convert list of notes and list of defined strings to full list of strings and fret numbers. Parameters: The context, a list of note events, a list of tabstring events, and the fretboard grob if a fretboard is desired.
predefinedDiagramTable(hash table)The hash table of predefined fret diagrams to use in FretBoards.
stringTunings(list)The tablature strings tuning. It is a list of the pitches of each string (starting with the lowest numbered one).
tablatureFormat(procedure)A function formatting a tablature note head. Called with three arguments: context, string number and, fret number. It returns the text as a markup.
This engraver creates the following layout object(s):
FretBoard.Instrument_name_engraverCreate a system start text for instrument or vocal names.
Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
instrumentName(markup)The name to print left of a staff. The
instrumentNameproperty labels the staff in the first system, and theshortInstrumentNameproperty labels following lines.shortInstrumentName(markup)See
instrumentName.shortVocalName(markup)Name of a vocal line, short version.
vocalName(markup)Name of a vocal line.
This engraver creates the following layout object(s):
InstrumentName.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
currentCommandColumncontains items that will affect spacing.This engraver creates the following layout object(s):
StaffSpacing.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < FretBoards ] | [ Up: Contexts ] | [ GrandStaff > ] |
2.1.12 Global ¶
Hard coded entry point for LilyPond. Usually not meant to be modified directly.
This context creates the following layout object(s): none.
This is not a ‘Bottom’ context; search for such a one will commence after creating an implicit context of type Score.
Context Global can contain
ChordGridScore, Score, StandaloneRhythmScore and VaticanaScore.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Global ] | [ Up: Contexts ] | [ GregorianTranscriptionLyrics > ] |
2.1.13 GrandStaff ¶
Connect staves vertically by adding a brace on the left side. The bar lines of the contained staves are connected vertically, too.
This context creates the following layout object(s):
Arpeggio, ChordBracket, ChordSlur, InstrumentName, SpanBar, SpanBarStub, StaffGrouper, SystemStartBar, SystemStartBrace, SystemStartBracket, SystemStartSquare and VerticalAlignment.
This context sets the following properties:
- Set context property
instrumentNameto'(). - Set context property
localAlterationsto#f. - Set context property
localAlterationsto'(). - Set context property
localAlterationsto'(). - Set context property
shortInstrumentNameto'(). - Set context property
systemStartDelimiterto'SystemStartBrace. - Set context property
systemStartDelimiterto'SystemStartBracket. - Set context property
topLevelAlignmentto#f. - Set grob property
extra-spacing-widthinDynamicTextto#f.
This is not a ‘Bottom’ context; search for such a one will commence after creating an implicit context of type Staff.
Context GrandStaff can contain
ChoirStaff, ChordNames, Devnull, DrumStaff, Dynamics, FiguredBass, FretBoards, GrandStaff, GregorianTranscriptionLyrics, GregorianTranscriptionStaff, KievanStaff, Lyrics, MensuralStaff, NoteNames, OneStaff, PetrucciStaff, PianoStaff, RhythmicStaff, Staff, StaffGroup, TabStaff, VaticanaLyrics and VaticanaStaff.
This context is built from the following engraver(s):
Apply_output_engraverApply a procedure to any grob acknowledged.
Music types accepted:
apply-output-eventInstrument_name_engraverCreate a system start text for instrument or vocal names.
Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
instrumentName(markup)The name to print left of a staff. The
instrumentNameproperty labels the staff in the first system, and theshortInstrumentNameproperty labels following lines.shortInstrumentName(markup)See
instrumentName.shortVocalName(markup)Name of a vocal line, short version.
vocalName(markup)Name of a vocal line.
This engraver creates the following layout object(s):
InstrumentName.Span_arpeggio_engraverMake arpeggios, non-arpeggiato brackets, and vertical slurs spanning multiple staves.
Properties (read)
connectArpeggios(boolean)If set, connect arpeggios across piano staff.
connectChordBrackets(boolean)If set, connect chord brackets across piano staff.
connectChordSlurs(boolean)If set, connect chord slurs across piano staff.
This engraver creates the following layout object(s):
Arpeggio,ChordBracketandChordSlur.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):
SpanBar.Span_bar_stub_engraverMake stubs for span bars in all contexts that the span bars cross.
This engraver creates the following layout object(s):
SpanBarStub.System_start_delimiter_engraverCreate a system start delimiter (i.e., a
SystemStartBar,SystemStartBrace,SystemStartBracketorSystemStartSquarespanner).Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
systemStartDelimiter(symbol)Which grob to make for the start of the system/staff? Set to
SystemStartBrace,SystemStartBracketorSystemStartBar.systemStartDelimiterHierarchy(pair)A nested list, indicating the nesting of a start delimiters.
This engraver creates the following layout object(s):
SystemStartBar,SystemStartBrace,SystemStartBracketandSystemStartSquare.Vertical_align_engraverCatch groups (staves, lyrics lines, etc.) and stack them vertically.
Properties (read)
alignAboveContext(string)Where to insert newly created context in vertical alignment.
alignBelowContext(string)Where to insert newly created context in vertical alignment.
hasAxisGroup(boolean)True if the current context is contained in an axis group.
This engraver creates the following layout object(s):
StaffGrouperandVerticalAlignment.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < GrandStaff ] | [ Up: Contexts ] | [ GregorianTranscriptionStaff > ] |
2.1.14 GregorianTranscriptionLyrics ¶
A lyrics context for notating Gregorian chant in modern style.
This context also accepts commands for the following context(s):
Lyrics.
This context creates the following layout object(s):
InstrumentName, LyricExtender, LyricHyphen, LyricRepeatCount, LyricSpace, LyricText, StanzaNumber, VerticalAxisGroup and VowelTransition.
This context sets the following properties:
- Set context property
instrumentNameto'(). - Set context property
lyricRepeatCountFormatterto#<procedure at lily/translation-functions.scm:218:4 (context repeat-count)>. - Set context property
searchForVoiceto#f. - Set context property
shortInstrumentNameto'(). - Set grob property
bar-extentinBarLineto :'(-0.05 . 0.05)
- Set grob property
font-sizeinInstrumentNameto1.0. - Set grob property
nonstaff-nonstaff-spacinginVerticalAxisGroupto :'((basic-distance . 0) (minimum-distance . 2.8) (padding . 0.2) (stretchability . 0))
- Set grob property
nonstaff-relatedstaff-spacinginVerticalAxisGroupto :'((basic-distance . 5.5) (padding . 0.5) (stretchability . 1))
- Set grob property
nonstaff-unrelatedstaff-spacing.paddinginVerticalAxisGroupto1.5. - Set grob property
parent-alignment-XinLyricRepeatCountto1. - Set grob property
remove-emptyinVerticalAxisGroupto#t. - Set grob property
remove-firstinVerticalAxisGroupto#t. - Set grob property
self-alignment-YinInstrumentNameto#f. - Set grob property
short-bar-extentinBarLineto :'(-0.05 . 0.05)
- Set grob property
staff-affinityinVerticalAxisGroupto1.
This is a ‘Bottom’ context; no contexts will be created implicitly from it.
This context cannot contain other contexts.
This context is built from the following engraver(s):
Axis_group_engraverGroup all objects created in this context in a
VerticalAxisGroupspanner.Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
hasAxisGroup(boolean)True if the current context is contained in an axis group.
keepAliveInterfaces(list)A list of symbols, signifying grob interfaces that are worth keeping a staff with
remove-emptyset around for.Properties (write)
hasAxisGroup(boolean)True if the current context is contained in an axis group.
This engraver creates the following layout object(s):
VerticalAxisGroup.Extender_engraverCreate lyric extenders.
Music types accepted:
completize-extender-event,extender-event,hyphen-eventandlyric-eventProperties (read)
autoExtenders(boolean)Create lyric extenders automatically for syllables in melismata that are not followed by a hyphen.
extendersOverRests(boolean)Whether to continue extenders as they cross a rest.
This engraver creates the following layout object(s):
LyricExtender.Font_size_engraverPut
fontSizeintofont-sizegrob property.Properties (read)
fontSize(number)The relative size of all grobs in a context.
Hyphen_engraverCreate lyric hyphens, vowel transitions and distance constraints between words.
Music types accepted:
hyphen-eventandvowel-transition-eventThis engraver creates the following layout object(s):
LyricHyphen,LyricSpaceandVowelTransition.Instrument_name_engraverCreate a system start text for instrument or vocal names.
Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
instrumentName(markup)The name to print left of a staff. The
instrumentNameproperty labels the staff in the first system, and theshortInstrumentNameproperty labels following lines.shortInstrumentName(markup)See
instrumentName.shortVocalName(markup)Name of a vocal line, short version.
vocalName(markup)Name of a vocal line.
This engraver creates the following layout object(s):
InstrumentName.Lyric_engraverEngrave text for lyrics.
Music types accepted:
lyric-eventProperties (read)
ignoreMelismata(boolean)Ignore melismata for this Lyrics line.
lyricMelismaAlignment(number)Alignment to use for a melisma syllable.
searchForVoice(boolean)Signal whether a search should be made of all contexts in the context hierarchy for a voice to provide rhythms for the lyrics.
This engraver creates the following layout object(s):
LyricText.Lyric_repeat_count_engraverCreate repeat counts within lyrics for modern transcriptions of Gregorian chant.
Music types accepted:
volta-repeat-end-eventProperties (read)
lyricRepeatCountFormatter(procedure)A procedure taking as arguments the context and the numeric repeat count. It should return the formatted repeat count as markup. If it does not return markup, no grob is created.
This engraver creates the following layout object(s):
LyricRepeatCount.Pure_from_neighbor_engraverCoordinates items that get their pure heights from their neighbors.
Stanza_number_engraverEngrave stanza numbers.
Properties (read)
stanzaReminders(boolean)Whether to print stanza reminders.
stanzaReminderText(procedure-or-markup)The text for stanza reminders, or a procedure that generates the reminder text when given the full current stanza number markup.
This engraver creates the following layout object(s):
StanzaNumber.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < GregorianTranscriptionLyrics ] | [ Up: Contexts ] | [ GregorianTranscriptionVoice > ] |
2.1.15 GregorianTranscriptionStaff ¶
A staff for notating Gregorian chant in modern style.
This context also accepts commands for the following context(s):
Staff.
This context creates the following layout object(s):
Accidental, AccidentalCautionary, AccidentalPlacement, AccidentalSuggestion, BarLine, BassFigure, BassFigureAlignment, BassFigureAlignmentPositioning, BassFigureBracket, BassFigureContinuation, BassFigureLine, Clef, ClefModifier, CueClef, CueEndClef, Divisio, DotColumn, FingeringColumn, InstrumentName, KeyCancellation, KeySignature, LedgerLineSpanner, NoteCollision, OptionalMaterialBracket, OttavaBracket, PianoPedalBracket, RestCollision, ScriptColumn, ScriptRow, SostenutoPedal, SostenutoPedalLineSpanner, StaffEllipsis, StaffHighlight, StaffSpacing, StaffSymbol, SustainPedal, SustainPedalLineSpanner, UnaCordaPedal, UnaCordaPedalLineSpanner and VerticalAxisGroup.
This context sets the following properties:
- Set context property
autoAccidentalsto:'(Staff #<procedure at lily/music-functions.scm:1794:0 (context pitch barnum)>)
- Set context property
autoCautionariesto'(). - Set context property
caesuraTypeTransformtocaesura-to-bar-line-or-divisio. - Set context property
caesuraTypeto:'((breath . varcomma))
- Set context property
createSpacingto#t. - Set context property
doubleRepeatBarTypeto"||". - Set context property
doubleRepeatSegnoBarTypeto"S-||". - Set context property
endRepeatBarTypeto"||". - Set context property
endRepeatSegnoBarTypeto"S-||". - Set context property
extraNaturalto#f. - Set context property
fineBarTypeto"||". - Set context property
fineSegnoBarTypeto"S-||". - Set context property
fineStartRepeatSegnoBarTypeto"S-||". - Set context property
forbidBreakBetweenBarLinesto#f. - Set context property
ignoreFiguredBassRestto#f. - Set context property
instrumentNameto'(). - Set context property
localAlterationsto'(). - Set context property
measureBarTypeto'(). - Set context property
ottavationMarkupsto:'((4 . "29") (3 . "22") (2 . "15") (1 . "8") (-1 . "8") (-2 . "15") (-3 . "22") (-4 . "29"))
- Set context property
printKeyCancellationto#f. - Set context property
printTrivialVoltaRepeatsto#t. - Set context property
sectionBarTypeto"||". - Set context property
segnoBarTypeto"S-||". - Set context property
shortInstrumentNameto'(). - Set context property
startRepeatBarTypeto"||". - Set context property
startRepeatSegnoBarTypeto"S-||". - Set context property
submeasureBarTypeto'(). - Set context property
underlyingRepeatBarTypeto"||". - Set grob property
extra-spacing-heightinBreathingSigntoitem::extra-spacing-height-including-staff. - Set grob property
extra-spacing-widthinBreathingSignto :'(-1.0 . 0.0)
This is not a ‘Bottom’ context; search for such a one will commence after creating an implicit context of type GregorianTranscriptionVoice.
Context GregorianTranscriptionStaff can contain
CueVoice, GregorianTranscriptionVoice and NullVoice.
This context is built from the following engraver(s):
Accidental_engraverMake accidentals. Catch note heads, ties and notices key-change events. This engraver usually lives at Staff level, but reads the settings for Accidental at
Voicelevel, so you can\overridethem atVoice.Properties (read)
accidentalGrouping(symbol)If set to
'voice, accidentals on the same note in different octaves may be horizontally staggered if in different voices.autoAccidentals(list)List of different ways to typeset an accidental.
For determining when to print an accidental, several different rules are tried. The rule that gives the highest number of accidentals is used.
Each entry in the list is either a symbol or a procedure.
- symbol
The symbol is the name of the context in which the following rules are to be applied. For example, if context is 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.
The procedure returns a pair of Booleans. The first states whether an extra natural should be added. The second states whether an accidental should be printed.
(#t . #f)does not make sense.autoCautionaries(list)List similar to
autoAccidentals, but it controls cautionary accidentals rather than normal ones. Both lists are tried, and the one giving the most accidentals wins. In case of draw, a normal accidental is typeset.extraNatural(boolean)Whether to typeset an extra natural sign before accidentals that reduce the effect of a previous alteration.
harmonicAccidentals(boolean)If set, harmonic notes in chords get accidentals.
internalBarNumber(integer)Contains the current bar number. This property is used for internal timekeeping, among others by the
Accidental_engraver.keyAlterations(list)The current key signature. This is an alist containing
(step . alter)or((octave . step) . alter), where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.,keyAlterations = #`((6 . ,FLAT)).localAlterations(list)The key signature at this point in the measure. The format is the same as for
keyAlterations, but can also contain((octave . name) . (alter barnumber . measureposition))pairs.Properties (write)
localAlterations(list)The key signature at this point in the measure. The format is the same as for
keyAlterations, but can also contain((octave . name) . (alter barnumber . measureposition))pairs.This engraver creates the following layout object(s):
Accidental,AccidentalCautionary,AccidentalPlacementandAccidentalSuggestion.Alteration_glyph_engraverSet the
glyph-name-alistof all grobs having theaccidental-switch-interfaceto the value of the context’salterationGlyphsproperty, when defined.Properties (read)
alterationGlyphs(list)Alist mapping alterations to accidental glyphs. Alterations are given as exact numbers, e.g., -1/2 for flat. This applies to all grobs that can print accidentals.
Apply_output_engraverApply a procedure to any grob acknowledged.
Music types accepted:
apply-output-eventAxis_group_engraverGroup all objects created in this context in a
VerticalAxisGroupspanner.Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
hasAxisGroup(boolean)True if the current context is contained in an axis group.
keepAliveInterfaces(list)A list of symbols, signifying grob interfaces that are worth keeping a staff with
remove-emptyset around for.Properties (write)
hasAxisGroup(boolean)True if the current context is contained in an axis group.
This engraver creates the following layout object(s):
VerticalAxisGroup.Bar_engraverCreate bar lines for various commands, including
\\bar.If
forbidBreakBetweenBarLinesis true, allow line breaks at bar lines only.Music types accepted:
ad-hoc-jump-event,caesura-event,coda-mark-event,dal-segno-event,fine-event,section-eventandsegno-mark-eventProperties (read)
caesuraType(list)An alist
((bar-line . bar-type) (breath . breath-type) (scripts . script-type...) (underlying-bar-line . bar-type))specifying which breath mark, bar line, and scripts to create at
\caesura. All entries are optional.
bar-linehas higher priority than a measure bar line andunderlying-bar-linehas lower priority than a measure bar line.caesuraTypeTransform(procedure)An engraver callback taking three arguments and returning an alist of the same kind as
caesuraType.The first argument is the context.
The second argument is the value of
caesuraTypewith an additional entry(articulations . symbol-list)identifying the articulations attached to the caesura in the music. If the transform function returns this second argument unmodified, it is as if no transform function were set; the function is free to return a different value. The transform function can remove articulations, but any added articulations are ignored.The third argument is a symbol-list identifying certain things the engraver has observed.
bar-lineindicates that the engraver has observed aBarLineat the current moment.doubleRepeatBarType(string)Bar line to insert where the end of one
\repeat voltacoincides with the start of another. The default is ‘:..:’.doubleRepeatSegnoBarType(string)Bar line to insert where an in-staff segno coincides with the end of one
\repeat voltaand the beginning of another. The default is ‘:|.S.|:’.endRepeatBarType(string)Bar line to insert at the end of a
\repeat volta. The default is ‘:|.’.endRepeatSegnoBarType(string)Bar line to insert where an in-staff segno coincides with the end of a
\repeat volta. The default is ‘:|.S’.fineBarType(string)Bar line to insert at
\fine. Where there is also a repeat bar line, the repeat bar line takes precedence and this value is appended to it as an annotation. The default is ‘|.’.fineSegnoBarType(string)Bar line to insert where an in-staff segno coincides with
\fine. The default is ‘|.S’.fineStartRepeatSegnoBarType(string)Bar line to insert where an in-staff segno coincides with
\fineand the start of a\repeat volta. The default is ‘|.S.|:’.forbidBreakBetweenBarLines(boolean)If set to
#t,Bar_engraverforbids line breaks where there is no bar line.measureBarType(string)Bar line to insert at a measure boundary.
printInitialRepeatBar(boolean)Use a special bar line at the start of a volta repeat even at the beginning of the piece.
printTrivialVoltaRepeats(boolean)Notate volta-style repeats even when the repeat count is 1.
repeatCommands(list)A list of commands related to volta-style repeats. In general, each element is a list,
'(command args…), but a command with no arguments may be abbreviated to a symbol; e.g.,'((start-repeat))may be given as'(start-repeat).
end-repeat return-countEnd a repeated section. return-count is the number of times to go back from this point to the beginning of the section.
start-repeat repeat-countStart a repeated section. repeat-count is the number of times to perform this section.
volta textIf text is markup, start a volta bracket with that label; if text is
#f, end a volta bracket.sectionBarType(string)Bar line to insert at
\section. Where there is also a repeat bar line, the repeat bar line takes precedence and this value is appended to it as an annotation. The default is ‘||’.segnoBarType(string)Bar line to insert at an in-staff segno. The default is ‘S’.
segnoStyle(symbol)A symbol that indicates how to print a segno:
bar-lineormark.startRepeatBarType(string)Bar line to insert at the start of a
\repeat volta. The default is ‘.|:’.startRepeatSegnoBarType(string)Bar line to insert where an in-staff segno coincides with the start of a
\repeat volta. The default is ‘S.|:’.submeasureBarsEnabled(boolean)Whether to insert submeasure bar lines at boundaries specified by
submeasureStructure. They are typically enabled selectively to clarify complex rhythms.submeasureBarType(string)Bar line to insert at submeasure boundaries specified by
submeasureStructure, whensubmeasureBarsEnabledallows.submeasureStructure(number list)A sequence describing subdivisions of a measure. Each element tells the distance from the previous division in units of
beatBase.underlyingRepeatBarType(string)Bar line to insert at points of repetition or departure where no bar line would normally appear, for example at the end of a system broken in mid measure where the next system begins with a segno. Where there is also a repeat bar line, the repeat bar line takes precedence and this value is appended to it as an annotation. The default is ‘||’.
whichBar(string)The current bar line type, or
'()if there is no bar line. Setting this explicitly in user code is deprecated. Use\baror related commands to set it.Properties (write)
currentBarLine(graphical (layout) object)Set to the
BarLinethatBar_engraverhas created in the current time step.forbidBreak(boolean)If set to
#t, prevent a line break at this point, except if explicitly requested by the user.This engraver creates the following layout object(s):
BarLine.Clef_engraverDetermine and set reference point for pitches.
Properties (read)
clefGlyph(string)Name of the symbol within the music font.
clefPosition(number)Where should the center of the clef symbol go, measured in half staff spaces from the center of the staff.
clefTransposition(integer)Add this much extra transposition to a clef. Values of 7 and -7 are common.
clefTranspositionStyle(symbol)Determines the way the
ClefModifiergrob of a clef is displayed. Possible values are'default,'parenthesized, and'bracketed.explicitClefVisibility(vector)‘break-visibility’ function for clef changes.
forbidBreak(boolean)If set to
#t, prevent a line break at this point, except if explicitly requested by the user.forceBreak(boolean)Set to
#twhen an event forcing a line break was heard.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):
ClefandClefModifier.Collision_engraverCollect
NoteColumns, and as soon as there are two or more, put them in aNoteCollisionobject.This engraver creates the following layout object(s):
NoteCollision.Cue_clef_engraverDetermine and set reference point for pitches in cued voices.
Properties (read)
clefTransposition(integer)Add this much extra transposition to a clef. Values of 7 and -7 are common.
cueClefGlyph(string)Name of the symbol within the music font.
cueClefPosition(number)Where should the center of the clef symbol go, measured in half staff spaces from the center of the staff.
cueClefTransposition(integer)Add this much extra transposition to a cue clef. Values of 7 and -7 are common.
cueClefTranspositionStyle(symbol)Determines the way the
ClefModifiergrob of a cue clef is displayed. Possible values are'default,'parenthesized, and'bracketed.explicitCueClefVisibility(vector)‘break-visibility’ function for cue clef changes.
forbidBreak(boolean)If set to
#t, prevent a line break at this point, except if explicitly requested by the user.forceBreak(boolean)Set to
#twhen an event forcing a line break was heard.middleCCuePosition(number)The position of the middle C, as determined only by the clef of the cue notes. This can be calculated by looking at
cueClefPositionandcueClefGlyph.This engraver creates the following layout object(s):
ClefModifier,CueClefandCueEndClef.Divisio_engraverCreate divisiones: chant notation for points of breathing or caesura.
Music types accepted:
caesura-event,fine-event,section-event,volta-repeat-end-eventandvolta-repeat-start-eventProperties (read)
caesuraType(list)An alist
((bar-line . bar-type) (breath . breath-type) (scripts . script-type...) (underlying-bar-line . bar-type))specifying which breath mark, bar line, and scripts to create at
\caesura. All entries are optional.
bar-linehas higher priority than a measure bar line andunderlying-bar-linehas lower priority than a measure bar line.caesuraTypeTransform(procedure)An engraver callback taking three arguments and returning an alist of the same kind as
caesuraType.The first argument is the context.
The second argument is the value of
caesuraTypewith an additional entry(articulations . symbol-list)identifying the articulations attached to the caesura in the music. If the transform function returns this second argument unmodified, it is as if no transform function were set; the function is free to return a different value. The transform function can remove articulations, but any added articulations are ignored.The third argument is a symbol-list identifying certain things the engraver has observed.
bar-lineindicates that the engraver has observed aBarLineat the current moment.This engraver creates the following layout object(s):
Divisio.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):
DotColumn.Figured_bass_engraverMake figured bass numbers.
Music types accepted:
bass-figure-eventandrest-eventProperties (read)
figuredBassAlterationDirection(direction)Where to put alterations relative to the main figure.
figuredBassCenterContinuations(boolean)Whether to vertically center pairs of extender lines. This does not work with three or more lines.
figuredBassFormatter(procedure)A routine generating a markup for a bass figure.
ignoreFiguredBassRest(boolean)Don’t swallow rest events.
implicitBassFigures(list)A list of bass figures that are not printed as numbers, but only as extender lines.
useBassFigureExtenders(boolean)Whether to use extender lines for repeated bass figures.
This engraver creates the following layout object(s):
BassFigure,BassFigureAlignment,BassFigureBracket,BassFigureContinuationandBassFigureLine.Figured_bass_position_engraverPosition figured bass alignments over notes.
This engraver creates the following layout object(s):
BassFigureAlignmentPositioning.Fingering_column_engraverFind potentially colliding scripts and put them into a
FingeringColumnobject; that will fix the collisions.This engraver creates the following layout object(s):
FingeringColumn.Font_size_engraverPut
fontSizeintofont-sizegrob property.Properties (read)
fontSize(number)The relative size of all grobs in a context.
Grob_pq_engraverAdministrate when certain grobs (e.g., note heads) stop playing.
Properties (read)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g., note heads, spanners, etc.).Properties (write)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g., note heads, spanners, etc.).Horizontal_script_engraverAligns
ScripthorizontallyInstrument_name_engraverCreate a system start text for instrument or vocal names.
Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
instrumentName(markup)The name to print left of a staff. The
instrumentNameproperty labels the staff in the first system, and theshortInstrumentNameproperty labels following lines.shortInstrumentName(markup)See
instrumentName.shortVocalName(markup)Name of a vocal line, short version.
vocalName(markup)Name of a vocal line.
This engraver creates the following layout object(s):
InstrumentName.Key_engraverEngrave a key signature.
Music types accepted:
key-change-eventProperties (read)
createKeyOnClefChange(boolean)Print a key signature whenever the clef is changed.
explicitKeySignatureVisibility(vector)‘break-visibility’ function for explicit key changes. ‘\override’ of the
break-visibilityproperty will set the visibility for normal (i.e., at the start of the line) key signatures.extraNatural(boolean)Whether to typeset an extra natural sign before accidentals that reduce the effect of a previous alteration.
forbidBreak(boolean)If set to
#t, prevent a line break at this point, except if explicitly requested by the user.forceBreak(boolean)Set to
#twhen an event forcing a line break was heard.keyAlterationOrder(list)A list of pairs that defines in what order alterations should be printed. The format of an entry is
(step . alter), where step is a number from 0 to 6 and alter from -1 (double flat) to 1 (double sharp), with exact rationals for alterations in between, e.g., 1/2 for sharp.keyAlterations(list)The current key signature. This is an alist containing
(step . alter)or((octave . step) . alter), where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.,keyAlterations = #`((6 . ,FLAT)).lastKeyAlterations(list)Last key signature before a key signature change.
middleCClefPosition(number)The position of the middle C, as determined only by the clef. This can be calculated by looking at
clefPositionandclefGlyph.printKeyCancellation(boolean)Print restoration alterations before a key signature change.
Properties (write)
keyAlterations(list)The current key signature. This is an alist containing
(step . alter)or((octave . step) . alter), where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.,keyAlterations = #`((6 . ,FLAT)).lastKeyAlterations(list)Last key signature before a key signature change.
tonic(pitch)The tonic of the current scale.
This engraver creates the following layout object(s):
KeyCancellationandKeySignature.Ledger_line_engraverCreate the spanner to draw ledger lines, and notices objects that need ledger lines.
This engraver creates the following layout object(s):
LedgerLineSpanner.Merge_mmrest_numbers_engraverEngraver to merge multi-measure rest numbers in multiple voices.
This works by gathering all multi-measure rest numbers at a time step. If they all have the same text and there are at least two only the first one is retained and the others are hidden.
Non_musical_script_column_engraverFind potentially colliding non-musical scripts and put them into a
ScriptColumnobject; that will fix the collisions.This engraver creates the following layout object(s):
ScriptColumn.Optional_material_bracket_engraverNotate in-staff brackets for optional material.
Music types accepted:
optional-material-eventThis engraver creates the following layout object(s):
OptionalMaterialBracket.Ottava_spanner_engraverCreate a text spanner when the ottavation property changes.
Music types accepted:
ottava-eventProperties (read)
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
middleCOffset(number)The offset of middle C from the position given by
middleCClefPositionThis is used for ottava brackets.ottavation(markup)If set, the text for an ottava spanner. Changing this creates a new text spanner.
This engraver creates the following layout object(s):
OttavaBracket.Piano_pedal_align_engraverAlign piano pedal symbols and brackets.
Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
This engraver creates the following layout object(s):
SostenutoPedalLineSpanner,SustainPedalLineSpannerandUnaCordaPedalLineSpanner.Piano_pedal_engraverEngrave piano pedal symbols and brackets.
Music types accepted:
sostenuto-event,sustain-eventanduna-corda-eventProperties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
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,SustainPedalandUnaCordaPedal.Pure_from_neighbor_engraverCoordinates items that get their pure heights from their neighbors.
Rest_collision_engraverHandle collisions of rests.
Properties (read)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g., note heads, spanners, etc.).This engraver creates the following layout object(s):
RestCollision.Script_row_engraverDetermine order in horizontal side position elements.
This engraver creates the following layout object(s):
ScriptRow.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
currentCommandColumncontains items that will affect spacing.This engraver creates the following layout object(s):
StaffSpacing.Skip_typesetting_engraverCreate a
StaffEllipsiswhenskipTypesettingis used.Properties (read)
skipTypesetting(boolean)If true, no typesetting is done, speeding up the interpretation phase. Useful for debugging large scores.
This engraver creates the following layout object(s):
StaffEllipsis.Staff_collecting_engraverMaintain the
stavesFoundvariable.Properties (read)
stavesFound(list of grobs)A list of all staff-symbols found.
Properties (write)
stavesFound(list of grobs)A list of all staff-symbols found.
Staff_highlight_engraverHighlights music passages.
Music types accepted:
staff-highlight-eventProperties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
This engraver creates the following layout object(s):
StaffHighlight.Staff_symbol_engraverCreate the constellation of five (default) staff lines.
Music types accepted:
staff-span-eventThis engraver creates the following layout object(s):
StaffSymbol.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < GregorianTranscriptionStaff ] | [ Up: Contexts ] | [ InternalGregorianStaff > ] |
2.1.16 GregorianTranscriptionVoice ¶
A voice for notating Gregorian chant in modern style.
This context also accepts commands for the following context(s):
Voice.
This context creates the following layout object(s):
ApproximatePitchNoteHead, Arpeggio, Beam, BendAfter, BreathingSign, ChordBracket, ChordSlur, ClusterSpanner, ClusterSpannerBeacon, CombineTextScript, Dots, DoublePercentRepeat, DoublePercentRepeatCounter, DoubleRepeatSlash, DynamicLineSpanner, DynamicText, DynamicTextSpanner, Episema, FingerGlideSpanner, Fingering, Glissando, Hairpin, InstrumentSwitch, LaissezVibrerTie, LaissezVibrerTieColumn, MultiMeasureRest, MultiMeasureRestNumber, MultiMeasureRestScript, MultiMeasureRestText, NoteColumn, NoteHead, NoteSpacing, PercentRepeat, PercentRepeatCounter, PhrasingSlur, RepeatSlash, RepeatTie, RepeatTieColumn, Rest, Script, ScriptColumn, Slur, StringNumber, StrokeFinger, TextScript, TextSpanner, Tie, TieColumn, TrillPitchAccidental, TrillPitchGroup, TrillPitchHead, TrillPitchParentheses, TrillSpanner, TupletBracket, TupletNumber and VoiceFollower.
This context sets the following properties:
- Set context property
autoBeamingto#f.
This is a ‘Bottom’ context; no contexts will be created implicitly from it.
This context cannot contain other contexts.
This context is built from the following engraver(s):
Apply_output_engraverApply a procedure to any grob acknowledged.
Music types accepted:
apply-output-eventArpeggio_engraverCreate arpeggiato and non-arpeggiato symbols.
Music types accepted:
arpeggio-event,chord-slur-eventandnon-arpeggiato-eventThis engraver creates the following layout object(s):
Arpeggio,ChordBracketandChordSlur.Auto_beam_engraverGenerate beams based on measure characteristics and observed Stems. Uses
beatBase,beatStructure,beamExceptions,measureLength, andmeasurePositionto decide when to start and stop a beam. Overriding beaming is done throughStem_engraverpropertiesstemLeftBeamCountandstemRightBeamCount.Music types accepted:
beam-break-eventandbeam-forbid-eventProperties (read)
autoBeaming(boolean)If set to
#tthen beams are generated automatically. If set to#f, auto-beaming is switched off as soon as the current beam (if any) is finished according to the auto-beaming rules.beamExceptions(list)An alist of exceptions to auto-beam rules that normally end on beats.
beamHalfMeasure(boolean)Whether to allow a beam to begin halfway through the measure in triple time, which could look like 6/8.
beatBase(positive exact rational or +inf.0)The musical length corresponding to one unit of
beatStructure.beatStructure(number list)A sequence describing the length of each beat in the measure in units of
beatBase.subdivideBeams(boolean)If set, beams of multiple stems may be subdivided by omitting a number of beamlets, dependent on
beamMaximumSubdivision, between beats at multiples ofbeamMinimumSubdivision.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:
beam-eventProperties (read)
beamMelismaBusy(boolean)Signal if a beam is present.
beatBase(positive exact rational or +inf.0)The musical length corresponding to one unit of
beatStructure.beatStructure(number list)A sequence describing the length of each beat in the measure in units of
beatBase.subdivideBeams(boolean)If set, beams of multiple stems may be subdivided by omitting a number of beamlets, dependent on
beamMaximumSubdivision, between beats at multiples ofbeamMinimumSubdivision.This engraver creates the following layout object(s):
Beam.Bend_engraverCreate fall spanners.
Music types accepted:
bend-after-eventProperties (read)
currentBarLine(graphical (layout) object)Set to the
BarLinethatBar_engraverhas created in the current time step.currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
BendAfter.Breathing_sign_engraverNotate breath marks.
Music types accepted:
breathing-eventProperties (read)
breathMarkType(symbol)The type of
BreathingSignto create at\breathe.This engraver creates the following layout object(s):
BreathingSign.Chord_tremolo_engraverGenerate beams for tremolo repeats.
Music types accepted:
tremolo-span-eventThis engraver creates the following layout object(s):
Beam.Cluster_spanner_engraverEngrave a cluster using
Spannernotation.Music types accepted:
cluster-note-eventThis engraver creates the following layout object(s):
ClusterSpannerandClusterSpannerBeacon.Dots_engraverCreate
Dotsobjects forrhythmic-head-interfaces.This engraver creates the following layout object(s):
Dots.Double_percent_repeat_engraverMake double measure repeats.
Music types accepted:
double-percent-eventProperties (read)
countPercentRepeats(boolean)If set, produce counters for percent repeats.
measureLength(positive exact rational or +inf.0)The musical length of the current measure.
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, except if explicitly requested by the user.This engraver creates the following layout object(s):
DoublePercentRepeatandDoublePercentRepeatCounter.Dynamic_align_engraverAlign hairpins and dynamic texts on a horizontal line.
Properties (read)
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
DynamicLineSpanner.Dynamic_engraverCreate hairpins, dynamic texts and dynamic text spanners.
Music types accepted:
absolute-dynamic-event,break-dynamic-span-eventandspan-dynamic-eventProperties (read)
crescendoSpanner(symbol)The type of spanner to be used for crescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin crescendo is used.
crescendoText(markup)The text to print at start of non-hairpin crescendo, i.e., ‘cresc.’.
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
decrescendoSpanner(symbol)The type of spanner to be used for decrescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin decrescendo is used.
decrescendoText(markup)The text to print at start of non-hairpin decrescendo, i.e., ‘dim.’.
This engraver creates the following layout object(s):
DynamicText,DynamicTextSpannerandHairpin.Episema_engraverCreate an Editio Vaticana-style episema line.
Music types accepted:
episema-eventThis engraver creates the following layout object(s):
Episema.Finger_glide_engraverEngraver to print a line between two
Fingering,StringNumberorStrokeFingergrobs.Music types accepted:
note-eventThis engraver creates the following layout object(s):
FingerGlideSpanner.Fingering_engraverCreate fingering scripts.
Music types accepted:
fingering-eventThis engraver creates the following layout object(s):
Fingering.Font_size_engraverPut
fontSizeintofont-sizegrob property.Properties (read)
fontSize(number)The relative size of all grobs in a context.
Forbid_line_break_engraverForbid line breaks when note heads are still playing at some point.
Properties (read)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g., note heads, spanners, etc.).Properties (write)
forbidBreak(boolean)If set to
#t, prevent a line break at this point, except if explicitly requested by the user.Glissando_engraverEngrave glissandi.
Music types accepted:
glissando-eventProperties (read)
glissandoMap(list)A map in the form of
'((source1 . target1) (source2 . target2) ... (sourcen . targetn)), showing the glissandi to be drawn for note columns. The value'()defaults to'((0 . 0) (1 . 1) ... (n . n)), where n is the minimum number of note heads in the two note columns between which the glissandi occur.This engraver creates the following layout object(s):
Glissando.Grace_auto_beam_engraverGenerates one autobeam group across an entire grace phrase. As usual, any manual beaming or
\noBeamwill block autobeaming, just like setting the context property ‘autoBeaming’ to##f.Music types accepted:
beam-break-eventandbeam-forbid-eventProperties (read)
autoBeaming(boolean)If set to
#tthen beams are generated automatically. If set to#f, auto-beaming is switched off as soon as the current beam (if any) is finished according to the auto-beaming rules.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:
beam-eventProperties (read)
beamMelismaBusy(boolean)Signal if a beam is present.
beatBase(positive exact rational or +inf.0)The musical length corresponding to one unit of
beatStructure.beatStructure(number list)A sequence describing the length of each beat in the measure in units of
beatBase.subdivideBeams(boolean)If set, beams of multiple stems may be subdivided by omitting a number of beamlets, dependent on
beamMaximumSubdivision, between beats at multiples ofbeamMinimumSubdivision.This engraver creates the following layout object(s):
Beam.Grace_engraverSet font size and other properties for grace notes.
Properties (read)
graceSettings(list)Overrides for grace notes. This property should be manipulated through the
add-grace-propertyfunction.Grob_pq_engraverAdministrate when certain grobs (e.g., note heads) stop playing.
Properties (read)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g., note heads, spanners, etc.).Properties (write)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g., note heads, spanners, etc.).Instrument_switch_engraverCreate a cue text for taking instrument.
This engraver is deprecated.
Properties (read)
instrumentCueName(markup)The name to print if another instrument is to be taken.
This property is deprecated
This engraver creates the following layout object(s):
InstrumentSwitch.Laissez_vibrer_engraverCreate laissez vibrer items.
Music types accepted:
laissez-vibrer-eventThis engraver creates the following layout object(s):
LaissezVibrerTieandLaissezVibrerTieColumn.Multi_measure_rest_engraverEngrave multi-measure rests that are produced with ‘R’. It reads
measureStartNowandinternalBarNumberto determine what number to print over theMultiMeasureRest.Music types accepted:
multi-measure-articulation-event,multi-measure-rest-eventandmulti-measure-text-eventProperties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
internalBarNumber(integer)Contains the current bar number. This property is used for internal timekeeping, among others by the
Accidental_engraver.measureStartNow(boolean)True at the beginning of a measure.
restNumberThreshold(number)If a multi-measure rest has more measures than this, a number is printed.
This engraver creates the following layout object(s):
MultiMeasureRest,MultiMeasureRestNumber,MultiMeasureRestScriptandMultiMeasureRestText.New_fingering_engraverCreate fingering scripts for notes in a new chord. This engraver is ill-named, since it also takes care of articulations and harmonic note heads.
Properties (read)
fingeringOrientations(list)A list of symbols, containing ‘left’, ‘right’, ‘up’ and/or ‘down’. This list determines where fingerings are put relative to the chord being fingered.
harmonicDots(boolean)If set, harmonic notes in dotted chords get dots.
stringNumberOrientations(list)See
fingeringOrientations.strokeFingerOrientations(list)See
fingeringOrientations.This engraver creates the following layout object(s):
Fingering,Script,StringNumberandStrokeFinger.Note_head_line_engraverEngrave a line between two note heads in a staff switch if
followVoiceis set.Properties (read)
followVoice(boolean)If set, note heads are tracked across staff switches by a thin line.
This engraver creates the following layout object(s):
VoiceFollower.Note_heads_engraverGenerate note heads.
Music types accepted:
note-eventProperties (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):
ApproximatePitchNoteHeadandNoteHead.Note_spacing_engraverGenerate
NoteSpacing, an object linking horizontal lines for use in spacing.This engraver creates the following layout object(s):
NoteSpacing.Part_combine_engraverPart combine engraver for orchestral scores: Print markings ‘a2’, ‘Solo’, ‘Solo II’, and ‘unisono’.
Music types accepted:
note-eventandpart-combine-eventProperties (read)
aDueText(markup)Text to print at a unisono passage.
partCombineTextsOnNote(boolean)Print part-combine texts only on the next note rather than immediately on rests or skips.
printPartCombineTexts(boolean)Set ‘Solo’ and ‘A due’ texts in the part combiner?
soloIIText(markup)The text for the start of a solo for voice ‘two’ when part-combining.
soloText(markup)The text for the start of a solo when part-combining.
This engraver creates the following layout object(s):
CombineTextScript.Percent_repeat_engraverMake whole measure repeats.
Music types accepted:
percent-eventProperties (read)
countPercentRepeats(boolean)If set, produce counters for percent repeats.
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
repeatCountVisibility(procedure)A procedure taking as arguments an integer and context, returning whether the corresponding percent repeat number should be printed when
countPercentRepeatsis set.This engraver creates the following layout object(s):
PercentRepeatandPercentRepeatCounter.Phrasing_slur_engraverPrint phrasing slurs. Similar to
Slur_engraver.Music types accepted:
note-eventandphrasing-slur-eventThis engraver creates the following layout object(s):
PhrasingSlur.Pitched_trill_engraverPrint the bracketed note head after a note head with trill.
This engraver creates the following layout object(s):
TrillPitchAccidental,TrillPitchGroup,TrillPitchHeadandTrillPitchParentheses.Repeat_tie_engraverCreate repeat ties.
Music types accepted:
repeat-tie-eventThis engraver creates the following layout object(s):
RepeatTieandRepeatTieColumn.Rest_engraverEngrave rests.
Music types accepted:
rest-eventProperties (read)
middleCPosition(number)The place of the middle C, measured in half staff-spaces. Usually determined by looking at
middleCClefPositionandmiddleCOffset.This engraver creates the following layout object(s):
Rest.Rhythmic_column_engraverGenerate
NoteColumn, an object that groups stems, note heads, and rests.This engraver creates the following layout object(s):
NoteColumn.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):
ScriptColumn.Script_engraverHandle note scripted articulations.
Music types accepted:
articulation-eventProperties (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.Slash_repeat_engraverMake beat repeats.
Music types accepted:
repeat-slash-eventThis engraver creates the following layout object(s):
DoubleRepeatSlashandRepeatSlash.Slur_engraverBuild slur grobs from slur events.
Music types accepted:
note-eventandslur-eventProperties (read)
doubleSlurs(boolean)If set, two slurs are created for every slurred note, one above and one below the chord.
slurMelismaBusy(boolean)Signal if a slur is present.
This engraver creates the following layout object(s):
Slur.Spanner_break_forbid_engraverForbid breaks in certain spanners.
Text_engraverCreate text scripts.
Music types accepted:
text-script-eventThis engraver creates the following layout object(s):
TextScript.Text_spanner_engraverCreate text spanner from an event.
Music types accepted:
text-span-eventProperties (read)
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
TextSpanner.Tie_engraverGenerate ties between note heads of equal pitch.
Music types accepted:
tie-eventProperties (read)
skipTypesetting(boolean)If true, no typesetting is done, speeding up the interpretation phase. Useful for debugging large scores.
tieWaitForNote(boolean)If true, tied notes do not have to follow each other directly. This can be used for writing out arpeggios.
Properties (write)
tieMelismaBusy(boolean)Signal whether a tie is present.
This engraver creates the following layout object(s):
TieandTieColumn.Toe_heel_engraverRead the
toeHeelStylecontext property and use it to style\rtoeand its siblings, based on the data in thetoe-heel-stylesalist.Music types accepted:
articulation-eventProperties (read)
toeHeelStyle(symbol)The style for the glyph shape and behavior of
\rtoeand siblings. Possible values aredefault,standard,reversed,circleheels, andbelow. If not set (the default), use valuedefault.Trill_spanner_engraverCreate trill spanners.
Music types accepted:
trill-span-eventProperties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
TrillSpanner.Tuplet_engraverCatch tuplet events and generate appropriate bracket.
Music types accepted:
tuplet-span-eventProperties (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):
TupletBracketandTupletNumber.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < GregorianTranscriptionVoice ] | [ Up: Contexts ] | [ InternalMensuralStaff > ] |
2.1.17 InternalGregorianStaff ¶
A kind of Staff with settings shared by
multiple variants of Gregorian chant notation.
This context creates the following layout object(s):
Accidental, AccidentalCautionary, AccidentalPlacement, AccidentalSuggestion, BarLine, BassFigure, BassFigureAlignment, BassFigureAlignmentPositioning, BassFigureBracket, BassFigureContinuation, BassFigureLine, Clef, ClefModifier, CueClef, CueEndClef, Divisio, DotColumn, FingeringColumn, InstrumentName, KeyCancellation, KeySignature, LedgerLineSpanner, NoteCollision, OptionalMaterialBracket, OttavaBracket, PianoPedalBracket, RestCollision, ScriptColumn, ScriptRow, SostenutoPedal, SostenutoPedalLineSpanner, StaffEllipsis, StaffHighlight, StaffSpacing, StaffSymbol, SustainPedal, SustainPedalLineSpanner, TimeSignature, UnaCordaPedal, UnaCordaPedalLineSpanner and VerticalAxisGroup.
This context sets the following properties:
- Set context property
autoAccidentalsto:'(Staff #<procedure at lily/music-functions.scm:1794:0 (context pitch barnum)>)
- Set context property
autoCautionariesto'(). - Set context property
caesuraTypeTransformtocaesura-to-bar-line-or-divisio. - Set context property
caesuraTypeto:'((breath . varcomma))
- Set context property
createSpacingto#t. - Set context property
doubleRepeatBarTypeto"||". - Set context property
doubleRepeatSegnoBarTypeto"S-||". - Set context property
endRepeatBarTypeto"||". - Set context property
endRepeatSegnoBarTypeto"S-||". - Set context property
extraNaturalto#f. - Set context property
fineBarTypeto"||". - Set context property
fineSegnoBarTypeto"S-||". - Set context property
fineStartRepeatSegnoBarTypeto"S-||". - Set context property
forbidBreakBetweenBarLinesto#f. - Set context property
ignoreFiguredBassRestto#f. - Set context property
instrumentNameto'(). - Set context property
localAlterationsto'(). - Set context property
measureBarTypeto'(). - Set context property
ottavationMarkupsto:'((4 . "29") (3 . "22") (2 . "15") (1 . "8") (-1 . "8") (-2 . "15") (-3 . "22") (-4 . "29"))
- Set context property
printKeyCancellationto#f. - Set context property
printTrivialVoltaRepeatsto#t. - Set context property
sectionBarTypeto"||". - Set context property
segnoBarTypeto"S-||". - Set context property
shortInstrumentNameto'(). - Set context property
startRepeatBarTypeto"||". - Set context property
startRepeatSegnoBarTypeto"S-||". - Set context property
submeasureBarTypeto'(). - Set context property
underlyingRepeatBarTypeto"||". - Set grob property
extra-spacing-heightinBreathingSigntoitem::extra-spacing-height-including-staff. - Set grob property
extra-spacing-widthinBreathingSignto :'(-1.0 . 0.0)
This is a ‘Bottom’ context; no contexts will be created implicitly from it.
This context is built from the following engraver(s):
Accidental_engraverMake accidentals. Catch note heads, ties and notices key-change events. This engraver usually lives at Staff level, but reads the settings for Accidental at
Voicelevel, so you can\overridethem atVoice.Properties (read)
accidentalGrouping(symbol)If set to
'voice, accidentals on the same note in different octaves may be horizontally staggered if in different voices.autoAccidentals(list)List of different ways to typeset an accidental.
For determining when to print an accidental, several different rules are tried. The rule that gives the highest number of accidentals is used.
Each entry in the list is either a symbol or a procedure.
- symbol
The symbol is the name of the context in which the following rules are to be applied. For example, if context is 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.
The procedure returns a pair of Booleans. The first states whether an extra natural should be added. The second states whether an accidental should be printed.
(#t . #f)does not make sense.autoCautionaries(list)List similar to
autoAccidentals, but it controls cautionary accidentals rather than normal ones. Both lists are tried, and the one giving the most accidentals wins. In case of draw, a normal accidental is typeset.extraNatural(boolean)Whether to typeset an extra natural sign before accidentals that reduce the effect of a previous alteration.
harmonicAccidentals(boolean)If set, harmonic notes in chords get accidentals.
internalBarNumber(integer)Contains the current bar number. This property is used for internal timekeeping, among others by the
Accidental_engraver.keyAlterations(list)The current key signature. This is an alist containing
(step . alter)or((octave . step) . alter), where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.,keyAlterations = #`((6 . ,FLAT)).localAlterations(list)The key signature at this point in the measure. The format is the same as for
keyAlterations, but can also contain((octave . name) . (alter barnumber . measureposition))pairs.Properties (write)
localAlterations(list)The key signature at this point in the measure. The format is the same as for
keyAlterations, but can also contain((octave . name) . (alter barnumber . measureposition))pairs.This engraver creates the following layout object(s):
Accidental,AccidentalCautionary,AccidentalPlacementandAccidentalSuggestion.Alteration_glyph_engraverSet the
glyph-name-alistof all grobs having theaccidental-switch-interfaceto the value of the context’salterationGlyphsproperty, when defined.Properties (read)
alterationGlyphs(list)Alist mapping alterations to accidental glyphs. Alterations are given as exact numbers, e.g., -1/2 for flat. This applies to all grobs that can print accidentals.
Apply_output_engraverApply a procedure to any grob acknowledged.
Music types accepted:
apply-output-eventAxis_group_engraverGroup all objects created in this context in a
VerticalAxisGroupspanner.Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
hasAxisGroup(boolean)True if the current context is contained in an axis group.
keepAliveInterfaces(list)A list of symbols, signifying grob interfaces that are worth keeping a staff with
remove-emptyset around for.Properties (write)
hasAxisGroup(boolean)True if the current context is contained in an axis group.
This engraver creates the following layout object(s):
VerticalAxisGroup.Bar_engraverCreate bar lines for various commands, including
\\bar.If
forbidBreakBetweenBarLinesis true, allow line breaks at bar lines only.Music types accepted:
ad-hoc-jump-event,caesura-event,coda-mark-event,dal-segno-event,fine-event,section-eventandsegno-mark-eventProperties (read)
caesuraType(list)An alist
((bar-line . bar-type) (breath . breath-type) (scripts . script-type...) (underlying-bar-line . bar-type))specifying which breath mark, bar line, and scripts to create at
\caesura. All entries are optional.
bar-linehas higher priority than a measure bar line andunderlying-bar-linehas lower priority than a measure bar line.caesuraTypeTransform(procedure)An engraver callback taking three arguments and returning an alist of the same kind as
caesuraType.The first argument is the context.
The second argument is the value of
caesuraTypewith an additional entry(articulations . symbol-list)identifying the articulations attached to the caesura in the music. If the transform function returns this second argument unmodified, it is as if no transform function were set; the function is free to return a different value. The transform function can remove articulations, but any added articulations are ignored.The third argument is a symbol-list identifying certain things the engraver has observed.
bar-lineindicates that the engraver has observed aBarLineat the current moment.doubleRepeatBarType(string)Bar line to insert where the end of one
\repeat voltacoincides with the start of another. The default is ‘:..:’.doubleRepeatSegnoBarType(string)Bar line to insert where an in-staff segno coincides with the end of one
\repeat voltaand the beginning of another. The default is ‘:|.S.|:’.endRepeatBarType(string)Bar line to insert at the end of a
\repeat volta. The default is ‘:|.’.endRepeatSegnoBarType(string)Bar line to insert where an in-staff segno coincides with the end of a
\repeat volta. The default is ‘:|.S’.fineBarType(string)Bar line to insert at
\fine. Where there is also a repeat bar line, the repeat bar line takes precedence and this value is appended to it as an annotation. The default is ‘|.’.fineSegnoBarType(string)Bar line to insert where an in-staff segno coincides with
\fine. The default is ‘|.S’.fineStartRepeatSegnoBarType(string)Bar line to insert where an in-staff segno coincides with
\fineand the start of a\repeat volta. The default is ‘|.S.|:’.forbidBreakBetweenBarLines(boolean)If set to
#t,Bar_engraverforbids line breaks where there is no bar line.measureBarType(string)Bar line to insert at a measure boundary.
printInitialRepeatBar(boolean)Use a special bar line at the start of a volta repeat even at the beginning of the piece.
printTrivialVoltaRepeats(boolean)Notate volta-style repeats even when the repeat count is 1.
repeatCommands(list)A list of commands related to volta-style repeats. In general, each element is a list,
'(command args…), but a command with no arguments may be abbreviated to a symbol; e.g.,'((start-repeat))may be given as'(start-repeat).
end-repeat return-countEnd a repeated section. return-count is the number of times to go back from this point to the beginning of the section.
start-repeat repeat-countStart a repeated section. repeat-count is the number of times to perform this section.
volta textIf text is markup, start a volta bracket with that label; if text is
#f, end a volta bracket.sectionBarType(string)Bar line to insert at
\section. Where there is also a repeat bar line, the repeat bar line takes precedence and this value is appended to it as an annotation. The default is ‘||’.segnoBarType(string)Bar line to insert at an in-staff segno. The default is ‘S’.
segnoStyle(symbol)A symbol that indicates how to print a segno:
bar-lineormark.startRepeatBarType(string)Bar line to insert at the start of a
\repeat volta. The default is ‘.|:’.startRepeatSegnoBarType(string)Bar line to insert where an in-staff segno coincides with the start of a
\repeat volta. The default is ‘S.|:’.submeasureBarsEnabled(boolean)Whether to insert submeasure bar lines at boundaries specified by
submeasureStructure. They are typically enabled selectively to clarify complex rhythms.submeasureBarType(string)Bar line to insert at submeasure boundaries specified by
submeasureStructure, whensubmeasureBarsEnabledallows.submeasureStructure(number list)A sequence describing subdivisions of a measure. Each element tells the distance from the previous division in units of
beatBase.underlyingRepeatBarType(string)Bar line to insert at points of repetition or departure where no bar line would normally appear, for example at the end of a system broken in mid measure where the next system begins with a segno. Where there is also a repeat bar line, the repeat bar line takes precedence and this value is appended to it as an annotation. The default is ‘||’.
whichBar(string)The current bar line type, or
'()if there is no bar line. Setting this explicitly in user code is deprecated. Use\baror related commands to set it.Properties (write)
currentBarLine(graphical (layout) object)Set to the
BarLinethatBar_engraverhas created in the current time step.forbidBreak(boolean)If set to
#t, prevent a line break at this point, except if explicitly requested by the user.This engraver creates the following layout object(s):
BarLine.Clef_engraverDetermine and set reference point for pitches.
Properties (read)
clefGlyph(string)Name of the symbol within the music font.
clefPosition(number)Where should the center of the clef symbol go, measured in half staff spaces from the center of the staff.
clefTransposition(integer)Add this much extra transposition to a clef. Values of 7 and -7 are common.
clefTranspositionStyle(symbol)Determines the way the
ClefModifiergrob of a clef is displayed. Possible values are'default,'parenthesized, and'bracketed.explicitClefVisibility(vector)‘break-visibility’ function for clef changes.
forbidBreak(boolean)If set to
#t, prevent a line break at this point, except if explicitly requested by the user.forceBreak(boolean)Set to
#twhen an event forcing a line break was heard.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):
ClefandClefModifier.Collision_engraverCollect
NoteColumns, and as soon as there are two or more, put them in aNoteCollisionobject.This engraver creates the following layout object(s):
NoteCollision.Cue_clef_engraverDetermine and set reference point for pitches in cued voices.
Properties (read)
clefTransposition(integer)Add this much extra transposition to a clef. Values of 7 and -7 are common.
cueClefGlyph(string)Name of the symbol within the music font.
cueClefPosition(number)Where should the center of the clef symbol go, measured in half staff spaces from the center of the staff.
cueClefTransposition(integer)Add this much extra transposition to a cue clef. Values of 7 and -7 are common.
cueClefTranspositionStyle(symbol)Determines the way the
ClefModifiergrob of a cue clef is displayed. Possible values are'default,'parenthesized, and'bracketed.explicitCueClefVisibility(vector)‘break-visibility’ function for cue clef changes.
forbidBreak(boolean)If set to
#t, prevent a line break at this point, except if explicitly requested by the user.forceBreak(boolean)Set to
#twhen an event forcing a line break was heard.middleCCuePosition(number)The position of the middle C, as determined only by the clef of the cue notes. This can be calculated by looking at
cueClefPositionandcueClefGlyph.This engraver creates the following layout object(s):
ClefModifier,CueClefandCueEndClef.Divisio_engraverCreate divisiones: chant notation for points of breathing or caesura.
Music types accepted:
caesura-event,fine-event,section-event,volta-repeat-end-eventandvolta-repeat-start-eventProperties (read)
caesuraType(list)An alist
((bar-line . bar-type) (breath . breath-type) (scripts . script-type...) (underlying-bar-line . bar-type))specifying which breath mark, bar line, and scripts to create at
\caesura. All entries are optional.
bar-linehas higher priority than a measure bar line andunderlying-bar-linehas lower priority than a measure bar line.caesuraTypeTransform(procedure)An engraver callback taking three arguments and returning an alist of the same kind as
caesuraType.The first argument is the context.
The second argument is the value of
caesuraTypewith an additional entry(articulations . symbol-list)identifying the articulations attached to the caesura in the music. If the transform function returns this second argument unmodified, it is as if no transform function were set; the function is free to return a different value. The transform function can remove articulations, but any added articulations are ignored.The third argument is a symbol-list identifying certain things the engraver has observed.
bar-lineindicates that the engraver has observed aBarLineat the current moment.This engraver creates the following layout object(s):
Divisio.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):
DotColumn.Figured_bass_engraverMake figured bass numbers.
Music types accepted:
bass-figure-eventandrest-eventProperties (read)
figuredBassAlterationDirection(direction)Where to put alterations relative to the main figure.
figuredBassCenterContinuations(boolean)Whether to vertically center pairs of extender lines. This does not work with three or more lines.
figuredBassFormatter(procedure)A routine generating a markup for a bass figure.
ignoreFiguredBassRest(boolean)Don’t swallow rest events.
implicitBassFigures(list)A list of bass figures that are not printed as numbers, but only as extender lines.
useBassFigureExtenders(boolean)Whether to use extender lines for repeated bass figures.
This engraver creates the following layout object(s):
BassFigure,BassFigureAlignment,BassFigureBracket,BassFigureContinuationandBassFigureLine.Figured_bass_position_engraverPosition figured bass alignments over notes.
This engraver creates the following layout object(s):
BassFigureAlignmentPositioning.Fingering_column_engraverFind potentially colliding scripts and put them into a
FingeringColumnobject; that will fix the collisions.This engraver creates the following layout object(s):
FingeringColumn.Font_size_engraverPut
fontSizeintofont-sizegrob property.Properties (read)
fontSize(number)The relative size of all grobs in a context.
Grob_pq_engraverAdministrate when certain grobs (e.g., note heads) stop playing.
Properties (read)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g., note heads, spanners, etc.).Properties (write)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g., note heads, spanners, etc.).Horizontal_script_engraverAligns
ScripthorizontallyInstrument_name_engraverCreate a system start text for instrument or vocal names.
Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
instrumentName(markup)The name to print left of a staff. The
instrumentNameproperty labels the staff in the first system, and theshortInstrumentNameproperty labels following lines.shortInstrumentName(markup)See
instrumentName.shortVocalName(markup)Name of a vocal line, short version.
vocalName(markup)Name of a vocal line.
This engraver creates the following layout object(s):
InstrumentName.Key_engraverEngrave a key signature.
Music types accepted:
key-change-eventProperties (read)
createKeyOnClefChange(boolean)Print a key signature whenever the clef is changed.
explicitKeySignatureVisibility(vector)‘break-visibility’ function for explicit key changes. ‘\override’ of the
break-visibilityproperty will set the visibility for normal (i.e., at the start of the line) key signatures.extraNatural(boolean)Whether to typeset an extra natural sign before accidentals that reduce the effect of a previous alteration.
forbidBreak(boolean)If set to
#t, prevent a line break at this point, except if explicitly requested by the user.forceBreak(boolean)Set to
#twhen an event forcing a line break was heard.keyAlterationOrder(list)A list of pairs that defines in what order alterations should be printed. The format of an entry is
(step . alter), where step is a number from 0 to 6 and alter from -1 (double flat) to 1 (double sharp), with exact rationals for alterations in between, e.g., 1/2 for sharp.keyAlterations(list)The current key signature. This is an alist containing
(step . alter)or((octave . step) . alter), where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.,keyAlterations = #`((6 . ,FLAT)).lastKeyAlterations(list)Last key signature before a key signature change.
middleCClefPosition(number)The position of the middle C, as determined only by the clef. This can be calculated by looking at
clefPositionandclefGlyph.printKeyCancellation(boolean)Print restoration alterations before a key signature change.
Properties (write)
keyAlterations(list)The current key signature. This is an alist containing
(step . alter)or((octave . step) . alter), where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.,keyAlterations = #`((6 . ,FLAT)).lastKeyAlterations(list)Last key signature before a key signature change.
tonic(pitch)The tonic of the current scale.
This engraver creates the following layout object(s):
KeyCancellationandKeySignature.Ledger_line_engraverCreate the spanner to draw ledger lines, and notices objects that need ledger lines.
This engraver creates the following layout object(s):
LedgerLineSpanner.Merge_mmrest_numbers_engraverEngraver to merge multi-measure rest numbers in multiple voices.
This works by gathering all multi-measure rest numbers at a time step. If they all have the same text and there are at least two only the first one is retained and the others are hidden.
Non_musical_script_column_engraverFind potentially colliding non-musical scripts and put them into a
ScriptColumnobject; that will fix the collisions.This engraver creates the following layout object(s):
ScriptColumn.Optional_material_bracket_engraverNotate in-staff brackets for optional material.
Music types accepted:
optional-material-eventThis engraver creates the following layout object(s):
OptionalMaterialBracket.Ottava_spanner_engraverCreate a text spanner when the ottavation property changes.
Music types accepted:
ottava-eventProperties (read)
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
middleCOffset(number)The offset of middle C from the position given by
middleCClefPositionThis is used for ottava brackets.ottavation(markup)If set, the text for an ottava spanner. Changing this creates a new text spanner.
This engraver creates the following layout object(s):
OttavaBracket.Piano_pedal_align_engraverAlign piano pedal symbols and brackets.
Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
This engraver creates the following layout object(s):
SostenutoPedalLineSpanner,SustainPedalLineSpannerandUnaCordaPedalLineSpanner.Piano_pedal_engraverEngrave piano pedal symbols and brackets.
Music types accepted:
sostenuto-event,sustain-eventanduna-corda-eventProperties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
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,SustainPedalandUnaCordaPedal.Pure_from_neighbor_engraverCoordinates items that get their pure heights from their neighbors.
Rest_collision_engraverHandle collisions of rests.
Properties (read)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g., note heads, spanners, etc.).This engraver creates the following layout object(s):
RestCollision.Script_row_engraverDetermine order in horizontal side position elements.
This engraver creates the following layout object(s):
ScriptRow.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
currentCommandColumncontains items that will affect spacing.This engraver creates the following layout object(s):
StaffSpacing.Skip_typesetting_engraverCreate a
StaffEllipsiswhenskipTypesettingis used.Properties (read)
skipTypesetting(boolean)If true, no typesetting is done, speeding up the interpretation phase. Useful for debugging large scores.
This engraver creates the following layout object(s):
StaffEllipsis.Staff_collecting_engraverMaintain the
stavesFoundvariable.Properties (read)
stavesFound(list of grobs)A list of all staff-symbols found.
Properties (write)
stavesFound(list of grobs)A list of all staff-symbols found.
Staff_highlight_engraverHighlights music passages.
Music types accepted:
staff-highlight-eventProperties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
This engraver creates the following layout object(s):
StaffHighlight.Staff_symbol_engraverCreate the constellation of five (default) staff lines.
Music types accepted:
staff-span-eventThis engraver creates the following layout object(s):
StaffSymbol.Time_signature_engraverCreate a
TimeSignaturewhenevertimeSignaturechanges.Music types accepted:
polymetric-time-signature-eventandreference-time-signature-eventProperties (read)
initialTimeSignatureVisibility(vector)break visibility for the initial time signature.
partialBusy(boolean)Signal that \partial acts at the current time step.
timeSignature(time signature)A time-signature specification. See the
\timecommand.This engraver creates the following layout object(s):
TimeSignature.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < InternalGregorianStaff ] | [ Up: Contexts ] | [ KievanStaff > ] |
2.1.18 InternalMensuralStaff ¶
An kind of Staff with settings shared by
multiple variants of mensural notation.
This context creates the following layout object(s):
Accidental, AccidentalCautionary, AccidentalPlacement, AccidentalSuggestion, BarLine, BassFigure, BassFigureAlignment, BassFigureAlignmentPositioning, BassFigureBracket, BassFigureContinuation, BassFigureLine, BreathingSign, CaesuraScript, Clef, ClefModifier, CueClef, CueEndClef, Custos, DotColumn, FingeringColumn, InstrumentName, KeyCancellation, KeySignature, LedgerLineSpanner, NoteCollision, OptionalMaterialBracket, OttavaBracket, PianoPedalBracket, RestCollision, ScriptColumn, ScriptRow, SignumRepetitionis, SostenutoPedal, SostenutoPedalLineSpanner, StaffEllipsis, StaffHighlight, StaffSpacing, StaffSymbol, SustainPedal, SustainPedalLineSpanner, TimeSignature, UnaCordaPedal, UnaCordaPedalLineSpanner and VerticalAxisGroup.
This context sets the following properties:
- Set context property
alterationGlyphsto:'((-1/2 . "accidentals.mensuralM1") (0 . "accidentals.vaticana0") (1/2 . "accidentals.mensural1"))
- Set context property
autoAccidentalsto:'(Staff #<procedure at lily/music-functions.scm:1794:0 (context pitch barnum)>)
- Set context property
autoCautionariesto'(). - Set context property
caesuraTypeto:'((bar-line . "|"))
- Set context property
createSpacingto#t. - Set context property
doubleRepeatBarTypeto'(). - Set context property
doubleRepeatSegnoBarTypeto"S". - Set context property
endRepeatBarTypeto'(). - Set context property
endRepeatSegnoBarTypeto"S". - Set context property
extraNaturalto#f. - Set context property
fineSegnoBarTypeto"|.S". - Set context property
fineStartRepeatSegnoBarTypeto"|.S". - Set context property
ignoreFiguredBassRestto#f. - Set context property
instrumentNameto'(). - Set context property
localAlterationsto'(). - Set context property
ottavationMarkupsto:'((4 . "29") (3 . "22") (2 . "15") (1 . "8") (-1 . "8") (-2 . "15") (-3 . "22") (-4 . "29"))
- Set context property
printKeyCancellationto#f. - Set context property
segnoBarTypeto"S". - Set context property
shortInstrumentNameto'(). - Set context property
startRepeatBarTypeto"|". - Set context property
startRepeatSegnoBarTypeto"S". - Set context property
underlyingRepeatBarTypeto'(). - Set grob property
neutral-directioninCustosto-1. - Set grob property
neutral-positioninCustosto3. - Set grob property
styleinCustosto'mensural. - Set grob property
styleinTimeSignatureto'mensural.
This is a ‘Bottom’ context; no contexts will be created implicitly from it.
This context is built from the following engraver(s):
Accidental_engraverMake accidentals. Catch note heads, ties and notices key-change events. This engraver usually lives at Staff level, but reads the settings for Accidental at
Voicelevel, so you can\overridethem atVoice.Properties (read)
accidentalGrouping(symbol)If set to
'voice, accidentals on the same note in different octaves may be horizontally staggered if in different voices.autoAccidentals(list)List of different ways to typeset an accidental.
For determining when to print an accidental, several different rules are tried. The rule that gives the highest number of accidentals is used.
Each entry in the list is either a symbol or a procedure.
- symbol
The symbol is the name of the context in which the following rules are to be applied. For example, if context is 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.
The procedure returns a pair of Booleans. The first states whether an extra natural should be added. The second states whether an accidental should be printed.
(#t . #f)does not make sense.autoCautionaries(list)List similar to
autoAccidentals, but it controls cautionary accidentals rather than normal ones. Both lists are tried, and the one giving the most accidentals wins. In case of draw, a normal accidental is typeset.extraNatural(boolean)Whether to typeset an extra natural sign before accidentals that reduce the effect of a previous alteration.
harmonicAccidentals(boolean)If set, harmonic notes in chords get accidentals.
internalBarNumber(integer)Contains the current bar number. This property is used for internal timekeeping, among others by the
Accidental_engraver.keyAlterations(list)The current key signature. This is an alist containing
(step . alter)or((octave . step) . alter), where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.,keyAlterations = #`((6 . ,FLAT)).localAlterations(list)The key signature at this point in the measure. The format is the same as for
keyAlterations, but can also contain((octave . name) . (alter barnumber . measureposition))pairs.Properties (write)
localAlterations(list)The key signature at this point in the measure. The format is the same as for
keyAlterations, but can also contain((octave . name) . (alter barnumber . measureposition))pairs.This engraver creates the following layout object(s):
Accidental,AccidentalCautionary,AccidentalPlacementandAccidentalSuggestion.Alteration_glyph_engraverSet the
glyph-name-alistof all grobs having theaccidental-switch-interfaceto the value of the context’salterationGlyphsproperty, when defined.Properties (read)
alterationGlyphs(list)Alist mapping alterations to accidental glyphs. Alterations are given as exact numbers, e.g., -1/2 for flat. This applies to all grobs that can print accidentals.
Apply_output_engraverApply a procedure to any grob acknowledged.
Music types accepted:
apply-output-eventAxis_group_engraverGroup all objects created in this context in a
VerticalAxisGroupspanner.Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
hasAxisGroup(boolean)True if the current context is contained in an axis group.
keepAliveInterfaces(list)A list of symbols, signifying grob interfaces that are worth keeping a staff with
remove-emptyset around for.Properties (write)
hasAxisGroup(boolean)True if the current context is contained in an axis group.
This engraver creates the following layout object(s):
VerticalAxisGroup.Bar_engraverCreate bar lines for various commands, including
\\bar.If
forbidBreakBetweenBarLinesis true, allow line breaks at bar lines only.Music types accepted:
ad-hoc-jump-event,caesura-event,coda-mark-event,dal-segno-event,fine-event,section-eventandsegno-mark-eventProperties (read)
caesuraType(list)An alist
((bar-line . bar-type) (breath . breath-type) (scripts . script-type...) (underlying-bar-line . bar-type))specifying which breath mark, bar line, and scripts to create at
\caesura. All entries are optional.
bar-linehas higher priority than a measure bar line andunderlying-bar-linehas lower priority than a measure bar line.caesuraTypeTransform(procedure)An engraver callback taking three arguments and returning an alist of the same kind as
caesuraType.The first argument is the context.
The second argument is the value of
caesuraTypewith an additional entry(articulations . symbol-list)identifying the articulations attached to the caesura in the music. If the transform function returns this second argument unmodified, it is as if no transform function were set; the function is free to return a different value. The transform function can remove articulations, but any added articulations are ignored.The third argument is a symbol-list identifying certain things the engraver has observed.
bar-lineindicates that the engraver has observed aBarLineat the current moment.doubleRepeatBarType(string)Bar line to insert where the end of one
\repeat voltacoincides with the start of another. The default is ‘:..:’.doubleRepeatSegnoBarType(string)Bar line to insert where an in-staff segno coincides with the end of one
\repeat voltaand the beginning of another. The default is ‘:|.S.|:’.endRepeatBarType(string)Bar line to insert at the end of a
\repeat volta. The default is ‘:|.’.endRepeatSegnoBarType(string)Bar line to insert where an in-staff segno coincides with the end of a
\repeat volta. The default is ‘:|.S’.fineBarType(string)Bar line to insert at
\fine. Where there is also a repeat bar line, the repeat bar line takes precedence and this value is appended to it as an annotation. The default is ‘|.’.fineSegnoBarType(string)Bar line to insert where an in-staff segno coincides with
\fine. The default is ‘|.S’.fineStartRepeatSegnoBarType(string)Bar line to insert where an in-staff segno coincides with
\fineand the start of a\repeat volta. The default is ‘|.S.|:’.forbidBreakBetweenBarLines(boolean)If set to
#t,Bar_engraverforbids line breaks where there is no bar line.measureBarType(string)Bar line to insert at a measure boundary.
printInitialRepeatBar(boolean)Use a special bar line at the start of a volta repeat even at the beginning of the piece.
printTrivialVoltaRepeats(boolean)Notate volta-style repeats even when the repeat count is 1.
repeatCommands(list)A list of commands related to volta-style repeats. In general, each element is a list,
'(command args…), but a command with no arguments may be abbreviated to a symbol; e.g.,'((start-repeat))may be given as'(start-repeat).
end-repeat return-countEnd a repeated section. return-count is the number of times to go back from this point to the beginning of the section.
start-repeat repeat-countStart a repeated section. repeat-count is the number of times to perform this section.
volta textIf text is markup, start a volta bracket with that label; if text is
#f, end a volta bracket.sectionBarType(string)Bar line to insert at
\section. Where there is also a repeat bar line, the repeat bar line takes precedence and this value is appended to it as an annotation. The default is ‘||’.segnoBarType(string)Bar line to insert at an in-staff segno. The default is ‘S’.
segnoStyle(symbol)A symbol that indicates how to print a segno:
bar-lineormark.startRepeatBarType(string)Bar line to insert at the start of a
\repeat volta. The default is ‘.|:’.startRepeatSegnoBarType(string)Bar line to insert where an in-staff segno coincides with the start of a
\repeat volta. The default is ‘S.|:’.submeasureBarsEnabled(boolean)Whether to insert submeasure bar lines at boundaries specified by
submeasureStructure. They are typically enabled selectively to clarify complex rhythms.submeasureBarType(string)Bar line to insert at submeasure boundaries specified by
submeasureStructure, whensubmeasureBarsEnabledallows.submeasureStructure(number list)A sequence describing subdivisions of a measure. Each element tells the distance from the previous division in units of
beatBase.underlyingRepeatBarType(string)Bar line to insert at points of repetition or departure where no bar line would normally appear, for example at the end of a system broken in mid measure where the next system begins with a segno. Where there is also a repeat bar line, the repeat bar line takes precedence and this value is appended to it as an annotation. The default is ‘||’.
whichBar(string)The current bar line type, or
'()if there is no bar line. Setting this explicitly in user code is deprecated. Use\baror related commands to set it.Properties (write)
currentBarLine(graphical (layout) object)Set to the
BarLinethatBar_engraverhas created in the current time step.forbidBreak(boolean)If set to
#t, prevent a line break at this point, except if explicitly requested by the user.This engraver creates the following layout object(s):
BarLine.Caesura_engraverNotate a short break in sound that does not shorten the previous note.
Depending on the result of passing the value of
caesuraTypethroughcaesuraTypeTransform, this engraver may create aBreathingSignwithCaesuraScriptgrobs aligned to it, or it may createCaesuraScriptgrobs and align them to aBarLine.If this engraver observes a
BarLine, it callscaesuraTypeTransformagain with the new information, and if necessary, recreates its grobs.Music types accepted:
caesura-eventProperties (read)
breathMarkDefinitions(list)The description of breath marks. This is used by the
Breathing_sign_engraver. See scm/breath.scm for more information.caesuraType(list)An alist
((bar-line . bar-type) (breath . breath-type) (scripts . script-type...) (underlying-bar-line . bar-type))specifying which breath mark, bar line, and scripts to create at
\caesura. All entries are optional.
bar-linehas higher priority than a measure bar line andunderlying-bar-linehas lower priority than a measure bar line.caesuraTypeTransform(procedure)An engraver callback taking three arguments and returning an alist of the same kind as
caesuraType.The first argument is the context.
The second argument is the value of
caesuraTypewith an additional entry(articulations . symbol-list)identifying the articulations attached to the caesura in the music. If the transform function returns this second argument unmodified, it is as if no transform function were set; the function is free to return a different value. The transform function can remove articulations, but any added articulations are ignored.The third argument is a symbol-list identifying certain things the engraver has observed.
bar-lineindicates that the engraver has observed aBarLineat the current moment.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):
BreathingSignandCaesuraScript.Clef_engraverDetermine and set reference point for pitches.
Properties (read)
clefGlyph(string)Name of the symbol within the music font.
clefPosition(number)Where should the center of the clef symbol go, measured in half staff spaces from the center of the staff.
clefTransposition(integer)Add this much extra transposition to a clef. Values of 7 and -7 are common.
clefTranspositionStyle(symbol)Determines the way the
ClefModifiergrob of a clef is displayed. Possible values are'default,'parenthesized, and'bracketed.explicitClefVisibility(vector)‘break-visibility’ function for clef changes.
forbidBreak(boolean)If set to
#t, prevent a line break at this point, except if explicitly requested by the user.forceBreak(boolean)Set to
#twhen an event forcing a line break was heard.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):
ClefandClefModifier.Collision_engraverCollect
NoteColumns, and as soon as there are two or more, put them in aNoteCollisionobject.This engraver creates the following layout object(s):
NoteCollision.Cue_clef_engraverDetermine and set reference point for pitches in cued voices.
Properties (read)
clefTransposition(integer)Add this much extra transposition to a clef. Values of 7 and -7 are common.
cueClefGlyph(string)Name of the symbol within the music font.
cueClefPosition(number)Where should the center of the clef symbol go, measured in half staff spaces from the center of the staff.
cueClefTransposition(integer)Add this much extra transposition to a cue clef. Values of 7 and -7 are common.
cueClefTranspositionStyle(symbol)Determines the way the
ClefModifiergrob of a cue clef is displayed. Possible values are'default,'parenthesized, and'bracketed.explicitCueClefVisibility(vector)‘break-visibility’ function for cue clef changes.
forbidBreak(boolean)If set to
#t, prevent a line break at this point, except if explicitly requested by the user.forceBreak(boolean)Set to
#twhen an event forcing a line break was heard.middleCCuePosition(number)The position of the middle C, as determined only by the clef of the cue notes. This can be calculated by looking at
cueClefPositionandcueClefGlyph.This engraver creates the following layout object(s):
ClefModifier,CueClefandCueEndClef.Custos_engraverEngrave custodes.
Properties (read)
forbidBreak(boolean)If set to
#t, prevent a line break at this point, except if explicitly requested by the user.forceBreak(boolean)Set to
#twhen an event forcing a line break was heard.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):
Custos.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):
DotColumn.Figured_bass_engraverMake figured bass numbers.
Music types accepted:
bass-figure-eventandrest-eventProperties (read)
figuredBassAlterationDirection(direction)Where to put alterations relative to the main figure.
figuredBassCenterContinuations(boolean)Whether to vertically center pairs of extender lines. This does not work with three or more lines.
figuredBassFormatter(procedure)A routine generating a markup for a bass figure.
ignoreFiguredBassRest(boolean)Don’t swallow rest events.
implicitBassFigures(list)A list of bass figures that are not printed as numbers, but only as extender lines.
useBassFigureExtenders(boolean)Whether to use extender lines for repeated bass figures.
This engraver creates the following layout object(s):
BassFigure,BassFigureAlignment,BassFigureBracket,BassFigureContinuationandBassFigureLine.Figured_bass_position_engraverPosition figured bass alignments over notes.
This engraver creates the following layout object(s):
BassFigureAlignmentPositioning.Fingering_column_engraverFind potentially colliding scripts and put them into a
FingeringColumnobject; that will fix the collisions.This engraver creates the following layout object(s):
FingeringColumn.Font_size_engraverPut
fontSizeintofont-sizegrob property.Properties (read)
fontSize(number)The relative size of all grobs in a context.
Grob_pq_engraverAdministrate when certain grobs (e.g., note heads) stop playing.
Properties (read)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g., note heads, spanners, etc.).Properties (write)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g., note heads, spanners, etc.).Horizontal_script_engraverAligns
ScripthorizontallyInstrument_name_engraverCreate a system start text for instrument or vocal names.
Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
instrumentName(markup)The name to print left of a staff. The
instrumentNameproperty labels the staff in the first system, and theshortInstrumentNameproperty labels following lines.shortInstrumentName(markup)See
instrumentName.shortVocalName(markup)Name of a vocal line, short version.
vocalName(markup)Name of a vocal line.
This engraver creates the following layout object(s):
InstrumentName.Key_engraverEngrave a key signature.
Music types accepted:
key-change-eventProperties (read)
createKeyOnClefChange(boolean)Print a key signature whenever the clef is changed.
explicitKeySignatureVisibility(vector)‘break-visibility’ function for explicit key changes. ‘\override’ of the
break-visibilityproperty will set the visibility for normal (i.e., at the start of the line) key signatures.extraNatural(boolean)Whether to typeset an extra natural sign before accidentals that reduce the effect of a previous alteration.
forbidBreak(boolean)If set to
#t, prevent a line break at this point, except if explicitly requested by the user.forceBreak(boolean)Set to
#twhen an event forcing a line break was heard.keyAlterationOrder(list)A list of pairs that defines in what order alterations should be printed. The format of an entry is
(step . alter), where step is a number from 0 to 6 and alter from -1 (double flat) to 1 (double sharp), with exact rationals for alterations in between, e.g., 1/2 for sharp.keyAlterations(list)The current key signature. This is an alist containing
(step . alter)or((octave . step) . alter), where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.,keyAlterations = #`((6 . ,FLAT)).lastKeyAlterations(list)Last key signature before a key signature change.
middleCClefPosition(number)The position of the middle C, as determined only by the clef. This can be calculated by looking at
clefPositionandclefGlyph.printKeyCancellation(boolean)Print restoration alterations before a key signature change.
Properties (write)
keyAlterations(list)The current key signature. This is an alist containing
(step . alter)or((octave . step) . alter), where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.,keyAlterations = #`((6 . ,FLAT)).lastKeyAlterations(list)Last key signature before a key signature change.
tonic(pitch)The tonic of the current scale.
This engraver creates the following layout object(s):
KeyCancellationandKeySignature.Ledger_line_engraverCreate the spanner to draw ledger lines, and notices objects that need ledger lines.
This engraver creates the following layout object(s):
LedgerLineSpanner.Merge_mmrest_numbers_engraverEngraver to merge multi-measure rest numbers in multiple voices.
This works by gathering all multi-measure rest numbers at a time step. If they all have the same text and there are at least two only the first one is retained and the others are hidden.
Non_musical_script_column_engraverFind potentially colliding non-musical scripts and put them into a
ScriptColumnobject; that will fix the collisions.This engraver creates the following layout object(s):
ScriptColumn.Optional_material_bracket_engraverNotate in-staff brackets for optional material.
Music types accepted:
optional-material-eventThis engraver creates the following layout object(s):
OptionalMaterialBracket.Ottava_spanner_engraverCreate a text spanner when the ottavation property changes.
Music types accepted:
ottava-eventProperties (read)
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
middleCOffset(number)The offset of middle C from the position given by
middleCClefPositionThis is used for ottava brackets.ottavation(markup)If set, the text for an ottava spanner. Changing this creates a new text spanner.
This engraver creates the following layout object(s):
OttavaBracket.Piano_pedal_align_engraverAlign piano pedal symbols and brackets.
Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
This engraver creates the following layout object(s):
SostenutoPedalLineSpanner,SustainPedalLineSpannerandUnaCordaPedalLineSpanner.Piano_pedal_engraverEngrave piano pedal symbols and brackets.
Music types accepted:
sostenuto-event,sustain-eventanduna-corda-eventProperties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
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,SustainPedalandUnaCordaPedal.Pure_from_neighbor_engraverCoordinates items that get their pure heights from their neighbors.
Rest_collision_engraverHandle collisions of rests.
Properties (read)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g., note heads, spanners, etc.).This engraver creates the following layout object(s):
RestCollision.Script_row_engraverDetermine order in horizontal side position elements.
This engraver creates the following layout object(s):
ScriptRow.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
currentCommandColumncontains items that will affect spacing.This engraver creates the following layout object(s):
StaffSpacing.Signum_repetitionis_engraverCreate a
SignumRepetitionisat the end of a\repeat voltasection.Music types accepted:
volta-repeat-end-eventThis engraver creates the following layout object(s):
SignumRepetitionis.Skip_typesetting_engraverCreate a
StaffEllipsiswhenskipTypesettingis used.Properties (read)
skipTypesetting(boolean)If true, no typesetting is done, speeding up the interpretation phase. Useful for debugging large scores.
This engraver creates the following layout object(s):
StaffEllipsis.Staff_collecting_engraverMaintain the
stavesFoundvariable.Properties (read)
stavesFound(list of grobs)A list of all staff-symbols found.
Properties (write)
stavesFound(list of grobs)A list of all staff-symbols found.
Staff_highlight_engraverHighlights music passages.
Music types accepted:
staff-highlight-eventProperties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
This engraver creates the following layout object(s):
StaffHighlight.Staff_symbol_engraverCreate the constellation of five (default) staff lines.
Music types accepted:
staff-span-eventThis engraver creates the following layout object(s):
StaffSymbol.Time_signature_engraverCreate a
TimeSignaturewhenevertimeSignaturechanges.Music types accepted:
polymetric-time-signature-eventandreference-time-signature-eventProperties (read)
initialTimeSignatureVisibility(vector)break visibility for the initial time signature.
partialBusy(boolean)Signal that \partial acts at the current time step.
timeSignature(time signature)A time-signature specification. See the
\timecommand.This engraver creates the following layout object(s):
TimeSignature.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < InternalMensuralStaff ] | [ Up: Contexts ] | [ KievanVoice > ] |
2.1.19 KievanStaff ¶
Same as Staff context, except that it is
accommodated for typesetting a piece in Kievan style.
This context also accepts commands for the following context(s):
Staff.
This context creates the following layout object(s):
Accidental, AccidentalCautionary, AccidentalPlacement, AccidentalSuggestion, BarLine, BassFigure, BassFigureAlignment, BassFigureAlignmentPositioning, BassFigureBracket, BassFigureContinuation, BassFigureLine, BreathingSign, CaesuraScript, Clef, ClefModifier, CueClef, CueEndClef, DotColumn, FingeringColumn, InstrumentName, KeyCancellation, KeySignature, LedgerLineSpanner, NoteCollision, OptionalMaterialBracket, OttavaBracket, PianoPedalBracket, RestCollision, ScriptColumn, ScriptRow, SostenutoPedal, SostenutoPedalLineSpanner, StaffEllipsis, StaffHighlight, StaffSpacing, StaffSymbol, SustainPedal, SustainPedalLineSpanner, UnaCordaPedal, UnaCordaPedalLineSpanner and VerticalAxisGroup.
This context sets the following properties:
- Set context property
alterationGlyphsto:'((-1/2 . "accidentals.kievanM1") (1/2 . "accidentals.kievan1"))
- Set context property
autoAccidentalsto:'(Staff #<procedure at lily/music-functions.scm:1794:0 (context pitch barnum)>)
- Set context property
autoCautionariesto'(). - Set context property
caesuraTypeto:'((bar-line . "."))
- Set context property
clefGlyphto"clefs.kievan.do". - Set context property
clefPositionto0. - Set context property
clefTranspositionto0. - Set context property
createSpacingto#t. - Set context property
doubleRepeatBarTypeto"k". - Set context property
endRepeatBarTypeto"k". - Set context property
extraNaturalto#f. - Set context property
fineBarTypeto"k". - Set context property
forbidBreakBetweenBarLinesto#f. - Set context property
ignoreFiguredBassRestto#f. - Set context property
instrumentNameto'(). - Set context property
localAlterationsto'(). - Set context property
measureBarTypeto'(). - Set context property
middleCClefPositionto0. - Set context property
middleCPositionto0. - Set context property
ottavationMarkupsto:'((4 . "29") (3 . "22") (2 . "15") (1 . "8") (-1 . "8") (-2 . "15") (-3 . "22") (-4 . "29"))
- Set context property
printKeyCancellationto#f. - Set context property
sectionBarTypeto"k". - Set context property
shortInstrumentNameto'(). - Set context property
startRepeatBarTypeto"k". - Set context property
submeasureBarTypeto'(). - Set context property
underlyingRepeatBarTypeto"k". - Set grob property
positionsinOptionalMaterialBracketto :'(-1.75 . 1.75)
- Set grob property
protrusioninOptionalMaterialBracketto0.5. - Set grob property
thick-thicknessinBarLineto3.
This is not a ‘Bottom’ context; search for such a one will commence after creating an implicit context of type KievanVoice.
Context KievanStaff can contain
CueVoice, KievanVoice and NullVoice.
This context is built from the following engraver(s):
Accidental_engraverMake accidentals. Catch note heads, ties and notices key-change events. This engraver usually lives at Staff level, but reads the settings for Accidental at
Voicelevel, so you can\overridethem atVoice.Properties (read)
accidentalGrouping(symbol)If set to
'voice, accidentals on the same note in different octaves may be horizontally staggered if in different voices.autoAccidentals(list)List of different ways to typeset an accidental.
For determining when to print an accidental, several different rules are tried. The rule that gives the highest number of accidentals is used.
Each entry in the list is either a symbol or a procedure.
- symbol
The symbol is the name of the context in which the following rules are to be applied. For example, if context is 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.
The procedure returns a pair of Booleans. The first states whether an extra natural should be added. The second states whether an accidental should be printed.
(#t . #f)does not make sense.autoCautionaries(list)List similar to
autoAccidentals, but it controls cautionary accidentals rather than normal ones. Both lists are tried, and the one giving the most accidentals wins. In case of draw, a normal accidental is typeset.extraNatural(boolean)Whether to typeset an extra natural sign before accidentals that reduce the effect of a previous alteration.
harmonicAccidentals(boolean)If set, harmonic notes in chords get accidentals.
internalBarNumber(integer)Contains the current bar number. This property is used for internal timekeeping, among others by the
Accidental_engraver.keyAlterations(list)The current key signature. This is an alist containing
(step . alter)or((octave . step) . alter), where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.,keyAlterations = #`((6 . ,FLAT)).localAlterations(list)The key signature at this point in the measure. The format is the same as for
keyAlterations, but can also contain((octave . name) . (alter barnumber . measureposition))pairs.Properties (write)
localAlterations(list)The key signature at this point in the measure. The format is the same as for
keyAlterations, but can also contain((octave . name) . (alter barnumber . measureposition))pairs.This engraver creates the following layout object(s):
Accidental,AccidentalCautionary,AccidentalPlacementandAccidentalSuggestion.Alteration_glyph_engraverSet the
glyph-name-alistof all grobs having theaccidental-switch-interfaceto the value of the context’salterationGlyphsproperty, when defined.Properties (read)
alterationGlyphs(list)Alist mapping alterations to accidental glyphs. Alterations are given as exact numbers, e.g., -1/2 for flat. This applies to all grobs that can print accidentals.
Apply_output_engraverApply a procedure to any grob acknowledged.
Music types accepted:
apply-output-eventAxis_group_engraverGroup all objects created in this context in a
VerticalAxisGroupspanner.Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
hasAxisGroup(boolean)True if the current context is contained in an axis group.
keepAliveInterfaces(list)A list of symbols, signifying grob interfaces that are worth keeping a staff with
remove-emptyset around for.Properties (write)
hasAxisGroup(boolean)True if the current context is contained in an axis group.
This engraver creates the following layout object(s):
VerticalAxisGroup.Bar_engraverCreate bar lines for various commands, including
\\bar.If
forbidBreakBetweenBarLinesis true, allow line breaks at bar lines only.Music types accepted:
ad-hoc-jump-event,caesura-event,coda-mark-event,dal-segno-event,fine-event,section-eventandsegno-mark-eventProperties (read)
caesuraType(list)An alist
((bar-line . bar-type) (breath . breath-type) (scripts . script-type...) (underlying-bar-line . bar-type))specifying which breath mark, bar line, and scripts to create at
\caesura. All entries are optional.
bar-linehas higher priority than a measure bar line andunderlying-bar-linehas lower priority than a measure bar line.caesuraTypeTransform(procedure)An engraver callback taking three arguments and returning an alist of the same kind as
caesuraType.The first argument is the context.
The second argument is the value of
caesuraTypewith an additional entry(articulations . symbol-list)identifying the articulations attached to the caesura in the music. If the transform function returns this second argument unmodified, it is as if no transform function were set; the function is free to return a different value. The transform function can remove articulations, but any added articulations are ignored.The third argument is a symbol-list identifying certain things the engraver has observed.
bar-lineindicates that the engraver has observed aBarLineat the current moment.doubleRepeatBarType(string)Bar line to insert where the end of one
\repeat voltacoincides with the start of another. The default is ‘:..:’.doubleRepeatSegnoBarType(string)Bar line to insert where an in-staff segno coincides with the end of one
\repeat voltaand the beginning of another. The default is ‘:|.S.|:’.endRepeatBarType(string)Bar line to insert at the end of a
\repeat volta. The default is ‘:|.’.endRepeatSegnoBarType(string)Bar line to insert where an in-staff segno coincides with the end of a
\repeat volta. The default is ‘:|.S’.fineBarType(string)Bar line to insert at
\fine. Where there is also a repeat bar line, the repeat bar line takes precedence and this value is appended to it as an annotation. The default is ‘|.’.fineSegnoBarType(string)Bar line to insert where an in-staff segno coincides with
\fine. The default is ‘|.S’.fineStartRepeatSegnoBarType(string)Bar line to insert where an in-staff segno coincides with
\fineand the start of a\repeat volta. The default is ‘|.S.|:’.forbidBreakBetweenBarLines(boolean)If set to
#t,Bar_engraverforbids line breaks where there is no bar line.measureBarType(string)Bar line to insert at a measure boundary.
printInitialRepeatBar(boolean)Use a special bar line at the start of a volta repeat even at the beginning of the piece.
printTrivialVoltaRepeats(boolean)Notate volta-style repeats even when the repeat count is 1.
repeatCommands(list)A list of commands related to volta-style repeats. In general, each element is a list,
'(command args…), but a command with no arguments may be abbreviated to a symbol; e.g.,'((start-repeat))may be given as'(start-repeat).
end-repeat return-countEnd a repeated section. return-count is the number of times to go back from this point to the beginning of the section.
start-repeat repeat-countStart a repeated section. repeat-count is the number of times to perform this section.
volta textIf text is markup, start a volta bracket with that label; if text is
#f, end a volta bracket.sectionBarType(string)Bar line to insert at
\section. Where there is also a repeat bar line, the repeat bar line takes precedence and this value is appended to it as an annotation. The default is ‘||’.segnoBarType(string)Bar line to insert at an in-staff segno. The default is ‘S’.
segnoStyle(symbol)A symbol that indicates how to print a segno:
bar-lineormark.startRepeatBarType(string)Bar line to insert at the start of a
\repeat volta. The default is ‘.|:’.startRepeatSegnoBarType(string)Bar line to insert where an in-staff segno coincides with the start of a
\repeat volta. The default is ‘S.|:’.submeasureBarsEnabled(boolean)Whether to insert submeasure bar lines at boundaries specified by
submeasureStructure. They are typically enabled selectively to clarify complex rhythms.submeasureBarType(string)Bar line to insert at submeasure boundaries specified by
submeasureStructure, whensubmeasureBarsEnabledallows.submeasureStructure(number list)A sequence describing subdivisions of a measure. Each element tells the distance from the previous division in units of
beatBase.underlyingRepeatBarType(string)Bar line to insert at points of repetition or departure where no bar line would normally appear, for example at the end of a system broken in mid measure where the next system begins with a segno. Where there is also a repeat bar line, the repeat bar line takes precedence and this value is appended to it as an annotation. The default is ‘||’.
whichBar(string)The current bar line type, or
'()if there is no bar line. Setting this explicitly in user code is deprecated. Use\baror related commands to set it.Properties (write)
currentBarLine(graphical (layout) object)Set to the
BarLinethatBar_engraverhas created in the current time step.forbidBreak(boolean)If set to
#t, prevent a line break at this point, except if explicitly requested by the user.This engraver creates the following layout object(s):
BarLine.Caesura_engraverNotate a short break in sound that does not shorten the previous note.
Depending on the result of passing the value of
caesuraTypethroughcaesuraTypeTransform, this engraver may create aBreathingSignwithCaesuraScriptgrobs aligned to it, or it may createCaesuraScriptgrobs and align them to aBarLine.If this engraver observes a
BarLine, it callscaesuraTypeTransformagain with the new information, and if necessary, recreates its grobs.Music types accepted:
caesura-eventProperties (read)
breathMarkDefinitions(list)The description of breath marks. This is used by the
Breathing_sign_engraver. See scm/breath.scm for more information.caesuraType(list)An alist
((bar-line . bar-type) (breath . breath-type) (scripts . script-type...) (underlying-bar-line . bar-type))specifying which breath mark, bar line, and scripts to create at
\caesura. All entries are optional.
bar-linehas higher priority than a measure bar line andunderlying-bar-linehas lower priority than a measure bar line.caesuraTypeTransform(procedure)An engraver callback taking three arguments and returning an alist of the same kind as
caesuraType.The first argument is the context.
The second argument is the value of
caesuraTypewith an additional entry(articulations . symbol-list)identifying the articulations attached to the caesura in the music. If the transform function returns this second argument unmodified, it is as if no transform function were set; the function is free to return a different value. The transform function can remove articulations, but any added articulations are ignored.The third argument is a symbol-list identifying certain things the engraver has observed.
bar-lineindicates that the engraver has observed aBarLineat the current moment.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):
BreathingSignandCaesuraScript.Clef_engraverDetermine and set reference point for pitches.
Properties (read)
clefGlyph(string)Name of the symbol within the music font.
clefPosition(number)Where should the center of the clef symbol go, measured in half staff spaces from the center of the staff.
clefTransposition(integer)Add this much extra transposition to a clef. Values of 7 and -7 are common.
clefTranspositionStyle(symbol)Determines the way the
ClefModifiergrob of a clef is displayed. Possible values are'default,'parenthesized, and'bracketed.explicitClefVisibility(vector)‘break-visibility’ function for clef changes.
forbidBreak(boolean)If set to
#t, prevent a line break at this point, except if explicitly requested by the user.forceBreak(boolean)Set to
#twhen an event forcing a line break was heard.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):
ClefandClefModifier.Collision_engraverCollect
NoteColumns, and as soon as there are two or more, put them in aNoteCollisionobject.This engraver creates the following layout object(s):
NoteCollision.Cue_clef_engraverDetermine and set reference point for pitches in cued voices.
Properties (read)
clefTransposition(integer)Add this much extra transposition to a clef. Values of 7 and -7 are common.
cueClefGlyph(string)Name of the symbol within the music font.
cueClefPosition(number)Where should the center of the clef symbol go, measured in half staff spaces from the center of the staff.
cueClefTransposition(integer)Add this much extra transposition to a cue clef. Values of 7 and -7 are common.
cueClefTranspositionStyle(symbol)Determines the way the
ClefModifiergrob of a cue clef is displayed. Possible values are'default,'parenthesized, and'bracketed.explicitCueClefVisibility(vector)‘break-visibility’ function for cue clef changes.
forbidBreak(boolean)If set to
#t, prevent a line break at this point, except if explicitly requested by the user.forceBreak(boolean)Set to
#twhen an event forcing a line break was heard.middleCCuePosition(number)The position of the middle C, as determined only by the clef of the cue notes. This can be calculated by looking at
cueClefPositionandcueClefGlyph.This engraver creates the following layout object(s):
ClefModifier,CueClefandCueEndClef.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):
DotColumn.Figured_bass_engraverMake figured bass numbers.
Music types accepted:
bass-figure-eventandrest-eventProperties (read)
figuredBassAlterationDirection(direction)Where to put alterations relative to the main figure.
figuredBassCenterContinuations(boolean)Whether to vertically center pairs of extender lines. This does not work with three or more lines.
figuredBassFormatter(procedure)A routine generating a markup for a bass figure.
ignoreFiguredBassRest(boolean)Don’t swallow rest events.
implicitBassFigures(list)A list of bass figures that are not printed as numbers, but only as extender lines.
useBassFigureExtenders(boolean)Whether to use extender lines for repeated bass figures.
This engraver creates the following layout object(s):
BassFigure,BassFigureAlignment,BassFigureBracket,BassFigureContinuationandBassFigureLine.Figured_bass_position_engraverPosition figured bass alignments over notes.
This engraver creates the following layout object(s):
BassFigureAlignmentPositioning.Fingering_column_engraverFind potentially colliding scripts and put them into a
FingeringColumnobject; that will fix the collisions.This engraver creates the following layout object(s):
FingeringColumn.Font_size_engraverPut
fontSizeintofont-sizegrob property.Properties (read)
fontSize(number)The relative size of all grobs in a context.
Grob_pq_engraverAdministrate when certain grobs (e.g., note heads) stop playing.
Properties (read)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g., note heads, spanners, etc.).Properties (write)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g., note heads, spanners, etc.).Horizontal_script_engraverAligns
ScripthorizontallyInstrument_name_engraverCreate a system start text for instrument or vocal names.
Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
instrumentName(markup)The name to print left of a staff. The
instrumentNameproperty labels the staff in the first system, and theshortInstrumentNameproperty labels following lines.shortInstrumentName(markup)See
instrumentName.shortVocalName(markup)Name of a vocal line, short version.
vocalName(markup)Name of a vocal line.
This engraver creates the following layout object(s):
InstrumentName.Key_engraverEngrave a key signature.
Music types accepted:
key-change-eventProperties (read)
createKeyOnClefChange(boolean)Print a key signature whenever the clef is changed.
explicitKeySignatureVisibility(vector)‘break-visibility’ function for explicit key changes. ‘\override’ of the
break-visibilityproperty will set the visibility for normal (i.e., at the start of the line) key signatures.extraNatural(boolean)Whether to typeset an extra natural sign before accidentals that reduce the effect of a previous alteration.
forbidBreak(boolean)If set to
#t, prevent a line break at this point, except if explicitly requested by the user.forceBreak(boolean)Set to
#twhen an event forcing a line break was heard.keyAlterationOrder(list)A list of pairs that defines in what order alterations should be printed. The format of an entry is
(step . alter), where step is a number from 0 to 6 and alter from -1 (double flat) to 1 (double sharp), with exact rationals for alterations in between, e.g., 1/2 for sharp.keyAlterations(list)The current key signature. This is an alist containing
(step . alter)or((octave . step) . alter), where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.,keyAlterations = #`((6 . ,FLAT)).lastKeyAlterations(list)Last key signature before a key signature change.
middleCClefPosition(number)The position of the middle C, as determined only by the clef. This can be calculated by looking at
clefPositionandclefGlyph.printKeyCancellation(boolean)Print restoration alterations before a key signature change.
Properties (write)
keyAlterations(list)The current key signature. This is an alist containing
(step . alter)or((octave . step) . alter), where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.,keyAlterations = #`((6 . ,FLAT)).lastKeyAlterations(list)Last key signature before a key signature change.
tonic(pitch)The tonic of the current scale.
This engraver creates the following layout object(s):
KeyCancellationandKeySignature.Ledger_line_engraverCreate the spanner to draw ledger lines, and notices objects that need ledger lines.
This engraver creates the following layout object(s):
LedgerLineSpanner.Merge_mmrest_numbers_engraverEngraver to merge multi-measure rest numbers in multiple voices.
This works by gathering all multi-measure rest numbers at a time step. If they all have the same text and there are at least two only the first one is retained and the others are hidden.
Non_musical_script_column_engraverFind potentially colliding non-musical scripts and put them into a
ScriptColumnobject; that will fix the collisions.This engraver creates the following layout object(s):
ScriptColumn.Optional_material_bracket_engraverNotate in-staff brackets for optional material.
Music types accepted:
optional-material-eventThis engraver creates the following layout object(s):
OptionalMaterialBracket.Ottava_spanner_engraverCreate a text spanner when the ottavation property changes.
Music types accepted:
ottava-eventProperties (read)
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
middleCOffset(number)The offset of middle C from the position given by
middleCClefPositionThis is used for ottava brackets.ottavation(markup)If set, the text for an ottava spanner. Changing this creates a new text spanner.
This engraver creates the following layout object(s):
OttavaBracket.Piano_pedal_align_engraverAlign piano pedal symbols and brackets.
Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
This engraver creates the following layout object(s):
SostenutoPedalLineSpanner,SustainPedalLineSpannerandUnaCordaPedalLineSpanner.Piano_pedal_engraverEngrave piano pedal symbols and brackets.
Music types accepted:
sostenuto-event,sustain-eventanduna-corda-eventProperties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
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,SustainPedalandUnaCordaPedal.Pure_from_neighbor_engraverCoordinates items that get their pure heights from their neighbors.
Rest_collision_engraverHandle collisions of rests.
Properties (read)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g., note heads, spanners, etc.).This engraver creates the following layout object(s):
RestCollision.Script_row_engraverDetermine order in horizontal side position elements.
This engraver creates the following layout object(s):
ScriptRow.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
currentCommandColumncontains items that will affect spacing.This engraver creates the following layout object(s):
StaffSpacing.Skip_typesetting_engraverCreate a
StaffEllipsiswhenskipTypesettingis used.Properties (read)
skipTypesetting(boolean)If true, no typesetting is done, speeding up the interpretation phase. Useful for debugging large scores.
This engraver creates the following layout object(s):
StaffEllipsis.Staff_collecting_engraverMaintain the
stavesFoundvariable.Properties (read)
stavesFound(list of grobs)A list of all staff-symbols found.
Properties (write)
stavesFound(list of grobs)A list of all staff-symbols found.
Staff_highlight_engraverHighlights music passages.
Music types accepted:
staff-highlight-eventProperties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
This engraver creates the following layout object(s):
StaffHighlight.Staff_symbol_engraverCreate the constellation of five (default) staff lines.
Music types accepted:
staff-span-eventThis engraver creates the following layout object(s):
StaffSymbol.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < KievanStaff ] | [ Up: Contexts ] | [ Lyrics > ] |
2.1.20 KievanVoice ¶
Same as Voice context, except that it is
accommodated for typesetting a piece in Kievan style.
This context also accepts commands for the following context(s):
Voice.
This context creates the following layout object(s):
ApproximatePitchNoteHead, Arpeggio, Beam, BendAfter, BreathingSign, ChordBracket, ChordSlur, ClusterSpanner, ClusterSpannerBeacon, CombineTextScript, Dots, DoublePercentRepeat, DoublePercentRepeatCounter, DoubleRepeatSlash, DynamicLineSpanner, DynamicText, DynamicTextSpanner, FingerGlideSpanner, Fingering, Flag, Glissando, Hairpin, InstrumentSwitch, KievanLigature, LaissezVibrerTie, LaissezVibrerTieColumn, MultiMeasureRest, MultiMeasureRestNumber, MultiMeasureRestScript, MultiMeasureRestText, NoteColumn, NoteHead, NoteSpacing, PercentRepeat, PercentRepeatCounter, PhrasingSlur, RepeatSlash, RepeatTie, RepeatTieColumn, Rest, Script, ScriptColumn, Slur, Stem, StemStub, StemTremolo, StringNumber, StrokeFinger, TextScript, TextSpanner, Tie, TieColumn, TrillPitchAccidental, TrillPitchGroup, TrillPitchHead, TrillPitchParentheses, TrillSpanner, TupletBracket, TupletNumber and VoiceFollower.
This context sets the following properties:
- Set context property
autoBeamingto#f. - Set grob property
duration-loginNoteHeadtonote-head::calc-kievan-duration-log. - Set grob property
lengthinStemto0.0. - Set grob property
positionsinBeamtobeam::get-kievan-positions. - Set grob property
quantized-positionsinBeamtobeam::get-kievan-quantized-positions. - Set grob property
stencilinFlagto#f. - Set grob property
stencilinSlurto#f. - Set grob property
stencilinStemto#f. - Set grob property
styleinDotsto'kievan. - Set grob property
styleinNoteHeadto'kievan. - Set grob property
styleinRestto'mensural. - Set grob property
X-offsetinStemtostem::kievan-offset-callback.
This is a ‘Bottom’ context; no contexts will be created implicitly from it.
This context cannot contain other contexts.
This context is built from the following engraver(s):
Apply_output_engraverApply a procedure to any grob acknowledged.
Music types accepted:
apply-output-eventArpeggio_engraverCreate arpeggiato and non-arpeggiato symbols.
Music types accepted:
arpeggio-event,chord-slur-eventandnon-arpeggiato-eventThis engraver creates the following layout object(s):
Arpeggio,ChordBracketandChordSlur.Auto_beam_engraverGenerate beams based on measure characteristics and observed Stems. Uses
beatBase,beatStructure,beamExceptions,measureLength, andmeasurePositionto decide when to start and stop a beam. Overriding beaming is done throughStem_engraverpropertiesstemLeftBeamCountandstemRightBeamCount.Music types accepted:
beam-break-eventandbeam-forbid-eventProperties (read)
autoBeaming(boolean)If set to
#tthen beams are generated automatically. If set to#f, auto-beaming is switched off as soon as the current beam (if any) is finished according to the auto-beaming rules.beamExceptions(list)An alist of exceptions to auto-beam rules that normally end on beats.
beamHalfMeasure(boolean)Whether to allow a beam to begin halfway through the measure in triple time, which could look like 6/8.
beatBase(positive exact rational or +inf.0)The musical length corresponding to one unit of
beatStructure.beatStructure(number list)A sequence describing the length of each beat in the measure in units of
beatBase.subdivideBeams(boolean)If set, beams of multiple stems may be subdivided by omitting a number of beamlets, dependent on
beamMaximumSubdivision, between beats at multiples ofbeamMinimumSubdivision.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:
beam-eventProperties (read)
beamMelismaBusy(boolean)Signal if a beam is present.
beatBase(positive exact rational or +inf.0)The musical length corresponding to one unit of
beatStructure.beatStructure(number list)A sequence describing the length of each beat in the measure in units of
beatBase.subdivideBeams(boolean)If set, beams of multiple stems may be subdivided by omitting a number of beamlets, dependent on
beamMaximumSubdivision, between beats at multiples ofbeamMinimumSubdivision.This engraver creates the following layout object(s):
Beam.Bend_engraverCreate fall spanners.
Music types accepted:
bend-after-eventProperties (read)
currentBarLine(graphical (layout) object)Set to the
BarLinethatBar_engraverhas created in the current time step.currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
BendAfter.Breathing_sign_engraverNotate breath marks.
Music types accepted:
breathing-eventProperties (read)
breathMarkType(symbol)The type of
BreathingSignto create at\breathe.This engraver creates the following layout object(s):
BreathingSign.Chord_tremolo_engraverGenerate beams for tremolo repeats.
Music types accepted:
tremolo-span-eventThis engraver creates the following layout object(s):
Beam.Cluster_spanner_engraverEngrave a cluster using
Spannernotation.Music types accepted:
cluster-note-eventThis engraver creates the following layout object(s):
ClusterSpannerandClusterSpannerBeacon.Dots_engraverCreate
Dotsobjects forrhythmic-head-interfaces.This engraver creates the following layout object(s):
Dots.Double_percent_repeat_engraverMake double measure repeats.
Music types accepted:
double-percent-eventProperties (read)
countPercentRepeats(boolean)If set, produce counters for percent repeats.
measureLength(positive exact rational or +inf.0)The musical length of the current measure.
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, except if explicitly requested by the user.This engraver creates the following layout object(s):
DoublePercentRepeatandDoublePercentRepeatCounter.Dynamic_align_engraverAlign hairpins and dynamic texts on a horizontal line.
Properties (read)
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
DynamicLineSpanner.Dynamic_engraverCreate hairpins, dynamic texts and dynamic text spanners.
Music types accepted:
absolute-dynamic-event,break-dynamic-span-eventandspan-dynamic-eventProperties (read)
crescendoSpanner(symbol)The type of spanner to be used for crescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin crescendo is used.
crescendoText(markup)The text to print at start of non-hairpin crescendo, i.e., ‘cresc.’.
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
decrescendoSpanner(symbol)The type of spanner to be used for decrescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin decrescendo is used.
decrescendoText(markup)The text to print at start of non-hairpin decrescendo, i.e., ‘dim.’.
This engraver creates the following layout object(s):
DynamicText,DynamicTextSpannerandHairpin.Finger_glide_engraverEngraver to print a line between two
Fingering,StringNumberorStrokeFingergrobs.Music types accepted:
note-eventThis engraver creates the following layout object(s):
FingerGlideSpanner.Fingering_engraverCreate fingering scripts.
Music types accepted:
fingering-eventThis engraver creates the following layout object(s):
Fingering.Font_size_engraverPut
fontSizeintofont-sizegrob property.Properties (read)
fontSize(number)The relative size of all grobs in a context.
Forbid_line_break_engraverForbid line breaks when note heads are still playing at some point.
Properties (read)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g., note heads, spanners, etc.).Properties (write)
forbidBreak(boolean)If set to
#t, prevent a line break at this point, except if explicitly requested by the user.Glissando_engraverEngrave glissandi.
Music types accepted:
glissando-eventProperties (read)
glissandoMap(list)A map in the form of
'((source1 . target1) (source2 . target2) ... (sourcen . targetn)), showing the glissandi to be drawn for note columns. The value'()defaults to'((0 . 0) (1 . 1) ... (n . n)), where n is the minimum number of note heads in the two note columns between which the glissandi occur.This engraver creates the following layout object(s):
Glissando.Grace_auto_beam_engraverGenerates one autobeam group across an entire grace phrase. As usual, any manual beaming or
\noBeamwill block autobeaming, just like setting the context property ‘autoBeaming’ to##f.Music types accepted:
beam-break-eventandbeam-forbid-eventProperties (read)
autoBeaming(boolean)If set to
#tthen beams are generated automatically. If set to#f, auto-beaming is switched off as soon as the current beam (if any) is finished according to the auto-beaming rules.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:
beam-eventProperties (read)
beamMelismaBusy(boolean)Signal if a beam is present.
beatBase(positive exact rational or +inf.0)The musical length corresponding to one unit of
beatStructure.beatStructure(number list)A sequence describing the length of each beat in the measure in units of
beatBase.subdivideBeams(boolean)If set, beams of multiple stems may be subdivided by omitting a number of beamlets, dependent on
beamMaximumSubdivision, between beats at multiples ofbeamMinimumSubdivision.This engraver creates the following layout object(s):
Beam.Grace_engraverSet font size and other properties for grace notes.
Properties (read)
graceSettings(list)Overrides for grace notes. This property should be manipulated through the
add-grace-propertyfunction.Grob_pq_engraverAdministrate when certain grobs (e.g., note heads) stop playing.
Properties (read)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g., note heads, spanners, etc.).Properties (write)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g., note heads, spanners, etc.).Instrument_switch_engraverCreate a cue text for taking instrument.
This engraver is deprecated.
Properties (read)
instrumentCueName(markup)The name to print if another instrument is to be taken.
This property is deprecated
This engraver creates the following layout object(s):
InstrumentSwitch.Kievan_ligature_engraverHandle
Kievan_ligature_eventsby glueing Kievan heads together.Music types accepted:
ligature-eventThis engraver creates the following layout object(s):
KievanLigature.Laissez_vibrer_engraverCreate laissez vibrer items.
Music types accepted:
laissez-vibrer-eventThis engraver creates the following layout object(s):
LaissezVibrerTieandLaissezVibrerTieColumn.Multi_measure_rest_engraverEngrave multi-measure rests that are produced with ‘R’. It reads
measureStartNowandinternalBarNumberto determine what number to print over theMultiMeasureRest.Music types accepted:
multi-measure-articulation-event,multi-measure-rest-eventandmulti-measure-text-eventProperties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
internalBarNumber(integer)Contains the current bar number. This property is used for internal timekeeping, among others by the
Accidental_engraver.measureStartNow(boolean)True at the beginning of a measure.
restNumberThreshold(number)If a multi-measure rest has more measures than this, a number is printed.
This engraver creates the following layout object(s):
MultiMeasureRest,MultiMeasureRestNumber,MultiMeasureRestScriptandMultiMeasureRestText.New_fingering_engraverCreate fingering scripts for notes in a new chord. This engraver is ill-named, since it also takes care of articulations and harmonic note heads.
Properties (read)
fingeringOrientations(list)A list of symbols, containing ‘left’, ‘right’, ‘up’ and/or ‘down’. This list determines where fingerings are put relative to the chord being fingered.
harmonicDots(boolean)If set, harmonic notes in dotted chords get dots.
stringNumberOrientations(list)See
fingeringOrientations.strokeFingerOrientations(list)See
fingeringOrientations.This engraver creates the following layout object(s):
Fingering,Script,StringNumberandStrokeFinger.Note_head_line_engraverEngrave a line between two note heads in a staff switch if
followVoiceis set.Properties (read)
followVoice(boolean)If set, note heads are tracked across staff switches by a thin line.
This engraver creates the following layout object(s):
VoiceFollower.Note_heads_engraverGenerate note heads.
Music types accepted:
note-eventProperties (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):
ApproximatePitchNoteHeadandNoteHead.Note_spacing_engraverGenerate
NoteSpacing, an object linking horizontal lines for use in spacing.This engraver creates the following layout object(s):
NoteSpacing.Part_combine_engraverPart combine engraver for orchestral scores: Print markings ‘a2’, ‘Solo’, ‘Solo II’, and ‘unisono’.
Music types accepted:
note-eventandpart-combine-eventProperties (read)
aDueText(markup)Text to print at a unisono passage.
partCombineTextsOnNote(boolean)Print part-combine texts only on the next note rather than immediately on rests or skips.
printPartCombineTexts(boolean)Set ‘Solo’ and ‘A due’ texts in the part combiner?
soloIIText(markup)The text for the start of a solo for voice ‘two’ when part-combining.
soloText(markup)The text for the start of a solo when part-combining.
This engraver creates the following layout object(s):
CombineTextScript.Percent_repeat_engraverMake whole measure repeats.
Music types accepted:
percent-eventProperties (read)
countPercentRepeats(boolean)If set, produce counters for percent repeats.
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
repeatCountVisibility(procedure)A procedure taking as arguments an integer and context, returning whether the corresponding percent repeat number should be printed when
countPercentRepeatsis set.This engraver creates the following layout object(s):
PercentRepeatandPercentRepeatCounter.Phrasing_slur_engraverPrint phrasing slurs. Similar to
Slur_engraver.Music types accepted:
note-eventandphrasing-slur-eventThis engraver creates the following layout object(s):
PhrasingSlur.Pitched_trill_engraverPrint the bracketed note head after a note head with trill.
This engraver creates the following layout object(s):
TrillPitchAccidental,TrillPitchGroup,TrillPitchHeadandTrillPitchParentheses.Repeat_tie_engraverCreate repeat ties.
Music types accepted:
repeat-tie-eventThis engraver creates the following layout object(s):
RepeatTieandRepeatTieColumn.Rest_engraverEngrave rests.
Music types accepted:
rest-eventProperties (read)
middleCPosition(number)The place of the middle C, measured in half staff-spaces. Usually determined by looking at
middleCClefPositionandmiddleCOffset.This engraver creates the following layout object(s):
Rest.Rhythmic_column_engraverGenerate
NoteColumn, an object that groups stems, note heads, and rests.This engraver creates the following layout object(s):
NoteColumn.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):
ScriptColumn.Script_engraverHandle note scripted articulations.
Music types accepted:
articulation-eventProperties (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.Slash_repeat_engraverMake beat repeats.
Music types accepted:
repeat-slash-eventThis engraver creates the following layout object(s):
DoubleRepeatSlashandRepeatSlash.Slur_engraverBuild slur grobs from slur events.
Music types accepted:
note-eventandslur-eventProperties (read)
doubleSlurs(boolean)If set, two slurs are created for every slurred note, one above and one below the chord.
slurMelismaBusy(boolean)Signal if a slur is present.
This engraver creates the following layout object(s):
Slur.Spanner_break_forbid_engraverForbid breaks in certain spanners.
Stem_engraverCreate stems, flags and single-stem tremolos. It also works together with the beam engraver for overriding beaming.
Music types accepted:
tremolo-eventProperties (read)
currentBarLine(graphical (layout) object)Set to the
BarLinethatBar_engraverhas created in the current time step.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):
Flag,Stem,StemStubandStemTremolo.Text_engraverCreate text scripts.
Music types accepted:
text-script-eventThis engraver creates the following layout object(s):
TextScript.Text_spanner_engraverCreate text spanner from an event.
Music types accepted:
text-span-eventProperties (read)
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
TextSpanner.Tie_engraverGenerate ties between note heads of equal pitch.
Music types accepted:
tie-eventProperties (read)
skipTypesetting(boolean)If true, no typesetting is done, speeding up the interpretation phase. Useful for debugging large scores.
tieWaitForNote(boolean)If true, tied notes do not have to follow each other directly. This can be used for writing out arpeggios.
Properties (write)
tieMelismaBusy(boolean)Signal whether a tie is present.
This engraver creates the following layout object(s):
TieandTieColumn.Toe_heel_engraverRead the
toeHeelStylecontext property and use it to style\rtoeand its siblings, based on the data in thetoe-heel-stylesalist.Music types accepted:
articulation-eventProperties (read)
toeHeelStyle(symbol)The style for the glyph shape and behavior of
\rtoeand siblings. Possible values aredefault,standard,reversed,circleheels, andbelow. If not set (the default), use valuedefault.Trill_spanner_engraverCreate trill spanners.
Music types accepted:
trill-span-eventProperties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
TrillSpanner.Tuplet_engraverCatch tuplet events and generate appropriate bracket.
Music types accepted:
tuplet-span-eventProperties (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):
TupletBracketandTupletNumber.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < KievanVoice ] | [ Up: Contexts ] | [ MensuralStaff > ] |
2.1.21 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, VerticalAxisGroup and VowelTransition.
This context sets the following properties:
- Set context property
instrumentNameto'(). - Set context property
lyricRepeatCountFormatterto#<procedure at lily/translation-functions.scm:218:4 (context repeat-count)>. - Set context property
searchForVoiceto#f. - Set context property
shortInstrumentNameto'(). - Set grob property
bar-extentinBarLineto :'(-0.05 . 0.05)
- Set grob property
font-sizeinInstrumentNameto1.0. - Set grob property
nonstaff-nonstaff-spacinginVerticalAxisGroupto :'((basic-distance . 0) (minimum-distance . 2.8) (padding . 0.2) (stretchability . 0))
- Set grob property
nonstaff-relatedstaff-spacinginVerticalAxisGroupto :'((basic-distance . 5.5) (padding . 0.5) (stretchability . 1))
- Set grob property
nonstaff-unrelatedstaff-spacing.paddinginVerticalAxisGroupto1.5. - Set grob property
remove-emptyinVerticalAxisGroupto#t. - Set grob property
remove-firstinVerticalAxisGroupto#t. - Set grob property
self-alignment-YinInstrumentNameto#f. - Set grob property
short-bar-extentinBarLineto :'(-0.05 . 0.05)
- Set grob property
staff-affinityinVerticalAxisGroupto1.
This is a ‘Bottom’ context; no contexts will be created implicitly from it.
This context cannot contain other contexts.
This context is built from the following engraver(s):
Axis_group_engraverGroup all objects created in this context in a
VerticalAxisGroupspanner.Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
hasAxisGroup(boolean)True if the current context is contained in an axis group.
keepAliveInterfaces(list)A list of symbols, signifying grob interfaces that are worth keeping a staff with
remove-emptyset around for.Properties (write)
hasAxisGroup(boolean)True if the current context is contained in an axis group.
This engraver creates the following layout object(s):
VerticalAxisGroup.Extender_engraverCreate lyric extenders.
Music types accepted:
completize-extender-event,extender-event,hyphen-eventandlyric-eventProperties (read)
autoExtenders(boolean)Create lyric extenders automatically for syllables in melismata that are not followed by a hyphen.
extendersOverRests(boolean)Whether to continue extenders as they cross a rest.
This engraver creates the following layout object(s):
LyricExtender.Font_size_engraverPut
fontSizeintofont-sizegrob property.Properties (read)
fontSize(number)The relative size of all grobs in a context.
Hyphen_engraverCreate lyric hyphens, vowel transitions and distance constraints between words.
Music types accepted:
hyphen-eventandvowel-transition-eventThis engraver creates the following layout object(s):
LyricHyphen,LyricSpaceandVowelTransition.Instrument_name_engraverCreate a system start text for instrument or vocal names.
Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
instrumentName(markup)The name to print left of a staff. The
instrumentNameproperty labels the staff in the first system, and theshortInstrumentNameproperty labels following lines.shortInstrumentName(markup)See
instrumentName.shortVocalName(markup)Name of a vocal line, short version.
vocalName(markup)Name of a vocal line.
This engraver creates the following layout object(s):
InstrumentName.Lyric_engraverEngrave text for lyrics.
Music types accepted:
lyric-eventProperties (read)
ignoreMelismata(boolean)Ignore melismata for this Lyrics line.
lyricMelismaAlignment(number)Alignment to use for a melisma syllable.
searchForVoice(boolean)Signal whether a search should be made of all contexts in the context hierarchy for a voice to provide rhythms for the lyrics.
This engraver creates the following layout object(s):
LyricText.Pure_from_neighbor_engraverCoordinates items that get their pure heights from their neighbors.
Stanza_number_engraverEngrave stanza numbers.
Properties (read)
stanzaReminders(boolean)Whether to print stanza reminders.
stanzaReminderText(procedure-or-markup)The text for stanza reminders, or a procedure that generates the reminder text when given the full current stanza number markup.
This engraver creates the following layout object(s):
StanzaNumber.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Lyrics ] | [ Up: Contexts ] | [ MensuralVoice > ] |
2.1.22 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):
Accidental, AccidentalCautionary, AccidentalPlacement, AccidentalSuggestion, BarLine, BassFigure, BassFigureAlignment, BassFigureAlignmentPositioning, BassFigureBracket, BassFigureContinuation, BassFigureLine, BreathingSign, CaesuraScript, Clef, ClefModifier, CueClef, CueEndClef, Custos, DotColumn, FingeringColumn, InstrumentName, KeyCancellation, KeySignature, LedgerLineSpanner, NoteCollision, OptionalMaterialBracket, OttavaBracket, PianoPedalBracket, RestCollision, ScriptColumn, ScriptRow, SignumRepetitionis, SostenutoPedal, SostenutoPedalLineSpanner, StaffEllipsis, StaffHighlight, StaffSpacing, StaffSymbol, SustainPedal, SustainPedalLineSpanner, TimeSignature, UnaCordaPedal, UnaCordaPedalLineSpanner and VerticalAxisGroup.
This context sets the following properties:
- Set context property
alterationGlyphsto:'((-1/2 . "accidentals.mensuralM1") (0 . "accidentals.vaticana0") (1/2 . "accidentals.mensural1"))
- Set context property
autoAccidentalsto:'(Staff #<procedure at lily/music-functions.scm:1794:0 (context pitch barnum)>)
- Set context property
autoCautionariesto'(). - Set context property
caesuraTypeto:'((bar-line . "|"))
- Set context property
clefGlyphto"clefs.mensural.g". - Set context property
clefPositionto-2. - Set context property
clefTranspositionto0. - Set context property
createSpacingto#t. - Set context property
doubleRepeatBarTypeto'(). - Set context property
doubleRepeatSegnoBarTypeto"S". - Set context property
endRepeatBarTypeto'(). - Set context property
endRepeatSegnoBarTypeto"S". - Set context property
extraNaturalto#f. - Set context property
fineSegnoBarTypeto"|.S". - Set context property
fineStartRepeatSegnoBarTypeto"|.S". - Set context property
forbidBreakBetweenBarLinesto#f. - Set context property
ignoreFiguredBassRestto#f. - Set context property
instrumentNameto'(). - Set context property
localAlterationsto'(). - Set context property
measureBarTypeto'(). - Set context property
middleCClefPositionto-6. - Set context property
middleCPositionto-6. - Set context property
ottavationMarkupsto:'((4 . "29") (3 . "22") (2 . "15") (1 . "8") (-1 . "8") (-2 . "15") (-3 . "22") (-4 . "29"))
- Set context property
printKeyCancellationto#f. - Set context property
segnoBarTypeto"S". - Set context property
shortInstrumentNameto'(). - Set context property
startRepeatBarTypeto"|". - Set context property
startRepeatSegnoBarTypeto"S". - Set context property
submeasureBarTypeto'(). - Set context property
underlyingRepeatBarTypeto'(). - Set grob property
hair-thicknessinBarLineto0.6. - Set grob property
neutral-directioninCustosto-1. - Set grob property
neutral-positioninCustosto3. - Set grob property
styleinCustosto'mensural. - Set grob property
styleinTimeSignatureto'mensural. - Set grob property
thick-thicknessinBarLineto1.8. - Set grob property
thicknessinStaffSymbolto0.6.
This is not a ‘Bottom’ context; search for such a one will commence after creating an implicit context of type MensuralVoice.
Context MensuralStaff can contain
CueVoice, MensuralVoice and NullVoice.
This context is built from the following engraver(s):
Accidental_engraverMake accidentals. Catch note heads, ties and notices key-change events. This engraver usually lives at Staff level, but reads the settings for Accidental at
Voicelevel, so you can\overridethem atVoice.Properties (read)
accidentalGrouping(symbol)If set to
'voice, accidentals on the same note in different octaves may be horizontally staggered if in different voices.autoAccidentals(list)List of different ways to typeset an accidental.
For determining when to print an accidental, several different rules are tried. The rule that gives the highest number of accidentals is used.
Each entry in the list is either a symbol or a procedure.
- symbol
The symbol is the name of the context in which the following rules are to be applied. For example, if context is 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.
The procedure returns a pair of Booleans. The first states whether an extra natural should be added. The second states whether an accidental should be printed.
(#t . #f)does not make sense.autoCautionaries(list)List similar to
autoAccidentals, but it controls cautionary accidentals rather than normal ones. Both lists are tried, and the one giving the most accidentals wins. In case of draw, a normal accidental is typeset.extraNatural(boolean)Whether to typeset an extra natural sign before accidentals that reduce the effect of a previous alteration.
harmonicAccidentals(boolean)If set, harmonic notes in chords get accidentals.
internalBarNumber(integer)Contains the current bar number. This property is used for internal timekeeping, among others by the
Accidental_engraver.keyAlterations(list)The current key signature. This is an alist containing
(step . alter)or((octave . step) . alter), where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.,keyAlterations = #`((6 . ,FLAT)).localAlterations(list)The key signature at this point in the measure. The format is the same as for
keyAlterations, but can also contain((octave . name) . (alter barnumber . measureposition))pairs.Properties (write)
localAlterations(list)The key signature at this point in the measure. The format is the same as for
keyAlterations, but can also contain((octave . name) . (alter barnumber . measureposition))pairs.This engraver creates the following layout object(s):
Accidental,AccidentalCautionary,AccidentalPlacementandAccidentalSuggestion.Alteration_glyph_engraverSet the
glyph-name-alistof all grobs having theaccidental-switch-interfaceto the value of the context’salterationGlyphsproperty, when defined.Properties (read)
alterationGlyphs(list)Alist mapping alterations to accidental glyphs. Alterations are given as exact numbers, e.g., -1/2 for flat. This applies to all grobs that can print accidentals.
Apply_output_engraverApply a procedure to any grob acknowledged.
Music types accepted:
apply-output-eventAxis_group_engraverGroup all objects created in this context in a
VerticalAxisGroupspanner.Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
hasAxisGroup(boolean)True if the current context is contained in an axis group.
keepAliveInterfaces(list)A list of symbols, signifying grob interfaces that are worth keeping a staff with
remove-emptyset around for.Properties (write)
hasAxisGroup(boolean)True if the current context is contained in an axis group.
This engraver creates the following layout object(s):
VerticalAxisGroup.Bar_engraverCreate bar lines for various commands, including
\\bar.If
forbidBreakBetweenBarLinesis true, allow line breaks at bar lines only.Music types accepted:
ad-hoc-jump-event,caesura-event,coda-mark-event,dal-segno-event,fine-event,section-eventandsegno-mark-eventProperties (read)
caesuraType(list)An alist
((bar-line . bar-type) (breath . breath-type) (scripts . script-type...) (underlying-bar-line . bar-type))specifying which breath mark, bar line, and scripts to create at
\caesura. All entries are optional.
bar-linehas higher priority than a measure bar line andunderlying-bar-linehas lower priority than a measure bar line.caesuraTypeTransform(procedure)An engraver callback taking three arguments and returning an alist of the same kind as
caesuraType.The first argument is the context.
The second argument is the value of
caesuraTypewith an additional entry(articulations . symbol-list)identifying the articulations attached to the caesura in the music. If the transform function returns this second argument unmodified, it is as if no transform function were set; the function is free to return a different value. The transform function can remove articulations, but any added articulations are ignored.The third argument is a symbol-list identifying certain things the engraver has observed.
bar-lineindicates that the engraver has observed aBarLineat the current moment.doubleRepeatBarType(string)Bar line to insert where the end of one
\repeat voltacoincides with the start of another. The default is ‘:..:’.doubleRepeatSegnoBarType(string)Bar line to insert where an in-staff segno coincides with the end of one
\repeat voltaand the beginning of another. The default is ‘:|.S.|:’.endRepeatBarType(string)Bar line to insert at the end of a
\repeat volta. The default is ‘:|.’.endRepeatSegnoBarType(string)Bar line to insert where an in-staff segno coincides with the end of a
\repeat volta. The default is ‘:|.S’.fineBarType(string)Bar line to insert at
\fine. Where there is also a repeat bar line, the repeat bar line takes precedence and this value is appended to it as an annotation. The default is ‘|.’.fineSegnoBarType(string)Bar line to insert where an in-staff segno coincides with
\fine. The default is ‘|.S’.fineStartRepeatSegnoBarType(string)Bar line to insert where an in-staff segno coincides with
\fineand the start of a\repeat volta. The default is ‘|.S.|:’.forbidBreakBetweenBarLines(boolean)If set to
#t,Bar_engraverforbids line breaks where there is no bar line.measureBarType(string)Bar line to insert at a measure boundary.
printInitialRepeatBar(boolean)Use a special bar line at the start of a volta repeat even at the beginning of the piece.
printTrivialVoltaRepeats(boolean)Notate volta-style repeats even when the repeat count is 1.
repeatCommands(list)A list of commands related to volta-style repeats. In general, each element is a list,
'(command args…), but a command with no arguments may be abbreviated to a symbol; e.g.,'((start-repeat))may be given as'(start-repeat).
end-repeat return-countEnd a repeated section. return-count is the number of times to go back from this point to the beginning of the section.
start-repeat repeat-countStart a repeated section. repeat-count is the number of times to perform this section.
volta textIf text is markup, start a volta bracket with that label; if text is
#f, end a volta bracket.sectionBarType(string)Bar line to insert at
\section. Where there is also a repeat bar line, the repeat bar line takes precedence and this value is appended to it as an annotation. The default is ‘||’.segnoBarType(string)Bar line to insert at an in-staff segno. The default is ‘S’.
segnoStyle(symbol)A symbol that indicates how to print a segno:
bar-lineormark.startRepeatBarType(string)Bar line to insert at the start of a
\repeat volta. The default is ‘.|:’.startRepeatSegnoBarType(string)Bar line to insert where an in-staff segno coincides with the start of a
\repeat volta. The default is ‘S.|:’.submeasureBarsEnabled(boolean)Whether to insert submeasure bar lines at boundaries specified by
submeasureStructure. They are typically enabled selectively to clarify complex rhythms.submeasureBarType(string)Bar line to insert at submeasure boundaries specified by
submeasureStructure, whensubmeasureBarsEnabledallows.submeasureStructure(number list)A sequence describing subdivisions of a measure. Each element tells the distance from the previous division in units of
beatBase.underlyingRepeatBarType(string)Bar line to insert at points of repetition or departure where no bar line would normally appear, for example at the end of a system broken in mid measure where the next system begins with a segno. Where there is also a repeat bar line, the repeat bar line takes precedence and this value is appended to it as an annotation. The default is ‘||’.
whichBar(string)The current bar line type, or
'()if there is no bar line. Setting this explicitly in user code is deprecated. Use\baror related commands to set it.Properties (write)
currentBarLine(graphical (layout) object)Set to the
BarLinethatBar_engraverhas created in the current time step.forbidBreak(boolean)If set to
#t, prevent a line break at this point, except if explicitly requested by the user.This engraver creates the following layout object(s):
BarLine.Caesura_engraverNotate a short break in sound that does not shorten the previous note.
Depending on the result of passing the value of
caesuraTypethroughcaesuraTypeTransform, this engraver may create aBreathingSignwithCaesuraScriptgrobs aligned to it, or it may createCaesuraScriptgrobs and align them to aBarLine.If this engraver observes a
BarLine, it callscaesuraTypeTransformagain with the new information, and if necessary, recreates its grobs.Music types accepted:
caesura-eventProperties (read)
breathMarkDefinitions(list)The description of breath marks. This is used by the
Breathing_sign_engraver. See scm/breath.scm for more information.caesuraType(list)An alist
((bar-line . bar-type) (breath . breath-type) (scripts . script-type...) (underlying-bar-line . bar-type))specifying which breath mark, bar line, and scripts to create at
\caesura. All entries are optional.
bar-linehas higher priority than a measure bar line andunderlying-bar-linehas lower priority than a measure bar line.caesuraTypeTransform(procedure)An engraver callback taking three arguments and returning an alist of the same kind as
caesuraType.The first argument is the context.
The second argument is the value of
caesuraTypewith an additional entry(articulations . symbol-list)identifying the articulations attached to the caesura in the music. If the transform function returns this second argument unmodified, it is as if no transform function were set; the function is free to return a different value. The transform function can remove articulations, but any added articulations are ignored.The third argument is a symbol-list identifying certain things the engraver has observed.
bar-lineindicates that the engraver has observed aBarLineat the current moment.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):
BreathingSignandCaesuraScript.Clef_engraverDetermine and set reference point for pitches.
Properties (read)
clefGlyph(string)Name of the symbol within the music font.
clefPosition(number)Where should the center of the clef symbol go, measured in half staff spaces from the center of the staff.
clefTransposition(integer)Add this much extra transposition to a clef. Values of 7 and -7 are common.
clefTranspositionStyle(symbol)Determines the way the
ClefModifiergrob of a clef is displayed. Possible values are'default,'parenthesized, and'bracketed.explicitClefVisibility(vector)‘break-visibility’ function for clef changes.
forbidBreak(boolean)If set to
#t, prevent a line break at this point, except if explicitly requested by the user.forceBreak(boolean)Set to
#twhen an event forcing a line break was heard.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):
ClefandClefModifier.Collision_engraverCollect
NoteColumns, and as soon as there are two or more, put them in aNoteCollisionobject.This engraver creates the following layout object(s):
NoteCollision.Cue_clef_engraverDetermine and set reference point for pitches in cued voices.
Properties (read)
clefTransposition(integer)Add this much extra transposition to a clef. Values of 7 and -7 are common.
cueClefGlyph(string)Name of the symbol within the music font.
cueClefPosition(number)Where should the center of the clef symbol go, measured in half staff spaces from the center of the staff.
cueClefTransposition(integer)Add this much extra transposition to a cue clef. Values of 7 and -7 are common.
cueClefTranspositionStyle(symbol)Determines the way the
ClefModifiergrob of a cue clef is displayed. Possible values are'default,'parenthesized, and'bracketed.explicitCueClefVisibility(vector)‘break-visibility’ function for cue clef changes.
forbidBreak(boolean)If set to
#t, prevent a line break at this point, except if explicitly requested by the user.forceBreak(boolean)Set to
#twhen an event forcing a line break was heard.middleCCuePosition(number)The position of the middle C, as determined only by the clef of the cue notes. This can be calculated by looking at
cueClefPositionandcueClefGlyph.This engraver creates the following layout object(s):
ClefModifier,CueClefandCueEndClef.Custos_engraverEngrave custodes.
Properties (read)
forbidBreak(boolean)If set to
#t, prevent a line break at this point, except if explicitly requested by the user.forceBreak(boolean)Set to
#twhen an event forcing a line break was heard.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):
Custos.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):
DotColumn.Figured_bass_engraverMake figured bass numbers.
Music types accepted:
bass-figure-eventandrest-eventProperties (read)
figuredBassAlterationDirection(direction)Where to put alterations relative to the main figure.
figuredBassCenterContinuations(boolean)Whether to vertically center pairs of extender lines. This does not work with three or more lines.
figuredBassFormatter(procedure)A routine generating a markup for a bass figure.
ignoreFiguredBassRest(boolean)Don’t swallow rest events.
implicitBassFigures(list)A list of bass figures that are not printed as numbers, but only as extender lines.
useBassFigureExtenders(boolean)Whether to use extender lines for repeated bass figures.
This engraver creates the following layout object(s):
BassFigure,BassFigureAlignment,BassFigureBracket,BassFigureContinuationandBassFigureLine.Figured_bass_position_engraverPosition figured bass alignments over notes.
This engraver creates the following layout object(s):
BassFigureAlignmentPositioning.Fingering_column_engraverFind potentially colliding scripts and put them into a
FingeringColumnobject; that will fix the collisions.This engraver creates the following layout object(s):
FingeringColumn.Font_size_engraverPut
fontSizeintofont-sizegrob property.Properties (read)
fontSize(number)The relative size of all grobs in a context.
Grob_pq_engraverAdministrate when certain grobs (e.g., note heads) stop playing.
Properties (read)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g., note heads, spanners, etc.).Properties (write)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g., note heads, spanners, etc.).Horizontal_script_engraverAligns
ScripthorizontallyInstrument_name_engraverCreate a system start text for instrument or vocal names.
Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
instrumentName(markup)The name to print left of a staff. The
instrumentNameproperty labels the staff in the first system, and theshortInstrumentNameproperty labels following lines.shortInstrumentName(markup)See
instrumentName.shortVocalName(markup)Name of a vocal line, short version.
vocalName(markup)Name of a vocal line.
This engraver creates the following layout object(s):
InstrumentName.Key_engraverEngrave a key signature.
Music types accepted:
key-change-eventProperties (read)
createKeyOnClefChange(boolean)Print a key signature whenever the clef is changed.
explicitKeySignatureVisibility(vector)‘break-visibility’ function for explicit key changes. ‘\override’ of the
break-visibilityproperty will set the visibility for normal (i.e., at the start of the line) key signatures.extraNatural(boolean)Whether to typeset an extra natural sign before accidentals that reduce the effect of a previous alteration.
forbidBreak(boolean)If set to
#t, prevent a line break at this point, except if explicitly requested by the user.forceBreak(boolean)Set to
#twhen an event forcing a line break was heard.keyAlterationOrder(list)A list of pairs that defines in what order alterations should be printed. The format of an entry is
(step . alter), where step is a number from 0 to 6 and alter from -1 (double flat) to 1 (double sharp), with exact rationals for alterations in between, e.g., 1/2 for sharp.keyAlterations(list)The current key signature. This is an alist containing
(step . alter)or((octave . step) . alter), where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.,keyAlterations = #`((6 . ,FLAT)).lastKeyAlterations(list)Last key signature before a key signature change.
middleCClefPosition(number)The position of the middle C, as determined only by the clef. This can be calculated by looking at
clefPositionandclefGlyph.printKeyCancellation(boolean)Print restoration alterations before a key signature change.
Properties (write)
keyAlterations(list)The current key signature. This is an alist containing
(step . alter)or((octave . step) . alter), where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.,keyAlterations = #`((6 . ,FLAT)).lastKeyAlterations(list)Last key signature before a key signature change.
tonic(pitch)The tonic of the current scale.
This engraver creates the following layout object(s):
KeyCancellationandKeySignature.Ledger_line_engraverCreate the spanner to draw ledger lines, and notices objects that need ledger lines.
This engraver creates the following layout object(s):
LedgerLineSpanner.Merge_mmrest_numbers_engraverEngraver to merge multi-measure rest numbers in multiple voices.
This works by gathering all multi-measure rest numbers at a time step. If they all have the same text and there are at least two only the first one is retained and the others are hidden.
Non_musical_script_column_engraverFind potentially colliding non-musical scripts and put them into a
ScriptColumnobject; that will fix the collisions.This engraver creates the following layout object(s):
ScriptColumn.Optional_material_bracket_engraverNotate in-staff brackets for optional material.
Music types accepted:
optional-material-eventThis engraver creates the following layout object(s):
OptionalMaterialBracket.Ottava_spanner_engraverCreate a text spanner when the ottavation property changes.
Music types accepted:
ottava-eventProperties (read)
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
middleCOffset(number)The offset of middle C from the position given by
middleCClefPositionThis is used for ottava brackets.ottavation(markup)If set, the text for an ottava spanner. Changing this creates a new text spanner.
This engraver creates the following layout object(s):
OttavaBracket.Piano_pedal_align_engraverAlign piano pedal symbols and brackets.
Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
This engraver creates the following layout object(s):
SostenutoPedalLineSpanner,SustainPedalLineSpannerandUnaCordaPedalLineSpanner.Piano_pedal_engraverEngrave piano pedal symbols and brackets.
Music types accepted:
sostenuto-event,sustain-eventanduna-corda-eventProperties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
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,SustainPedalandUnaCordaPedal.Pure_from_neighbor_engraverCoordinates items that get their pure heights from their neighbors.
Rest_collision_engraverHandle collisions of rests.
Properties (read)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g., note heads, spanners, etc.).This engraver creates the following layout object(s):
RestCollision.Script_row_engraverDetermine order in horizontal side position elements.
This engraver creates the following layout object(s):
ScriptRow.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
currentCommandColumncontains items that will affect spacing.This engraver creates the following layout object(s):
StaffSpacing.Signum_repetitionis_engraverCreate a
SignumRepetitionisat the end of a\repeat voltasection.Music types accepted:
volta-repeat-end-eventThis engraver creates the following layout object(s):
SignumRepetitionis.Skip_typesetting_engraverCreate a
StaffEllipsiswhenskipTypesettingis used.Properties (read)
skipTypesetting(boolean)If true, no typesetting is done, speeding up the interpretation phase. Useful for debugging large scores.
This engraver creates the following layout object(s):
StaffEllipsis.Staff_collecting_engraverMaintain the
stavesFoundvariable.Properties (read)
stavesFound(list of grobs)A list of all staff-symbols found.
Properties (write)
stavesFound(list of grobs)A list of all staff-symbols found.
Staff_highlight_engraverHighlights music passages.
Music types accepted:
staff-highlight-eventProperties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
This engraver creates the following layout object(s):
StaffHighlight.Staff_symbol_engraverCreate the constellation of five (default) staff lines.
Music types accepted:
staff-span-eventThis engraver creates the following layout object(s):
StaffSymbol.Time_signature_engraverCreate a
TimeSignaturewhenevertimeSignaturechanges.Music types accepted:
polymetric-time-signature-eventandreference-time-signature-eventProperties (read)
initialTimeSignatureVisibility(vector)break visibility for the initial time signature.
partialBusy(boolean)Signal that \partial acts at the current time step.
timeSignature(time signature)A time-signature specification. See the
\timecommand.This engraver creates the following layout object(s):
TimeSignature.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < MensuralStaff ] | [ Up: Contexts ] | [ NoteNames > ] |
2.1.23 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):
ApproximatePitchNoteHead, Arpeggio, Beam, BendAfter, BreathingSign, ChordBracket, ChordSlur, ClusterSpanner, ClusterSpannerBeacon, CombineTextScript, Dots, DoublePercentRepeat, DoublePercentRepeatCounter, DoubleRepeatSlash, DynamicLineSpanner, DynamicText, DynamicTextSpanner, FingerGlideSpanner, Fingering, Flag, Glissando, Hairpin, InstrumentSwitch, LaissezVibrerTie, LaissezVibrerTieColumn, MensuralLigature, MultiMeasureRest, MultiMeasureRestNumber, MultiMeasureRestScript, MultiMeasureRestText, NoteColumn, NoteHead, NoteSpacing, PercentRepeat, PercentRepeatCounter, PhrasingSlur, RepeatSlash, RepeatTie, RepeatTieColumn, Rest, Script, ScriptColumn, Stem, StemStub, StemTremolo, StringNumber, StrokeFinger, TextScript, TextSpanner, Tie, TieColumn, TrillPitchAccidental, TrillPitchGroup, TrillPitchHead, TrillPitchParentheses, TrillSpanner, TupletBracket, TupletNumber and VoiceFollower.
This context sets the following properties:
This is a ‘Bottom’ context; no contexts will be created implicitly from it.
This context cannot contain other contexts.
This context is built from the following engraver(s):
Apply_output_engraverApply a procedure to any grob acknowledged.
Music types accepted:
apply-output-eventArpeggio_engraverCreate arpeggiato and non-arpeggiato symbols.
Music types accepted:
arpeggio-event,chord-slur-eventandnon-arpeggiato-eventThis engraver creates the following layout object(s):
Arpeggio,ChordBracketandChordSlur.Auto_beam_engraverGenerate beams based on measure characteristics and observed Stems. Uses
beatBase,beatStructure,beamExceptions,measureLength, andmeasurePositionto decide when to start and stop a beam. Overriding beaming is done throughStem_engraverpropertiesstemLeftBeamCountandstemRightBeamCount.Music types accepted:
beam-break-eventandbeam-forbid-eventProperties (read)
autoBeaming(boolean)If set to
#tthen beams are generated automatically. If set to#f, auto-beaming is switched off as soon as the current beam (if any) is finished according to the auto-beaming rules.beamExceptions(list)An alist of exceptions to auto-beam rules that normally end on beats.
beamHalfMeasure(boolean)Whether to allow a beam to begin halfway through the measure in triple time, which could look like 6/8.
beatBase(positive exact rational or +inf.0)The musical length corresponding to one unit of
beatStructure.beatStructure(number list)A sequence describing the length of each beat in the measure in units of
beatBase.subdivideBeams(boolean)If set, beams of multiple stems may be subdivided by omitting a number of beamlets, dependent on
beamMaximumSubdivision, between beats at multiples ofbeamMinimumSubdivision.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:
beam-eventProperties (read)
beamMelismaBusy(boolean)Signal if a beam is present.
beatBase(positive exact rational or +inf.0)The musical length corresponding to one unit of
beatStructure.beatStructure(number list)A sequence describing the length of each beat in the measure in units of
beatBase.subdivideBeams(boolean)If set, beams of multiple stems may be subdivided by omitting a number of beamlets, dependent on
beamMaximumSubdivision, between beats at multiples ofbeamMinimumSubdivision.This engraver creates the following layout object(s):
Beam.Bend_engraverCreate fall spanners.
Music types accepted:
bend-after-eventProperties (read)
currentBarLine(graphical (layout) object)Set to the
BarLinethatBar_engraverhas created in the current time step.currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
BendAfter.Breathing_sign_engraverNotate breath marks.
Music types accepted:
breathing-eventProperties (read)
breathMarkType(symbol)The type of
BreathingSignto create at\breathe.This engraver creates the following layout object(s):
BreathingSign.Chord_tremolo_engraverGenerate beams for tremolo repeats.
Music types accepted:
tremolo-span-eventThis engraver creates the following layout object(s):
Beam.Cluster_spanner_engraverEngrave a cluster using
Spannernotation.Music types accepted:
cluster-note-eventThis engraver creates the following layout object(s):
ClusterSpannerandClusterSpannerBeacon.Dots_engraverCreate
Dotsobjects forrhythmic-head-interfaces.This engraver creates the following layout object(s):
Dots.Double_percent_repeat_engraverMake double measure repeats.
Music types accepted:
double-percent-eventProperties (read)
countPercentRepeats(boolean)If set, produce counters for percent repeats.
measureLength(positive exact rational or +inf.0)The musical length of the current measure.
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, except if explicitly requested by the user.This engraver creates the following layout object(s):
DoublePercentRepeatandDoublePercentRepeatCounter.Dynamic_align_engraverAlign hairpins and dynamic texts on a horizontal line.
Properties (read)
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
DynamicLineSpanner.Dynamic_engraverCreate hairpins, dynamic texts and dynamic text spanners.
Music types accepted:
absolute-dynamic-event,break-dynamic-span-eventandspan-dynamic-eventProperties (read)
crescendoSpanner(symbol)The type of spanner to be used for crescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin crescendo is used.
crescendoText(markup)The text to print at start of non-hairpin crescendo, i.e., ‘cresc.’.
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
decrescendoSpanner(symbol)The type of spanner to be used for decrescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin decrescendo is used.
decrescendoText(markup)The text to print at start of non-hairpin decrescendo, i.e., ‘dim.’.
This engraver creates the following layout object(s):
DynamicText,DynamicTextSpannerandHairpin.Finger_glide_engraverEngraver to print a line between two
Fingering,StringNumberorStrokeFingergrobs.Music types accepted:
note-eventThis engraver creates the following layout object(s):
FingerGlideSpanner.Fingering_engraverCreate fingering scripts.
Music types accepted:
fingering-eventThis engraver creates the following layout object(s):
Fingering.Font_size_engraverPut
fontSizeintofont-sizegrob property.Properties (read)
fontSize(number)The relative size of all grobs in a context.
Forbid_line_break_engraverForbid line breaks when note heads are still playing at some point.
Properties (read)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g., note heads, spanners, etc.).Properties (write)
forbidBreak(boolean)If set to
#t, prevent a line break at this point, except if explicitly requested by the user.Glissando_engraverEngrave glissandi.
Music types accepted:
glissando-eventProperties (read)
glissandoMap(list)A map in the form of
'((source1 . target1) (source2 . target2) ... (sourcen . targetn)), showing the glissandi to be drawn for note columns. The value'()defaults to'((0 . 0) (1 . 1) ... (n . n)), where n is the minimum number of note heads in the two note columns between which the glissandi occur.This engraver creates the following layout object(s):
Glissando.Grace_auto_beam_engraverGenerates one autobeam group across an entire grace phrase. As usual, any manual beaming or
\noBeamwill block autobeaming, just like setting the context property ‘autoBeaming’ to##f.Music types accepted:
beam-break-eventandbeam-forbid-eventProperties (read)
autoBeaming(boolean)If set to
#tthen beams are generated automatically. If set to#f, auto-beaming is switched off as soon as the current beam (if any) is finished according to the auto-beaming rules.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:
beam-eventProperties (read)
beamMelismaBusy(boolean)Signal if a beam is present.
beatBase(positive exact rational or +inf.0)The musical length corresponding to one unit of
beatStructure.beatStructure(number list)A sequence describing the length of each beat in the measure in units of
beatBase.subdivideBeams(boolean)If set, beams of multiple stems may be subdivided by omitting a number of beamlets, dependent on
beamMaximumSubdivision, between beats at multiples ofbeamMinimumSubdivision.This engraver creates the following layout object(s):
Beam.Grace_engraverSet font size and other properties for grace notes.
Properties (read)
graceSettings(list)Overrides for grace notes. This property should be manipulated through the
add-grace-propertyfunction.Grob_pq_engraverAdministrate when certain grobs (e.g., note heads) stop playing.
Properties (read)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g., note heads, spanners, etc.).Properties (write)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g., note heads, spanners, etc.).Instrument_switch_engraverCreate a cue text for taking instrument.
This engraver is deprecated.
Properties (read)
instrumentCueName(markup)The name to print if another instrument is to be taken.
This property is deprecated
This engraver creates the following layout object(s):
InstrumentSwitch.Laissez_vibrer_engraverCreate laissez vibrer items.
Music types accepted:
laissez-vibrer-eventThis engraver creates the following layout object(s):
LaissezVibrerTieandLaissezVibrerTieColumn.Mensural_ligature_engraverHandle
Mensural_ligature_eventsby glueing special ligature heads together.Music types accepted:
ligature-eventThis engraver creates the following layout object(s):
MensuralLigature.Multi_measure_rest_engraverEngrave multi-measure rests that are produced with ‘R’. It reads
measureStartNowandinternalBarNumberto determine what number to print over theMultiMeasureRest.Music types accepted:
multi-measure-articulation-event,multi-measure-rest-eventandmulti-measure-text-eventProperties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
internalBarNumber(integer)Contains the current bar number. This property is used for internal timekeeping, among others by the
Accidental_engraver.measureStartNow(boolean)True at the beginning of a measure.
restNumberThreshold(number)If a multi-measure rest has more measures than this, a number is printed.
This engraver creates the following layout object(s):
MultiMeasureRest,MultiMeasureRestNumber,MultiMeasureRestScriptandMultiMeasureRestText.New_fingering_engraverCreate fingering scripts for notes in a new chord. This engraver is ill-named, since it also takes care of articulations and harmonic note heads.
Properties (read)
fingeringOrientations(list)A list of symbols, containing ‘left’, ‘right’, ‘up’ and/or ‘down’. This list determines where fingerings are put relative to the chord being fingered.
harmonicDots(boolean)If set, harmonic notes in dotted chords get dots.
stringNumberOrientations(list)See
fingeringOrientations.strokeFingerOrientations(list)See
fingeringOrientations.This engraver creates the following layout object(s):
Fingering,Script,StringNumberandStrokeFinger.Note_head_line_engraverEngrave a line between two note heads in a staff switch if
followVoiceis set.Properties (read)
followVoice(boolean)If set, note heads are tracked across staff switches by a thin line.
This engraver creates the following layout object(s):
VoiceFollower.Note_heads_engraverGenerate note heads.
Music types accepted:
note-eventProperties (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):
ApproximatePitchNoteHeadandNoteHead.Note_spacing_engraverGenerate
NoteSpacing, an object linking horizontal lines for use in spacing.This engraver creates the following layout object(s):
NoteSpacing.Part_combine_engraverPart combine engraver for orchestral scores: Print markings ‘a2’, ‘Solo’, ‘Solo II’, and ‘unisono’.
Music types accepted:
note-eventandpart-combine-eventProperties (read)
aDueText(markup)Text to print at a unisono passage.
partCombineTextsOnNote(boolean)Print part-combine texts only on the next note rather than immediately on rests or skips.
printPartCombineTexts(boolean)Set ‘Solo’ and ‘A due’ texts in the part combiner?
soloIIText(markup)The text for the start of a solo for voice ‘two’ when part-combining.
soloText(markup)The text for the start of a solo when part-combining.
This engraver creates the following layout object(s):
CombineTextScript.Percent_repeat_engraverMake whole measure repeats.
Music types accepted:
percent-eventProperties (read)
countPercentRepeats(boolean)If set, produce counters for percent repeats.
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
repeatCountVisibility(procedure)A procedure taking as arguments an integer and context, returning whether the corresponding percent repeat number should be printed when
countPercentRepeatsis set.This engraver creates the following layout object(s):
PercentRepeatandPercentRepeatCounter.Phrasing_slur_engraverPrint phrasing slurs. Similar to
Slur_engraver.Music types accepted:
note-eventandphrasing-slur-eventThis engraver creates the following layout object(s):
PhrasingSlur.Pitched_trill_engraverPrint the bracketed note head after a note head with trill.
This engraver creates the following layout object(s):
TrillPitchAccidental,TrillPitchGroup,TrillPitchHeadandTrillPitchParentheses.Repeat_tie_engraverCreate repeat ties.
Music types accepted:
repeat-tie-eventThis engraver creates the following layout object(s):
RepeatTieandRepeatTieColumn.Rest_engraverEngrave rests.
Music types accepted:
rest-eventProperties (read)
middleCPosition(number)The place of the middle C, measured in half staff-spaces. Usually determined by looking at
middleCClefPositionandmiddleCOffset.This engraver creates the following layout object(s):
Rest.Rhythmic_column_engraverGenerate
NoteColumn, an object that groups stems, note heads, and rests.This engraver creates the following layout object(s):
NoteColumn.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):
ScriptColumn.Script_engraverHandle note scripted articulations.
Music types accepted:
articulation-eventProperties (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.Slash_repeat_engraverMake beat repeats.
Music types accepted:
repeat-slash-eventThis engraver creates the following layout object(s):
DoubleRepeatSlashandRepeatSlash.Spanner_break_forbid_engraverForbid breaks in certain spanners.
Stem_engraverCreate stems, flags and single-stem tremolos. It also works together with the beam engraver for overriding beaming.
Music types accepted:
tremolo-eventProperties (read)
currentBarLine(graphical (layout) object)Set to the
BarLinethatBar_engraverhas created in the current time step.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):
Flag,Stem,StemStubandStemTremolo.Text_engraverCreate text scripts.
Music types accepted:
text-script-eventThis engraver creates the following layout object(s):
TextScript.Text_spanner_engraverCreate text spanner from an event.
Music types accepted:
text-span-eventProperties (read)
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
TextSpanner.Tie_engraverGenerate ties between note heads of equal pitch.
Music types accepted:
tie-eventProperties (read)
skipTypesetting(boolean)If true, no typesetting is done, speeding up the interpretation phase. Useful for debugging large scores.
tieWaitForNote(boolean)If true, tied notes do not have to follow each other directly. This can be used for writing out arpeggios.
Properties (write)
tieMelismaBusy(boolean)Signal whether a tie is present.
This engraver creates the following layout object(s):
TieandTieColumn.Toe_heel_engraverRead the
toeHeelStylecontext property and use it to style\rtoeand its siblings, based on the data in thetoe-heel-stylesalist.Music types accepted:
articulation-eventProperties (read)
toeHeelStyle(symbol)The style for the glyph shape and behavior of
\rtoeand siblings. Possible values aredefault,standard,reversed,circleheels, andbelow. If not set (the default), use valuedefault.Trill_spanner_engraverCreate trill spanners.
Music types accepted:
trill-span-eventProperties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
TrillSpanner.Tuplet_engraverCatch tuplet events and generate appropriate bracket.
Music types accepted:
tuplet-span-eventProperties (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):
TupletBracketandTupletNumber.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < MensuralVoice ] | [ Up: Contexts ] | [ NullVoice > ] |
2.1.24 NoteNames ¶
Typesets note names.
This context also accepts commands for the following context(s):
Staff.
This context creates the following layout object(s):
NoteName, StaffSpacing, Tie, TieColumn and VerticalAxisGroup.
This context sets the following properties:
- Set grob property
nonstaff-nonstaff-spacinginVerticalAxisGroupto :'((basic-distance . 0) (minimum-distance . 2.8) (padding . 0.2) (stretchability . 0))
- Set grob property
nonstaff-relatedstaff-spacinginVerticalAxisGroupto :'((basic-distance . 5.5) (padding . 0.5) (stretchability . 1))
- Set grob property
nonstaff-unrelatedstaff-spacing.paddinginVerticalAxisGroupto1.5. - Set grob property
staff-affinityinVerticalAxisGroupto1.
This is a ‘Bottom’ context; no contexts will be created implicitly from it.
This context cannot contain other contexts.
This context is built from the following engraver(s):
Alteration_glyph_engraverSet the
glyph-name-alistof all grobs having theaccidental-switch-interfaceto the value of the context’salterationGlyphsproperty, when defined.Properties (read)
alterationGlyphs(list)Alist mapping alterations to accidental glyphs. Alterations are given as exact numbers, e.g., -1/2 for flat. This applies to all grobs that can print accidentals.
Axis_group_engraverGroup all objects created in this context in a
VerticalAxisGroupspanner.Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
hasAxisGroup(boolean)True if the current context is contained in an axis group.
keepAliveInterfaces(list)A list of symbols, signifying grob interfaces that are worth keeping a staff with
remove-emptyset around for.Properties (write)
hasAxisGroup(boolean)True if the current context is contained in an axis group.
This engraver creates the following layout object(s):
VerticalAxisGroup.Note_name_engraverPrint pitches as words.
Music types accepted:
note-eventProperties (read)
noteNameFunction(procedure)Function used to convert pitches into strings and markups.
noteNameSeparator(string)String used to separate simultaneous NoteName objects.
printAccidentalNames(boolean or symbol)Print accidentals in the
NoteNamescontext.printNotesLanguage(string)Use a specific language in the
NoteNamescontext.printOctaveNames(boolean or symbol)Print octave marks in the
NoteNamescontext.This engraver creates the following layout object(s):
NoteName.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
currentCommandColumncontains items that will affect spacing.This engraver creates the following layout object(s):
StaffSpacing.Tie_engraverGenerate ties between note heads of equal pitch.
Music types accepted:
tie-eventProperties (read)
skipTypesetting(boolean)If true, no typesetting is done, speeding up the interpretation phase. Useful for debugging large scores.
tieWaitForNote(boolean)If true, tied notes do not have to follow each other directly. This can be used for writing out arpeggios.
Properties (write)
tieMelismaBusy(boolean)Signal whether a tie is present.
This engraver creates the following layout object(s):
TieandTieColumn.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < NoteNames ] | [ Up: Contexts ] | [ OneStaff > ] |
2.1.25 NullVoice ¶
For aligning lyrics without printing notes.
This context also accepts commands for the following context(s):
Staff and Voice.
This context creates the following layout object(s):
ApproximatePitchNoteHead, Beam, NoteHead, Slur, Tie and TieColumn.
This context sets the following properties:
- Set context property
nullAccidentalsto#t. - Set context property
squashedPositionto0. - Set grob property
no-ledgersinNoteHeadto#t. - Set grob property
stencilinBeamto#f. - Set grob property
stencilinNoteHeadto#f. - Set grob property
stencilinSlurto#f. - Set grob property
stencilinTieto#f. - Set grob property
X-extentinNoteHeadto#<procedure at ice-9/eval.scm:333:13 (a)>.
This is a ‘Bottom’ context; no contexts will be created implicitly from it.
This context cannot contain other contexts.
This context is built from the following engraver(s):
Beam_engraverHandle
Beamevents by engraving beams. If omitted, then notes are printed with flags instead of beams.Music types accepted:
beam-eventProperties (read)
beamMelismaBusy(boolean)Signal if a beam is present.
beatBase(positive exact rational or +inf.0)The musical length corresponding to one unit of
beatStructure.beatStructure(number list)A sequence describing the length of each beat in the measure in units of
beatBase.subdivideBeams(boolean)If set, beams of multiple stems may be subdivided by omitting a number of beamlets, dependent on
beamMaximumSubdivision, between beats at multiples ofbeamMinimumSubdivision.This engraver creates the following layout object(s):
Beam.Grob_pq_engraverAdministrate when certain grobs (e.g., note heads) stop playing.
Properties (read)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g., note heads, spanners, etc.).Properties (write)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g., note heads, spanners, etc.).Note_heads_engraverGenerate note heads.
Music types accepted:
note-eventProperties (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):
ApproximatePitchNoteHeadandNoteHead.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.
Slur_engraverBuild slur grobs from slur events.
Music types accepted:
note-eventandslur-eventProperties (read)
doubleSlurs(boolean)If set, two slurs are created for every slurred note, one above and one below the chord.
slurMelismaBusy(boolean)Signal if a slur is present.
This engraver creates the following layout object(s):
Slur.Tie_engraverGenerate ties between note heads of equal pitch.
Music types accepted:
tie-eventProperties (read)
skipTypesetting(boolean)If true, no typesetting is done, speeding up the interpretation phase. Useful for debugging large scores.
tieWaitForNote(boolean)If true, tied notes do not have to follow each other directly. This can be used for writing out arpeggios.
Properties (write)
tieMelismaBusy(boolean)Signal whether a tie is present.
This engraver creates the following layout object(s):
TieandTieColumn.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < NullVoice ] | [ Up: Contexts ] | [ PetrucciStaff > ] |
2.1.26 OneStaff ¶
Provides a common axis for the contained staves,
making all of them appear in the same vertical space. This can be
useful for typesetting staves of different types in immediate succession
or for temporarily changing the character of one staff or overlaying
it with a different one. Often used with \stopStaff and
\startStaff for best results.
This context creates the following layout object(s):
VerticalAxisGroup.
This is not a ‘Bottom’ context; search for such a one will commence after creating an implicit context of type Staff.
Context OneStaff can contain
ChordNames, DrumStaff, Dynamics, FiguredBass, FretBoards, GregorianTranscriptionLyrics, GregorianTranscriptionStaff, KievanStaff, Lyrics, MensuralStaff, NoteNames, PetrucciStaff, RhythmicStaff, Staff, TabStaff, VaticanaLyrics and VaticanaStaff.
This context is built from the following engraver(s):
Axis_group_engraverGroup all objects created in this context in a
VerticalAxisGroupspanner.Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
hasAxisGroup(boolean)True if the current context is contained in an axis group.
keepAliveInterfaces(list)A list of symbols, signifying grob interfaces that are worth keeping a staff with
remove-emptyset around for.Properties (write)
hasAxisGroup(boolean)True if the current context is contained in an axis group.
This engraver creates the following layout object(s):
VerticalAxisGroup.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < OneStaff ] | [ Up: Contexts ] | [ PetrucciVoice > ] |
2.1.27 PetrucciStaff ¶
A kind of Staff approximating the mensural
typesetting of Ottaviano Petrucci’s Harmonices Musices
Odhecaton (Venice, 1501).
This context also accepts commands for the following context(s):
Staff.
This context creates the following layout object(s):
Accidental, AccidentalCautionary, AccidentalPlacement, AccidentalSuggestion, BarLine, BassFigure, BassFigureAlignment, BassFigureAlignmentPositioning, BassFigureBracket, BassFigureContinuation, BassFigureLine, BreathingSign, CaesuraScript, Clef, ClefModifier, CueClef, CueEndClef, Custos, DotColumn, FingeringColumn, InstrumentName, KeyCancellation, KeySignature, LedgerLineSpanner, NoteCollision, OptionalMaterialBracket, OttavaBracket, PianoPedalBracket, RestCollision, ScriptColumn, ScriptRow, SignumRepetitionis, SostenutoPedal, SostenutoPedalLineSpanner, StaffEllipsis, StaffHighlight, StaffSpacing, StaffSymbol, SustainPedal, SustainPedalLineSpanner, TimeSignature, UnaCordaPedal, UnaCordaPedalLineSpanner and VerticalAxisGroup.
This context sets the following properties:
- Set context property
alterationGlyphsto:'((-1/2 . "accidentals.mensuralM1") (0 . "accidentals.vaticana0") (1/2 . "accidentals.mensural1"))
- Set context property
autoAccidentalsto:'(Staff #<procedure at lily/music-functions.scm:1794:0 (context pitch barnum)> #<procedure neo-modern-accidental-rule (context pitch barnum)>) - Set context property
autoAccidentalsto:'(Staff #<procedure at lily/music-functions.scm:1794:0 (context pitch barnum)>)
- Set context property
autoCautionariesto'(). - Set context property
caesuraTypeto:'((bar-line . "|"))
- Set context property
clefGlyphto"clefs.petrucci.g". - Set context property
clefPositionto-2. - Set context property
clefTranspositionto0. - Set context property
createSpacingto#t. - Set context property
doubleRepeatBarTypeto'(). - Set context property
doubleRepeatSegnoBarTypeto"S". - Set context property
endRepeatBarTypeto'(). - Set context property
endRepeatSegnoBarTypeto"S". - Set context property
extraNaturalto#f. - Set context property
fineSegnoBarTypeto"|.S". - Set context property
fineStartRepeatSegnoBarTypeto"|.S". - Set context property
forbidBreakBetweenBarLinesto#f. - Set context property
ignoreFiguredBassRestto#f. - Set context property
instrumentNameto'(). - Set context property
localAlterationsto'(). - Set context property
measureBarTypeto'(). - Set context property
middleCClefPositionto-6. - Set context property
middleCPositionto-6. - Set context property
ottavationMarkupsto:'((4 . "29") (3 . "22") (2 . "15") (1 . "8") (-1 . "8") (-2 . "15") (-3 . "22") (-4 . "29"))
- Set context property
printKeyCancellationto#f. - Set context property
segnoBarTypeto"S". - Set context property
shortInstrumentNameto'(). - Set context property
startRepeatBarTypeto"|". - Set context property
startRepeatBarTypeto"||". - Set context property
startRepeatSegnoBarTypeto"S". - Set context property
submeasureBarTypeto'(). - Set context property
underlyingRepeatBarTypeto'(). - Set grob property
bar-extentinBarLineto :'(-2.5 . 2.5)
- Set grob property
bar-extentinSignumRepetitionisto :'(-2.5 . 2.5)
- Set grob property
hair-thicknessinBarLineto2.21. - Set grob property
hair-thicknessinSignumRepetitionisto2.21. - Set grob property
kerninBarLineto2.9. - Set grob property
kerninSignumRepetitionisto2.9. - Set grob property
neutral-directioninCustosto-1. - Set grob property
neutral-positioninCustosto3. - Set grob property
roundedinBarLineto#t. - Set grob property
roundedinSignumRepetitionisto#t. - Set grob property
short-bar-extentinBarLineto :'(-1.5 . 1.5)
- Set grob property
short-bar-extentinSignumRepetitionisto :'(-1.5 . 1.5)
- Set grob property
styleinCustosto'mensural. - Set grob property
styleinTimeSignatureto'mensural. - Set grob property
thick-thicknessinBarLineto2.9. - Set grob property
thick-thicknessinSignumRepetitionisto2.9. - Set grob property
thicknessinStaffSymbolto1.3.
This is not a ‘Bottom’ context; search for such a one will commence after creating an implicit context of type PetrucciVoice.
Context PetrucciStaff can contain
CueVoice, NullVoice and PetrucciVoice.
This context is built from the following engraver(s):
Accidental_engraverMake accidentals. Catch note heads, ties and notices key-change events. This engraver usually lives at Staff level, but reads the settings for Accidental at
Voicelevel, so you can\overridethem atVoice.Properties (read)
accidentalGrouping(symbol)If set to
'voice, accidentals on the same note in different octaves may be horizontally staggered if in different voices.autoAccidentals(list)List of different ways to typeset an accidental.
For determining when to print an accidental, several different rules are tried. The rule that gives the highest number of accidentals is used.
Each entry in the list is either a symbol or a procedure.
- symbol
The symbol is the name of the context in which the following rules are to be applied. For example, if context is 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.
The procedure returns a pair of Booleans. The first states whether an extra natural should be added. The second states whether an accidental should be printed.
(#t . #f)does not make sense.autoCautionaries(list)List similar to
autoAccidentals, but it controls cautionary accidentals rather than normal ones. Both lists are tried, and the one giving the most accidentals wins. In case of draw, a normal accidental is typeset.extraNatural(boolean)Whether to typeset an extra natural sign before accidentals that reduce the effect of a previous alteration.
harmonicAccidentals(boolean)If set, harmonic notes in chords get accidentals.
internalBarNumber(integer)Contains the current bar number. This property is used for internal timekeeping, among others by the
Accidental_engraver.keyAlterations(list)The current key signature. This is an alist containing
(step . alter)or((octave . step) . alter), where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.,keyAlterations = #`((6 . ,FLAT)).localAlterations(list)The key signature at this point in the measure. The format is the same as for
keyAlterations, but can also contain((octave . name) . (alter barnumber . measureposition))pairs.Properties (write)
localAlterations(list)The key signature at this point in the measure. The format is the same as for
keyAlterations, but can also contain((octave . name) . (alter barnumber . measureposition))pairs.This engraver creates the following layout object(s):
Accidental,AccidentalCautionary,AccidentalPlacementandAccidentalSuggestion.Alteration_glyph_engraverSet the
glyph-name-alistof all grobs having theaccidental-switch-interfaceto the value of the context’salterationGlyphsproperty, when defined.Properties (read)
alterationGlyphs(list)Alist mapping alterations to accidental glyphs. Alterations are given as exact numbers, e.g., -1/2 for flat. This applies to all grobs that can print accidentals.
Apply_output_engraverApply a procedure to any grob acknowledged.
Music types accepted:
apply-output-eventAxis_group_engraverGroup all objects created in this context in a
VerticalAxisGroupspanner.Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
hasAxisGroup(boolean)True if the current context is contained in an axis group.
keepAliveInterfaces(list)A list of symbols, signifying grob interfaces that are worth keeping a staff with
remove-emptyset around for.Properties (write)
hasAxisGroup(boolean)True if the current context is contained in an axis group.
This engraver creates the following layout object(s):
VerticalAxisGroup.Bar_engraverCreate bar lines for various commands, including
\\bar.If
forbidBreakBetweenBarLinesis true, allow line breaks at bar lines only.Music types accepted:
ad-hoc-jump-event,caesura-event,coda-mark-event,dal-segno-event,fine-event,section-eventandsegno-mark-eventProperties (read)
caesuraType(list)An alist
((bar-line . bar-type) (breath . breath-type) (scripts . script-type...) (underlying-bar-line . bar-type))specifying which breath mark, bar line, and scripts to create at
\caesura. All entries are optional.
bar-linehas higher priority than a measure bar line andunderlying-bar-linehas lower priority than a measure bar line.caesuraTypeTransform(procedure)An engraver callback taking three arguments and returning an alist of the same kind as
caesuraType.The first argument is the context.
The second argument is the value of
caesuraTypewith an additional entry(articulations . symbol-list)identifying the articulations attached to the caesura in the music. If the transform function returns this second argument unmodified, it is as if no transform function were set; the function is free to return a different value. The transform function can remove articulations, but any added articulations are ignored.The third argument is a symbol-list identifying certain things the engraver has observed.
bar-lineindicates that the engraver has observed aBarLineat the current moment.doubleRepeatBarType(string)Bar line to insert where the end of one
\repeat voltacoincides with the start of another. The default is ‘:..:’.doubleRepeatSegnoBarType(string)Bar line to insert where an in-staff segno coincides with the end of one
\repeat voltaand the beginning of another. The default is ‘:|.S.|:’.endRepeatBarType(string)Bar line to insert at the end of a
\repeat volta. The default is ‘:|.’.endRepeatSegnoBarType(string)Bar line to insert where an in-staff segno coincides with the end of a
\repeat volta. The default is ‘:|.S’.fineBarType(string)Bar line to insert at
\fine. Where there is also a repeat bar line, the repeat bar line takes precedence and this value is appended to it as an annotation. The default is ‘|.’.fineSegnoBarType(string)Bar line to insert where an in-staff segno coincides with
\fine. The default is ‘|.S’.fineStartRepeatSegnoBarType(string)Bar line to insert where an in-staff segno coincides with
\fineand the start of a\repeat volta. The default is ‘|.S.|:’.forbidBreakBetweenBarLines(boolean)If set to
#t,Bar_engraverforbids line breaks where there is no bar line.measureBarType(string)Bar line to insert at a measure boundary.
printInitialRepeatBar(boolean)Use a special bar line at the start of a volta repeat even at the beginning of the piece.
printTrivialVoltaRepeats(boolean)Notate volta-style repeats even when the repeat count is 1.
repeatCommands(list)A list of commands related to volta-style repeats. In general, each element is a list,
'(command args…), but a command with no arguments may be abbreviated to a symbol; e.g.,'((start-repeat))may be given as'(start-repeat).
end-repeat return-countEnd a repeated section. return-count is the number of times to go back from this point to the beginning of the section.
start-repeat repeat-countStart a repeated section. repeat-count is the number of times to perform this section.
volta textIf text is markup, start a volta bracket with that label; if text is
#f, end a volta bracket.sectionBarType(string)Bar line to insert at
\section. Where there is also a repeat bar line, the repeat bar line takes precedence and this value is appended to it as an annotation. The default is ‘||’.segnoBarType(string)Bar line to insert at an in-staff segno. The default is ‘S’.
segnoStyle(symbol)A symbol that indicates how to print a segno:
bar-lineormark.startRepeatBarType(string)Bar line to insert at the start of a
\repeat volta. The default is ‘.|:’.startRepeatSegnoBarType(string)Bar line to insert where an in-staff segno coincides with the start of a
\repeat volta. The default is ‘S.|:’.submeasureBarsEnabled(boolean)Whether to insert submeasure bar lines at boundaries specified by
submeasureStructure. They are typically enabled selectively to clarify complex rhythms.submeasureBarType(string)Bar line to insert at submeasure boundaries specified by
submeasureStructure, whensubmeasureBarsEnabledallows.submeasureStructure(number list)A sequence describing subdivisions of a measure. Each element tells the distance from the previous division in units of
beatBase.underlyingRepeatBarType(string)Bar line to insert at points of repetition or departure where no bar line would normally appear, for example at the end of a system broken in mid measure where the next system begins with a segno. Where there is also a repeat bar line, the repeat bar line takes precedence and this value is appended to it as an annotation. The default is ‘||’.
whichBar(string)The current bar line type, or
'()if there is no bar line. Setting this explicitly in user code is deprecated. Use\baror related commands to set it.Properties (write)
currentBarLine(graphical (layout) object)Set to the
BarLinethatBar_engraverhas created in the current time step.forbidBreak(boolean)If set to
#t, prevent a line break at this point, except if explicitly requested by the user.This engraver creates the following layout object(s):
BarLine.Caesura_engraverNotate a short break in sound that does not shorten the previous note.
Depending on the result of passing the value of
caesuraTypethroughcaesuraTypeTransform, this engraver may create aBreathingSignwithCaesuraScriptgrobs aligned to it, or it may createCaesuraScriptgrobs and align them to aBarLine.If this engraver observes a
BarLine, it callscaesuraTypeTransformagain with the new information, and if necessary, recreates its grobs.Music types accepted:
caesura-eventProperties (read)
breathMarkDefinitions(list)The description of breath marks. This is used by the
Breathing_sign_engraver. See scm/breath.scm for more information.caesuraType(list)An alist
((bar-line . bar-type) (breath . breath-type) (scripts . script-type...) (underlying-bar-line . bar-type))specifying which breath mark, bar line, and scripts to create at
\caesura. All entries are optional.
bar-linehas higher priority than a measure bar line andunderlying-bar-linehas lower priority than a measure bar line.caesuraTypeTransform(procedure)An engraver callback taking three arguments and returning an alist of the same kind as
caesuraType.The first argument is the context.
The second argument is the value of
caesuraTypewith an additional entry(articulations . symbol-list)identifying the articulations attached to the caesura in the music. If the transform function returns this second argument unmodified, it is as if no transform function were set; the function is free to return a different value. The transform function can remove articulations, but any added articulations are ignored.The third argument is a symbol-list identifying certain things the engraver has observed.
bar-lineindicates that the engraver has observed aBarLineat the current moment.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):
BreathingSignandCaesuraScript.Clef_engraverDetermine and set reference point for pitches.
Properties (read)
clefGlyph(string)Name of the symbol within the music font.
clefPosition(number)Where should the center of the clef symbol go, measured in half staff spaces from the center of the staff.
clefTransposition(integer)Add this much extra transposition to a clef. Values of 7 and -7 are common.
clefTranspositionStyle(symbol)Determines the way the
ClefModifiergrob of a clef is displayed. Possible values are'default,'parenthesized, and'bracketed.explicitClefVisibility(vector)‘break-visibility’ function for clef changes.
forbidBreak(boolean)If set to
#t, prevent a line break at this point, except if explicitly requested by the user.forceBreak(boolean)Set to
#twhen an event forcing a line break was heard.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):
ClefandClefModifier.Collision_engraverCollect
NoteColumns, and as soon as there are two or more, put them in aNoteCollisionobject.This engraver creates the following layout object(s):
NoteCollision.Cue_clef_engraverDetermine and set reference point for pitches in cued voices.
Properties (read)
clefTransposition(integer)Add this much extra transposition to a clef. Values of 7 and -7 are common.
cueClefGlyph(string)Name of the symbol within the music font.
cueClefPosition(number)Where should the center of the clef symbol go, measured in half staff spaces from the center of the staff.
cueClefTransposition(integer)Add this much extra transposition to a cue clef. Values of 7 and -7 are common.
cueClefTranspositionStyle(symbol)Determines the way the
ClefModifiergrob of a cue clef is displayed. Possible values are'default,'parenthesized, and'bracketed.explicitCueClefVisibility(vector)‘break-visibility’ function for cue clef changes.
forbidBreak(boolean)If set to
#t, prevent a line break at this point, except if explicitly requested by the user.forceBreak(boolean)Set to
#twhen an event forcing a line break was heard.middleCCuePosition(number)The position of the middle C, as determined only by the clef of the cue notes. This can be calculated by looking at
cueClefPositionandcueClefGlyph.This engraver creates the following layout object(s):
ClefModifier,CueClefandCueEndClef.Custos_engraverEngrave custodes.
Properties (read)
forbidBreak(boolean)If set to
#t, prevent a line break at this point, except if explicitly requested by the user.forceBreak(boolean)Set to
#twhen an event forcing a line break was heard.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):
Custos.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):
DotColumn.Figured_bass_engraverMake figured bass numbers.
Music types accepted:
bass-figure-eventandrest-eventProperties (read)
figuredBassAlterationDirection(direction)Where to put alterations relative to the main figure.
figuredBassCenterContinuations(boolean)Whether to vertically center pairs of extender lines. This does not work with three or more lines.
figuredBassFormatter(procedure)A routine generating a markup for a bass figure.
ignoreFiguredBassRest(boolean)Don’t swallow rest events.
implicitBassFigures(list)A list of bass figures that are not printed as numbers, but only as extender lines.
useBassFigureExtenders(boolean)Whether to use extender lines for repeated bass figures.
This engraver creates the following layout object(s):
BassFigure,BassFigureAlignment,BassFigureBracket,BassFigureContinuationandBassFigureLine.Figured_bass_position_engraverPosition figured bass alignments over notes.
This engraver creates the following layout object(s):
BassFigureAlignmentPositioning.Fingering_column_engraverFind potentially colliding scripts and put them into a
FingeringColumnobject; that will fix the collisions.This engraver creates the following layout object(s):
FingeringColumn.Font_size_engraverPut
fontSizeintofont-sizegrob property.Properties (read)
fontSize(number)The relative size of all grobs in a context.
Grob_pq_engraverAdministrate when certain grobs (e.g., note heads) stop playing.
Properties (read)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g., note heads, spanners, etc.).Properties (write)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g., note heads, spanners, etc.).Horizontal_script_engraverAligns
ScripthorizontallyInstrument_name_engraverCreate a system start text for instrument or vocal names.
Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
instrumentName(markup)The name to print left of a staff. The
instrumentNameproperty labels the staff in the first system, and theshortInstrumentNameproperty labels following lines.shortInstrumentName(markup)See
instrumentName.shortVocalName(markup)Name of a vocal line, short version.
vocalName(markup)Name of a vocal line.
This engraver creates the following layout object(s):
InstrumentName.Key_engraverEngrave a key signature.
Music types accepted:
key-change-eventProperties (read)
createKeyOnClefChange(boolean)Print a key signature whenever the clef is changed.
explicitKeySignatureVisibility(vector)‘break-visibility’ function for explicit key changes. ‘\override’ of the
break-visibilityproperty will set the visibility for normal (i.e., at the start of the line) key signatures.extraNatural(boolean)Whether to typeset an extra natural sign before accidentals that reduce the effect of a previous alteration.
forbidBreak(boolean)If set to
#t, prevent a line break at this point, except if explicitly requested by the user.forceBreak(boolean)Set to
#twhen an event forcing a line break was heard.keyAlterationOrder(list)A list of pairs that defines in what order alterations should be printed. The format of an entry is
(step . alter), where step is a number from 0 to 6 and alter from -1 (double flat) to 1 (double sharp), with exact rationals for alterations in between, e.g., 1/2 for sharp.keyAlterations(list)The current key signature. This is an alist containing
(step . alter)or((octave . step) . alter), where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.,keyAlterations = #`((6 . ,FLAT)).lastKeyAlterations(list)Last key signature before a key signature change.
middleCClefPosition(number)The position of the middle C, as determined only by the clef. This can be calculated by looking at
clefPositionandclefGlyph.printKeyCancellation(boolean)Print restoration alterations before a key signature change.
Properties (write)
keyAlterations(list)The current key signature. This is an alist containing
(step . alter)or((octave . step) . alter), where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.,keyAlterations = #`((6 . ,FLAT)).lastKeyAlterations(list)Last key signature before a key signature change.
tonic(pitch)The tonic of the current scale.
This engraver creates the following layout object(s):
KeyCancellationandKeySignature.Ledger_line_engraverCreate the spanner to draw ledger lines, and notices objects that need ledger lines.
This engraver creates the following layout object(s):
LedgerLineSpanner.Merge_mmrest_numbers_engraverEngraver to merge multi-measure rest numbers in multiple voices.
This works by gathering all multi-measure rest numbers at a time step. If they all have the same text and there are at least two only the first one is retained and the others are hidden.
Non_musical_script_column_engraverFind potentially colliding non-musical scripts and put them into a
ScriptColumnobject; that will fix the collisions.This engraver creates the following layout object(s):
ScriptColumn.Optional_material_bracket_engraverNotate in-staff brackets for optional material.
Music types accepted:
optional-material-eventThis engraver creates the following layout object(s):
OptionalMaterialBracket.Ottava_spanner_engraverCreate a text spanner when the ottavation property changes.
Music types accepted:
ottava-eventProperties (read)
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
middleCOffset(number)The offset of middle C from the position given by
middleCClefPositionThis is used for ottava brackets.ottavation(markup)If set, the text for an ottava spanner. Changing this creates a new text spanner.
This engraver creates the following layout object(s):
OttavaBracket.Piano_pedal_align_engraverAlign piano pedal symbols and brackets.
Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
This engraver creates the following layout object(s):
SostenutoPedalLineSpanner,SustainPedalLineSpannerandUnaCordaPedalLineSpanner.Piano_pedal_engraverEngrave piano pedal symbols and brackets.
Music types accepted:
sostenuto-event,sustain-eventanduna-corda-eventProperties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
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,SustainPedalandUnaCordaPedal.Pure_from_neighbor_engraverCoordinates items that get their pure heights from their neighbors.
Rest_collision_engraverHandle collisions of rests.
Properties (read)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g., note heads, spanners, etc.).This engraver creates the following layout object(s):
RestCollision.Script_row_engraverDetermine order in horizontal side position elements.
This engraver creates the following layout object(s):
ScriptRow.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
currentCommandColumncontains items that will affect spacing.This engraver creates the following layout object(s):
StaffSpacing.Signum_repetitionis_engraverCreate a
SignumRepetitionisat the end of a\repeat voltasection.Music types accepted:
volta-repeat-end-eventThis engraver creates the following layout object(s):
SignumRepetitionis.Skip_typesetting_engraverCreate a
StaffEllipsiswhenskipTypesettingis used.Properties (read)
skipTypesetting(boolean)If true, no typesetting is done, speeding up the interpretation phase. Useful for debugging large scores.
This engraver creates the following layout object(s):
StaffEllipsis.Staff_collecting_engraverMaintain the
stavesFoundvariable.Properties (read)
stavesFound(list of grobs)A list of all staff-symbols found.
Properties (write)
stavesFound(list of grobs)A list of all staff-symbols found.
Staff_highlight_engraverHighlights music passages.
Music types accepted:
staff-highlight-eventProperties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
This engraver creates the following layout object(s):
StaffHighlight.Staff_symbol_engraverCreate the constellation of five (default) staff lines.
Music types accepted:
staff-span-eventThis engraver creates the following layout object(s):
StaffSymbol.Time_signature_engraverCreate a
TimeSignaturewhenevertimeSignaturechanges.Music types accepted:
polymetric-time-signature-eventandreference-time-signature-eventProperties (read)
initialTimeSignatureVisibility(vector)break visibility for the initial time signature.
partialBusy(boolean)Signal that \partial acts at the current time step.
timeSignature(time signature)A time-signature specification. See the
\timecommand.This engraver creates the following layout object(s):
TimeSignature.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < PetrucciStaff ] | [ Up: Contexts ] | [ PianoStaff > ] |
2.1.28 PetrucciVoice ¶
A kind of Voice approximating the mensural
typesetting of Ottaviano Petrucci’s Harmonices Musices
Odhecaton (Venice, 1501).
This context also accepts commands for the following context(s):
Voice.
This context creates the following layout object(s):
ApproximatePitchNoteHead, Arpeggio, Beam, BendAfter, BreathingSign, ChordBracket, ChordSlur, ClusterSpanner, ClusterSpannerBeacon, CombineTextScript, Dots, DoublePercentRepeat, DoublePercentRepeatCounter, DoubleRepeatSlash, DynamicLineSpanner, DynamicText, DynamicTextSpanner, FingerGlideSpanner, Fingering, Flag, Glissando, Hairpin, InstrumentSwitch, LaissezVibrerTie, LaissezVibrerTieColumn, MensuralLigature, MultiMeasureRest, MultiMeasureRestNumber, MultiMeasureRestScript, MultiMeasureRestText, NoteColumn, NoteHead, NoteSpacing, PercentRepeat, PercentRepeatCounter, PhrasingSlur, RepeatSlash, RepeatTie, RepeatTieColumn, Rest, Script, ScriptColumn, Slur, Stem, StemStub, StemTremolo, StringNumber, StrokeFinger, TextScript, TextSpanner, Tie, TieColumn, TrillPitchAccidental, TrillPitchGroup, TrillPitchHead, TrillPitchParentheses, TrillSpanner, TupletBracket, TupletNumber and VoiceFollower.
This context sets the following properties:
This is a ‘Bottom’ context; no contexts will be created implicitly from it.
This context cannot contain other contexts.
This context is built from the following engraver(s):
Apply_output_engraverApply a procedure to any grob acknowledged.
Music types accepted:
apply-output-eventArpeggio_engraverCreate arpeggiato and non-arpeggiato symbols.
Music types accepted:
arpeggio-event,chord-slur-eventandnon-arpeggiato-eventThis engraver creates the following layout object(s):
Arpeggio,ChordBracketandChordSlur.Auto_beam_engraverGenerate beams based on measure characteristics and observed Stems. Uses
beatBase,beatStructure,beamExceptions,measureLength, andmeasurePositionto decide when to start and stop a beam. Overriding beaming is done throughStem_engraverpropertiesstemLeftBeamCountandstemRightBeamCount.Music types accepted:
beam-break-eventandbeam-forbid-eventProperties (read)
autoBeaming(boolean)If set to
#tthen beams are generated automatically. If set to#f, auto-beaming is switched off as soon as the current beam (if any) is finished according to the auto-beaming rules.beamExceptions(list)An alist of exceptions to auto-beam rules that normally end on beats.
beamHalfMeasure(boolean)Whether to allow a beam to begin halfway through the measure in triple time, which could look like 6/8.
beatBase(positive exact rational or +inf.0)The musical length corresponding to one unit of
beatStructure.beatStructure(number list)A sequence describing the length of each beat in the measure in units of
beatBase.subdivideBeams(boolean)If set, beams of multiple stems may be subdivided by omitting a number of beamlets, dependent on
beamMaximumSubdivision, between beats at multiples ofbeamMinimumSubdivision.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:
beam-eventProperties (read)
beamMelismaBusy(boolean)Signal if a beam is present.
beatBase(positive exact rational or +inf.0)The musical length corresponding to one unit of
beatStructure.beatStructure(number list)A sequence describing the length of each beat in the measure in units of
beatBase.subdivideBeams(boolean)If set, beams of multiple stems may be subdivided by omitting a number of beamlets, dependent on
beamMaximumSubdivision, between beats at multiples ofbeamMinimumSubdivision.This engraver creates the following layout object(s):
Beam.Bend_engraverCreate fall spanners.
Music types accepted:
bend-after-eventProperties (read)
currentBarLine(graphical (layout) object)Set to the
BarLinethatBar_engraverhas created in the current time step.currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
BendAfter.Breathing_sign_engraverNotate breath marks.
Music types accepted:
breathing-eventProperties (read)
breathMarkType(symbol)The type of
BreathingSignto create at\breathe.This engraver creates the following layout object(s):
BreathingSign.Chord_tremolo_engraverGenerate beams for tremolo repeats.
Music types accepted:
tremolo-span-eventThis engraver creates the following layout object(s):
Beam.Cluster_spanner_engraverEngrave a cluster using
Spannernotation.Music types accepted:
cluster-note-eventThis engraver creates the following layout object(s):
ClusterSpannerandClusterSpannerBeacon.Dots_engraverCreate
Dotsobjects forrhythmic-head-interfaces.This engraver creates the following layout object(s):
Dots.Double_percent_repeat_engraverMake double measure repeats.
Music types accepted:
double-percent-eventProperties (read)
countPercentRepeats(boolean)If set, produce counters for percent repeats.
measureLength(positive exact rational or +inf.0)The musical length of the current measure.
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, except if explicitly requested by the user.This engraver creates the following layout object(s):
DoublePercentRepeatandDoublePercentRepeatCounter.Dynamic_align_engraverAlign hairpins and dynamic texts on a horizontal line.
Properties (read)
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
DynamicLineSpanner.Dynamic_engraverCreate hairpins, dynamic texts and dynamic text spanners.
Music types accepted:
absolute-dynamic-event,break-dynamic-span-eventandspan-dynamic-eventProperties (read)
crescendoSpanner(symbol)The type of spanner to be used for crescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin crescendo is used.
crescendoText(markup)The text to print at start of non-hairpin crescendo, i.e., ‘cresc.’.
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
decrescendoSpanner(symbol)The type of spanner to be used for decrescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin decrescendo is used.
decrescendoText(markup)The text to print at start of non-hairpin decrescendo, i.e., ‘dim.’.
This engraver creates the following layout object(s):
DynamicText,DynamicTextSpannerandHairpin.Finger_glide_engraverEngraver to print a line between two
Fingering,StringNumberorStrokeFingergrobs.Music types accepted:
note-eventThis engraver creates the following layout object(s):
FingerGlideSpanner.Fingering_engraverCreate fingering scripts.
Music types accepted:
fingering-eventThis engraver creates the following layout object(s):
Fingering.Font_size_engraverPut
fontSizeintofont-sizegrob property.Properties (read)
fontSize(number)The relative size of all grobs in a context.
Forbid_line_break_engraverForbid line breaks when note heads are still playing at some point.
Properties (read)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g., note heads, spanners, etc.).Properties (write)
forbidBreak(boolean)If set to
#t, prevent a line break at this point, except if explicitly requested by the user.Glissando_engraverEngrave glissandi.
Music types accepted:
glissando-eventProperties (read)
glissandoMap(list)A map in the form of
'((source1 . target1) (source2 . target2) ... (sourcen . targetn)), showing the glissandi to be drawn for note columns. The value'()defaults to'((0 . 0) (1 . 1) ... (n . n)), where n is the minimum number of note heads in the two note columns between which the glissandi occur.This engraver creates the following layout object(s):
Glissando.Grace_auto_beam_engraverGenerates one autobeam group across an entire grace phrase. As usual, any manual beaming or
\noBeamwill block autobeaming, just like setting the context property ‘autoBeaming’ to##f.Music types accepted:
beam-break-eventandbeam-forbid-eventProperties (read)
autoBeaming(boolean)If set to
#tthen beams are generated automatically. If set to#f, auto-beaming is switched off as soon as the current beam (if any) is finished according to the auto-beaming rules.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:
beam-eventProperties (read)
beamMelismaBusy(boolean)Signal if a beam is present.
beatBase(positive exact rational or +inf.0)The musical length corresponding to one unit of
beatStructure.beatStructure(number list)A sequence describing the length of each beat in the measure in units of
beatBase.subdivideBeams(boolean)If set, beams of multiple stems may be subdivided by omitting a number of beamlets, dependent on
beamMaximumSubdivision, between beats at multiples ofbeamMinimumSubdivision.This engraver creates the following layout object(s):
Beam.Grace_engraverSet font size and other properties for grace notes.
Properties (read)
graceSettings(list)Overrides for grace notes. This property should be manipulated through the
add-grace-propertyfunction.Grob_pq_engraverAdministrate when certain grobs (e.g., note heads) stop playing.
Properties (read)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g., note heads, spanners, etc.).Properties (write)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g., note heads, spanners, etc.).Instrument_switch_engraverCreate a cue text for taking instrument.
This engraver is deprecated.
Properties (read)
instrumentCueName(markup)The name to print if another instrument is to be taken.
This property is deprecated
This engraver creates the following layout object(s):
InstrumentSwitch.Laissez_vibrer_engraverCreate laissez vibrer items.
Music types accepted:
laissez-vibrer-eventThis engraver creates the following layout object(s):
LaissezVibrerTieandLaissezVibrerTieColumn.Mensural_ligature_engraverHandle
Mensural_ligature_eventsby glueing special ligature heads together.Music types accepted:
ligature-eventThis engraver creates the following layout object(s):
MensuralLigature.Multi_measure_rest_engraverEngrave multi-measure rests that are produced with ‘R’. It reads
measureStartNowandinternalBarNumberto determine what number to print over theMultiMeasureRest.Music types accepted:
multi-measure-articulation-event,multi-measure-rest-eventandmulti-measure-text-eventProperties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
internalBarNumber(integer)Contains the current bar number. This property is used for internal timekeeping, among others by the
Accidental_engraver.measureStartNow(boolean)True at the beginning of a measure.
restNumberThreshold(number)If a multi-measure rest has more measures than this, a number is printed.
This engraver creates the following layout object(s):
MultiMeasureRest,MultiMeasureRestNumber,MultiMeasureRestScriptandMultiMeasureRestText.New_fingering_engraverCreate fingering scripts for notes in a new chord. This engraver is ill-named, since it also takes care of articulations and harmonic note heads.
Properties (read)
fingeringOrientations(list)A list of symbols, containing ‘left’, ‘right’, ‘up’ and/or ‘down’. This list determines where fingerings are put relative to the chord being fingered.
harmonicDots(boolean)If set, harmonic notes in dotted chords get dots.
stringNumberOrientations(list)See
fingeringOrientations.strokeFingerOrientations(list)See
fingeringOrientations.This engraver creates the following layout object(s):
Fingering,Script,StringNumberandStrokeFinger.Note_head_line_engraverEngrave a line between two note heads in a staff switch if
followVoiceis set.Properties (read)
followVoice(boolean)If set, note heads are tracked across staff switches by a thin line.
This engraver creates the following layout object(s):
VoiceFollower.Note_heads_engraverGenerate note heads.
Music types accepted:
note-eventProperties (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):
ApproximatePitchNoteHeadandNoteHead.Note_spacing_engraverGenerate
NoteSpacing, an object linking horizontal lines for use in spacing.This engraver creates the following layout object(s):
NoteSpacing.Part_combine_engraverPart combine engraver for orchestral scores: Print markings ‘a2’, ‘Solo’, ‘Solo II’, and ‘unisono’.
Music types accepted:
note-eventandpart-combine-eventProperties (read)
aDueText(markup)Text to print at a unisono passage.
partCombineTextsOnNote(boolean)Print part-combine texts only on the next note rather than immediately on rests or skips.
printPartCombineTexts(boolean)Set ‘Solo’ and ‘A due’ texts in the part combiner?
soloIIText(markup)The text for the start of a solo for voice ‘two’ when part-combining.
soloText(markup)The text for the start of a solo when part-combining.
This engraver creates the following layout object(s):
CombineTextScript.Percent_repeat_engraverMake whole measure repeats.
Music types accepted:
percent-eventProperties (read)
countPercentRepeats(boolean)If set, produce counters for percent repeats.
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
repeatCountVisibility(procedure)A procedure taking as arguments an integer and context, returning whether the corresponding percent repeat number should be printed when
countPercentRepeatsis set.This engraver creates the following layout object(s):
PercentRepeatandPercentRepeatCounter.Phrasing_slur_engraverPrint phrasing slurs. Similar to
Slur_engraver.Music types accepted:
note-eventandphrasing-slur-eventThis engraver creates the following layout object(s):
PhrasingSlur.Pitched_trill_engraverPrint the bracketed note head after a note head with trill.
This engraver creates the following layout object(s):
TrillPitchAccidental,TrillPitchGroup,TrillPitchHeadandTrillPitchParentheses.Repeat_tie_engraverCreate repeat ties.
Music types accepted:
repeat-tie-eventThis engraver creates the following layout object(s):
RepeatTieandRepeatTieColumn.Rest_engraverEngrave rests.
Music types accepted:
rest-eventProperties (read)
middleCPosition(number)The place of the middle C, measured in half staff-spaces. Usually determined by looking at
middleCClefPositionandmiddleCOffset.This engraver creates the following layout object(s):
Rest.Rhythmic_column_engraverGenerate
NoteColumn, an object that groups stems, note heads, and rests.This engraver creates the following layout object(s):
NoteColumn.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):
ScriptColumn.Script_engraverHandle note scripted articulations.
Music types accepted:
articulation-eventProperties (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.Slash_repeat_engraverMake beat repeats.
Music types accepted:
repeat-slash-eventThis engraver creates the following layout object(s):
DoubleRepeatSlashandRepeatSlash.Slur_engraverBuild slur grobs from slur events.
Music types accepted:
note-eventandslur-eventProperties (read)
doubleSlurs(boolean)If set, two slurs are created for every slurred note, one above and one below the chord.
slurMelismaBusy(boolean)Signal if a slur is present.
This engraver creates the following layout object(s):
Slur.Spanner_break_forbid_engraverForbid breaks in certain spanners.
Stem_engraverCreate stems, flags and single-stem tremolos. It also works together with the beam engraver for overriding beaming.
Music types accepted:
tremolo-eventProperties (read)
currentBarLine(graphical (layout) object)Set to the
BarLinethatBar_engraverhas created in the current time step.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):
Flag,Stem,StemStubandStemTremolo.Text_engraverCreate text scripts.
Music types accepted:
text-script-eventThis engraver creates the following layout object(s):
TextScript.Text_spanner_engraverCreate text spanner from an event.
Music types accepted:
text-span-eventProperties (read)
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
TextSpanner.Tie_engraverGenerate ties between note heads of equal pitch.
Music types accepted:
tie-eventProperties (read)
skipTypesetting(boolean)If true, no typesetting is done, speeding up the interpretation phase. Useful for debugging large scores.
tieWaitForNote(boolean)If true, tied notes do not have to follow each other directly. This can be used for writing out arpeggios.
Properties (write)
tieMelismaBusy(boolean)Signal whether a tie is present.
This engraver creates the following layout object(s):
TieandTieColumn.Toe_heel_engraverRead the
toeHeelStylecontext property and use it to style\rtoeand its siblings, based on the data in thetoe-heel-stylesalist.Music types accepted:
articulation-eventProperties (read)
toeHeelStyle(symbol)The style for the glyph shape and behavior of
\rtoeand siblings. Possible values aredefault,standard,reversed,circleheels, andbelow. If not set (the default), use valuedefault.Trill_spanner_engraverCreate trill spanners.
Music types accepted:
trill-span-eventProperties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
TrillSpanner.Tuplet_engraverCatch tuplet events and generate appropriate bracket.
Music types accepted:
tuplet-span-eventProperties (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):
TupletBracketandTupletNumber.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < PetrucciVoice ] | [ Up: Contexts ] | [ RhythmicStaff > ] |
2.1.29 PianoStaff ¶
Just like GrandStaff, but the staves are only removed
together, never separately.
This context also accepts commands for the following context(s):
GrandStaff.
This context creates the following layout object(s):
Arpeggio, ChordBracket, ChordSlur, InstrumentName, SpanBar, SpanBarStub, StaffGrouper, SystemStartBar, SystemStartBrace, SystemStartBracket, SystemStartSquare and VerticalAlignment.
This context sets the following properties:
- Set context property
instrumentNameto'(). - Set context property
localAlterationsto#f. - Set context property
localAlterationsto'(). - Set context property
localAlterationsto'(). - Set context property
shortInstrumentNameto'(). - Set context property
systemStartDelimiterto'SystemStartBrace. - Set context property
systemStartDelimiterto'SystemStartBracket. - Set context property
topLevelAlignmentto#f. - Set grob property
extra-spacing-widthinDynamicTextto#f.
This is not a ‘Bottom’ context; search for such a one will commence after creating an implicit context of type Staff.
Context PianoStaff can contain
ChoirStaff, ChordNames, Devnull, DrumStaff, Dynamics, FiguredBass, FretBoards, GrandStaff, GregorianTranscriptionLyrics, GregorianTranscriptionStaff, KievanStaff, Lyrics, MensuralStaff, NoteNames, OneStaff, PetrucciStaff, PianoStaff, RhythmicStaff, Staff, StaffGroup, TabStaff, VaticanaLyrics and VaticanaStaff.
This context is built from the following engraver(s):
Apply_output_engraverApply a procedure to any grob acknowledged.
Music types accepted:
apply-output-eventInstrument_name_engraverCreate a system start text for instrument or vocal names.
Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
instrumentName(markup)The name to print left of a staff. The
instrumentNameproperty labels the staff in the first system, and theshortInstrumentNameproperty labels following lines.shortInstrumentName(markup)See
instrumentName.shortVocalName(markup)Name of a vocal line, short version.
vocalName(markup)Name of a vocal line.
This engraver creates the following layout object(s):
InstrumentName.Keep_alive_together_engraverThis engraver collects all
Hara_kiri_group_spanners that are created in contexts at or below its own. These spanners are then tied together so that one will be removed only if all are removed. For example, if aStaffGroupuses this engraver, then the staves in the group will all be visible as long as there is a note in at least one of them.Span_arpeggio_engraverMake arpeggios, non-arpeggiato brackets, and vertical slurs spanning multiple staves.
Properties (read)
connectArpeggios(boolean)If set, connect arpeggios across piano staff.
connectChordBrackets(boolean)If set, connect chord brackets across piano staff.
connectChordSlurs(boolean)If set, connect chord slurs across piano staff.
This engraver creates the following layout object(s):
Arpeggio,ChordBracketandChordSlur.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):
SpanBar.Span_bar_stub_engraverMake stubs for span bars in all contexts that the span bars cross.
This engraver creates the following layout object(s):
SpanBarStub.System_start_delimiter_engraverCreate a system start delimiter (i.e., a
SystemStartBar,SystemStartBrace,SystemStartBracketorSystemStartSquarespanner).Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
systemStartDelimiter(symbol)Which grob to make for the start of the system/staff? Set to
SystemStartBrace,SystemStartBracketorSystemStartBar.systemStartDelimiterHierarchy(pair)A nested list, indicating the nesting of a start delimiters.
This engraver creates the following layout object(s):
SystemStartBar,SystemStartBrace,SystemStartBracketandSystemStartSquare.Vertical_align_engraverCatch groups (staves, lyrics lines, etc.) and stack them vertically.
Properties (read)
alignAboveContext(string)Where to insert newly created context in vertical alignment.
alignBelowContext(string)Where to insert newly created context in vertical alignment.
hasAxisGroup(boolean)True if the current context is contained in an axis group.
This engraver creates the following layout object(s):
StaffGrouperandVerticalAlignment.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < PianoStaff ] | [ Up: Contexts ] | [ Score > ] |
2.1.30 RhythmicStaff ¶
Like Staff but for printing rhythms. Pitches are
ignored when engraving; the notes are printed on one line. The MIDI
rendition retains pitches unchanged.
This context also accepts commands for the following context(s):
Staff.
This context creates the following layout object(s):
BarLine, BreathingSign, CaesuraScript, DotColumn, InstrumentName, LedgerLineSpanner, StaffHighlight, StaffSpacing, StaffSymbol, TimeSignature and VerticalAxisGroup.
This context sets the following properties:
- Set context property
createSpacingto#t. - Set context property
instrumentNameto'(). - Set context property
localAlterationsto'(). - Set context property
shortInstrumentNameto'(). - Set context property
squashedPositionto0. - Set grob property
line-countinStaffSymbolto1. - Set grob property
neutral-directioninBeamto1. - Set grob property
neutral-directioninStemto1. - Set grob property
staff-paddinginVoltaBracketto3.
This is not a ‘Bottom’ context; search for such a one will commence after creating an implicit context of type Voice.
This context is built from the following engraver(s):
Apply_output_engraverApply a procedure to any grob acknowledged.
Music types accepted:
apply-output-eventAxis_group_engraverGroup all objects created in this context in a
VerticalAxisGroupspanner.Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
hasAxisGroup(boolean)True if the current context is contained in an axis group.
keepAliveInterfaces(list)A list of symbols, signifying grob interfaces that are worth keeping a staff with
remove-emptyset around for.Properties (write)
hasAxisGroup(boolean)True if the current context is contained in an axis group.
This engraver creates the following layout object(s):
VerticalAxisGroup.Bar_engraverCreate bar lines for various commands, including
\\bar.If
forbidBreakBetweenBarLinesis true, allow line breaks at bar lines only.Music types accepted:
ad-hoc-jump-event,caesura-event,coda-mark-event,dal-segno-event,fine-event,section-eventandsegno-mark-eventProperties (read)
caesuraType(list)An alist
((bar-line . bar-type) (breath . breath-type) (scripts . script-type...) (underlying-bar-line . bar-type))specifying which breath mark, bar line, and scripts to create at
\caesura. All entries are optional.
bar-linehas higher priority than a measure bar line andunderlying-bar-linehas lower priority than a measure bar line.caesuraTypeTransform(procedure)An engraver callback taking three arguments and returning an alist of the same kind as
caesuraType.The first argument is the context.
The second argument is the value of
caesuraTypewith an additional entry(articulations . symbol-list)identifying the articulations attached to the caesura in the music. If the transform function returns this second argument unmodified, it is as if no transform function were set; the function is free to return a different value. The transform function can remove articulations, but any added articulations are ignored.The third argument is a symbol-list identifying certain things the engraver has observed.
bar-lineindicates that the engraver has observed aBarLineat the current moment.doubleRepeatBarType(string)Bar line to insert where the end of one
\repeat voltacoincides with the start of another. The default is ‘:..:’.doubleRepeatSegnoBarType(string)Bar line to insert where an in-staff segno coincides with the end of one
\repeat voltaand the beginning of another. The default is ‘:|.S.|:’.endRepeatBarType(string)Bar line to insert at the end of a
\repeat volta. The default is ‘:|.’.endRepeatSegnoBarType(string)Bar line to insert where an in-staff segno coincides with the end of a
\repeat volta. The default is ‘:|.S’.fineBarType(string)Bar line to insert at
\fine. Where there is also a repeat bar line, the repeat bar line takes precedence and this value is appended to it as an annotation. The default is ‘|.’.fineSegnoBarType(string)Bar line to insert where an in-staff segno coincides with
\fine. The default is ‘|.S’.fineStartRepeatSegnoBarType(string)Bar line to insert where an in-staff segno coincides with
\fineand the start of a\repeat volta. The default is ‘|.S.|:’.forbidBreakBetweenBarLines(boolean)If set to
#t,Bar_engraverforbids line breaks where there is no bar line.measureBarType(string)Bar line to insert at a measure boundary.
printInitialRepeatBar(boolean)Use a special bar line at the start of a volta repeat even at the beginning of the piece.
printTrivialVoltaRepeats(boolean)Notate volta-style repeats even when the repeat count is 1.
repeatCommands(list)A list of commands related to volta-style repeats. In general, each element is a list,
'(command args…), but a command with no arguments may be abbreviated to a symbol; e.g.,'((start-repeat))may be given as'(start-repeat).
end-repeat return-countEnd a repeated section. return-count is the number of times to go back from this point to the beginning of the section.
start-repeat repeat-countStart a repeated section. repeat-count is the number of times to perform this section.
volta textIf text is markup, start a volta bracket with that label; if text is
#f, end a volta bracket.sectionBarType(string)Bar line to insert at
\section. Where there is also a repeat bar line, the repeat bar line takes precedence and this value is appended to it as an annotation. The default is ‘||’.segnoBarType(string)Bar line to insert at an in-staff segno. The default is ‘S’.
segnoStyle(symbol)A symbol that indicates how to print a segno:
bar-lineormark.startRepeatBarType(string)Bar line to insert at the start of a
\repeat volta. The default is ‘.|:’.startRepeatSegnoBarType(string)Bar line to insert where an in-staff segno coincides with the start of a
\repeat volta. The default is ‘S.|:’.submeasureBarsEnabled(boolean)Whether to insert submeasure bar lines at boundaries specified by
submeasureStructure. They are typically enabled selectively to clarify complex rhythms.submeasureBarType(string)Bar line to insert at submeasure boundaries specified by
submeasureStructure, whensubmeasureBarsEnabledallows.submeasureStructure(number list)A sequence describing subdivisions of a measure. Each element tells the distance from the previous division in units of
beatBase.underlyingRepeatBarType(string)Bar line to insert at points of repetition or departure where no bar line would normally appear, for example at the end of a system broken in mid measure where the next system begins with a segno. Where there is also a repeat bar line, the repeat bar line takes precedence and this value is appended to it as an annotation. The default is ‘||’.
whichBar(string)The current bar line type, or
'()if there is no bar line. Setting this explicitly in user code is deprecated. Use\baror related commands to set it.Properties (write)
currentBarLine(graphical (layout) object)Set to the
BarLinethatBar_engraverhas created in the current time step.forbidBreak(boolean)If set to
#t, prevent a line break at this point, except if explicitly requested by the user.This engraver creates the following layout object(s):
BarLine.Caesura_engraverNotate a short break in sound that does not shorten the previous note.
Depending on the result of passing the value of
caesuraTypethroughcaesuraTypeTransform, this engraver may create aBreathingSignwithCaesuraScriptgrobs aligned to it, or it may createCaesuraScriptgrobs and align them to aBarLine.If this engraver observes a
BarLine, it callscaesuraTypeTransformagain with the new information, and if necessary, recreates its grobs.Music types accepted:
caesura-eventProperties (read)
breathMarkDefinitions(list)The description of breath marks. This is used by the
Breathing_sign_engraver. See scm/breath.scm for more information.caesuraType(list)An alist
((bar-line . bar-type) (breath . breath-type) (scripts . script-type...) (underlying-bar-line . bar-type))specifying which breath mark, bar line, and scripts to create at
\caesura. All entries are optional.
bar-linehas higher priority than a measure bar line andunderlying-bar-linehas lower priority than a measure bar line.caesuraTypeTransform(procedure)An engraver callback taking three arguments and returning an alist of the same kind as
caesuraType.The first argument is the context.
The second argument is the value of
caesuraTypewith an additional entry(articulations . symbol-list)identifying the articulations attached to the caesura in the music. If the transform function returns this second argument unmodified, it is as if no transform function were set; the function is free to return a different value. The transform function can remove articulations, but any added articulations are ignored.The third argument is a symbol-list identifying certain things the engraver has observed.
bar-lineindicates that the engraver has observed aBarLineat the current moment.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):
BreathingSignandCaesuraScript.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):
DotColumn.Font_size_engraverPut
fontSizeintofont-sizegrob property.Properties (read)
fontSize(number)The relative size of all grobs in a context.
Instrument_name_engraverCreate a system start text for instrument or vocal names.
Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
instrumentName(markup)The name to print left of a staff. The
instrumentNameproperty labels the staff in the first system, and theshortInstrumentNameproperty labels following lines.shortInstrumentName(markup)See
instrumentName.shortVocalName(markup)Name of a vocal line, short version.
vocalName(markup)Name of a vocal line.
This engraver creates the following layout object(s):
InstrumentName.Ledger_line_engraverCreate the spanner to draw ledger lines, and notices objects that need ledger lines.
This engraver creates the following layout object(s):
LedgerLineSpanner.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.
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
currentCommandColumncontains items that will affect spacing.This engraver creates the following layout object(s):
StaffSpacing.Staff_highlight_engraverHighlights music passages.
Music types accepted:
staff-highlight-eventProperties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
This engraver creates the following layout object(s):
StaffHighlight.Staff_symbol_engraverCreate the constellation of five (default) staff lines.
Music types accepted:
staff-span-eventThis engraver creates the following layout object(s):
StaffSymbol.Time_signature_engraverCreate a
TimeSignaturewhenevertimeSignaturechanges.Music types accepted:
polymetric-time-signature-eventandreference-time-signature-eventProperties (read)
initialTimeSignatureVisibility(vector)break visibility for the initial time signature.
partialBusy(boolean)Signal that \partial acts at the current time step.
timeSignature(time signature)A time-signature specification. See the
\timecommand.This engraver creates the following layout object(s):
TimeSignature.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < RhythmicStaff ] | [ Up: Contexts ] | [ Staff > ] |
2.1.31 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.
An alias called Timing is established by the
Timing_translator in whatever context it is initialized, and
the timing variables are then copied from wherever Timing
had been previously established. The alias at Score level
provides a target for initializing Timing variables in
layout definitions before any Timing_translator has been
run.
This context also accepts commands for the following context(s): Timing.
This context creates the following layout object(s):
BarNumber, BreakAlignGroup, BreakAlignment, CenteredBarNumber, CenteredBarNumberLineSpanner, CodaMark, ControlPoint, ControlPolygon, Footnote, GraceSpacing, JumpScript, LeftEdge, MetronomeMark, NonMusicalPaperColumn, PaperColumn, Parentheses, RehearsalMark, SectionLabel, SegnoMark, SpacingSpanner, StaffGrouper, SystemStartBar, SystemStartBrace, SystemStartBracket, SystemStartSquare, TextMark, VerticalAlignment, VoltaBracket and VoltaBracketSpanner.
This context sets the following properties:
- Set context property
additionalPitchPrefixto"add". - Set context property
aDueTextto"a2". - Set context property
alterationGlyphsto#f. - Set context property
alternativeRestoresto:'(measurePosition measureLength measureStartNow lastChord)
- Set context property
associatedVoiceTypeto'Voice. - Set context property
autoAccidentalsto:'(Staff #<procedure at lily/music-functions.scm:1794:0 (context pitch barnum)>)
- Set context property
autoBeamChecktodefault-auto-beam-check. - Set context property
autoBeamingto#t. - Set context property
autoCautionariesto'(). - Set context property
barNumberFormattertorobust-bar-number-function. - Set context property
barNumberVisibilitytofirst-bar-number-invisible-and-no-parenthesized-bar-numbers. - Set context property
beamHalfMeasureto#t. - Set context property
breathMarkDefinitionsto:'((altcomma (text #<procedure musicglyph-markup (layout props glyph-name)> "scripts.raltcomma")) (caesura (text #<procedure musicglyph-markup (layout props glyph-name)> "scripts.caesura.straight")) (chantdoublebar (extra-spacing-width -1.0 . 0.0) (stencil . #<procedure ly:breathing-sign::finalis (_)>) (Y-offset . 0.0)) (chantfullbar (extra-spacing-width -1.0 . 0.0) (stencil . #<procedure ly:breathing-sign::divisio-maxima (_)>) (Y-offset . 0.0)) (chanthalfbar (extra-spacing-height . #<procedure item::extra-spacing-height-including-staff (grob)>) (extra-spacing-width -1.0 . 0.0) (stencil . #<procedure ly:breathing-sign::divisio-maior (_)>) (Y-offset . 0.0)) (chantquarterbar (extra-spacing-height . #<procedure item::extra-spacing-height-including-staff (grob)>) (extra-spacing-width -1.0 . 0.0) (stencil . #<procedure ly:breathing-sign::divisio-minima (_)>)) (comma (text #<procedure musicglyph-markup (layout props glyph-name)> "scripts.rcomma")) (curvedcaesura (text #<procedure musicglyph-markup (layout props glyph-name)> "scripts.caesura.curved")) (outsidecomma (outside-staff-priority . 40) (text #<procedure musicglyph-markup (layout props glyph-name)> "scripts.rcomma")) (spacer (text #<procedure null-markup (layout props)>)) (tickmark (outside-staff-priority . 40) (text #<procedure musicglyph-markup (layout props glyph-name)> "scripts.tickmark")) (upbow (outside-staff-priority . 40) (text #<procedure musicglyph-markup (layout props glyph-name)> "scripts.uupbow")) (varcomma (text #<procedure musicglyph-markup (layout props glyph-name)> "scripts.rvarcomma"))) - Set context property
breathMarkTypeto'comma. - Set context property
caesuraTypeto:'((breath . caesura))
- Set context property
centerBarNumbersto#f. - Set context property
chordNameExceptionsto:'(((#<Pitch e' > #<Pitch gis' >) #<procedure line-markup (layout props args)> ("+")) ((#<Pitch ees' > #<Pitch ges' >) #<procedure line-markup (layout props args)> ((#<procedure line-markup (layout props args)> ((#<procedure fontsize-markup (layout props increment arg)> 2 "°"))))) ((#<Pitch ees' > #<Pitch ges' > #<Pitch bes' >) #<procedure line-markup (layout props args)> ((#<procedure super-markup (layout props arg)> "ø"))) ((#<Pitch ees' > #<Pitch ges' > #<Pitch beses' >) #<procedure concat-markup (layout props args)> ((#<procedure line-markup (layout props args)> ((#<procedure fontsize-markup (layout props increment arg)> 2 "°"))) (#<procedure super-markup (layout props arg)> "7"))) ((#<Pitch e' > #<Pitch g' > #<Pitch bes' > #<Pitch des'' > #<Pitch ees'' > #<Pitch fis'' > #<Pitch aes'' >) #<procedure line-markup (layout props args)> ((#<procedure super-markup (layout props arg)> "alt"))) ((#<Pitch g' >) #<procedure line-markup (layout props args)> ((#<procedure super-markup (layout props arg)> "5"))) ((#<Pitch g' > #<Pitch c'' >) #<procedure line-markup (layout props args)> ((#<procedure super-markup (layout props arg)> "5")))) - Set context property
chordNameFunctiontoignatzek-chord-names. - Set context property
chordNameLowercaseMinorto#f. - Set context property
chordNameSeparatorto:'(#<procedure hspace-markup (layout props amount)> 0.5)
- Set context property
chordNoteNamerto#<procedure at lily/chord-name.scm:118:0 (pitch lowercase?)>. - Set context property
chordPrefixSpacerto0. - Set context property
chordRootNamerto#<procedure at lily/chord-name.scm:118:0 (pitch lowercase?)>. - Set context property
clefGlyphto"clefs.G". - Set context property
clefPositionto-2. - Set context property
clefTranspositionFormattertoclef-transposition-markup. - Set context property
codaMarkFormatterto#<procedure at lily/translation-functions.scm:232:4 (number context)>. - Set context property
completionFactortounity-if-multimeasure. - Set context property
crescendoSpannerto'hairpin. - Set context property
cueClefTranspositionFormattertoclef-transposition-markup. - Set context property
dalSegnoTextFormattertoformat-dal-segno-text. - Set context property
decrescendoSpannerto'hairpin. - Set context property
deprecatedBarCheckSynchronizeto#f. - Set context property
doubleRepeatBarTypeto":..:". - Set context property
doubleRepeatSegnoBarTypeto":|.S.|:". - Set context property
drumStyleTableto#<hash-table>. - Set context property
endRepeatBarTypeto":|.". - Set context property
endRepeatSegnoBarTypeto":|.S". - Set context property
explicitClefVisibilityto:#(#t #t #t)
- Set context property
explicitCueClefVisibilityto:#(#f #t #t)
- Set context property
explicitKeySignatureVisibilityto:#(#t #t #t)
- Set context property
extendersOverReststo#t. - Set context property
extraNaturalto#t. - Set context property
figuredBassAlterationDirectionto-1. - Set context property
figuredBassFormattertoformat-bass-figure. - Set context property
figuredBassLargeNumberAlignmentto0. - Set context property
figuredBassPlusDirectionto-1. - Set context property
figuredBassPlusStrokedAlistto:'((2 . "figbass.twoplus") (4 . "figbass.fourplus") (5 . "figbass.fiveplus") (6 . "figbass.sixstroked") (7 . "figbass.sevenstroked") (9 . "figbass.ninestroked"))
- Set context property
fineBarTypeto"|.". - Set context property
fineSegnoBarTypeto"|.S". - Set context property
fineStartRepeatSegnoBarTypeto"|.S.|:". - Set context property
fineTextto"Fine". - Set context property
fingeringOrientationsto:'(up down)
- Set context property
firstClefto#t. - Set context property
forbidBreakBetweenBarLinesto#t. - Set context property
graceSettingsto:'((Voice Stem direction 1) (Voice Slur direction -1) (Voice Stem font-size -3) (Voice Flag font-size -3) (Voice NoteHead font-size -3) (Voice TabNoteHead font-size -4) (Voice Dots font-size -3) (Voice Stem length-fraction 0.8) (Voice Stem no-stem-extend #t) (Voice Beam beam-thickness 0.384) (Voice Beam length-fraction 0.8) (Voice Accidental font-size -4) (Voice AccidentalCautionary font-size -4) (Voice Script font-size -3) (Voice Fingering font-size -8) (Voice StringNumber font-size -8))
- Set context property
harmonicAccidentalsto#t. - Set context property
highStringOneto#t. - Set context property
initialTimeSignatureVisibilityto:#(#f #t #t)
- Set context property
instrumentTranspositionto#<Pitch c' >. - Set context property
keepAliveInterfacesto:'(bass-figure-interface chord-name-interface cluster-beacon-interface dynamic-interface fret-diagram-interface lyric-syllable-interface note-head-interface tab-note-head-interface lyric-interface percent-repeat-interface stanza-number-interface)
- Set context 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) (1 . 1) (5 . 1) (2 . 1) (6 . 1))
- Set context property
lyricMelismaAlignmentto-1. - Set context property
majorSevenSymbolto:'(#<procedure line-markup (layout props args)> ((#<procedure fontsize-markup (layout props increment arg)> -3 (#<procedure triangle-markup (layout props filled)> #f)))) - Set context property
measureBarTypeto"|". - Set context property
melismaBusyPropertiesto:'(melismaBusy slurMelismaBusy tieMelismaBusy beamMelismaBusy completionBusy)
- Set context property
metronomeMarkFormattertoformat-metronome-markup. - Set context property
middleCClefPositionto-6. - Set context property
middleCPositionto-6. - Set context property
minorChordModifierto"m". - Set context property
noChordSymbolto"N.C.". - Set context property
noteNameFunctiontonote-name-markup. - Set context property
noteNameSeparatorto"/". - Set context property
noteToFretFunctiontodetermine-frets. - Set context property
partCombineTextsOnNoteto#t. - Set context property
pedalSostenutoStringsto:'("Sost. Ped." "*Sost. Ped." "*") - Set context property
pedalSostenutoStyleto'mixed. - Set context property
pedalSustainStringsto:'("Ped." "*Ped." "*") - Set context property
pedalSustainStyleto'text. - Set context property
pedalUnaCordaStringsto:'("una corda" "" "tre corde") - Set context property
pedalUnaCordaStyleto'text. - Set context property
predefinedDiagramTableto#f. - Set context property
printAccidentalNamesto#t. - Set context property
printKeyCancellationto#t. - Set context property
printOctaveNamesto#f. - Set context property
printPartCombineTextsto#t. - Set context property
printTrivialVoltaRepeatsto#f. - Set context property
quotedCueEventTypesto:'(note-event rest-event tie-event beam-event tuplet-span-event tremolo-event)
- Set context property
quotedEventTypesto:'(StreamEvent)
- Set context property
rehearsalMarkFormatterto#<procedure at lily/translation-functions.scm:232:4 (number context)>. - Set context property
rehearsalMarkto1. - Set context property
repeatCountVisibilitytoall-repeat-counts-visible. - Set context property
restNumberThresholdto1. - Set context property
scriptDefinitionsto:'((accent (avoid-slur . around) (padding . 0.2) (script-stencil feta "sforzato" . "sforzato") (side-axis . 1) (side-relative-direction . -1)) (accentus (script-stencil feta "uaccentus" . "uaccentus") (side-relative-direction . -1) (avoid-slur . ignore) (padding . 0.2) (quantize-position . #t) (script-priority . -100) (side-axis . 1) (direction . 1)) (altcomma (script-stencil feta "laltcomma" . "raltcomma") (quantize-position . #t) (padding . 0.2) (avoid-slur . ignore) (side-axis . 1) (direction . 1)) (bachschleifer (script-stencil feta "bachschleifer" . "bachschleifer") (no-ledgers . #f) (padding . 0.8) (length-fraction . 1.5) (avoid-slur . around) (side-axis . 0) (direction . -1) (staff-position . #<procedure at lily/output-lib.scm:1955:0 (grob)>)) (circulus (script-stencil feta "circulus" . "circulus") (side-relative-direction . -1) (avoid-slur . ignore) (padding . 0.2) (quantize-position . #t) (script-priority . -100) (side-axis . 1) (direction . 1)) (coda (script-stencil feta "coda" . "coda") (padding . 0.2) (avoid-slur . outside) (side-axis . 1) (direction . 1)) (comma (script-stencil feta "lcomma" . "rcomma") (quantize-position . #t) (padding . 0.2) (avoid-slur . ignore) (side-axis . 1) (direction . 1)) (downbow (script-stencil feta "ddownbow" . "udownbow") (padding . 0.2) (skyline-horizontal-padding . 0.2) (avoid-slur . around) (direction . 1) (side-axis . 1) (script-priority . 180)) (downmordent (script-stencil feta "downmordent" . "downmordent") (padding . 0.2) (avoid-slur . around) (side-axis . 1) (direction . 1)) (downprall (script-stencil feta "downprall" . "downprall") (padding . 0.2) (avoid-slur . around) (side-axis . 1) (direction . 1)) (espressivo (avoid-slur . around) (padding . 0.2) (script-stencil feta "espr" . "espr") (side-axis . 1) (side-relative-direction . -1)) (fermata (script-stencil feta "dfermata" . "ufermata") (padding . 0.4) (avoid-slur . around) (outside-staff-priority . 75) (script-priority . 175) (side-axis . 1) (direction . 1)) (flageolet (script-stencil feta "flageolet" . "flageolet") (padding . 0.2) (avoid-slur . around) (direction . 1) (side-axis . 1) (script-priority . 50)) (halfopen (avoid-slur . outside) (padding . 0.2) (script-stencil feta "halfopen" . "halfopen") (side-axis . 1) (direction . 1)) (halfopenvertical (avoid-slur . outside) (padding . 0.2) (script-stencil feta "halfopenvertical" . "halfopenvertical") (side-axis . 1) (direction . 1)) (haydnturn (script-stencil feta "haydnturn" . "haydnturn") (padding . 0.2) (avoid-slur . inside) (side-axis . 1) (direction . 1)) (heel (script-stencil feta "upedalheel" . "upedalheel") (padding . 0.2) (avoid-slur . around) (side-axis . 1) (direction . 1)) (heelcircle (script-stencil feta "pedalheelcircle" . "pedalheelcircle") (padding . 0.2) (avoid-slur . around) (side-axis . 1) (direction . 1)) (henzelongfermata (script-stencil feta "dhenzelongfermata" . "uhenzelongfermata") (padding . 0.4) (avoid-slur . around) (outside-staff-priority . 75) (script-priority . 175) (side-axis . 1) (direction . 1)) (henzeshortfermata (script-stencil feta "dhenzeshortfermata" . "uhenzeshortfermata") (padding . 0.4) (avoid-slur . around) (outside-staff-priority . 75) (script-priority . 175) (side-axis . 1) (direction . 1)) (ictus (script-stencil feta "ictus" . "ictus") (side-relative-direction . -1) (quantize-position . #t) (avoid-slur . ignore) (padding . 0.2) (script-priority . -100) (side-axis . 1) (direction . -1)) (lheel (script-stencil feta "upedalheel" . "upedalheel") (padding . 0.2) (avoid-slur . around) (side-axis . 1) (direction . -1)) (lineprall (script-stencil feta "lineprall" . "lineprall") (padding . 0.2) (avoid-slur . around) (side-axis . 1) (direction . 1)) (longfermata (script-stencil feta "dlongfermata" . "ulongfermata") (padding . 0.4) (avoid-slur . around) (outside-staff-priority . 75) (script-priority . 175) (side-axis . 1) (direction . 1)) (ltoe (script-stencil feta "upedaltoe" . "upedaltoe") (padding . 0.2) (avoid-slur . around) (side-axis . 1) (direction . -1)) (marcato (script-stencil feta "dmarcato" . "umarcato") (padding . 0.2) (avoid-slur . inside) (quantize-position . #t) (side-axis . 1) (side-relative-direction . -1)) (mordent (script-stencil feta "mordent" . "mordent") (padding . 0.2) (avoid-slur . around) (side-axis . 1) (direction . 1)) (open (avoid-slur . outside) (padding . 0.2) (script-stencil feta "open" . "open") (side-axis . 1) (direction . 1)) (outsidecomma (avoid-slur . around) (direction . 1) (padding . 0.2) (side-axis . 1) (script-stencil feta "lcomma" . "rcomma")) (portato (script-stencil feta "uportato" . "dportato") (avoid-slur . around) (padding . 0.45) (side-axis . 1) (side-relative-direction . -1)) (prall (script-stencil feta "prall" . "prall") (padding . 0.2) (avoid-slur . around) (side-axis . 1) (direction . 1)) (pralldown (script-stencil feta "pralldown" . "pralldown") (padding . 0.2) (avoid-slur . around) (side-axis . 1) (direction . 1)) (prallmordent (script-stencil feta "prallmordent" . "prallmordent") (padding . 0.2) (avoid-slur . around) (side-axis . 1) (direction . 1)) (prallprall (script-stencil feta "prallprall" . "prallprall") (padding . 0.2) (avoid-slur . around) (side-axis . 1) (direction . 1)) (prallup (script-stencil feta "prallup" . "prallup") (padding . 0.2) (avoid-slur . around) (side-axis . 1) (direction . 1)) (reverseturn (script-stencil feta "reverseturn" . "reverseturn") (padding . 0.2) (avoid-slur . inside) (side-axis . 1) (direction . 1)) (rheel (script-stencil feta "dpedalheel" . "dpedalheel") (padding . 0.2) (avoid-slur . around) (side-axis . 1) (direction . 1)) (rtoe (script-stencil feta "dpedaltoe" . "dpedaltoe") (padding . 0.2) (avoid-slur . around) (side-axis . 1) (direction . 1)) (segno (script-stencil feta "segno" . "segno") (padding . 0.2) (avoid-slur . outside) (side-axis . 1) (direction . 1)) (semicirculus (script-stencil feta "dsemicirculus" . "dsemicirculus") (side-relative-direction . -1) (quantize-position . #t) (avoid-slur . ignore) (padding . 0.2) (script-priority . -100) (side-axis . 1) (direction . 1)) (shortfermata (script-stencil feta "dshortfermata" . "ushortfermata") (padding . 0.4) (avoid-slur . around) (outside-staff-priority . 75) (script-priority . 175) (side-axis . 1) (direction . 1)) (signumcongruentiae (script-stencil feta "dsignumcongruentiae" . "usignumcongruentiae") (padding . 0.2) (avoid-slur . outside) (side-axis . 1) (direction . 1)) (slashturn (script-stencil feta "slashturn" . "slashturn") (padding . 0.2) (avoid-slur . inside) (side-axis . 1) (direction . 1)) (snappizzicato (script-stencil feta "snappizzicato" . "snappizzicato") (padding . 0.2) (avoid-slur . outside) (side-axis . 1) (direction . 1)) (staccatissimo (avoid-slur . inside) (quantize-position . #t) (script-stencil feta "dstaccatissimo" . "ustaccatissimo") (padding . 0.2) (skyline-horizontal-padding . 0.1) (side-axis . 1) (side-relative-direction . -1) (toward-stem-shift . 1.0) (toward-stem-shift-in-column . 0.0)) (staccato (script-stencil feta "staccato" . "staccato") (side-axis . 1) (side-relative-direction . -1) (quantize-position . #t) (avoid-slur . inside) (toward-stem-shift . 1.0) (toward-stem-shift-in-column . 0.0) (padding . 0.2) (skyline-horizontal-padding . 0.1) (script-priority . -100)) (stopped (script-stencil feta "stopped" . "stopped") (avoid-slur . inside) (padding . 0.2) (side-axis . 1) (direction . 1)) (tenuto (script-stencil feta "tenuto" . "tenuto") (quantize-position . #t) (avoid-slur . inside) (padding . 0.2) (script-priority . -50) (side-axis . 1) (side-relative-direction . -1)) (toe (script-stencil feta "dpedaltoe" . "dpedaltoe") (padding . 0.2) (avoid-slur . around) (side-axis . 1) (direction . 1)) (trill (script-stencil feta "trill" . "trill") (direction . 1) (padding . 0.2) (avoid-slur . outside) (side-axis . 1) (script-priority . 150)) (turn (script-stencil feta "turn" . "turn") (avoid-slur . inside) (padding . 0.2) (side-axis . 1) (direction . 1)) (upbow (script-stencil feta "dupbow" . "uupbow") (avoid-slur . around) (padding . 0.2) (direction . 1) (side-axis . 1) (script-priority . 180)) (upmordent (script-stencil feta "upmordent" . "upmordent") (padding . 0.2) (avoid-slur . around) (side-axis . 1) (direction . 1)) (upprall (script-stencil feta "upprall" . "upprall") (padding . 0.2) (avoid-slur . around) (side-axis . 1) (direction . 1)) (varcoda (script-stencil feta "varcoda" . "varcoda") (padding . 0.2) (avoid-slur . outside) (side-axis . 1) (direction . 1)) (varcomma (script-stencil feta "lvarcomma" . "rvarcomma") (quantize-position . #t) (padding . 0.2) (avoid-slur . ignore) (side-axis . 1) (direction . 1)) (varheel (script-stencil feta "dpedalheel" . "dpedalheel") (padding . 0.2) (avoid-slur . around) (side-axis . 1) (direction . 1)) (vartoe (script-stencil feta "upedaltoe" . "upedaltoe") (padding . 0.2) (avoid-slur . around) (side-axis . 1) (direction . 1)) (verylongfermata (script-stencil feta "dverylongfermata" . "uverylongfermata") (padding . 0.4) (avoid-slur . around) (outside-staff-priority . 75) (script-priority . 175) (side-axis . 1) (direction . 1)) (veryshortfermata (script-stencil feta "dveryshortfermata" . "uveryshortfermata") (padding . 0.4) (avoid-slur . around) (outside-staff-priority . 75) (script-priority . 175) (side-axis . 1) (direction . 1))) - Set context property
sectionBarTypeto"||". - Set context property
segnoBarTypeto"S". - Set context property
segnoMarkFormattertoformat-segno-mark-considering-bar-lines. - Set context property
segnoStyleto'mark. - Set context property
slashChordSeparatorto"/". - Set context property
soloIITextto"Solo II". - Set context property
soloTextto"Solo". - Set context property
startRepeatBarTypeto".|:". - Set context property
startRepeatSegnoBarTypeto"S.|:". - Set context property
stringNumberOrientationsto:'(up down)
- Set context property
stringOneTopmostto#t. - Set context property
stringTuningsto:'(#<Pitch e' > #<Pitch b > #<Pitch g > #<Pitch d > #<Pitch a, > #<Pitch e, >)
- Set context property
strokeFingerOrientationsto:'(right)
- Set context property
subdivideBeamsto#f. - Set context property
submeasureBarsEnabledto#f. - Set context property
submeasureBarTypeto"!". - Set context property
suspendMelodyDecisionsto#f. - Set context property
systemStartDelimiterto'SystemStartBar. - Set context property
tablatureFormattofret-number-tablature-format. - Set context property
tabStaffLineLayoutFunctiontotablature-position-on-lines. - Set context property
tempoCountPrecisionto1/4. - Set context property
tieWaitForNoteto#f. - Set context property
timeSignatureSettingsto:'(((2 . 2) (beamExceptions (end (1/32 8 8 8 8)))) ((2 . 8) (beamExceptions (end (1/8 2)))) ((3 . 2) (beamExceptions (end (1/32 8 8 8 8 8 8)))) ((3 . 4) (beamExceptions (end (1/8 6) (1/12 3 3 3)))) ((3 . 8) (beamExceptions (end (1/8 3)))) ((4 . 2) (beamExceptions (end (1/16 4 4 4 4 4 4 4 4)))) ((4 . 4) (beamExceptions (end (1/8 4 4) (1/12 3 3 3 3)))) ((4 . 8) (beatStructure 2 2)) ((6 . 4) (beamExceptions (end (1/16 4 4 4 4 4 4)))) ((9 . 4) (beamExceptions (end (1/32 8 8 8 8 8 8 8 8)))) ((12 . 4) (beamExceptions (end (1/32 8 8 8 8 8 8 8 8 8 8 8 8)))) ((5 . 8) (beatStructure 3 2)) ((8 . 8) (beatStructure 3 3 2))) - Set context property
timeSignatureto:'(4 . 4)
- Set context property
timingto#t. - Set context property
topLevelAlignmentto#t. - Set context property
underlyingRepeatBarTypeto"||".
This is not a ‘Bottom’ context; search for such a one will commence after creating an implicit context of type Staff.
Context Score can contain
ChoirStaff, ChordNames, Devnull, DrumStaff, Dynamics, FiguredBass, FretBoards, GrandStaff, GregorianTranscriptionLyrics, GregorianTranscriptionStaff, KievanStaff, Lyrics, MensuralStaff, NoteNames, OneStaff, PetrucciStaff, PianoStaff, RhythmicStaff, Staff, StaffGroup, TabStaff, VaticanaLyrics and VaticanaStaff.
This context is built from the following engraver(s):
Apply_output_engraverApply a procedure to any grob acknowledged.
Music types accepted:
apply-output-eventBar_number_engraverA bar number may be created at any bar line, subject to the
barNumberVisibilitycallback. By default, 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 byStaff_collecting_engraver. This engraver usually createsBarNumbergrobs, but whencenterBarNumbersis true, it makesCenteredBarNumbergrobs instead.Properties (read)
alternativeNumber(non-negative, exact integer)When set, the first volta number for the current
\alternativeelement. Not set outside of alternatives.alternativeNumberingStyle(symbol)The scheme and style for numbering bars in repeat alternatives. If not set (the default), bar numbers continue through alternatives. Can be set to
numbersto reset the bar number at each alternative, or set tonumbers-with-lettersto reset and also include letter suffixes.barNumberFormatter(procedure)A procedure that takes a bar number, measure position, and alternative number and returns a markup of the bar number to print.
barNumberVisibility(procedure)A procedure that takes a bar number and a measure position and returns whether the corresponding bar number should be printed. Note that the actual print-out of bar numbers is controlled with the
break-visibilityproperty.The following procedures are predefined:
all-bar-numbers-visibleEnable bar numbers for all bars, including the first one and broken bars (which get bar numbers in parentheses).
first-bar-number-invisibleEnable bar numbers for all bars (including broken bars) except the first one. If the first bar is broken, it doesn’t get a bar number either.
first-bar-number-invisible-save-broken-barsEnable bar numbers for all bars (including broken bars) except the first one. A broken first bar gets a bar number.
first-bar-number-invisible-and-no-parenthesized-bar-numbersEnable bar numbers for all bars except the first bar and broken bars. This is the default.
(every-nth-bar-number-visible n)Assuming n is value 2, for example, this enables bar numbers for bars 2, 4, 6, etc.
(modulo-bar-number-visible n m)If bar numbers 1, 4, 7, etc., should be enabled, n (the modulo) must be set to 3 and m (the division remainder) to 1.
centerBarNumbers(boolean)Whether to center bar numbers in their measure instead of aligning them on the bar line.
currentBarNumber(integer)Contains the current bar number. This property is incremented at every bar line.
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
forbidBreak(boolean)If set to
#t, prevent a line break at this point, except if explicitly requested by the user.forceBreak(boolean)Set to
#twhen an event forcing a line break was heard.measurePosition(moment)The current point within the measure.
stavesFound(list of grobs)A list of all staff-symbols found.
This engraver creates the following layout object(s):
BarNumberandCenteredBarNumber.Beam_collision_engraverHelp beams avoid colliding with notes and clefs in other voices.
Break_align_engraverAlign grobs with corresponding
break-align-symbolsinto groups, and order the groups according tobreakAlignOrder. The left edge of the alignment gets a separate group, with a symbolleft-edge.This engraver creates the following layout object(s):
BreakAlignGroup,BreakAlignmentandLeftEdge.Centered_bar_number_align_engraverGroup measure-centered bar numbers in a
CenteredBarNumberLineSpannerso they end up on the same vertical position.Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
This engraver creates the following layout object(s):
CenteredBarNumberLineSpanner.Concurrent_hairpin_engraverCollect concurrent hairpins.
Footnote_engraverCreate footnote texts.
This engraver creates the following layout object(s):
Footnote.Grace_spacing_engraverBookkeeping of shortest starting and playing notes in grace note runs.
Properties (read)
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
GraceSpacing.Jump_engraverThis engraver creates instructions such as D.C. and Fine, placing them vertically outside the set of staves given in the
stavesFoundcontext property.If
Jump_engraveris added or moved to another context,Staff_collecting_engraveralso needs to be there so that marks appear at the intended Y location.Music types accepted:
ad-hoc-jump-event,dal-segno-eventandfine-eventProperties (read)
codaMarkCount(non-negative, exact integer)Updated at the end of each time step in which a coda mark appears: not set during the first time step, 0 up to the first coda mark, 1 from the first to the second, 2 from the second to the third, etc.
codaMarkFormatter(procedure)A procedure that creates a coda mark (which in conventional D.S. al Coda form indicates the start of the alternative endings), taking as arguments the mark sequence number and the context. It should return a markup object.
dalSegnoTextFormatter(procedure)Format a jump instruction such as D.S.
The first argument is the context.
The second argument is the number of times the instruction is performed.
The third argument is a list of three markups: start-markup, end-markup, and next-markup.
If start-markup is
#f, the form is da capo; otherwise the form is dal segno and start-markup is the sign at the start of the repeated section.If end-markup is not
#f, it is either the sign at the end of the main body of the repeat, or it is a Fine instruction. When it is a Fine instruction, next-markup is#f.If next-markup is not
#f, it is the mark to be jumped to after performing the body of the repeat, e.g., Coda.finalFineTextVisibility(boolean)Whether
\fineat the written end of the music should create a Fine instruction.fineText(markup)The text to print at
\fine.segnoMarkCount(non-negative, exact integer)Updated at the end of each time step in which a segno appears: not set during the first time step, 0 up to the first segno, 1 from the first to the second segno, 2 from the second to the third segno, etc.
segnoMarkFormatter(procedure)A procedure that creates a segno (which conventionally indicates the start of a repeated section), taking as arguments the mark sequence number and the context. It should return a markup object.
stavesFound(list of grobs)A list of all staff-symbols found.
This engraver creates the following layout object(s):
JumpScript.Mark_engraverThis engraver creates rehearsal marks, segno and coda marks, and section labels.
Mark_engravercreates marks, formats them, and places them vertically outside the set of staves given in thestavesFoundcontext property.If
Mark_engraveris added or moved to another context,Staff_collecting_engraveralso needs to be there so that marks appear at the intended Y location.By default,
Mark_engraversin multiple contexts create a common sequence of marks chosen by theScore-levelMark_tracking_translator. If independent sequences are desired, multipleMark_tracking_translatorsmust be used.Properties (read)
codaMarkFormatter(procedure)A procedure that creates a coda mark (which in conventional D.S. al Coda form indicates the start of the alternative endings), taking as arguments the mark sequence number and the context. It should return a markup object.
currentPerformanceMarkEvent(stream event)The coda, section, or segno mark event selected by
Mark_tracking_translatorfor engraving byMark_engraver.currentRehearsalMarkEvent(stream event)The ad-hoc or rehearsal mark event selected by
Mark_tracking_translatorfor engraving byMark_engraver.rehearsalMarkFormatter(procedure)A procedure taking as arguments the context and the sequence number of the rehearsal mark. It should return the formatted mark as a markup object.
segnoMarkFormatter(procedure)A procedure that creates a segno (which conventionally indicates the start of a repeated section), taking as arguments the mark sequence number and the context. It should return a markup object.
stavesFound(list of grobs)A list of all staff-symbols found.
This engraver creates the following layout object(s):
CodaMark,RehearsalMark,SectionLabelandSegnoMark.Mark_tracking_translatorThis translator chooses which marks
Mark_engravershould engrave.Music types accepted:
ad-hoc-mark-event,coda-mark-event,rehearsal-mark-event,section-label-eventandsegno-mark-eventProperties (read)
codaMarkCount(non-negative, exact integer)Updated at the end of each time step in which a coda mark appears: not set during the first time step, 0 up to the first coda mark, 1 from the first to the second, 2 from the second to the third, etc.
rehearsalMark(integer)The next rehearsal mark to print.
segnoMarkCount(non-negative, exact integer)Updated at the end of each time step in which a segno appears: not set during the first time step, 0 up to the first segno, 1 from the first to the second segno, 2 from the second to the third segno, etc.
Properties (write)
codaMarkCount(non-negative, exact integer)Updated at the end of each time step in which a coda mark appears: not set during the first time step, 0 up to the first coda mark, 1 from the first to the second, 2 from the second to the third, etc.
currentPerformanceMarkEvent(stream event)The coda, section, or segno mark event selected by
Mark_tracking_translatorfor engraving byMark_engraver.currentRehearsalMarkEvent(stream event)The ad-hoc or rehearsal mark event selected by
Mark_tracking_translatorfor engraving byMark_engraver.rehearsalMark(integer)The next rehearsal mark to print.
segnoMarkCount(non-negative, exact integer)Updated at the end of each time step in which a segno appears: not set during the first time step, 0 up to the first segno, 1 from the first to the second segno, 2 from the second to the third segno, etc.
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 byStaff_collecting_engraver.Music types accepted:
tempo-change-eventProperties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
metronomeMarkFormatter(procedure)How to produce a metronome markup. Called with two arguments: a
TempoChangeEventand context.stavesFound(list of grobs)A list of all staff-symbols found.
tempoHideNote(boolean)Hide the note = count in tempo marks.
This engraver creates the following layout object(s):
MetronomeMark.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:
break-eventandlabel-eventProperties (read)
forbidBreak(boolean)If set to
#t, prevent a line break at this point, except if explicitly requested by the user.Properties (write)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
forbidBreak(boolean)If set to
#t, prevent a line break at this point, except if explicitly requested by the user.forceBreak(boolean)Set to
#twhen an event forcing a line break was heard.This engraver creates the following layout object(s):
NonMusicalPaperColumnandPaperColumn.Parenthesis_engraverParenthesize objects whose
parenthesizeproperty is#t.This engraver creates the following layout object(s):
Parentheses.Repeat_acknowledge_engraverThis engraver augments
repeatCommandswithstart-repeatandend-repeatentries based on received events. This is internal behavior that allows simplifying other engravers that must support both\repeat voltaand manual repeats.This engraver also resets
repeatCommandsat the beginning of each time step. This is user-facing behavior: it allows setting a value for the current time step simply with\setrather than requiring\once \set.Music types accepted:
volta-repeat-end-eventandvolta-repeat-start-eventProperties (write)
repeatCommands(list)A list of commands related to volta-style repeats. In general, each element is a list,
'(command args…), but a command with no arguments may be abbreviated to a symbol; e.g.,'((start-repeat))may be given as'(start-repeat).
end-repeat return-countEnd a repeated section. return-count is the number of times to go back from this point to the beginning of the section.
start-repeat repeat-countStart a repeated section. repeat-count is the number of times to perform this section.
volta textIf text is markup, start a volta bracket with that label; if text is
#f, end a volta bracket.Show_control_points_engraverCreate grobs to visualize control points of Bézier curves (ties and slurs) for ease of tweaking.
This engraver creates the following layout object(s):
ControlPointandControlPolygon.Spacing_engraverMake a
SpacingSpannerand do bookkeeping of shortest starting and playing notes.Music types accepted:
spacing-section-eventProperties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
proportionalNotationDuration(non-negative exact rational or +inf.0)Global override for shortest-playing duration. This is used for switching on proportional notation.
This engraver creates the following layout object(s):
SpacingSpanner.Spanner_tracking_engraverHelper for creating spanners attached to other spanners. If a spanner has the
sticky-grob-interface, the engraver tracks the spanner contained in itssticky-hostobject. When the host ends, the sticky spanner attached to it has its end announced too.Staff_collecting_engraverMaintain the
stavesFoundvariable.Properties (read)
stavesFound(list of grobs)A list of all staff-symbols found.
Properties (write)
stavesFound(list of grobs)A list of all staff-symbols found.
Stanza_number_align_engraverThis engraver ensures that stanza numbers are neatly aligned across all lyrics contexts.
System_start_delimiter_engraverCreate a system start delimiter (i.e., a
SystemStartBar,SystemStartBrace,SystemStartBracketorSystemStartSquarespanner).Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
systemStartDelimiter(symbol)Which grob to make for the start of the system/staff? Set to
SystemStartBrace,SystemStartBracketorSystemStartBar.systemStartDelimiterHierarchy(pair)A nested list, indicating the nesting of a start delimiters.
This engraver creates the following layout object(s):
SystemStartBar,SystemStartBrace,SystemStartBracketandSystemStartSquare.Text_mark_engraverEngraves arbitrary textual marks.
Music types accepted:
text-mark-eventProperties (read)
stavesFound(list of grobs)A list of all staff-symbols found.
This engraver creates the following layout object(s):
TextMark.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.Music types accepted:
alternative-event,bar-check-event,bar-event,fine-event,partial-eventandpolymetric-time-signature-eventProperties (read)
alternativeNumberingStyle(symbol)The scheme and style for numbering bars in repeat alternatives. If not set (the default), bar numbers continue through alternatives. Can be set to
numbersto reset the bar number at each alternative, or set tonumbers-with-lettersto reset and also include letter suffixes.beatBase(positive exact rational or +inf.0)The musical length corresponding to one unit of
beatStructure.currentBarNumber(integer)Contains the current bar number. This property is incremented at every bar line.
internalBarNumber(integer)Contains the current bar number. This property is used for internal timekeeping, among others by the
Accidental_engraver.measureLength(positive exact rational or +inf.0)The musical length of the current measure.
measurePosition(moment)The current point within the measure.
timeSignature(time signature)A time-signature specification. See the
\timecommand.Properties (write)
alternativeNumber(non-negative, exact integer)When set, the first volta number for the current
\alternativeelement. Not set outside of alternatives.beatBase(positive exact rational or +inf.0)The musical length corresponding to one unit of
beatStructure.currentBarNumber(integer)Contains the current bar number. This property is incremented at every bar line.
internalBarNumber(integer)Contains the current bar number. This property is used for internal timekeeping, among others by the
Accidental_engraver.measureLength(positive exact rational or +inf.0)The musical length of the current measure.
measurePosition(moment)The current point within the measure.
measureStartNow(boolean)True at the beginning of a measure.
timeSignature(time signature)A time-signature specification. See the
\timecommand.Tweak_engraverRead the
tweaksproperty from the originating event, and set properties.Vertical_align_engraverCatch groups (staves, lyrics lines, etc.) and stack them vertically.
Properties (read)
alignAboveContext(string)Where to insert newly created context in vertical alignment.
alignBelowContext(string)Where to insert newly created context in vertical alignment.
hasAxisGroup(boolean)True if the current context is contained in an axis group.
This engraver creates the following layout object(s):
StaffGrouperandVerticalAlignment.Volta_engraverMake volta brackets.
Music types accepted:
dal-segno-event,fine-eventandvolta-span-eventProperties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
printTrivialVoltaRepeats(boolean)Notate volta-style repeats even when the repeat count is 1.
repeatCommands(list)A list of commands related to volta-style repeats. In general, each element is a list,
'(command args…), but a command with no arguments may be abbreviated to a symbol; e.g.,'((start-repeat))may be given as'(start-repeat).
end-repeat return-countEnd a repeated section. return-count is the number of times to go back from this point to the beginning of the section.
start-repeat repeat-countStart a repeated section. repeat-count is the number of times to perform this section.
volta textIf text is markup, start a volta bracket with that label; if text is
#f, end a volta bracket.stavesFound(list of grobs)A list of all staff-symbols found.
This engraver creates the following layout object(s):
VoltaBracketandVoltaBracketSpanner.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Score ] | [ Up: Contexts ] | [ StaffGroup > ] |
2.1.32 Staff ¶
Handles clefs, bar lines, keys, accidentals. It can contain
Voice contexts.
This context creates the following layout object(s):
Accidental, AccidentalCautionary, AccidentalPlacement, AccidentalSuggestion, BarLine, BassFigure, BassFigureAlignment, BassFigureAlignmentPositioning, BassFigureBracket, BassFigureContinuation, BassFigureLine, BreathingSign, CaesuraScript, Clef, ClefModifier, CueClef, CueEndClef, DotColumn, FingeringColumn, InstrumentName, KeyCancellation, KeySignature, LedgerLineSpanner, NoteCollision, OptionalMaterialBracket, OttavaBracket, PianoPedalBracket, RestCollision, ScriptColumn, ScriptRow, SostenutoPedal, SostenutoPedalLineSpanner, StaffEllipsis, StaffHighlight, StaffSpacing, StaffSymbol, SustainPedal, SustainPedalLineSpanner, TimeSignature, UnaCordaPedal, UnaCordaPedalLineSpanner and VerticalAxisGroup.
This context sets the following properties:
- Set context property
createSpacingto#t. - Set context property
ignoreFiguredBassRestto#f. - Set context property
instrumentNameto'(). - Set context property
localAlterationsto'(). - Set context property
ottavationMarkupsto:'((4 . "29") (3 . "22") (2 . "15") (1 . "8") (-1 . "8") (-2 . "15") (-3 . "22") (-4 . "29"))
- Set context property
shortInstrumentNameto'().
This is not a ‘Bottom’ context; search for such a one will commence after creating an implicit context of type Voice.
This context is built from the following engraver(s):
Accidental_engraverMake accidentals. Catch note heads, ties and notices key-change events. This engraver usually lives at Staff level, but reads the settings for Accidental at
Voicelevel, so you can\overridethem atVoice.Properties (read)
accidentalGrouping(symbol)If set to
'voice, accidentals on the same note in different octaves may be horizontally staggered if in different voices.autoAccidentals(list)List of different ways to typeset an accidental.
For determining when to print an accidental, several different rules are tried. The rule that gives the highest number of accidentals is used.
Each entry in the list is either a symbol or a procedure.
- symbol
The symbol is the name of the context in which the following rules are to be applied. For example, if context is 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.
The procedure returns a pair of Booleans. The first states whether an extra natural should be added. The second states whether an accidental should be printed.
(#t . #f)does not make sense.autoCautionaries(list)List similar to
autoAccidentals, but it controls cautionary accidentals rather than normal ones. Both lists are tried, and the one giving the most accidentals wins. In case of draw, a normal accidental is typeset.extraNatural(boolean)Whether to typeset an extra natural sign before accidentals that reduce the effect of a previous alteration.
harmonicAccidentals(boolean)If set, harmonic notes in chords get accidentals.
internalBarNumber(integer)Contains the current bar number. This property is used for internal timekeeping, among others by the
Accidental_engraver.keyAlterations(list)The current key signature. This is an alist containing
(step . alter)or((octave . step) . alter), where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.,keyAlterations = #`((6 . ,FLAT)).localAlterations(list)The key signature at this point in the measure. The format is the same as for
keyAlterations, but can also contain((octave . name) . (alter barnumber . measureposition))pairs.Properties (write)
localAlterations(list)The key signature at this point in the measure. The format is the same as for
keyAlterations, but can also contain((octave . name) . (alter barnumber . measureposition))pairs.This engraver creates the following layout object(s):
Accidental,AccidentalCautionary,AccidentalPlacementandAccidentalSuggestion.Alteration_glyph_engraverSet the
glyph-name-alistof all grobs having theaccidental-switch-interfaceto the value of the context’salterationGlyphsproperty, when defined.Properties (read)
alterationGlyphs(list)Alist mapping alterations to accidental glyphs. Alterations are given as exact numbers, e.g., -1/2 for flat. This applies to all grobs that can print accidentals.
Apply_output_engraverApply a procedure to any grob acknowledged.
Music types accepted:
apply-output-eventAxis_group_engraverGroup all objects created in this context in a
VerticalAxisGroupspanner.Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
hasAxisGroup(boolean)True if the current context is contained in an axis group.
keepAliveInterfaces(list)A list of symbols, signifying grob interfaces that are worth keeping a staff with
remove-emptyset around for.Properties (write)
hasAxisGroup(boolean)True if the current context is contained in an axis group.
This engraver creates the following layout object(s):
VerticalAxisGroup.Bar_engraverCreate bar lines for various commands, including
\\bar.If
forbidBreakBetweenBarLinesis true, allow line breaks at bar lines only.Music types accepted:
ad-hoc-jump-event,caesura-event,coda-mark-event,dal-segno-event,fine-event,section-eventandsegno-mark-eventProperties (read)
caesuraType(list)An alist
((bar-line . bar-type) (breath . breath-type) (scripts . script-type...) (underlying-bar-line . bar-type))specifying which breath mark, bar line, and scripts to create at
\caesura. All entries are optional.
bar-linehas higher priority than a measure bar line andunderlying-bar-linehas lower priority than a measure bar line.caesuraTypeTransform(procedure)An engraver callback taking three arguments and returning an alist of the same kind as
caesuraType.The first argument is the context.
The second argument is the value of
caesuraTypewith an additional entry(articulations . symbol-list)identifying the articulations attached to the caesura in the music. If the transform function returns this second argument unmodified, it is as if no transform function were set; the function is free to return a different value. The transform function can remove articulations, but any added articulations are ignored.The third argument is a symbol-list identifying certain things the engraver has observed.
bar-lineindicates that the engraver has observed aBarLineat the current moment.doubleRepeatBarType(string)Bar line to insert where the end of one
\repeat voltacoincides with the start of another. The default is ‘:..:’.doubleRepeatSegnoBarType(string)Bar line to insert where an in-staff segno coincides with the end of one
\repeat voltaand the beginning of another. The default is ‘:|.S.|:’.endRepeatBarType(string)Bar line to insert at the end of a
\repeat volta. The default is ‘:|.’.endRepeatSegnoBarType(string)Bar line to insert where an in-staff segno coincides with the end of a
\repeat volta. The default is ‘:|.S’.fineBarType(string)Bar line to insert at
\fine. Where there is also a repeat bar line, the repeat bar line takes precedence and this value is appended to it as an annotation. The default is ‘|.’.fineSegnoBarType(string)Bar line to insert where an in-staff segno coincides with
\fine. The default is ‘|.S’.fineStartRepeatSegnoBarType(string)Bar line to insert where an in-staff segno coincides with
\fineand the start of a\repeat volta. The default is ‘|.S.|:’.forbidBreakBetweenBarLines(boolean)If set to
#t,Bar_engraverforbids line breaks where there is no bar line.measureBarType(string)Bar line to insert at a measure boundary.
printInitialRepeatBar(boolean)Use a special bar line at the start of a volta repeat even at the beginning of the piece.
printTrivialVoltaRepeats(boolean)Notate volta-style repeats even when the repeat count is 1.
repeatCommands(list)A list of commands related to volta-style repeats. In general, each element is a list,
'(command args…), but a command with no arguments may be abbreviated to a symbol; e.g.,'((start-repeat))may be given as'(start-repeat).
end-repeat return-countEnd a repeated section. return-count is the number of times to go back from this point to the beginning of the section.
start-repeat repeat-countStart a repeated section. repeat-count is the number of times to perform this section.
volta textIf text is markup, start a volta bracket with that label; if text is
#f, end a volta bracket.sectionBarType(string)Bar line to insert at
\section. Where there is also a repeat bar line, the repeat bar line takes precedence and this value is appended to it as an annotation. The default is ‘||’.segnoBarType(string)Bar line to insert at an in-staff segno. The default is ‘S’.
segnoStyle(symbol)A symbol that indicates how to print a segno:
bar-lineormark.startRepeatBarType(string)Bar line to insert at the start of a
\repeat volta. The default is ‘.|:’.startRepeatSegnoBarType(string)Bar line to insert where an in-staff segno coincides with the start of a
\repeat volta. The default is ‘S.|:’.submeasureBarsEnabled(boolean)Whether to insert submeasure bar lines at boundaries specified by
submeasureStructure. They are typically enabled selectively to clarify complex rhythms.submeasureBarType(string)Bar line to insert at submeasure boundaries specified by
submeasureStructure, whensubmeasureBarsEnabledallows.submeasureStructure(number list)A sequence describing subdivisions of a measure. Each element tells the distance from the previous division in units of
beatBase.underlyingRepeatBarType(string)Bar line to insert at points of repetition or departure where no bar line would normally appear, for example at the end of a system broken in mid measure where the next system begins with a segno. Where there is also a repeat bar line, the repeat bar line takes precedence and this value is appended to it as an annotation. The default is ‘||’.
whichBar(string)The current bar line type, or
'()if there is no bar line. Setting this explicitly in user code is deprecated. Use\baror related commands to set it.Properties (write)
currentBarLine(graphical (layout) object)Set to the
BarLinethatBar_engraverhas created in the current time step.forbidBreak(boolean)If set to
#t, prevent a line break at this point, except if explicitly requested by the user.This engraver creates the following layout object(s):
BarLine.Caesura_engraverNotate a short break in sound that does not shorten the previous note.
Depending on the result of passing the value of
caesuraTypethroughcaesuraTypeTransform, this engraver may create aBreathingSignwithCaesuraScriptgrobs aligned to it, or it may createCaesuraScriptgrobs and align them to aBarLine.If this engraver observes a
BarLine, it callscaesuraTypeTransformagain with the new information, and if necessary, recreates its grobs.Music types accepted:
caesura-eventProperties (read)
breathMarkDefinitions(list)The description of breath marks. This is used by the
Breathing_sign_engraver. See scm/breath.scm for more information.caesuraType(list)An alist
((bar-line . bar-type) (breath . breath-type) (scripts . script-type...) (underlying-bar-line . bar-type))specifying which breath mark, bar line, and scripts to create at
\caesura. All entries are optional.
bar-linehas higher priority than a measure bar line andunderlying-bar-linehas lower priority than a measure bar line.caesuraTypeTransform(procedure)An engraver callback taking three arguments and returning an alist of the same kind as
caesuraType.The first argument is the context.
The second argument is the value of
caesuraTypewith an additional entry(articulations . symbol-list)identifying the articulations attached to the caesura in the music. If the transform function returns this second argument unmodified, it is as if no transform function were set; the function is free to return a different value. The transform function can remove articulations, but any added articulations are ignored.The third argument is a symbol-list identifying certain things the engraver has observed.
bar-lineindicates that the engraver has observed aBarLineat the current moment.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):
BreathingSignandCaesuraScript.Clef_engraverDetermine and set reference point for pitches.
Properties (read)
clefGlyph(string)Name of the symbol within the music font.
clefPosition(number)Where should the center of the clef symbol go, measured in half staff spaces from the center of the staff.
clefTransposition(integer)Add this much extra transposition to a clef. Values of 7 and -7 are common.
clefTranspositionStyle(symbol)Determines the way the
ClefModifiergrob of a clef is displayed. Possible values are'default,'parenthesized, and'bracketed.explicitClefVisibility(vector)‘break-visibility’ function for clef changes.
forbidBreak(boolean)If set to
#t, prevent a line break at this point, except if explicitly requested by the user.forceBreak(boolean)Set to
#twhen an event forcing a line break was heard.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):
ClefandClefModifier.Collision_engraverCollect
NoteColumns, and as soon as there are two or more, put them in aNoteCollisionobject.This engraver creates the following layout object(s):
NoteCollision.Cue_clef_engraverDetermine and set reference point for pitches in cued voices.
Properties (read)
clefTransposition(integer)Add this much extra transposition to a clef. Values of 7 and -7 are common.
cueClefGlyph(string)Name of the symbol within the music font.
cueClefPosition(number)Where should the center of the clef symbol go, measured in half staff spaces from the center of the staff.
cueClefTransposition(integer)Add this much extra transposition to a cue clef. Values of 7 and -7 are common.
cueClefTranspositionStyle(symbol)Determines the way the
ClefModifiergrob of a cue clef is displayed. Possible values are'default,'parenthesized, and'bracketed.explicitCueClefVisibility(vector)‘break-visibility’ function for cue clef changes.
forbidBreak(boolean)If set to
#t, prevent a line break at this point, except if explicitly requested by the user.forceBreak(boolean)Set to
#twhen an event forcing a line break was heard.middleCCuePosition(number)The position of the middle C, as determined only by the clef of the cue notes. This can be calculated by looking at
cueClefPositionandcueClefGlyph.This engraver creates the following layout object(s):
ClefModifier,CueClefandCueEndClef.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):
DotColumn.Figured_bass_engraverMake figured bass numbers.
Music types accepted:
bass-figure-eventandrest-eventProperties (read)
figuredBassAlterationDirection(direction)Where to put alterations relative to the main figure.
figuredBassCenterContinuations(boolean)Whether to vertically center pairs of extender lines. This does not work with three or more lines.
figuredBassFormatter(procedure)A routine generating a markup for a bass figure.
ignoreFiguredBassRest(boolean)Don’t swallow rest events.
implicitBassFigures(list)A list of bass figures that are not printed as numbers, but only as extender lines.
useBassFigureExtenders(boolean)Whether to use extender lines for repeated bass figures.
This engraver creates the following layout object(s):
BassFigure,BassFigureAlignment,BassFigureBracket,BassFigureContinuationandBassFigureLine.Figured_bass_position_engraverPosition figured bass alignments over notes.
This engraver creates the following layout object(s):
BassFigureAlignmentPositioning.Fingering_column_engraverFind potentially colliding scripts and put them into a
FingeringColumnobject; that will fix the collisions.This engraver creates the following layout object(s):
FingeringColumn.Font_size_engraverPut
fontSizeintofont-sizegrob property.Properties (read)
fontSize(number)The relative size of all grobs in a context.
Grob_pq_engraverAdministrate when certain grobs (e.g., note heads) stop playing.
Properties (read)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g., note heads, spanners, etc.).Properties (write)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g., note heads, spanners, etc.).Horizontal_script_engraverAligns
ScripthorizontallyInstrument_name_engraverCreate a system start text for instrument or vocal names.
Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
instrumentName(markup)The name to print left of a staff. The
instrumentNameproperty labels the staff in the first system, and theshortInstrumentNameproperty labels following lines.shortInstrumentName(markup)See
instrumentName.shortVocalName(markup)Name of a vocal line, short version.
vocalName(markup)Name of a vocal line.
This engraver creates the following layout object(s):
InstrumentName.Key_engraverEngrave a key signature.
Music types accepted:
key-change-eventProperties (read)
createKeyOnClefChange(boolean)Print a key signature whenever the clef is changed.
explicitKeySignatureVisibility(vector)‘break-visibility’ function for explicit key changes. ‘\override’ of the
break-visibilityproperty will set the visibility for normal (i.e., at the start of the line) key signatures.extraNatural(boolean)Whether to typeset an extra natural sign before accidentals that reduce the effect of a previous alteration.
forbidBreak(boolean)If set to
#t, prevent a line break at this point, except if explicitly requested by the user.forceBreak(boolean)Set to
#twhen an event forcing a line break was heard.keyAlterationOrder(list)A list of pairs that defines in what order alterations should be printed. The format of an entry is
(step . alter), where step is a number from 0 to 6 and alter from -1 (double flat) to 1 (double sharp), with exact rationals for alterations in between, e.g., 1/2 for sharp.keyAlterations(list)The current key signature. This is an alist containing
(step . alter)or((octave . step) . alter), where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.,keyAlterations = #`((6 . ,FLAT)).lastKeyAlterations(list)Last key signature before a key signature change.
middleCClefPosition(number)The position of the middle C, as determined only by the clef. This can be calculated by looking at
clefPositionandclefGlyph.printKeyCancellation(boolean)Print restoration alterations before a key signature change.
Properties (write)
keyAlterations(list)The current key signature. This is an alist containing
(step . alter)or((octave . step) . alter), where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.,keyAlterations = #`((6 . ,FLAT)).lastKeyAlterations(list)Last key signature before a key signature change.
tonic(pitch)The tonic of the current scale.
This engraver creates the following layout object(s):
KeyCancellationandKeySignature.Ledger_line_engraverCreate the spanner to draw ledger lines, and notices objects that need ledger lines.
This engraver creates the following layout object(s):
LedgerLineSpanner.Merge_mmrest_numbers_engraverEngraver to merge multi-measure rest numbers in multiple voices.
This works by gathering all multi-measure rest numbers at a time step. If they all have the same text and there are at least two only the first one is retained and the others are hidden.
Non_musical_script_column_engraverFind potentially colliding non-musical scripts and put them into a
ScriptColumnobject; that will fix the collisions.This engraver creates the following layout object(s):
ScriptColumn.Optional_material_bracket_engraverNotate in-staff brackets for optional material.
Music types accepted:
optional-material-eventThis engraver creates the following layout object(s):
OptionalMaterialBracket.Ottava_spanner_engraverCreate a text spanner when the ottavation property changes.
Music types accepted:
ottava-eventProperties (read)
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
middleCOffset(number)The offset of middle C from the position given by
middleCClefPositionThis is used for ottava brackets.ottavation(markup)If set, the text for an ottava spanner. Changing this creates a new text spanner.
This engraver creates the following layout object(s):
OttavaBracket.Piano_pedal_align_engraverAlign piano pedal symbols and brackets.
Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
This engraver creates the following layout object(s):
SostenutoPedalLineSpanner,SustainPedalLineSpannerandUnaCordaPedalLineSpanner.Piano_pedal_engraverEngrave piano pedal symbols and brackets.
Music types accepted:
sostenuto-event,sustain-eventanduna-corda-eventProperties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
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,SustainPedalandUnaCordaPedal.Pure_from_neighbor_engraverCoordinates items that get their pure heights from their neighbors.
Rest_collision_engraverHandle collisions of rests.
Properties (read)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g., note heads, spanners, etc.).This engraver creates the following layout object(s):
RestCollision.Script_row_engraverDetermine order in horizontal side position elements.
This engraver creates the following layout object(s):
ScriptRow.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
currentCommandColumncontains items that will affect spacing.This engraver creates the following layout object(s):
StaffSpacing.Skip_typesetting_engraverCreate a
StaffEllipsiswhenskipTypesettingis used.Properties (read)
skipTypesetting(boolean)If true, no typesetting is done, speeding up the interpretation phase. Useful for debugging large scores.
This engraver creates the following layout object(s):
StaffEllipsis.Staff_collecting_engraverMaintain the
stavesFoundvariable.Properties (read)
stavesFound(list of grobs)A list of all staff-symbols found.
Properties (write)
stavesFound(list of grobs)A list of all staff-symbols found.
Staff_highlight_engraverHighlights music passages.
Music types accepted:
staff-highlight-eventProperties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
This engraver creates the following layout object(s):
StaffHighlight.Staff_symbol_engraverCreate the constellation of five (default) staff lines.
Music types accepted:
staff-span-eventThis engraver creates the following layout object(s):
StaffSymbol.Time_signature_engraverCreate a
TimeSignaturewhenevertimeSignaturechanges.Music types accepted:
polymetric-time-signature-eventandreference-time-signature-eventProperties (read)
initialTimeSignatureVisibility(vector)break visibility for the initial time signature.
partialBusy(boolean)Signal that \partial acts at the current time step.
timeSignature(time signature)A time-signature specification. See the
\timecommand.This engraver creates the following layout object(s):
TimeSignature.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Staff ] | [ Up: Contexts ] | [ StandaloneRhythmScore > ] |
2.1.33 StaffGroup ¶
Connect staves vertically by adding a bracket on the left side. The bar lines of the contained staves are connected vertically, too.
This context creates the following layout object(s):
Arpeggio, ChordBracket, ChordSlur, InstrumentName, SpanBar, SpanBarStub, StaffGrouper, SystemStartBar, SystemStartBrace, SystemStartBracket, SystemStartSquare and VerticalAlignment.
This context sets the following properties:
- Set context property
instrumentNameto'(). - Set context property
localAlterationsto#f. - Set context property
localAlterationsto'(). - Set context property
shortInstrumentNameto'(). - Set context property
systemStartDelimiterto'SystemStartBracket. - Set context property
topLevelAlignmentto#f. - Set grob property
extra-spacing-widthinDynamicTextto#f.
This is not a ‘Bottom’ context; search for such a one will commence after creating an implicit context of type Staff.
Context StaffGroup can contain
ChoirStaff, ChordNames, Devnull, DrumStaff, Dynamics, FiguredBass, FretBoards, GrandStaff, GregorianTranscriptionLyrics, GregorianTranscriptionStaff, KievanStaff, Lyrics, MensuralStaff, NoteNames, OneStaff, PetrucciStaff, PianoStaff, RhythmicStaff, Staff, StaffGroup, TabStaff, VaticanaLyrics and VaticanaStaff.
This context is built from the following engraver(s):
Apply_output_engraverApply a procedure to any grob acknowledged.
Music types accepted:
apply-output-eventInstrument_name_engraverCreate a system start text for instrument or vocal names.
Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
instrumentName(markup)The name to print left of a staff. The
instrumentNameproperty labels the staff in the first system, and theshortInstrumentNameproperty labels following lines.shortInstrumentName(markup)See
instrumentName.shortVocalName(markup)Name of a vocal line, short version.
vocalName(markup)Name of a vocal line.
This engraver creates the following layout object(s):
InstrumentName.Span_arpeggio_engraverMake arpeggios, non-arpeggiato brackets, and vertical slurs spanning multiple staves.
Properties (read)
connectArpeggios(boolean)If set, connect arpeggios across piano staff.
connectChordBrackets(boolean)If set, connect chord brackets across piano staff.
connectChordSlurs(boolean)If set, connect chord slurs across piano staff.
This engraver creates the following layout object(s):
Arpeggio,ChordBracketandChordSlur.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):
SpanBar.Span_bar_stub_engraverMake stubs for span bars in all contexts that the span bars cross.
This engraver creates the following layout object(s):
SpanBarStub.System_start_delimiter_engraverCreate a system start delimiter (i.e., a
SystemStartBar,SystemStartBrace,SystemStartBracketorSystemStartSquarespanner).Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
systemStartDelimiter(symbol)Which grob to make for the start of the system/staff? Set to
SystemStartBrace,SystemStartBracketorSystemStartBar.systemStartDelimiterHierarchy(pair)A nested list, indicating the nesting of a start delimiters.
This engraver creates the following layout object(s):
SystemStartBar,SystemStartBrace,SystemStartBracketandSystemStartSquare.Vertical_align_engraverCatch groups (staves, lyrics lines, etc.) and stack them vertically.
Properties (read)
alignAboveContext(string)Where to insert newly created context in vertical alignment.
alignBelowContext(string)Where to insert newly created context in vertical alignment.
hasAxisGroup(boolean)True if the current context is contained in an axis group.
This engraver creates the following layout object(s):
StaffGrouperandVerticalAlignment.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < StaffGroup ] | [ Up: Contexts ] | [ StandaloneRhythmStaff > ] |
2.1.34 StandaloneRhythmScore ¶
A Score-level context for use by
\markup \rhythm.
This context also accepts commands for the following context(s):
Score and Timing.
This context creates the following layout object(s):
BarNumber, BreakAlignGroup, BreakAlignment, CenteredBarNumber, CenteredBarNumberLineSpanner, CodaMark, ControlPoint, ControlPolygon, Footnote, GraceSpacing, JumpScript, LeftEdge, MetronomeMark, NonMusicalPaperColumn, PaperColumn, Parentheses, RehearsalMark, SectionLabel, SegnoMark, SpacingSpanner, StaffGrouper, SystemStartBar, SystemStartBrace, SystemStartBracket, SystemStartSquare, TextMark, VerticalAlignment, VoltaBracket and VoltaBracketSpanner.
This context sets the following properties:
- Set context property
additionalPitchPrefixto"add". - Set context property
aDueTextto"a2". - Set context property
alterationGlyphsto#f. - Set context property
alternativeRestoresto:'(measurePosition measureLength measureStartNow lastChord)
- Set context property
associatedVoiceTypeto'Voice. - Set context property
autoAccidentalsto:'(Staff #<procedure at lily/music-functions.scm:1794:0 (context pitch barnum)>)
- Set context property
autoBeamChecktodefault-auto-beam-check. - Set context property
autoBeamingto#t. - Set context property
autoCautionariesto'(). - Set context property
barNumberFormattertorobust-bar-number-function. - Set context property
barNumberVisibilitytofirst-bar-number-invisible-and-no-parenthesized-bar-numbers. - Set context property
beamHalfMeasureto#t. - Set context property
breathMarkDefinitionsto:'((altcomma (text #<procedure musicglyph-markup (layout props glyph-name)> "scripts.raltcomma")) (caesura (text #<procedure musicglyph-markup (layout props glyph-name)> "scripts.caesura.straight")) (chantdoublebar (extra-spacing-width -1.0 . 0.0) (stencil . #<procedure ly:breathing-sign::finalis (_)>) (Y-offset . 0.0)) (chantfullbar (extra-spacing-width -1.0 . 0.0) (stencil . #<procedure ly:breathing-sign::divisio-maxima (_)>) (Y-offset . 0.0)) (chanthalfbar (extra-spacing-height . #<procedure item::extra-spacing-height-including-staff (grob)>) (extra-spacing-width -1.0 . 0.0) (stencil . #<procedure ly:breathing-sign::divisio-maior (_)>) (Y-offset . 0.0)) (chantquarterbar (extra-spacing-height . #<procedure item::extra-spacing-height-including-staff (grob)>) (extra-spacing-width -1.0 . 0.0) (stencil . #<procedure ly:breathing-sign::divisio-minima (_)>)) (comma (text #<procedure musicglyph-markup (layout props glyph-name)> "scripts.rcomma")) (curvedcaesura (text #<procedure musicglyph-markup (layout props glyph-name)> "scripts.caesura.curved")) (outsidecomma (outside-staff-priority . 40) (text #<procedure musicglyph-markup (layout props glyph-name)> "scripts.rcomma")) (spacer (text #<procedure null-markup (layout props)>)) (tickmark (outside-staff-priority . 40) (text #<procedure musicglyph-markup (layout props glyph-name)> "scripts.tickmark")) (upbow (outside-staff-priority . 40) (text #<procedure musicglyph-markup (layout props glyph-name)> "scripts.uupbow")) (varcomma (text #<procedure musicglyph-markup (layout props glyph-name)> "scripts.rvarcomma"))) - Set context property
breathMarkTypeto'comma. - Set context property
caesuraTypeto:'((breath . caesura))
- Set context property
centerBarNumbersto#f. - Set context property
chordNameExceptionsto:'(((#<Pitch e' > #<Pitch gis' >) #<procedure line-markup (layout props args)> ("+")) ((#<Pitch ees' > #<Pitch ges' >) #<procedure line-markup (layout props args)> ((#<procedure line-markup (layout props args)> ((#<procedure fontsize-markup (layout props increment arg)> 2 "°"))))) ((#<Pitch ees' > #<Pitch ges' > #<Pitch bes' >) #<procedure line-markup (layout props args)> ((#<procedure super-markup (layout props arg)> "ø"))) ((#<Pitch ees' > #<Pitch ges' > #<Pitch beses' >) #<procedure concat-markup (layout props args)> ((#<procedure line-markup (layout props args)> ((#<procedure fontsize-markup (layout props increment arg)> 2 "°"))) (#<procedure super-markup (layout props arg)> "7"))) ((#<Pitch e' > #<Pitch g' > #<Pitch bes' > #<Pitch des'' > #<Pitch ees'' > #<Pitch fis'' > #<Pitch aes'' >) #<procedure line-markup (layout props args)> ((#<procedure super-markup (layout props arg)> "alt"))) ((#<Pitch g' >) #<procedure line-markup (layout props args)> ((#<procedure super-markup (layout props arg)> "5"))) ((#<Pitch g' > #<Pitch c'' >) #<procedure line-markup (layout props args)> ((#<procedure super-markup (layout props arg)> "5")))) - Set context property
chordNameFunctiontoignatzek-chord-names. - Set context property
chordNameLowercaseMinorto#f. - Set context property
chordNameSeparatorto:'(#<procedure hspace-markup (layout props amount)> 0.5)
- Set context property
chordNoteNamerto#<procedure at lily/chord-name.scm:118:0 (pitch lowercase?)>. - Set context property
chordPrefixSpacerto0. - Set context property
chordRootNamerto#<procedure at lily/chord-name.scm:118:0 (pitch lowercase?)>. - Set context property
clefGlyphto"clefs.G". - Set context property
clefPositionto-2. - Set context property
clefTranspositionFormattertoclef-transposition-markup. - Set context property
codaMarkFormatterto#<procedure at lily/translation-functions.scm:232:4 (number context)>. - Set context property
completionFactortounity-if-multimeasure. - Set context property
crescendoSpannerto'hairpin. - Set context property
cueClefTranspositionFormattertoclef-transposition-markup. - Set context property
dalSegnoTextFormattertoformat-dal-segno-text. - Set context property
decrescendoSpannerto'hairpin. - Set context property
deprecatedBarCheckSynchronizeto#f. - Set context property
doubleRepeatBarTypeto":..:". - Set context property
doubleRepeatSegnoBarTypeto":|.S.|:". - Set context property
drumStyleTableto#<hash-table>. - Set context property
endRepeatBarTypeto":|.". - Set context property
endRepeatSegnoBarTypeto":|.S". - Set context property
explicitClefVisibilityto:#(#t #t #t)
- Set context property
explicitCueClefVisibilityto:#(#f #t #t)
- Set context property
explicitKeySignatureVisibilityto:#(#t #t #t)
- Set context property
extendersOverReststo#t. - Set context property
extraNaturalto#t. - Set context property
figuredBassAlterationDirectionto-1. - Set context property
figuredBassFormattertoformat-bass-figure. - Set context property
figuredBassLargeNumberAlignmentto0. - Set context property
figuredBassPlusDirectionto-1. - Set context property
figuredBassPlusStrokedAlistto:'((2 . "figbass.twoplus") (4 . "figbass.fourplus") (5 . "figbass.fiveplus") (6 . "figbass.sixstroked") (7 . "figbass.sevenstroked") (9 . "figbass.ninestroked"))
- Set context property
fineBarTypeto"|.". - Set context property
fineSegnoBarTypeto"|.S". - Set context property
fineStartRepeatSegnoBarTypeto"|.S.|:". - Set context property
fineTextto"Fine". - Set context property
fingeringOrientationsto:'(up down)
- Set context property
firstClefto#t. - Set context property
forbidBreakBetweenBarLinesto#t. - Set context property
graceSettingsto:'((Voice Stem direction 1) (Voice Slur direction -1) (Voice Stem font-size -3) (Voice Flag font-size -3) (Voice NoteHead font-size -3) (Voice TabNoteHead font-size -4) (Voice Dots font-size -3) (Voice Stem length-fraction 0.8) (Voice Stem no-stem-extend #t) (Voice Beam beam-thickness 0.384) (Voice Beam length-fraction 0.8) (Voice Accidental font-size -4) (Voice AccidentalCautionary font-size -4) (Voice Script font-size -3) (Voice Fingering font-size -8) (Voice StringNumber font-size -8))
- Set context property
harmonicAccidentalsto#t. - Set context property
highStringOneto#t. - Set context property
initialTimeSignatureVisibilityto:#(#f #t #t)
- Set context property
instrumentTranspositionto#<Pitch c' >. - Set context property
keepAliveInterfacesto:'(bass-figure-interface chord-name-interface cluster-beacon-interface dynamic-interface fret-diagram-interface lyric-syllable-interface note-head-interface tab-note-head-interface lyric-interface percent-repeat-interface stanza-number-interface)
- Set context 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) (1 . 1) (5 . 1) (2 . 1) (6 . 1))
- Set context property
lyricMelismaAlignmentto-1. - Set context property
majorSevenSymbolto:'(#<procedure line-markup (layout props args)> ((#<procedure fontsize-markup (layout props increment arg)> -3 (#<procedure triangle-markup (layout props filled)> #f)))) - Set context property
measureBarTypeto"|". - Set context property
melismaBusyPropertiesto:'(melismaBusy slurMelismaBusy tieMelismaBusy beamMelismaBusy completionBusy)
- Set context property
metronomeMarkFormattertoformat-metronome-markup. - Set context property
middleCClefPositionto-6. - Set context property
middleCPositionto-6. - Set context property
minorChordModifierto"m". - Set context property
noChordSymbolto"N.C.". - Set context property
noteNameFunctiontonote-name-markup. - Set context property
noteNameSeparatorto"/". - Set context property
noteToFretFunctiontodetermine-frets. - Set context property
partCombineTextsOnNoteto#t. - Set context property
pedalSostenutoStringsto:'("Sost. Ped." "*Sost. Ped." "*") - Set context property
pedalSostenutoStyleto'mixed. - Set context property
pedalSustainStringsto:'("Ped." "*Ped." "*") - Set context property
pedalSustainStyleto'text. - Set context property
pedalUnaCordaStringsto:'("una corda" "" "tre corde") - Set context property
pedalUnaCordaStyleto'text. - Set context property
predefinedDiagramTableto#f. - Set context property
printAccidentalNamesto#t. - Set context property
printKeyCancellationto#t. - Set context property
printOctaveNamesto#f. - Set context property
printPartCombineTextsto#t. - Set context property
printTrivialVoltaRepeatsto#f. - Set context property
quotedCueEventTypesto:'(note-event rest-event tie-event beam-event tuplet-span-event tremolo-event)
- Set context property
quotedEventTypesto:'(StreamEvent)
- Set context property
rehearsalMarkFormatterto#<procedure at lily/translation-functions.scm:232:4 (number context)>. - Set context property
rehearsalMarkto1. - Set context property
repeatCountVisibilitytoall-repeat-counts-visible. - Set context property
restNumberThresholdto1. - Set context property
scriptDefinitionsto:'((accent (avoid-slur . around) (padding . 0.2) (script-stencil feta "sforzato" . "sforzato") (side-axis . 1) (side-relative-direction . -1)) (accentus (script-stencil feta "uaccentus" . "uaccentus") (side-relative-direction . -1) (avoid-slur . ignore) (padding . 0.2) (quantize-position . #t) (script-priority . -100) (side-axis . 1) (direction . 1)) (altcomma (script-stencil feta "laltcomma" . "raltcomma") (quantize-position . #t) (padding . 0.2) (avoid-slur . ignore) (side-axis . 1) (direction . 1)) (bachschleifer (script-stencil feta "bachschleifer" . "bachschleifer") (no-ledgers . #f) (padding . 0.8) (length-fraction . 1.5) (avoid-slur . around) (side-axis . 0) (direction . -1) (staff-position . #<procedure at lily/output-lib.scm:1955:0 (grob)>)) (circulus (script-stencil feta "circulus" . "circulus") (side-relative-direction . -1) (avoid-slur . ignore) (padding . 0.2) (quantize-position . #t) (script-priority . -100) (side-axis . 1) (direction . 1)) (coda (script-stencil feta "coda" . "coda") (padding . 0.2) (avoid-slur . outside) (side-axis . 1) (direction . 1)) (comma (script-stencil feta "lcomma" . "rcomma") (quantize-position . #t) (padding . 0.2) (avoid-slur . ignore) (side-axis . 1) (direction . 1)) (downbow (script-stencil feta "ddownbow" . "udownbow") (padding . 0.2) (skyline-horizontal-padding . 0.2) (avoid-slur . around) (direction . 1) (side-axis . 1) (script-priority . 180)) (downmordent (script-stencil feta "downmordent" . "downmordent") (padding . 0.2) (avoid-slur . around) (side-axis . 1) (direction . 1)) (downprall (script-stencil feta "downprall" . "downprall") (padding . 0.2) (avoid-slur . around) (side-axis . 1) (direction . 1)) (espressivo (avoid-slur . around) (padding . 0.2) (script-stencil feta "espr" . "espr") (side-axis . 1) (side-relative-direction . -1)) (fermata (script-stencil feta "dfermata" . "ufermata") (padding . 0.4) (avoid-slur . around) (outside-staff-priority . 75) (script-priority . 175) (side-axis . 1) (direction . 1)) (flageolet (script-stencil feta "flageolet" . "flageolet") (padding . 0.2) (avoid-slur . around) (direction . 1) (side-axis . 1) (script-priority . 50)) (halfopen (avoid-slur . outside) (padding . 0.2) (script-stencil feta "halfopen" . "halfopen") (side-axis . 1) (direction . 1)) (halfopenvertical (avoid-slur . outside) (padding . 0.2) (script-stencil feta "halfopenvertical" . "halfopenvertical") (side-axis . 1) (direction . 1)) (haydnturn (script-stencil feta "haydnturn" . "haydnturn") (padding . 0.2) (avoid-slur . inside) (side-axis . 1) (direction . 1)) (heel (script-stencil feta "upedalheel" . "upedalheel") (padding . 0.2) (avoid-slur . around) (side-axis . 1) (direction . 1)) (heelcircle (script-stencil feta "pedalheelcircle" . "pedalheelcircle") (padding . 0.2) (avoid-slur . around) (side-axis . 1) (direction . 1)) (henzelongfermata (script-stencil feta "dhenzelongfermata" . "uhenzelongfermata") (padding . 0.4) (avoid-slur . around) (outside-staff-priority . 75) (script-priority . 175) (side-axis . 1) (direction . 1)) (henzeshortfermata (script-stencil feta "dhenzeshortfermata" . "uhenzeshortfermata") (padding . 0.4) (avoid-slur . around) (outside-staff-priority . 75) (script-priority . 175) (side-axis . 1) (direction . 1)) (ictus (script-stencil feta "ictus" . "ictus") (side-relative-direction . -1) (quantize-position . #t) (avoid-slur . ignore) (padding . 0.2) (script-priority . -100) (side-axis . 1) (direction . -1)) (lheel (script-stencil feta "upedalheel" . "upedalheel") (padding . 0.2) (avoid-slur . around) (side-axis . 1) (direction . -1)) (lineprall (script-stencil feta "lineprall" . "lineprall") (padding . 0.2) (avoid-slur . around) (side-axis . 1) (direction . 1)) (longfermata (script-stencil feta "dlongfermata" . "ulongfermata") (padding . 0.4) (avoid-slur . around) (outside-staff-priority . 75) (script-priority . 175) (side-axis . 1) (direction . 1)) (ltoe (script-stencil feta "upedaltoe" . "upedaltoe") (padding . 0.2) (avoid-slur . around) (side-axis . 1) (direction . -1)) (marcato (script-stencil feta "dmarcato" . "umarcato") (padding . 0.2) (avoid-slur . inside) (quantize-position . #t) (side-axis . 1) (side-relative-direction . -1)) (mordent (script-stencil feta "mordent" . "mordent") (padding . 0.2) (avoid-slur . around) (side-axis . 1) (direction . 1)) (open (avoid-slur . outside) (padding . 0.2) (script-stencil feta "open" . "open") (side-axis . 1) (direction . 1)) (outsidecomma (avoid-slur . around) (direction . 1) (padding . 0.2) (side-axis . 1) (script-stencil feta "lcomma" . "rcomma")) (portato (script-stencil feta "uportato" . "dportato") (avoid-slur . around) (padding . 0.45) (side-axis . 1) (side-relative-direction . -1)) (prall (script-stencil feta "prall" . "prall") (padding . 0.2) (avoid-slur . around) (side-axis . 1) (direction . 1)) (pralldown (script-stencil feta "pralldown" . "pralldown") (padding . 0.2) (avoid-slur . around) (side-axis . 1) (direction . 1)) (prallmordent (script-stencil feta "prallmordent" . "prallmordent") (padding . 0.2) (avoid-slur . around) (side-axis . 1) (direction . 1)) (prallprall (script-stencil feta "prallprall" . "prallprall") (padding . 0.2) (avoid-slur . around) (side-axis . 1) (direction . 1)) (prallup (script-stencil feta "prallup" . "prallup") (padding . 0.2) (avoid-slur . around) (side-axis . 1) (direction . 1)) (reverseturn (script-stencil feta "reverseturn" . "reverseturn") (padding . 0.2) (avoid-slur . inside) (side-axis . 1) (direction . 1)) (rheel (script-stencil feta "dpedalheel" . "dpedalheel") (padding . 0.2) (avoid-slur . around) (side-axis . 1) (direction . 1)) (rtoe (script-stencil feta "dpedaltoe" . "dpedaltoe") (padding . 0.2) (avoid-slur . around) (side-axis . 1) (direction . 1)) (segno (script-stencil feta "segno" . "segno") (padding . 0.2) (avoid-slur . outside) (side-axis . 1) (direction . 1)) (semicirculus (script-stencil feta "dsemicirculus" . "dsemicirculus") (side-relative-direction . -1) (quantize-position . #t) (avoid-slur . ignore) (padding . 0.2) (script-priority . -100) (side-axis . 1) (direction . 1)) (shortfermata (script-stencil feta "dshortfermata" . "ushortfermata") (padding . 0.4) (avoid-slur . around) (outside-staff-priority . 75) (script-priority . 175) (side-axis . 1) (direction . 1)) (signumcongruentiae (script-stencil feta "dsignumcongruentiae" . "usignumcongruentiae") (padding . 0.2) (avoid-slur . outside) (side-axis . 1) (direction . 1)) (slashturn (script-stencil feta "slashturn" . "slashturn") (padding . 0.2) (avoid-slur . inside) (side-axis . 1) (direction . 1)) (snappizzicato (script-stencil feta "snappizzicato" . "snappizzicato") (padding . 0.2) (avoid-slur . outside) (side-axis . 1) (direction . 1)) (staccatissimo (avoid-slur . inside) (quantize-position . #t) (script-stencil feta "dstaccatissimo" . "ustaccatissimo") (padding . 0.2) (skyline-horizontal-padding . 0.1) (side-axis . 1) (side-relative-direction . -1) (toward-stem-shift . 1.0) (toward-stem-shift-in-column . 0.0)) (staccato (script-stencil feta "staccato" . "staccato") (side-axis . 1) (side-relative-direction . -1) (quantize-position . #t) (avoid-slur . inside) (toward-stem-shift . 1.0) (toward-stem-shift-in-column . 0.0) (padding . 0.2) (skyline-horizontal-padding . 0.1) (script-priority . -100)) (stopped (script-stencil feta "stopped" . "stopped") (avoid-slur . inside) (padding . 0.2) (side-axis . 1) (direction . 1)) (tenuto (script-stencil feta "tenuto" . "tenuto") (quantize-position . #t) (avoid-slur . inside) (padding . 0.2) (script-priority . -50) (side-axis . 1) (side-relative-direction . -1)) (toe (script-stencil feta "dpedaltoe" . "dpedaltoe") (padding . 0.2) (avoid-slur . around) (side-axis . 1) (direction . 1)) (trill (script-stencil feta "trill" . "trill") (direction . 1) (padding . 0.2) (avoid-slur . outside) (side-axis . 1) (script-priority . 150)) (turn (script-stencil feta "turn" . "turn") (avoid-slur . inside) (padding . 0.2) (side-axis . 1) (direction . 1)) (upbow (script-stencil feta "dupbow" . "uupbow") (avoid-slur . around) (padding . 0.2) (direction . 1) (side-axis . 1) (script-priority . 180)) (upmordent (script-stencil feta "upmordent" . "upmordent") (padding . 0.2) (avoid-slur . around) (side-axis . 1) (direction . 1)) (upprall (script-stencil feta "upprall" . "upprall") (padding . 0.2) (avoid-slur . around) (side-axis . 1) (direction . 1)) (varcoda (script-stencil feta "varcoda" . "varcoda") (padding . 0.2) (avoid-slur . outside) (side-axis . 1) (direction . 1)) (varcomma (script-stencil feta "lvarcomma" . "rvarcomma") (quantize-position . #t) (padding . 0.2) (avoid-slur . ignore) (side-axis . 1) (direction . 1)) (varheel (script-stencil feta "dpedalheel" . "dpedalheel") (padding . 0.2) (avoid-slur . around) (side-axis . 1) (direction . 1)) (vartoe (script-stencil feta "upedaltoe" . "upedaltoe") (padding . 0.2) (avoid-slur . around) (side-axis . 1) (direction . 1)) (verylongfermata (script-stencil feta "dverylongfermata" . "uverylongfermata") (padding . 0.4) (avoid-slur . around) (outside-staff-priority . 75) (script-priority . 175) (side-axis . 1) (direction . 1)) (veryshortfermata (script-stencil feta "dveryshortfermata" . "uveryshortfermata") (padding . 0.4) (avoid-slur . around) (outside-staff-priority . 75) (script-priority . 175) (side-axis . 1) (direction . 1))) - Set context property
sectionBarTypeto"||". - Set context property
segnoBarTypeto"S". - Set context property
segnoMarkFormattertoformat-segno-mark-considering-bar-lines. - Set context property
segnoStyleto'mark. - Set context property
slashChordSeparatorto"/". - Set context property
soloIITextto"Solo II". - Set context property
soloTextto"Solo". - Set context property
startRepeatBarTypeto".|:". - Set context property
startRepeatSegnoBarTypeto"S.|:". - Set context property
stringNumberOrientationsto:'(up down)
- Set context property
stringOneTopmostto#t. - Set context property
stringTuningsto:'(#<Pitch e' > #<Pitch b > #<Pitch g > #<Pitch d > #<Pitch a, > #<Pitch e, >)
- Set context property
strokeFingerOrientationsto:'(right)
- Set context property
subdivideBeamsto#f. - Set context property
submeasureBarsEnabledto#f. - Set context property
submeasureBarTypeto"!". - Set context property
suspendMelodyDecisionsto#f. - Set context property
systemStartDelimiterto'SystemStartBar. - Set context property
tablatureFormattofret-number-tablature-format. - Set context property
tabStaffLineLayoutFunctiontotablature-position-on-lines. - Set context property
tempoCountPrecisionto1/4. - Set context property
tieWaitForNoteto#f. - Set context property
timeSignatureSettingsto:'(((2 . 2) (beamExceptions (end (1/32 8 8 8 8)))) ((2 . 8) (beamExceptions (end (1/8 2)))) ((3 . 2) (beamExceptions (end (1/32 8 8 8 8 8 8)))) ((3 . 4) (beamExceptions (end (1/8 6) (1/12 3 3 3)))) ((3 . 8) (beamExceptions (end (1/8 3)))) ((4 . 2) (beamExceptions (end (1/16 4 4 4 4 4 4 4 4)))) ((4 . 4) (beamExceptions (end (1/8 4 4) (1/12 3 3 3 3)))) ((4 . 8) (beatStructure 2 2)) ((6 . 4) (beamExceptions (end (1/16 4 4 4 4 4 4)))) ((9 . 4) (beamExceptions (end (1/32 8 8 8 8 8 8 8 8)))) ((12 . 4) (beamExceptions (end (1/32 8 8 8 8 8 8 8 8 8 8 8 8)))) ((5 . 8) (beatStructure 3 2)) ((8 . 8) (beatStructure 3 3 2))) - Set context property
timeSignatureto:'(4 . 4)
- Set context property
timingto#f. - Set context property
timingto#t. - Set context property
topLevelAlignmentto#t. - Set context property
underlyingRepeatBarTypeto"||". - Set grob property
common-shortest-durationinSpacingSpannerto#<Mom 1/10>.
This is not a ‘Bottom’ context; search for such a one will commence after creating an implicit context of type StandaloneRhythmStaff.
Context StandaloneRhythmScore can contain
ChoirStaff, ChordNames, Devnull, DrumStaff, Dynamics, FiguredBass, FretBoards, GrandStaff, GregorianTranscriptionLyrics, GregorianTranscriptionStaff, KievanStaff, Lyrics, MensuralStaff, NoteNames, OneStaff, PetrucciStaff, PianoStaff, RhythmicStaff, Staff, StaffGroup, StandaloneRhythmStaff, TabStaff, VaticanaLyrics and VaticanaStaff.
This context is built from the following engraver(s):
Apply_output_engraverApply a procedure to any grob acknowledged.
Music types accepted:
apply-output-eventBar_number_engraverA bar number may be created at any bar line, subject to the
barNumberVisibilitycallback. By default, 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 byStaff_collecting_engraver. This engraver usually createsBarNumbergrobs, but whencenterBarNumbersis true, it makesCenteredBarNumbergrobs instead.Properties (read)
alternativeNumber(non-negative, exact integer)When set, the first volta number for the current
\alternativeelement. Not set outside of alternatives.alternativeNumberingStyle(symbol)The scheme and style for numbering bars in repeat alternatives. If not set (the default), bar numbers continue through alternatives. Can be set to
numbersto reset the bar number at each alternative, or set tonumbers-with-lettersto reset and also include letter suffixes.barNumberFormatter(procedure)A procedure that takes a bar number, measure position, and alternative number and returns a markup of the bar number to print.
barNumberVisibility(procedure)A procedure that takes a bar number and a measure position and returns whether the corresponding bar number should be printed. Note that the actual print-out of bar numbers is controlled with the
break-visibilityproperty.The following procedures are predefined:
all-bar-numbers-visibleEnable bar numbers for all bars, including the first one and broken bars (which get bar numbers in parentheses).
first-bar-number-invisibleEnable bar numbers for all bars (including broken bars) except the first one. If the first bar is broken, it doesn’t get a bar number either.
first-bar-number-invisible-save-broken-barsEnable bar numbers for all bars (including broken bars) except the first one. A broken first bar gets a bar number.
first-bar-number-invisible-and-no-parenthesized-bar-numbersEnable bar numbers for all bars except the first bar and broken bars. This is the default.
(every-nth-bar-number-visible n)Assuming n is value 2, for example, this enables bar numbers for bars 2, 4, 6, etc.
(modulo-bar-number-visible n m)If bar numbers 1, 4, 7, etc., should be enabled, n (the modulo) must be set to 3 and m (the division remainder) to 1.
centerBarNumbers(boolean)Whether to center bar numbers in their measure instead of aligning them on the bar line.
currentBarNumber(integer)Contains the current bar number. This property is incremented at every bar line.
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
forbidBreak(boolean)If set to
#t, prevent a line break at this point, except if explicitly requested by the user.forceBreak(boolean)Set to
#twhen an event forcing a line break was heard.measurePosition(moment)The current point within the measure.
stavesFound(list of grobs)A list of all staff-symbols found.
This engraver creates the following layout object(s):
BarNumberandCenteredBarNumber.Beam_collision_engraverHelp beams avoid colliding with notes and clefs in other voices.
Break_align_engraverAlign grobs with corresponding
break-align-symbolsinto groups, and order the groups according tobreakAlignOrder. The left edge of the alignment gets a separate group, with a symbolleft-edge.This engraver creates the following layout object(s):
BreakAlignGroup,BreakAlignmentandLeftEdge.Centered_bar_number_align_engraverGroup measure-centered bar numbers in a
CenteredBarNumberLineSpannerso they end up on the same vertical position.Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
This engraver creates the following layout object(s):
CenteredBarNumberLineSpanner.Concurrent_hairpin_engraverCollect concurrent hairpins.
Footnote_engraverCreate footnote texts.
This engraver creates the following layout object(s):
Footnote.Grace_spacing_engraverBookkeeping of shortest starting and playing notes in grace note runs.
Properties (read)
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
GraceSpacing.Jump_engraverThis engraver creates instructions such as D.C. and Fine, placing them vertically outside the set of staves given in the
stavesFoundcontext property.If
Jump_engraveris added or moved to another context,Staff_collecting_engraveralso needs to be there so that marks appear at the intended Y location.Music types accepted:
ad-hoc-jump-event,dal-segno-eventandfine-eventProperties (read)
codaMarkCount(non-negative, exact integer)Updated at the end of each time step in which a coda mark appears: not set during the first time step, 0 up to the first coda mark, 1 from the first to the second, 2 from the second to the third, etc.
codaMarkFormatter(procedure)A procedure that creates a coda mark (which in conventional D.S. al Coda form indicates the start of the alternative endings), taking as arguments the mark sequence number and the context. It should return a markup object.
dalSegnoTextFormatter(procedure)Format a jump instruction such as D.S.
The first argument is the context.
The second argument is the number of times the instruction is performed.
The third argument is a list of three markups: start-markup, end-markup, and next-markup.
If start-markup is
#f, the form is da capo; otherwise the form is dal segno and start-markup is the sign at the start of the repeated section.If end-markup is not
#f, it is either the sign at the end of the main body of the repeat, or it is a Fine instruction. When it is a Fine instruction, next-markup is#f.If next-markup is not
#f, it is the mark to be jumped to after performing the body of the repeat, e.g., Coda.finalFineTextVisibility(boolean)Whether
\fineat the written end of the music should create a Fine instruction.fineText(markup)The text to print at
\fine.segnoMarkCount(non-negative, exact integer)Updated at the end of each time step in which a segno appears: not set during the first time step, 0 up to the first segno, 1 from the first to the second segno, 2 from the second to the third segno, etc.
segnoMarkFormatter(procedure)A procedure that creates a segno (which conventionally indicates the start of a repeated section), taking as arguments the mark sequence number and the context. It should return a markup object.
stavesFound(list of grobs)A list of all staff-symbols found.
This engraver creates the following layout object(s):
JumpScript.Mark_engraverThis engraver creates rehearsal marks, segno and coda marks, and section labels.
Mark_engravercreates marks, formats them, and places them vertically outside the set of staves given in thestavesFoundcontext property.If
Mark_engraveris added or moved to another context,Staff_collecting_engraveralso needs to be there so that marks appear at the intended Y location.By default,
Mark_engraversin multiple contexts create a common sequence of marks chosen by theScore-levelMark_tracking_translator. If independent sequences are desired, multipleMark_tracking_translatorsmust be used.Properties (read)
codaMarkFormatter(procedure)A procedure that creates a coda mark (which in conventional D.S. al Coda form indicates the start of the alternative endings), taking as arguments the mark sequence number and the context. It should return a markup object.
currentPerformanceMarkEvent(stream event)The coda, section, or segno mark event selected by
Mark_tracking_translatorfor engraving byMark_engraver.currentRehearsalMarkEvent(stream event)The ad-hoc or rehearsal mark event selected by
Mark_tracking_translatorfor engraving byMark_engraver.rehearsalMarkFormatter(procedure)A procedure taking as arguments the context and the sequence number of the rehearsal mark. It should return the formatted mark as a markup object.
segnoMarkFormatter(procedure)A procedure that creates a segno (which conventionally indicates the start of a repeated section), taking as arguments the mark sequence number and the context. It should return a markup object.
stavesFound(list of grobs)A list of all staff-symbols found.
This engraver creates the following layout object(s):
CodaMark,RehearsalMark,SectionLabelandSegnoMark.Mark_tracking_translatorThis translator chooses which marks
Mark_engravershould engrave.Music types accepted:
ad-hoc-mark-event,coda-mark-event,rehearsal-mark-event,section-label-eventandsegno-mark-eventProperties (read)
codaMarkCount(non-negative, exact integer)Updated at the end of each time step in which a coda mark appears: not set during the first time step, 0 up to the first coda mark, 1 from the first to the second, 2 from the second to the third, etc.
rehearsalMark(integer)The next rehearsal mark to print.
segnoMarkCount(non-negative, exact integer)Updated at the end of each time step in which a segno appears: not set during the first time step, 0 up to the first segno, 1 from the first to the second segno, 2 from the second to the third segno, etc.
Properties (write)
codaMarkCount(non-negative, exact integer)Updated at the end of each time step in which a coda mark appears: not set during the first time step, 0 up to the first coda mark, 1 from the first to the second, 2 from the second to the third, etc.
currentPerformanceMarkEvent(stream event)The coda, section, or segno mark event selected by
Mark_tracking_translatorfor engraving byMark_engraver.currentRehearsalMarkEvent(stream event)The ad-hoc or rehearsal mark event selected by
Mark_tracking_translatorfor engraving byMark_engraver.rehearsalMark(integer)The next rehearsal mark to print.
segnoMarkCount(non-negative, exact integer)Updated at the end of each time step in which a segno appears: not set during the first time step, 0 up to the first segno, 1 from the first to the second segno, 2 from the second to the third segno, etc.
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 byStaff_collecting_engraver.Music types accepted:
tempo-change-eventProperties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
metronomeMarkFormatter(procedure)How to produce a metronome markup. Called with two arguments: a
TempoChangeEventand context.stavesFound(list of grobs)A list of all staff-symbols found.
tempoHideNote(boolean)Hide the note = count in tempo marks.
This engraver creates the following layout object(s):
MetronomeMark.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:
break-eventandlabel-eventProperties (read)
forbidBreak(boolean)If set to
#t, prevent a line break at this point, except if explicitly requested by the user.Properties (write)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
forbidBreak(boolean)If set to
#t, prevent a line break at this point, except if explicitly requested by the user.forceBreak(boolean)Set to
#twhen an event forcing a line break was heard.This engraver creates the following layout object(s):
NonMusicalPaperColumnandPaperColumn.Parenthesis_engraverParenthesize objects whose
parenthesizeproperty is#t.This engraver creates the following layout object(s):
Parentheses.Repeat_acknowledge_engraverThis engraver augments
repeatCommandswithstart-repeatandend-repeatentries based on received events. This is internal behavior that allows simplifying other engravers that must support both\repeat voltaand manual repeats.This engraver also resets
repeatCommandsat the beginning of each time step. This is user-facing behavior: it allows setting a value for the current time step simply with\setrather than requiring\once \set.Music types accepted:
volta-repeat-end-eventandvolta-repeat-start-eventProperties (write)
repeatCommands(list)A list of commands related to volta-style repeats. In general, each element is a list,
'(command args…), but a command with no arguments may be abbreviated to a symbol; e.g.,'((start-repeat))may be given as'(start-repeat).
end-repeat return-countEnd a repeated section. return-count is the number of times to go back from this point to the beginning of the section.
start-repeat repeat-countStart a repeated section. repeat-count is the number of times to perform this section.
volta textIf text is markup, start a volta bracket with that label; if text is
#f, end a volta bracket.Show_control_points_engraverCreate grobs to visualize control points of Bézier curves (ties and slurs) for ease of tweaking.
This engraver creates the following layout object(s):
ControlPointandControlPolygon.Spacing_engraverMake a
SpacingSpannerand do bookkeeping of shortest starting and playing notes.Music types accepted:
spacing-section-eventProperties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
proportionalNotationDuration(non-negative exact rational or +inf.0)Global override for shortest-playing duration. This is used for switching on proportional notation.
This engraver creates the following layout object(s):
SpacingSpanner.Spanner_tracking_engraverHelper for creating spanners attached to other spanners. If a spanner has the
sticky-grob-interface, the engraver tracks the spanner contained in itssticky-hostobject. When the host ends, the sticky spanner attached to it has its end announced too.Staff_collecting_engraverMaintain the
stavesFoundvariable.Properties (read)
stavesFound(list of grobs)A list of all staff-symbols found.
Properties (write)
stavesFound(list of grobs)A list of all staff-symbols found.
Stanza_number_align_engraverThis engraver ensures that stanza numbers are neatly aligned across all lyrics contexts.
System_start_delimiter_engraverCreate a system start delimiter (i.e., a
SystemStartBar,SystemStartBrace,SystemStartBracketorSystemStartSquarespanner).Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
systemStartDelimiter(symbol)Which grob to make for the start of the system/staff? Set to
SystemStartBrace,SystemStartBracketorSystemStartBar.systemStartDelimiterHierarchy(pair)A nested list, indicating the nesting of a start delimiters.
This engraver creates the following layout object(s):
SystemStartBar,SystemStartBrace,SystemStartBracketandSystemStartSquare.Text_mark_engraverEngraves arbitrary textual marks.
Music types accepted:
text-mark-eventProperties (read)
stavesFound(list of grobs)A list of all staff-symbols found.
This engraver creates the following layout object(s):
TextMark.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.Music types accepted:
alternative-event,bar-check-event,bar-event,fine-event,partial-eventandpolymetric-time-signature-eventProperties (read)
alternativeNumberingStyle(symbol)The scheme and style for numbering bars in repeat alternatives. If not set (the default), bar numbers continue through alternatives. Can be set to
numbersto reset the bar number at each alternative, or set tonumbers-with-lettersto reset and also include letter suffixes.beatBase(positive exact rational or +inf.0)The musical length corresponding to one unit of
beatStructure.currentBarNumber(integer)Contains the current bar number. This property is incremented at every bar line.
internalBarNumber(integer)Contains the current bar number. This property is used for internal timekeeping, among others by the
Accidental_engraver.measureLength(positive exact rational or +inf.0)The musical length of the current measure.
measurePosition(moment)The current point within the measure.
timeSignature(time signature)A time-signature specification. See the
\timecommand.Properties (write)
alternativeNumber(non-negative, exact integer)When set, the first volta number for the current
\alternativeelement. Not set outside of alternatives.beatBase(positive exact rational or +inf.0)The musical length corresponding to one unit of
beatStructure.currentBarNumber(integer)Contains the current bar number. This property is incremented at every bar line.
internalBarNumber(integer)Contains the current bar number. This property is used for internal timekeeping, among others by the
Accidental_engraver.measureLength(positive exact rational or +inf.0)The musical length of the current measure.
measurePosition(moment)The current point within the measure.
measureStartNow(boolean)True at the beginning of a measure.
timeSignature(time signature)A time-signature specification. See the
\timecommand.Tweak_engraverRead the
tweaksproperty from the originating event, and set properties.Vertical_align_engraverCatch groups (staves, lyrics lines, etc.) and stack them vertically.
Properties (read)
alignAboveContext(string)Where to insert newly created context in vertical alignment.
alignBelowContext(string)Where to insert newly created context in vertical alignment.
hasAxisGroup(boolean)True if the current context is contained in an axis group.
This engraver creates the following layout object(s):
StaffGrouperandVerticalAlignment.Volta_engraverMake volta brackets.
Music types accepted:
dal-segno-event,fine-eventandvolta-span-eventProperties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
printTrivialVoltaRepeats(boolean)Notate volta-style repeats even when the repeat count is 1.
repeatCommands(list)A list of commands related to volta-style repeats. In general, each element is a list,
'(command args…), but a command with no arguments may be abbreviated to a symbol; e.g.,'((start-repeat))may be given as'(start-repeat).
end-repeat return-countEnd a repeated section. return-count is the number of times to go back from this point to the beginning of the section.
start-repeat repeat-countStart a repeated section. repeat-count is the number of times to perform this section.
volta textIf text is markup, start a volta bracket with that label; if text is
#f, end a volta bracket.stavesFound(list of grobs)A list of all staff-symbols found.
This engraver creates the following layout object(s):
VoltaBracketandVoltaBracketSpanner.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < StandaloneRhythmScore ] | [ Up: Contexts ] | [ StandaloneRhythmVoice > ] |
2.1.35 StandaloneRhythmStaff ¶
A Staff-level context for use by
\markup \rhythm.
This context also accepts commands for the following context(s):
Staff and Staff.
This context creates the following layout object(s):
BarLine, BreathingSign, CaesuraScript, DotColumn, InstrumentName, LedgerLineSpanner, StaffHighlight, StaffSpacing, StaffSymbol and VerticalAxisGroup.
This context sets the following properties:
- Set context property
createSpacingto#t. - Set context property
instrumentNameto'(). - Set context property
localAlterationsto'(). - Set context property
shortInstrumentNameto'(). - Set context property
squashedPositionto0. - Set context property
squashedPositionto1. - Set grob property
line-countinStaffSymbolto0. - Set grob property
line-countinStaffSymbolto1. - Set grob property
neutral-directioninBeamto1. - Set grob property
neutral-directioninStemto1. - Set grob property
staff-paddinginVoltaBracketto3.
This is not a ‘Bottom’ context; search for such a one will commence after creating an implicit context of type StandaloneRhythmVoice.
Context StandaloneRhythmStaff can contain
CueVoice, NullVoice, StandaloneRhythmVoice and Voice.
This context is built from the following engraver(s):
Apply_output_engraverApply a procedure to any grob acknowledged.
Music types accepted:
apply-output-eventAxis_group_engraverGroup all objects created in this context in a
VerticalAxisGroupspanner.Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
hasAxisGroup(boolean)True if the current context is contained in an axis group.
keepAliveInterfaces(list)A list of symbols, signifying grob interfaces that are worth keeping a staff with
remove-emptyset around for.Properties (write)
hasAxisGroup(boolean)True if the current context is contained in an axis group.
This engraver creates the following layout object(s):
VerticalAxisGroup.Bar_engraverCreate bar lines for various commands, including
\\bar.If
forbidBreakBetweenBarLinesis true, allow line breaks at bar lines only.Music types accepted:
ad-hoc-jump-event,caesura-event,coda-mark-event,dal-segno-event,fine-event,section-eventandsegno-mark-eventProperties (read)
caesuraType(list)An alist
((bar-line . bar-type) (breath . breath-type) (scripts . script-type...) (underlying-bar-line . bar-type))specifying which breath mark, bar line, and scripts to create at
\caesura. All entries are optional.
bar-linehas higher priority than a measure bar line andunderlying-bar-linehas lower priority than a measure bar line.caesuraTypeTransform(procedure)An engraver callback taking three arguments and returning an alist of the same kind as
caesuraType.The first argument is the context.
The second argument is the value of
caesuraTypewith an additional entry(articulations . symbol-list)identifying the articulations attached to the caesura in the music. If the transform function returns this second argument unmodified, it is as if no transform function were set; the function is free to return a different value. The transform function can remove articulations, but any added articulations are ignored.The third argument is a symbol-list identifying certain things the engraver has observed.
bar-lineindicates that the engraver has observed aBarLineat the current moment.doubleRepeatBarType(string)Bar line to insert where the end of one
\repeat voltacoincides with the start of another. The default is ‘:..:’.doubleRepeatSegnoBarType(string)Bar line to insert where an in-staff segno coincides with the end of one
\repeat voltaand the beginning of another. The default is ‘:|.S.|:’.endRepeatBarType(string)Bar line to insert at the end of a
\repeat volta. The default is ‘:|.’.endRepeatSegnoBarType(string)Bar line to insert where an in-staff segno coincides with the end of a
\repeat volta. The default is ‘:|.S’.fineBarType(string)Bar line to insert at
\fine. Where there is also a repeat bar line, the repeat bar line takes precedence and this value is appended to it as an annotation. The default is ‘|.’.fineSegnoBarType(string)Bar line to insert where an in-staff segno coincides with
\fine. The default is ‘|.S’.fineStartRepeatSegnoBarType(string)Bar line to insert where an in-staff segno coincides with
\fineand the start of a\repeat volta. The default is ‘|.S.|:’.forbidBreakBetweenBarLines(boolean)If set to
#t,Bar_engraverforbids line breaks where there is no bar line.measureBarType(string)Bar line to insert at a measure boundary.
printInitialRepeatBar(boolean)Use a special bar line at the start of a volta repeat even at the beginning of the piece.
printTrivialVoltaRepeats(boolean)Notate volta-style repeats even when the repeat count is 1.
repeatCommands(list)A list of commands related to volta-style repeats. In general, each element is a list,
'(command args…), but a command with no arguments may be abbreviated to a symbol; e.g.,'((start-repeat))may be given as'(start-repeat).
end-repeat return-countEnd a repeated section. return-count is the number of times to go back from this point to the beginning of the section.
start-repeat repeat-countStart a repeated section. repeat-count is the number of times to perform this section.
volta textIf text is markup, start a volta bracket with that label; if text is
#f, end a volta bracket.sectionBarType(string)Bar line to insert at
\section. Where there is also a repeat bar line, the repeat bar line takes precedence and this value is appended to it as an annotation. The default is ‘||’.segnoBarType(string)Bar line to insert at an in-staff segno. The default is ‘S’.
segnoStyle(symbol)A symbol that indicates how to print a segno:
bar-lineormark.startRepeatBarType(string)Bar line to insert at the start of a
\repeat volta. The default is ‘.|:’.startRepeatSegnoBarType(string)Bar line to insert where an in-staff segno coincides with the start of a
\repeat volta. The default is ‘S.|:’.submeasureBarsEnabled(boolean)Whether to insert submeasure bar lines at boundaries specified by
submeasureStructure. They are typically enabled selectively to clarify complex rhythms.submeasureBarType(string)Bar line to insert at submeasure boundaries specified by
submeasureStructure, whensubmeasureBarsEnabledallows.submeasureStructure(number list)A sequence describing subdivisions of a measure. Each element tells the distance from the previous division in units of
beatBase.underlyingRepeatBarType(string)Bar line to insert at points of repetition or departure where no bar line would normally appear, for example at the end of a system broken in mid measure where the next system begins with a segno. Where there is also a repeat bar line, the repeat bar line takes precedence and this value is appended to it as an annotation. The default is ‘||’.
whichBar(string)The current bar line type, or
'()if there is no bar line. Setting this explicitly in user code is deprecated. Use\baror related commands to set it.Properties (write)
currentBarLine(graphical (layout) object)Set to the
BarLinethatBar_engraverhas created in the current time step.forbidBreak(boolean)If set to
#t, prevent a line break at this point, except if explicitly requested by the user.This engraver creates the following layout object(s):
BarLine.Caesura_engraverNotate a short break in sound that does not shorten the previous note.
Depending on the result of passing the value of
caesuraTypethroughcaesuraTypeTransform, this engraver may create aBreathingSignwithCaesuraScriptgrobs aligned to it, or it may createCaesuraScriptgrobs and align them to aBarLine.If this engraver observes a
BarLine, it callscaesuraTypeTransformagain with the new information, and if necessary, recreates its grobs.Music types accepted:
caesura-eventProperties (read)
breathMarkDefinitions(list)The description of breath marks. This is used by the
Breathing_sign_engraver. See scm/breath.scm for more information.caesuraType(list)An alist
((bar-line . bar-type) (breath . breath-type) (scripts . script-type...) (underlying-bar-line . bar-type))specifying which breath mark, bar line, and scripts to create at
\caesura. All entries are optional.
bar-linehas higher priority than a measure bar line andunderlying-bar-linehas lower priority than a measure bar line.caesuraTypeTransform(procedure)An engraver callback taking three arguments and returning an alist of the same kind as
caesuraType.The first argument is the context.
The second argument is the value of
caesuraTypewith an additional entry(articulations . symbol-list)identifying the articulations attached to the caesura in the music. If the transform function returns this second argument unmodified, it is as if no transform function were set; the function is free to return a different value. The transform function can remove articulations, but any added articulations are ignored.The third argument is a symbol-list identifying certain things the engraver has observed.
bar-lineindicates that the engraver has observed aBarLineat the current moment.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):
BreathingSignandCaesuraScript.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):
DotColumn.Font_size_engraverPut
fontSizeintofont-sizegrob property.Properties (read)
fontSize(number)The relative size of all grobs in a context.
Instrument_name_engraverCreate a system start text for instrument or vocal names.
Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
instrumentName(markup)The name to print left of a staff. The
instrumentNameproperty labels the staff in the first system, and theshortInstrumentNameproperty labels following lines.shortInstrumentName(markup)See
instrumentName.shortVocalName(markup)Name of a vocal line, short version.
vocalName(markup)Name of a vocal line.
This engraver creates the following layout object(s):
InstrumentName.Ledger_line_engraverCreate the spanner to draw ledger lines, and notices objects that need ledger lines.
This engraver creates the following layout object(s):
LedgerLineSpanner.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.
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
currentCommandColumncontains items that will affect spacing.This engraver creates the following layout object(s):
StaffSpacing.Staff_highlight_engraverHighlights music passages.
Music types accepted:
staff-highlight-eventProperties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
This engraver creates the following layout object(s):
StaffHighlight.Staff_symbol_engraverCreate the constellation of five (default) staff lines.
Music types accepted:
staff-span-eventThis engraver creates the following layout object(s):
StaffSymbol.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < StandaloneRhythmStaff ] | [ Up: Contexts ] | [ TabStaff > ] |
2.1.36 StandaloneRhythmVoice ¶
A Voice-level context for use by
\markup \rhythm.
This context also accepts commands for the following context(s):
Voice.
This context creates the following layout object(s):
ApproximatePitchNoteHead, Arpeggio, Beam, BendAfter, BreathingSign, ChordBracket, ChordSlur, ClusterSpanner, ClusterSpannerBeacon, CombineTextScript, Dots, DoublePercentRepeat, DoublePercentRepeatCounter, DoubleRepeatSlash, DynamicLineSpanner, DynamicText, DynamicTextSpanner, FingerGlideSpanner, Fingering, Flag, Glissando, Hairpin, InstrumentSwitch, LaissezVibrerTie, LaissezVibrerTieColumn, LigatureBracket, MultiMeasureRest, MultiMeasureRestNumber, MultiMeasureRestScript, MultiMeasureRestText, NoteColumn, NoteHead, NoteSpacing, PercentRepeat, PercentRepeatCounter, PhrasingSlur, RepeatSlash, RepeatTie, RepeatTieColumn, Rest, Script, ScriptColumn, Slur, Stem, StemStub, StemTremolo, StringNumber, StrokeFinger, TextScript, TextSpanner, Tie, TieColumn, TrillPitchAccidental, TrillPitchGroup, TrillPitchHead, TrillPitchParentheses, TrillSpanner, TupletBracket, TupletNumber and VoiceFollower.
This context sets the following properties:
- Set grob property
directioninStemto1.
This is a ‘Bottom’ context; no contexts will be created implicitly from it.
This context cannot contain other contexts.
This context is built from the following engraver(s):
Apply_output_engraverApply a procedure to any grob acknowledged.
Music types accepted:
apply-output-eventArpeggio_engraverCreate arpeggiato and non-arpeggiato symbols.
Music types accepted:
arpeggio-event,chord-slur-eventandnon-arpeggiato-eventThis engraver creates the following layout object(s):
Arpeggio,ChordBracketandChordSlur.Auto_beam_engraverGenerate beams based on measure characteristics and observed Stems. Uses
beatBase,beatStructure,beamExceptions,measureLength, andmeasurePositionto decide when to start and stop a beam. Overriding beaming is done throughStem_engraverpropertiesstemLeftBeamCountandstemRightBeamCount.Music types accepted:
beam-break-eventandbeam-forbid-eventProperties (read)
autoBeaming(boolean)If set to
#tthen beams are generated automatically. If set to#f, auto-beaming is switched off as soon as the current beam (if any) is finished according to the auto-beaming rules.beamExceptions(list)An alist of exceptions to auto-beam rules that normally end on beats.
beamHalfMeasure(boolean)Whether to allow a beam to begin halfway through the measure in triple time, which could look like 6/8.
beatBase(positive exact rational or +inf.0)The musical length corresponding to one unit of
beatStructure.beatStructure(number list)A sequence describing the length of each beat in the measure in units of
beatBase.subdivideBeams(boolean)If set, beams of multiple stems may be subdivided by omitting a number of beamlets, dependent on
beamMaximumSubdivision, between beats at multiples ofbeamMinimumSubdivision.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:
beam-eventProperties (read)
beamMelismaBusy(boolean)Signal if a beam is present.
beatBase(positive exact rational or +inf.0)The musical length corresponding to one unit of
beatStructure.beatStructure(number list)A sequence describing the length of each beat in the measure in units of
beatBase.subdivideBeams(boolean)If set, beams of multiple stems may be subdivided by omitting a number of beamlets, dependent on
beamMaximumSubdivision, between beats at multiples ofbeamMinimumSubdivision.This engraver creates the following layout object(s):
Beam.Bend_engraverCreate fall spanners.
Music types accepted:
bend-after-eventProperties (read)
currentBarLine(graphical (layout) object)Set to the
BarLinethatBar_engraverhas created in the current time step.currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
BendAfter.Breathing_sign_engraverNotate breath marks.
Music types accepted:
breathing-eventProperties (read)
breathMarkType(symbol)The type of
BreathingSignto create at\breathe.This engraver creates the following layout object(s):
BreathingSign.Chord_tremolo_engraverGenerate beams for tremolo repeats.
Music types accepted:
tremolo-span-eventThis engraver creates the following layout object(s):
Beam.Cluster_spanner_engraverEngrave a cluster using
Spannernotation.Music types accepted:
cluster-note-eventThis engraver creates the following layout object(s):
ClusterSpannerandClusterSpannerBeacon.Dots_engraverCreate
Dotsobjects forrhythmic-head-interfaces.This engraver creates the following layout object(s):
Dots.Double_percent_repeat_engraverMake double measure repeats.
Music types accepted:
double-percent-eventProperties (read)
countPercentRepeats(boolean)If set, produce counters for percent repeats.
measureLength(positive exact rational or +inf.0)The musical length of the current measure.
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, except if explicitly requested by the user.This engraver creates the following layout object(s):
DoublePercentRepeatandDoublePercentRepeatCounter.Dynamic_align_engraverAlign hairpins and dynamic texts on a horizontal line.
Properties (read)
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
DynamicLineSpanner.Dynamic_engraverCreate hairpins, dynamic texts and dynamic text spanners.
Music types accepted:
absolute-dynamic-event,break-dynamic-span-eventandspan-dynamic-eventProperties (read)
crescendoSpanner(symbol)The type of spanner to be used for crescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin crescendo is used.
crescendoText(markup)The text to print at start of non-hairpin crescendo, i.e., ‘cresc.’.
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
decrescendoSpanner(symbol)The type of spanner to be used for decrescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin decrescendo is used.
decrescendoText(markup)The text to print at start of non-hairpin decrescendo, i.e., ‘dim.’.
This engraver creates the following layout object(s):
DynamicText,DynamicTextSpannerandHairpin.Finger_glide_engraverEngraver to print a line between two
Fingering,StringNumberorStrokeFingergrobs.Music types accepted:
note-eventThis engraver creates the following layout object(s):
FingerGlideSpanner.Fingering_engraverCreate fingering scripts.
Music types accepted:
fingering-eventThis engraver creates the following layout object(s):
Fingering.Font_size_engraverPut
fontSizeintofont-sizegrob property.Properties (read)
fontSize(number)The relative size of all grobs in a context.
Forbid_line_break_engraverForbid line breaks when note heads are still playing at some point.
Properties (read)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g., note heads, spanners, etc.).Properties (write)
forbidBreak(boolean)If set to
#t, prevent a line break at this point, except if explicitly requested by the user.Glissando_engraverEngrave glissandi.
Music types accepted:
glissando-eventProperties (read)
glissandoMap(list)A map in the form of
'((source1 . target1) (source2 . target2) ... (sourcen . targetn)), showing the glissandi to be drawn for note columns. The value'()defaults to'((0 . 0) (1 . 1) ... (n . n)), where n is the minimum number of note heads in the two note columns between which the glissandi occur.This engraver creates the following layout object(s):
Glissando.Grace_auto_beam_engraverGenerates one autobeam group across an entire grace phrase. As usual, any manual beaming or
\noBeamwill block autobeaming, just like setting the context property ‘autoBeaming’ to##f.Music types accepted:
beam-break-eventandbeam-forbid-eventProperties (read)
autoBeaming(boolean)If set to
#tthen beams are generated automatically. If set to#f, auto-beaming is switched off as soon as the current beam (if any) is finished according to the auto-beaming rules.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:
beam-eventProperties (read)
beamMelismaBusy(boolean)Signal if a beam is present.
beatBase(positive exact rational or +inf.0)The musical length corresponding to one unit of
beatStructure.beatStructure(number list)A sequence describing the length of each beat in the measure in units of
beatBase.subdivideBeams(boolean)If set, beams of multiple stems may be subdivided by omitting a number of beamlets, dependent on
beamMaximumSubdivision, between beats at multiples ofbeamMinimumSubdivision.This engraver creates the following layout object(s):
Beam.Grace_engraverSet font size and other properties for grace notes.
Properties (read)
graceSettings(list)Overrides for grace notes. This property should be manipulated through the
add-grace-propertyfunction.Grob_pq_engraverAdministrate when certain grobs (e.g., note heads) stop playing.
Properties (read)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g., note heads, spanners, etc.).Properties (write)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g., note heads, spanners, etc.).Instrument_switch_engraverCreate a cue text for taking instrument.
This engraver is deprecated.
Properties (read)
instrumentCueName(markup)The name to print if another instrument is to be taken.
This property is deprecated
This engraver creates the following layout object(s):
InstrumentSwitch.Laissez_vibrer_engraverCreate laissez vibrer items.
Music types accepted:
laissez-vibrer-eventThis engraver creates the following layout object(s):
LaissezVibrerTieandLaissezVibrerTieColumn.Ligature_bracket_engraverHandle
Ligature_eventsby engravingLigaturebrackets.Music types accepted:
ligature-eventThis engraver creates the following layout object(s):
LigatureBracket.Multi_measure_rest_engraverEngrave multi-measure rests that are produced with ‘R’. It reads
measureStartNowandinternalBarNumberto determine what number to print over theMultiMeasureRest.Music types accepted:
multi-measure-articulation-event,multi-measure-rest-eventandmulti-measure-text-eventProperties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
internalBarNumber(integer)Contains the current bar number. This property is used for internal timekeeping, among others by the
Accidental_engraver.measureStartNow(boolean)True at the beginning of a measure.
restNumberThreshold(number)If a multi-measure rest has more measures than this, a number is printed.
This engraver creates the following layout object(s):
MultiMeasureRest,MultiMeasureRestNumber,MultiMeasureRestScriptandMultiMeasureRestText.New_fingering_engraverCreate fingering scripts for notes in a new chord. This engraver is ill-named, since it also takes care of articulations and harmonic note heads.
Properties (read)
fingeringOrientations(list)A list of symbols, containing ‘left’, ‘right’, ‘up’ and/or ‘down’. This list determines where fingerings are put relative to the chord being fingered.
harmonicDots(boolean)If set, harmonic notes in dotted chords get dots.
stringNumberOrientations(list)See
fingeringOrientations.strokeFingerOrientations(list)See
fingeringOrientations.This engraver creates the following layout object(s):
Fingering,Script,StringNumberandStrokeFinger.Note_head_line_engraverEngrave a line between two note heads in a staff switch if
followVoiceis set.Properties (read)
followVoice(boolean)If set, note heads are tracked across staff switches by a thin line.
This engraver creates the following layout object(s):
VoiceFollower.Note_heads_engraverGenerate note heads.
Music types accepted:
note-eventProperties (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):
ApproximatePitchNoteHeadandNoteHead.Note_spacing_engraverGenerate
NoteSpacing, an object linking horizontal lines for use in spacing.This engraver creates the following layout object(s):
NoteSpacing.Part_combine_engraverPart combine engraver for orchestral scores: Print markings ‘a2’, ‘Solo’, ‘Solo II’, and ‘unisono’.
Music types accepted:
note-eventandpart-combine-eventProperties (read)
aDueText(markup)Text to print at a unisono passage.
partCombineTextsOnNote(boolean)Print part-combine texts only on the next note rather than immediately on rests or skips.
printPartCombineTexts(boolean)Set ‘Solo’ and ‘A due’ texts in the part combiner?
soloIIText(markup)The text for the start of a solo for voice ‘two’ when part-combining.
soloText(markup)The text for the start of a solo when part-combining.
This engraver creates the following layout object(s):
CombineTextScript.Percent_repeat_engraverMake whole measure repeats.
Music types accepted:
percent-eventProperties (read)
countPercentRepeats(boolean)If set, produce counters for percent repeats.
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
repeatCountVisibility(procedure)A procedure taking as arguments an integer and context, returning whether the corresponding percent repeat number should be printed when
countPercentRepeatsis set.This engraver creates the following layout object(s):
PercentRepeatandPercentRepeatCounter.Phrasing_slur_engraverPrint phrasing slurs. Similar to
Slur_engraver.Music types accepted:
note-eventandphrasing-slur-eventThis engraver creates the following layout object(s):
PhrasingSlur.Pitched_trill_engraverPrint the bracketed note head after a note head with trill.
This engraver creates the following layout object(s):
TrillPitchAccidental,TrillPitchGroup,TrillPitchHeadandTrillPitchParentheses.Repeat_tie_engraverCreate repeat ties.
Music types accepted:
repeat-tie-eventThis engraver creates the following layout object(s):
RepeatTieandRepeatTieColumn.Rest_engraverEngrave rests.
Music types accepted:
rest-eventProperties (read)
middleCPosition(number)The place of the middle C, measured in half staff-spaces. Usually determined by looking at
middleCClefPositionandmiddleCOffset.This engraver creates the following layout object(s):
Rest.Rhythmic_column_engraverGenerate
NoteColumn, an object that groups stems, note heads, and rests.This engraver creates the following layout object(s):
NoteColumn.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):
ScriptColumn.Script_engraverHandle note scripted articulations.
Music types accepted:
articulation-eventProperties (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.Slash_repeat_engraverMake beat repeats.
Music types accepted:
repeat-slash-eventThis engraver creates the following layout object(s):
DoubleRepeatSlashandRepeatSlash.Slur_engraverBuild slur grobs from slur events.
Music types accepted:
note-eventandslur-eventProperties (read)
doubleSlurs(boolean)If set, two slurs are created for every slurred note, one above and one below the chord.
slurMelismaBusy(boolean)Signal if a slur is present.
This engraver creates the following layout object(s):
Slur.Spanner_break_forbid_engraverForbid breaks in certain spanners.
Stem_engraverCreate stems, flags and single-stem tremolos. It also works together with the beam engraver for overriding beaming.
Music types accepted:
tremolo-eventProperties (read)
currentBarLine(graphical (layout) object)Set to the
BarLinethatBar_engraverhas created in the current time step.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):
Flag,Stem,StemStubandStemTremolo.Text_engraverCreate text scripts.
Music types accepted:
text-script-eventThis engraver creates the following layout object(s):
TextScript.Text_spanner_engraverCreate text spanner from an event.
Music types accepted:
text-span-eventProperties (read)
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
TextSpanner.Tie_engraverGenerate ties between note heads of equal pitch.
Music types accepted:
tie-eventProperties (read)
skipTypesetting(boolean)If true, no typesetting is done, speeding up the interpretation phase. Useful for debugging large scores.
tieWaitForNote(boolean)If true, tied notes do not have to follow each other directly. This can be used for writing out arpeggios.
Properties (write)
tieMelismaBusy(boolean)Signal whether a tie is present.
This engraver creates the following layout object(s):
TieandTieColumn.Toe_heel_engraverRead the
toeHeelStylecontext property and use it to style\rtoeand its siblings, based on the data in thetoe-heel-stylesalist.Music types accepted:
articulation-eventProperties (read)
toeHeelStyle(symbol)The style for the glyph shape and behavior of
\rtoeand siblings. Possible values aredefault,standard,reversed,circleheels, andbelow. If not set (the default), use valuedefault.Trill_spanner_engraverCreate trill spanners.
Music types accepted:
trill-span-eventProperties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
TrillSpanner.Tuplet_engraverCatch tuplet events and generate appropriate bracket.
Music types accepted:
tuplet-span-eventProperties (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):
TupletBracketandTupletNumber.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < StandaloneRhythmVoice ] | [ Up: Contexts ] | [ TabVoice > ] |
2.1.37 TabStaff ¶
Context for generating tablature. It accepts only
TabVoice contexts and handles the line spacing, the tablature clef,
etc., properly.
This context also accepts commands for the following context(s):
Staff.
This context creates the following layout object(s):
BarLine, BassFigure, BassFigureAlignment, BassFigureAlignmentPositioning, BassFigureBracket, BassFigureContinuation, BassFigureLine, BreathingSign, CaesuraScript, Clef, ClefModifier, CueClef, CueEndClef, DotColumn, FingeringColumn, InstrumentName, LedgerLineSpanner, NoteCollision, OptionalMaterialBracket, PianoPedalBracket, RestCollision, ScriptColumn, ScriptRow, SostenutoPedal, SostenutoPedalLineSpanner, StaffEllipsis, StaffHighlight, StaffSpacing, StaffSymbol, SustainPedal, SustainPedalLineSpanner, TimeSignature, UnaCordaPedal, UnaCordaPedalLineSpanner and VerticalAxisGroup.
This context sets the following properties:
- Set context property
autoBeamingto#f. - Set context property
clefGlyphto"clefs.tab". - Set context property
clefPositionto0. - Set context property
createSpacingto#t. - Set context property
handleNegativeFretsto'recalculate. - Set context property
ignoreFiguredBassRestto#f. - Set context property
instrumentNameto'(). - Set context property
localAlterationsto'(). - Set context property
ottavationMarkupsto:'((4 . "29") (3 . "22") (2 . "15") (1 . "8") (-1 . "8") (-2 . "15") (-3 . "22") (-4 . "29"))
- Set context property
restrainOpenStringsto#f. - Set context property
shortInstrumentNameto'(). - Set grob property
avoid-note-headinStemto#t. - Set grob property
beam-thicknessinBeamto0.32. - Set grob property
beam-thicknessinStemTremoloto0.32. - Set grob property
beam-widthinStemTremolotostem-tremolo::calc-tab-width. - Set grob property
bound-details.leftinGlissandoto :'((attach-dir . 1) (padding . 0.3))
- Set grob property
bound-details.rightinGlissandoto :'((attach-dir . -1) (padding . 0.3))
- Set grob property
control-pointsinSlurto#<unpure-pure-container #<procedure at lily/music-functions.scm:2665:16 (grob . rest)> >. - Set grob property
detailsinStemto :'((lengths 0 0 0 0 0 0) (beamed-lengths 0 0 0) (beamed-minimum-free-lengths 0 0 0) (beamed-extreme-minimum-free-lengths 0 0) (stem-shorten 0 0))
- Set grob property
extra-dyinGlissandotoglissando::calc-tab-extra-dy. - Set grob property
glyph-nameinTabNoteHeadtotab-note-head::calc-glyph-name. - Set grob property
ignore-collisioninNoteColumnto#t. - Set grob property
length-fractioninBeamto0.62. - Set grob property
length-fractioninStemTremoloto#<procedure at ice-9/eval.scm:333:13 (a)>. - Set grob property
no-stem-extendinStemto#t. - Set grob property
staff-spaceinStaffSymbolto1.5. - Set grob property
stencilinArpeggioto#f. - Set grob property
stencilinBeamto#f. - Set grob property
stencilinCleftoclef::print-modern-tab-if-set. - Set grob property
stencilinDotsto#f. - Set grob property
stencilinDynamicTextSpannerto#f. - Set grob property
stencilinDynamicTextto#f. - Set grob property
stencilinFlagto#f. - Set grob property
stencilinGlissandotoglissando::draw-tab-glissando. - Set grob property
stencilinHairpinto#f. - Set grob property
stencilinLaissezVibrerTieto#f. - Set grob property
stencilinMultiMeasureRestNumberto#f. - Set grob property
stencilinMultiMeasureRestScriptto#f. - Set grob property
stencilinMultiMeasureRestTextto#f. - Set grob property
stencilinMultiMeasureRestto#f. - Set grob property
stencilinPhrasingSlurto#f. - Set grob property
stencilinRepeatTieto#f. - Set grob property
stencilinRestto#f. - Set grob property
stencilinScriptto#f. - Set grob property
stencilinStemTremoloto#f. - Set grob property
stencilinStemto#f. - Set grob property
stencilinTabNoteHeadtotab-note-head::whiteout-if-style-set. - Set grob property
stencilinTextScriptto#f. - Set grob property
stencilinTextSpannerto#f. - Set grob property
stencilinTieto#f. - Set grob property
stencilinTimeSignatureto#f. - Set grob property
stencilinTupletBracketto#f. - Set grob property
stencilinTupletNumberto#f. - Set grob property
styleinFlagto'no-flag.
This is not a ‘Bottom’ context; search for such a one will commence after creating an implicit context of type TabVoice.
This context is built from the following engraver(s):
Alteration_glyph_engraverSet the
glyph-name-alistof all grobs having theaccidental-switch-interfaceto the value of the context’salterationGlyphsproperty, when defined.Properties (read)
alterationGlyphs(list)Alist mapping alterations to accidental glyphs. Alterations are given as exact numbers, e.g., -1/2 for flat. This applies to all grobs that can print accidentals.
Apply_output_engraverApply a procedure to any grob acknowledged.
Music types accepted:
apply-output-eventAxis_group_engraverGroup all objects created in this context in a
VerticalAxisGroupspanner.Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
hasAxisGroup(boolean)True if the current context is contained in an axis group.
keepAliveInterfaces(list)A list of symbols, signifying grob interfaces that are worth keeping a staff with
remove-emptyset around for.Properties (write)
hasAxisGroup(boolean)True if the current context is contained in an axis group.
This engraver creates the following layout object(s):
VerticalAxisGroup.Bar_engraverCreate bar lines for various commands, including
\\bar.If
forbidBreakBetweenBarLinesis true, allow line breaks at bar lines only.Music types accepted:
ad-hoc-jump-event,caesura-event,coda-mark-event,dal-segno-event,fine-event,section-eventandsegno-mark-eventProperties (read)
caesuraType(list)An alist
((bar-line . bar-type) (breath . breath-type) (scripts . script-type...) (underlying-bar-line . bar-type))specifying which breath mark, bar line, and scripts to create at
\caesura. All entries are optional.
bar-linehas higher priority than a measure bar line andunderlying-bar-linehas lower priority than a measure bar line.caesuraTypeTransform(procedure)An engraver callback taking three arguments and returning an alist of the same kind as
caesuraType.The first argument is the context.
The second argument is the value of
caesuraTypewith an additional entry(articulations . symbol-list)identifying the articulations attached to the caesura in the music. If the transform function returns this second argument unmodified, it is as if no transform function were set; the function is free to return a different value. The transform function can remove articulations, but any added articulations are ignored.The third argument is a symbol-list identifying certain things the engraver has observed.
bar-lineindicates that the engraver has observed aBarLineat the current moment.doubleRepeatBarType(string)Bar line to insert where the end of one
\repeat voltacoincides with the start of another. The default is ‘:..:’.doubleRepeatSegnoBarType(string)Bar line to insert where an in-staff segno coincides with the end of one
\repeat voltaand the beginning of another. The default is ‘:|.S.|:’.endRepeatBarType(string)Bar line to insert at the end of a
\repeat volta. The default is ‘:|.’.endRepeatSegnoBarType(string)Bar line to insert where an in-staff segno coincides with the end of a
\repeat volta. The default is ‘:|.S’.fineBarType(string)Bar line to insert at
\fine. Where there is also a repeat bar line, the repeat bar line takes precedence and this value is appended to it as an annotation. The default is ‘|.’.fineSegnoBarType(string)Bar line to insert where an in-staff segno coincides with
\fine. The default is ‘|.S’.fineStartRepeatSegnoBarType(string)Bar line to insert where an in-staff segno coincides with
\fineand the start of a\repeat volta. The default is ‘|.S.|:’.forbidBreakBetweenBarLines(boolean)If set to
#t,Bar_engraverforbids line breaks where there is no bar line.measureBarType(string)Bar line to insert at a measure boundary.
printInitialRepeatBar(boolean)Use a special bar line at the start of a volta repeat even at the beginning of the piece.
printTrivialVoltaRepeats(boolean)Notate volta-style repeats even when the repeat count is 1.
repeatCommands(list)A list of commands related to volta-style repeats. In general, each element is a list,
'(command args…), but a command with no arguments may be abbreviated to a symbol; e.g.,'((start-repeat))may be given as'(start-repeat).
end-repeat return-countEnd a repeated section. return-count is the number of times to go back from this point to the beginning of the section.
start-repeat repeat-countStart a repeated section. repeat-count is the number of times to perform this section.
volta textIf text is markup, start a volta bracket with that label; if text is
#f, end a volta bracket.sectionBarType(string)Bar line to insert at
\section. Where there is also a repeat bar line, the repeat bar line takes precedence and this value is appended to it as an annotation. The default is ‘||’.segnoBarType(string)Bar line to insert at an in-staff segno. The default is ‘S’.
segnoStyle(symbol)A symbol that indicates how to print a segno:
bar-lineormark.startRepeatBarType(string)Bar line to insert at the start of a
\repeat volta. The default is ‘.|:’.startRepeatSegnoBarType(string)Bar line to insert where an in-staff segno coincides with the start of a
\repeat volta. The default is ‘S.|:’.submeasureBarsEnabled(boolean)Whether to insert submeasure bar lines at boundaries specified by
submeasureStructure. They are typically enabled selectively to clarify complex rhythms.submeasureBarType(string)Bar line to insert at submeasure boundaries specified by
submeasureStructure, whensubmeasureBarsEnabledallows.submeasureStructure(number list)A sequence describing subdivisions of a measure. Each element tells the distance from the previous division in units of
beatBase.underlyingRepeatBarType(string)Bar line to insert at points of repetition or departure where no bar line would normally appear, for example at the end of a system broken in mid measure where the next system begins with a segno. Where there is also a repeat bar line, the repeat bar line takes precedence and this value is appended to it as an annotation. The default is ‘||’.
whichBar(string)The current bar line type, or
'()if there is no bar line. Setting this explicitly in user code is deprecated. Use\baror related commands to set it.Properties (write)
currentBarLine(graphical (layout) object)Set to the
BarLinethatBar_engraverhas created in the current time step.forbidBreak(boolean)If set to
#t, prevent a line break at this point, except if explicitly requested by the user.This engraver creates the following layout object(s):
BarLine.Caesura_engraverNotate a short break in sound that does not shorten the previous note.
Depending on the result of passing the value of
caesuraTypethroughcaesuraTypeTransform, this engraver may create aBreathingSignwithCaesuraScriptgrobs aligned to it, or it may createCaesuraScriptgrobs and align them to aBarLine.If this engraver observes a
BarLine, it callscaesuraTypeTransformagain with the new information, and if necessary, recreates its grobs.Music types accepted:
caesura-eventProperties (read)
breathMarkDefinitions(list)The description of breath marks. This is used by the
Breathing_sign_engraver. See scm/breath.scm for more information.caesuraType(list)An alist
((bar-line . bar-type) (breath . breath-type) (scripts . script-type...) (underlying-bar-line . bar-type))specifying which breath mark, bar line, and scripts to create at
\caesura. All entries are optional.
bar-linehas higher priority than a measure bar line andunderlying-bar-linehas lower priority than a measure bar line.caesuraTypeTransform(procedure)An engraver callback taking three arguments and returning an alist of the same kind as
caesuraType.The first argument is the context.
The second argument is the value of
caesuraTypewith an additional entry(articulations . symbol-list)identifying the articulations attached to the caesura in the music. If the transform function returns this second argument unmodified, it is as if no transform function were set; the function is free to return a different value. The transform function can remove articulations, but any added articulations are ignored.The third argument is a symbol-list identifying certain things the engraver has observed.
bar-lineindicates that the engraver has observed aBarLineat the current moment.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):
BreathingSignandCaesuraScript.Clef_engraverDetermine and set reference point for pitches.
Properties (read)
clefGlyph(string)Name of the symbol within the music font.
clefPosition(number)Where should the center of the clef symbol go, measured in half staff spaces from the center of the staff.
clefTransposition(integer)Add this much extra transposition to a clef. Values of 7 and -7 are common.
clefTranspositionStyle(symbol)Determines the way the
ClefModifiergrob of a clef is displayed. Possible values are'default,'parenthesized, and'bracketed.explicitClefVisibility(vector)‘break-visibility’ function for clef changes.
forbidBreak(boolean)If set to
#t, prevent a line break at this point, except if explicitly requested by the user.forceBreak(boolean)Set to
#twhen an event forcing a line break was heard.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):
ClefandClefModifier.Collision_engraverCollect
NoteColumns, and as soon as there are two or more, put them in aNoteCollisionobject.This engraver creates the following layout object(s):
NoteCollision.Cue_clef_engraverDetermine and set reference point for pitches in cued voices.
Properties (read)
clefTransposition(integer)Add this much extra transposition to a clef. Values of 7 and -7 are common.
cueClefGlyph(string)Name of the symbol within the music font.
cueClefPosition(number)Where should the center of the clef symbol go, measured in half staff spaces from the center of the staff.
cueClefTransposition(integer)Add this much extra transposition to a cue clef. Values of 7 and -7 are common.
cueClefTranspositionStyle(symbol)Determines the way the
ClefModifiergrob of a cue clef is displayed. Possible values are'default,'parenthesized, and'bracketed.explicitCueClefVisibility(vector)‘break-visibility’ function for cue clef changes.
forbidBreak(boolean)If set to
#t, prevent a line break at this point, except if explicitly requested by the user.forceBreak(boolean)Set to
#twhen an event forcing a line break was heard.middleCCuePosition(number)The position of the middle C, as determined only by the clef of the cue notes. This can be calculated by looking at
cueClefPositionandcueClefGlyph.This engraver creates the following layout object(s):
ClefModifier,CueClefandCueEndClef.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):
DotColumn.Figured_bass_engraverMake figured bass numbers.
Music types accepted:
bass-figure-eventandrest-eventProperties (read)
figuredBassAlterationDirection(direction)Where to put alterations relative to the main figure.
figuredBassCenterContinuations(boolean)Whether to vertically center pairs of extender lines. This does not work with three or more lines.
figuredBassFormatter(procedure)A routine generating a markup for a bass figure.
ignoreFiguredBassRest(boolean)Don’t swallow rest events.
implicitBassFigures(list)A list of bass figures that are not printed as numbers, but only as extender lines.
useBassFigureExtenders(boolean)Whether to use extender lines for repeated bass figures.
This engraver creates the following layout object(s):
BassFigure,BassFigureAlignment,BassFigureBracket,BassFigureContinuationandBassFigureLine.Figured_bass_position_engraverPosition figured bass alignments over notes.
This engraver creates the following layout object(s):
BassFigureAlignmentPositioning.Fingering_column_engraverFind potentially colliding scripts and put them into a
FingeringColumnobject; that will fix the collisions.This engraver creates the following layout object(s):
FingeringColumn.Font_size_engraverPut
fontSizeintofont-sizegrob property.Properties (read)
fontSize(number)The relative size of all grobs in a context.
Grob_pq_engraverAdministrate when certain grobs (e.g., note heads) stop playing.
Properties (read)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g., note heads, spanners, etc.).Properties (write)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g., note heads, spanners, etc.).Horizontal_script_engraverAligns
ScripthorizontallyInstrument_name_engraverCreate a system start text for instrument or vocal names.
Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
instrumentName(markup)The name to print left of a staff. The
instrumentNameproperty labels the staff in the first system, and theshortInstrumentNameproperty labels following lines.shortInstrumentName(markup)See
instrumentName.shortVocalName(markup)Name of a vocal line, short version.
vocalName(markup)Name of a vocal line.
This engraver creates the following layout object(s):
InstrumentName.Ledger_line_engraverCreate the spanner to draw ledger lines, and notices objects that need ledger lines.
This engraver creates the following layout object(s):
LedgerLineSpanner.Merge_mmrest_numbers_engraverEngraver to merge multi-measure rest numbers in multiple voices.
This works by gathering all multi-measure rest numbers at a time step. If they all have the same text and there are at least two only the first one is retained and the others are hidden.
Non_musical_script_column_engraverFind potentially colliding non-musical scripts and put them into a
ScriptColumnobject; that will fix the collisions.This engraver creates the following layout object(s):
ScriptColumn.Optional_material_bracket_engraverNotate in-staff brackets for optional material.
Music types accepted:
optional-material-eventThis engraver creates the following layout object(s):
OptionalMaterialBracket.Piano_pedal_align_engraverAlign piano pedal symbols and brackets.
Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
This engraver creates the following layout object(s):
SostenutoPedalLineSpanner,SustainPedalLineSpannerandUnaCordaPedalLineSpanner.Piano_pedal_engraverEngrave piano pedal symbols and brackets.
Music types accepted:
sostenuto-event,sustain-eventanduna-corda-eventProperties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
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,SustainPedalandUnaCordaPedal.Pure_from_neighbor_engraverCoordinates items that get their pure heights from their neighbors.
Rest_collision_engraverHandle collisions of rests.
Properties (read)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g., note heads, spanners, etc.).This engraver creates the following layout object(s):
RestCollision.Script_row_engraverDetermine order in horizontal side position elements.
This engraver creates the following layout object(s):
ScriptRow.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
currentCommandColumncontains items that will affect spacing.This engraver creates the following layout object(s):
StaffSpacing.Skip_typesetting_engraverCreate a
StaffEllipsiswhenskipTypesettingis used.Properties (read)
skipTypesetting(boolean)If true, no typesetting is done, speeding up the interpretation phase. Useful for debugging large scores.
This engraver creates the following layout object(s):
StaffEllipsis.Staff_collecting_engraverMaintain the
stavesFoundvariable.Properties (read)
stavesFound(list of grobs)A list of all staff-symbols found.
Properties (write)
stavesFound(list of grobs)A list of all staff-symbols found.
Staff_highlight_engraverHighlights music passages.
Music types accepted:
staff-highlight-eventProperties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
This engraver creates the following layout object(s):
StaffHighlight.Staff_symbol_engraverCreate the constellation of five (default) staff lines.
Music types accepted:
staff-span-eventThis engraver creates the following layout object(s):
StaffSymbol.Tab_staff_symbol_engraverCreate a tablature staff symbol, but look at
stringTuningsfor the number of lines.Properties (read)
stringTunings(list)The tablature strings tuning. It is a list of the pitches of each string (starting with the lowest numbered one).
This engraver creates the following layout object(s):
StaffSymbol.Time_signature_engraverCreate a
TimeSignaturewhenevertimeSignaturechanges.Music types accepted:
polymetric-time-signature-eventandreference-time-signature-eventProperties (read)
initialTimeSignatureVisibility(vector)break visibility for the initial time signature.
partialBusy(boolean)Signal that \partial acts at the current time step.
timeSignature(time signature)A time-signature specification. See the
\timecommand.This engraver creates the following layout object(s):
TimeSignature.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < TabStaff ] | [ Up: Contexts ] | [ VaticanaLyrics > ] |
2.1.38 TabVoice ¶
The voice context used within a TabStaff context.
Usually left to be created implicitly.
This context also accepts commands for the following context(s):
Voice.
This context creates the following layout object(s):
Arpeggio, Beam, BendAfter, BendSpanner, BreathingSign, ChordBracket, ChordSlur, ClusterSpanner, ClusterSpannerBeacon, CombineTextScript, Dots, DoublePercentRepeat, DoublePercentRepeatCounter, DoubleRepeatSlash, DynamicLineSpanner, DynamicText, DynamicTextSpanner, FingerGlideSpanner, Flag, Glissando, Hairpin, InstrumentSwitch, LaissezVibrerTie, LaissezVibrerTieColumn, LigatureBracket, MultiMeasureRest, MultiMeasureRestNumber, MultiMeasureRestScript, MultiMeasureRestText, NoteColumn, NoteSpacing, PercentRepeat, PercentRepeatCounter, PhrasingSlur, RepeatSlash, RepeatTie, RepeatTieColumn, Rest, Script, ScriptColumn, Slur, Stem, StemStub, StemTremolo, TabNoteHead, TextScript, TextSpanner, Tie, TieColumn, TrillSpanner, TupletBracket, TupletNumber and VoiceFollower.
This is a ‘Bottom’ context; no contexts will be created implicitly from it.
This context cannot contain other contexts.
This context is built from the following engraver(s):
Apply_output_engraverApply a procedure to any grob acknowledged.
Music types accepted:
apply-output-eventArpeggio_engraverCreate arpeggiato and non-arpeggiato symbols.
Music types accepted:
arpeggio-event,chord-slur-eventandnon-arpeggiato-eventThis engraver creates the following layout object(s):
Arpeggio,ChordBracketandChordSlur.Auto_beam_engraverGenerate beams based on measure characteristics and observed Stems. Uses
beatBase,beatStructure,beamExceptions,measureLength, andmeasurePositionto decide when to start and stop a beam. Overriding beaming is done throughStem_engraverpropertiesstemLeftBeamCountandstemRightBeamCount.Music types accepted:
beam-break-eventandbeam-forbid-eventProperties (read)
autoBeaming(boolean)If set to
#tthen beams are generated automatically. If set to#f, auto-beaming is switched off as soon as the current beam (if any) is finished according to the auto-beaming rules.beamExceptions(list)An alist of exceptions to auto-beam rules that normally end on beats.
beamHalfMeasure(boolean)Whether to allow a beam to begin halfway through the measure in triple time, which could look like 6/8.
beatBase(positive exact rational or +inf.0)The musical length corresponding to one unit of
beatStructure.beatStructure(number list)A sequence describing the length of each beat in the measure in units of
beatBase.subdivideBeams(boolean)If set, beams of multiple stems may be subdivided by omitting a number of beamlets, dependent on
beamMaximumSubdivision, between beats at multiples ofbeamMinimumSubdivision.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:
beam-eventProperties (read)
beamMelismaBusy(boolean)Signal if a beam is present.
beatBase(positive exact rational or +inf.0)The musical length corresponding to one unit of
beatStructure.beatStructure(number list)A sequence describing the length of each beat in the measure in units of
beatBase.subdivideBeams(boolean)If set, beams of multiple stems may be subdivided by omitting a number of beamlets, dependent on
beamMaximumSubdivision, between beats at multiples ofbeamMinimumSubdivision.This engraver creates the following layout object(s):
Beam.Bend_engraverCreate fall spanners.
Music types accepted:
bend-after-eventProperties (read)
currentBarLine(graphical (layout) object)Set to the
BarLinethatBar_engraverhas created in the current time step.currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
BendAfter.Bend_spanner_engraverEngraver to print a BendSpanner.
Music types accepted:
bend-span-event,note-eventandstring-number-eventProperties (read)
stringFretFingerList(list)A list containing three entries. In
TabVoiceandFretBoardsthey determine the string, fret and finger to usesupportNonIntegerFret(boolean)If set in
ScoretheTabStaffwill print micro-tones as ‘2½’Properties (write)
stringFretFingerList(list)A list containing three entries. In
TabVoiceandFretBoardsthey determine the string, fret and finger to usesupportNonIntegerFret(boolean)If set in
ScoretheTabStaffwill print micro-tones as ‘2½’This engraver creates the following layout object(s):
BendSpanner.Breathing_sign_engraverNotate breath marks.
Music types accepted:
breathing-eventProperties (read)
breathMarkType(symbol)The type of
BreathingSignto create at\breathe.This engraver creates the following layout object(s):
BreathingSign.Chord_tremolo_engraverGenerate beams for tremolo repeats.
Music types accepted:
tremolo-span-eventThis engraver creates the following layout object(s):
Beam.Cluster_spanner_engraverEngrave a cluster using
Spannernotation.Music types accepted:
cluster-note-eventThis engraver creates the following layout object(s):
ClusterSpannerandClusterSpannerBeacon.Dots_engraverCreate
Dotsobjects forrhythmic-head-interfaces.This engraver creates the following layout object(s):
Dots.Double_percent_repeat_engraverMake double measure repeats.
Music types accepted:
double-percent-eventProperties (read)
countPercentRepeats(boolean)If set, produce counters for percent repeats.
measureLength(positive exact rational or +inf.0)The musical length of the current measure.
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, except if explicitly requested by the user.This engraver creates the following layout object(s):
DoublePercentRepeatandDoublePercentRepeatCounter.Dynamic_align_engraverAlign hairpins and dynamic texts on a horizontal line.
Properties (read)
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
DynamicLineSpanner.Dynamic_engraverCreate hairpins, dynamic texts and dynamic text spanners.
Music types accepted:
absolute-dynamic-event,break-dynamic-span-eventandspan-dynamic-eventProperties (read)
crescendoSpanner(symbol)The type of spanner to be used for crescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin crescendo is used.
crescendoText(markup)The text to print at start of non-hairpin crescendo, i.e., ‘cresc.’.
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
decrescendoSpanner(symbol)The type of spanner to be used for decrescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin decrescendo is used.
decrescendoText(markup)The text to print at start of non-hairpin decrescendo, i.e., ‘dim.’.
This engraver creates the following layout object(s):
DynamicText,DynamicTextSpannerandHairpin.Finger_glide_engraverEngraver to print a line between two
Fingering,StringNumberorStrokeFingergrobs.Music types accepted:
note-eventThis engraver creates the following layout object(s):
FingerGlideSpanner.Font_size_engraverPut
fontSizeintofont-sizegrob property.Properties (read)
fontSize(number)The relative size of all grobs in a context.
Forbid_line_break_engraverForbid line breaks when note heads are still playing at some point.
Properties (read)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g., note heads, spanners, etc.).Properties (write)
forbidBreak(boolean)If set to
#t, prevent a line break at this point, except if explicitly requested by the user.Glissando_engraverEngrave glissandi.
Music types accepted:
glissando-eventProperties (read)
glissandoMap(list)A map in the form of
'((source1 . target1) (source2 . target2) ... (sourcen . targetn)), showing the glissandi to be drawn for note columns. The value'()defaults to'((0 . 0) (1 . 1) ... (n . n)), where n is the minimum number of note heads in the two note columns between which the glissandi occur.This engraver creates the following layout object(s):
Glissando.Grace_auto_beam_engraverGenerates one autobeam group across an entire grace phrase. As usual, any manual beaming or
\noBeamwill block autobeaming, just like setting the context property ‘autoBeaming’ to##f.Music types accepted:
beam-break-eventandbeam-forbid-eventProperties (read)
autoBeaming(boolean)If set to
#tthen beams are generated automatically. If set to#f, auto-beaming is switched off as soon as the current beam (if any) is finished according to the auto-beaming rules.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:
beam-eventProperties (read)
beamMelismaBusy(boolean)Signal if a beam is present.
beatBase(positive exact rational or +inf.0)The musical length corresponding to one unit of
beatStructure.beatStructure(number list)A sequence describing the length of each beat in the measure in units of
beatBase.subdivideBeams(boolean)If set, beams of multiple stems may be subdivided by omitting a number of beamlets, dependent on
beamMaximumSubdivision, between beats at multiples ofbeamMinimumSubdivision.This engraver creates the following layout object(s):
Beam.Grace_engraverSet font size and other properties for grace notes.
Properties (read)
graceSettings(list)Overrides for grace notes. This property should be manipulated through the
add-grace-propertyfunction.Grob_pq_engraverAdministrate when certain grobs (e.g., note heads) stop playing.
Properties (read)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g., note heads, spanners, etc.).Properties (write)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g., note heads, spanners, etc.).Instrument_switch_engraverCreate a cue text for taking instrument.
This engraver is deprecated.
Properties (read)
instrumentCueName(markup)The name to print if another instrument is to be taken.
This property is deprecated
This engraver creates the following layout object(s):
InstrumentSwitch.Laissez_vibrer_engraverCreate laissez vibrer items.
Music types accepted:
laissez-vibrer-eventThis engraver creates the following layout object(s):
LaissezVibrerTieandLaissezVibrerTieColumn.Ligature_bracket_engraverHandle
Ligature_eventsby engravingLigaturebrackets.Music types accepted:
ligature-eventThis engraver creates the following layout object(s):
LigatureBracket.Multi_measure_rest_engraverEngrave multi-measure rests that are produced with ‘R’. It reads
measureStartNowandinternalBarNumberto determine what number to print over theMultiMeasureRest.Music types accepted:
multi-measure-articulation-event,multi-measure-rest-eventandmulti-measure-text-eventProperties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
internalBarNumber(integer)Contains the current bar number. This property is used for internal timekeeping, among others by the
Accidental_engraver.measureStartNow(boolean)True at the beginning of a measure.
restNumberThreshold(number)If a multi-measure rest has more measures than this, a number is printed.
This engraver creates the following layout object(s):
MultiMeasureRest,MultiMeasureRestNumber,MultiMeasureRestScriptandMultiMeasureRestText.Note_head_line_engraverEngrave a line between two note heads in a staff switch if
followVoiceis set.Properties (read)
followVoice(boolean)If set, note heads are tracked across staff switches by a thin line.
This engraver creates the following layout object(s):
VoiceFollower.Note_spacing_engraverGenerate
NoteSpacing, an object linking horizontal lines for use in spacing.This engraver creates the following layout object(s):
NoteSpacing.Part_combine_engraverPart combine engraver for orchestral scores: Print markings ‘a2’, ‘Solo’, ‘Solo II’, and ‘unisono’.
Music types accepted:
note-eventandpart-combine-eventProperties (read)
aDueText(markup)Text to print at a unisono passage.
partCombineTextsOnNote(boolean)Print part-combine texts only on the next note rather than immediately on rests or skips.
printPartCombineTexts(boolean)Set ‘Solo’ and ‘A due’ texts in the part combiner?
soloIIText(markup)The text for the start of a solo for voice ‘two’ when part-combining.
soloText(markup)The text for the start of a solo when part-combining.
This engraver creates the following layout object(s):
CombineTextScript.Percent_repeat_engraverMake whole measure repeats.
Music types accepted:
percent-eventProperties (read)
countPercentRepeats(boolean)If set, produce counters for percent repeats.
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
repeatCountVisibility(procedure)A procedure taking as arguments an integer and context, returning whether the corresponding percent repeat number should be printed when
countPercentRepeatsis set.This engraver creates the following layout object(s):
PercentRepeatandPercentRepeatCounter.Phrasing_slur_engraverPrint phrasing slurs. Similar to
Slur_engraver.Music types accepted:
note-eventandphrasing-slur-eventThis engraver creates the following layout object(s):
PhrasingSlur.Repeat_tie_engraverCreate repeat ties.
Music types accepted:
repeat-tie-eventThis engraver creates the following layout object(s):
RepeatTieandRepeatTieColumn.Rest_engraverEngrave rests.
Music types accepted:
rest-eventProperties (read)
middleCPosition(number)The place of the middle C, measured in half staff-spaces. Usually determined by looking at
middleCClefPositionandmiddleCOffset.This engraver creates the following layout object(s):
Rest.Rhythmic_column_engraverGenerate
NoteColumn, an object that groups stems, note heads, and rests.This engraver creates the following layout object(s):
NoteColumn.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):
ScriptColumn.Script_engraverHandle note scripted articulations.
Music types accepted:
articulation-eventProperties (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.Slash_repeat_engraverMake beat repeats.
Music types accepted:
repeat-slash-eventThis engraver creates the following layout object(s):
DoubleRepeatSlashandRepeatSlash.Slur_engraverBuild slur grobs from slur events.
Music types accepted:
note-eventandslur-eventProperties (read)
doubleSlurs(boolean)If set, two slurs are created for every slurred note, one above and one below the chord.
slurMelismaBusy(boolean)Signal if a slur is present.
This engraver creates the following layout object(s):
Slur.Spanner_break_forbid_engraverForbid breaks in certain spanners.
Stem_engraverCreate stems, flags and single-stem tremolos. It also works together with the beam engraver for overriding beaming.
Music types accepted:
tremolo-eventProperties (read)
currentBarLine(graphical (layout) object)Set to the
BarLinethatBar_engraverhas created in the current time step.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):
Flag,Stem,StemStubandStemTremolo.Tab_note_heads_engraverGenerate one or more tablature note heads from event of type
NoteEvent.Music types accepted:
fingering-event,note-eventandstring-number-eventProperties (read)
defaultStrings(list)A list of strings to use in calculating frets for tablatures and fretboards if no strings are provided in the notes for the current moment.
fretLabels(list)A list of strings or Scheme-formatted markups containing, in the correct order, the labels to be used for lettered frets in tablature.
highStringOne(boolean)Whether the first string is the string with highest pitch on the instrument. This used by the automatic string selector for tablature notation.
maximumFretStretch(number)Don’t allocate frets further than this from specified frets.
middleCPosition(number)The place of the middle C, measured in half staff-spaces. Usually determined by looking at
middleCClefPositionandmiddleCOffset.minimumFret(number)The tablature auto string-selecting mechanism selects the highest string with a fret at least
minimumFret.noteToFretFunction(procedure)Convert list of notes and list of defined strings to full list of strings and fret numbers. Parameters: The context, a list of note events, a list of tabstring events, and the fretboard grob if a fretboard is desired.
stringOneTopmost(boolean)Whether the first string is printed on the top line of the tablature.
stringTunings(list)The tablature strings tuning. It is a list of the pitches of each string (starting with the lowest numbered one).
tablatureFormat(procedure)A function formatting a tablature note head. Called with three arguments: context, string number and, fret number. It returns the text as a markup.
tabStaffLineLayoutFunction(procedure)A function determining the staff position of a tablature note head. Called with two arguments: the context and the string.
This engraver creates the following layout object(s):
TabNoteHead.Tab_tie_follow_engraverAdjust
TabNoteHeadproperties when theTabNoteHeadholds aRepeatTie, when aTieends and when aSlurorGlissandostarts at a tiedTabNoteHead.Properties (read)
tabFullNotation(boolean)Flag whether
\tabFullNotationis usedText_engraverCreate text scripts.
Music types accepted:
text-script-eventThis engraver creates the following layout object(s):
TextScript.Text_spanner_engraverCreate text spanner from an event.
Music types accepted:
text-span-eventProperties (read)
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
TextSpanner.Tie_engraverGenerate ties between note heads of equal pitch.
Music types accepted:
tie-eventProperties (read)
skipTypesetting(boolean)If true, no typesetting is done, speeding up the interpretation phase. Useful for debugging large scores.
tieWaitForNote(boolean)If true, tied notes do not have to follow each other directly. This can be used for writing out arpeggios.
Properties (write)
tieMelismaBusy(boolean)Signal whether a tie is present.
This engraver creates the following layout object(s):
TieandTieColumn.Toe_heel_engraverRead the
toeHeelStylecontext property and use it to style\rtoeand its siblings, based on the data in thetoe-heel-stylesalist.Music types accepted:
articulation-eventProperties (read)
toeHeelStyle(symbol)The style for the glyph shape and behavior of
\rtoeand siblings. Possible values aredefault,standard,reversed,circleheels, andbelow. If not set (the default), use valuedefault.Trill_spanner_engraverCreate trill spanners.
Music types accepted:
trill-span-eventProperties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
TrillSpanner.Tuplet_engraverCatch tuplet events and generate appropriate bracket.
Music types accepted:
tuplet-span-eventProperties (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):
TupletBracketandTupletNumber.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < TabVoice ] | [ Up: Contexts ] | [ VaticanaScore > ] |
2.1.39 VaticanaLyrics ¶
Same as Lyrics context, except that it
provides a hyphenation style (a single, flush-left hyphen between
two syllables) as used in the notational style of Editio Vaticana.
This context also accepts commands for the following context(s):
Lyrics.
This context creates the following layout object(s):
InstrumentName, LyricExtender, LyricHyphen, LyricSpace, LyricText, StanzaNumber, VerticalAxisGroup and VowelTransition.
This context sets the following properties:
- Set context property
instrumentNameto'(). - Set context property
lyricRepeatCountFormatterto#<procedure at lily/translation-functions.scm:218:4 (context repeat-count)>. - Set context property
searchForVoiceto#f. - Set context property
shortInstrumentNameto'(). - Set grob property
bar-extentinBarLineto :'(-0.05 . 0.05)
- Set grob property
font-seriesinLyricHyphento'normal. - Set grob property
font-sizeinInstrumentNameto1.0. - Set grob property
font-sizeinLyricHyphento-4. - Set grob property
font-sizeinLyricTextto-4. - Set grob property
nonstaff-nonstaff-spacinginVerticalAxisGroupto :'((basic-distance . 0) (minimum-distance . 2.8) (padding . 0.2) (stretchability . 0))
- Set grob property
nonstaff-relatedstaff-spacinginVerticalAxisGroupto :'((basic-distance . 5.5) (padding . 0.5) (stretchability . 1))
- Set grob property
nonstaff-unrelatedstaff-spacing.paddinginVerticalAxisGroupto1.5. - Set grob property
remove-emptyinVerticalAxisGroupto#t. - Set grob property
remove-firstinVerticalAxisGroupto#t. - Set grob property
self-alignment-YinInstrumentNameto#f. - Set grob property
short-bar-extentinBarLineto :'(-0.05 . 0.05)
- Set grob property
staff-affinityinVerticalAxisGroupto1. - Set grob property
stencilinLyricHyphentolyric-hyphen::vaticana-style.
This is a ‘Bottom’ context; no contexts will be created implicitly from it.
This context cannot contain other contexts.
This context is built from the following engraver(s):
Axis_group_engraverGroup all objects created in this context in a
VerticalAxisGroupspanner.Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
hasAxisGroup(boolean)True if the current context is contained in an axis group.
keepAliveInterfaces(list)A list of symbols, signifying grob interfaces that are worth keeping a staff with
remove-emptyset around for.Properties (write)
hasAxisGroup(boolean)True if the current context is contained in an axis group.
This engraver creates the following layout object(s):
VerticalAxisGroup.Extender_engraverCreate lyric extenders.
Music types accepted:
completize-extender-event,extender-event,hyphen-eventandlyric-eventProperties (read)
autoExtenders(boolean)Create lyric extenders automatically for syllables in melismata that are not followed by a hyphen.
extendersOverRests(boolean)Whether to continue extenders as they cross a rest.
This engraver creates the following layout object(s):
LyricExtender.Font_size_engraverPut
fontSizeintofont-sizegrob property.Properties (read)
fontSize(number)The relative size of all grobs in a context.
Hyphen_engraverCreate lyric hyphens, vowel transitions and distance constraints between words.
Music types accepted:
hyphen-eventandvowel-transition-eventThis engraver creates the following layout object(s):
LyricHyphen,LyricSpaceandVowelTransition.Instrument_name_engraverCreate a system start text for instrument or vocal names.
Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
instrumentName(markup)The name to print left of a staff. The
instrumentNameproperty labels the staff in the first system, and theshortInstrumentNameproperty labels following lines.shortInstrumentName(markup)See
instrumentName.shortVocalName(markup)Name of a vocal line, short version.
vocalName(markup)Name of a vocal line.
This engraver creates the following layout object(s):
InstrumentName.Lyric_engraverEngrave text for lyrics.
Music types accepted:
lyric-eventProperties (read)
ignoreMelismata(boolean)Ignore melismata for this Lyrics line.
lyricMelismaAlignment(number)Alignment to use for a melisma syllable.
searchForVoice(boolean)Signal whether a search should be made of all contexts in the context hierarchy for a voice to provide rhythms for the lyrics.
This engraver creates the following layout object(s):
LyricText.Pure_from_neighbor_engraverCoordinates items that get their pure heights from their neighbors.
Stanza_number_engraverEngrave stanza numbers.
Properties (read)
stanzaReminders(boolean)Whether to print stanza reminders.
stanzaReminderText(procedure-or-markup)The text for stanza reminders, or a procedure that generates the reminder text when given the full current stanza number markup.
This engraver creates the following layout object(s):
StanzaNumber.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < VaticanaLyrics ] | [ Up: Contexts ] | [ VaticanaStaff > ] |
2.1.40 VaticanaScore ¶
Top-level context replacing Score for Gregorian chant
notated in Vaticana style. Compared to Score, it changes the staff
line color to red, uses packed spacing, and removes bar numbers.
This context also accepts commands for the following context(s):
Score and Timing.
This context creates the following layout object(s):
BreakAlignGroup, BreakAlignment, CenteredBarNumberLineSpanner, CodaMark, ControlPoint, ControlPolygon, Footnote, GraceSpacing, JumpScript, LeftEdge, MetronomeMark, NonMusicalPaperColumn, PaperColumn, Parentheses, RehearsalMark, SectionLabel, SegnoMark, SpacingSpanner, StaffGrouper, SystemStartBar, SystemStartBrace, SystemStartBracket, SystemStartSquare, TextMark, VerticalAlignment, VoltaBracket and VoltaBracketSpanner.
This context sets the following properties:
- Set context property
additionalPitchPrefixto"add". - Set context property
aDueTextto"a2". - Set context property
alterationGlyphsto#f. - Set context property
alternativeRestoresto:'(measurePosition measureLength measureStartNow lastChord)
- Set context property
associatedVoiceTypeto'Voice. - Set context property
autoAccidentalsto:'(Staff #<procedure at lily/music-functions.scm:1794:0 (context pitch barnum)>)
- Set context property
autoBeamChecktodefault-auto-beam-check. - Set context property
autoBeamingto#t. - Set context property
autoCautionariesto'(). - Set context property
barNumberFormattertorobust-bar-number-function. - Set context property
barNumberVisibilitytofirst-bar-number-invisible-and-no-parenthesized-bar-numbers. - Set context property
beamHalfMeasureto#t. - Set context property
breathMarkDefinitionsto:'((altcomma (text #<procedure musicglyph-markup (layout props glyph-name)> "scripts.raltcomma")) (caesura (text #<procedure musicglyph-markup (layout props glyph-name)> "scripts.caesura.straight")) (chantdoublebar (extra-spacing-width -1.0 . 0.0) (stencil . #<procedure ly:breathing-sign::finalis (_)>) (Y-offset . 0.0)) (chantfullbar (extra-spacing-width -1.0 . 0.0) (stencil . #<procedure ly:breathing-sign::divisio-maxima (_)>) (Y-offset . 0.0)) (chanthalfbar (extra-spacing-height . #<procedure item::extra-spacing-height-including-staff (grob)>) (extra-spacing-width -1.0 . 0.0) (stencil . #<procedure ly:breathing-sign::divisio-maior (_)>) (Y-offset . 0.0)) (chantquarterbar (extra-spacing-height . #<procedure item::extra-spacing-height-including-staff (grob)>) (extra-spacing-width -1.0 . 0.0) (stencil . #<procedure ly:breathing-sign::divisio-minima (_)>)) (comma (text #<procedure musicglyph-markup (layout props glyph-name)> "scripts.rcomma")) (curvedcaesura (text #<procedure musicglyph-markup (layout props glyph-name)> "scripts.caesura.curved")) (outsidecomma (outside-staff-priority . 40) (text #<procedure musicglyph-markup (layout props glyph-name)> "scripts.rcomma")) (spacer (text #<procedure null-markup (layout props)>)) (tickmark (outside-staff-priority . 40) (text #<procedure musicglyph-markup (layout props glyph-name)> "scripts.tickmark")) (upbow (outside-staff-priority . 40) (text #<procedure musicglyph-markup (layout props glyph-name)> "scripts.uupbow")) (varcomma (text #<procedure musicglyph-markup (layout props glyph-name)> "scripts.rvarcomma"))) - Set context property
breathMarkTypeto'comma. - Set context property
caesuraTypeto:'((breath . caesura))
- Set context property
centerBarNumbersto#f. - Set context property
chordNameExceptionsto:'(((#<Pitch e' > #<Pitch gis' >) #<procedure line-markup (layout props args)> ("+")) ((#<Pitch ees' > #<Pitch ges' >) #<procedure line-markup (layout props args)> ((#<procedure line-markup (layout props args)> ((#<procedure fontsize-markup (layout props increment arg)> 2 "°"))))) ((#<Pitch ees' > #<Pitch ges' > #<Pitch bes' >) #<procedure line-markup (layout props args)> ((#<procedure super-markup (layout props arg)> "ø"))) ((#<Pitch ees' > #<Pitch ges' > #<Pitch beses' >) #<procedure concat-markup (layout props args)> ((#<procedure line-markup (layout props args)> ((#<procedure fontsize-markup (layout props increment arg)> 2 "°"))) (#<procedure super-markup (layout props arg)> "7"))) ((#<Pitch e' > #<Pitch g' > #<Pitch bes' > #<Pitch des'' > #<Pitch ees'' > #<Pitch fis'' > #<Pitch aes'' >) #<procedure line-markup (layout props args)> ((#<procedure super-markup (layout props arg)> "alt"))) ((#<Pitch g' >) #<procedure line-markup (layout props args)> ((#<procedure super-markup (layout props arg)> "5"))) ((#<Pitch g' > #<Pitch c'' >) #<procedure line-markup (layout props args)> ((#<procedure super-markup (layout props arg)> "5")))) - Set context property
chordNameFunctiontoignatzek-chord-names. - Set context property
chordNameLowercaseMinorto#f. - Set context property
chordNameSeparatorto:'(#<procedure hspace-markup (layout props amount)> 0.5)
- Set context property
chordNoteNamerto#<procedure at lily/chord-name.scm:118:0 (pitch lowercase?)>. - Set context property
chordPrefixSpacerto0. - Set context property
chordRootNamerto#<procedure at lily/chord-name.scm:118:0 (pitch lowercase?)>. - Set context property
clefGlyphto"clefs.G". - Set context property
clefPositionto-2. - Set context property
clefTranspositionFormattertoclef-transposition-markup. - Set context property
codaMarkFormatterto#<procedure at lily/translation-functions.scm:232:4 (number context)>. - Set context property
completionFactortounity-if-multimeasure. - Set context property
crescendoSpannerto'hairpin. - Set context property
cueClefTranspositionFormattertoclef-transposition-markup. - Set context property
dalSegnoTextFormattertoformat-dal-segno-text. - Set context property
decrescendoSpannerto'hairpin. - Set context property
deprecatedBarCheckSynchronizeto#f. - Set context property
doubleRepeatBarTypeto":..:". - Set context property
doubleRepeatSegnoBarTypeto":|.S.|:". - Set context property
drumStyleTableto#<hash-table>. - Set context property
endRepeatBarTypeto":|.". - Set context property
endRepeatSegnoBarTypeto":|.S". - Set context property
explicitClefVisibilityto:#(#t #t #t)
- Set context property
explicitCueClefVisibilityto:#(#f #t #t)
- Set context property
explicitKeySignatureVisibilityto:#(#t #t #t)
- Set context property
extendersOverReststo#t. - Set context property
extraNaturalto#t. - Set context property
figuredBassAlterationDirectionto-1. - Set context property
figuredBassFormattertoformat-bass-figure. - Set context property
figuredBassLargeNumberAlignmentto0. - Set context property
figuredBassPlusDirectionto-1. - Set context property
figuredBassPlusStrokedAlistto:'((2 . "figbass.twoplus") (4 . "figbass.fourplus") (5 . "figbass.fiveplus") (6 . "figbass.sixstroked") (7 . "figbass.sevenstroked") (9 . "figbass.ninestroked"))
- Set context property
fineBarTypeto"|.". - Set context property
fineSegnoBarTypeto"|.S". - Set context property
fineStartRepeatSegnoBarTypeto"|.S.|:". - Set context property
fineTextto"Fine". - Set context property
fingeringOrientationsto:'(up down)
- Set context property
firstClefto#t. - Set context property
forbidBreakBetweenBarLinesto#t. - Set context property
graceSettingsto:'((Voice Stem direction 1) (Voice Slur direction -1) (Voice Stem font-size -3) (Voice Flag font-size -3) (Voice NoteHead font-size -3) (Voice TabNoteHead font-size -4) (Voice Dots font-size -3) (Voice Stem length-fraction 0.8) (Voice Stem no-stem-extend #t) (Voice Beam beam-thickness 0.384) (Voice Beam length-fraction 0.8) (Voice Accidental font-size -4) (Voice AccidentalCautionary font-size -4) (Voice Script font-size -3) (Voice Fingering font-size -8) (Voice StringNumber font-size -8))
- Set context property
harmonicAccidentalsto#t. - Set context property
highStringOneto#t. - Set context property
initialTimeSignatureVisibilityto:#(#f #t #t)
- Set context property
instrumentTranspositionto#<Pitch c' >. - Set context property
keepAliveInterfacesto:'(bass-figure-interface chord-name-interface cluster-beacon-interface dynamic-interface fret-diagram-interface lyric-syllable-interface note-head-interface tab-note-head-interface lyric-interface percent-repeat-interface stanza-number-interface)
- Set context 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) (1 . 1) (5 . 1) (2 . 1) (6 . 1))
- Set context property
lyricMelismaAlignmentto-1. - Set context property
majorSevenSymbolto:'(#<procedure line-markup (layout props args)> ((#<procedure fontsize-markup (layout props increment arg)> -3 (#<procedure triangle-markup (layout props filled)> #f)))) - Set context property
measureBarTypeto"|". - Set context property
melismaBusyPropertiesto:'(melismaBusy slurMelismaBusy tieMelismaBusy beamMelismaBusy completionBusy)
- Set context property
metronomeMarkFormattertoformat-metronome-markup. - Set context property
middleCClefPositionto-6. - Set context property
middleCPositionto-6. - Set context property
minorChordModifierto"m". - Set context property
noChordSymbolto"N.C.". - Set context property
noteNameFunctiontonote-name-markup. - Set context property
noteNameSeparatorto"/". - Set context property
noteToFretFunctiontodetermine-frets. - Set context property
partCombineTextsOnNoteto#t. - Set context property
pedalSostenutoStringsto:'("Sost. Ped." "*Sost. Ped." "*") - Set context property
pedalSostenutoStyleto'mixed. - Set context property
pedalSustainStringsto:'("Ped." "*Ped." "*") - Set context property
pedalSustainStyleto'text. - Set context property
pedalUnaCordaStringsto:'("una corda" "" "tre corde") - Set context property
pedalUnaCordaStyleto'text. - Set context property
predefinedDiagramTableto#f. - Set context property
printAccidentalNamesto#t. - Set context property
printKeyCancellationto#t. - Set context property
printOctaveNamesto#f. - Set context property
printPartCombineTextsto#t. - Set context property
printTrivialVoltaRepeatsto#f. - Set context property
quotedCueEventTypesto:'(note-event rest-event tie-event beam-event tuplet-span-event tremolo-event)
- Set context property
quotedEventTypesto:'(StreamEvent)
- Set context property
rehearsalMarkFormatterto#<procedure at lily/translation-functions.scm:232:4 (number context)>. - Set context property
rehearsalMarkto1. - Set context property
repeatCountVisibilitytoall-repeat-counts-visible. - Set context property
restNumberThresholdto1. - Set context property
scriptDefinitionsto:'((accent (avoid-slur . around) (padding . 0.2) (script-stencil feta "sforzato" . "sforzato") (side-axis . 1) (side-relative-direction . -1)) (accentus (script-stencil feta "uaccentus" . "uaccentus") (side-relative-direction . -1) (avoid-slur . ignore) (padding . 0.2) (quantize-position . #t) (script-priority . -100) (side-axis . 1) (direction . 1)) (altcomma (script-stencil feta "laltcomma" . "raltcomma") (quantize-position . #t) (padding . 0.2) (avoid-slur . ignore) (side-axis . 1) (direction . 1)) (bachschleifer (script-stencil feta "bachschleifer" . "bachschleifer") (no-ledgers . #f) (padding . 0.8) (length-fraction . 1.5) (avoid-slur . around) (side-axis . 0) (direction . -1) (staff-position . #<procedure at lily/output-lib.scm:1955:0 (grob)>)) (circulus (script-stencil feta "circulus" . "circulus") (side-relative-direction . -1) (avoid-slur . ignore) (padding . 0.2) (quantize-position . #t) (script-priority . -100) (side-axis . 1) (direction . 1)) (coda (script-stencil feta "coda" . "coda") (padding . 0.2) (avoid-slur . outside) (side-axis . 1) (direction . 1)) (comma (script-stencil feta "lcomma" . "rcomma") (quantize-position . #t) (padding . 0.2) (avoid-slur . ignore) (side-axis . 1) (direction . 1)) (downbow (script-stencil feta "ddownbow" . "udownbow") (padding . 0.2) (skyline-horizontal-padding . 0.2) (avoid-slur . around) (direction . 1) (side-axis . 1) (script-priority . 180)) (downmordent (script-stencil feta "downmordent" . "downmordent") (padding . 0.2) (avoid-slur . around) (side-axis . 1) (direction . 1)) (downprall (script-stencil feta "downprall" . "downprall") (padding . 0.2) (avoid-slur . around) (side-axis . 1) (direction . 1)) (espressivo (avoid-slur . around) (padding . 0.2) (script-stencil feta "espr" . "espr") (side-axis . 1) (side-relative-direction . -1)) (fermata (script-stencil feta "dfermata" . "ufermata") (padding . 0.4) (avoid-slur . around) (outside-staff-priority . 75) (script-priority . 175) (side-axis . 1) (direction . 1)) (flageolet (script-stencil feta "flageolet" . "flageolet") (padding . 0.2) (avoid-slur . around) (direction . 1) (side-axis . 1) (script-priority . 50)) (halfopen (avoid-slur . outside) (padding . 0.2) (script-stencil feta "halfopen" . "halfopen") (side-axis . 1) (direction . 1)) (halfopenvertical (avoid-slur . outside) (padding . 0.2) (script-stencil feta "halfopenvertical" . "halfopenvertical") (side-axis . 1) (direction . 1)) (haydnturn (script-stencil feta "haydnturn" . "haydnturn") (padding . 0.2) (avoid-slur . inside) (side-axis . 1) (direction . 1)) (heel (script-stencil feta "upedalheel" . "upedalheel") (padding . 0.2) (avoid-slur . around) (side-axis . 1) (direction . 1)) (heelcircle (script-stencil feta "pedalheelcircle" . "pedalheelcircle") (padding . 0.2) (avoid-slur . around) (side-axis . 1) (direction . 1)) (henzelongfermata (script-stencil feta "dhenzelongfermata" . "uhenzelongfermata") (padding . 0.4) (avoid-slur . around) (outside-staff-priority . 75) (script-priority . 175) (side-axis . 1) (direction . 1)) (henzeshortfermata (script-stencil feta "dhenzeshortfermata" . "uhenzeshortfermata") (padding . 0.4) (avoid-slur . around) (outside-staff-priority . 75) (script-priority . 175) (side-axis . 1) (direction . 1)) (ictus (script-stencil feta "ictus" . "ictus") (side-relative-direction . -1) (quantize-position . #t) (avoid-slur . ignore) (padding . 0.2) (script-priority . -100) (side-axis . 1) (direction . -1)) (lheel (script-stencil feta "upedalheel" . "upedalheel") (padding . 0.2) (avoid-slur . around) (side-axis . 1) (direction . -1)) (lineprall (script-stencil feta "lineprall" . "lineprall") (padding . 0.2) (avoid-slur . around) (side-axis . 1) (direction . 1)) (longfermata (script-stencil feta "dlongfermata" . "ulongfermata") (padding . 0.4) (avoid-slur . around) (outside-staff-priority . 75) (script-priority . 175) (side-axis . 1) (direction . 1)) (ltoe (script-stencil feta "upedaltoe" . "upedaltoe") (padding . 0.2) (avoid-slur . around) (side-axis . 1) (direction . -1)) (marcato (script-stencil feta "dmarcato" . "umarcato") (padding . 0.2) (avoid-slur . inside) (quantize-position . #t) (side-axis . 1) (side-relative-direction . -1)) (mordent (script-stencil feta "mordent" . "mordent") (padding . 0.2) (avoid-slur . around) (side-axis . 1) (direction . 1)) (open (avoid-slur . outside) (padding . 0.2) (script-stencil feta "open" . "open") (side-axis . 1) (direction . 1)) (outsidecomma (avoid-slur . around) (direction . 1) (padding . 0.2) (side-axis . 1) (script-stencil feta "lcomma" . "rcomma")) (portato (script-stencil feta "uportato" . "dportato") (avoid-slur . around) (padding . 0.45) (side-axis . 1) (side-relative-direction . -1)) (prall (script-stencil feta "prall" . "prall") (padding . 0.2) (avoid-slur . around) (side-axis . 1) (direction . 1)) (pralldown (script-stencil feta "pralldown" . "pralldown") (padding . 0.2) (avoid-slur . around) (side-axis . 1) (direction . 1)) (prallmordent (script-stencil feta "prallmordent" . "prallmordent") (padding . 0.2) (avoid-slur . around) (side-axis . 1) (direction . 1)) (prallprall (script-stencil feta "prallprall" . "prallprall") (padding . 0.2) (avoid-slur . around) (side-axis . 1) (direction . 1)) (prallup (script-stencil feta "prallup" . "prallup") (padding . 0.2) (avoid-slur . around) (side-axis . 1) (direction . 1)) (reverseturn (script-stencil feta "reverseturn" . "reverseturn") (padding . 0.2) (avoid-slur . inside) (side-axis . 1) (direction . 1)) (rheel (script-stencil feta "dpedalheel" . "dpedalheel") (padding . 0.2) (avoid-slur . around) (side-axis . 1) (direction . 1)) (rtoe (script-stencil feta "dpedaltoe" . "dpedaltoe") (padding . 0.2) (avoid-slur . around) (side-axis . 1) (direction . 1)) (segno (script-stencil feta "segno" . "segno") (padding . 0.2) (avoid-slur . outside) (side-axis . 1) (direction . 1)) (semicirculus (script-stencil feta "dsemicirculus" . "dsemicirculus") (side-relative-direction . -1) (quantize-position . #t) (avoid-slur . ignore) (padding . 0.2) (script-priority . -100) (side-axis . 1) (direction . 1)) (shortfermata (script-stencil feta "dshortfermata" . "ushortfermata") (padding . 0.4) (avoid-slur . around) (outside-staff-priority . 75) (script-priority . 175) (side-axis . 1) (direction . 1)) (signumcongruentiae (script-stencil feta "dsignumcongruentiae" . "usignumcongruentiae") (padding . 0.2) (avoid-slur . outside) (side-axis . 1) (direction . 1)) (slashturn (script-stencil feta "slashturn" . "slashturn") (padding . 0.2) (avoid-slur . inside) (side-axis . 1) (direction . 1)) (snappizzicato (script-stencil feta "snappizzicato" . "snappizzicato") (padding . 0.2) (avoid-slur . outside) (side-axis . 1) (direction . 1)) (staccatissimo (avoid-slur . inside) (quantize-position . #t) (script-stencil feta "dstaccatissimo" . "ustaccatissimo") (padding . 0.2) (skyline-horizontal-padding . 0.1) (side-axis . 1) (side-relative-direction . -1) (toward-stem-shift . 1.0) (toward-stem-shift-in-column . 0.0)) (staccato (script-stencil feta "staccato" . "staccato") (side-axis . 1) (side-relative-direction . -1) (quantize-position . #t) (avoid-slur . inside) (toward-stem-shift . 1.0) (toward-stem-shift-in-column . 0.0) (padding . 0.2) (skyline-horizontal-padding . 0.1) (script-priority . -100)) (stopped (script-stencil feta "stopped" . "stopped") (avoid-slur . inside) (padding . 0.2) (side-axis . 1) (direction . 1)) (tenuto (script-stencil feta "tenuto" . "tenuto") (quantize-position . #t) (avoid-slur . inside) (padding . 0.2) (script-priority . -50) (side-axis . 1) (side-relative-direction . -1)) (toe (script-stencil feta "dpedaltoe" . "dpedaltoe") (padding . 0.2) (avoid-slur . around) (side-axis . 1) (direction . 1)) (trill (script-stencil feta "trill" . "trill") (direction . 1) (padding . 0.2) (avoid-slur . outside) (side-axis . 1) (script-priority . 150)) (turn (script-stencil feta "turn" . "turn") (avoid-slur . inside) (padding . 0.2) (side-axis . 1) (direction . 1)) (upbow (script-stencil feta "dupbow" . "uupbow") (avoid-slur . around) (padding . 0.2) (direction . 1) (side-axis . 1) (script-priority . 180)) (upmordent (script-stencil feta "upmordent" . "upmordent") (padding . 0.2) (avoid-slur . around) (side-axis . 1) (direction . 1)) (upprall (script-stencil feta "upprall" . "upprall") (padding . 0.2) (avoid-slur . around) (side-axis . 1) (direction . 1)) (varcoda (script-stencil feta "varcoda" . "varcoda") (padding . 0.2) (avoid-slur . outside) (side-axis . 1) (direction . 1)) (varcomma (script-stencil feta "lvarcomma" . "rvarcomma") (quantize-position . #t) (padding . 0.2) (avoid-slur . ignore) (side-axis . 1) (direction . 1)) (varheel (script-stencil feta "dpedalheel" . "dpedalheel") (padding . 0.2) (avoid-slur . around) (side-axis . 1) (direction . 1)) (vartoe (script-stencil feta "upedaltoe" . "upedaltoe") (padding . 0.2) (avoid-slur . around) (side-axis . 1) (direction . 1)) (verylongfermata (script-stencil feta "dverylongfermata" . "uverylongfermata") (padding . 0.4) (avoid-slur . around) (outside-staff-priority . 75) (script-priority . 175) (side-axis . 1) (direction . 1)) (veryshortfermata (script-stencil feta "dveryshortfermata" . "uveryshortfermata") (padding . 0.4) (avoid-slur . around) (outside-staff-priority . 75) (script-priority . 175) (side-axis . 1) (direction . 1))) - Set context property
sectionBarTypeto"||". - Set context property
segnoBarTypeto"S". - Set context property
segnoMarkFormattertoformat-segno-mark-considering-bar-lines. - Set context property
segnoStyleto'mark. - Set context property
slashChordSeparatorto"/". - Set context property
soloIITextto"Solo II". - Set context property
soloTextto"Solo". - Set context property
startRepeatBarTypeto".|:". - Set context property
startRepeatSegnoBarTypeto"S.|:". - Set context property
stringNumberOrientationsto:'(up down)
- Set context property
stringOneTopmostto#t. - Set context property
stringTuningsto:'(#<Pitch e' > #<Pitch b > #<Pitch g > #<Pitch d > #<Pitch a, > #<Pitch e, >)
- Set context property
strokeFingerOrientationsto:'(right)
- Set context property
subdivideBeamsto#f. - Set context property
submeasureBarsEnabledto#f. - Set context property
submeasureBarTypeto"!". - Set context property
suspendMelodyDecisionsto#f. - Set context property
systemStartDelimiterto'SystemStartBar. - Set context property
tablatureFormattofret-number-tablature-format. - Set context property
tabStaffLineLayoutFunctiontotablature-position-on-lines. - Set context property
tempoCountPrecisionto1/4. - Set context property
tieWaitForNoteto#f. - Set context property
timeSignatureSettingsto:'(((2 . 2) (beamExceptions (end (1/32 8 8 8 8)))) ((2 . 8) (beamExceptions (end (1/8 2)))) ((3 . 2) (beamExceptions (end (1/32 8 8 8 8 8 8)))) ((3 . 4) (beamExceptions (end (1/8 6) (1/12 3 3 3)))) ((3 . 8) (beamExceptions (end (1/8 3)))) ((4 . 2) (beamExceptions (end (1/16 4 4 4 4 4 4 4 4)))) ((4 . 4) (beamExceptions (end (1/8 4 4) (1/12 3 3 3 3)))) ((4 . 8) (beatStructure 2 2)) ((6 . 4) (beamExceptions (end (1/16 4 4 4 4 4 4)))) ((9 . 4) (beamExceptions (end (1/32 8 8 8 8 8 8 8 8)))) ((12 . 4) (beamExceptions (end (1/32 8 8 8 8 8 8 8 8 8 8 8 8)))) ((5 . 8) (beatStructure 3 2)) ((8 . 8) (beatStructure 3 3 2))) - Set context property
timeSignatureto:'(4 . 4)
- Set context property
timingto#f. - Set context property
timingto#t. - Set context property
topLevelAlignmentto#t. - Set context property
underlyingRepeatBarTypeto"||". - Set grob property
colorinLedgerLineSpannerto :'(1.0 0.0 0.0)
- Set grob property
colorinStaffSymbolto :'(1.0 0.0 0.0)
- Set grob property
packed-spacinginSpacingSpannerto#t.
This is not a ‘Bottom’ context; search for such a one will commence after creating an implicit context of type VaticanaStaff.
Context VaticanaScore can contain
ChoirStaff, ChordNames, Devnull, DrumStaff, Dynamics, FiguredBass, FretBoards, GrandStaff, GregorianTranscriptionLyrics, GregorianTranscriptionStaff, KievanStaff, Lyrics, MensuralStaff, NoteNames, OneStaff, PetrucciStaff, PianoStaff, RhythmicStaff, Staff, StaffGroup, TabStaff, VaticanaLyrics and VaticanaStaff.
This context is built from the following engraver(s):
Apply_output_engraverApply a procedure to any grob acknowledged.
Music types accepted:
apply-output-eventBeam_collision_engraverHelp beams avoid colliding with notes and clefs in other voices.
Break_align_engraverAlign grobs with corresponding
break-align-symbolsinto groups, and order the groups according tobreakAlignOrder. The left edge of the alignment gets a separate group, with a symbolleft-edge.This engraver creates the following layout object(s):
BreakAlignGroup,BreakAlignmentandLeftEdge.Centered_bar_number_align_engraverGroup measure-centered bar numbers in a
CenteredBarNumberLineSpannerso they end up on the same vertical position.Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
This engraver creates the following layout object(s):
CenteredBarNumberLineSpanner.Concurrent_hairpin_engraverCollect concurrent hairpins.
Footnote_engraverCreate footnote texts.
This engraver creates the following layout object(s):
Footnote.Grace_spacing_engraverBookkeeping of shortest starting and playing notes in grace note runs.
Properties (read)
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
GraceSpacing.Jump_engraverThis engraver creates instructions such as D.C. and Fine, placing them vertically outside the set of staves given in the
stavesFoundcontext property.If
Jump_engraveris added or moved to another context,Staff_collecting_engraveralso needs to be there so that marks appear at the intended Y location.Music types accepted:
ad-hoc-jump-event,dal-segno-eventandfine-eventProperties (read)
codaMarkCount(non-negative, exact integer)Updated at the end of each time step in which a coda mark appears: not set during the first time step, 0 up to the first coda mark, 1 from the first to the second, 2 from the second to the third, etc.
codaMarkFormatter(procedure)A procedure that creates a coda mark (which in conventional D.S. al Coda form indicates the start of the alternative endings), taking as arguments the mark sequence number and the context. It should return a markup object.
dalSegnoTextFormatter(procedure)Format a jump instruction such as D.S.
The first argument is the context.
The second argument is the number of times the instruction is performed.
The third argument is a list of three markups: start-markup, end-markup, and next-markup.
If start-markup is
#f, the form is da capo; otherwise the form is dal segno and start-markup is the sign at the start of the repeated section.If end-markup is not
#f, it is either the sign at the end of the main body of the repeat, or it is a Fine instruction. When it is a Fine instruction, next-markup is#f.If next-markup is not
#f, it is the mark to be jumped to after performing the body of the repeat, e.g., Coda.finalFineTextVisibility(boolean)Whether
\fineat the written end of the music should create a Fine instruction.fineText(markup)The text to print at
\fine.segnoMarkCount(non-negative, exact integer)Updated at the end of each time step in which a segno appears: not set during the first time step, 0 up to the first segno, 1 from the first to the second segno, 2 from the second to the third segno, etc.
segnoMarkFormatter(procedure)A procedure that creates a segno (which conventionally indicates the start of a repeated section), taking as arguments the mark sequence number and the context. It should return a markup object.
stavesFound(list of grobs)A list of all staff-symbols found.
This engraver creates the following layout object(s):
JumpScript.Mark_engraverThis engraver creates rehearsal marks, segno and coda marks, and section labels.
Mark_engravercreates marks, formats them, and places them vertically outside the set of staves given in thestavesFoundcontext property.If
Mark_engraveris added or moved to another context,Staff_collecting_engraveralso needs to be there so that marks appear at the intended Y location.By default,
Mark_engraversin multiple contexts create a common sequence of marks chosen by theScore-levelMark_tracking_translator. If independent sequences are desired, multipleMark_tracking_translatorsmust be used.Properties (read)
codaMarkFormatter(procedure)A procedure that creates a coda mark (which in conventional D.S. al Coda form indicates the start of the alternative endings), taking as arguments the mark sequence number and the context. It should return a markup object.
currentPerformanceMarkEvent(stream event)The coda, section, or segno mark event selected by
Mark_tracking_translatorfor engraving byMark_engraver.currentRehearsalMarkEvent(stream event)The ad-hoc or rehearsal mark event selected by
Mark_tracking_translatorfor engraving byMark_engraver.rehearsalMarkFormatter(procedure)A procedure taking as arguments the context and the sequence number of the rehearsal mark. It should return the formatted mark as a markup object.
segnoMarkFormatter(procedure)A procedure that creates a segno (which conventionally indicates the start of a repeated section), taking as arguments the mark sequence number and the context. It should return a markup object.
stavesFound(list of grobs)A list of all staff-symbols found.
This engraver creates the following layout object(s):
CodaMark,RehearsalMark,SectionLabelandSegnoMark.Mark_tracking_translatorThis translator chooses which marks
Mark_engravershould engrave.Music types accepted:
ad-hoc-mark-event,coda-mark-event,rehearsal-mark-event,section-label-eventandsegno-mark-eventProperties (read)
codaMarkCount(non-negative, exact integer)Updated at the end of each time step in which a coda mark appears: not set during the first time step, 0 up to the first coda mark, 1 from the first to the second, 2 from the second to the third, etc.
rehearsalMark(integer)The next rehearsal mark to print.
segnoMarkCount(non-negative, exact integer)Updated at the end of each time step in which a segno appears: not set during the first time step, 0 up to the first segno, 1 from the first to the second segno, 2 from the second to the third segno, etc.
Properties (write)
codaMarkCount(non-negative, exact integer)Updated at the end of each time step in which a coda mark appears: not set during the first time step, 0 up to the first coda mark, 1 from the first to the second, 2 from the second to the third, etc.
currentPerformanceMarkEvent(stream event)The coda, section, or segno mark event selected by
Mark_tracking_translatorfor engraving byMark_engraver.currentRehearsalMarkEvent(stream event)The ad-hoc or rehearsal mark event selected by
Mark_tracking_translatorfor engraving byMark_engraver.rehearsalMark(integer)The next rehearsal mark to print.
segnoMarkCount(non-negative, exact integer)Updated at the end of each time step in which a segno appears: not set during the first time step, 0 up to the first segno, 1 from the first to the second segno, 2 from the second to the third segno, etc.
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 byStaff_collecting_engraver.Music types accepted:
tempo-change-eventProperties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
metronomeMarkFormatter(procedure)How to produce a metronome markup. Called with two arguments: a
TempoChangeEventand context.stavesFound(list of grobs)A list of all staff-symbols found.
tempoHideNote(boolean)Hide the note = count in tempo marks.
This engraver creates the following layout object(s):
MetronomeMark.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:
break-eventandlabel-eventProperties (read)
forbidBreak(boolean)If set to
#t, prevent a line break at this point, except if explicitly requested by the user.Properties (write)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
forbidBreak(boolean)If set to
#t, prevent a line break at this point, except if explicitly requested by the user.forceBreak(boolean)Set to
#twhen an event forcing a line break was heard.This engraver creates the following layout object(s):
NonMusicalPaperColumnandPaperColumn.Parenthesis_engraverParenthesize objects whose
parenthesizeproperty is#t.This engraver creates the following layout object(s):
Parentheses.Repeat_acknowledge_engraverThis engraver augments
repeatCommandswithstart-repeatandend-repeatentries based on received events. This is internal behavior that allows simplifying other engravers that must support both\repeat voltaand manual repeats.This engraver also resets
repeatCommandsat the beginning of each time step. This is user-facing behavior: it allows setting a value for the current time step simply with\setrather than requiring\once \set.Music types accepted:
volta-repeat-end-eventandvolta-repeat-start-eventProperties (write)
repeatCommands(list)A list of commands related to volta-style repeats. In general, each element is a list,
'(command args…), but a command with no arguments may be abbreviated to a symbol; e.g.,'((start-repeat))may be given as'(start-repeat).
end-repeat return-countEnd a repeated section. return-count is the number of times to go back from this point to the beginning of the section.
start-repeat repeat-countStart a repeated section. repeat-count is the number of times to perform this section.
volta textIf text is markup, start a volta bracket with that label; if text is
#f, end a volta bracket.Show_control_points_engraverCreate grobs to visualize control points of Bézier curves (ties and slurs) for ease of tweaking.
This engraver creates the following layout object(s):
ControlPointandControlPolygon.Spacing_engraverMake a
SpacingSpannerand do bookkeeping of shortest starting and playing notes.Music types accepted:
spacing-section-eventProperties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
proportionalNotationDuration(non-negative exact rational or +inf.0)Global override for shortest-playing duration. This is used for switching on proportional notation.
This engraver creates the following layout object(s):
SpacingSpanner.Spanner_tracking_engraverHelper for creating spanners attached to other spanners. If a spanner has the
sticky-grob-interface, the engraver tracks the spanner contained in itssticky-hostobject. When the host ends, the sticky spanner attached to it has its end announced too.Staff_collecting_engraverMaintain the
stavesFoundvariable.Properties (read)
stavesFound(list of grobs)A list of all staff-symbols found.
Properties (write)
stavesFound(list of grobs)A list of all staff-symbols found.
Stanza_number_align_engraverThis engraver ensures that stanza numbers are neatly aligned across all lyrics contexts.
System_start_delimiter_engraverCreate a system start delimiter (i.e., a
SystemStartBar,SystemStartBrace,SystemStartBracketorSystemStartSquarespanner).Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
systemStartDelimiter(symbol)Which grob to make for the start of the system/staff? Set to
SystemStartBrace,SystemStartBracketorSystemStartBar.systemStartDelimiterHierarchy(pair)A nested list, indicating the nesting of a start delimiters.
This engraver creates the following layout object(s):
SystemStartBar,SystemStartBrace,SystemStartBracketandSystemStartSquare.Text_mark_engraverEngraves arbitrary textual marks.
Music types accepted:
text-mark-eventProperties (read)
stavesFound(list of grobs)A list of all staff-symbols found.
This engraver creates the following layout object(s):
TextMark.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.Music types accepted:
alternative-event,bar-check-event,bar-event,fine-event,partial-eventandpolymetric-time-signature-eventProperties (read)
alternativeNumberingStyle(symbol)The scheme and style for numbering bars in repeat alternatives. If not set (the default), bar numbers continue through alternatives. Can be set to
numbersto reset the bar number at each alternative, or set tonumbers-with-lettersto reset and also include letter suffixes.beatBase(positive exact rational or +inf.0)The musical length corresponding to one unit of
beatStructure.currentBarNumber(integer)Contains the current bar number. This property is incremented at every bar line.
internalBarNumber(integer)Contains the current bar number. This property is used for internal timekeeping, among others by the
Accidental_engraver.measureLength(positive exact rational or +inf.0)The musical length of the current measure.
measurePosition(moment)The current point within the measure.
timeSignature(time signature)A time-signature specification. See the
\timecommand.Properties (write)
alternativeNumber(non-negative, exact integer)When set, the first volta number for the current
\alternativeelement. Not set outside of alternatives.beatBase(positive exact rational or +inf.0)The musical length corresponding to one unit of
beatStructure.currentBarNumber(integer)Contains the current bar number. This property is incremented at every bar line.
internalBarNumber(integer)Contains the current bar number. This property is used for internal timekeeping, among others by the
Accidental_engraver.measureLength(positive exact rational or +inf.0)The musical length of the current measure.
measurePosition(moment)The current point within the measure.
measureStartNow(boolean)True at the beginning of a measure.
timeSignature(time signature)A time-signature specification. See the
\timecommand.Tweak_engraverRead the
tweaksproperty from the originating event, and set properties.Vertical_align_engraverCatch groups (staves, lyrics lines, etc.) and stack them vertically.
Properties (read)
alignAboveContext(string)Where to insert newly created context in vertical alignment.
alignBelowContext(string)Where to insert newly created context in vertical alignment.
hasAxisGroup(boolean)True if the current context is contained in an axis group.
This engraver creates the following layout object(s):
StaffGrouperandVerticalAlignment.Volta_engraverMake volta brackets.
Music types accepted:
dal-segno-event,fine-eventandvolta-span-eventProperties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
printTrivialVoltaRepeats(boolean)Notate volta-style repeats even when the repeat count is 1.
repeatCommands(list)A list of commands related to volta-style repeats. In general, each element is a list,
'(command args…), but a command with no arguments may be abbreviated to a symbol; e.g.,'((start-repeat))may be given as'(start-repeat).
end-repeat return-countEnd a repeated section. return-count is the number of times to go back from this point to the beginning of the section.
start-repeat repeat-countStart a repeated section. repeat-count is the number of times to perform this section.
volta textIf text is markup, start a volta bracket with that label; if text is
#f, end a volta bracket.stavesFound(list of grobs)A list of all staff-symbols found.
This engraver creates the following layout object(s):
VoltaBracketandVoltaBracketSpanner.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < VaticanaScore ] | [ Up: Contexts ] | [ VaticanaVoice > ] |
2.1.41 VaticanaStaff ¶
Configure division commands such as \section
to create Divisio grobs rather than BarLine grobs. This
does not affect measure bar lines or the properties of the grobs
themselves.
This context also accepts commands for the following context(s):
Staff.
This context creates the following layout object(s):
Accidental, AccidentalCautionary, AccidentalPlacement, AccidentalSuggestion, BarLine, BassFigure, BassFigureAlignment, BassFigureAlignmentPositioning, BassFigureBracket, BassFigureContinuation, BassFigureLine, Clef, ClefModifier, CueClef, CueEndClef, Custos, Divisio, DotColumn, FingeringColumn, InstrumentName, KeyCancellation, KeySignature, LedgerLineSpanner, NoteCollision, OptionalMaterialBracket, OttavaBracket, PianoPedalBracket, RestCollision, ScriptColumn, ScriptRow, SostenutoPedal, SostenutoPedalLineSpanner, StaffEllipsis, StaffHighlight, StaffSpacing, StaffSymbol, SustainPedal, SustainPedalLineSpanner, UnaCordaPedal, UnaCordaPedalLineSpanner and VerticalAxisGroup.
This context sets the following properties:
- Set context property
alterationGlyphsto:'((-1/2 . "accidentals.vaticanaM1") (0 . "accidentals.vaticana0") (1/2 . "accidentals.mensural1"))
- Set context property
autoAccidentalsto:'(Staff #<procedure at lily/music-functions.scm:1794:0 (context pitch barnum)>)
- Set context property
autoCautionariesto'(). - Set context property
caesuraTypeTransformtocaesura-to-bar-line-or-divisio. - Set context property
caesuraTypeTransformtocaesura-to-divisio. - Set context property
caesuraTypeto:'((breath . varcomma))
- Set context property
clefGlyphto"clefs.vaticana.do". - Set context property
clefPositionto1. - Set context property
clefTranspositionto0. - Set context property
createSpacingto#t. - Set context property
doubleRepeatBarTypeto"||". - Set context property
doubleRepeatBarTypeto'(). - Set context property
doubleRepeatSegnoBarTypeto"S-||". - Set context property
doubleRepeatSegnoBarTypeto"S-||". - Set context property
endRepeatBarTypeto"||". - Set context property
endRepeatBarTypeto'(). - Set context property
endRepeatSegnoBarTypeto"S-||". - Set context property
endRepeatSegnoBarTypeto"S-||". - Set context property
extraNaturalto#f. - Set context property
fineBarTypeto"". - Set context property
fineBarTypeto"||". - Set context property
fineSegnoBarTypeto"S-||". - Set context property
fineSegnoBarTypeto"S-||". - Set context property
fineStartRepeatSegnoBarTypeto"S-||". - Set context property
fineStartRepeatSegnoBarTypeto"S-||". - Set context property
forbidBreakBetweenBarLinesto#f. - Set context property
ignoreFiguredBassRestto#f. - Set context property
instrumentNameto'(). - Set context property
localAlterationsto'(). - Set context property
measureBarTypeto'(). - Set context property
middleCClefPositionto1. - Set context property
middleCPositionto1. - Set context property
ottavationMarkupsto:'((4 . "29") (3 . "22") (2 . "15") (1 . "8") (-1 . "8") (-2 . "15") (-3 . "22") (-4 . "29"))
- Set context property
printKeyCancellationto#f. - Set context property
printTrivialVoltaRepeatsto#t. - Set context property
sectionBarTypeto"". - Set context property
sectionBarTypeto"||". - Set context property
segnoBarTypeto"S-||". - Set context property
segnoBarTypeto"S-||". - Set context property
shortInstrumentNameto'(). - Set context property
startRepeatBarTypeto"||". - Set context property
startRepeatBarTypeto'(). - Set context property
startRepeatSegnoBarTypeto"S-||". - Set context property
startRepeatSegnoBarTypeto"S-||". - Set context property
submeasureBarTypeto'(). - Set context property
underlyingRepeatBarTypeto"". - Set context property
underlyingRepeatBarTypeto"||". - Set grob property
extra-spacing-heightinBreathingSigntoitem::extra-spacing-height-including-staff. - Set grob property
extra-spacing-widthinBreathingSignto :'(-1.0 . 0.0)
- Set grob property
font-sizeinBreathingSignto-2. - Set grob property
font-sizeinDivisioto-2. - Set grob property
hair-thicknessinBarLineto0.65. - Set grob property
ledger-line-thicknessinStaffSymbolto :'(1 . 0)
- Set grob property
length-fractioninCustosto2.8. - Set grob property
length-fractioninLedgerLineSpannerto0.9. - Set grob property
line-countinStaffSymbolto4. - Set grob property
neutral-directioninCustosto-1. - Set grob property
neutral-positioninCustosto3. - Set grob property
space-alist.clefinLeftEdgeto :'(extra-space . 0)
- Set grob property
space-alist.custosinBarLineto :'(minimum-space . 0.7)
- Set grob property
space-alist.first-noteinClefto :'(minimum-fixed-space . 1.4)
- Set grob property
space-alist.right-edgeinCustosto :'(extra-space . 0)
- Set grob property
styleinCustosto'vaticana. - Set grob property
styleinDotsto'vaticana. - Set grob property
thick-thicknessinBarLineto1.8. - Set grob property
thicknessinBreathingSignto1.3. - Set grob property
thicknessinDivisioto1.3. - Set grob property
thicknessinStaffSymbolto0.5.
This is not a ‘Bottom’ context; search for such a one will commence after creating an implicit context of type VaticanaVoice.
Context VaticanaStaff can contain
CueVoice, NullVoice and VaticanaVoice.
This context is built from the following engraver(s):
Accidental_engraverMake accidentals. Catch note heads, ties and notices key-change events. This engraver usually lives at Staff level, but reads the settings for Accidental at
Voicelevel, so you can\overridethem atVoice.Properties (read)
accidentalGrouping(symbol)If set to
'voice, accidentals on the same note in different octaves may be horizontally staggered if in different voices.autoAccidentals(list)List of different ways to typeset an accidental.
For determining when to print an accidental, several different rules are tried. The rule that gives the highest number of accidentals is used.
Each entry in the list is either a symbol or a procedure.
- symbol
The symbol is the name of the context in which the following rules are to be applied. For example, if context is 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.
The procedure returns a pair of Booleans. The first states whether an extra natural should be added. The second states whether an accidental should be printed.
(#t . #f)does not make sense.autoCautionaries(list)List similar to
autoAccidentals, but it controls cautionary accidentals rather than normal ones. Both lists are tried, and the one giving the most accidentals wins. In case of draw, a normal accidental is typeset.extraNatural(boolean)Whether to typeset an extra natural sign before accidentals that reduce the effect of a previous alteration.
harmonicAccidentals(boolean)If set, harmonic notes in chords get accidentals.
internalBarNumber(integer)Contains the current bar number. This property is used for internal timekeeping, among others by the
Accidental_engraver.keyAlterations(list)The current key signature. This is an alist containing
(step . alter)or((octave . step) . alter), where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.,keyAlterations = #`((6 . ,FLAT)).localAlterations(list)The key signature at this point in the measure. The format is the same as for
keyAlterations, but can also contain((octave . name) . (alter barnumber . measureposition))pairs.Properties (write)
localAlterations(list)The key signature at this point in the measure. The format is the same as for
keyAlterations, but can also contain((octave . name) . (alter barnumber . measureposition))pairs.This engraver creates the following layout object(s):
Accidental,AccidentalCautionary,AccidentalPlacementandAccidentalSuggestion.Alteration_glyph_engraverSet the
glyph-name-alistof all grobs having theaccidental-switch-interfaceto the value of the context’salterationGlyphsproperty, when defined.Properties (read)
alterationGlyphs(list)Alist mapping alterations to accidental glyphs. Alterations are given as exact numbers, e.g., -1/2 for flat. This applies to all grobs that can print accidentals.
Apply_output_engraverApply a procedure to any grob acknowledged.
Music types accepted:
apply-output-eventAxis_group_engraverGroup all objects created in this context in a
VerticalAxisGroupspanner.Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
hasAxisGroup(boolean)True if the current context is contained in an axis group.
keepAliveInterfaces(list)A list of symbols, signifying grob interfaces that are worth keeping a staff with
remove-emptyset around for.Properties (write)
hasAxisGroup(boolean)True if the current context is contained in an axis group.
This engraver creates the following layout object(s):
VerticalAxisGroup.Bar_engraverCreate bar lines for various commands, including
\\bar.If
forbidBreakBetweenBarLinesis true, allow line breaks at bar lines only.Music types accepted:
ad-hoc-jump-event,caesura-event,coda-mark-event,dal-segno-event,fine-event,section-eventandsegno-mark-eventProperties (read)
caesuraType(list)An alist
((bar-line . bar-type) (breath . breath-type) (scripts . script-type...) (underlying-bar-line . bar-type))specifying which breath mark, bar line, and scripts to create at
\caesura. All entries are optional.
bar-linehas higher priority than a measure bar line andunderlying-bar-linehas lower priority than a measure bar line.caesuraTypeTransform(procedure)An engraver callback taking three arguments and returning an alist of the same kind as
caesuraType.The first argument is the context.
The second argument is the value of
caesuraTypewith an additional entry(articulations . symbol-list)identifying the articulations attached to the caesura in the music. If the transform function returns this second argument unmodified, it is as if no transform function were set; the function is free to return a different value. The transform function can remove articulations, but any added articulations are ignored.The third argument is a symbol-list identifying certain things the engraver has observed.
bar-lineindicates that the engraver has observed aBarLineat the current moment.doubleRepeatBarType(string)Bar line to insert where the end of one
\repeat voltacoincides with the start of another. The default is ‘:..:’.doubleRepeatSegnoBarType(string)Bar line to insert where an in-staff segno coincides with the end of one
\repeat voltaand the beginning of another. The default is ‘:|.S.|:’.endRepeatBarType(string)Bar line to insert at the end of a
\repeat volta. The default is ‘:|.’.endRepeatSegnoBarType(string)Bar line to insert where an in-staff segno coincides with the end of a
\repeat volta. The default is ‘:|.S’.fineBarType(string)Bar line to insert at
\fine. Where there is also a repeat bar line, the repeat bar line takes precedence and this value is appended to it as an annotation. The default is ‘|.’.fineSegnoBarType(string)Bar line to insert where an in-staff segno coincides with
\fine. The default is ‘|.S’.fineStartRepeatSegnoBarType(string)Bar line to insert where an in-staff segno coincides with
\fineand the start of a\repeat volta. The default is ‘|.S.|:’.forbidBreakBetweenBarLines(boolean)If set to
#t,Bar_engraverforbids line breaks where there is no bar line.measureBarType(string)Bar line to insert at a measure boundary.
printInitialRepeatBar(boolean)Use a special bar line at the start of a volta repeat even at the beginning of the piece.
printTrivialVoltaRepeats(boolean)Notate volta-style repeats even when the repeat count is 1.
repeatCommands(list)A list of commands related to volta-style repeats. In general, each element is a list,
'(command args…), but a command with no arguments may be abbreviated to a symbol; e.g.,'((start-repeat))may be given as'(start-repeat).
end-repeat return-countEnd a repeated section. return-count is the number of times to go back from this point to the beginning of the section.
start-repeat repeat-countStart a repeated section. repeat-count is the number of times to perform this section.
volta textIf text is markup, start a volta bracket with that label; if text is
#f, end a volta bracket.sectionBarType(string)Bar line to insert at
\section. Where there is also a repeat bar line, the repeat bar line takes precedence and this value is appended to it as an annotation. The default is ‘||’.segnoBarType(string)Bar line to insert at an in-staff segno. The default is ‘S’.
segnoStyle(symbol)A symbol that indicates how to print a segno:
bar-lineormark.startRepeatBarType(string)Bar line to insert at the start of a
\repeat volta. The default is ‘.|:’.startRepeatSegnoBarType(string)Bar line to insert where an in-staff segno coincides with the start of a
\repeat volta. The default is ‘S.|:’.submeasureBarsEnabled(boolean)Whether to insert submeasure bar lines at boundaries specified by
submeasureStructure. They are typically enabled selectively to clarify complex rhythms.submeasureBarType(string)Bar line to insert at submeasure boundaries specified by
submeasureStructure, whensubmeasureBarsEnabledallows.submeasureStructure(number list)A sequence describing subdivisions of a measure. Each element tells the distance from the previous division in units of
beatBase.underlyingRepeatBarType(string)Bar line to insert at points of repetition or departure where no bar line would normally appear, for example at the end of a system broken in mid measure where the next system begins with a segno. Where there is also a repeat bar line, the repeat bar line takes precedence and this value is appended to it as an annotation. The default is ‘||’.
whichBar(string)The current bar line type, or
'()if there is no bar line. Setting this explicitly in user code is deprecated. Use\baror related commands to set it.Properties (write)
currentBarLine(graphical (layout) object)Set to the
BarLinethatBar_engraverhas created in the current time step.forbidBreak(boolean)If set to
#t, prevent a line break at this point, except if explicitly requested by the user.This engraver creates the following layout object(s):
BarLine.Clef_engraverDetermine and set reference point for pitches.
Properties (read)
clefGlyph(string)Name of the symbol within the music font.
clefPosition(number)Where should the center of the clef symbol go, measured in half staff spaces from the center of the staff.
clefTransposition(integer)Add this much extra transposition to a clef. Values of 7 and -7 are common.
clefTranspositionStyle(symbol)Determines the way the
ClefModifiergrob of a clef is displayed. Possible values are'default,'parenthesized, and'bracketed.explicitClefVisibility(vector)‘break-visibility’ function for clef changes.
forbidBreak(boolean)If set to
#t, prevent a line break at this point, except if explicitly requested by the user.forceBreak(boolean)Set to
#twhen an event forcing a line break was heard.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):
ClefandClefModifier.Collision_engraverCollect
NoteColumns, and as soon as there are two or more, put them in aNoteCollisionobject.This engraver creates the following layout object(s):
NoteCollision.Cue_clef_engraverDetermine and set reference point for pitches in cued voices.
Properties (read)
clefTransposition(integer)Add this much extra transposition to a clef. Values of 7 and -7 are common.
cueClefGlyph(string)Name of the symbol within the music font.
cueClefPosition(number)Where should the center of the clef symbol go, measured in half staff spaces from the center of the staff.
cueClefTransposition(integer)Add this much extra transposition to a cue clef. Values of 7 and -7 are common.
cueClefTranspositionStyle(symbol)Determines the way the
ClefModifiergrob of a cue clef is displayed. Possible values are'default,'parenthesized, and'bracketed.explicitCueClefVisibility(vector)‘break-visibility’ function for cue clef changes.
forbidBreak(boolean)If set to
#t, prevent a line break at this point, except if explicitly requested by the user.forceBreak(boolean)Set to
#twhen an event forcing a line break was heard.middleCCuePosition(number)The position of the middle C, as determined only by the clef of the cue notes. This can be calculated by looking at
cueClefPositionandcueClefGlyph.This engraver creates the following layout object(s):
ClefModifier,CueClefandCueEndClef.Custos_engraverEngrave custodes.
Properties (read)
forbidBreak(boolean)If set to
#t, prevent a line break at this point, except if explicitly requested by the user.forceBreak(boolean)Set to
#twhen an event forcing a line break was heard.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):
Custos.Divisio_engraverCreate divisiones: chant notation for points of breathing or caesura.
Music types accepted:
caesura-event,fine-event,section-event,volta-repeat-end-eventandvolta-repeat-start-eventProperties (read)
caesuraType(list)An alist
((bar-line . bar-type) (breath . breath-type) (scripts . script-type...) (underlying-bar-line . bar-type))specifying which breath mark, bar line, and scripts to create at
\caesura. All entries are optional.
bar-linehas higher priority than a measure bar line andunderlying-bar-linehas lower priority than a measure bar line.caesuraTypeTransform(procedure)An engraver callback taking three arguments and returning an alist of the same kind as
caesuraType.The first argument is the context.
The second argument is the value of
caesuraTypewith an additional entry(articulations . symbol-list)identifying the articulations attached to the caesura in the music. If the transform function returns this second argument unmodified, it is as if no transform function were set; the function is free to return a different value. The transform function can remove articulations, but any added articulations are ignored.The third argument is a symbol-list identifying certain things the engraver has observed.
bar-lineindicates that the engraver has observed aBarLineat the current moment.This engraver creates the following layout object(s):
Divisio.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):
DotColumn.Figured_bass_engraverMake figured bass numbers.
Music types accepted:
bass-figure-eventandrest-eventProperties (read)
figuredBassAlterationDirection(direction)Where to put alterations relative to the main figure.
figuredBassCenterContinuations(boolean)Whether to vertically center pairs of extender lines. This does not work with three or more lines.
figuredBassFormatter(procedure)A routine generating a markup for a bass figure.
ignoreFiguredBassRest(boolean)Don’t swallow rest events.
implicitBassFigures(list)A list of bass figures that are not printed as numbers, but only as extender lines.
useBassFigureExtenders(boolean)Whether to use extender lines for repeated bass figures.
This engraver creates the following layout object(s):
BassFigure,BassFigureAlignment,BassFigureBracket,BassFigureContinuationandBassFigureLine.Figured_bass_position_engraverPosition figured bass alignments over notes.
This engraver creates the following layout object(s):
BassFigureAlignmentPositioning.Fingering_column_engraverFind potentially colliding scripts and put them into a
FingeringColumnobject; that will fix the collisions.This engraver creates the following layout object(s):
FingeringColumn.Font_size_engraverPut
fontSizeintofont-sizegrob property.Properties (read)
fontSize(number)The relative size of all grobs in a context.
Grob_pq_engraverAdministrate when certain grobs (e.g., note heads) stop playing.
Properties (read)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g., note heads, spanners, etc.).Properties (write)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g., note heads, spanners, etc.).Horizontal_script_engraverAligns
ScripthorizontallyInstrument_name_engraverCreate a system start text for instrument or vocal names.
Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
instrumentName(markup)The name to print left of a staff. The
instrumentNameproperty labels the staff in the first system, and theshortInstrumentNameproperty labels following lines.shortInstrumentName(markup)See
instrumentName.shortVocalName(markup)Name of a vocal line, short version.
vocalName(markup)Name of a vocal line.
This engraver creates the following layout object(s):
InstrumentName.Key_engraverEngrave a key signature.
Music types accepted:
key-change-eventProperties (read)
createKeyOnClefChange(boolean)Print a key signature whenever the clef is changed.
explicitKeySignatureVisibility(vector)‘break-visibility’ function for explicit key changes. ‘\override’ of the
break-visibilityproperty will set the visibility for normal (i.e., at the start of the line) key signatures.extraNatural(boolean)Whether to typeset an extra natural sign before accidentals that reduce the effect of a previous alteration.
forbidBreak(boolean)If set to
#t, prevent a line break at this point, except if explicitly requested by the user.forceBreak(boolean)Set to
#twhen an event forcing a line break was heard.keyAlterationOrder(list)A list of pairs that defines in what order alterations should be printed. The format of an entry is
(step . alter), where step is a number from 0 to 6 and alter from -1 (double flat) to 1 (double sharp), with exact rationals for alterations in between, e.g., 1/2 for sharp.keyAlterations(list)The current key signature. This is an alist containing
(step . alter)or((octave . step) . alter), where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.,keyAlterations = #`((6 . ,FLAT)).lastKeyAlterations(list)Last key signature before a key signature change.
middleCClefPosition(number)The position of the middle C, as determined only by the clef. This can be calculated by looking at
clefPositionandclefGlyph.printKeyCancellation(boolean)Print restoration alterations before a key signature change.
Properties (write)
keyAlterations(list)The current key signature. This is an alist containing
(step . alter)or((octave . step) . alter), where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.,keyAlterations = #`((6 . ,FLAT)).lastKeyAlterations(list)Last key signature before a key signature change.
tonic(pitch)The tonic of the current scale.
This engraver creates the following layout object(s):
KeyCancellationandKeySignature.Ledger_line_engraverCreate the spanner to draw ledger lines, and notices objects that need ledger lines.
This engraver creates the following layout object(s):
LedgerLineSpanner.Merge_mmrest_numbers_engraverEngraver to merge multi-measure rest numbers in multiple voices.
This works by gathering all multi-measure rest numbers at a time step. If they all have the same text and there are at least two only the first one is retained and the others are hidden.
Non_musical_script_column_engraverFind potentially colliding non-musical scripts and put them into a
ScriptColumnobject; that will fix the collisions.This engraver creates the following layout object(s):
ScriptColumn.Optional_material_bracket_engraverNotate in-staff brackets for optional material.
Music types accepted:
optional-material-eventThis engraver creates the following layout object(s):
OptionalMaterialBracket.Ottava_spanner_engraverCreate a text spanner when the ottavation property changes.
Music types accepted:
ottava-eventProperties (read)
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
middleCOffset(number)The offset of middle C from the position given by
middleCClefPositionThis is used for ottava brackets.ottavation(markup)If set, the text for an ottava spanner. Changing this creates a new text spanner.
This engraver creates the following layout object(s):
OttavaBracket.Piano_pedal_align_engraverAlign piano pedal symbols and brackets.
Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
This engraver creates the following layout object(s):
SostenutoPedalLineSpanner,SustainPedalLineSpannerandUnaCordaPedalLineSpanner.Piano_pedal_engraverEngrave piano pedal symbols and brackets.
Music types accepted:
sostenuto-event,sustain-eventanduna-corda-eventProperties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
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,SustainPedalandUnaCordaPedal.Pure_from_neighbor_engraverCoordinates items that get their pure heights from their neighbors.
Rest_collision_engraverHandle collisions of rests.
Properties (read)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g., note heads, spanners, etc.).This engraver creates the following layout object(s):
RestCollision.Script_row_engraverDetermine order in horizontal side position elements.
This engraver creates the following layout object(s):
ScriptRow.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
currentCommandColumncontains items that will affect spacing.This engraver creates the following layout object(s):
StaffSpacing.Skip_typesetting_engraverCreate a
StaffEllipsiswhenskipTypesettingis used.Properties (read)
skipTypesetting(boolean)If true, no typesetting is done, speeding up the interpretation phase. Useful for debugging large scores.
This engraver creates the following layout object(s):
StaffEllipsis.Staff_collecting_engraverMaintain the
stavesFoundvariable.Properties (read)
stavesFound(list of grobs)A list of all staff-symbols found.
Properties (write)
stavesFound(list of grobs)A list of all staff-symbols found.
Staff_highlight_engraverHighlights music passages.
Music types accepted:
staff-highlight-eventProperties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
This engraver creates the following layout object(s):
StaffHighlight.Staff_symbol_engraverCreate the constellation of five (default) staff lines.
Music types accepted:
staff-span-eventThis engraver creates the following layout object(s):
StaffSymbol.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < VaticanaVoice ] | [ Up: Contexts ] | [ Engravers and Performers > ] |
2.1.43 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):
ApproximatePitchNoteHead, Arpeggio, Beam, BendAfter, BreathingSign, ChordBracket, ChordSlur, ClusterSpanner, ClusterSpannerBeacon, CombineTextScript, Dots, DoublePercentRepeat, DoublePercentRepeatCounter, DoubleRepeatSlash, DynamicLineSpanner, DynamicText, DynamicTextSpanner, FingerGlideSpanner, Fingering, Flag, Glissando, Hairpin, InstrumentSwitch, LaissezVibrerTie, LaissezVibrerTieColumn, LigatureBracket, MultiMeasureRest, MultiMeasureRestNumber, MultiMeasureRestScript, MultiMeasureRestText, NoteColumn, NoteHead, NoteSpacing, PercentRepeat, PercentRepeatCounter, PhrasingSlur, RepeatSlash, RepeatTie, RepeatTieColumn, Rest, Script, ScriptColumn, Slur, Stem, StemStub, StemTremolo, StringNumber, StrokeFinger, TextScript, TextSpanner, Tie, TieColumn, TrillPitchAccidental, TrillPitchGroup, TrillPitchHead, TrillPitchParentheses, TrillSpanner, TupletBracket, TupletNumber and VoiceFollower.
This is a ‘Bottom’ context; no contexts will be created implicitly from it.
This context cannot contain other contexts.
This context is built from the following engraver(s):
Apply_output_engraverApply a procedure to any grob acknowledged.
Music types accepted:
apply-output-eventArpeggio_engraverCreate arpeggiato and non-arpeggiato symbols.
Music types accepted:
arpeggio-event,chord-slur-eventandnon-arpeggiato-eventThis engraver creates the following layout object(s):
Arpeggio,ChordBracketandChordSlur.Auto_beam_engraverGenerate beams based on measure characteristics and observed Stems. Uses
beatBase,beatStructure,beamExceptions,measureLength, andmeasurePositionto decide when to start and stop a beam. Overriding beaming is done throughStem_engraverpropertiesstemLeftBeamCountandstemRightBeamCount.Music types accepted:
beam-break-eventandbeam-forbid-eventProperties (read)
autoBeaming(boolean)If set to
#tthen beams are generated automatically. If set to#f, auto-beaming is switched off as soon as the current beam (if any) is finished according to the auto-beaming rules.beamExceptions(list)An alist of exceptions to auto-beam rules that normally end on beats.
beamHalfMeasure(boolean)Whether to allow a beam to begin halfway through the measure in triple time, which could look like 6/8.
beatBase(positive exact rational or +inf.0)The musical length corresponding to one unit of
beatStructure.beatStructure(number list)A sequence describing the length of each beat in the measure in units of
beatBase.subdivideBeams(boolean)If set, beams of multiple stems may be subdivided by omitting a number of beamlets, dependent on
beamMaximumSubdivision, between beats at multiples ofbeamMinimumSubdivision.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:
beam-eventProperties (read)
beamMelismaBusy(boolean)Signal if a beam is present.
beatBase(positive exact rational or +inf.0)The musical length corresponding to one unit of
beatStructure.beatStructure(number list)A sequence describing the length of each beat in the measure in units of
beatBase.subdivideBeams(boolean)If set, beams of multiple stems may be subdivided by omitting a number of beamlets, dependent on
beamMaximumSubdivision, between beats at multiples ofbeamMinimumSubdivision.This engraver creates the following layout object(s):
Beam.Bend_engraverCreate fall spanners.
Music types accepted:
bend-after-eventProperties (read)
currentBarLine(graphical (layout) object)Set to the
BarLinethatBar_engraverhas created in the current time step.currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
BendAfter.Breathing_sign_engraverNotate breath marks.
Music types accepted:
breathing-eventProperties (read)
breathMarkType(symbol)The type of
BreathingSignto create at\breathe.This engraver creates the following layout object(s):
BreathingSign.Chord_tremolo_engraverGenerate beams for tremolo repeats.
Music types accepted:
tremolo-span-eventThis engraver creates the following layout object(s):
Beam.Cluster_spanner_engraverEngrave a cluster using
Spannernotation.Music types accepted:
cluster-note-eventThis engraver creates the following layout object(s):
ClusterSpannerandClusterSpannerBeacon.Dots_engraverCreate
Dotsobjects forrhythmic-head-interfaces.This engraver creates the following layout object(s):
Dots.Double_percent_repeat_engraverMake double measure repeats.
Music types accepted:
double-percent-eventProperties (read)
countPercentRepeats(boolean)If set, produce counters for percent repeats.
measureLength(positive exact rational or +inf.0)The musical length of the current measure.
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, except if explicitly requested by the user.This engraver creates the following layout object(s):
DoublePercentRepeatandDoublePercentRepeatCounter.Dynamic_align_engraverAlign hairpins and dynamic texts on a horizontal line.
Properties (read)
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
DynamicLineSpanner.Dynamic_engraverCreate hairpins, dynamic texts and dynamic text spanners.
Music types accepted:
absolute-dynamic-event,break-dynamic-span-eventandspan-dynamic-eventProperties (read)
crescendoSpanner(symbol)The type of spanner to be used for crescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin crescendo is used.
crescendoText(markup)The text to print at start of non-hairpin crescendo, i.e., ‘cresc.’.
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
decrescendoSpanner(symbol)The type of spanner to be used for decrescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin decrescendo is used.
decrescendoText(markup)The text to print at start of non-hairpin decrescendo, i.e., ‘dim.’.
This engraver creates the following layout object(s):
DynamicText,DynamicTextSpannerandHairpin.Finger_glide_engraverEngraver to print a line between two
Fingering,StringNumberorStrokeFingergrobs.Music types accepted:
note-eventThis engraver creates the following layout object(s):
FingerGlideSpanner.Fingering_engraverCreate fingering scripts.
Music types accepted:
fingering-eventThis engraver creates the following layout object(s):
Fingering.Font_size_engraverPut
fontSizeintofont-sizegrob property.Properties (read)
fontSize(number)The relative size of all grobs in a context.
Forbid_line_break_engraverForbid line breaks when note heads are still playing at some point.
Properties (read)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g., note heads, spanners, etc.).Properties (write)
forbidBreak(boolean)If set to
#t, prevent a line break at this point, except if explicitly requested by the user.Glissando_engraverEngrave glissandi.
Music types accepted:
glissando-eventProperties (read)
glissandoMap(list)A map in the form of
'((source1 . target1) (source2 . target2) ... (sourcen . targetn)), showing the glissandi to be drawn for note columns. The value'()defaults to'((0 . 0) (1 . 1) ... (n . n)), where n is the minimum number of note heads in the two note columns between which the glissandi occur.This engraver creates the following layout object(s):
Glissando.Grace_auto_beam_engraverGenerates one autobeam group across an entire grace phrase. As usual, any manual beaming or
\noBeamwill block autobeaming, just like setting the context property ‘autoBeaming’ to##f.Music types accepted:
beam-break-eventandbeam-forbid-eventProperties (read)
autoBeaming(boolean)If set to
#tthen beams are generated automatically. If set to#f, auto-beaming is switched off as soon as the current beam (if any) is finished according to the auto-beaming rules.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:
beam-eventProperties (read)
beamMelismaBusy(boolean)Signal if a beam is present.
beatBase(positive exact rational or +inf.0)The musical length corresponding to one unit of
beatStructure.beatStructure(number list)A sequence describing the length of each beat in the measure in units of
beatBase.subdivideBeams(boolean)If set, beams of multiple stems may be subdivided by omitting a number of beamlets, dependent on
beamMaximumSubdivision, between beats at multiples ofbeamMinimumSubdivision.This engraver creates the following layout object(s):
Beam.Grace_engraverSet font size and other properties for grace notes.
Properties (read)
graceSettings(list)Overrides for grace notes. This property should be manipulated through the
add-grace-propertyfunction.Grob_pq_engraverAdministrate when certain grobs (e.g., note heads) stop playing.
Properties (read)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g., note heads, spanners, etc.).Properties (write)
busyGrobs(list)A queue of
(end-moment . grob)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g., note heads, spanners, etc.).Instrument_switch_engraverCreate a cue text for taking instrument.
This engraver is deprecated.
Properties (read)
instrumentCueName(markup)The name to print if another instrument is to be taken.
This property is deprecated
This engraver creates the following layout object(s):
InstrumentSwitch.Laissez_vibrer_engraverCreate laissez vibrer items.
Music types accepted:
laissez-vibrer-eventThis engraver creates the following layout object(s):
LaissezVibrerTieandLaissezVibrerTieColumn.Ligature_bracket_engraverHandle
Ligature_eventsby engravingLigaturebrackets.Music types accepted:
ligature-eventThis engraver creates the following layout object(s):
LigatureBracket.Multi_measure_rest_engraverEngrave multi-measure rests that are produced with ‘R’. It reads
measureStartNowandinternalBarNumberto determine what number to print over theMultiMeasureRest.Music types accepted:
multi-measure-articulation-event,multi-measure-rest-eventandmulti-measure-text-eventProperties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
internalBarNumber(integer)Contains the current bar number. This property is used for internal timekeeping, among others by the
Accidental_engraver.measureStartNow(boolean)True at the beginning of a measure.
restNumberThreshold(number)If a multi-measure rest has more measures than this, a number is printed.
This engraver creates the following layout object(s):
MultiMeasureRest,MultiMeasureRestNumber,MultiMeasureRestScriptandMultiMeasureRestText.New_fingering_engraverCreate fingering scripts for notes in a new chord. This engraver is ill-named, since it also takes care of articulations and harmonic note heads.
Properties (read)
fingeringOrientations(list)A list of symbols, containing ‘left’, ‘right’, ‘up’ and/or ‘down’. This list determines where fingerings are put relative to the chord being fingered.
harmonicDots(boolean)If set, harmonic notes in dotted chords get dots.
stringNumberOrientations(list)See
fingeringOrientations.strokeFingerOrientations(list)See
fingeringOrientations.This engraver creates the following layout object(s):
Fingering,Script,StringNumberandStrokeFinger.Note_head_line_engraverEngrave a line between two note heads in a staff switch if
followVoiceis set.Properties (read)
followVoice(boolean)If set, note heads are tracked across staff switches by a thin line.
This engraver creates the following layout object(s):
VoiceFollower.Note_heads_engraverGenerate note heads.
Music types accepted:
note-eventProperties (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):
ApproximatePitchNoteHeadandNoteHead.Note_spacing_engraverGenerate
NoteSpacing, an object linking horizontal lines for use in spacing.This engraver creates the following layout object(s):
NoteSpacing.Part_combine_engraverPart combine engraver for orchestral scores: Print markings ‘a2’, ‘Solo’, ‘Solo II’, and ‘unisono’.
Music types accepted:
note-eventandpart-combine-eventProperties (read)
aDueText(markup)Text to print at a unisono passage.
partCombineTextsOnNote(boolean)Print part-combine texts only on the next note rather than immediately on rests or skips.
printPartCombineTexts(boolean)Set ‘Solo’ and ‘A due’ texts in the part combiner?
soloIIText(markup)The text for the start of a solo for voice ‘two’ when part-combining.
soloText(markup)The text for the start of a solo when part-combining.
This engraver creates the following layout object(s):
CombineTextScript.Percent_repeat_engraverMake whole measure repeats.
Music types accepted:
percent-eventProperties (read)
countPercentRepeats(boolean)If set, produce counters for percent repeats.
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
repeatCountVisibility(procedure)A procedure taking as arguments an integer and context, returning whether the corresponding percent repeat number should be printed when
countPercentRepeatsis set.This engraver creates the following layout object(s):
PercentRepeatandPercentRepeatCounter.Phrasing_slur_engraverPrint phrasing slurs. Similar to
Slur_engraver.Music types accepted:
note-eventandphrasing-slur-eventThis engraver creates the following layout object(s):
PhrasingSlur.Pitched_trill_engraverPrint the bracketed note head after a note head with trill.
This engraver creates the following layout object(s):
TrillPitchAccidental,TrillPitchGroup,TrillPitchHeadandTrillPitchParentheses.Repeat_tie_engraverCreate repeat ties.
Music types accepted:
repeat-tie-eventThis engraver creates the following layout object(s):
RepeatTieandRepeatTieColumn.Rest_engraverEngrave rests.
Music types accepted:
rest-eventProperties (read)
middleCPosition(number)The place of the middle C, measured in half staff-spaces. Usually determined by looking at
middleCClefPositionandmiddleCOffset.This engraver creates the following layout object(s):
Rest.Rhythmic_column_engraverGenerate
NoteColumn, an object that groups stems, note heads, and rests.This engraver creates the following layout object(s):
NoteColumn.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):
ScriptColumn.Script_engraverHandle note scripted articulations.
Music types accepted:
articulation-eventProperties (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.Slash_repeat_engraverMake beat repeats.
Music types accepted:
repeat-slash-eventThis engraver creates the following layout object(s):
DoubleRepeatSlashandRepeatSlash.Slur_engraverBuild slur grobs from slur events.
Music types accepted:
note-eventandslur-eventProperties (read)
doubleSlurs(boolean)If set, two slurs are created for every slurred note, one above and one below the chord.
slurMelismaBusy(boolean)Signal if a slur is present.
This engraver creates the following layout object(s):
Slur.Spanner_break_forbid_engraverForbid breaks in certain spanners.
Stem_engraverCreate stems, flags and single-stem tremolos. It also works together with the beam engraver for overriding beaming.
Music types accepted:
tremolo-eventProperties (read)
currentBarLine(graphical (layout) object)Set to the
BarLinethatBar_engraverhas created in the current time step.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):
Flag,Stem,StemStubandStemTremolo.Text_engraverCreate text scripts.
Music types accepted:
text-script-eventThis engraver creates the following layout object(s):
TextScript.Text_spanner_engraverCreate text spanner from an event.
Music types accepted:
text-span-eventProperties (read)
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
TextSpanner.Tie_engraverGenerate ties between note heads of equal pitch.
Music types accepted:
tie-eventProperties (read)
skipTypesetting(boolean)If true, no typesetting is done, speeding up the interpretation phase. Useful for debugging large scores.
tieWaitForNote(boolean)If true, tied notes do not have to follow each other directly. This can be used for writing out arpeggios.
Properties (write)
tieMelismaBusy(boolean)Signal whether a tie is present.
This engraver creates the following layout object(s):
TieandTieColumn.Toe_heel_engraverRead the
toeHeelStylecontext property and use it to style\rtoeand its siblings, based on the data in thetoe-heel-stylesalist.Music types accepted:
articulation-eventProperties (read)
toeHeelStyle(symbol)The style for the glyph shape and behavior of
\rtoeand siblings. Possible values aredefault,standard,reversed,circleheels, andbelow. If not set (the default), use valuedefault.Trill_spanner_engraverCreate trill spanners.
Music types accepted:
trill-span-eventProperties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
TrillSpanner.Tuplet_engraverCatch tuplet events and generate appropriate bracket.
Music types accepted:
tuplet-span-eventProperties (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):
TupletBracketandTupletNumber.
| [ << 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 ] | [ Alteration_glyph_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)
accidentalGrouping(symbol)If set to
'voice, accidentals on the same note in different octaves may be horizontally staggered if in different voices.autoAccidentals(list)List of different ways to typeset an accidental.
For determining when to print an accidental, several different rules are tried. The rule that gives the highest number of accidentals is used.
Each entry in the list is either a symbol or a procedure.
- symbol
The symbol is the name of the context in which the following rules are to be applied. For example, if context is 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.
The procedure returns a pair of Booleans. The first states whether an extra natural should be added. The second states whether an accidental should be printed.
(#t . #f)does not make sense.autoCautionaries(list)List similar to
autoAccidentals, but it controls cautionary accidentals rather than normal ones. Both lists are tried, and the one giving the most accidentals wins. In case of draw, a normal accidental is typeset.extraNatural(boolean)Whether to typeset an extra natural sign before accidentals that reduce the effect of a previous alteration.
harmonicAccidentals(boolean)If set, harmonic notes in chords get accidentals.
internalBarNumber(integer)Contains the current bar number. This property is used for internal timekeeping, among others by the
Accidental_engraver.keyAlterations(list)The current key signature. This is an alist containing
(step . alter)or((octave . step) . alter), where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.,keyAlterations = #`((6 . ,FLAT)).localAlterations(list)The key signature at this point in the measure. The format is the same as for
keyAlterations, but can also contain((octave . name) . (alter barnumber . measureposition))pairs.
Properties (write)
localAlterations(list)The key signature at this point in the measure. The format is the same as for
keyAlterations, but can also contain((octave . name) . (alter barnumber . measureposition))pairs.
This engraver creates the following layout object(s):
Accidental, AccidentalCautionary, AccidentalPlacement and AccidentalSuggestion.
Accidental_engraver is part of the following context(s) in \layout: GregorianTranscriptionStaff, InternalGregorianStaff, InternalMensuralStaff, KievanStaff, MensuralStaff, PetrucciStaff, Staff and VaticanaStaff.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Accidental_engraver ] | [ Up: Engravers and Performers ] | [ Ambitus_engraver > ] |
2.2.2 Alteration_glyph_engraver ¶
Set the glyph-name-alist of all grobs having the
accidental-switch-interface to the value of the context’s
alterationGlyphs property, when defined.
Properties (read)
alterationGlyphs(list)Alist mapping alterations to accidental glyphs. Alterations are given as exact numbers, e.g., -1/2 for flat. This applies to all grobs that can print accidentals.
Alteration_glyph_engraver is part of the following context(s) in \layout: ChordGrid, ChordNames, DrumStaff, GregorianTranscriptionStaff, InternalGregorianStaff, InternalMensuralStaff, KievanStaff, MensuralStaff, NoteNames, PetrucciStaff, Staff, TabStaff and VaticanaStaff.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Alteration_glyph_engraver ] | [ Up: Engravers and Performers ] | [ Apply_output_engraver > ] |
2.2.3 Ambitus_engraver ¶
Create an ambitus.
Properties (read)
keyAlterations(list)The current key signature. This is an alist containing
(step . alter)or((octave . step) . alter), where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.,keyAlterations = #`((6 . ,FLAT)).middleCClefPosition(number)The position of the middle C, as determined only by the clef. This can be calculated by looking at
clefPositionandclefGlyph.middleCCuePosition(number)The position of the middle C, as determined only by the clef of the cue notes. This can be calculated by looking at
cueClefPositionandcueClefGlyph.middleCOffset(number)The offset of middle C from the position given by
middleCClefPositionThis is used for ottava brackets.middleCPosition(number)The place of the middle C, measured in half staff-spaces. Usually determined by looking at
middleCClefPositionandmiddleCOffset.staffLineLayoutFunction(procedure)Layout of staff lines,
traditional, orsemitone.
This engraver creates the following layout object(s):
AccidentalPlacement, Ambitus, AmbitusAccidental, AmbitusLine and AmbitusNoteHead.
Ambitus_engraver is not part of any context
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Ambitus_engraver ] | [ Up: Engravers and Performers ] | [ Arpeggio_engraver > ] |
2.2.4 Apply_output_engraver ¶
Apply a procedure to any grob acknowledged.
Music types accepted:
apply-output-event
Apply_output_engraver is part of the following context(s) in \layout: ChoirStaff, ChordGrid, ChordGridScore, ChordNames, CueVoice, DrumStaff, DrumVoice, Dynamics, FretBoards, GrandStaff, GregorianTranscriptionStaff, GregorianTranscriptionVoice, InternalGregorianStaff, InternalMensuralStaff, KievanStaff, KievanVoice, MensuralStaff, MensuralVoice, PetrucciStaff, PetrucciVoice, PianoStaff, RhythmicStaff, Score, Staff, StaffGroup, StandaloneRhythmScore, StandaloneRhythmStaff, StandaloneRhythmVoice, TabStaff, TabVoice, VaticanaScore, VaticanaStaff, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Apply_output_engraver ] | [ Up: Engravers and Performers ] | [ Auto_beam_engraver > ] |
2.2.5 Arpeggio_engraver ¶
Create arpeggiato and non-arpeggiato symbols.
Music types accepted:
arpeggio-event, chord-slur-event and non-arpeggiato-event
This engraver creates the following layout object(s):
Arpeggio, ChordBracket and ChordSlur.
Arpeggio_engraver is part of the following context(s) in \layout: CueVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, StandaloneRhythmVoice, TabVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Arpeggio_engraver ] | [ Up: Engravers and Performers ] | [ Axis_group_engraver > ] |
2.2.6 Auto_beam_engraver ¶
Generate beams based on measure characteristics and observed Stems. Uses
beatBase, beatStructure, beamExceptions,
measureLength, and measurePosition to decide when to start and
stop a beam. Overriding beaming is done through Stem_engraver properties
stemLeftBeamCount and stemRightBeamCount.
Music types accepted:
beam-break-event and beam-forbid-event
Properties (read)
autoBeaming(boolean)If set to
#tthen beams are generated automatically. If set to#f, auto-beaming is switched off as soon as the current beam (if any) is finished according to the auto-beaming rules.beamExceptions(list)An alist of exceptions to auto-beam rules that normally end on beats.
beamHalfMeasure(boolean)Whether to allow a beam to begin halfway through the measure in triple time, which could look like 6/8.
beatBase(positive exact rational or +inf.0)The musical length corresponding to one unit of
beatStructure.beatStructure(number list)A sequence describing the length of each beat in the measure in units of
beatBase.subdivideBeams(boolean)If set, beams of multiple stems may be subdivided by omitting a number of beamlets, dependent on
beamMaximumSubdivision, between beats at multiples ofbeamMinimumSubdivision.
This engraver creates the following layout object(s):
Beam.
Auto_beam_engraver is part of the following context(s) in \layout: CueVoice, DrumVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, StandaloneRhythmVoice, TabVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Auto_beam_engraver ] | [ Up: Engravers and Performers ] | [ Balloon_engraver > ] |
2.2.7 Axis_group_engraver ¶
Group all objects created in this context in a VerticalAxisGroup
spanner.
Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
hasAxisGroup(boolean)True if the current context is contained in an axis group.
keepAliveInterfaces(list)A list of symbols, signifying grob interfaces that are worth keeping a staff with
remove-emptyset around for.
Properties (write)
hasAxisGroup(boolean)True if the current context is contained in an axis group.
This engraver creates the following layout object(s):
VerticalAxisGroup.
Axis_group_engraver is part of the following context(s) in \layout: ChordGrid, ChordNames, DrumStaff, Dynamics, FiguredBass, FretBoards, GregorianTranscriptionLyrics, GregorianTranscriptionStaff, InternalGregorianStaff, InternalMensuralStaff, KievanStaff, Lyrics, MensuralStaff, NoteNames, OneStaff, PetrucciStaff, RhythmicStaff, Staff, StandaloneRhythmStaff, TabStaff, VaticanaLyrics and VaticanaStaff.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Axis_group_engraver ] | [ Up: Engravers and Performers ] | [ Bar_engraver > ] |
2.2.8 Balloon_engraver ¶
Create balloon texts.
Music types accepted:
annotate-output-event
This engraver creates the following layout object(s):
BalloonText.
Balloon_engraver is not part of any context
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Balloon_engraver ] | [ Up: Engravers and Performers ] | [ Bar_number_engraver > ] |
2.2.9 Bar_engraver ¶
Create bar lines for various commands, including \\bar.
If forbidBreakBetweenBarLines is true, allow line breaks at bar lines
only.
Music types accepted:
ad-hoc-jump-event, caesura-event, coda-mark-event, dal-segno-event, fine-event, section-event and segno-mark-event
Properties (read)
caesuraType(list)An alist
((bar-line . bar-type) (breath . breath-type) (scripts . script-type...) (underlying-bar-line . bar-type))specifying which breath mark, bar line, and scripts to create at
\caesura. All entries are optional.
bar-linehas higher priority than a measure bar line andunderlying-bar-linehas lower priority than a measure bar line.caesuraTypeTransform(procedure)An engraver callback taking three arguments and returning an alist of the same kind as
caesuraType.The first argument is the context.
The second argument is the value of
caesuraTypewith an additional entry(articulations . symbol-list)identifying the articulations attached to the caesura in the music. If the transform function returns this second argument unmodified, it is as if no transform function were set; the function is free to return a different value. The transform function can remove articulations, but any added articulations are ignored.The third argument is a symbol-list identifying certain things the engraver has observed.
bar-lineindicates that the engraver has observed aBarLineat the current moment.doubleRepeatBarType(string)Bar line to insert where the end of one
\repeat voltacoincides with the start of another. The default is ‘:..:’.doubleRepeatSegnoBarType(string)Bar line to insert where an in-staff segno coincides with the end of one
\repeat voltaand the beginning of another. The default is ‘:|.S.|:’.endRepeatBarType(string)Bar line to insert at the end of a
\repeat volta. The default is ‘:|.’.endRepeatSegnoBarType(string)Bar line to insert where an in-staff segno coincides with the end of a
\repeat volta. The default is ‘:|.S’.fineBarType(string)Bar line to insert at
\fine. Where there is also a repeat bar line, the repeat bar line takes precedence and this value is appended to it as an annotation. The default is ‘|.’.fineSegnoBarType(string)Bar line to insert where an in-staff segno coincides with
\fine. The default is ‘|.S’.fineStartRepeatSegnoBarType(string)Bar line to insert where an in-staff segno coincides with
\fineand the start of a\repeat volta. The default is ‘|.S.|:’.forbidBreakBetweenBarLines(boolean)If set to
#t,Bar_engraverforbids line breaks where there is no bar line.measureBarType(string)Bar line to insert at a measure boundary.
printInitialRepeatBar(boolean)Use a special bar line at the start of a volta repeat even at the beginning of the piece.
printTrivialVoltaRepeats(boolean)Notate volta-style repeats even when the repeat count is 1.
repeatCommands(list)A list of commands related to volta-style repeats. In general, each element is a list,
'(command args…), but a command with no arguments may be abbreviated to a symbol; e.g.,'((start-repeat))may be given as'(start-repeat).
end-repeat return-countEnd a repeated section. return-count is the number of times to go back from this point to the beginning of the section.
start-repeat repeat-countStart a repeated section. repeat-count is the number of times to perform this section.
volta textIf text is markup, start a volta bracket with that label; if text is
#f, end a volta bracket.sectionBarType(string)Bar line to insert at
\section. Where there is also a repeat bar line, the repeat bar line takes precedence and this value is appended to it as an annotation. The default is ‘||’.segnoBarType(string)Bar line to insert at an in-staff segno. The default is ‘S’.
segnoStyle(symbol)A symbol that indicates how to print a segno:
bar-lineormark.startRepeatBarType(string)Bar line to insert at the start of a
\repeat volta. The default is ‘.|:’.startRepeatSegnoBarType(string)Bar line to insert where an in-staff segno coincides with the start of a
\repeat volta. The default is ‘S.|:’.submeasureBarsEnabled(boolean)Whether to insert submeasure bar lines at boundaries specified by
submeasureStructure. They are typically enabled selectively to clarify complex rhythms.submeasureBarType(string)Bar line to insert at submeasure boundaries specified by
submeasureStructure, whensubmeasureBarsEnabledallows.submeasureStructure(number list)A sequence describing subdivisions of a measure. Each element tells the distance from the previous division in units of
beatBase.underlyingRepeatBarType(string)Bar line to insert at points of repetition or departure where no bar line would normally appear, for example at the end of a system broken in mid measure where the next system begins with a segno. Where there is also a repeat bar line, the repeat bar line takes precedence and this value is appended to it as an annotation. The default is ‘||’.
whichBar(string)The current bar line type, or
'()if there is no bar line. Setting this explicitly in user code is deprecated. Use\baror related commands to set it.
Properties (write)
currentBarLine(graphical (layout) object)Set to the
BarLinethatBar_engraverhas created in the current time step.forbidBreak(boolean)If set to
#t, prevent a line break at this point, except if explicitly requested by the user.
This engraver creates the following layout object(s):
BarLine.
Bar_engraver is part of the following context(s) in \layout: ChordGrid, DrumStaff, Dynamics, GregorianTranscriptionStaff, InternalGregorianStaff, InternalMensuralStaff, KievanStaff, MensuralStaff, PetrucciStaff, RhythmicStaff, Staff, StandaloneRhythmStaff, TabStaff and VaticanaStaff.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Bar_engraver ] | [ Up: Engravers and Performers ] | [ Beam_collision_engraver > ] |
2.2.10 Bar_number_engraver ¶
A bar number may be created at any bar line, subject to the
barNumberVisibility callback. By default, 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. This engraver usually creates
BarNumber grobs, but when centerBarNumbers is true, it makes
CenteredBarNumber grobs instead.
Properties (read)
alternativeNumber(non-negative, exact integer)When set, the first volta number for the current
\alternativeelement. Not set outside of alternatives.alternativeNumberingStyle(symbol)The scheme and style for numbering bars in repeat alternatives. If not set (the default), bar numbers continue through alternatives. Can be set to
numbersto reset the bar number at each alternative, or set tonumbers-with-lettersto reset and also include letter suffixes.barNumberFormatter(procedure)A procedure that takes a bar number, measure position, and alternative number and returns a markup of the bar number to print.
barNumberVisibility(procedure)A procedure that takes a bar number and a measure position and returns whether the corresponding bar number should be printed. Note that the actual print-out of bar numbers is controlled with the
break-visibilityproperty.The following procedures are predefined:
all-bar-numbers-visibleEnable bar numbers for all bars, including the first one and broken bars (which get bar numbers in parentheses).
first-bar-number-invisibleEnable bar numbers for all bars (including broken bars) except the first one. If the first bar is broken, it doesn’t get a bar number either.
first-bar-number-invisible-save-broken-barsEnable bar numbers for all bars (including broken bars) except the first one. A broken first bar gets a bar number.
first-bar-number-invisible-and-no-parenthesized-bar-numbersEnable bar numbers for all bars except the first bar and broken bars. This is the default.
(every-nth-bar-number-visible n)Assuming n is value 2, for example, this enables bar numbers for bars 2, 4, 6, etc.
(modulo-bar-number-visible n m)If bar numbers 1, 4, 7, etc., should be enabled, n (the modulo) must be set to 3 and m (the division remainder) to 1.
centerBarNumbers(boolean)Whether to center bar numbers in their measure instead of aligning them on the bar line.
currentBarNumber(integer)Contains the current bar number. This property is incremented at every bar line.
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
forbidBreak(boolean)If set to
#t, prevent a line break at this point, except if explicitly requested by the user.forceBreak(boolean)Set to
#twhen an event forcing a line break was heard.measurePosition(moment)The current point within the measure.
stavesFound(list of grobs)A list of all staff-symbols found.
This engraver creates the following layout object(s):
BarNumber and CenteredBarNumber.
Bar_number_engraver is part of the following context(s) in \layout: Score and StandaloneRhythmScore.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Bar_number_engraver ] | [ Up: Engravers and Performers ] | [ Beam_engraver > ] |
2.2.11 Beam_collision_engraver ¶
Help beams avoid colliding with notes and clefs in other voices.
Beam_collision_engraver is part of the following context(s) in \layout: ChordGridScore, Score, StandaloneRhythmScore and VaticanaScore.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Beam_collision_engraver ] | [ Up: Engravers and Performers ] | [ Beam_performer > ] |
2.2.12 Beam_engraver ¶
Handle Beam events by engraving beams. If omitted, then notes are
printed with flags instead of beams.
Music types accepted:
beam-event
Properties (read)
beamMelismaBusy(boolean)Signal if a beam is present.
beatBase(positive exact rational or +inf.0)The musical length corresponding to one unit of
beatStructure.beatStructure(number list)A sequence describing the length of each beat in the measure in units of
beatBase.subdivideBeams(boolean)If set, beams of multiple stems may be subdivided by omitting a number of beamlets, dependent on
beamMaximumSubdivision, between beats at multiples ofbeamMinimumSubdivision.
This engraver creates the following layout object(s):
Beam.
Beam_engraver is part of the following context(s) in \layout: CueVoice, DrumVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, NullVoice, PetrucciVoice, StandaloneRhythmVoice, TabVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Beam_engraver ] | [ Up: Engravers and Performers ] | [ Beat_engraver > ] |
2.2.13 Beam_performer ¶
Music types accepted:
beam-event
Beam_performer is part of the following context(s) in \midi: ChordNames, CueVoice, DrumVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, NullVoice, PetrucciVoice, TabVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Beam_performer ] | [ Up: Engravers and Performers ] | [ Beat_performer > ] |
2.2.14 Beat_engraver ¶
This engraver is just a functionally identical copy of
Beat_performer, used for visualizing its effects. You can also
use it for showcasing the effects of the current beatStructure.
Music types accepted:
articulation-event and note-event
Properties (read)
barExtraVelocity(integer)Extra MIDI velocity added by the ‘Beat_performer’ at the start of each measure.
beatBase(positive exact rational or +inf.0)The musical length corresponding to one unit of
beatStructure.beatExtraVelocity(integer)Extra MIDI velocity added by the ‘Beat_performer’ at the start of each beat.
beatStructure(number list)A sequence describing the length of each beat in the measure in units of
beatBase.measurePosition(moment)The current point within the measure.
timeSignature(time signature)A time-signature specification. See the
\timecommand.timing(boolean)Keep administration of measure length, position, bar number, etc.? Switch off for cadenzas.
Beat_engraver is not part of any context
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Beat_engraver ] | [ Up: Engravers and Performers ] | [ Bend_engraver > ] |
2.2.15 Beat_performer ¶
This performer is intended for instantiation in ‘Voice’-like
contexts. The context variable beatExtraVelocity
is used for adding extra MIDI velocity at each beat (default 15) in
accordance with beatStructure and an additional
barExtraVelocity (default 10) at the start of each bar.
This is done by adding corresponding \accent and
\marcato events when such note events are encountered.
Off-beat manual use of \accent or \marcato causes
auto-generation of the next on-beat accent to be skipped.
Music types accepted:
articulation-event and note-event
Properties (read)
barExtraVelocity(integer)Extra MIDI velocity added by the ‘Beat_performer’ at the start of each measure.
beatBase(positive exact rational or +inf.0)The musical length corresponding to one unit of
beatStructure.beatExtraVelocity(integer)Extra MIDI velocity added by the ‘Beat_performer’ at the start of each beat.
beatStructure(number list)A sequence describing the length of each beat in the measure in units of
beatBase.measurePosition(moment)The current point within the measure.
timeSignature(time signature)A time-signature specification. See the
\timecommand.timing(boolean)Keep administration of measure length, position, bar number, etc.? Switch off for cadenzas.
Beat_performer is not part of any context
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Beat_performer ] | [ Up: Engravers and Performers ] | [ Bend_spanner_engraver > ] |
2.2.16 Bend_engraver ¶
Create fall spanners.
Music types accepted:
bend-after-event
Properties (read)
currentBarLine(graphical (layout) object)Set to the
BarLinethatBar_engraverhas created in the current time step.currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
BendAfter.
Bend_engraver is part of the following context(s) in \layout: CueVoice, DrumVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, StandaloneRhythmVoice, TabVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Bend_engraver ] | [ Up: Engravers and Performers ] | [ Break_align_engraver > ] |
2.2.17 Bend_spanner_engraver ¶
Engraver to print a BendSpanner.
Music types accepted:
bend-span-event, note-event and string-number-event
Properties (read)
stringFretFingerList(list)A list containing three entries. In
TabVoiceandFretBoardsthey determine the string, fret and finger to usesupportNonIntegerFret(boolean)If set in
ScoretheTabStaffwill print micro-tones as ‘2½’
Properties (write)
stringFretFingerList(list)A list containing three entries. In
TabVoiceandFretBoardsthey determine the string, fret and finger to usesupportNonIntegerFret(boolean)If set in
ScoretheTabStaffwill print micro-tones as ‘2½’
This engraver creates the following layout object(s):
BendSpanner.
Bend_spanner_engraver is part of the following context(s) in \layout: TabVoice.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Bend_spanner_engraver ] | [ Up: Engravers and Performers ] | [ Breathing_sign_engraver > ] |
2.2.18 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) in \layout: ChordGridScore, Score, StandaloneRhythmScore and VaticanaScore.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Break_align_engraver ] | [ Up: Engravers and Performers ] | [ Caesura_engraver > ] |
2.2.19 Breathing_sign_engraver ¶
Notate breath marks.
Music types accepted:
breathing-event
Properties (read)
breathMarkType(symbol)The type of
BreathingSignto create at\breathe.
This engraver creates the following layout object(s):
BreathingSign.
Breathing_sign_engraver is part of the following context(s) in \layout: CueVoice, DrumVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, StandaloneRhythmVoice, TabVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Breathing_sign_engraver ] | [ Up: Engravers and Performers ] | [ Centered_bar_number_align_engraver > ] |
2.2.20 Caesura_engraver ¶
Notate a short break in sound that does not shorten the previous note.
Depending on the result of passing the value of caesuraType through
caesuraTypeTransform, this engraver may create a BreathingSign
with CaesuraScript grobs aligned to it, or it may create
CaesuraScript grobs and align them to a BarLine.
If this engraver observes a BarLine, it calls
caesuraTypeTransform again with the new information, and if necessary,
recreates its grobs.
Music types accepted:
caesura-event
Properties (read)
breathMarkDefinitions(list)The description of breath marks. This is used by the
Breathing_sign_engraver. See scm/breath.scm for more information.caesuraType(list)An alist
((bar-line . bar-type) (breath . breath-type) (scripts . script-type...) (underlying-bar-line . bar-type))specifying which breath mark, bar line, and scripts to create at
\caesura. All entries are optional.
bar-linehas higher priority than a measure bar line andunderlying-bar-linehas lower priority than a measure bar line.caesuraTypeTransform(procedure)An engraver callback taking three arguments and returning an alist of the same kind as
caesuraType.The first argument is the context.
The second argument is the value of
caesuraTypewith an additional entry(articulations . symbol-list)identifying the articulations attached to the caesura in the music. If the transform function returns this second argument unmodified, it is as if no transform function were set; the function is free to return a different value. The transform function can remove articulations, but any added articulations are ignored.The third argument is a symbol-list identifying certain things the engraver has observed.
bar-lineindicates that the engraver has observed aBarLineat the current moment.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):
BreathingSign and CaesuraScript.
Caesura_engraver is part of the following context(s) in \layout: DrumStaff, InternalMensuralStaff, KievanStaff, MensuralStaff, PetrucciStaff, RhythmicStaff, Staff, StandaloneRhythmStaff and TabStaff.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Caesura_engraver ] | [ Up: Engravers and Performers ] | [ Chord_name_engraver > ] |
2.2.21 Centered_bar_number_align_engraver ¶
Group measure-centered bar numbers in a
CenteredBarNumberLineSpanner so they end up on the same
vertical position.
Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
This engraver creates the following layout object(s):
CenteredBarNumberLineSpanner.
Centered_bar_number_align_engraver is part of the following context(s) in \layout: ChordGridScore, Score, StandaloneRhythmScore and VaticanaScore.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Centered_bar_number_align_engraver ] | [ Up: Engravers and Performers ] | [ Chord_square_engraver > ] |
2.2.22 Chord_name_engraver ¶
Read currentChordText to create chord names.
Properties (read)
chordChanges(boolean)Only show changes in chords scheme?
currentChordCause(stream event)Event cause of the chord that should be created in this time step (if any).
currentChordText(markup)In contexts printing chord names, this is at any point of time the markup that will be put in the chord name.
lastChord(markup)Last chord, used for detecting chord changes.
Properties (write)
lastChord(markup)Last chord, used for detecting chord changes.
This engraver creates the following layout object(s):
ChordName.
Chord_name_engraver is part of the following context(s) in \layout: ChordNames.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Chord_name_engraver ] | [ Up: Engravers and Performers ] | [ Chord_tremolo_engraver > ] |
2.2.23 Chord_square_engraver ¶
Engrave chord squares in chord grids.
Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
This engraver creates the following layout object(s):
ChordSquare.
Chord_square_engraver is part of the following context(s) in \layout: ChordGrid.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Chord_square_engraver ] | [ Up: Engravers and Performers ] | [ Clef_engraver > ] |
2.2.24 Chord_tremolo_engraver ¶
Generate beams for tremolo repeats.
Music types accepted:
tremolo-span-event
This engraver creates the following layout object(s):
Beam.
Chord_tremolo_engraver is part of the following context(s) in \layout: CueVoice, DrumVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, StandaloneRhythmVoice, TabVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Chord_tremolo_engraver ] | [ Up: Engravers and Performers ] | [ Cluster_spanner_engraver > ] |
2.2.25 Clef_engraver ¶
Determine and set reference point for pitches.
Properties (read)
clefGlyph(string)Name of the symbol within the music font.
clefPosition(number)Where should the center of the clef symbol go, measured in half staff spaces from the center of the staff.
clefTransposition(integer)Add this much extra transposition to a clef. Values of 7 and -7 are common.
clefTranspositionStyle(symbol)Determines the way the
ClefModifiergrob of a clef is displayed. Possible values are'default,'parenthesized, and'bracketed.explicitClefVisibility(vector)‘break-visibility’ function for clef changes.
forbidBreak(boolean)If set to
#t, prevent a line break at this point, except if explicitly requested by the user.forceBreak(boolean)Set to
#twhen an event forcing a line break was heard.forceClef(boolean)Show clef symbol, even if it has not changed. Only active for the first clef after the property is set, not for the full staff.
This engraver creates the following layout object(s):
Clef and ClefModifier.
Clef_engraver is part of the following context(s) in \layout: DrumStaff, GregorianTranscriptionStaff, InternalGregorianStaff, InternalMensuralStaff, KievanStaff, MensuralStaff, PetrucciStaff, Staff, TabStaff and VaticanaStaff.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Clef_engraver ] | [ Up: Engravers and Performers ] | [ Collision_engraver > ] |
2.2.26 Cluster_spanner_engraver ¶
Engrave a cluster using Spanner notation.
Music types accepted:
cluster-note-event
This engraver creates the following layout object(s):
ClusterSpanner and ClusterSpannerBeacon.
Cluster_spanner_engraver is part of the following context(s) in \layout: CueVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, StandaloneRhythmVoice, TabVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Cluster_spanner_engraver ] | [ Up: Engravers and Performers ] | [ Completion_heads_engraver > ] |
2.2.27 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):
NoteCollision.
Collision_engraver is part of the following context(s) in \layout: DrumStaff, GregorianTranscriptionStaff, InternalGregorianStaff, InternalMensuralStaff, KievanStaff, MensuralStaff, PetrucciStaff, Staff, TabStaff and VaticanaStaff.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Collision_engraver ] | [ Up: Engravers and Performers ] | [ Completion_rest_engraver > ] |
2.2.28 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:
note-event
Properties (read)
completionFactor(an exact rational or procedure)When
Completion_heads_engraverandCompletion_rest_engraverneed to split a note or rest with a scaled duration, such asc2*3, this specifies the scale factor to use for the newly-split notes and rests created by the engraver.If
#f, the completion engraver uses the scale-factor of each duration being split.If set to a callback procedure, that procedure is called with the context of the completion engraver, and the duration to be split.
completionUnit(positive exact rational or +inf.0)Sub-bar unit of completion.
measureLength(positive exact rational or +inf.0)The musical length of the current measure.
measurePosition(moment)The current point within the measure.
middleCPosition(number)The place of the middle C, measured in half staff-spaces. Usually determined by looking at
middleCClefPositionandmiddleCOffset.timing(boolean)Keep administration of measure length, position, bar number, etc.? Switch off for cadenzas.
Properties (write)
completionBusy(boolean)Whether a completion-note head is playing.
This engraver creates the following layout object(s):
NoteHead, Tie and TieColumn.
Completion_heads_engraver is not part of any context
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Completion_heads_engraver ] | [ Up: Engravers and Performers ] | [ Concurrent_hairpin_engraver > ] |
2.2.29 Completion_rest_engraver ¶
This engraver replaces Rest_engraver. It plays some trickery to break
long rests into the next measure.
Music types accepted:
rest-event
Properties (read)
completionFactor(an exact rational or procedure)When
Completion_heads_engraverandCompletion_rest_engraverneed to split a note or rest with a scaled duration, such asc2*3, this specifies the scale factor to use for the newly-split notes and rests created by the engraver.If
#f, the completion engraver uses the scale-factor of each duration being split.If set to a callback procedure, that procedure is called with the context of the completion engraver, and the duration to be split.
completionUnit(positive exact rational or +inf.0)Sub-bar unit of completion.
measureLength(positive exact rational or +inf.0)The musical length of the current measure.
measurePosition(moment)The current point within the measure.
middleCPosition(number)The place of the middle C, measured in half staff-spaces. Usually determined by looking at
middleCClefPositionandmiddleCOffset.
Properties (write)
restCompletionBusy(boolean)Signal whether a completion-rest is active.
This engraver creates the following layout object(s):
Rest.
Completion_rest_engraver is not part of any context
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Completion_rest_engraver ] | [ Up: Engravers and Performers ] | [ Control_track_performer > ] |
2.2.30 Concurrent_hairpin_engraver ¶
Collect concurrent hairpins.
Concurrent_hairpin_engraver is part of the following context(s) in \layout: ChordGridScore, Score, StandaloneRhythmScore and VaticanaScore.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Concurrent_hairpin_engraver ] | [ Up: Engravers and Performers ] | [ Cue_clef_engraver > ] |
2.2.31 Control_track_performer ¶
Properties (read)
midiSkipOffset(moment)This is the accrued MIDI offset to account for time skipped via
skipTypesetting.
Control_track_performer is part of the following context(s) in \midi: ChordGridScore and Score.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Control_track_performer ] | [ Up: Engravers and Performers ] | [ Current_chord_text_engraver > ] |
2.2.32 Cue_clef_engraver ¶
Determine and set reference point for pitches in cued voices.
Properties (read)
clefTransposition(integer)Add this much extra transposition to a clef. Values of 7 and -7 are common.
cueClefGlyph(string)Name of the symbol within the music font.
cueClefPosition(number)Where should the center of the clef symbol go, measured in half staff spaces from the center of the staff.
cueClefTransposition(integer)Add this much extra transposition to a cue clef. Values of 7 and -7 are common.
cueClefTranspositionStyle(symbol)Determines the way the
ClefModifiergrob of a cue clef is displayed. Possible values are'default,'parenthesized, and'bracketed.explicitCueClefVisibility(vector)‘break-visibility’ function for cue clef changes.
forbidBreak(boolean)If set to
#t, prevent a line break at this point, except if explicitly requested by the user.forceBreak(boolean)Set to
#twhen an event forcing a line break was heard.middleCCuePosition(number)The position of the middle C, as determined only by the clef of the cue notes. This can be calculated by looking at
cueClefPositionandcueClefGlyph.
This engraver creates the following layout object(s):
ClefModifier, CueClef and CueEndClef.
Cue_clef_engraver is part of the following context(s) in \layout: DrumStaff, GregorianTranscriptionStaff, InternalGregorianStaff, InternalMensuralStaff, KievanStaff, MensuralStaff, PetrucciStaff, Staff, TabStaff and VaticanaStaff.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Cue_clef_engraver ] | [ Up: Engravers and Performers ] | [ Custos_engraver > ] |
2.2.33 Current_chord_text_engraver ¶
Catch note and rest events and generate the
appropriate chord text using chordNameFunction. Actually
creating a chord name grob is left to other engravers.
Music types accepted:
general-rest-event and note-event
Properties (read)
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.
majorSevenSymbol(markup)How should the major 7th be formatted in a chord name?
noChordSymbol(markup)Markup to be displayed for rests in a ChordNames context.
Properties (write)
currentChordCause(stream event)Event cause of the chord that should be created in this time step (if any).
currentChordText(markup)In contexts printing chord names, this is at any point of time the markup that will be put in the chord name.
Current_chord_text_engraver is part of the following context(s) in \layout: ChordGrid and ChordNames.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Current_chord_text_engraver ] | [ Up: Engravers and Performers ] | [ Divisio_engraver > ] |
2.2.34 Custos_engraver ¶
Engrave custodes.
Properties (read)
forbidBreak(boolean)If set to
#t, prevent a line break at this point, except if explicitly requested by the user.forceBreak(boolean)Set to
#twhen an event forcing a line break was heard.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):
Custos.
Custos_engraver is part of the following context(s) in \layout: InternalMensuralStaff, MensuralStaff, PetrucciStaff and VaticanaStaff.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Custos_engraver ] | [ Up: Engravers and Performers ] | [ Dot_column_engraver > ] |
2.2.35 Divisio_engraver ¶
Create divisiones: chant notation for points of breathing or caesura.
Music types accepted:
caesura-event, fine-event, section-event, volta-repeat-end-event and volta-repeat-start-event
Properties (read)
caesuraType(list)An alist
((bar-line . bar-type) (breath . breath-type) (scripts . script-type...) (underlying-bar-line . bar-type))specifying which breath mark, bar line, and scripts to create at
\caesura. All entries are optional.
bar-linehas higher priority than a measure bar line andunderlying-bar-linehas lower priority than a measure bar line.caesuraTypeTransform(procedure)An engraver callback taking three arguments and returning an alist of the same kind as
caesuraType.The first argument is the context.
The second argument is the value of
caesuraTypewith an additional entry(articulations . symbol-list)identifying the articulations attached to the caesura in the music. If the transform function returns this second argument unmodified, it is as if no transform function were set; the function is free to return a different value. The transform function can remove articulations, but any added articulations are ignored.The third argument is a symbol-list identifying certain things the engraver has observed.
bar-lineindicates that the engraver has observed aBarLineat the current moment.
This engraver creates the following layout object(s):
Divisio.
Divisio_engraver is part of the following context(s) in \layout: GregorianTranscriptionStaff, InternalGregorianStaff and VaticanaStaff.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Divisio_engraver ] | [ Up: Engravers and Performers ] | [ Dots_engraver > ] |
2.2.36 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):
DotColumn.
Dot_column_engraver is part of the following context(s) in \layout: DrumStaff, GregorianTranscriptionStaff, InternalGregorianStaff, InternalMensuralStaff, KievanStaff, MensuralStaff, PetrucciStaff, RhythmicStaff, Staff, StandaloneRhythmStaff, TabStaff and VaticanaStaff.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Dot_column_engraver ] | [ Up: Engravers and Performers ] | [ Double_percent_repeat_engraver > ] |
2.2.37 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) in \layout: CueVoice, DrumVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, StandaloneRhythmVoice, TabVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Dots_engraver ] | [ Up: Engravers and Performers ] | [ Drum_note_performer > ] |
2.2.38 Double_percent_repeat_engraver ¶
Make double measure repeats.
Music types accepted:
double-percent-event
Properties (read)
countPercentRepeats(boolean)If set, produce counters for percent repeats.
measureLength(positive exact rational or +inf.0)The musical length of the current measure.
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, except if explicitly requested by the user.
This engraver creates the following layout object(s):
DoublePercentRepeat and DoublePercentRepeatCounter.
Double_percent_repeat_engraver is part of the following context(s) in \layout: ChordGrid, CueVoice, DrumVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, StandaloneRhythmVoice, TabVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Double_percent_repeat_engraver ] | [ Up: Engravers and Performers ] | [ Drum_notes_engraver > ] |
2.2.39 Drum_note_performer ¶
Play drum notes.
Music types accepted:
articulation-event, note-event and tie-event
Drum_note_performer is part of the following context(s) in \midi: DrumVoice.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Drum_note_performer ] | [ Up: Engravers and Performers ] | [ Duration_line_engraver > ] |
2.2.40 Drum_notes_engraver ¶
Generate drum note heads.
Music types accepted:
note-event
Properties (read)
drumStyleTable(hash table)A hash table which maps drums to layout settings. Predefined values: ‘drums-style’, ‘agostini-drums-style’, ‘weinberg-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):
NoteHead and Script.
Drum_notes_engraver is part of the following context(s) in \layout: DrumVoice.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Drum_notes_engraver ] | [ Up: Engravers and Performers ] | [ Dynamic_align_engraver > ] |
2.2.41 Duration_line_engraver ¶
Engraver to print a line representing the duration of a rhythmic event like
NoteHead, NoteColumn or Rest.
Music types accepted:
duration-line-event
Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
endAtSkip(boolean)End
DurationLinegrob onskip-eventstartAtNoteColumn(boolean)Start
DurationLinegrob at entireNoteColumn.startAtSkip(boolean)Start
DurationLinegrob atskip-event.
This engraver creates the following layout object(s):
DurationLine.
Duration_line_engraver is not part of any context
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Duration_line_engraver ] | [ Up: Engravers and Performers ] | [ Dynamic_engraver > ] |
2.2.42 Dynamic_align_engraver ¶
Align hairpins and dynamic texts on a horizontal line.
Properties (read)
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
DynamicLineSpanner.
Dynamic_align_engraver is part of the following context(s) in \layout: CueVoice, DrumVoice, Dynamics, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, StandaloneRhythmVoice, TabVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Dynamic_align_engraver ] | [ Up: Engravers and Performers ] | [ Dynamic_performer > ] |
2.2.43 Dynamic_engraver ¶
Create hairpins, dynamic texts and dynamic text spanners.
Music types accepted:
absolute-dynamic-event, break-dynamic-span-event and span-dynamic-event
Properties (read)
crescendoSpanner(symbol)The type of spanner to be used for crescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin crescendo is used.
crescendoText(markup)The text to print at start of non-hairpin crescendo, i.e., ‘cresc.’.
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
decrescendoSpanner(symbol)The type of spanner to be used for decrescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin decrescendo is used.
decrescendoText(markup)The text to print at start of non-hairpin decrescendo, i.e., ‘dim.’.
This engraver creates the following layout object(s):
DynamicText, DynamicTextSpanner and Hairpin.
Dynamic_engraver is part of the following context(s) in \layout: CueVoice, DrumVoice, Dynamics, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, StandaloneRhythmVoice, TabVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Dynamic_engraver ] | [ Up: Engravers and Performers ] | [ Episema_engraver > ] |
2.2.44 Dynamic_performer ¶
Music types accepted:
absolute-dynamic-event, crescendo-event and decrescendo-event
Properties (read)
dynamicAbsoluteVolumeFunction(procedure)A procedure that takes one argument, the text value of a dynamic event, and returns the absolute volume of that dynamic event.
instrumentEqualizer(procedure)A function taking a string (instrument name), and returning a
(min . max)pair of numbers for the loudness range of the instrument.midiInstrument(string)Name of the MIDI instrument to use.
midiMaximumVolume(number)Analogous to
midiMinimumVolume.midiMinimumVolume(number)Set the minimum loudness for MIDI. Ranges from 0 to 1.
Dynamic_performer is part of the following context(s) in \midi: ChordNames, CueVoice, DrumVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, TabVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Dynamic_performer ] | [ Up: Engravers and Performers ] | [ Extender_engraver > ] |
2.2.45 Episema_engraver ¶
Create an Editio Vaticana-style episema line.
Music types accepted:
episema-event
This engraver creates the following layout object(s):
Episema.
Episema_engraver is part of the following context(s) in \layout: GregorianTranscriptionVoice and VaticanaVoice.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Episema_engraver ] | [ Up: Engravers and Performers ] | [ Figured_bass_engraver > ] |
2.2.46 Extender_engraver ¶
Create lyric extenders.
Music types accepted:
completize-extender-event, extender-event, hyphen-event and lyric-event
Properties (read)
autoExtenders(boolean)Create lyric extenders automatically for syllables in melismata that are not followed by a hyphen.
extendersOverRests(boolean)Whether to continue extenders as they cross a rest.
This engraver creates the following layout object(s):
LyricExtender.
Extender_engraver is part of the following context(s) in \layout: GregorianTranscriptionLyrics, Lyrics and VaticanaLyrics.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Extender_engraver ] | [ Up: Engravers and Performers ] | [ Figured_bass_position_engraver > ] |
2.2.47 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.
ignoreFiguredBassRest(boolean)Don’t swallow rest events.
implicitBassFigures(list)A list of bass figures that are not printed as numbers, but only as extender lines.
useBassFigureExtenders(boolean)Whether to use extender lines for repeated bass figures.
This engraver creates the following layout object(s):
BassFigure, BassFigureAlignment, BassFigureBracket, BassFigureContinuation and BassFigureLine.
Figured_bass_engraver is part of the following context(s) in \layout: DrumStaff, FiguredBass, GregorianTranscriptionStaff, InternalGregorianStaff, InternalMensuralStaff, KievanStaff, MensuralStaff, PetrucciStaff, Staff, TabStaff and VaticanaStaff.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Figured_bass_engraver ] | [ Up: Engravers and Performers ] | [ Finger_glide_engraver > ] |
2.2.48 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) in \layout: DrumStaff, GregorianTranscriptionStaff, InternalGregorianStaff, InternalMensuralStaff, KievanStaff, MensuralStaff, PetrucciStaff, Staff, TabStaff and VaticanaStaff.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Figured_bass_position_engraver ] | [ Up: Engravers and Performers ] | [ Fingering_column_engraver > ] |
2.2.49 Finger_glide_engraver ¶
Engraver to print a line between two Fingering, StringNumber or
StrokeFinger grobs.
Music types accepted:
note-event
This engraver creates the following layout object(s):
FingerGlideSpanner.
Finger_glide_engraver is part of the following context(s) in \layout: CueVoice, DrumVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, StandaloneRhythmVoice, TabVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Finger_glide_engraver ] | [ Up: Engravers and Performers ] | [ Fingering_engraver > ] |
2.2.50 Fingering_column_engraver ¶
Find potentially colliding scripts and put them into a FingeringColumn
object; that will fix the collisions.
This engraver creates the following layout object(s):
FingeringColumn.
Fingering_column_engraver is part of the following context(s) in \layout: DrumStaff, GregorianTranscriptionStaff, InternalGregorianStaff, InternalMensuralStaff, KievanStaff, MensuralStaff, PetrucciStaff, Staff, TabStaff and VaticanaStaff.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Fingering_column_engraver ] | [ Up: Engravers and Performers ] | [ Font_size_engraver > ] |
2.2.51 Fingering_engraver ¶
Create fingering scripts.
Music types accepted:
fingering-event
This engraver creates the following layout object(s):
Fingering.
Fingering_engraver is part of the following context(s) in \layout: CueVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, StandaloneRhythmVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Fingering_engraver ] | [ Up: Engravers and Performers ] | [ Footnote_engraver > ] |
2.2.52 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) in \layout: CueVoice, DrumStaff, DrumVoice, Dynamics, FretBoards, GregorianTranscriptionLyrics, GregorianTranscriptionStaff, GregorianTranscriptionVoice, InternalGregorianStaff, InternalMensuralStaff, KievanStaff, KievanVoice, Lyrics, MensuralStaff, MensuralVoice, PetrucciStaff, PetrucciVoice, RhythmicStaff, Staff, StandaloneRhythmStaff, StandaloneRhythmVoice, TabStaff, TabVoice, VaticanaLyrics, VaticanaStaff, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Font_size_engraver ] | [ Up: Engravers and Performers ] | [ Forbid_line_break_engraver > ] |
2.2.53 Footnote_engraver ¶
Create footnote texts.
This engraver creates the following layout object(s):
Footnote.
Footnote_engraver is part of the following context(s) in \layout: ChordGridScore, Score, StandaloneRhythmScore and VaticanaScore.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Footnote_engraver ] | [ Up: Engravers and Performers ] | [ Fretboard_engraver > ] |
2.2.54 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, except if explicitly requested by the user.
Forbid_line_break_engraver is part of the following context(s) in \layout: CueVoice, DrumVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, StandaloneRhythmVoice, TabVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Forbid_line_break_engraver ] | [ Up: Engravers and Performers ] | [ Glissando_engraver > ] |
2.2.55 Fretboard_engraver ¶
Generate fret diagram from one or more events of type NoteEvent.
Music types accepted:
fingering-event, note-event and string-number-event
Properties (read)
chordChanges(boolean)Only show changes in chords scheme?
defaultStrings(list)A list of strings to use in calculating frets for tablatures and fretboards if no strings are provided in the notes for the current moment.
highStringOne(boolean)Whether the first string is the string with highest pitch on the instrument. This used by the automatic string selector for tablature notation.
maximumFretStretch(number)Don’t allocate frets further than this from specified frets.
minimumFret(number)The tablature auto string-selecting mechanism selects the highest string with a fret at least
minimumFret.noteToFretFunction(procedure)Convert list of notes and list of defined strings to full list of strings and fret numbers. Parameters: The context, a list of note events, a list of tabstring events, and the fretboard grob if a fretboard is desired.
predefinedDiagramTable(hash table)The hash table of predefined fret diagrams to use in FretBoards.
stringTunings(list)The tablature strings tuning. It is a list of the pitches of each string (starting with the lowest numbered one).
tablatureFormat(procedure)A function formatting a tablature note head. Called with three arguments: context, string number and, fret number. It returns the text as a markup.
This engraver creates the following layout object(s):
FretBoard.
Fretboard_engraver is part of the following context(s) in \layout: FretBoards.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Fretboard_engraver ] | [ Up: Engravers and Performers ] | [ Grace_auto_beam_engraver > ] |
2.2.56 Glissando_engraver ¶
Engrave glissandi.
Music types accepted:
glissando-event
Properties (read)
glissandoMap(list)A map in the form of
'((source1 . target1) (source2 . target2) ... (sourcen . targetn)), showing the glissandi to be drawn for note columns. The value'()defaults to'((0 . 0) (1 . 1) ... (n . n)), where n is the minimum number of note heads in the two note columns between which the glissandi occur.
This engraver creates the following layout object(s):
Glissando.
Glissando_engraver is part of the following context(s) in \layout: CueVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, StandaloneRhythmVoice, TabVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Glissando_engraver ] | [ Up: Engravers and Performers ] | [ Grace_beam_engraver > ] |
2.2.57 Grace_auto_beam_engraver ¶
Generates one autobeam group across an entire grace phrase. As usual, any
manual beaming or \noBeam will block autobeaming, just like setting the
context property ‘autoBeaming’ to ##f.
Music types accepted:
beam-break-event and beam-forbid-event
Properties (read)
autoBeaming(boolean)If set to
#tthen beams are generated automatically. If set to#f, auto-beaming is switched off as soon as the current beam (if any) is finished according to the auto-beaming rules.
This engraver creates the following layout object(s):
Beam.
Grace_auto_beam_engraver is part of the following context(s) in \layout: CueVoice, DrumVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, StandaloneRhythmVoice, TabVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Grace_auto_beam_engraver ] | [ Up: Engravers and Performers ] | [ Grace_engraver > ] |
2.2.58 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:
beam-event
Properties (read)
beamMelismaBusy(boolean)Signal if a beam is present.
beatBase(positive exact rational or +inf.0)The musical length corresponding to one unit of
beatStructure.beatStructure(number list)A sequence describing the length of each beat in the measure in units of
beatBase.subdivideBeams(boolean)If set, beams of multiple stems may be subdivided by omitting a number of beamlets, dependent on
beamMaximumSubdivision, between beats at multiples ofbeamMinimumSubdivision.
This engraver creates the following layout object(s):
Beam.
Grace_beam_engraver is part of the following context(s) in \layout: CueVoice, DrumVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, StandaloneRhythmVoice, TabVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Grace_beam_engraver ] | [ Up: Engravers and Performers ] | [ Grace_spacing_engraver > ] |
2.2.59 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) in \layout: CueVoice, DrumVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, StandaloneRhythmVoice, TabVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Grace_engraver ] | [ Up: Engravers and Performers ] | [ Grid_chord_name_engraver > ] |
2.2.60 Grace_spacing_engraver ¶
Bookkeeping of shortest starting and playing notes in grace note runs.
Properties (read)
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
GraceSpacing.
Grace_spacing_engraver is part of the following context(s) in \layout: ChordGridScore, Score, StandaloneRhythmScore and VaticanaScore.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Grace_spacing_engraver ] | [ Up: Engravers and Performers ] | [ Grid_line_span_engraver > ] |
2.2.61 Grid_chord_name_engraver ¶
Read currentChordText to create chord names
adapted for typesetting within a chord grid.
Properties (read)
currentChordCause(stream event)Event cause of the chord that should be created in this time step (if any).
currentChordText(markup)In contexts printing chord names, this is at any point of time the markup that will be put in the chord name.
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
This engraver creates the following layout object(s):
GridChordName.
Grid_chord_name_engraver is part of the following context(s) in \layout: ChordGrid.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Grid_chord_name_engraver ] | [ Up: Engravers and Performers ] | [ Grid_point_engraver > ] |
2.2.62 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):
GridLine.
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.63 Grid_point_engraver ¶
Generate grid points.
Properties (read)
gridInterval(positive exact rational or +inf.0)Interval for which to generate
GridPoints.
This engraver creates the following layout object(s):
GridPoint.
Grid_point_engraver is not part of any context
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Grid_point_engraver ] | [ Up: Engravers and Performers ] | [ Horizontal_bracket_engraver > ] |
2.2.64 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) in \layout: CueVoice, DrumStaff, DrumVoice, GregorianTranscriptionStaff, GregorianTranscriptionVoice, InternalGregorianStaff, InternalMensuralStaff, KievanStaff, KievanVoice, MensuralStaff, MensuralVoice, NullVoice, PetrucciStaff, PetrucciVoice, Staff, StandaloneRhythmVoice, TabStaff, TabVoice, VaticanaStaff, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Grob_pq_engraver ] | [ Up: Engravers and Performers ] | [ Horizontal_script_engraver > ] |
2.2.65 Horizontal_bracket_engraver ¶
Create horizontal brackets over notes for musical analysis purposes.
Music types accepted:
note-grouping-event
This engraver creates the following layout object(s):
HorizontalBracket and HorizontalBracketText.
Horizontal_bracket_engraver is not part of any context
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Horizontal_bracket_engraver ] | [ Up: Engravers and Performers ] | [ Hyphen_engraver > ] |
2.2.66 Horizontal_script_engraver ¶
Aligns Script horizontally
Horizontal_script_engraver is part of the following context(s) in \layout: DrumStaff, GregorianTranscriptionStaff, InternalGregorianStaff, InternalMensuralStaff, KievanStaff, MensuralStaff, PetrucciStaff, Staff, TabStaff and VaticanaStaff.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Horizontal_script_engraver ] | [ Up: Engravers and Performers ] | [ Instrument_name_engraver > ] |
2.2.67 Hyphen_engraver ¶
Create lyric hyphens, vowel transitions and distance constraints between words.
Music types accepted:
hyphen-event and vowel-transition-event
This engraver creates the following layout object(s):
LyricHyphen, LyricSpace and VowelTransition.
Hyphen_engraver is part of the following context(s) in \layout: GregorianTranscriptionLyrics, Lyrics and VaticanaLyrics.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Hyphen_engraver ] | [ Up: Engravers and Performers ] | [ Instrument_switch_engraver > ] |
2.2.68 Instrument_name_engraver ¶
Create a system start text for instrument or vocal names.
Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
instrumentName(markup)The name to print left of a staff. The
instrumentNameproperty labels the staff in the first system, and theshortInstrumentNameproperty labels following lines.shortInstrumentName(markup)See
instrumentName.shortVocalName(markup)Name of a vocal line, short version.
vocalName(markup)Name of a vocal line.
This engraver creates the following layout object(s):
InstrumentName.
Instrument_name_engraver is part of the following context(s) in \layout: ChoirStaff, DrumStaff, FretBoards, GrandStaff, GregorianTranscriptionLyrics, GregorianTranscriptionStaff, InternalGregorianStaff, InternalMensuralStaff, KievanStaff, Lyrics, MensuralStaff, PetrucciStaff, PianoStaff, RhythmicStaff, Staff, StaffGroup, StandaloneRhythmStaff, TabStaff, VaticanaLyrics and VaticanaStaff.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Instrument_name_engraver ] | [ Up: Engravers and Performers ] | [ Jump_engraver > ] |
2.2.69 Instrument_switch_engraver ¶
Create a cue text for taking instrument.
This engraver is deprecated.
Properties (read)
instrumentCueName(markup)The name to print if another instrument is to be taken.
This property is deprecated
This engraver creates the following layout object(s):
InstrumentSwitch.
Instrument_switch_engraver is part of the following context(s) in \layout: CueVoice, DrumVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, StandaloneRhythmVoice, TabVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Instrument_switch_engraver ] | [ Up: Engravers and Performers ] | [ Keep_alive_together_engraver > ] |
2.2.70 Jump_engraver ¶
This engraver creates instructions such as D.C. and Fine, placing
them vertically outside the set of staves given in the stavesFound
context property.
If Jump_engraver is added or moved to another context,
Staff_collecting_engraver also needs to be there so that marks appear at
the intended Y location.
Music types accepted:
ad-hoc-jump-event, dal-segno-event and fine-event
Properties (read)
codaMarkCount(non-negative, exact integer)Updated at the end of each time step in which a coda mark appears: not set during the first time step, 0 up to the first coda mark, 1 from the first to the second, 2 from the second to the third, etc.
codaMarkFormatter(procedure)A procedure that creates a coda mark (which in conventional D.S. al Coda form indicates the start of the alternative endings), taking as arguments the mark sequence number and the context. It should return a markup object.
dalSegnoTextFormatter(procedure)Format a jump instruction such as D.S.
The first argument is the context.
The second argument is the number of times the instruction is performed.
The third argument is a list of three markups: start-markup, end-markup, and next-markup.
If start-markup is
#f, the form is da capo; otherwise the form is dal segno and start-markup is the sign at the start of the repeated section.If end-markup is not
#f, it is either the sign at the end of the main body of the repeat, or it is a Fine instruction. When it is a Fine instruction, next-markup is#f.If next-markup is not
#f, it is the mark to be jumped to after performing the body of the repeat, e.g., Coda.finalFineTextVisibility(boolean)Whether
\fineat the written end of the music should create a Fine instruction.fineText(markup)The text to print at
\fine.segnoMarkCount(non-negative, exact integer)Updated at the end of each time step in which a segno appears: not set during the first time step, 0 up to the first segno, 1 from the first to the second segno, 2 from the second to the third segno, etc.
segnoMarkFormatter(procedure)A procedure that creates a segno (which conventionally indicates the start of a repeated section), taking as arguments the mark sequence number and the context. It should return a markup object.
stavesFound(list of grobs)A list of all staff-symbols found.
This engraver creates the following layout object(s):
JumpScript.
Jump_engraver is part of the following context(s) in \layout: ChordGridScore, Score, StandaloneRhythmScore and VaticanaScore.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Jump_engraver ] | [ Up: Engravers and Performers ] | [ Key_engraver > ] |
2.2.71 Keep_alive_together_engraver ¶
This engraver collects all Hara_kiri_group_spanners that are created in
contexts at or below its own. These spanners are then tied together so that
one will be removed only if all are removed. For example, if a
StaffGroup uses this engraver, then the staves in the group will all be
visible as long as there is a note in at least one of them.
Keep_alive_together_engraver is part of the following context(s) in \layout: PianoStaff.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Keep_alive_together_engraver ] | [ Up: Engravers and Performers ] | [ Key_performer > ] |
2.2.72 Key_engraver ¶
Engrave a key signature.
Music types accepted:
key-change-event
Properties (read)
createKeyOnClefChange(boolean)Print a key signature whenever the clef is changed.
explicitKeySignatureVisibility(vector)‘break-visibility’ function for explicit key changes. ‘\override’ of the
break-visibilityproperty will set the visibility for normal (i.e., at the start of the line) key signatures.extraNatural(boolean)Whether to typeset an extra natural sign before accidentals that reduce the effect of a previous alteration.
forbidBreak(boolean)If set to
#t, prevent a line break at this point, except if explicitly requested by the user.forceBreak(boolean)Set to
#twhen an event forcing a line break was heard.keyAlterationOrder(list)A list of pairs that defines in what order alterations should be printed. The format of an entry is
(step . alter), where step is a number from 0 to 6 and alter from -1 (double flat) to 1 (double sharp), with exact rationals for alterations in between, e.g., 1/2 for sharp.keyAlterations(list)The current key signature. This is an alist containing
(step . alter)or((octave . step) . alter), where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.,keyAlterations = #`((6 . ,FLAT)).lastKeyAlterations(list)Last key signature before a key signature change.
middleCClefPosition(number)The position of the middle C, as determined only by the clef. This can be calculated by looking at
clefPositionandclefGlyph.printKeyCancellation(boolean)Print restoration alterations before a key signature change.
Properties (write)
keyAlterations(list)The current key signature. This is an alist containing
(step . alter)or((octave . step) . alter), where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.,keyAlterations = #`((6 . ,FLAT)).lastKeyAlterations(list)Last key signature before a key signature change.
tonic(pitch)The tonic of the current scale.
This engraver creates the following layout object(s):
KeyCancellation and KeySignature.
Key_engraver is part of the following context(s) in \layout: GregorianTranscriptionStaff, InternalGregorianStaff, InternalMensuralStaff, KievanStaff, MensuralStaff, PetrucciStaff, Staff and VaticanaStaff.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Key_engraver ] | [ Up: Engravers and Performers ] | [ Kievan_ligature_engraver > ] |
2.2.73 Key_performer ¶
Music types accepted:
key-change-event
Properties (read)
instrumentTransposition(pitch)Define the transposition of the instrument. Its value is the pitch that sounds when the instrument plays written middle C. This is used to transpose the MIDI output, and
\quotes.
Key_performer is part of the following context(s) in \midi: DrumStaff, GregorianTranscriptionStaff, KievanStaff, MensuralStaff, PetrucciStaff, RhythmicStaff, Staff, TabStaff and VaticanaStaff.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Key_performer ] | [ Up: Engravers and Performers ] | [ Laissez_vibrer_engraver > ] |
2.2.74 Kievan_ligature_engraver ¶
Handle Kievan_ligature_events by glueing Kievan heads together.
Music types accepted:
ligature-event
This engraver creates the following layout object(s):
KievanLigature.
Kievan_ligature_engraver is part of the following context(s) in \layout: KievanVoice.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Kievan_ligature_engraver ] | [ Up: Engravers and Performers ] | [ Ledger_line_engraver > ] |
2.2.75 Laissez_vibrer_engraver ¶
Create laissez vibrer items.
Music types accepted:
laissez-vibrer-event
This engraver creates the following layout object(s):
LaissezVibrerTie and LaissezVibrerTieColumn.
Laissez_vibrer_engraver is part of the following context(s) in \layout: CueVoice, DrumVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, StandaloneRhythmVoice, TabVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Laissez_vibrer_engraver ] | [ Up: Engravers and Performers ] | [ Ligature_bracket_engraver > ] |
2.2.76 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):
LedgerLineSpanner.
Ledger_line_engraver is part of the following context(s) in \layout: DrumStaff, GregorianTranscriptionStaff, InternalGregorianStaff, InternalMensuralStaff, KievanStaff, MensuralStaff, PetrucciStaff, RhythmicStaff, Staff, StandaloneRhythmStaff, TabStaff and VaticanaStaff.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Ledger_line_engraver ] | [ Up: Engravers and Performers ] | [ Lyric_engraver > ] |
2.2.77 Ligature_bracket_engraver ¶
Handle Ligature_events by engraving Ligature brackets.
Music types accepted:
ligature-event
This engraver creates the following layout object(s):
LigatureBracket.
Ligature_bracket_engraver is part of the following context(s) in \layout: CueVoice, StandaloneRhythmVoice, TabVoice and Voice.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Ligature_bracket_engraver ] | [ Up: Engravers and Performers ] | [ Lyric_performer > ] |
2.2.78 Lyric_engraver ¶
Engrave text for lyrics.
Music types accepted:
lyric-event
Properties (read)
ignoreMelismata(boolean)Ignore melismata for this Lyrics line.
lyricMelismaAlignment(number)Alignment to use for a melisma syllable.
searchForVoice(boolean)Signal whether a search should be made of all contexts in the context hierarchy for a voice to provide rhythms for the lyrics.
This engraver creates the following layout object(s):
LyricText.
Lyric_engraver is part of the following context(s) in \layout: GregorianTranscriptionLyrics, Lyrics and VaticanaLyrics.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Lyric_engraver ] | [ Up: Engravers and Performers ] | [ Lyric_repeat_count_engraver > ] |
2.2.79 Lyric_performer ¶
Music types accepted:
lyric-event
Lyric_performer is part of the following context(s) in \midi: GregorianTranscriptionLyrics and Lyrics.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Lyric_performer ] | [ Up: Engravers and Performers ] | [ Mark_engraver > ] |
2.2.80 Lyric_repeat_count_engraver ¶
Create repeat counts within lyrics for modern transcriptions of Gregorian chant.
Music types accepted:
volta-repeat-end-event
Properties (read)
lyricRepeatCountFormatter(procedure)A procedure taking as arguments the context and the numeric repeat count. It should return the formatted repeat count as markup. If it does not return markup, no grob is created.
This engraver creates the following layout object(s):
LyricRepeatCount.
Lyric_repeat_count_engraver is part of the following context(s) in \layout: GregorianTranscriptionLyrics.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Lyric_repeat_count_engraver ] | [ Up: Engravers and Performers ] | [ Mark_performer > ] |
2.2.81 Mark_engraver ¶
This engraver creates rehearsal marks, segno and coda marks, and section labels.
Mark_engraver creates marks, formats them, and places them vertically
outside the set of staves given in the stavesFound context property.
If Mark_engraver is added or moved to another context,
Staff_collecting_engraver also needs to be there so that marks appear at
the intended Y location.
By default, Mark_engravers in multiple contexts create a common
sequence of marks chosen by the Score-level
Mark_tracking_translator. If independent sequences are desired,
multiple Mark_tracking_translators must be used.
Properties (read)
codaMarkFormatter(procedure)A procedure that creates a coda mark (which in conventional D.S. al Coda form indicates the start of the alternative endings), taking as arguments the mark sequence number and the context. It should return a markup object.
currentPerformanceMarkEvent(stream event)The coda, section, or segno mark event selected by
Mark_tracking_translatorfor engraving byMark_engraver.currentRehearsalMarkEvent(stream event)The ad-hoc or rehearsal mark event selected by
Mark_tracking_translatorfor engraving byMark_engraver.rehearsalMarkFormatter(procedure)A procedure taking as arguments the context and the sequence number of the rehearsal mark. It should return the formatted mark as a markup object.
segnoMarkFormatter(procedure)A procedure that creates a segno (which conventionally indicates the start of a repeated section), taking as arguments the mark sequence number and the context. It should return a markup object.
stavesFound(list of grobs)A list of all staff-symbols found.
This engraver creates the following layout object(s):
CodaMark, RehearsalMark, SectionLabel and SegnoMark.
Mark_engraver is part of the following context(s) in \layout: ChordGridScore, Score, StandaloneRhythmScore and VaticanaScore.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Mark_engraver ] | [ Up: Engravers and Performers ] | [ Mark_tracking_translator > ] |
2.2.82 Mark_performer ¶
This performer emits MIDI markers for rehearsal marks, segno and coda marks,
and section labels. The MIDI markers are derived from markup that is generated
as in the Mark_engraver.
Properties (read)
currentPerformanceMarkEvent(stream event)The coda, section, or segno mark event selected by
Mark_tracking_translatorfor engraving byMark_engraver.currentRehearsalMarkEvent(stream event)The ad-hoc or rehearsal mark event selected by
Mark_tracking_translatorfor engraving byMark_engraver.
Mark_performer is part of the following context(s) in \midi: ChordGridScore and Score.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Mark_performer ] | [ Up: Engravers and Performers ] | [ Measure_counter_engraver > ] |
2.2.83 Mark_tracking_translator ¶
This translator chooses which marks Mark_engraver should engrave.
Music types accepted:
ad-hoc-mark-event, coda-mark-event, rehearsal-mark-event, section-label-event and segno-mark-event
Properties (read)
codaMarkCount(non-negative, exact integer)Updated at the end of each time step in which a coda mark appears: not set during the first time step, 0 up to the first coda mark, 1 from the first to the second, 2 from the second to the third, etc.
rehearsalMark(integer)The next rehearsal mark to print.
segnoMarkCount(non-negative, exact integer)Updated at the end of each time step in which a segno appears: not set during the first time step, 0 up to the first segno, 1 from the first to the second segno, 2 from the second to the third segno, etc.
Properties (write)
codaMarkCount(non-negative, exact integer)Updated at the end of each time step in which a coda mark appears: not set during the first time step, 0 up to the first coda mark, 1 from the first to the second, 2 from the second to the third, etc.
currentPerformanceMarkEvent(stream event)The coda, section, or segno mark event selected by
Mark_tracking_translatorfor engraving byMark_engraver.currentRehearsalMarkEvent(stream event)The ad-hoc or rehearsal mark event selected by
Mark_tracking_translatorfor engraving byMark_engraver.rehearsalMark(integer)The next rehearsal mark to print.
segnoMarkCount(non-negative, exact integer)Updated at the end of each time step in which a segno appears: not set during the first time step, 0 up to the first segno, 1 from the first to the second segno, 2 from the second to the third segno, etc.
Mark_tracking_translator is part of the following context(s) in \layout: ChordGridScore, Score, StandaloneRhythmScore and VaticanaScore;
in \midi: ChordGridScore and Score.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Mark_tracking_translator ] | [ Up: Engravers and Performers ] | [ Measure_grouping_engraver > ] |
2.2.84 Measure_counter_engraver ¶
This engraver numbers ranges of measures, which is useful in parts as an
aid for counting repeated measures. There is no requirement that the
affected measures be repeated, however. The user delimits the area to
receive a count with \startMeasureCount and
\stopMeasureCount.
Music types accepted:
measure-counter-event
Properties (read)
currentBarNumber(integer)Contains the current bar number. This property is incremented at every bar line.
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
measurePosition(moment)The current point within the measure.
This engraver creates the following layout object(s):
MeasureCounter.
Measure_counter_engraver is not part of any context
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Measure_counter_engraver ] | [ Up: Engravers and Performers ] | [ Measure_spanner_engraver > ] |
2.2.85 Measure_grouping_engraver ¶
Create MeasureGrouping to indicate beat subdivision.
Properties (read)
beatBase(positive exact rational or +inf.0)The musical length corresponding to one unit of
beatStructure.beatStructure(number list)A sequence describing the length of each beat in the measure in units of
beatBase.currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
measurePosition(moment)The current point within the measure.
This engraver creates the following layout object(s):
MeasureGrouping.
Measure_grouping_engraver is not part of any context
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Measure_grouping_engraver ] | [ Up: Engravers and Performers ] | [ Melody_engraver > ] |
2.2.86 Measure_spanner_engraver ¶
This engraver creates spanners bounded by the columns that start and
end measures in response to \startMeasureSpanner and
\stopMeasureSpanner.
Music types accepted:
measure-spanner-event
Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
measurePosition(moment)The current point within the measure.
This engraver creates the following layout object(s):
MeasureSpanner.
Measure_spanner_engraver is not part of any context
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Measure_spanner_engraver ] | [ Up: Engravers and Performers ] | [ Mensural_ligature_engraver > ] |
2.2.87 Melody_engraver ¶
Create information for context dependent typesetting decisions.
Properties (read)
currentBarLine(graphical (layout) object)Set to the
BarLinethatBar_engraverhas created in the current time step.suspendMelodyDecisions(boolean)When using the
Melody_engraver, stop changing orientation of stems based on the melody when this is set to#t.
This engraver creates the following layout object(s):
MelodyItem.
Melody_engraver is not part of any context
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Melody_engraver ] | [ Up: Engravers and Performers ] | [ Merge_mmrest_numbers_engraver > ] |
2.2.88 Mensural_ligature_engraver ¶
Handle Mensural_ligature_events by glueing special ligature heads
together.
Music types accepted:
ligature-event
This engraver creates the following layout object(s):
MensuralLigature.
Mensural_ligature_engraver is part of the following context(s) in \layout: MensuralVoice and PetrucciVoice.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Mensural_ligature_engraver ] | [ Up: Engravers and Performers ] | [ Merge_rests_engraver > ] |
2.2.89 Merge_mmrest_numbers_engraver ¶
Engraver to merge multi-measure rest numbers in multiple voices.
This works by gathering all multi-measure rest numbers at a time step. If they all have the same text and there are at least two only the first one is retained and the others are hidden.
Merge_mmrest_numbers_engraver is part of the following context(s) in \layout: DrumStaff, GregorianTranscriptionStaff, InternalGregorianStaff, InternalMensuralStaff, KievanStaff, MensuralStaff, PetrucciStaff, Staff, TabStaff and VaticanaStaff.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Merge_mmrest_numbers_engraver ] | [ Up: Engravers and Performers ] | [ Metronome_mark_engraver > ] |
2.2.90 Merge_rests_engraver ¶
Engraver to merge rests in multiple voices on the same staff. This works by gathering all rests at a time step. If they are all of the same length and there are at least two they are moved to the correct location as if there were one voice.
Properties (read)
suspendRestMerging(boolean)When using the Merge_rest_engraver do not merge rests when this is set to
#t.
Merge_rests_engraver is not part of any context
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Merge_rests_engraver ] | [ Up: Engravers and Performers ] | [ Midi_control_change_performer > ] |
2.2.91 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.
Music types accepted:
tempo-change-event
Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
metronomeMarkFormatter(procedure)How to produce a metronome markup. Called with two arguments: a
TempoChangeEventand context.stavesFound(list of grobs)A list of all staff-symbols found.
tempoHideNote(boolean)Hide the note = count in tempo marks.
This engraver creates the following layout object(s):
MetronomeMark.
Metronome_mark_engraver is part of the following context(s) in \layout: ChordGridScore, Score, StandaloneRhythmScore and VaticanaScore.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Metronome_mark_engraver ] | [ Up: Engravers and Performers ] | [ Multi_measure_rest_engraver > ] |
2.2.92 Midi_control_change_performer ¶
This performer listens to SetProperty events on context properties for generating MIDI control changes and prepares them for MIDI output.
Properties (read)
midiBalance(number)Stereo balance for the MIDI channel associated with the current context. Ranges from -1 to 1, where the values -1 (
#LEFT), 0 (#CENTER) and 1 (#RIGHT) correspond to leftmost emphasis, center balance, and rightmost emphasis, respectively.midiChorusLevel(number)Chorus effect level for the MIDI channel associated with the current context. Ranges from 0 to 1 (0=off, 1=full effect).
midiExpression(number)Expression control for the MIDI channel associated with the current context. Ranges from 0 to 1 (0=off, 1=full effect).
midiPanPosition(number)Pan position for the MIDI channel associated with the current context. Ranges from -1 to 1, where the values -1 (
#LEFT), 0 (#CENTER) and 1 (#RIGHT) correspond to hard left, center, and hard right, respectively.midiReverbLevel(number)Reverb effect level for the MIDI channel associated with the current context. Ranges from 0 to 1 (0=off, 1=full effect).
Midi_control_change_performer is part of the following context(s) in \midi: DrumStaff, GregorianTranscriptionStaff, KievanStaff, MensuralStaff, PetrucciStaff, RhythmicStaff, Staff, TabStaff and VaticanaStaff.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Midi_control_change_performer ] | [ Up: Engravers and Performers ] | [ New_fingering_engraver > ] |
2.2.93 Multi_measure_rest_engraver ¶
Engrave multi-measure rests that are produced with ‘R’. It reads
measureStartNow and internalBarNumber to determine what number to
print over the MultiMeasureRest.
Music types accepted:
multi-measure-articulation-event, multi-measure-rest-event and multi-measure-text-event
Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
internalBarNumber(integer)Contains the current bar number. This property is used for internal timekeeping, among others by the
Accidental_engraver.measureStartNow(boolean)True at the beginning of a measure.
restNumberThreshold(number)If a multi-measure rest has more measures than this, a number is printed.
This engraver creates the following layout object(s):
MultiMeasureRest, MultiMeasureRestNumber, MultiMeasureRestScript and MultiMeasureRestText.
Multi_measure_rest_engraver is part of the following context(s) in \layout: CueVoice, DrumVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, StandaloneRhythmVoice, TabVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Multi_measure_rest_engraver ] | [ Up: Engravers and Performers ] | [ Non_musical_script_column_engraver > ] |
2.2.94 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.
stringNumberOrientations(list)See
fingeringOrientations.strokeFingerOrientations(list)See
fingeringOrientations.
This engraver creates the following layout object(s):
Fingering, Script, StringNumber and StrokeFinger.
New_fingering_engraver is part of the following context(s) in \layout: CueVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, StandaloneRhythmVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < New_fingering_engraver ] | [ Up: Engravers and Performers ] | [ Note_head_line_engraver > ] |
2.2.95 Non_musical_script_column_engraver ¶
Find potentially colliding non-musical scripts and put them into a
ScriptColumn object; that will fix the collisions.
This engraver creates the following layout object(s):
ScriptColumn.
Non_musical_script_column_engraver is part of the following context(s) in \layout: DrumStaff, GregorianTranscriptionStaff, InternalGregorianStaff, InternalMensuralStaff, KievanStaff, MensuralStaff, PetrucciStaff, Staff, TabStaff and VaticanaStaff.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Non_musical_script_column_engraver ] | [ Up: Engravers and Performers ] | [ Note_heads_engraver > ] |
2.2.96 Note_head_line_engraver ¶
Engrave a line between two note heads in a staff switch if followVoice
is set.
Properties (read)
followVoice(boolean)If set, note heads are tracked across staff switches by a thin line.
This engraver creates the following layout object(s):
VoiceFollower.
Note_head_line_engraver is part of the following context(s) in \layout: CueVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, StandaloneRhythmVoice, TabVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Note_head_line_engraver ] | [ Up: Engravers and Performers ] | [ Note_name_engraver > ] |
2.2.97 Note_heads_engraver ¶
Generate note heads.
Music types accepted:
note-event
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):
ApproximatePitchNoteHead and NoteHead.
Note_heads_engraver is part of the following context(s) in \layout: CueVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, NullVoice, PetrucciVoice, StandaloneRhythmVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Note_heads_engraver ] | [ Up: Engravers and Performers ] | [ Note_performer > ] |
2.2.98 Note_name_engraver ¶
Print pitches as words.
Music types accepted:
note-event
Properties (read)
noteNameFunction(procedure)Function used to convert pitches into strings and markups.
noteNameSeparator(string)String used to separate simultaneous NoteName objects.
printAccidentalNames(boolean or symbol)Print accidentals in the
NoteNamescontext.printNotesLanguage(string)Use a specific language in the
NoteNamescontext.printOctaveNames(boolean or symbol)Print octave marks in the
NoteNamescontext.
This engraver creates the following layout object(s):
NoteName.
Note_name_engraver is part of the following context(s) in \layout: NoteNames.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Note_name_engraver ] | [ Up: Engravers and Performers ] | [ Note_spacing_engraver > ] |
2.2.99 Note_performer ¶
Music types accepted:
articulation-event, breathing-event, note-event and tie-event
Note_performer is part of the following context(s) in \midi: ChordNames, CueVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, TabVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Note_performer ] | [ Up: Engravers and Performers ] | [ Optional_material_bracket_engraver > ] |
2.2.100 Note_spacing_engraver ¶
Generate NoteSpacing, an object linking horizontal lines for use in
spacing.
This engraver creates the following layout object(s):
NoteSpacing.
Note_spacing_engraver is part of the following context(s) in \layout: CueVoice, DrumVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, StandaloneRhythmVoice, TabVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Note_spacing_engraver ] | [ Up: Engravers and Performers ] | [ Ottava_spanner_engraver > ] |
2.2.101 Optional_material_bracket_engraver ¶
Notate in-staff brackets for optional material.
Music types accepted:
optional-material-event
This engraver creates the following layout object(s):
OptionalMaterialBracket.
Optional_material_bracket_engraver is part of the following context(s) in \layout: DrumStaff, GregorianTranscriptionStaff, InternalGregorianStaff, InternalMensuralStaff, KievanStaff, MensuralStaff, PetrucciStaff, Staff, TabStaff and VaticanaStaff.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Optional_material_bracket_engraver ] | [ Up: Engravers and Performers ] | [ Page_turn_engraver > ] |
2.2.102 Ottava_spanner_engraver ¶
Create a text spanner when the ottavation property changes.
Music types accepted:
ottava-event
Properties (read)
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
middleCOffset(number)The offset of middle C from the position given by
middleCClefPositionThis is used for ottava brackets.ottavation(markup)If set, the text for an ottava spanner. Changing this creates a new text spanner.
This engraver creates the following layout object(s):
OttavaBracket.
Ottava_spanner_engraver is part of the following context(s) in \layout: GregorianTranscriptionStaff, InternalGregorianStaff, InternalMensuralStaff, KievanStaff, MensuralStaff, PetrucciStaff, Staff and VaticanaStaff.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Ottava_spanner_engraver ] | [ Up: Engravers and Performers ] | [ Paper_column_engraver > ] |
2.2.103 Page_turn_engraver ¶
Decide where page turns are allowed to go.
Music types accepted:
break-event
Properties (read)
currentBarLine(graphical (layout) object)Set to the
BarLinethatBar_engraverhas created in the current time step.pageTurnMinimumRepeatLength(non-negative exact rational or +inf.0)Minimum length of a repeated section for a page turn to be allowed within that section.
pageTurnMinimumRestLength(non-negative exact rational or +inf.0)Minimum length of a rest for a page turn to be allowed.
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.104 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:
break-event and label-event
Properties (read)
forbidBreak(boolean)If set to
#t, prevent a line break at this point, except if explicitly requested by the user.
Properties (write)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
forbidBreak(boolean)If set to
#t, prevent a line break at this point, except if explicitly requested by the user.forceBreak(boolean)Set to
#twhen an event forcing a line break was heard.
This engraver creates the following layout object(s):
NonMusicalPaperColumn and PaperColumn.
Paper_column_engraver is part of the following context(s) in \layout: ChordGridScore, Score, StandaloneRhythmScore and VaticanaScore.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Paper_column_engraver ] | [ Up: Engravers and Performers ] | [ Part_combine_engraver > ] |
2.2.105 Parenthesis_engraver ¶
Parenthesize objects whose parenthesize property is #t.
This engraver creates the following layout object(s):
Parentheses.
Parenthesis_engraver is part of the following context(s) in \layout: ChordGridScore, Score, StandaloneRhythmScore and VaticanaScore.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Parenthesis_engraver ] | [ Up: Engravers and Performers ] | [ Percent_repeat_engraver > ] |
2.2.106 Part_combine_engraver ¶
Part combine engraver for orchestral scores: Print markings ‘a2’, ‘Solo’, ‘Solo II’, and ‘unisono’.
Music types accepted:
note-event and part-combine-event
Properties (read)
aDueText(markup)Text to print at a unisono passage.
partCombineTextsOnNote(boolean)Print part-combine texts only on the next note rather than immediately on rests or skips.
printPartCombineTexts(boolean)Set ‘Solo’ and ‘A due’ texts in the part combiner?
soloIIText(markup)The text for the start of a solo for voice ‘two’ when part-combining.
soloText(markup)The text for the start of a solo when part-combining.
This engraver creates the following layout object(s):
CombineTextScript.
Part_combine_engraver is part of the following context(s) in \layout: CueVoice, DrumVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, StandaloneRhythmVoice, TabVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Part_combine_engraver ] | [ Up: Engravers and Performers ] | [ Phrasing_slur_engraver > ] |
2.2.107 Percent_repeat_engraver ¶
Make whole measure repeats.
Music types accepted:
percent-event
Properties (read)
countPercentRepeats(boolean)If set, produce counters for percent repeats.
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
repeatCountVisibility(procedure)A procedure taking as arguments an integer and context, returning whether the corresponding percent repeat number should be printed when
countPercentRepeatsis set.
This engraver creates the following layout object(s):
PercentRepeat and PercentRepeatCounter.
Percent_repeat_engraver is part of the following context(s) in \layout: ChordGrid, CueVoice, DrumVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, StandaloneRhythmVoice, TabVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Percent_repeat_engraver ] | [ Up: Engravers and Performers ] | [ Piano_pedal_align_engraver > ] |
2.2.108 Phrasing_slur_engraver ¶
Print phrasing slurs. Similar to Slur_engraver.
Music types accepted:
note-event and phrasing-slur-event
This engraver creates the following layout object(s):
PhrasingSlur.
Phrasing_slur_engraver is part of the following context(s) in \layout: CueVoice, DrumVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, StandaloneRhythmVoice, TabVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Phrasing_slur_engraver ] | [ Up: Engravers and Performers ] | [ Piano_pedal_engraver > ] |
2.2.109 Piano_pedal_align_engraver ¶
Align piano pedal symbols and brackets.
Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
This engraver creates the following layout object(s):
SostenutoPedalLineSpanner, SustainPedalLineSpanner and UnaCordaPedalLineSpanner.
Piano_pedal_align_engraver is part of the following context(s) in \layout: DrumStaff, GregorianTranscriptionStaff, InternalGregorianStaff, InternalMensuralStaff, KievanStaff, MensuralStaff, PetrucciStaff, Staff, TabStaff and VaticanaStaff.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Piano_pedal_align_engraver ] | [ Up: Engravers and Performers ] | [ Piano_pedal_performer > ] |
2.2.110 Piano_pedal_engraver ¶
Engrave piano pedal symbols and brackets.
Music types accepted:
sostenuto-event, sustain-event and una-corda-event
Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
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) in \layout: Dynamics, GregorianTranscriptionStaff, InternalGregorianStaff, InternalMensuralStaff, KievanStaff, MensuralStaff, PetrucciStaff, Staff, TabStaff and VaticanaStaff.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Piano_pedal_engraver ] | [ Up: Engravers and Performers ] | [ Pitch_squash_engraver > ] |
2.2.111 Piano_pedal_performer ¶
Music types accepted:
sostenuto-event, sustain-event and una-corda-event
Piano_pedal_performer is part of the following context(s) in \midi: ChordNames, CueVoice, DrumVoice, Dynamics, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, TabVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Piano_pedal_performer ] | [ Up: Engravers and Performers ] | [ Pitched_trill_engraver > ] |
2.2.112 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) in \layout: NullVoice, RhythmicStaff and StandaloneRhythmStaff.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Pitch_squash_engraver ] | [ Up: Engravers and Performers ] | [ Pure_from_neighbor_engraver > ] |
2.2.113 Pitched_trill_engraver ¶
Print the bracketed note head after a note head with trill.
This engraver creates the following layout object(s):
TrillPitchAccidental, TrillPitchGroup, TrillPitchHead and TrillPitchParentheses.
Pitched_trill_engraver is part of the following context(s) in \layout: CueVoice, DrumVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, StandaloneRhythmVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Pitched_trill_engraver ] | [ Up: Engravers and Performers ] | [ Repeat_acknowledge_engraver > ] |
2.2.114 Pure_from_neighbor_engraver ¶
Coordinates items that get their pure heights from their neighbors.
Pure_from_neighbor_engraver is part of the following context(s) in \layout: ChordNames, DrumStaff, GregorianTranscriptionLyrics, GregorianTranscriptionStaff, InternalGregorianStaff, InternalMensuralStaff, KievanStaff, Lyrics, MensuralStaff, PetrucciStaff, Staff, TabStaff, VaticanaLyrics and VaticanaStaff.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Pure_from_neighbor_engraver ] | [ Up: Engravers and Performers ] | [ Repeat_tie_engraver > ] |
2.2.115 Repeat_acknowledge_engraver ¶
This engraver augments repeatCommands with start-repeat and
end-repeat entries based on received events. This is internal behavior
that allows simplifying other engravers that must support both \repeat
volta and manual repeats.
This engraver also resets repeatCommands at the beginning of each time
step. This is user-facing behavior: it allows setting a value for the current
time step simply with \set rather than requiring \once \set.
Music types accepted:
volta-repeat-end-event and volta-repeat-start-event
Properties (write)
repeatCommands(list)A list of commands related to volta-style repeats. In general, each element is a list,
'(command args…), but a command with no arguments may be abbreviated to a symbol; e.g.,'((start-repeat))may be given as'(start-repeat).
end-repeat return-countEnd a repeated section. return-count is the number of times to go back from this point to the beginning of the section.
start-repeat repeat-countStart a repeated section. repeat-count is the number of times to perform this section.
volta textIf text is markup, start a volta bracket with that label; if text is
#f, end a volta bracket.
Repeat_acknowledge_engraver is part of the following context(s) in \layout: ChordGridScore, Score, StandaloneRhythmScore and VaticanaScore.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Repeat_acknowledge_engraver ] | [ Up: Engravers and Performers ] | [ Rest_collision_engraver > ] |
2.2.116 Repeat_tie_engraver ¶
Create repeat ties.
Music types accepted:
repeat-tie-event
This engraver creates the following layout object(s):
RepeatTie and RepeatTieColumn.
Repeat_tie_engraver is part of the following context(s) in \layout: CueVoice, DrumVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, StandaloneRhythmVoice, TabVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Repeat_tie_engraver ] | [ Up: Engravers and Performers ] | [ Rest_engraver > ] |
2.2.117 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):
RestCollision.
Rest_collision_engraver is part of the following context(s) in \layout: DrumStaff, GregorianTranscriptionStaff, InternalGregorianStaff, InternalMensuralStaff, KievanStaff, MensuralStaff, PetrucciStaff, Staff, TabStaff and VaticanaStaff.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Rest_collision_engraver ] | [ Up: Engravers and Performers ] | [ Rhythmic_column_engraver > ] |
2.2.118 Rest_engraver ¶
Engrave rests.
Music types accepted:
rest-event
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) in \layout: CueVoice, DrumVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, StandaloneRhythmVoice, TabVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Rest_engraver ] | [ Up: Engravers and Performers ] | [ Script_column_engraver > ] |
2.2.119 Rhythmic_column_engraver ¶
Generate NoteColumn, an object that groups stems, note heads, and rests.
This engraver creates the following layout object(s):
NoteColumn.
Rhythmic_column_engraver is part of the following context(s) in \layout: CueVoice, DrumVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, StandaloneRhythmVoice, TabVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Rhythmic_column_engraver ] | [ Up: Engravers and Performers ] | [ Script_engraver > ] |
2.2.120 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):
ScriptColumn.
Script_column_engraver is part of the following context(s) in \layout: CueVoice, DrumVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, StandaloneRhythmVoice, TabVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Script_column_engraver ] | [ Up: Engravers and Performers ] | [ Script_row_engraver > ] |
2.2.121 Script_engraver ¶
Handle note scripted articulations.
Music types accepted:
articulation-event
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.
Script_engraver is part of the following context(s) in \layout: CueVoice, DrumVoice, Dynamics, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, StandaloneRhythmVoice, TabVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Script_engraver ] | [ Up: Engravers and Performers ] | [ Separating_line_group_engraver > ] |
2.2.122 Script_row_engraver ¶
Determine order in horizontal side position elements.
This engraver creates the following layout object(s):
ScriptRow.
Script_row_engraver is part of the following context(s) in \layout: DrumStaff, GregorianTranscriptionStaff, InternalGregorianStaff, InternalMensuralStaff, KievanStaff, MensuralStaff, PetrucciStaff, Staff, TabStaff and VaticanaStaff.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Script_row_engraver ] | [ Up: Engravers and Performers ] | [ Show_control_points_engraver > ] |
2.2.123 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
currentCommandColumncontains items that will affect spacing.
This engraver creates the following layout object(s):
StaffSpacing.
Separating_line_group_engraver is part of the following context(s) in \layout: ChordNames, DrumStaff, FiguredBass, FretBoards, GregorianTranscriptionStaff, InternalGregorianStaff, InternalMensuralStaff, KievanStaff, MensuralStaff, NoteNames, PetrucciStaff, RhythmicStaff, Staff, StandaloneRhythmStaff, TabStaff and VaticanaStaff.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Separating_line_group_engraver ] | [ Up: Engravers and Performers ] | [ Signum_repetitionis_engraver > ] |
2.2.124 Show_control_points_engraver ¶
Create grobs to visualize control points of Bézier curves (ties and slurs) for ease of tweaking.
This engraver creates the following layout object(s):
ControlPoint and ControlPolygon.
Show_control_points_engraver is part of the following context(s) in \layout: ChordGridScore, Score, StandaloneRhythmScore and VaticanaScore.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Show_control_points_engraver ] | [ Up: Engravers and Performers ] | [ Skip_typesetting_engraver > ] |
2.2.125 Signum_repetitionis_engraver ¶
Create a SignumRepetitionis at the end of
a \repeat volta section.
Music types accepted:
volta-repeat-end-event
This engraver creates the following layout object(s):
SignumRepetitionis.
Signum_repetitionis_engraver is part of the following context(s) in \layout: InternalMensuralStaff, MensuralStaff and PetrucciStaff.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Signum_repetitionis_engraver ] | [ Up: Engravers and Performers ] | [ Slash_repeat_engraver > ] |
2.2.126 Skip_typesetting_engraver ¶
Create a StaffEllipsis when
skipTypesetting is used.
Properties (read)
skipTypesetting(boolean)If true, no typesetting is done, speeding up the interpretation phase. Useful for debugging large scores.
This engraver creates the following layout object(s):
StaffEllipsis.
Skip_typesetting_engraver is part of the following context(s) in \layout: DrumStaff, GregorianTranscriptionStaff, InternalGregorianStaff, InternalMensuralStaff, KievanStaff, MensuralStaff, PetrucciStaff, Staff, TabStaff and VaticanaStaff.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Skip_typesetting_engraver ] | [ Up: Engravers and Performers ] | [ Slur_engraver > ] |
2.2.127 Slash_repeat_engraver ¶
Make beat repeats.
Music types accepted:
repeat-slash-event
This engraver creates the following layout object(s):
DoubleRepeatSlash and RepeatSlash.
Slash_repeat_engraver is part of the following context(s) in \layout: CueVoice, DrumVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, StandaloneRhythmVoice, TabVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Slash_repeat_engraver ] | [ Up: Engravers and Performers ] | [ Slur_performer > ] |
2.2.128 Slur_engraver ¶
Build slur grobs from slur events.
Music types accepted:
note-event and slur-event
Properties (read)
doubleSlurs(boolean)If set, two slurs are created for every slurred note, one above and one below the chord.
slurMelismaBusy(boolean)Signal if a slur is present.
This engraver creates the following layout object(s):
Slur.
Slur_engraver is part of the following context(s) in \layout: CueVoice, DrumVoice, GregorianTranscriptionVoice, KievanVoice, NullVoice, PetrucciVoice, StandaloneRhythmVoice, TabVoice and Voice.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Slur_engraver ] | [ Up: Engravers and Performers ] | [ Spacing_engraver > ] |
2.2.129 Slur_performer ¶
Music types accepted:
slur-event
Slur_performer is part of the following context(s) in \midi: ChordNames, CueVoice, DrumVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, NullVoice, PetrucciVoice, TabVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Slur_performer ] | [ Up: Engravers and Performers ] | [ Span_arpeggio_engraver > ] |
2.2.130 Spacing_engraver ¶
Make a SpacingSpanner and do bookkeeping of shortest starting and
playing notes.
Music types accepted:
spacing-section-event
Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
proportionalNotationDuration(non-negative exact rational or +inf.0)Global override for shortest-playing duration. This is used for switching on proportional notation.
This engraver creates the following layout object(s):
SpacingSpanner.
Spacing_engraver is part of the following context(s) in \layout: ChordGridScore, Score, StandaloneRhythmScore and VaticanaScore.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Spacing_engraver ] | [ Up: Engravers and Performers ] | [ Span_bar_engraver > ] |
2.2.131 Span_arpeggio_engraver ¶
Make arpeggios, non-arpeggiato brackets, and vertical slurs spanning multiple staves.
Properties (read)
connectArpeggios(boolean)If set, connect arpeggios across piano staff.
connectChordBrackets(boolean)If set, connect chord brackets across piano staff.
connectChordSlurs(boolean)If set, connect chord slurs across piano staff.
This engraver creates the following layout object(s):
Arpeggio, ChordBracket and ChordSlur.
Span_arpeggio_engraver is part of the following context(s) in \layout: ChoirStaff, GrandStaff, PianoStaff and StaffGroup.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Span_arpeggio_engraver ] | [ Up: Engravers and Performers ] | [ Span_bar_stub_engraver > ] |
2.2.132 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):
SpanBar.
Span_bar_engraver is part of the following context(s) in \layout: GrandStaff, PianoStaff and StaffGroup.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Span_bar_engraver ] | [ Up: Engravers and Performers ] | [ Span_stem_engraver > ] |
2.2.133 Span_bar_stub_engraver ¶
Make stubs for span bars in all contexts that the span bars cross.
This engraver creates the following layout object(s):
SpanBarStub.
Span_bar_stub_engraver is part of the following context(s) in \layout: ChoirStaff, GrandStaff, PianoStaff and StaffGroup.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Span_bar_stub_engraver ] | [ Up: Engravers and Performers ] | [ Spanner_break_forbid_engraver > ] |
2.2.134 Span_stem_engraver ¶
Connect cross-staff stems to the stems above in the system
This engraver creates the following layout object(s):
Stem.
Span_stem_engraver is not part of any context
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Span_stem_engraver ] | [ Up: Engravers and Performers ] | [ Spanner_tracking_engraver > ] |
2.2.135 Spanner_break_forbid_engraver ¶
Forbid breaks in certain spanners.
Spanner_break_forbid_engraver is part of the following context(s) in \layout: CueVoice, DrumVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, StandaloneRhythmVoice, TabVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Spanner_break_forbid_engraver ] | [ Up: Engravers and Performers ] | [ Staff_collecting_engraver > ] |
2.2.136 Spanner_tracking_engraver ¶
Helper for creating spanners attached to other spanners.
If a spanner has the sticky-grob-interface, the engraver tracks the
spanner contained in its sticky-host object. When the host ends,
the sticky spanner attached to it has its end announced too.
Spanner_tracking_engraver is part of the following context(s) in \layout: ChordGridScore, Score, StandaloneRhythmScore and VaticanaScore.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Spanner_tracking_engraver ] | [ Up: Engravers and Performers ] | [ Staff_highlight_engraver > ] |
2.2.137 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) in \layout: ChordGridScore, DrumStaff, GregorianTranscriptionStaff, InternalGregorianStaff, InternalMensuralStaff, KievanStaff, MensuralStaff, PetrucciStaff, Score, Staff, StandaloneRhythmScore, TabStaff, VaticanaScore and VaticanaStaff.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Staff_collecting_engraver ] | [ Up: Engravers and Performers ] | [ Staff_performer > ] |
2.2.138 Staff_highlight_engraver ¶
Highlights music passages.
Music types accepted:
staff-highlight-event
Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
This engraver creates the following layout object(s):
StaffHighlight.
Staff_highlight_engraver is part of the following context(s) in \layout: DrumStaff, GregorianTranscriptionStaff, InternalGregorianStaff, InternalMensuralStaff, KievanStaff, MensuralStaff, PetrucciStaff, RhythmicStaff, Staff, StandaloneRhythmStaff, TabStaff and VaticanaStaff.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Staff_highlight_engraver ] | [ Up: Engravers and Performers ] | [ Staff_symbol_engraver > ] |
2.2.139 Staff_performer ¶
Properties (read)
midiChannelMapping(symbol)How to map MIDI channels: per
staff(default),instrumentorvoice.midiMergeUnisons(boolean)If true, output only one MIDI note-on event when notes with the same pitch, in the same MIDI-file track, overlap.
midiSkipOffset(moment)This is the accrued MIDI offset to account for time skipped via
skipTypesetting.
Staff_performer is part of the following context(s) in \midi: ChordGrid, ChordNames, DrumStaff, GregorianTranscriptionLyrics, GregorianTranscriptionStaff, KievanStaff, Lyrics, MensuralStaff, NoteNames, PetrucciStaff, RhythmicStaff, Staff, TabStaff and VaticanaStaff.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Staff_performer ] | [ Up: Engravers and Performers ] | [ Stanza_number_align_engraver > ] |
2.2.140 Staff_symbol_engraver ¶
Create the constellation of five (default) staff lines.
Music types accepted:
staff-span-event
This engraver creates the following layout object(s):
StaffSymbol.
Staff_symbol_engraver is part of the following context(s) in \layout: ChordGrid, DrumStaff, GregorianTranscriptionStaff, InternalGregorianStaff, InternalMensuralStaff, KievanStaff, MensuralStaff, PetrucciStaff, RhythmicStaff, Staff, StandaloneRhythmStaff, TabStaff and VaticanaStaff.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Staff_symbol_engraver ] | [ Up: Engravers and Performers ] | [ Stanza_number_engraver > ] |
2.2.141 Stanza_number_align_engraver ¶
This engraver ensures that stanza numbers are neatly aligned across all lyrics contexts.
Stanza_number_align_engraver is part of the following context(s) in \layout: ChordGridScore, Score, StandaloneRhythmScore and VaticanaScore.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Stanza_number_align_engraver ] | [ Up: Engravers and Performers ] | [ Stem_engraver > ] |
2.2.142 Stanza_number_engraver ¶
Engrave stanza numbers.
Properties (read)
stanzaReminders(boolean)Whether to print stanza reminders.
stanzaReminderText(procedure-or-markup)The text for stanza reminders, or a procedure that generates the reminder text when given the full current stanza number markup.
This engraver creates the following layout object(s):
StanzaNumber.
Stanza_number_engraver is part of the following context(s) in \layout: GregorianTranscriptionLyrics, Lyrics and VaticanaLyrics.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Stanza_number_engraver ] | [ Up: Engravers and Performers ] | [ System_start_delimiter_engraver > ] |
2.2.143 Stem_engraver ¶
Create stems, flags and single-stem tremolos. It also works together with the beam engraver for overriding beaming.
Music types accepted:
tremolo-event
Properties (read)
currentBarLine(graphical (layout) object)Set to the
BarLinethatBar_engraverhas created in the current time step.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):
Flag, Stem, StemStub and StemTremolo.
Stem_engraver is part of the following context(s) in \layout: CueVoice, DrumVoice, KievanVoice, MensuralVoice, PetrucciVoice, StandaloneRhythmVoice, TabVoice and Voice.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Stem_engraver ] | [ Up: Engravers and Performers ] | [ Tab_note_heads_engraver > ] |
2.2.144 System_start_delimiter_engraver ¶
Create a system start delimiter (i.e., a SystemStartBar,
SystemStartBrace, SystemStartBracket or SystemStartSquare
spanner).
Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
systemStartDelimiter(symbol)Which grob to make for the start of the system/staff? Set to
SystemStartBrace,SystemStartBracketorSystemStartBar.systemStartDelimiterHierarchy(pair)A nested list, indicating the nesting of a start delimiters.
This engraver creates the following layout object(s):
SystemStartBar, SystemStartBrace, SystemStartBracket and SystemStartSquare.
System_start_delimiter_engraver is part of the following context(s) in \layout: ChoirStaff, ChordGrid, GrandStaff, PianoStaff, Score, StaffGroup, StandaloneRhythmScore and VaticanaScore.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < System_start_delimiter_engraver ] | [ Up: Engravers and Performers ] | [ Tab_staff_symbol_engraver > ] |
2.2.145 Tab_note_heads_engraver ¶
Generate one or more tablature note heads from event of type NoteEvent.
Music types accepted:
fingering-event, note-event and string-number-event
Properties (read)
defaultStrings(list)A list of strings to use in calculating frets for tablatures and fretboards if no strings are provided in the notes for the current moment.
fretLabels(list)A list of strings or Scheme-formatted markups containing, in the correct order, the labels to be used for lettered frets in tablature.
highStringOne(boolean)Whether the first string is the string with highest pitch on the instrument. This used by the automatic string selector for tablature notation.
maximumFretStretch(number)Don’t allocate frets further than this from specified frets.
middleCPosition(number)The place of the middle C, measured in half staff-spaces. Usually determined by looking at
middleCClefPositionandmiddleCOffset.minimumFret(number)The tablature auto string-selecting mechanism selects the highest string with a fret at least
minimumFret.noteToFretFunction(procedure)Convert list of notes and list of defined strings to full list of strings and fret numbers. Parameters: The context, a list of note events, a list of tabstring events, and the fretboard grob if a fretboard is desired.
stringOneTopmost(boolean)Whether the first string is printed on the top line of the tablature.
stringTunings(list)The tablature strings tuning. It is a list of the pitches of each string (starting with the lowest numbered one).
tablatureFormat(procedure)A function formatting a tablature note head. Called with three arguments: context, string number and, fret number. It returns the text as a markup.
tabStaffLineLayoutFunction(procedure)A function determining the staff position of a tablature note head. Called with two arguments: the context and the string.
This engraver creates the following layout object(s):
TabNoteHead.
Tab_note_heads_engraver is part of the following context(s) in \layout: TabVoice.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Tab_note_heads_engraver ] | [ Up: Engravers and Performers ] | [ Tab_tie_follow_engraver > ] |
2.2.146 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 pitches of each string (starting with the lowest numbered one).
This engraver creates the following layout object(s):
StaffSymbol.
Tab_staff_symbol_engraver is part of the following context(s) in \layout: TabStaff.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Tab_staff_symbol_engraver ] | [ Up: Engravers and Performers ] | [ Tempo_performer > ] |
2.2.147 Tab_tie_follow_engraver ¶
Adjust TabNoteHead properties when the
TabNoteHead holds a RepeatTie, when a Tie ends and when a
Slur or Glissando starts at a tied TabNoteHead.
Properties (read)
tabFullNotation(boolean)Flag whether
\tabFullNotationis used
Tab_tie_follow_engraver is part of the following context(s) in \layout: TabVoice.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Tab_tie_follow_engraver ] | [ Up: Engravers and Performers ] | [ Text_engraver > ] |
2.2.148 Tempo_performer ¶
Music types accepted:
tempo-change-event and tempo-gradual-change-event
Properties (read)
tempoWholesPerMinute(positive exact rational or +inf.0)The tempo in whole notes per minute.
Tempo_performer is part of the following context(s) in \midi: ChordGridScore and Score.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Tempo_performer ] | [ Up: Engravers and Performers ] | [ Text_mark_engraver > ] |
2.2.149 Text_engraver ¶
Create text scripts.
Music types accepted:
text-script-event
This engraver creates the following layout object(s):
TextScript.
Text_engraver is part of the following context(s) in \layout: CueVoice, DrumVoice, Dynamics, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, StandaloneRhythmVoice, TabVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Text_engraver ] | [ Up: Engravers and Performers ] | [ Text_spanner_engraver > ] |
2.2.150 Text_mark_engraver ¶
Engraves arbitrary textual marks.
Music types accepted:
text-mark-event
Properties (read)
stavesFound(list of grobs)A list of all staff-symbols found.
This engraver creates the following layout object(s):
TextMark.
Text_mark_engraver is part of the following context(s) in \layout: ChordGridScore, Score, StandaloneRhythmScore and VaticanaScore.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Text_mark_engraver ] | [ Up: Engravers and Performers ] | [ Tie_engraver > ] |
2.2.151 Text_spanner_engraver ¶
Create text spanner from an event.
Music types accepted:
text-span-event
Properties (read)
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
TextSpanner.
Text_spanner_engraver is part of the following context(s) in \layout: CueVoice, DrumVoice, Dynamics, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, StandaloneRhythmVoice, TabVoice and Voice.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Text_spanner_engraver ] | [ Up: Engravers and Performers ] | [ Tie_performer > ] |
2.2.152 Tie_engraver ¶
Generate ties between note heads of equal pitch.
Music types accepted:
tie-event
Properties (read)
skipTypesetting(boolean)If true, no typesetting is done, speeding up the interpretation phase. Useful for debugging large scores.
tieWaitForNote(boolean)If true, tied notes do not have to follow each other directly. This can be used for writing out arpeggios.
Properties (write)
tieMelismaBusy(boolean)Signal whether a tie is present.
This engraver creates the following layout object(s):
Tie and TieColumn.
Tie_engraver is part of the following context(s) in \layout: CueVoice, DrumVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, NoteNames, NullVoice, PetrucciVoice, StandaloneRhythmVoice, TabVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Tie_engraver ] | [ Up: Engravers and Performers ] | [ Time_signature_engraver > ] |
2.2.153 Tie_performer ¶
Generate ties between note heads of equal pitch.
Music types accepted:
tie-event
Properties (read)
tieWaitForNote(boolean)If true, tied notes do not have to follow each other directly. This can be used for writing out arpeggios.
Properties (write)
tieMelismaBusy(boolean)Signal whether a tie is present.
Tie_performer is part of the following context(s) in \midi: ChordNames, CueVoice, DrumVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, NullVoice, PetrucciVoice, TabVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Tie_performer ] | [ Up: Engravers and Performers ] | [ Time_signature_performer > ] |
2.2.154 Time_signature_engraver ¶
Create a TimeSignature whenever timeSignature changes.
Music types accepted:
polymetric-time-signature-event and reference-time-signature-event
Properties (read)
initialTimeSignatureVisibility(vector)break visibility for the initial time signature.
partialBusy(boolean)Signal that \partial acts at the current time step.
timeSignature(time signature)A time-signature specification. See the
\timecommand.
This engraver creates the following layout object(s):
TimeSignature.
Time_signature_engraver is part of the following context(s) in \layout: DrumStaff, InternalGregorianStaff, InternalMensuralStaff, MensuralStaff, PetrucciStaff, RhythmicStaff, Staff and TabStaff.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Time_signature_engraver ] | [ Up: Engravers and Performers ] | [ Timing_translator > ] |
2.2.155 Time_signature_performer ¶
Creates a MIDI time signature whenever timeSignature changes or
a \time command is issued.
Music types accepted:
reference-time-signature-event
Properties (read)
timeSignature(time signature)A time-signature specification. See the
\timecommand.
Time_signature_performer is part of the following context(s) in \midi: ChordGridScore and Score.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Time_signature_performer ] | [ Up: Engravers and Performers ] | [ Toe_heel_engraver > ] |
2.2.156 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.
Music types accepted:
alternative-event, bar-check-event, bar-event, fine-event, partial-event and polymetric-time-signature-event
Properties (read)
alternativeNumberingStyle(symbol)The scheme and style for numbering bars in repeat alternatives. If not set (the default), bar numbers continue through alternatives. Can be set to
numbersto reset the bar number at each alternative, or set tonumbers-with-lettersto reset and also include letter suffixes.beatBase(positive exact rational or +inf.0)The musical length corresponding to one unit of
beatStructure.currentBarNumber(integer)Contains the current bar number. This property is incremented at every bar line.
internalBarNumber(integer)Contains the current bar number. This property is used for internal timekeeping, among others by the
Accidental_engraver.measureLength(positive exact rational or +inf.0)The musical length of the current measure.
measurePosition(moment)The current point within the measure.
timeSignature(time signature)A time-signature specification. See the
\timecommand.
Properties (write)
alternativeNumber(non-negative, exact integer)When set, the first volta number for the current
\alternativeelement. Not set outside of alternatives.beatBase(positive exact rational or +inf.0)The musical length corresponding to one unit of
beatStructure.currentBarNumber(integer)Contains the current bar number. This property is incremented at every bar line.
internalBarNumber(integer)Contains the current bar number. This property is used for internal timekeeping, among others by the
Accidental_engraver.measureLength(positive exact rational or +inf.0)The musical length of the current measure.
measurePosition(moment)The current point within the measure.
measureStartNow(boolean)True at the beginning of a measure.
timeSignature(time signature)A time-signature specification. See the
\timecommand.
Timing_translator is part of the following context(s) in \layout: ChordGridScore, Score, StandaloneRhythmScore and VaticanaScore;
in \midi: ChordGridScore and Score.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Timing_translator ] | [ Up: Engravers and Performers ] | [ Trill_spanner_engraver > ] |
2.2.157 Toe_heel_engraver ¶
Read the toeHeelStyle context property and use it to
style \rtoe and its siblings, based on the data in the
toe-heel-styles alist.
Music types accepted:
articulation-event
Properties (read)
toeHeelStyle(symbol)The style for the glyph shape and behavior of
\rtoeand siblings. Possible values aredefault,standard,reversed,circleheels, andbelow. If not set (the default), use valuedefault.
Toe_heel_engraver is part of the following context(s) in \layout: CueVoice, DrumVoice, Dynamics, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, StandaloneRhythmVoice, TabVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Toe_heel_engraver ] | [ Up: Engravers and Performers ] | [ Tuplet_engraver > ] |
2.2.158 Trill_spanner_engraver ¶
Create trill spanners.
Music types accepted:
trill-span-event
Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
TrillSpanner.
Trill_spanner_engraver is part of the following context(s) in \layout: CueVoice, DrumVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, StandaloneRhythmVoice, TabVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Trill_spanner_engraver ] | [ Up: Engravers and Performers ] | [ Tweak_engraver > ] |
2.2.159 Tuplet_engraver ¶
Catch tuplet events and generate appropriate bracket.
Music types accepted:
tuplet-span-event
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) in \layout: CueVoice, DrumVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, StandaloneRhythmVoice, TabVoice, VaticanaVoice and Voice.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Tuplet_engraver ] | [ Up: Engravers and Performers ] | [ Vaticana_ligature_engraver > ] |
2.2.160 Tweak_engraver ¶
Read the tweaks property from the originating event, and set properties.
Tweak_engraver is part of the following context(s) in \layout: ChordGridScore, Score, StandaloneRhythmScore and VaticanaScore.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Tweak_engraver ] | [ Up: Engravers and Performers ] | [ Vertical_align_engraver > ] |
2.2.161 Vaticana_ligature_engraver ¶
Handle ligatures by glueing special ligature heads together.
Music types accepted:
ligature-event
This engraver creates the following layout object(s):
DotColumn and VaticanaLigature.
Vaticana_ligature_engraver is part of the following context(s) in \layout: VaticanaVoice.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Vaticana_ligature_engraver ] | [ Up: Engravers and Performers ] | [ Volta_engraver > ] |
2.2.162 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.
hasAxisGroup(boolean)True if the current context is contained in an axis group.
This engraver creates the following layout object(s):
StaffGrouper and VerticalAlignment.
Vertical_align_engraver is part of the following context(s) in \layout: ChoirStaff, ChordGridScore, GrandStaff, PianoStaff, Score, StaffGroup, StandaloneRhythmScore and VaticanaScore.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Vertical_align_engraver ] | [ Up: Engravers and Performers ] | [ Tunable context properties > ] |
2.2.163 Volta_engraver ¶
Make volta brackets.
Music types accepted:
dal-segno-event, fine-event and volta-span-event
Properties (read)
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
printTrivialVoltaRepeats(boolean)Notate volta-style repeats even when the repeat count is 1.
repeatCommands(list)A list of commands related to volta-style repeats. In general, each element is a list,
'(command args…), but a command with no arguments may be abbreviated to a symbol; e.g.,'((start-repeat))may be given as'(start-repeat).
end-repeat return-countEnd a repeated section. return-count is the number of times to go back from this point to the beginning of the section.
start-repeat repeat-countStart a repeated section. repeat-count is the number of times to perform this section.
volta textIf text is markup, start a volta bracket with that label; if text is
#f, end a volta bracket.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) in \layout: ChordGridScore, Score, StandaloneRhythmScore and VaticanaScore.
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Volta_engraver ] | [ Up: Translation ] | [ Internal context properties > ] |
2.3 Tunable context properties ¶
accidentalGrouping(symbol)If set to
'voice, accidentals on the same note in different octaves may be horizontally staggered if in different voices.additionalBassStrings(list)The additional tablature bass-strings, which will not get a separate line in
TabStaff. It is a list of the pitches of each string (starting with the lowest numbered one).additionalPitchPrefix(string)Text with which to prefix additional pitches within a chord name.
aDueText(markup)Text to print at a unisono passage.
alignAboveContext(string)Where to insert newly created context in vertical alignment.
alignBelowContext(string)Where to insert newly created context in vertical alignment.
alterationGlyphs(list)Alist mapping alterations to accidental glyphs. Alterations are given as exact numbers, e.g., -1/2 for flat. This applies to all grobs that can print accidentals.
alternativeNumber(non-negative, exact integer)When set, the first volta number for the current
\alternativeelement. Not set outside of alternatives.alternativeNumberingStyle(symbol)The scheme and style for numbering bars in repeat alternatives. If not set (the default), bar numbers continue through alternatives. Can be set to
numbersto reset the bar number at each alternative, or set tonumbers-with-lettersto reset and also include letter suffixes.alternativeRestores(symbol list)Timing variables that are restored to their value at the start of the first alternative in subsequent alternatives.
associatedVoice(string)Name of the context (see
associatedVoiceTypefor its type, usuallyVoice) that has the melody for thisLyricsline.associatedVoiceType(symbol)Type of the context that has the melody for this
Lyricsline.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.
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.autoBeaming(boolean)If set to
#tthen beams are generated automatically. If set to#f, auto-beaming is switched off as soon as the current beam (if any) is finished according to the auto-beaming rules.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.autoExtenders(boolean)Create lyric extenders automatically for syllables in melismata that are not followed by a hyphen.
barExtraVelocity(integer)Extra MIDI velocity added by the ‘Beat_performer’ at the start of each measure.
barNumberFormatter(procedure)A procedure that takes a bar number, measure position, and alternative number and returns a markup of the bar number to print.
barNumberVisibility(procedure)A procedure that takes a bar number and a measure position and returns whether the corresponding bar number should be printed. Note that the actual print-out of bar numbers is controlled with the
break-visibilityproperty.The following procedures are predefined:
all-bar-numbers-visibleEnable bar numbers for all bars, including the first one and broken bars (which get bar numbers in parentheses).
first-bar-number-invisibleEnable bar numbers for all bars (including broken bars) except the first one. If the first bar is broken, it doesn’t get a bar number either.
first-bar-number-invisible-save-broken-barsEnable bar numbers for all bars (including broken bars) except the first one. A broken first bar gets a bar number.
first-bar-number-invisible-and-no-parenthesized-bar-numbersEnable bar numbers for all bars except the first bar and broken bars. This is the default.
(every-nth-bar-number-visible n)Assuming n is value 2, for example, this enables bar numbers for bars 2, 4, 6, etc.
(modulo-bar-number-visible n m)If bar numbers 1, 4, 7, etc., should be enabled, n (the modulo) must be set to 3 and m (the division remainder) to 1.
beamExceptions(list)An alist of exceptions to auto-beam rules that normally end on beats.
beamHalfMeasure(boolean)Whether to allow a beam to begin halfway through the measure in triple time, which could look like 6/8.
beamMaximumSubdivision(non-negative exact rational or +inf.0)Maximum interval to subdivide beams, limiting the depth of beamlets removed from subdivision. Ranges from 0 to infinity (
0=no subdivision,+inf.0=no limit).beamMinimumSubdivision(non-negative exact rational or +inf.0)Minimum interval to subdivide beams, ignoring beamlets whose subdivision depth is too shallow. Ranges from 0 to infinity (
0=no limit,+inf.0=no subdivision).beatBase(positive exact rational or +inf.0)The musical length corresponding to one unit of
beatStructure.beatExtraVelocity(integer)Extra MIDI velocity added by the ‘Beat_performer’ at the start of each beat.
beatStructure(number list)A sequence describing the length of each beat in the measure in units of
beatBase.breathMarkType(symbol)The type of
BreathingSignto create at\breathe.caesuraType(list)An alist
((bar-line . bar-type) (breath . breath-type) (scripts . script-type...) (underlying-bar-line . bar-type))
specifying which breath mark, bar line, and scripts to create at
\caesura. All entries are optional.bar-linehas higher priority than a measure bar line andunderlying-bar-linehas lower priority than a measure bar line.caesuraTypeTransform(procedure)An engraver callback taking three arguments and returning an alist of the same kind as
caesuraType.The first argument is the context.
The second argument is the value of
caesuraTypewith an additional entry(articulations . symbol-list)identifying the articulations attached to the caesura in the music. If the transform function returns this second argument unmodified, it is as if no transform function were set; the function is free to return a different value. The transform function can remove articulations, but any added articulations are ignored.The third argument is a symbol-list identifying certain things the engraver has observed.
bar-lineindicates that the engraver has observed aBarLineat the current moment.centerBarNumbers(boolean)Whether to center bar numbers in their measure instead of aligning them on the bar line.
chordChanges(boolean)Only show changes in chords scheme?
chordNameExceptions(list)An alist of chord exceptions. Contains
(chord . markup)entries.chordNameFunction(procedure)The function that converts lists of pitches to chord names.
chordNameLowercaseMinor(boolean)Downcase roots of minor chords?
chordNameSeparator(markup)The markup object used to separate parts of a chord name.
chordNoteNamer(procedure)A function that converts from a pitch object to a text markup. Used for single pitches.
chordPrefixSpacer(number)The space added between the root symbol and the prefix of a chord name.
chordRootNamer(procedure)A function that converts from a pitch object to a text markup. Used for chords.
clefGlyph(string)Name of the symbol within the music font.
clefPosition(number)Where should the center of the clef symbol go, measured in half staff spaces from the center of the staff.
clefTransposition(integer)Add this much extra transposition to a clef. Values of 7 and -7 are common.
clefTranspositionFormatter(procedure)A procedure that takes the transposition number of a
Clefgrob as a string and the style as a symbol and returns a markup.clefTranspositionStyle(symbol)Determines the way the
ClefModifiergrob of a clef is displayed. Possible values are'default,'parenthesized, and'bracketed.codaMarkFormatter(procedure)A procedure that creates a coda mark (which in conventional D.S. al Coda form indicates the start of the alternative endings), taking as arguments the mark sequence number and the context. It should return a markup object.
completionBusy(boolean)Whether a completion-note head is playing.
completionFactor(an exact rational or procedure)When
Completion_heads_engraverandCompletion_rest_engraverneed to split a note or rest with a scaled duration, such asc2*3, this specifies the scale factor to use for the newly-split notes and rests created by the engraver.If
#f, the completion engraver uses the scale-factor of each duration being split.If set to a callback procedure, that procedure is called with the context of the completion engraver, and the duration to be split.
completionUnit(positive exact rational or +inf.0)Sub-bar unit of completion.
connectArpeggios(boolean)If set, connect arpeggios across piano staff.
connectChordBrackets(boolean)If set, connect chord brackets across piano staff.
connectChordSlurs(boolean)If set, connect chord slurs 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.’.
cueClefGlyph(string)Name of the symbol within the music font.
cueClefPosition(number)Where should the center of the clef symbol go, measured in half staff spaces from the center of the staff.
cueClefTransposition(integer)Add this much extra transposition to a cue clef. Values of 7 and -7 are common.
cueClefTranspositionFormatter(procedure)A procedure that takes the transposition number of a
cueClefgrob as a string and the style as a symbol and returns a markup.cueClefTranspositionStyle(symbol)Determines the way the
ClefModifiergrob of a cue clef is displayed. Possible values are'default,'parenthesized, and'bracketed.currentBarNumber(integer)Contains the current bar number. This property is incremented at every bar line.
dalSegnoTextFormatter(procedure)Format a jump instruction such as D.S.
The first argument is the context.
The second argument is the number of times the instruction is performed.
The third argument is a list of three markups: start-markup, end-markup, and next-markup.
If start-markup is
#f, the form is da capo; otherwise the form is dal segno and start-markup is the sign at the start of the repeated section.If end-markup is not
#f, it is either the sign at the end of the main body of the repeat, or it is a Fine instruction. When it is a Fine instruction, next-markup is#f.If next-markup is not
#f, it is the mark to be jumped to after performing the body of the repeat, e.g., Coda.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.’.
defaultStrings(list)A list of strings to use in calculating frets for tablatures and fretboards if no strings are provided in the notes for the current moment.
doubleRepeatBarType(string)Bar line to insert where the end of one
\repeat voltacoincides with the start of another. The default is ‘:..:’.doubleRepeatSegnoBarType(string)Bar line to insert where an in-staff segno coincides with the end of one
\repeat voltaand the beginning of another. The default is ‘:|.S.|:’.doubleSlurs(boolean)If set, two slurs are created for every slurred note, one above and one below the chord.
drumPitchTable(hash table)A table mapping percussion instruments (symbols) to pitches.
drumStyleTable(hash table)A hash table which maps drums to layout settings. Predefined values: ‘drums-style’, ‘agostini-drums-style’, ‘weinberg-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.endAtSkip(boolean)End
DurationLinegrob onskip-eventendRepeatBarType(string)Bar line to insert at the end of a
\repeat volta. The default is ‘:|.’.endRepeatSegnoBarType(string)Bar line to insert where an in-staff segno coincides with the end of a
\repeat volta. The default is ‘:|.S’.explicitClefVisibility(vector)‘break-visibility’ function for clef changes.
explicitCueClefVisibility(vector)‘break-visibility’ function for cue clef changes.
explicitKeySignatureVisibility(vector)‘break-visibility’ function for explicit key changes. ‘\override’ of the
break-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 that reduce the effect of a previous alteration.
figuredBassAlterationDirection(direction)Where to put alterations relative to the main figure.
figuredBassCenterContinuations(boolean)Whether to vertically center pairs of extender lines. This does not work with three or more lines.
figuredBassFormatter(procedure)A routine generating a markup for a bass figure.
figuredBassLargeNumberAlignment(number)Horizontal alignment to use for numbers in figured bass that contain more than a single digit.
figuredBassPlusDirection(direction)Where to put plus signs relative to the main figure.
figuredBassPlusStrokedAlist(list)An alist mapping figured bass digits to glyphs. The default is mapping numbers 2, 4, 5, 6, 7, and 9 to the six glyphs
figbass.*plusandfigbass.*stroked, respectively.finalFineTextVisibility(boolean)Whether
\fineat the written end of the music should create a Fine instruction.fineBarType(string)Bar line to insert at
\fine. Where there is also a repeat bar line, the repeat bar line takes precedence and this value is appended to it as an annotation. The default is ‘|.’.fineSegnoBarType(string)Bar line to insert where an in-staff segno coincides with
\fine. The default is ‘|.S’.fineStartRepeatSegnoBarType(string)Bar line to insert where an in-staff segno coincides with
\fineand the start of a\repeat volta. The default is ‘|.S.|:’.fineText(markup)The text to print at
\fine.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, except if explicitly requested by the user.forbidBreakBetweenBarLines(boolean)If set to
#t,Bar_engraverforbids line breaks where there is no bar line.forceClef(boolean)Show clef symbol, even if it has not changed. Only active for the first clef after the property is set, not for the full staff.
fretLabels(list)A list of strings or Scheme-formatted markups containing, in the correct order, the labels to be used for lettered frets in tablature.
glissandoMap(list)A map in the form of
'((source1 . target1) (source2 . target2) ... (sourcen . targetn)), showing the glissandi to be drawn for note columns. The value'()defaults to'((0 . 0) (1 . 1) ... (n . n)), where n is the minimum number of note heads in the two note columns between which the glissandi occur.gridInterval(positive exact rational or +inf.0)Interval for which to generate
GridPoints.handleNegativeFrets(symbol)How the automatic fret calculator should handle calculated negative frets. Values include
'ignore, to leave them out of the diagram completely,'include, to include them as calculated, and'recalculate, to ignore the specified string and find a string where they will fit with a positive fret number.harmonicAccidentals(boolean)If set, harmonic notes in chords get accidentals.
harmonicDots(boolean)If set, harmonic notes in dotted chords get dots.
highStringOne(boolean)Whether the first string is the string with highest pitch on the instrument. This used by the automatic string selector for tablature notation.
ignoreBarChecks(boolean)Ignore bar checks.
ignoreBarNumberChecks(boolean)Ignore bar number checks.
ignoreFiguredBassRest(boolean)Don’t swallow rest events.
ignoreMelismata(boolean)Ignore melismata for this Lyrics line.
implicitBassFigures(list)A list of bass figures that are not printed as numbers, but only as extender lines.
includeGraceNotes(boolean)Do not ignore grace notes for Lyrics.
initialTimeSignatureVisibility(vector)break visibility for the initial time signature.
instrumentCueName(markup)The name to print if another instrument is to be taken.
This property is deprecated
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
instrumentNameproperty labels the staff in the first system, and theshortInstrumentNameproperty labels following lines.instrumentTransposition(pitch)Define the transposition of the instrument. Its value is the pitch that sounds when the instrument plays written middle C. This is used to transpose the MIDI output, and
\quotes.internalBarNumber(integer)Contains the current bar number. 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)A list of pairs that defines in what order alterations should be printed. The format of an entry is
(step . alter), where step is a number from 0 to 6 and alter from -1 (double flat) to 1 (double sharp), with exact rationals for alterations in between, e.g., 1/2 for sharp.keyAlterations(list)The current key signature. This is an alist containing
(step . alter)or((octave . step) . alter), where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.,keyAlterations = #`((6 . ,FLAT)).lyricMelismaAlignment(number)Alignment to use for a melisma syllable.
lyricRepeatCountFormatter(procedure)A procedure taking as arguments the context and the numeric repeat count. It should return the formatted repeat count as markup. If it does not return markup, no grob is created.
magnifyStaffValue(positive number)The most recent value set with
\magnifyStaff.majorSevenSymbol(markup)How should the major 7th be formatted in a chord name?
maximumFretStretch(number)Don’t allocate frets further than this from specified frets.
measureBarType(string)Bar line to insert at a measure boundary.
measureLength(positive exact rational or +inf.0)The musical length of the current measure.
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 two arguments: a
TempoChangeEventand context.middleCClefPosition(number)The position of the middle C, as determined only by the clef. This can be calculated by looking at
clefPositionandclefGlyph.middleCCuePosition(number)The position of the middle C, as determined only by the clef of the cue notes. This can be calculated by looking at
cueClefPositionandcueClefGlyph.middleCOffset(number)The offset of middle C from the position given by
middleCClefPositionThis is used for ottava brackets.middleCPosition(number)The place of the middle C, measured in half staff-spaces. Usually determined by looking at
middleCClefPositionandmiddleCOffset.midiBalance(number)Stereo balance for the MIDI channel associated with the current context. Ranges from -1 to 1, where the values -1 (
#LEFT), 0 (#CENTER) and 1 (#RIGHT) correspond to leftmost emphasis, center balance, and rightmost emphasis, respectively.midiChannelMapping(symbol)How to map MIDI channels: per
staff(default),instrumentorvoice.midiChorusLevel(number)Chorus effect level for the MIDI channel associated with the current context. Ranges from 0 to 1 (0=off, 1=full effect).
midiExpression(number)Expression control for the MIDI channel associated with the current context. Ranges from 0 to 1 (0=off, 1=full effect).
midiInstrument(string)Name of the MIDI instrument to use.
midiMaximumVolume(number)Analogous to
midiMinimumVolume.midiMergeUnisons(boolean)If true, output only one MIDI note-on event when notes with the same pitch, in the same MIDI-file track, overlap.
midiMinimumVolume(number)Set the minimum loudness for MIDI. Ranges from 0 to 1.
midiPanPosition(number)Pan position for the MIDI channel associated with the current context. Ranges from -1 to 1, where the values -1 (
#LEFT), 0 (#CENTER) and 1 (#RIGHT) correspond to hard left, center, and hard right, respectively.midiReverbLevel(number)Reverb effect level for the MIDI channel associated with the current context. Ranges from 0 to 1 (0=off, 1=full effect).
minimumFret(number)The tablature auto string-selecting mechanism selects the highest string with a fret at least
minimumFret.minorChordModifier(markup)Markup displayed following the root for a minor chord
noChordSymbol(markup)Markup to be displayed for rests in a ChordNames context.
noteNameFunction(procedure)Function used to convert pitches into strings and markups.
noteNameSeparator(string)String used to separate simultaneous NoteName objects.
noteToFretFunction(procedure)Convert list of notes and list of defined strings to full list of strings and fret numbers. Parameters: The context, a list of note events, a list of tabstring events, and the fretboard grob if a fretboard is desired.
nullAccidentals(boolean)The
Accidental_engravergenerates no accidentals for notes in contexts were this is set. In addition to suppressing the printed accidental, this option removes any effect the note would have had on accidentals in other voices.ottavaStartNow(boolean)Is an ottava starting in this time step?
ottavation(markup)If set, the text for an ottava spanner. Changing this creates a new text spanner.
ottavationMarkups(list)An alist defining the markups used for ottava brackets. It contains entries of the form
(number of octaves . markup).output(music output)The output produced by a score-level translator during music interpretation.
pageTurnMinimumRepeatLength(non-negative exact rational or +inf.0)Minimum length of a repeated section for a page turn to be allowed within that section.
pageTurnMinimumRestLength(non-negative exact rational or +inf.0)Minimum length of a rest for a page turn to be allowed.
partCombineForced(symbol)Override for the
\partCombinedecision. Can beapart,chords,unisono,solo1, orsolo2.partCombineTextsOnNote(boolean)Print part-combine texts only on the next note rather than immediately on rests or skips.
pedalSostenutoStrings(list)See
pedalSustainStrings.pedalSostenutoStyle(symbol)See
pedalSustainStyle.pedalSustainStrings(list)A list of strings to print for sustain-pedal. Format is
(up updown down), where each of the three is the string to print when this is done with the pedal.pedalSustainStyle(symbol)A symbol that indicates how to print sustain pedals:
text,bracketormixed(both).pedalUnaCordaStrings(list)See
pedalSustainStrings.pedalUnaCordaStyle(symbol)See
pedalSustainStyle.predefinedDiagramTable(hash table)The hash table of predefined fret diagrams to use in FretBoards.
printAccidentalNames(boolean or symbol)Print accidentals in the
NoteNamescontext.printInitialRepeatBar(boolean)Use a special bar line at the start of a volta repeat even at the beginning of the piece.
printKeyCancellation(boolean)Print restoration alterations before a key signature change.
printNotesLanguage(string)Use a specific language in the
NoteNamescontext.printOctaveNames(boolean or symbol)Print octave marks in the
NoteNamescontext.printPartCombineTexts(boolean)Set ‘Solo’ and ‘A due’ texts in the part combiner?
printTrivialVoltaRepeats(boolean)Notate volta-style repeats even when the repeat count is 1.
proportionalNotationDuration(non-negative exact rational or +inf.0)Global override for shortest-playing duration. This is used for switching on proportional notation.
rehearsalMark(integer)The next rehearsal mark to print.
rehearsalMarkFormatter(procedure)A procedure taking as arguments the context and the sequence number of the rehearsal mark. It should return the formatted mark as a markup object.
repeatCommands(list)A list of commands related to volta-style repeats. In general, each element is a list,
'(command args…), but a command with no arguments may be abbreviated to a symbol; e.g.,'((start-repeat))may be given as'(start-repeat).end-repeat return-countEnd a repeated section. return-count is the number of times to go back from this point to the beginning of the section.
start-repeat repeat-countStart a repeated section. repeat-count is the number of times to perform this section.
volta textIf text is markup, start a volta bracket with that label; if text is
#f, end a volta bracket.
repeatCountVisibility(procedure)A procedure taking as arguments an integer and context, returning whether the corresponding percent repeat number should be printed when
countPercentRepeatsis set.respectIncompleteBeams(boolean)When subdividing beams, limit the beam subdivision interval until it is less than or equal to the remaining length from the current moment. Note that it is somewhat unclear whether to treat incomplete beams specially or not in beam subdivision is the correct way of valid notation. The default value of false is said to be the correct option, although beam subdivision as if this property is true is not unpopular.
restCompletionBusy(boolean)Signal whether a completion-rest is active.
restNumberThreshold(number)If a multi-measure rest has more measures than this, a number is printed.
restrainOpenStrings(boolean)Exclude open strings from the automatic fret calculator.
searchForVoice(boolean)Signal whether a search should be made of all contexts in the context hierarchy for a voice to provide rhythms for the lyrics.
sectionBarType(string)Bar line to insert at
\section. Where there is also a repeat bar line, the repeat bar line takes precedence and this value is appended to it as an annotation. The default is ‘||’.segnoBarType(string)Bar line to insert at an in-staff segno. The default is ‘S’.
segnoMarkFormatter(procedure)A procedure that creates a segno (which conventionally indicates the start of a repeated section), taking as arguments the mark sequence number and the context. It should return a markup object.
segnoStyle(symbol)A symbol that indicates how to print a segno:
bar-lineormark.shapeNoteStyles(vector)Vector of symbols, listing style for each note head relative to the tonic (q.v.) of the scale.
shortInstrumentName(markup)See
instrumentName.shortVocalName(markup)Name of a vocal line, short version.
skipBars(boolean)If set to
#t, then skip the empty bars that are produced by multi-measure notes and rests. These bars will not appear on the printed output. If not set (the default), multi-measure notes and rests expand into their full length, printing the appropriate number of empty bars so that synchronization with other voices is preserved.{ r1 r1*3 R1*3 \set Score.skipBars= ##t r1*3 R1*3 }skipTypesetting(boolean)If true, no typesetting is done, speeding up the interpretation phase. Useful for debugging large scores.
slashChordSeparator(markup)The markup object used to separate a chord name from its root note in case of inversions or slash chords.
soloIIText(markup)The text for the start of a solo for voice ‘two’ when part-combining.
soloText(markup)The text for the start of a solo when part-combining.
squashedPosition(integer)Vertical position of squashing for Pitch_squash_engraver.
staffLineLayoutFunction(procedure)Layout of staff lines,
traditional, orsemitone.stanzaReminders(boolean)Whether to print stanza reminders.
stanzaReminderText(procedure-or-markup)The text for stanza reminders, or a procedure that generates the reminder text when given the full current stanza number markup.
startAtNoteColumn(boolean)Start
DurationLinegrob at entireNoteColumn.startAtSkip(boolean)Start
DurationLinegrob atskip-event.startRepeatBarType(string)Bar line to insert at the start of a
\repeat volta. The default is ‘.|:’.startRepeatSegnoBarType(string)Bar line to insert where an in-staff segno coincides with the start of a
\repeat volta. The default is ‘S.|:’.stemLeftBeamCount(integer)Specify the number of beams to draw on the left side of the next note. Overrides automatic beaming. The value is only used once, and then it is erased.
stemRightBeamCount(integer)See
stemLeftBeamCount.strictBeatBeaming(boolean)Should partial beams reflect the beat structure even if it causes flags to hang out?
stringNumberOrientations(list)See
fingeringOrientations.stringOneTopmost(boolean)Whether the first string is printed on the top line of the tablature.
stringTunings(list)The tablature strings tuning. It is a list of the pitches of each string (starting with the lowest numbered one).
strokeFingerOrientations(list)See
fingeringOrientations.subdivideBeams(boolean)If set, beams of multiple stems may be subdivided by omitting a number of beamlets, dependent on
beamMaximumSubdivision, between beats at multiples ofbeamMinimumSubdivision.submeasureBarType(string)Bar line to insert at submeasure boundaries specified by
submeasureStructure, whensubmeasureBarsEnabledallows.submeasureStructure(number list)A sequence describing subdivisions of a measure. Each element tells the distance from the previous division in units of
beatBase.suggestAccidentals(boolean or symbol)If set to
#t, accidentals are typeset as suggestions above the note. Setting it to'cautionaryonly applies that to cautionary accidentals.supportNonIntegerFret(boolean)If set in
ScoretheTabStaffwill print micro-tones as ‘2½’suspendMelodyDecisions(boolean)When using the
Melody_engraver, stop changing orientation of stems based on the melody when this is set to#t.suspendRestMerging(boolean)When using the Merge_rest_engraver do not merge rests when this is set to
#t.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.
tabFullNotation(boolean)Flag whether
\tabFullNotationis usedtablatureFormat(procedure)A function formatting a tablature note head. Called with three arguments: context, string number and, fret number. It returns the text as a markup.
tabStaffLineLayoutFunction(procedure)A function determining the staff position of a tablature note head. Called with two arguments: the context and the string.
tempoCountPrecision(a positive, exact rational number)Rounding precision for metronome rate. Readers should use 1 as the default when this property is not set.
tempoHideNote(boolean)Hide the note = count in tempo marks.
tempoWholesPerMinute(positive exact rational or +inf.0)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.
timeSignature(time signature)A time-signature specification. See the
\timecommand.timeSignatureSettings(list)A nested alist of settings for time signatures. Contains elements for various time signatures. The element for each time signature contains entries for
beatBase,beatStructure, andbeamExceptions.timing(boolean)Keep administration of measure length, position, bar number, etc.? Switch off for cadenzas.
toeHeelStyle(symbol)The style for the glyph shape and behavior of
\rtoeand siblings. Possible values aredefault,standard,reversed,circleheels, andbelow. If not set (the default), use valuedefault.tonic(pitch)The tonic of the current scale.
topLevelAlignment(boolean)If true, the Vertical_align_engraver will create a VerticalAlignment; otherwise, it will create a StaffGrouper
tupletFullLength(boolean)If set, the tuplet is printed up to the start of the next note.
tupletFullLengthNote(boolean)If set, end at the next note, otherwise end on the matter (time signatures, etc.) before the note.
tupletSpannerDuration(non-negative exact rational or +inf.0)Normally, a tuplet bracket is as wide as the
\timesexpression that gave rise to it. This property can shorten the bracket.{ \set tupletSpannerDuration = #1/4 \times 2/3 { c8 c c c c c } }underlyingRepeatBarType(string)Bar line to insert at points of repetition or departure where no bar line would normally appear, for example at the end of a system broken in mid measure where the next system begins with a segno. Where there is also a repeat bar line, the repeat bar line takes precedence and this value is appended to it as an annotation. The default is ‘||’.
useBassFigureExtenders(boolean)Whether to use extender lines for repeated bass figures.
vocalName(markup)Name of a vocal line.
whichBar(string)The current bar line type, or
'()if there is no bar line. Setting this explicitly in user code is deprecated. Use\baror related commands to set it.
| [ << 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.beamMelismaBusy(boolean)Signal if a beam is present.
breathMarkDefinitions(list)The description of breath marks. This is used by the
Breathing_sign_engraver. See scm/breath.scm for more information.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.).codaMarkCount(non-negative, exact integer)Updated at the end of each time step in which a coda mark appears: not set during the first time step, 0 up to the first coda mark, 1 from the first to the second, 2 from the second to the third, etc.
currentBarLine(graphical (layout) object)Set to the
BarLinethatBar_engraverhas created in the current time step.currentChordCause(stream event)Event cause of the chord that should be created in this time step (if any).
currentChordText(markup)In contexts printing chord names, this is at any point of time the markup that will be put in the chord name.
currentCommandColumn(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
currentMusicalColumn(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
currentPerformanceMarkEvent(stream event)The coda, section, or segno mark event selected by
Mark_tracking_translatorfor engraving byMark_engraver.currentRehearsalMarkEvent(stream event)The ad-hoc or rehearsal mark event selected by
Mark_tracking_translatorfor engraving byMark_engraver.currentTupletDescription(ly:tuplet-description)An object describing the current tuplet description, or
'(). Tuplet description objects are opaque to Scheme.deprecatedBarCheckSynchronize(boolean)If true then reset
measurePositionwhen finding a bar check.dynamicAbsoluteVolumeFunction(procedure)A procedure that takes one argument, the text value of a dynamic event, and returns the absolute volume of that dynamic event.
finalizations(list)A list of expressions to evaluate before proceeding to next time step. This is an internal variable.
forceBreak(boolean)Set to
#twhen an event forcing a line break was heard.graceSettings(list)Overrides for grace notes. This property should be manipulated through the
add-grace-propertyfunction.hasAxisGroup(boolean)True if the current context is contained in an axis group.
hasStaffSpacing(boolean)True if
currentCommandColumncontains items that will affect spacing.lastChord(markup)Last chord, used for detecting chord changes.
lastKeyAlterations(list)Last key signature before a key signature change.
localAlterations(list)The key signature at this point in the measure. The format is the same as for
keyAlterations, but can also contain((octave . name) . (alter barnumber . measureposition))pairs.measurePosition(moment)The current point within the measure.
measureStartNow(boolean)True at the beginning of a measure.
melismaBusy(boolean)Signifies whether a melisma is active. This can be used to signal melismata on top of those automatically detected.
meterScalingFactor(number)The factor by which local nominal time signature settings must be scaled to fit the measure defined in the
Timingcontext. This must not be set in theTimingcontext. Readers should use 1 as the default when this property is not set.midiSkipOffset(moment)This is the accrued MIDI offset to account for time skipped via
skipTypesetting.partialBusy(boolean)Signal that \partial acts at the current time step.
propertyStacks(association list (list of pairs))An alist used by
\pushContextPropertyand\popContextPropertyto emulate a context property stack. Each element of a stack is a list: either an empty list representing the unset state or a one-element list holding the value for the set state.quotedCueEventTypes(list)A list of symbols, representing the event types that should be duplicated for
\cueDuringcommands.quotedEventTypes(list)A list of symbols, representing the event types that should be duplicated for
\quoteDuringcommands. This is also a fallback for\cueDuringifquotedCueEventTypesis not setrootSystem(graphical (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.segnoMarkCount(non-negative, exact integer)Updated at the end of each time step in which a segno appears: not set during the first time step, 0 up to the first segno, 1 from the first to the second segno, 2 from the second to the third segno, etc.
slurMelismaBusy(boolean)Signal if a slur is present.
stavesFound(list of grobs)A list of all staff-symbols found.
stringFretFingerList(list)A list containing three entries. In
TabVoiceandFretBoardsthey determine the string, fret and finger to usesubmeasureBarsEnabled(boolean)Whether to insert submeasure bar lines at boundaries specified by
submeasureStructure. They are typically enabled selectively to clarify complex rhythms.tieMelismaBusy(boolean)Signal whether a tie is present.
voltaBracketMusicalLength(non-negative moment with no grace part)The maximum musical length of a
VoltaBracketwhen itsmusical-lengthproperty is not set.This property is deprecated; overriding the
musical-lengthproperty ofVoltaBracketis recommended.
| [ << 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 ¶
An accidental. Horizontal
padding and configuration between accidentals is controlled
by the AccidentalPlacement grob.
Accidental objects are created by the following engraver(s): Accidental_engraver.
Standard settings:
after-line-breaking(boolean):
ly:accidental-interface::remove-tiedDummy property, used to trigger callback for
after-line-breaking.alteration(number):
accidental-interface::calc-alterationAlteration numbers for accidental.
avoid-slur(symbol):
'insideMethod of handling slur collisions. Choices are
inside,outside,around, andignore.insideadjusts the slur if needed to keep the grob inside the slur.outsidemoves the grob vertically to the outside of the slur.aroundmoves the grob vertically to the outside of the slur only if there is a collision.ignoredoes not move either. In grobs whose notational significance depends on vertical position (such as accidentals, clefs, etc.),outsideandaroundbehave likeignore.extra-spacing-width(pair of numbers): '(-0.2 . 0.0)In the horizontal spacing problem, we pad each item by this amount (by adding the ‘car’ on the left side of the item and adding the ‘cdr’ on the right side of the item). In order to make a grob take up no horizontal space at all, set this to
(+inf.0 . -inf.0).glyph-name(string):
accidental-interface::calc-glyph-nameThe glyph name within the font.
In the context of (span) bar lines or clefs, glyph-name represents a processed form of
glyph, where decisions about line breaking, etc., are already taken.horizontal-skylines(pair of skylines):
#<unpure-pure-container ly:accidental-interface::horizontal-skylines >Two skylines, one to the left and one to the right of this grob.
stencil(stencil):
ly:accidental-interface::printThe symbol to print.
vertical-skylines(pair of skylines):
#<unpure-pure-container ly:grob::vertical-skylines-from-stencil ly:grob::pure-simple-vertical-skylines-from-extents >Two skylines, one above and one below this grob.
X-offset(number):
ly:grob::x-parent-positioningThe horizontal amount that this object is moved relative to its X-parent.
Note that many objects have special positioning considerations, which cause any setting of
X-offsetto be ignored or modified, even though the object supports theself-alignment-interface.Y-extent(pair of numbers):
#<unpure-pure-container ly:accidental-interface::height >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s):
accidental-interface, accidental-switch-interface, font-interface, grob-interface, inline-accidental-interface and item-interface.
This object is of class Item (characterized by item-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < Accidental ] | [ Up: All layout objects ] | [ AccidentalPlacement > ] |
3.1.2 AccidentalCautionary ¶
A cautionary accidental, normally enclosed in parentheses.
AccidentalCautionary objects are created by the following engraver(s): Accidental_engraver.
Standard settings:
after-line-breaking(boolean):
ly:accidental-interface::remove-tiedDummy property, used to trigger callback for
after-line-breaking.alteration(number):
accidental-interface::calc-alterationAlteration numbers for accidental.
avoid-slur(symbol):
'insideMethod of handling slur collisions. Choices are
inside,outside,around, andignore.insideadjusts the slur if needed to keep the grob inside the slur.outsidemoves the grob vertically to the outside of the slur.aroundmoves the grob vertically to the outside of the slur only if there is a collision.ignoredoes not move either. In grobs whose notational significance depends on vertical position (such as accidentals, clefs, etc.),outsideandaroundbehave likeignore.extra-spacing-width(pair of numbers): '(-0.2 . 0.0)In the horizontal spacing problem, we pad each item by this amount (by adding the ‘car’ on the left side of the item and adding the ‘cdr’ on the right side of the item). In order to make a grob take up no horizontal space at all, set this to
(+inf.0 . -inf.0).glyph-name(string):
accidental-interface::calc-glyph-nameThe glyph name within the font.
In the context of (span) bar lines or clefs, glyph-name represents a processed form of
glyph, where decisions about line breaking, etc., are already taken.horizontal-skylines(pair of skylines):
#<unpure-pure-container ly:accidental-interface::horizontal-skylines >Two skylines, one to the left and one to the right of this grob.
parenthesized(boolean):
#tParenthesize this grob.
stencil(stencil):
ly:accidental-interface::printThe symbol to print.
vertical-skylines(pair of skylines):
#<unpure-pure-container ly:grob::vertical-skylines-from-stencil ly:grob::pure-simple-vertical-skylines-from-extents >Two skylines, one above and one below this grob.
X-offset(number):
ly:grob::x-parent-positioningThe horizontal amount that this object is moved relative to its X-parent.
Note that many objects have special positioning considerations, which cause any setting of
X-offsetto be ignored or modified, even though the object supports theself-alignment-interface.Y-extent(pair of numbers):
#<unpure-pure-container ly:accidental-interface::height >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s):
accidental-interface, accidental-switch-interface, font-interface, grob-interface, inline-accidental-interface and item-interface.
This object is of class Item (characterized by item-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < AccidentalCautionary ] | [ Up: All layout objects ] | [ AccidentalSuggestion > ] |
3.1.3 AccidentalPlacement ¶
In groups of Accidental
grobs, this auxiliary grob controls their horizontal padding and
configuration (which ones are placed more to left or to the
right).
AccidentalPlacement objects are created by the following engraver(s): Accidental_engraver and Ambitus_engraver.
Standard settings:
direction(direction):
-1If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.right-padding(dimension, in staff space):
0.15Space to insert on the right side of an object (e.g., between note and its accidentals).
script-priority(number):
-100A key for determining the order of scripts in a stack, by being added to the position of the script in the user input, the sum being the overall priority. Smaller means closer to the head.
X-extent(pair of numbers):
ly:axis-group-interface::widthExtent (size) in the X direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s):
accidental-placement-interface, grob-interface and item-interface.
This object is of class Item (characterized by item-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < AccidentalPlacement ] | [ Up: All layout objects ] | [ Ambitus > ] |
3.1.4 AccidentalSuggestion ¶
An annotational accidental as used in musica ficta. Normally positioned above a note.
AccidentalSuggestion objects are created by the following engraver(s): Accidental_engraver.
Standard settings:
after-line-breaking(boolean):
ly:accidental-interface::remove-tiedDummy property, used to trigger callback for
after-line-breaking.alteration(number):
accidental-interface::calc-alterationAlteration numbers for accidental.
direction(direction):
1If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.font-size(number):
-2The font size, compared to the ‘normal’ size.
0is style-sheet’s normal size,-1is smaller,+1is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. If the context propertyfontSizeis set, its value is added to this before the glyph is printed. Fractional values are allowed.glyph-name(string):
accidental-interface::calc-glyph-nameThe glyph name within the font.
In the context of (span) bar lines or clefs, glyph-name represents a processed form of
glyph, where decisions about line breaking, etc., are already taken.outside-staff-priority(number):
0If set, the grob is positioned outside the staff in such a way as to avoid all collisions. In case of a potential collision, the grob with the smaller
outside-staff-priorityis closer to the staff.parent-alignment-X(number):
0Specify on which point of the parent the object is aligned. The value
-1means aligned on parent’s left edge,0on center, and1right edge, in X direction. Other numerical values may also be specified - the unit is half the parent’s width. If not a number, align on the parent’s reference point. If unset, the value fromself-alignment-Xproperty will be used.script-priority(number):
0A key for determining the order of scripts in a stack, by being added to the position of the script in the user input, the sum being the overall priority. Smaller means closer to the head.
self-alignment-X(number):
0Specify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified - the unit is half the object width. If not a number, align on the object’s reference point.side-axis(number):
1If the value is
X(or equivalently0), the object is placed horizontally next to the other object. If the value isYor1, it is placed vertically.staff-padding(dimension, in staff space):
0.25Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
stencil(stencil):
ly:accidental-interface::printThe symbol to print.
X-offset(number):
ly:self-alignment-interface::aligned-on-x-parentThe horizontal amount that this object is moved relative to its X-parent.
Note that many objects have special positioning considerations, which cause any setting of
X-offsetto be ignored or modified, even though the object supports theself-alignment-interface.Y-extent(pair of numbers):
#<unpure-pure-container ly:accidental-interface::height >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
Y-offset(number):
#<unpure-pure-container ly:side-position-interface::y-aligned-side ly:side-position-interface::pure-y-aligned-side >The vertical amount that this object is moved relative to its Y-parent.
Note that many objects have special positioning considerations, which cause any setting of
Y-offsetto be ignored or modified, even though the object supports theself-alignment-interface.
This object supports the following interface(s):
accidental-interface, accidental-suggestion-interface, accidental-switch-interface, font-interface, grob-interface, item-interface, outside-staff-interface, script-interface, self-alignment-interface and side-position-interface.
This object is of class Item (characterized by item-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < AccidentalSuggestion ] | [ Up: All layout objects ] | [ AmbitusAccidental > ] |
3.1.5 Ambitus ¶
An ambitus, giving the range of
pitches of a voice or instrument. It aligns
AmbitusAccidental, AmbitusLine,
and AmbitusNoteHead horizontally and defines the
horizontal spacing from the ambitus to other items.
Ambitus objects are created by the following engraver(s): Ambitus_engraver.
Standard settings:
axes(list): '(0 1)List of axis numbers. In the case of alignment grobs, this should contain only one number.
break-align-symbol(symbol):
'ambitusThis key is used for aligning, ordering, and spacing breakable items. See break-alignment-interface.
break-visibility(vector): #(#f #f #t)A vector of 3 booleans,
#(end-of-line unbroken begin-of-line).#tmeans visible,#fmeans killed.non-musical(boolean):
#tTrue if the grob belongs to a
NonMusicalPaperColumn.space-alist(alist, with symbols as keys):'((cue-end-clef extra-space . 0.5) (clef extra-space . 1.15) (cue-clef extra-space . 0.5) (key-signature extra-space . 1.15) (optional-material-end-bracket extra-space . 1.0) (optional-material-start-bracket extra-space . 1.0) (signum-repetitionis extra-space . 1.15) (staff-bar extra-space . 1.15) (time-signature extra-space . 1.15) (right-edge extra-space . 0.5) (first-note extra-space . 1.15))An alist that specifies distances from this grob to other breakable items, using the format:
'((break-align-symbol . (spacing-style . space)) (break-align-symbol . (spacing-style . space)) ...)Standard choices for
break-align-symbolare listed in Grobs and their break-align symbols. Additionally, three special break-align symbols available tospace-alistare:
first-noteused when the grob is just left of the first note on a line
next-noteused when the grob is just left of any other note; if not set, the value of
first-notegets usedright-edgeused when the grob is the last item on the line (only compatible with the
extra-spacespacing style)If
space-alistis defined for a grob that gets spaced in a staff, an entry forfirst-notemust be present. If there is nonext-noteentry, the value offirst-noteis used instead.Choices for
spacing-styleare:
extra-spacePut this much space between the two grobs. The space is stretchable and shrinkable when paired with
first-noteornext-note; otherwise it is fixed.minimum-spacePut at least this much space between the left sides of both grobs, without allowing them to collide. The space is stretchable and shrinkable when paired with
first-noteornext-note; otherwise it is fixed. Not compatible withright-edge.fixed-spaceOnly compatible with
first-noteandnext-note. Put this much fixed space between the grob and the note.minimum-fixed-spaceOnly compatible with
first-noteandnext-note. Put at least this much fixed space between the left side of the grob and the left side of the note, without allowing them to collide.semi-fixed-spaceOnly compatible with
first-noteandnext-note. Put this much space between the grob and the note, such that half of the space is fixed and half is stretchable and shrinkable.shrink-spaceOnly compatible with
first-noteandnext-note. Put this much space between the two grobs. The space is only shrinkable.semi-shrink-spaceOnly compatible with
first-noteandnext-note. Put this much space between the grob and the note, such that half of the space is fixed and half is shrinkable.Rules for this spacing are much more complicated than this. See [Wanske] page 126–134, [Ross] page 143–147.
X-extent(pair of numbers):
ly:axis-group-interface::widthExtent (size) in the X direction, measured in staff-space units, relative to object’s reference point.
Y-extent(pair of numbers):
#<unpure-pure-container ly:axis-group-interface::height ly:axis-group-interface::pure-height >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s):
ambitus-interface, axis-group-interface, break-aligned-interface, grob-interface and item-interface.
This object is of class Item (characterized by item-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < Ambitus ] | [ Up: All layout objects ] | [ AmbitusLine > ] |
3.1.6 AmbitusAccidental ¶
An accidental in an
Ambitus.
AmbitusAccidental objects are created by the following engraver(s): Ambitus_engraver.
Standard settings:
glyph-name(string):
accidental-interface::calc-glyph-nameThe glyph name within the font.
In the context of (span) bar lines or clefs, glyph-name represents a processed form of
glyph, where decisions about line breaking, etc., are already taken.stencil(stencil):
ly:accidental-interface::printThe symbol to print.
X-offset(number):
ly:grob::x-parent-positioningThe horizontal amount that this object is moved relative to its X-parent.
Note that many objects have special positioning considerations, which cause any setting of
X-offsetto be ignored or modified, even though the object supports theself-alignment-interface.Y-extent(pair of numbers):
#<unpure-pure-container ly:accidental-interface::height >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s):
accidental-interface, accidental-switch-interface, break-aligned-interface, font-interface, grob-interface and item-interface.
This object is of class Item (characterized by item-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < AmbitusAccidental ] | [ Up: All layout objects ] | [ AmbitusNoteHead > ] |
3.1.7 AmbitusLine ¶
The vertical line in an
Ambitus.
AmbitusLine objects are created by the following engraver(s): Ambitus_engraver.
Standard settings:
gap(dimension, in staff space):
ambitus-line::calc-gapSize of a gap in a variable symbol.
length-fraction(number):
0.7Multiplier for lengths. Used for determining ledger lines and stem lengths.
maximum-gap(number):
0.45Maximum value allowed for
gapproperty.stencil(stencil):
ambitus::printThe symbol to print.
thickness(number):
2For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e., the visual output is influenced by changes to
Staff.StaffSymbol.thickness).X-offset(number):
ly:self-alignment-interface::centered-on-x-parentThe horizontal amount that this object is moved relative to its X-parent.
Note that many objects have special positioning considerations, which cause any setting of
X-offsetto be ignored or modified, even though the object supports theself-alignment-interface.
This object supports the following interface(s):
ambitus-interface, font-interface, grob-interface and item-interface.
This object is of class Item (characterized by item-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < AmbitusLine ] | [ Up: All layout objects ] | [ ApproximatePitchNoteHead > ] |
3.1.8 AmbitusNoteHead ¶
A note head in an
Ambitus.
AmbitusNoteHead objects are created by the following engraver(s): Ambitus_engraver.
Standard settings:
duration-log(integer):
2The 2-log of the note head duration, i.e.,
0= whole note,1= half note, etc.glyph-name(string):
note-head::get-glyph-nameThe glyph name within the font.
In the context of (span) bar lines or clefs, glyph-name represents a processed form of
glyph, where decisions about line breaking, etc., are already taken.ignore-ambitus(boolean):
#tIf set, don’t consider this note head for ambitus calculation.
stencil(stencil):
ly:note-head::printThe symbol to print.
style(symbol):
'defaultThis setting determines in what style a grob is typeset. Valid choices depend on the
stencilcallback reading this property.Y-extent(pair of numbers):
#<unpure-pure-container ly:grob::stencil-height >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
Y-offset(number):
#<unpure-pure-container ly:staff-symbol-referencer::callback >The vertical amount that this object is moved relative to its Y-parent.
Note that many objects have special positioning considerations, which cause any setting of
Y-offsetto be ignored or modified, even though the object supports theself-alignment-interface.
This object supports the following interface(s):
ambitus-interface, font-interface, grob-interface, item-interface, ledgered-interface, note-head-interface and staff-symbol-referencer-interface.
This object is of class Item (characterized by item-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < AmbitusNoteHead ] | [ Up: All layout objects ] | [ Arpeggio > ] |
3.1.9 ApproximatePitchNoteHead ¶
A note head for a pitch that cannot be notated
with certainty. See also NoteHead.
ApproximatePitchNoteHead objects are created by the following engraver(s): Note_heads_engraver.
Standard settings:
bend-me(boolean):
'()Decide whether this grob is bent.
direction(direction):
approximate-pitch-note-head::calc-directionIf
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.duration-log(integer):
note-head::calc-duration-logThe 2-log of the note head duration, i.e.,
0= whole note,1= half note, etc.extra-spacing-height(pair of numbers):
ly:note-head::include-ledger-line-heightIn the horizontal spacing problem, we increase the height of each item by this amount (by adding the ‘car’ to the bottom of the item and adding the ‘cdr’ to the top of the item). In order to make a grob infinitely high (to prevent the horizontal spacing problem from placing any other grobs above or below this grob), set this to
(-inf.0 . +inf.0).glyph-name(string):
note-head::get-glyph-nameThe glyph name within the font.
In the context of (span) bar lines or clefs, glyph-name represents a processed form of
glyph, where decisions about line breaking, etc., are already taken.no-ledgers(boolean):
#tIf set, don’t draw ledger lines on this object.
parenthesis-friends(list): '(accidental-grob dot)A list of Grob types, as symbols. When parentheses enclose a Grob that has ’parenthesis-friends, the parentheses widen to include any child Grobs with type among ’parenthesis-friends.
stem-attachment(pair of numbers):
ly:note-head::calc-stem-attachmentAn
(x . y)pair where the stem attaches to the note head. Each component is measured in a -1 to 1 scale so that -1 is the left/bottom edge of the note’s bounding box and 1 is the right/top edge.stencil(stencil):
ly:note-head::printThe symbol to print.
style(symbol):
'arrowThis setting determines in what style a grob is typeset. Valid choices depend on the
stencilcallback reading this property.X-offset(number):
ly:note-head::stem-x-shiftThe horizontal amount that this object is moved relative to its X-parent.
Note that many objects have special positioning considerations, which cause any setting of
X-offsetto be ignored or modified, even though the object supports theself-alignment-interface.Y-extent(pair of numbers):
#<unpure-pure-container ly:grob::stencil-height >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
Y-offset(number):
#<unpure-pure-container ly:staff-symbol-referencer::callback >The vertical amount that this object is moved relative to its Y-parent.
Note that many objects have special positioning considerations, which cause any setting of
Y-offsetto be ignored or modified, even though the object supports theself-alignment-interface.
Remarks:
- An example is the highest note the singer can sing. The notated pitch shows the rough expectation. By default, this head is triangular and has no ledger lines.
This object supports the following interface(s):
accidental-participating-head-interface, bend-interface, font-interface, gregorian-ligature-interface, grob-interface, item-interface, ledgered-interface, ligature-head-interface, mensural-ligature-interface, note-head-interface, rhythmic-grob-interface, rhythmic-head-interface, staff-symbol-referencer-interface and vaticana-ligature-interface.
This object is of class Item (characterized by item-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < ApproximatePitchNoteHead ] | [ Up: All layout objects ] | [ BalloonText > ] |
3.1.10 Arpeggio ¶
An arpeggio line (normally a
vertical wiggle). See also ChordBracket and ChordSlur.
Arpeggio objects are created by the following engraver(s): Arpeggio_engraver and Span_arpeggio_engraver.
Standard settings:
direction(direction):
-1If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.line-thickness(number):
1For slurs and ties, this is the diameter of the virtual “pen” that draws the two arcs of the curve’s outline, which intersect at the endpoints. This property is expressed as a multiple of the current staff-line thickness (i.e., the visual output is influenced by changes to
Staff.StaffSymbol.thickness).padding(dimension, in staff space):
0.5Add this much extra space between objects that are next to each other.
positions(pair of numbers):
ly:arpeggio::calc-positionsPair of staff coordinates
(start . end), where start and end are vertical positions instaff-spaceunits of the current staff. For slurs, this value selects which slur candidate to use; if extreme positions are requested, the closest one is taken.protrusion(number):
0.4In a bracket indicating non-arpeggio or optional material, the length of the horizontal edges.
script-priority(number):
0A key for determining the order of scripts in a stack, by being added to the position of the script in the user input, the sum being the overall priority. Smaller means closer to the head.
side-axis(number):
0If the value is
X(or equivalently0), the object is placed horizontally next to the other object. If the value isYor1, it is placed vertically.staff-position(number):
0.0Vertical position, measured in half staff spaces, counted from the middle line.
For ties, there is a distinction between exact and inexact values: an exact value serves as a rough vertical offset that gets further tuned to make the tie avoid staff lines. An inexact value is taken as the precise vertical offset without further adjustments.
stencil(stencil):
ly:arpeggio::printThe symbol to print.
thickness(number):
1For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e., the visual output is influenced by changes to
Staff.StaffSymbol.thickness).X-extent(pair of numbers):
ly:arpeggio::widthExtent (size) in the X direction, measured in staff-space units, relative to object’s reference point.
X-offset(number):
ly:side-position-interface::x-aligned-sideThe horizontal amount that this object is moved relative to its X-parent.
Note that many objects have special positioning considerations, which cause any setting of
X-offsetto be ignored or modified, even though the object supports theself-alignment-interface.Y-extent(pair of numbers):
#<unpure-pure-container ly:grob::stencil-height ly:arpeggio::pure-height >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
Y-offset(number):
#<unpure-pure-container ly:staff-symbol-referencer::callback >The vertical amount that this object is moved relative to its Y-parent.
Note that many objects have special positioning considerations, which cause any setting of
Y-offsetto be ignored or modified, even though the object supports theself-alignment-interface.
This object supports the following interface(s):
arpeggio-interface, font-interface, grob-interface, item-interface, side-position-interface and staff-symbol-referencer-interface.
This object is of class Item (characterized by item-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < Arpeggio ] | [ Up: All layout objects ] | [ BarLine > ] |
3.1.11 BalloonText ¶
A balloon text with a pointing line to visually mark and annotate another grob.
BalloonText objects are created by the following engraver(s): Balloon_engraver.
Standard settings:
after-line-breaking(boolean):
ly:balloon-interface::remove-irrelevant-spannerDummy property, used to trigger callback for
after-line-breaking.annotation-balloon(boolean):
#tPrint the balloon around an annotation.
annotation-line(boolean):
#tPrint the line from an annotation to the grob that it annotates.
break-visibility(vector):
#<procedure at lily/output-lib.scm:3609:0 (grob)>A vector of 3 booleans,
#(end-of-line unbroken begin-of-line).#tmeans visible,#fmeans killed.extra-spacing-width(pair of numbers): '(+inf.0 . -inf.0)In the horizontal spacing problem, we pad each item by this amount (by adding the ‘car’ on the left side of the item and adding the ‘cdr’ on the right side of the item). In order to make a grob take up no horizontal space at all, set this to
(+inf.0 . -inf.0).stencil(stencil):
ly:balloon-interface::printThe symbol to print.
text(markup):
#<procedure at lily/output-lib.scm:1710:0 (grob)>Text markup. See Formatting text.
thickness(number):
1.0For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e., the visual output is influenced by changes to
Staff.StaffSymbol.thickness).vertical-skylines(pair of skylines):
#<unpure-pure-container ly:grob::vertical-skylines-from-stencil ly:grob::pure-simple-vertical-skylines-from-extents >Two skylines, one above and one below this grob.
X-extent(pair of numbers):
ly:balloon-interface::widthExtent (size) in the X direction, measured in staff-space units, relative to object’s reference point.
X-offset(number):
#<procedure at lily/output-lib.scm:1710:0 (grob)>The horizontal amount that this object is moved relative to its X-parent.
Note that many objects have special positioning considerations, which cause any setting of
X-offsetto be ignored or modified, even though the object supports theself-alignment-interface.Y-extent(pair of numbers):
#<unpure-pure-container ly:grob::stencil-height ly:balloon-interface::pure-height >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
Y-offset(number):
#<procedure at lily/output-lib.scm:1710:0 (grob)>The vertical amount that this object is moved relative to its Y-parent.
Note that many objects have special positioning considerations, which cause any setting of
Y-offsetto be ignored or modified, even though the object supports theself-alignment-interface.
This object supports the following interface(s):
accidental-switch-interface, balloon-interface, font-interface, grob-interface, sticky-grob-interface and text-interface.
This object can be of either of the following classes: Item (characterized by item-interface) or Spanner (characterized by spanner-interface).
It supports the following interfaces conditionally depending on the class: item-interface and spanner-interface.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < BalloonText ] | [ Up: All layout objects ] | [ BarNumber > ] |
3.1.12 BarLine ¶
A bar line.
BarLine objects are created by the following engraver(s): Bar_engraver.
Standard settings:
allow-span-bar(boolean):
#tIf false, no inter-staff bar line will be created below this bar line.
bar-extent(pair of numbers):
ly:bar-line::calc-bar-extentThe Y-extent of the actual bar line. This may differ from
Y-extentbecause it does not include the dots in a repeat bar line.break-align-anchor(number):
ly:bar-line::calc-anchorGrobs aligned to this breakable item will have their X-offsets shifted by this number. In bar lines, for example, this is used to position grobs relative to the (visual) center of the bar line.
break-align-symbol(symbol):
'staff-barThis key is used for aligning, ordering, and spacing breakable items. See break-alignment-interface.
break-visibility(vector):
bar-line::calc-break-visibilityA vector of 3 booleans,
#(end-of-line unbroken begin-of-line).#tmeans visible,#fmeans killed.extra-spacing-height(pair of numbers):
pure-from-neighbor-interface::account-for-span-barIn the horizontal spacing problem, we increase the height of each item by this amount (by adding the ‘car’ to the bottom of the item and adding the ‘cdr’ to the top of the item). In order to make a grob infinitely high (to prevent the horizontal spacing problem from placing any other grobs above or below this grob), set this to
(-inf.0 . +inf.0).gap(dimension, in staff space):
0.4Size of a gap in a variable symbol.
glyph(string):
"|"A string determining what ‘style’ of glyph is typeset. Valid choices depend on the function that is reading this property.
In combination with (span) bar lines, it is a string resembling the bar line appearance in ASCII form.
glyph-left(string):
#<procedure at lily/output-lib.scm:1821:0 (grob)>The
glyphvalue to use at the end of the line when the line is broken.#findicates that no glyph should be visible; otherwise the value must be a string.glyph-name(string):
bar-line::calc-glyph-nameThe glyph name within the font.
In the context of (span) bar lines or clefs, glyph-name represents a processed form of
glyph, where decisions about line breaking, etc., are already taken.glyph-right(string):
#fThe
glyphvalue to use at the beginning of the line when the line is broken.#findicates that no glyph should be visible; otherwise the value must be a string.hair-thickness(number):
1.9Thickness of the thin line in a bar line, expressed as a multiple of the default staff-line thickness (i.e., the visual output is not influenced by changes to
Staff.StaffSymbol.thickness).horizontal-skylines(pair of skylines):
#<unpure-pure-container ly:grob::horizontal-skylines-from-stencil >Two skylines, one to the left and one to the right of this grob.
kern(dimension, in staff space):
3.0The space between individual elements in any compound bar line, expressed as a multiple of the default staff-line thickness (i.e., the visual output is not influenced by changes to
Staff.StaffSymbol.thickness).layer(integer):
0An integer which determines the order of printing objects. Objects with the lowest value of layer are drawn first, then objects with progressively higher values are drawn, so objects with higher values overwrite objects with lower values. By default most objects are assigned a layer value of 1.
non-musical(boolean):
#tTrue if the grob belongs to a
NonMusicalPaperColumn.right-justified(boolean):
#fUsed for
BarLines to right-align them. Usually the extent of aBarLinehas some positive value to the right. If this property is set to#t,BarLine.stencilis translated to the left by this value. Needs to be set atScoreorStaffGrouplevel. As a result allBarLines of saidScoreorStaffGroupare right-justified.rounded(boolean):
#fDecide whether lines should be drawn rounded or not.
segno-kern(number):
3.0The space between the two thin lines of the segno bar line symbol, expressed as a multiple of the default staff-line thickness (i.e., the visual output is not influenced by changes to
Staff.StaffSymbol.thickness).short-bar-extent(pair of numbers):
ly:bar-line::calc-short-bar-extentThe Y-extent of a short bar line. The default is half the normal bar extent, rounded up to an integer number of staff spaces.
space-alist(alist, with symbols as keys):'((ambitus extra-space . 1.0) (time-signature extra-space . 0.75) (custos minimum-space . 2.0) (clef extra-space . 1.0) (key-signature extra-space . 1.0) (key-cancellation extra-space . 1.0) (optional-material-end-bracket extra-space . 1.0) (optional-material-start-bracket extra-space . 1.0) (first-note semi-shrink-space . 1.3) (next-note semi-fixed-space . 0.9) (right-edge extra-space . 0.0))An alist that specifies distances from this grob to other breakable items, using the format:
'((break-align-symbol . (spacing-style . space)) (break-align-symbol . (spacing-style . space)) ...)Standard choices for
break-align-symbolare listed in Grobs and their break-align symbols. Additionally, three special break-align symbols available tospace-alistare:
first-noteused when the grob is just left of the first note on a line
next-noteused when the grob is just left of any other note; if not set, the value of
first-notegets usedright-edgeused when the grob is the last item on the line (only compatible with the
extra-spacespacing style)If
space-alistis defined for a grob that gets spaced in a staff, an entry forfirst-notemust be present. If there is nonext-noteentry, the value offirst-noteis used instead.Choices for
spacing-styleare:
extra-spacePut this much space between the two grobs. The space is stretchable and shrinkable when paired with
first-noteornext-note; otherwise it is fixed.minimum-spacePut at least this much space between the left sides of both grobs, without allowing them to collide. The space is stretchable and shrinkable when paired with
first-noteornext-note; otherwise it is fixed. Not compatible withright-edge.fixed-spaceOnly compatible with
first-noteandnext-note. Put this much fixed space between the grob and the note.minimum-fixed-spaceOnly compatible with
first-noteandnext-note. Put at least this much fixed space between the left side of the grob and the left side of the note, without allowing them to collide.semi-fixed-spaceOnly compatible with
first-noteandnext-note. Put this much space between the grob and the note, such that half of the space is fixed and half is stretchable and shrinkable.shrink-spaceOnly compatible with
first-noteandnext-note. Put this much space between the two grobs. The space is only shrinkable.semi-shrink-spaceOnly compatible with
first-noteandnext-note. Put this much space between the grob and the note, such that half of the space is fixed and half is shrinkable.Rules for this spacing are much more complicated than this. See [Wanske] page 126–134, [Ross] page 143–147.
stencil(stencil):
ly:bar-line::printThe symbol to print.
thick-thickness(number):
6.0Thickness of the thick line in a bar line, expressed as a multiple of the default staff-line thickness (i.e., the visual output is not influenced by changes to
Staff.StaffSymbol.thickness).Y-extent(pair of numbers):
#<unpure-pure-container ly:grob::stencil-height >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s):
bar-line-interface, break-aligned-interface, font-interface, grob-interface, item-interface and pure-from-neighbor-interface.
This object is of class Item (characterized by item-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < BarLine ] | [ Up: All layout objects ] | [ BassFigure > ] |
3.1.13 BarNumber ¶
An ordinary bar number. Centered
bar numbers are managed separately with CenteredBarNumber
grobs.
BarNumber objects are created by the following engraver(s): Bar_number_engraver.
Standard settings:
after-line-breaking(boolean):
ly:side-position-interface::move-to-extremal-staffDummy property, used to trigger callback for
after-line-breaking.break-align-symbols(list): '(left-edge staff-bar)A list of break-align symbols that determines which breakable items to align this to. If the grob selected by the first symbol in the list is invisible due to
break-visibility, we will align to the next grob (and so on). Choices are listed in Grobs and their break-align symbols.break-visibility(vector): #(#f #f #t)A vector of 3 booleans,
#(end-of-line unbroken begin-of-line).#tmeans visible,#fmeans killed.direction(direction):
1If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.extra-spacing-width(pair of numbers): '(+inf.0 . -inf.0)In the horizontal spacing problem, we pad each item by this amount (by adding the ‘car’ on the left side of the item and adding the ‘cdr’ on the right side of the item). In order to make a grob take up no horizontal space at all, set this to
(+inf.0 . -inf.0).font-size(number):
-2The font size, compared to the ‘normal’ size.
0is style-sheet’s normal size,-1is smaller,+1is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. If the context propertyfontSizeis set, its value is added to this before the glyph is printed. Fractional values are allowed.horizon-padding(number):
0.05The amount to pad the axis along which a
Skylineis built for theside-position-interface.non-musical(boolean):
#tTrue if the grob belongs to a
NonMusicalPaperColumn.outside-staff-priority(number):
100If set, the grob is positioned outside the staff in such a way as to avoid all collisions. In case of a potential collision, the grob with the smaller
outside-staff-priorityis closer to the staff.padding(dimension, in staff space):
1.0Add this much extra space between objects that are next to each other.
self-alignment-X(number):
#<procedure at lily/output-lib.scm:509:2 (grob)>Specify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified - the unit is half the object width. If not a number, align on the object’s reference point.side-axis(number):
1If the value is
X(or equivalently0), the object is placed horizontally next to the other object. If the value isYor1, it is placed vertically.stencil(stencil):
ly:text-interface::printThe symbol to print.
X-offset(number):
self-alignment-interface::self-aligned-on-breakableThe horizontal amount that this object is moved relative to its X-parent.
Note that many objects have special positioning considerations, which cause any setting of
X-offsetto be ignored or modified, even though the object supports theself-alignment-interface.Y-extent(pair of numbers):
#<unpure-pure-container ly:grob::stencil-height >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
Y-offset(number):
#<unpure-pure-container ly:side-position-interface::y-aligned-side ly:side-position-interface::pure-y-aligned-side >The vertical amount that this object is moved relative to its Y-parent.
Note that many objects have special positioning considerations, which cause any setting of
Y-offsetto be ignored or modified, even though the object supports theself-alignment-interface.
This object supports the following interface(s):
bar-number-interface, break-alignable-interface, font-interface, grob-interface, item-interface, outside-staff-interface, self-alignment-interface, side-position-interface and text-interface.
This object is of class Item (characterized by item-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < BarNumber ] | [ Up: All layout objects ] | [ BassFigureAlignment > ] |
3.1.14 BassFigure ¶
A number in figured bass. It can contain an alteration as well.
BassFigure objects are created by the following engraver(s): Figured_bass_engraver.
Standard settings:
font-features(list):'("tnum" "cv47" "ss01")Opentype features.
stencil(stencil):
ly:text-interface::printThe symbol to print.
Y-extent(pair of numbers):
#<unpure-pure-container ly:grob::stencil-height >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s):
accidental-switch-interface, bass-figure-interface, font-interface, grob-interface, item-interface, rhythmic-grob-interface and text-interface.
This object is of class Item (characterized by item-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < BassFigure ] | [ Up: All layout objects ] | [ BassFigureAlignmentPositioning > ] |
3.1.15 BassFigureAlignment ¶
An auxiliary grob to stack
several BassFigureLine grobs vertically.
BassFigureAlignment objects are created by the following engraver(s): Figured_bass_engraver.
Standard settings:
axes(list): '(1)List of axis numbers. In the case of alignment grobs, this should contain only one number.
padding(dimension, in staff space):
-inf.0Add this much extra space between objects that are next to each other.
stacking-dir(direction):
-1Stack objects in which direction?
vertical-skylines(pair of skylines):
ly:axis-group-interface::calc-skylinesTwo skylines, one above and one below this grob.
X-extent(pair of numbers):
ly:axis-group-interface::widthExtent (size) in the X direction, measured in staff-space units, relative to object’s reference point.
Y-extent(pair of numbers):
#<unpure-pure-container ly:axis-group-interface::height ly:axis-group-interface::pure-height >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s):
align-interface, axis-group-interface, bass-figure-alignment-interface, grob-interface and spanner-interface.
This object is of class Spanner (characterized by spanner-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < BassFigureAlignment ] | [ Up: All layout objects ] | [ BassFigureBracket > ] |
3.1.16 BassFigureAlignmentPositioning ¶
If figured bass is used in the
Staff context, this auxiliary grob groups all of the
figured bass notation and computes an offset from the staff via
side-positioning.
BassFigureAlignmentPositioning objects are created by the following engraver(s): Figured_bass_position_engraver.
Standard settings:
add-stem-support(boolean):
#tIf set, the
Stemobject is included in this script’s support.axes(list): '(1)List of axis numbers. In the case of alignment grobs, this should contain only one number.
direction(direction):
1If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.outside-staff-priority(number):
25If set, the grob is positioned outside the staff in such a way as to avoid all collisions. In case of a potential collision, the grob with the smaller
outside-staff-priorityis closer to the staff.padding(dimension, in staff space):
0.5Add this much extra space between objects that are next to each other.
side-axis(number):
1If the value is
X(or equivalently0), the object is placed horizontally next to the other object. If the value isYor1, it is placed vertically.staff-padding(dimension, in staff space):
1.0Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
X-extent(pair of numbers):
ly:axis-group-interface::widthExtent (size) in the X direction, measured in staff-space units, relative to object’s reference point.
Y-extent(pair of numbers):
#<unpure-pure-container ly:axis-group-interface::height ly:axis-group-interface::pure-height >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
Y-offset(number):
#<unpure-pure-container ly:side-position-interface::y-aligned-side ly:side-position-interface::pure-y-aligned-side >The vertical amount that this object is moved relative to its Y-parent.
Note that many objects have special positioning considerations, which cause any setting of
Y-offsetto be ignored or modified, even though the object supports theself-alignment-interface.
This object supports the following interface(s):
axis-group-interface, grob-interface, outside-staff-interface, side-position-interface and spanner-interface.
This object is of class Spanner (characterized by spanner-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < BassFigureAlignmentPositioning ] | [ Up: All layout objects ] | [ BassFigureContinuation > ] |
3.1.17 BassFigureBracket ¶
Brackets around a figured bass (or elements of it).
BassFigureBracket objects are created by the following engraver(s): Figured_bass_engraver.
Standard settings:
edge-height(pair): '(0.2 . 0.2)A pair of numbers specifying the heights of the vertical edges:
(left-height . right-height).stencil(stencil):
ly:enclosing-bracket::printThe symbol to print.
X-extent(pair of numbers):
ly:enclosing-bracket::widthExtent (size) in the X direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s):
enclosing-bracket-interface, grob-interface and item-interface.
This object is of class Item (characterized by item-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < BassFigureBracket ] | [ Up: All layout objects ] | [ BassFigureLine > ] |
3.1.18 BassFigureContinuation ¶
A horizontal line to indicate that a number of a previous figured bass is continued in the current figured bass.
BassFigureContinuation objects are created by the following engraver(s): Figured_bass_engraver.
Standard settings:
bound-details(alist, with symbols as keys): '((right (attach-dir . 1) (padding . -0.15)) (right-broken (attach-dir . -1) (padding . 0.5)) (left-broken (attach-dir . 1) (padding . 0.5)) (left (attach-dir . 1) (padding . 0.15)))An alist of properties for determining attachments of spanners to edges.
left-bound-info(alist, with symbols as keys):
ly:horizontal-line-spanner::calc-left-bound-infoAn alist of properties for determining attachments of spanners to edges.
right-bound-info(alist, with symbols as keys):
ly:horizontal-line-spanner::calc-right-bound-infoAn alist of properties for determining attachments of spanners to edges.
stencil(stencil):
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.
Note that many objects have special positioning considerations, which cause any setting of
Y-offsetto be ignored or modified, even though the object supports theself-alignment-interface.
This object supports the following interface(s):
figured-bass-continuation-interface, grob-interface, horizontal-line-spanner-interface and spanner-interface.
This object is of class Spanner (characterized by spanner-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < BassFigureContinuation ] | [ Up: All layout objects ] | [ Beam > ] |
3.1.19 BassFigureLine ¶
An auxiliary grob providing a baseline for bass figures that should be aligned vertically.
BassFigureLine objects are created by the following engraver(s): Figured_bass_engraver.
Standard settings:
axes(list): '(1)List of axis numbers. In the case of alignment grobs, this should contain only one number.
staff-staff-spacing(alist, with symbols as keys): '((minimum-distance . 1.5) (padding . 0.1))When applied to a staff-group’s
StaffGroupergrob, this spacing alist controls the distance between consecutive staves within the staff-group. When applied to a staff’sVerticalAxisGroupgrob, it controls the distance between the staff and the nearest staff below it in the same system, replacing any settings inherited from theStaffGroupergrob of the containing staff-group, if there is one. This property remains in effect even when non-staff lines appear between staves. The alist can contain the following keys:
basic-distance– the vertical distance, measured in staff-spaces, between the reference points of the two items when no collisions would result, and no stretching or compressing is in effect.minimum-distance– the smallest allowable vertical distance, measured in staff-spaces, between the reference points of the two items, when compressing is in effect.padding– the minimum required amount of unobstructed vertical whitespace between the bounding boxes (or skylines) of the two items, measured in staff-spaces.stretchability– a unitless measure of the dimension’s relative propensity to stretch. If zero, the distance will not stretch (unless collisions would result).vertical-skylines(pair of skylines):
ly:axis-group-interface::combine-skylinesTwo skylines, one above and one below this grob.
X-extent(pair of numbers):
ly:axis-group-interface::widthExtent (size) in the X direction, measured in staff-space units, relative to object’s reference point.
Y-extent(pair of numbers):
#<unpure-pure-container ly:axis-group-interface::height ly:axis-group-interface::pure-height >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s):
axis-group-interface, grob-interface, outside-staff-axis-group-interface and spanner-interface.
This object is of class Spanner (characterized by spanner-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < BassFigureLine ] | [ Up: All layout objects ] | [ BendAfter > ] |
3.1.20 Beam ¶
A beam.
Beam objects are created by the following engraver(s): Auto_beam_engraver, Beam_engraver, Chord_tremolo_engraver, Grace_auto_beam_engraver and Grace_beam_engraver.
Standard settings:
accidental-padding(number):
1.0Property used by Beam to avoid accidentals in whole-note tremolos.
auto-knee-gap(dimension, in staff space):
5.5If a gap is found between note heads where a horizontal beam fits and it is larger than this number, make a kneed beam.
beam-thickness(dimension, in staff space):
0.48Beam thickness, measured in
staff-spaceunits.beamed-stem-shorten(list): '(1.0 0.5 0.25)How much to shorten beamed stems, when their direction is forced. It is a list, since the value is different depending on the number of flags and beams.
beaming(pair):
ly:beam::calc-beamingPair of number lists. Each number list specifies which beams to make.
0is the central beam,1is the next beam toward the note, etc. This information is used to determine how to connect the beaming patterns from stem to stem inside a beam.clip-edges(boolean):
#tAllow outward pointing beamlets at the edges of beams?
collision-interfaces(list): '(beam-interface clef-interface clef-modifier-interface flag-interface inline-accidental-interface key-signature-interface note-head-interface stem-interface time-signature-interface)A list of interfaces for which automatic beam-collision resolution is run.
damping(number):
1Amount of beam slope damping.
details(alist, with symbols as keys): '((beam-eps . 0.001) (collision-padding . 0.35) (collision-penalty . 500) (damping-direction-penalty . 800) (hint-direction-penalty . 20) (ideal-slope-factor . 10) (musical-direction-factor . 400) (over-beam-height . 0.75) (region-size . 2) (round-to-zero-slope . 0.02) (secondary-beam-demerit . 10) (slash-slope . 2) (slash-side . -1) (slash-stem-fraction . 0.3) (slash-thickness . 0.1) (slash-X-positions -0.5 . 1) (stem-collision-factor . 0.1) (stem-length-demerit-factor . 5) (stem-length-limit-penalty . 5000))An alist of parameters for detailed grob behavior. See All layout objects for more information on the available parameters and their default values of a particular grob’s
detailsproperty. See Graphical Object Interfaces for documentation of the available parameters. Supporting interfaces can be found at the bottom of a grob’s description section.direction(direction):
ly:beam::calc-directionIf
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.font-size(number):
-6The font size, compared to the ‘normal’ size.
0is style-sheet’s normal size,-1is smaller,+1is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. If the context propertyfontSizeis set, its value is added to this before the glyph is printed. Fractional values are allowed.gap(dimension, in staff space):
0.8Size of a gap in a variable symbol.
knee(boolean):
ly:beam::calc-kneeIs this beam kneed?
minimum-length(dimension, in staff space):
6.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 note heads.neutral-direction(direction):
-1Which direction to take in the center of the staff.
normalized-endpoints(pair):
ly:spanner::calc-normalized-endpointsRepresents left and right placement over the total spanner, where the width of the spanner is normalized between 0 and 1.
positions(pair of numbers):
beam::place-broken-parts-individuallyPair of staff coordinates
(start . end), where start and end are vertical positions 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.springs-and-rods(boolean):
ly:beam::tremolo-springs-and-rodsDummy variable for triggering spacing routines.
stencil(stencil):
ly:beam::printThe symbol to print.
transparent(boolean):
#<procedure at lily/output-lib.scm:1782:0 (grob)>This makes the grob invisible.
vertical-skylines(pair of skylines):
#<unpure-pure-container ly:grob::vertical-skylines-from-stencil ly:grob::pure-simple-vertical-skylines-from-extents >Two skylines, one above and one below this grob.
X-positions(pair of numbers):
ly:beam::calc-x-positionsPair of X staff coordinates of a spanner in the form
(left . right), where both left and right are instaff-spaceunits of the current staff.
This object supports the following interface(s):
beam-interface, grob-interface, spanner-interface, staff-symbol-referencer-interface and unbreakable-spanner-interface.
This object is of class Spanner (characterized by spanner-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < Beam ] | [ Up: All layout objects ] | [ BendSpanner > ] |
3.1.21 BendAfter ¶
A grob for displaying falls and doits.
BendAfter objects are created by the following engraver(s): Bend_engraver.
Standard settings:
minimum-length(dimension, in staff space):
0.5Try to make a spanner at least this long, normally in the horizontal direction. This requires an appropriate callback for the
springs-and-rodsproperty. If added to aTie, this sets the minimum distance between note heads.stencil(stencil):
bend::printThe symbol to print.
thickness(number):
2.0For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e., the visual output is influenced by changes to
Staff.StaffSymbol.thickness).
This object supports the following interface(s):
bend-after-interface, grob-interface and spanner-interface.
This object is of class Spanner (characterized by spanner-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < BendAfter ] | [ Up: All layout objects ] | [ BreakAlignGroup > ] |
3.1.22 BendSpanner ¶
A string bending as used in tablature notation.
BendSpanner objects are created by the following engraver(s): Bend_spanner_engraver.
Standard settings:
avoid-slur(symbol):
'ignoreMethod of handling slur collisions. Choices are
inside,outside,around, andignore.insideadjusts the slur if needed to keep the grob inside the slur.outsidemoves the grob vertically to the outside of the slur.aroundmoves the grob vertically to the outside of the slur only if there is a collision.ignoredoes not move either. In grobs whose notational significance depends on vertical position (such as accidentals, clefs, etc.),outsideandaroundbehave likeignore.baseline-skip(dimension, in staff space):
3Distance between base lines of multiple lines of text.
before-line-breaking(boolean):
bend::target-cautionaryDummy property, used to trigger a callback function.
details(alist, with symbols as keys):'((arrow-stencil . #<procedure bend::arrow-head-stencil (thickness x-y-coords height width dir)>) (bend-amount-strings (quarter . "¼") (half . "½") (three-quarter . "¾") (full . #f)) (bend-arrowhead-height . 1.25) (bend-arrowhead-width . 0.8) (curvature-factor . 0.35) (curve-x-padding-line-end . 0.5) (curve-y-padding-line-end . 1) (dashed-line-settings 0.4 0.4 0) (head-text-break-visibility . #(#f #t #t)) (horizontal-left-padding . 0.1) (successive-level . 1) (target-visibility . #f) (vertical-padding . 0.2) (y-distance-from-tabstaff-to-arrow-tip . 2.75))An alist of parameters for detailed grob behavior. See All layout objects for more information on the available parameters and their default values of a particular grob’s
detailsproperty. See Graphical Object Interfaces for documentation of the available parameters. Supporting interfaces can be found at the bottom of a grob’s description section.direction(direction):
1If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.font-shape(symbol):
'italicSelect the shape of a font. Possible values are
upright,italic,oblique, andslanted(which is the same asoblique).font-size(number):
-2The font size, compared to the ‘normal’ size.
0is style-sheet’s normal size,-1is smaller,+1is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. If the context propertyfontSizeis set, its value is added to this before the glyph is printed. Fractional values are allowed.padding(dimension, in staff space):
0.15Add this much extra space between objects that are next to each other.
side-axis(number):
1If the value is
X(or equivalently0), the object is placed horizontally next to the other object. If the value isYor1, it is placed vertically.spanner-id(index or symbol):
""An identifier to distinguish concurrent spanners.
stencil(stencil):
bend-spanner::printThe symbol to print.
style(symbol):
'()This setting determines in what style a grob is typeset. Valid choices depend on the
stencilcallback reading this property.text(markup):
#fText markup. See Formatting text.
thickness(number):
1For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e., the visual output is influenced by changes to
Staff.StaffSymbol.thickness).vertical-skylines(pair of skylines):
#<unpure-pure-container ly:grob::vertical-skylines-from-stencil ly:grob::pure-simple-vertical-skylines-from-extents >Two skylines, one above and one below this grob.
word-space(dimension, in staff space):
0.6Space to insert between words in texts.
Y-offset(number):
0The vertical amount that this object is moved relative to its Y-parent.
Note that many objects have special positioning considerations, which cause any setting of
Y-offsetto be ignored or modified, even though the object supports theself-alignment-interface.
This object supports the following interface(s):
bend-interface, font-interface, grob-interface, line-spanner-interface, outside-staff-interface, spanner-interface, text-interface and text-script-interface.
This object is of class Spanner (characterized by spanner-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < BendSpanner ] | [ Up: All layout objects ] | [ BreakAlignment > ] |
3.1.23 BreakAlignGroup ¶
An auxiliary grob to group
several breakable items of the same type (clefs, time signatures,
etc.) across staves so that they will be aligned horizontally.
See also BreakAlignment.
BreakAlignGroup objects are created by the following engraver(s): Break_align_engraver.
Standard settings:
axes(list): '(0)List of axis numbers. In the case of alignment grobs, this should contain only one number.
break-align-anchor(number):
ly:break-aligned-interface::calc-average-anchorGrobs aligned to this breakable item will have their X-offsets shifted by this number. In bar lines, for example, this is used to position grobs relative to the (visual) center of the bar line.
break-align-anchor-alignment(number):
ly:break-aligned-interface::calc-joint-anchor-alignmentRead by
ly:break-aligned-interface::calc-extent-aligned-anchorfor aligning an anchor to a grob’s extent.break-visibility(vector):
ly:break-aligned-interface::calc-break-visibilityA vector of 3 booleans,
#(end-of-line unbroken begin-of-line).#tmeans visible,#fmeans killed.X-extent(pair of numbers):
ly:axis-group-interface::widthExtent (size) in the X direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s):
axis-group-interface, break-aligned-interface, grob-interface and item-interface.
This object is of class Item (characterized by item-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < BreakAlignGroup ] | [ Up: All layout objects ] | [ BreathingSign > ] |
3.1.24 BreakAlignment ¶
An auxiliary grob that manages
the horizontal ordering of BreakAlignGroup grobs within a
NonMusicalPaperColumn grob (for example, whether the
time signature follows or precedes a bar line).
BreakAlignment objects are created by the following engraver(s): Break_align_engraver.
Standard settings:
axes(list): '(0)List of axis numbers. In the case of alignment grobs, this should contain only one number.
break-align-orders(vector):#((staff-ellipsis left-edge cue-end-clef ambitus breathing-sign optional-material-end-bracket signum-repetitionis clef cue-clef staff-bar key-cancellation key-signature time-signature optional-material-start-bracket custos) (staff-ellipsis left-edge optional-material-end-bracket cue-end-clef ambitus breathing-sign signum-repetitionis clef cue-clef staff-bar key-cancellation key-signature time-signature optional-material-start-bracket custos) (staff-ellipsis left-edge optional-material-end-bracket ambitus breathing-sign signum-repetitionis clef key-cancellation key-signature time-signature staff-bar cue-clef optional-material-start-bracket custos))This is a vector of 3 lists:
#(end-of-line unbroken start-of-line). Each list contains break-align symbols that specify an order of breakable items (see Grobs and their break-align symbols and break-alignment-interface).For example, this places time signatures before clefs:
\override Score.BreakAlignment.break-align-orders = #(make-vector 3 '(left-edge cue-end-clef ambitus breathing-sign time-signature clef cue-clef staff-bar key-cancellation key-signature custos))The same result can be achieved more conveniently by:
\breakAlignInsert time-signature before clefnon-musical(boolean):
#tTrue if the grob belongs to a
NonMusicalPaperColumn.stacking-dir(direction):
1Stack objects in which direction?
X-extent(pair of numbers):
ly:axis-group-interface::widthExtent (size) in the X direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s):
axis-group-interface, break-alignment-interface, grob-interface and item-interface.
This object is of class Item (characterized by item-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < BreakAlignment ] | [ Up: All layout objects ] | [ CaesuraScript > ] |
3.1.25 BreathingSign ¶
A breathing sign.
BreathingSign objects are created by the following engraver(s): Breathing_sign_engraver and Caesura_engraver.
Standard settings:
break-align-symbol(symbol):
'breathing-signThis key is used for aligning, ordering, and spacing breakable items. See break-alignment-interface.
break-visibility(vector): #(#t #t #f)A vector of 3 booleans,
#(end-of-line unbroken begin-of-line).#tmeans visible,#fmeans killed.direction(direction):
1If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.non-musical(boolean):
#tTrue if the grob belongs to a
NonMusicalPaperColumn.space-alist(alist, with symbols as keys):'((ambitus extra-space . 2.0) (custos minimum-space . 1.0) (key-signature minimum-space . 1.5) (time-signature minimum-space . 1.5) (signum-repetitionis minimum-space . 1.5) (staff-bar minimum-space . 1.5) (clef minimum-space . 2.0) (cue-clef minimum-space . 2.0) (cue-end-clef minimum-space . 2.0) (optional-material-end-bracket extra-space . 1.0) (optional-material-start-bracket extra-space . 1.0) (first-note fixed-space . 1.0) (right-edge extra-space . 0.1))An alist that specifies distances from this grob to other breakable items, using the format:
'((break-align-symbol . (spacing-style . space)) (break-align-symbol . (spacing-style . space)) ...)Standard choices for
break-align-symbolare listed in Grobs and their break-align symbols. Additionally, three special break-align symbols available tospace-alistare:
first-noteused when the grob is just left of the first note on a line
next-noteused when the grob is just left of any other note; if not set, the value of
first-notegets usedright-edgeused when the grob is the last item on the line (only compatible with the
extra-spacespacing style)If
space-alistis defined for a grob that gets spaced in a staff, an entry forfirst-notemust be present. If there is nonext-noteentry, the value offirst-noteis used instead.Choices for
spacing-styleare:
extra-spacePut this much space between the two grobs. The space is stretchable and shrinkable when paired with
first-noteornext-note; otherwise it is fixed.minimum-spacePut at least this much space between the left sides of both grobs, without allowing them to collide. The space is stretchable and shrinkable when paired with
first-noteornext-note; otherwise it is fixed. Not compatible withright-edge.fixed-spaceOnly compatible with
first-noteandnext-note. Put this much fixed space between the grob and the note.minimum-fixed-spaceOnly compatible with
first-noteandnext-note. Put at least this much fixed space between the left side of the grob and the left side of the note, without allowing them to collide.semi-fixed-spaceOnly compatible with
first-noteandnext-note. Put this much space between the grob and the note, such that half of the space is fixed and half is stretchable and shrinkable.shrink-spaceOnly compatible with
first-noteandnext-note. Put this much space between the two grobs. The space is only shrinkable.semi-shrink-spaceOnly compatible with
first-noteandnext-note. Put this much space between the grob and the note, such that half of the space is fixed and half is shrinkable.Rules for this spacing are much more complicated than this. See [Wanske] page 126–134, [Ross] page 143–147.
stencil(stencil):
ly:text-interface::printThe symbol to print.
thickness(number):
1.9For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e., the visual output is influenced by changes to
Staff.StaffSymbol.thickness).Y-extent(pair of numbers):
#<unpure-pure-container ly:grob::stencil-height >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
Y-offset(number):
#<unpure-pure-container ly:breathing-sign::offset-callback >The vertical amount that this object is moved relative to its Y-parent.
Note that many objects have special positioning considerations, which cause any setting of
Y-offsetto be ignored or modified, even though the object supports theself-alignment-interface.
This object supports the following interface(s):
break-aligned-interface, breathing-sign-interface, font-interface, grob-interface, item-interface, outside-staff-interface and text-interface.
This object is of class Item (characterized by item-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < BreathingSign ] | [ Up: All layout objects ] | [ CenteredBarNumber > ] |
3.1.26 CaesuraScript ¶
A script for \caesura, e.g.,
an outside-staff comma or a fermata over a bar line.
CaesuraScript objects are created by the following engraver(s): Caesura_engraver.
Standard settings:
before-line-breaking(boolean):
caesura-script-interface::before-line-breakingDummy property, used to trigger a callback function.
break-visibility(vector): #(#t #t #f)A vector of 3 booleans,
#(end-of-line unbroken begin-of-line).#tmeans visible,#fmeans killed.direction(direction):
ly:script-interface::calc-directionIf
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.font-encoding(symbol):
'fetaMusicThe font encoding is the broadest category for selecting a font. Currently, only LilyPond’s system fonts (Emmentaler) are using this property. Available values are
fetaMusic(Emmentaler),fetaBraces,fetaText(Emmentaler).horizon-padding(number):
0.1The amount to pad the axis along which a
Skylineis built for theside-position-interface.non-musical(boolean):
#tTrue if the grob belongs to a
NonMusicalPaperColumn.self-alignment-X(number):
0Specify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified - the unit is half the object width. If not a number, align on the object’s reference point.side-axis(number):
1If the value is
X(or equivalently0), the object is placed horizontally next to the other object. If the value isYor1, it is placed vertically.slur-padding(number):
0.2Extra distance between slur and script.
staff-padding(dimension, in staff space):
0.25Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
stencil(stencil):
ly:script-interface::printThe symbol to print.
vertical-skylines(pair of skylines):
#<unpure-pure-container ly:grob::vertical-skylines-from-stencil >Two skylines, one above and one below this grob.
X-offset(number):
script-interface::calc-x-offsetThe horizontal amount that this object is moved relative to its X-parent.
Note that many objects have special positioning considerations, which cause any setting of
X-offsetto be ignored or modified, even though the object supports theself-alignment-interface.Y-extent(pair of numbers):
#<unpure-pure-container ly:grob::stencil-height >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
Y-offset(number):
#<unpure-pure-container ly:side-position-interface::y-aligned-side ly:side-position-interface::pure-y-aligned-side >The vertical amount that this object is moved relative to its Y-parent.
Note that many objects have special positioning considerations, which cause any setting of
Y-offsetto be ignored or modified, even though the object supports theself-alignment-interface.
This object supports the following interface(s):
caesura-script-interface, font-interface, grob-interface, item-interface, outside-staff-interface, script-interface, self-alignment-interface and side-position-interface.
This object is of class Item (characterized by item-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < CaesuraScript ] | [ Up: All layout objects ] | [ CenteredBarNumberLineSpanner > ] |
3.1.27 CenteredBarNumber ¶
A centered bar number; see also
CenteredBarNumberLineSpanner. Ordinary bar numbers are
managed with BarNumber grobs.
CenteredBarNumber objects are created by the following engraver(s): Bar_number_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).font-size(number):
0The font size, compared to the ‘normal’ size.
0is style-sheet’s normal size,-1is smaller,+1is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. If the context propertyfontSizeis set, its value is added to this before the glyph is printed. Fractional values are allowed.self-alignment-X(number):
0Specify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified - the unit is half the object width. If not a number, align on the object’s reference point.stencil(stencil):
ly:text-interface::printThe symbol to print.
X-offset(number):
centered-spanner-interface::calc-x-offsetThe horizontal amount that this object is moved relative to its X-parent.
Note that many objects have special positioning considerations, which cause any setting of
X-offsetto be ignored or modified, even though the object supports theself-alignment-interface.
This object supports the following interface(s):
bar-number-interface, centered-bar-number-interface, centered-spanner-interface, font-interface, grob-interface, spanner-interface and text-interface.
This object is of class Spanner (characterized by spanner-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < CenteredBarNumber ] | [ Up: All layout objects ] | [ ChordBracket > ] |
3.1.28 CenteredBarNumberLineSpanner ¶
An auxiliary grob providing a
vertical baseline to align CenteredBarNumber grobs.
CenteredBarNumberLineSpanner objects are created by the following engraver(s): Centered_bar_number_align_engraver.
Standard settings:
after-line-breaking(boolean):
ly:side-position-interface::move-to-extremal-staffDummy property, used to trigger callback for
after-line-breaking.axes(list): '(1)List of axis numbers. In the case of alignment grobs, this should contain only one number.
direction(direction):
1If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.outside-staff-priority(number):
1200If set, the grob is positioned outside the staff in such a way as to avoid all collisions. In case of a potential collision, the grob with the smaller
outside-staff-priorityis closer to the staff.padding(dimension, in staff space):
4Add this much extra space between objects that are next to each other.
side-axis(number):
1If the value is
X(or equivalently0), the object is placed horizontally next to the other object. If the value isYor1, it is placed vertically.vertical-skylines(pair of skylines):
#<unpure-pure-container ly:grob::vertical-skylines-from-element-stencils ly:grob::pure-vertical-skylines-from-element-stencils >Two skylines, one above and one below this grob.
X-extent(pair of numbers):
ly:axis-group-interface::widthExtent (size) in the X direction, measured in staff-space units, relative to object’s reference point.
Y-extent(pair of numbers):
#<unpure-pure-container ly:axis-group-interface::height ly:axis-group-interface::pure-height >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
Y-offset(number):
#<unpure-pure-container ly:side-position-interface::y-aligned-side ly:side-position-interface::pure-y-aligned-side >The vertical amount that this object is moved relative to its Y-parent.
Note that many objects have special positioning considerations, which cause any setting of
Y-offsetto be ignored or modified, even though the object supports theself-alignment-interface.
This object supports the following interface(s):
axis-group-interface, bar-number-interface, centered-bar-number-line-spanner-interface, grob-interface, outside-staff-interface, side-position-interface and spanner-interface.
This object is of class Spanner (characterized by spanner-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < CenteredBarNumberLineSpanner ] | [ Up: All layout objects ] | [ ChordName > ] |
3.1.29 ChordBracket ¶
A non-arpeggiato or non-divisi bracket. See
also Arpeggio and ChordSlur.
ChordBracket objects are created by the following engraver(s): Arpeggio_engraver and Span_arpeggio_engraver.
Standard settings:
direction(direction):
-1If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.line-thickness(number):
1For slurs and ties, this is the diameter of the virtual “pen” that draws the two arcs of the curve’s outline, which intersect at the endpoints. This property is expressed as a multiple of the current staff-line thickness (i.e., the visual output is influenced by changes to
Staff.StaffSymbol.thickness).padding(dimension, in staff space):
0.5Add this much extra space between objects that are next to each other.
positions(pair of numbers):
ly:arpeggio::calc-positionsPair of staff coordinates
(start . end), where start and end are vertical positions instaff-spaceunits of the current staff. For slurs, this value selects which slur candidate to use; if extreme positions are requested, the closest one is taken.protrusion(number):
0.4In a bracket indicating non-arpeggio or optional material, the length of the horizontal edges.
script-priority(number):
0A key for determining the order of scripts in a stack, by being added to the position of the script in the user input, the sum being the overall priority. Smaller means closer to the head.
side-axis(number):
0If the value is
X(or equivalently0), the object is placed horizontally next to the other object. If the value isYor1, it is placed vertically.staff-position(number):
0.0Vertical position, measured in half staff spaces, counted from the middle line.
For ties, there is a distinction between exact and inexact values: an exact value serves as a rough vertical offset that gets further tuned to make the tie avoid staff lines. An inexact value is taken as the precise vertical offset without further adjustments.
stencil(stencil):
ly:chord-bracket::printThe symbol to print.
thickness(number):
1For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e., the visual output is influenced by changes to
Staff.StaffSymbol.thickness).X-extent(pair of numbers):
ly:chord-bracket::widthExtent (size) in the X direction, measured in staff-space units, relative to object’s reference point.
X-offset(number):
ly:side-position-interface::x-aligned-sideThe horizontal amount that this object is moved relative to its X-parent.
Note that many objects have special positioning considerations, which cause any setting of
X-offsetto be ignored or modified, even though the object supports theself-alignment-interface.Y-extent(pair of numbers):
#<unpure-pure-container ly:grob::stencil-height ly:arpeggio::pure-height >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
Y-offset(number):
#<unpure-pure-container ly:staff-symbol-referencer::callback >The vertical amount that this object is moved relative to its Y-parent.
Note that many objects have special positioning considerations, which cause any setting of
Y-offsetto be ignored or modified, even though the object supports theself-alignment-interface.
This object supports the following interface(s):
chord-bracket-interface, font-interface, grob-interface, item-interface, side-position-interface and staff-symbol-referencer-interface.
This object is of class Item (characterized by item-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < ChordBracket ] | [ Up: All layout objects ] | [ ChordSlur > ] |
3.1.30 ChordName ¶
A stand-alone chord name. For chord
names in chord grids, see GridChordName.
ChordName objects are created by the following engraver(s): Chord_name_engraver.
Standard settings:
after-line-breaking(boolean):
ly:chord-name::after-line-breakingDummy property, used to trigger callback for
after-line-breaking.extra-spacing-height(pair of numbers): '(0.2 . -0.2)In the horizontal spacing problem, we increase the height of each item by this amount (by adding the ‘car’ to the bottom of the item and adding the ‘cdr’ to the top of the item). In order to make a grob infinitely high (to prevent the horizontal spacing problem from placing any other grobs above or below this grob), set this to
(-inf.0 . +inf.0).extra-spacing-width(pair of numbers): '(-0.5 . 0.5)In the horizontal spacing problem, we pad each item by this amount (by adding the ‘car’ on the left side of the item and adding the ‘cdr’ on the right side of the item). In order to make a grob take up no horizontal space at all, set this to
(+inf.0 . -inf.0).font-family(symbol):
'sansThe font family is the broadest category for selecting text fonts. Options include
serif,sansandtypewriter.font-size(number):
1.5The font size, compared to the ‘normal’ size.
0is style-sheet’s normal size,-1is smaller,+1is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. If the context propertyfontSizeis set, its value is added to this before the glyph is printed. Fractional values are allowed.stencil(stencil):
ly:text-interface::printThe symbol to print.
word-space(dimension, in staff space):
0.0Space to insert between words in texts.
Y-extent(pair of numbers):
#<unpure-pure-container ly:grob::stencil-height >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s):
accidental-switch-interface, chord-name-interface, font-interface, grob-interface, item-interface, outside-staff-interface, rhythmic-grob-interface and text-interface.
This object is of class Item (characterized by item-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < ChordName ] | [ Up: All layout objects ] | [ ChordSquare > ] |
3.1.31 ChordSlur ¶
A vertical slur. See also Arpeggio and ChordBracket.
ChordSlur objects are created by the following engraver(s): Arpeggio_engraver and Span_arpeggio_engraver.
Standard settings:
direction(direction):
-1If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.line-thickness(number):
1For slurs and ties, this is the diameter of the virtual “pen” that draws the two arcs of the curve’s outline, which intersect at the endpoints. This property is expressed as a multiple of the current staff-line thickness (i.e., the visual output is influenced by changes to
Staff.StaffSymbol.thickness).padding(dimension, in staff space):
0.5Add this much extra space between objects that are next to each other.
positions(pair of numbers):
ly:arpeggio::calc-positionsPair of staff coordinates
(start . end), where start and end are vertical positions instaff-spaceunits of the current staff. For slurs, this value selects which slur candidate to use; if extreme positions are requested, the closest one is taken.protrusion(number):
0.4In a bracket indicating non-arpeggio or optional material, the length of the horizontal edges.
script-priority(number):
0A key for determining the order of scripts in a stack, by being added to the position of the script in the user input, the sum being the overall priority. Smaller means closer to the head.
side-axis(number):
0If the value is
X(or equivalently0), the object is placed horizontally next to the other object. If the value isYor1, it is placed vertically.staff-position(number):
0.0Vertical position, measured in half staff spaces, counted from the middle line.
For ties, there is a distinction between exact and inexact values: an exact value serves as a rough vertical offset that gets further tuned to make the tie avoid staff lines. An inexact value is taken as the precise vertical offset without further adjustments.
stencil(stencil):
ly:chord-slur::printThe symbol to print.
thickness(number):
1For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e., the visual output is influenced by changes to
Staff.StaffSymbol.thickness).X-extent(pair of numbers):
ly:chord-slur::widthExtent (size) in the X direction, measured in staff-space units, relative to object’s reference point.
X-offset(number):
ly:side-position-interface::x-aligned-sideThe horizontal amount that this object is moved relative to its X-parent.
Note that many objects have special positioning considerations, which cause any setting of
X-offsetto be ignored or modified, even though the object supports theself-alignment-interface.Y-extent(pair of numbers):
#<unpure-pure-container ly:grob::stencil-height ly:arpeggio::pure-height >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
Y-offset(number):
#<unpure-pure-container ly:staff-symbol-referencer::callback >The vertical amount that this object is moved relative to its Y-parent.
Note that many objects have special positioning considerations, which cause any setting of
Y-offsetto be ignored or modified, even though the object supports theself-alignment-interface.
This object supports the following interface(s):
chord-slur-interface, font-interface, grob-interface, item-interface, side-position-interface and staff-symbol-referencer-interface.
This object is of class Item (characterized by item-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < ChordSlur ] | [ Up: All layout objects ] | [ Clef > ] |
3.1.32 ChordSquare ¶
In a chord grid, this grob represents one chord
square. It helps place GridChordName grobs, and draws lines to separate
them. Note that this grob only draws the diagonal lines in a square. The borders
of the square are drawn by StaffSymbol and BarLine.
ChordSquare objects are created by the following engraver(s): Chord_square_engraver.
Standard settings:
measure-division-chord-placement-alist(association list (list of pairs)): '(((1) (0 . 0)) ((1/2 1/2) (-0.4 . 0.4) (0.4 . -0.4)) ((1/2 1/4 1/4) (-0.4 . 0.4) (0 . -0.65) (0.63 . 0)) ((1/4 1/4 1/2) (-0.63 . 0) (0 . 0.65) (0.4 . -0.4)) ((1/4 1/4 1/4 1/4) (-0.63 . 0) (0 . 0.7) (0 . -0.65) (0.63 . 0)) ((1/4 3/4) (-0.63 . 0) (0.38 . 0)) ((3/4 1/4) (-0.38 . 0) (0.63 . 0)))An alist mapping measure divisions (see the
measure-divisionproperty) to lists of coordinates (number pairs) applied to the chord names of a chord square. Coordinates are normalized between -1 and 1 within the square.measure-division-lines-alist(association list (list of pairs)): '(((1)) ((1/2 1/2) (-1 -1 1 1)) ((1/2 1/4 1/4) (-1 -1 1 1) (0 0 1 -1)) ((1/4 1/4 1/2) (-1 -1 1 1) (-1 1 0 0)) ((1/4 1/4 1/4 1/4) (-1 -1 1 1) (-1 1 1 -1)) ((1/4 3/4) (-1 -1 0 0) (-1 1 0 0)) ((3/4 1/4) (0 0 1 -1) (0 0 1 1)))An alist mapping measure divisions (see the
measure-divisionproperty) to lists of lines to draw in the square, given as 4-element lists:(x-start y-start x-end y-end).stencil(stencil):
chord-square::printThe symbol to print.
X-extent(pair of numbers):
chord-square::widthExtent (size) in the X direction, measured in staff-space units, relative to object’s reference point.
Y-extent(pair of numbers):
#<unpure-pure-container chord-square::height >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s):
chord-square-interface, grob-interface, line-interface and spanner-interface.
This object is of class Spanner (characterized by spanner-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < ChordSquare ] | [ Up: All layout objects ] | [ ClefModifier > ] |
3.1.33 Clef ¶
A clef. See also
ClefModifier, CueClef, and CueEndClef.
Clef objects are created by the following engraver(s): Clef_engraver.
Standard settings:
avoid-slur(symbol):
'insideMethod of handling slur collisions. Choices are
inside,outside,around, andignore.insideadjusts the slur if needed to keep the grob inside the slur.outsidemoves the grob vertically to the outside of the slur.aroundmoves the grob vertically to the outside of the slur only if there is a collision.ignoredoes not move either. In grobs whose notational significance depends on vertical position (such as accidentals, clefs, etc.),outsideandaroundbehave likeignore.break-align-anchor(number):
ly:break-aligned-interface::calc-extent-aligned-anchorGrobs aligned to this breakable item will have their X-offsets shifted by this number. In bar lines, for example, this is used to position grobs relative to the (visual) center of the bar line.
break-align-anchor-alignment(number):
1Read by
ly:break-aligned-interface::calc-extent-aligned-anchorfor aligning an anchor to a grob’s extent.break-align-symbol(symbol):
'clefThis key is used for aligning, ordering, and spacing breakable items. See break-alignment-interface.
break-visibility(vector): #(#f #f #t)A vector of 3 booleans,
#(end-of-line unbroken begin-of-line).#tmeans visible,#fmeans killed.extra-spacing-height(pair of numbers):
pure-from-neighbor-interface::extra-spacing-height-at-beginning-of-lineIn the horizontal spacing problem, we increase the height of each item by this amount (by adding the ‘car’ to the bottom of the item and adding the ‘cdr’ to the top of the item). In order to make a grob infinitely high (to prevent the horizontal spacing problem from placing any other grobs above or below this grob), set this to
(-inf.0 . +inf.0).glyph-name(string):
ly:clef::calc-glyph-nameThe glyph name within the font.
In the context of (span) bar lines or clefs, glyph-name represents a processed form of
glyph, where decisions about line breaking, etc., are already taken.non-musical(boolean):
#tTrue if the grob belongs to a
NonMusicalPaperColumn.space-alist(alist, with symbols as keys):'((cue-clef extra-space . 2.0) (signum-repetitionis extra-space . 0.7) (staff-bar extra-space . 0.7) (ambitus extra-space . 1.15) (key-cancellation extra-space . 0.82) (key-signature extra-space . 0.82) (time-signature extra-space . 1.52) (optional-material-end-bracket extra-space . 1.0) (optional-material-start-bracket extra-space . 1.0) (first-note minimum-fixed-space . 5.0) (next-note extra-space . 1.0) (right-edge extra-space . 0.5))An alist that specifies distances from this grob to other breakable items, using the format:
'((break-align-symbol . (spacing-style . space)) (break-align-symbol . (spacing-style . space)) ...)Standard choices for
break-align-symbolare listed in Grobs and their break-align symbols. Additionally, three special break-align symbols available tospace-alistare:
first-noteused when the grob is just left of the first note on a line
next-noteused when the grob is just left of any other note; if not set, the value of
first-notegets usedright-edgeused when the grob is the last item on the line (only compatible with the
extra-spacespacing style)If
space-alistis defined for a grob that gets spaced in a staff, an entry forfirst-notemust be present. If there is nonext-noteentry, the value offirst-noteis used instead.Choices for
spacing-styleare:
extra-spacePut this much space between the two grobs. The space is stretchable and shrinkable when paired with
first-noteornext-note; otherwise it is fixed.minimum-spacePut at least this much space between the left sides of both grobs, without allowing them to collide. The space is stretchable and shrinkable when paired with
first-noteornext-note; otherwise it is fixed. Not compatible withright-edge.fixed-spaceOnly compatible with
first-noteandnext-note. Put this much fixed space between the grob and the note.minimum-fixed-spaceOnly compatible with
first-noteandnext-note. Put at least this much fixed space between the left side of the grob and the left side of the note, without allowing them to collide.semi-fixed-spaceOnly compatible with
first-noteandnext-note. Put this much space between the grob and the note, such that half of the space is fixed and half is stretchable and shrinkable.shrink-spaceOnly compatible with
first-noteandnext-note. Put this much space between the two grobs. The space is only shrinkable.semi-shrink-spaceOnly compatible with
first-noteandnext-note. Put this much space between the grob and the note, such that half of the space is fixed and half is shrinkable.Rules for this spacing are much more complicated than this. See [Wanske] page 126–134, [Ross] page 143–147.
stencil(stencil):
ly:clef::printThe symbol to print.
vertical-skylines(pair of skylines):
#<unpure-pure-container ly:grob::vertical-skylines-from-stencil >Two skylines, one above and one below this grob.
Y-extent(pair of numbers):
#<unpure-pure-container ly:grob::stencil-height >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
Y-offset(number):
#<unpure-pure-container ly:staff-symbol-referencer::callback >The vertical amount that this object is moved relative to its Y-parent.
Note that many objects have special positioning considerations, which cause any setting of
Y-offsetto be ignored or modified, even though the object supports theself-alignment-interface.
This object supports the following interface(s):
break-aligned-interface, clef-interface, font-interface, grob-interface, item-interface, pure-from-neighbor-interface and staff-symbol-referencer-interface.
This object is of class Item (characterized by item-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < Clef ] | [ Up: All layout objects ] | [ ClusterSpanner > ] |
3.1.34 ClefModifier ¶
A grob that draws the clef
modifier (if present), in most cases the digit 8 below or
above the clef. See also Clef, CueClef, and
CueEndClef.
ClefModifier objects are created by the following engraver(s): Clef_engraver and Cue_clef_engraver.
Standard settings:
break-visibility(vector):
#<procedure at lily/output-lib.scm:1782:0 (grob)>A vector of 3 booleans,
#(end-of-line unbroken begin-of-line).#tmeans visible,#fmeans killed.clef-alignments(alist, with symbols as keys): '((G -0.2 . 0.1) (F -0.3 . -0.2) (C 0 . 0))An alist of parent-alignments that should be used for clef modifiers with various clefs
color(color):
#<procedure at lily/output-lib.scm:1782:0 (grob)>The color of this grob.
font-shape(symbol):
'italicSelect the shape of a font. Possible values are
upright,italic,oblique, andslanted(which is the same asoblique).font-size(number):
-4The font size, compared to the ‘normal’ size.
0is style-sheet’s normal size,-1is smaller,+1is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. If the context propertyfontSizeis set, its value is added to this before the glyph is printed. Fractional values are allowed.parent-alignment-X(number):
ly:clef-modifier::calc-parent-alignmentSpecify on which point of the parent the object is aligned. The value
-1means aligned on parent’s left edge,0on center, and1right edge, in X direction. Other numerical values may also be specified - the unit is half the parent’s width. If not a number, align on the parent’s reference point. If unset, the value fromself-alignment-Xproperty will be used.self-alignment-X(number):
0Specify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified - the unit is half the object width. If not a number, align on the object’s reference point.staff-padding(dimension, in staff space):
0.7Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
stencil(stencil):
clef-modifier::printThe symbol to print.
transparent(boolean):
#<procedure at lily/output-lib.scm:1782:0 (grob)>This makes the grob invisible.
vertical-skylines(pair of skylines):
#<unpure-pure-container ly:grob::vertical-skylines-from-stencil >Two skylines, one above and one below this grob.
X-offset(number):
ly:self-alignment-interface::aligned-on-x-parentThe horizontal amount that this object is moved relative to its X-parent.
Note that many objects have special positioning considerations, which cause any setting of
X-offsetto be ignored or modified, even though the object supports theself-alignment-interface.Y-extent(pair of numbers):
#<unpure-pure-container ly:grob::stencil-height >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
Y-offset(number):
#<unpure-pure-container ly:side-position-interface::y-aligned-side ly:side-position-interface::pure-y-aligned-side >The vertical amount that this object is moved relative to its Y-parent.
Note that many objects have special positioning considerations, which cause any setting of
Y-offsetto be ignored or modified, even though the object supports theself-alignment-interface.
This object supports the following interface(s):
clef-modifier-interface, font-interface, grob-interface, item-interface, outside-staff-interface, self-alignment-interface, side-position-interface and text-interface.
This object is of class Item (characterized by item-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < ClefModifier ] | [ Up: All layout objects ] | [ ClusterSpannerBeacon > ] |
3.1.35 ClusterSpanner ¶
A cluster spanner. The envelope
shape within the spanner is given by ClusterSpannerBeacon
grobs.
ClusterSpanner objects are created by the following engraver(s): Cluster_spanner_engraver.
Standard settings:
minimum-length(dimension, in staff space):
0.0Try to make a spanner at least this long, normally in the horizontal direction. This requires an appropriate callback for the
springs-and-rodsproperty. If added to aTie, this sets the minimum distance between note heads.padding(dimension, in staff space):
0.25Add this much extra space between objects that are next to each other.
springs-and-rods(boolean):
ly:spanner::set-spacing-rodsDummy variable for triggering spacing routines.
stencil(stencil):
ly:cluster::printThe symbol to print.
style(symbol):
'rampThis setting determines in what style a grob is typeset. Valid choices depend on the
stencilcallback reading this property.
This object supports the following interface(s):
cluster-interface, grob-interface and spanner-interface.
This object is of class Spanner (characterized by spanner-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < ClusterSpanner ] | [ Up: All layout objects ] | [ CodaMark > ] |
3.1.36 ClusterSpannerBeacon ¶
An auxiliary grob to specify the
minimum and maximum pitch of a ClusterSpanner grob at a
given moment.
ClusterSpannerBeacon objects are created by the following engraver(s): Cluster_spanner_engraver.
Standard settings:
Y-extent(pair of numbers):
ly:cluster-beacon::heightExtent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s):
cluster-beacon-interface, grob-interface, item-interface and rhythmic-grob-interface.
This object is of class Item (characterized by item-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < ClusterSpannerBeacon ] | [ Up: All layout objects ] | [ CombineTextScript > ] |
3.1.37 CodaMark ¶
A coda mark.
CodaMark objects are created by the following engraver(s): Mark_engraver.
Standard settings:
after-line-breaking(boolean):
ly:side-position-interface::move-to-extremal-staffDummy property, used to trigger callback for
after-line-breaking.baseline-skip(dimension, in staff space):
2Distance between base lines of multiple lines of text.
break-align-symbols(list): '(staff-bar key-signature clef)A list of break-align symbols that determines which breakable items to align this to. If the grob selected by the first symbol in the list is invisible due to
break-visibility, we will align to the next grob (and so on). Choices are listed in Grobs and their break-align symbols.break-visibility(vector): #(#t #t #f)A vector of 3 booleans,
#(end-of-line unbroken begin-of-line).#tmeans visible,#fmeans killed.direction(direction):
1If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.extra-spacing-width(pair of numbers): '(+inf.0 . -inf.0)In the horizontal spacing problem, we pad each item by this amount (by adding the ‘car’ on the left side of the item and adding the ‘cdr’ on the right side of the item). In order to make a grob take up no horizontal space at all, set this to
(+inf.0 . -inf.0).font-size(number):
2The font size, compared to the ‘normal’ size.
0is style-sheet’s normal size,-1is smaller,+1is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. If the context propertyfontSizeis set, its value is added to this before the glyph is printed. Fractional values are allowed.non-musical(boolean):
#tTrue if the grob belongs to a
NonMusicalPaperColumn.outside-staff-horizontal-padding(number):
0.2By default, an outside-staff-object can be placed so that is it very close to another grob horizontally. If this property is set, the outside-staff-object is raised so that it is not so close to its neighbor.
outside-staff-padding(number):
0.4The padding to place between grobs when spacing according to
outside-staff-priority. Two grobs with differentoutside-staff-paddingvalues have the larger value of padding between them.outside-staff-priority(number):
1400If set, the grob is positioned outside the staff in such a way as to avoid all collisions. In case of a potential collision, the grob with the smaller
outside-staff-priorityis closer to the staff.padding(dimension, in staff space):
0.4Add this much extra space between objects that are next to each other.
self-alignment-X(number):
break-alignable-interface::self-alignment-opposite-of-anchorSpecify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified - the unit is half the object width. If not a number, align on the object’s reference point.stencil(stencil):
ly:text-interface::printThe symbol to print.
vertical-skylines(pair of skylines):
#<unpure-pure-container ly:grob::vertical-skylines-from-stencil >Two skylines, one above and one below this grob.
X-offset(number):
self-alignment-interface::self-aligned-on-breakableThe horizontal amount that this object is moved relative to its X-parent.
Note that many objects have special positioning considerations, which cause any setting of
X-offsetto be ignored or modified, even though the object supports theself-alignment-interface.Y-extent(pair of numbers):
#<unpure-pure-container ly:grob::stencil-height >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
Y-offset(number):
#<unpure-pure-container ly:side-position-interface::y-aligned-side ly:side-position-interface::pure-y-aligned-side >The vertical amount that this object is moved relative to its Y-parent.
Note that many objects have special positioning considerations, which cause any setting of
Y-offsetto be ignored or modified, even though the object supports theself-alignment-interface.
This object supports the following interface(s):
break-alignable-interface, coda-mark-interface, font-interface, grob-interface, item-interface, mark-interface, outside-staff-interface, self-alignment-interface, side-position-interface and text-interface.
This object is of class Item (characterized by item-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < CodaMark ] | [ Up: All layout objects ] | [ ControlPoint > ] |
3.1.38 CombineTextScript ¶
A grob for printing markup given
in the soloText, soloIIText, and aDueText
properties if automatic part combining is active.
CombineTextScript objects are created by the following engraver(s): Part_combine_engraver.
Standard settings:
avoid-slur(symbol):
'outsideMethod of handling slur collisions. Choices are
inside,outside,around, andignore.insideadjusts the slur if needed to keep the grob inside the slur.outsidemoves the grob vertically to the outside of the slur.aroundmoves the grob vertically to the outside of the slur only if there is a collision.ignoredoes not move either. In grobs whose notational significance depends on vertical position (such as accidentals, clefs, etc.),outsideandaroundbehave likeignore.baseline-skip(dimension, in staff space):
2Distance between base lines of multiple lines of text.
direction(direction):
1If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.extra-spacing-width(pair of numbers): '(+inf.0 . -inf.0)In the horizontal spacing problem, we pad each item by this amount (by adding the ‘car’ on the left side of the item and adding the ‘cdr’ on the right side of the item). In order to make a grob take up no horizontal space at all, set this to
(+inf.0 . -inf.0).font-series(symbol):
'boldSelect the series of a font. Common choices are
normalandbold. The full list of symbols that can be used is:thin,ultralight(orextralight),light,semilight(ordemilight),book,normal(orregular),medium,semibold(ordemibold),bold,ultrabold(orextrabold),heavy(orblack), andultraheavy(orultrablackorextrablack).outside-staff-priority(number):
475If set, the grob is positioned outside the staff in such a way as to avoid all collisions. In case of a potential collision, the grob with the smaller
outside-staff-priorityis closer to the staff.padding(dimension, in staff space):
0.5Add this much extra space between objects that are next to each other.
parent-alignment-X(number):
#fSpecify on which point of the parent the object is aligned. The value
-1means aligned on parent’s left edge,0on center, and1right edge, in X direction. Other numerical values may also be specified - the unit is half the parent’s width. If not a number, align on the parent’s reference point. If unset, the value fromself-alignment-Xproperty will be used.script-priority(number):
200A key for determining the order of scripts in a stack, by being added to the position of the script in the user input, the sum being the overall priority. Smaller means closer to the head.
self-alignment-X(number):
#fSpecify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified - the unit is half the object width. If not a number, align on the object’s reference point.side-axis(number):
1If the value is
X(or equivalently0), the object is placed horizontally next to the other object. If the value isYor1, it is placed vertically.staff-padding(dimension, in staff space):
0.5Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
stencil(stencil):
ly:text-interface::printThe symbol to print.
X-offset(number):
ly:self-alignment-interface::aligned-on-x-parentThe horizontal amount that this object is moved relative to its X-parent.
Note that many objects have special positioning considerations, which cause any setting of
X-offsetto be ignored or modified, even though the object supports theself-alignment-interface.Y-extent(pair of numbers):
#<unpure-pure-container ly:grob::stencil-height >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
Y-offset(number):
#<unpure-pure-container ly:side-position-interface::y-aligned-side ly:side-position-interface::pure-y-aligned-side >The vertical amount that this object is moved relative to its Y-parent.
Note that many objects have special positioning considerations, which cause any setting of
Y-offsetto be ignored or modified, even though the object supports theself-alignment-interface.
This object supports the following interface(s):
accidental-switch-interface, font-interface, grob-interface, item-interface, outside-staff-interface, self-alignment-interface, side-position-interface, text-interface and text-script-interface.
This object is of class Item (characterized by item-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < CombineTextScript ] | [ Up: All layout objects ] | [ ControlPolygon > ] |
3.1.39 ControlPoint ¶
A visual representation of a Bézier control point in ties and slurs.
ControlPoint objects are created by the following engraver(s): Show_control_points_engraver.
Standard settings:
color(color):
"IndianRed"The color of this grob.
horizontal-skylines(pair of skylines):
#fTwo skylines, one to the left and one to the right of this grob.
layer(integer):
3An integer which determines the order of printing objects. Objects with the lowest value of layer are drawn first, then objects with progressively higher values are drawn, so objects with higher values overwrite objects with lower values. By default most objects are assigned a layer value of 1.
stencil(stencil):
ly:text-interface::printThe symbol to print.
text(markup): '(#<procedure draw-circle-markup (layout props radius thickness filled)> 0.3 0.01 #t)Text markup. See Formatting text.
vertical-skylines(pair of skylines):
#fTwo skylines, one above and one below this grob.
X-extent(pair of numbers):
#fExtent (size) in the X direction, measured in staff-space units, relative to object’s reference point.
X-offset(number):
#<procedure at lily/output-lib.scm:3594:0 (grob)>The horizontal amount that this object is moved relative to its X-parent.
Note that many objects have special positioning considerations, which cause any setting of
X-offsetto be ignored or modified, even though the object supports theself-alignment-interface.Y-extent(pair of numbers):
#fExtent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
Y-offset(number):
#<procedure at lily/output-lib.scm:3594:0 (grob)>The vertical amount that this object is moved relative to its Y-parent.
Note that many objects have special positioning considerations, which cause any setting of
Y-offsetto be ignored or modified, even though the object supports theself-alignment-interface.
This object supports the following interface(s):
control-point-interface, grob-interface, sticky-grob-interface and text-interface.
This object can be of either of the following classes: Item (characterized by item-interface) or Spanner (characterized by spanner-interface).
It supports the following interfaces conditionally depending on the class: item-interface and spanner-interface.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < ControlPoint ] | [ Up: All layout objects ] | [ CueClef > ] |
3.1.40 ControlPolygon ¶
A visual representation of a Bézier control polygon as used in ties and slurs.
ControlPolygon objects are created by the following engraver(s): Show_control_points_engraver.
Standard settings:
color(color):
"BurlyWood"The color of this grob.
extroversion(number):
0.5For polygons, how the thickness of the line is spread on each side of the exact polygon with ideal zero thickness. If this is 0, the middle of line is on the polygon. If 1, the line sticks out of the polygon. If -1, the outer side of the line is exactly on the polygon. Other numeric values are interpolated.
filled(boolean):
#fWhether an object is filled with ink.
horizontal-skylines(pair of skylines):
#fTwo skylines, one to the left and one to the right of this grob.
layer(integer):
2An integer which determines the order of printing objects. Objects with the lowest value of layer are drawn first, then objects with progressively higher values are drawn, so objects with higher values overwrite objects with lower values. By default most objects are assigned a layer value of 1.
stencil(stencil):
ly:text-interface::printThe symbol to print.
text(markup):
control-polygon::calc-textText markup. See Formatting text.
thickness(number):
1.2For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e., the visual output is influenced by changes to
Staff.StaffSymbol.thickness).vertical-skylines(pair of skylines):
#fTwo skylines, one above and one below this grob.
X-extent(pair of numbers):
#fExtent (size) in the X direction, measured in staff-space units, relative to object’s reference point.
Y-extent(pair of numbers):
#fExtent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s):
control-polygon-interface, grob-interface, sticky-grob-interface and text-interface.
This object can be of either of the following classes: Item (characterized by item-interface) or Spanner (characterized by spanner-interface).
It supports the following interfaces conditionally depending on the class: item-interface and spanner-interface.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < ControlPolygon ] | [ Up: All layout objects ] | [ CueEndClef > ] |
3.1.41 CueClef ¶
A clef starting a cue. See also
Clef, ClefModifier, and CueEndClef.
CueClef objects are created by the following engraver(s): Cue_clef_engraver.
Standard settings:
avoid-slur(symbol):
'insideMethod of handling slur collisions. Choices are
inside,outside,around, andignore.insideadjusts the slur if needed to keep the grob inside the slur.outsidemoves the grob vertically to the outside of the slur.aroundmoves the grob vertically to the outside of the slur only if there is a collision.ignoredoes not move either. In grobs whose notational significance depends on vertical position (such as accidentals, clefs, etc.),outsideandaroundbehave likeignore.break-align-anchor(number):
ly:break-aligned-interface::calc-extent-aligned-anchorGrobs aligned to this breakable item will have their X-offsets shifted by this number. In bar lines, for example, this is used to position grobs relative to the (visual) center of the bar line.
break-align-symbol(symbol):
'cue-clefThis key is used for aligning, ordering, and spacing breakable items. See break-alignment-interface.
break-visibility(vector): #(#f #f #t)A vector of 3 booleans,
#(end-of-line unbroken begin-of-line).#tmeans visible,#fmeans killed.extra-spacing-height(pair of numbers):
pure-from-neighbor-interface::extra-spacing-height-at-beginning-of-lineIn the horizontal spacing problem, we increase the height of each item by this amount (by adding the ‘car’ to the bottom of the item and adding the ‘cdr’ to the top of the item). In order to make a grob infinitely high (to prevent the horizontal spacing problem from placing any other grobs above or below this grob), set this to
(-inf.0 . +inf.0).font-size(number):
-4The font size, compared to the ‘normal’ size.
0is style-sheet’s normal size,-1is smaller,+1is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. If the context propertyfontSizeis set, its value is added to this before the glyph is printed. Fractional values are allowed.full-size-change(boolean):
#tDon’t make a change clef smaller.
glyph-name(string):
ly:clef::calc-glyph-nameThe glyph name within the font.
In the context of (span) bar lines or clefs, glyph-name represents a processed form of
glyph, where decisions about line breaking, etc., are already taken.non-musical(boolean):
#tTrue if the grob belongs to a
NonMusicalPaperColumn.space-alist(alist, with symbols as keys):'((signum-repetitionis minimum-space . 2.7) (staff-bar minimum-space . 2.7) (key-cancellation minimum-space . 3.5) (key-signature minimum-space . 3.5) (time-signature minimum-space . 4.2) (custos minimum-space . 0.0) (optional-material-end-bracket extra-space . 1.0) (optional-material-start-bracket extra-space . 1.0) (first-note minimum-fixed-space . 3.0) (next-note extra-space . 1.0) (right-edge extra-space . 0.5))An alist that specifies distances from this grob to other breakable items, using the format:
'((break-align-symbol . (spacing-style . space)) (break-align-symbol . (spacing-style . space)) ...)Standard choices for
break-align-symbolare listed in Grobs and their break-align symbols. Additionally, three special break-align symbols available tospace-alistare:
first-noteused when the grob is just left of the first note on a line
next-noteused when the grob is just left of any other note; if not set, the value of
first-notegets usedright-edgeused when the grob is the last item on the line (only compatible with the
extra-spacespacing style)If
space-alistis defined for a grob that gets spaced in a staff, an entry forfirst-notemust be present. If there is nonext-noteentry, the value offirst-noteis used instead.Choices for
spacing-styleare:
extra-spacePut this much space between the two grobs. The space is stretchable and shrinkable when paired with
first-noteornext-note; otherwise it is fixed.minimum-spacePut at least this much space between the left sides of both grobs, without allowing them to collide. The space is stretchable and shrinkable when paired with
first-noteornext-note; otherwise it is fixed. Not compatible withright-edge.fixed-spaceOnly compatible with
first-noteandnext-note. Put this much fixed space between the grob and the note.minimum-fixed-spaceOnly compatible with
first-noteandnext-note. Put at least this much fixed space between the left side of the grob and the left side of the note, without allowing them to collide.semi-fixed-spaceOnly compatible with
first-noteandnext-note. Put this much space between the grob and the note, such that half of the space is fixed and half is stretchable and shrinkable.shrink-spaceOnly compatible with
first-noteandnext-note. Put this much space between the two grobs. The space is only shrinkable.semi-shrink-spaceOnly compatible with
first-noteandnext-note. Put this much space between the grob and the note, such that half of the space is fixed and half is shrinkable.Rules for this spacing are much more complicated than this. See [Wanske] page 126–134, [Ross] page 143–147.
stencil(stencil):
ly:clef::printThe symbol to print.
vertical-skylines(pair of skylines):
#<unpure-pure-container ly:grob::vertical-skylines-from-stencil >Two skylines, one above and one below this grob.
Y-extent(pair of numbers):
#<unpure-pure-container ly:grob::stencil-height >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
Y-offset(number):
#<unpure-pure-container ly:staff-symbol-referencer::callback >The vertical amount that this object is moved relative to its Y-parent.
Note that many objects have special positioning considerations, which cause any setting of
Y-offsetto be ignored or modified, even though the object supports theself-alignment-interface.
This object supports the following interface(s):
break-aligned-interface, clef-interface, font-interface, grob-interface, item-interface, pure-from-neighbor-interface and staff-symbol-referencer-interface.
This object is of class Item (characterized by item-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < CueClef ] | [ Up: All layout objects ] | [ Custos > ] |
3.1.42 CueEndClef ¶
A clef ending a cue. See also
Clef, ClefModifier, and CueClef.
CueEndClef objects are created by the following engraver(s): Cue_clef_engraver.
Standard settings:
avoid-slur(symbol):
'insideMethod of handling slur collisions. Choices are
inside,outside,around, andignore.insideadjusts the slur if needed to keep the grob inside the slur.outsidemoves the grob vertically to the outside of the slur.aroundmoves the grob vertically to the outside of the slur only if there is a collision.ignoredoes not move either. In grobs whose notational significance depends on vertical position (such as accidentals, clefs, etc.),outsideandaroundbehave likeignore.break-align-anchor(number):
ly:break-aligned-interface::calc-extent-aligned-anchorGrobs aligned to this breakable item will have their X-offsets shifted by this number. In bar lines, for example, this is used to position grobs relative to the (visual) center of the bar line.
break-align-symbol(symbol):
'cue-end-clefThis key is used for aligning, ordering, and spacing breakable items. See break-alignment-interface.
break-visibility(vector): #(#t #t #f)A vector of 3 booleans,
#(end-of-line unbroken begin-of-line).#tmeans visible,#fmeans killed.extra-spacing-height(pair of numbers):
pure-from-neighbor-interface::extra-spacing-height-at-beginning-of-lineIn the horizontal spacing problem, we increase the height of each item by this amount (by adding the ‘car’ to the bottom of the item and adding the ‘cdr’ to the top of the item). In order to make a grob infinitely high (to prevent the horizontal spacing problem from placing any other grobs above or below this grob), set this to
(-inf.0 . +inf.0).font-size(number):
-4The font size, compared to the ‘normal’ size.
0is style-sheet’s normal size,-1is smaller,+1is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. If the context propertyfontSizeis set, its value is added to this before the glyph is printed. Fractional values are allowed.full-size-change(boolean):
#tDon’t make a change clef smaller.
glyph-name(string):
ly:clef::calc-glyph-nameThe glyph name within the font.
In the context of (span) bar lines or clefs, glyph-name represents a processed form of
glyph, where decisions about line breaking, etc., are already taken.non-musical(boolean):
#tTrue if the grob belongs to a
NonMusicalPaperColumn.space-alist(alist, with symbols as keys):'((clef extra-space . 0.7) (cue-clef extra-space . 0.7) (signum-repetitionis extra-space . 0.7) (staff-bar extra-space . 0.7) (key-cancellation minimum-space . 3.5) (key-signature minimum-space . 3.5) (time-signature minimum-space . 4.2) (optional-material-end-bracket extra-space . 1.0) (optional-material-start-bracket extra-space . 1.0) (first-note minimum-fixed-space . 5.0) (next-note extra-space . 1.0) (right-edge extra-space . 0.5))An alist that specifies distances from this grob to other breakable items, using the format:
'((break-align-symbol . (spacing-style . space)) (break-align-symbol . (spacing-style . space)) ...)Standard choices for
break-align-symbolare listed in Grobs and their break-align symbols. Additionally, three special break-align symbols available tospace-alistare:
first-noteused when the grob is just left of the first note on a line
next-noteused when the grob is just left of any other note; if not set, the value of
first-notegets usedright-edgeused when the grob is the last item on the line (only compatible with the
extra-spacespacing style)If
space-alistis defined for a grob that gets spaced in a staff, an entry forfirst-notemust be present. If there is nonext-noteentry, the value offirst-noteis used instead.Choices for
spacing-styleare:
extra-spacePut this much space between the two grobs. The space is stretchable and shrinkable when paired with
first-noteornext-note; otherwise it is fixed.minimum-spacePut at least this much space between the left sides of both grobs, without allowing them to collide. The space is stretchable and shrinkable when paired with
first-noteornext-note; otherwise it is fixed. Not compatible withright-edge.fixed-spaceOnly compatible with
first-noteandnext-note. Put this much fixed space between the grob and the note.minimum-fixed-spaceOnly compatible with
first-noteandnext-note. Put at least this much fixed space between the left side of the grob and the left side of the note, without allowing them to collide.semi-fixed-spaceOnly compatible with
first-noteandnext-note. Put this much space between the grob and the note, such that half of the space is fixed and half is stretchable and shrinkable.shrink-spaceOnly compatible with
first-noteandnext-note. Put this much space between the two grobs. The space is only shrinkable.semi-shrink-spaceOnly compatible with
first-noteandnext-note. Put this much space between the grob and the note, such that half of the space is fixed and half is shrinkable.Rules for this spacing are much more complicated than this. See [Wanske] page 126–134, [Ross] page 143–147.
stencil(stencil):
ly:clef::printThe symbol to print.
Y-extent(pair of numbers):
#<unpure-pure-container ly:grob::stencil-height >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
Y-offset(number):
#<unpure-pure-container ly:staff-symbol-referencer::callback >The vertical amount that this object is moved relative to its Y-parent.
Note that many objects have special positioning considerations, which cause any setting of
Y-offsetto be ignored or modified, even though the object supports theself-alignment-interface.
This object supports the following interface(s):
break-aligned-interface, clef-interface, font-interface, grob-interface, item-interface, pure-from-neighbor-interface and staff-symbol-referencer-interface.
This object is of class Item (characterized by item-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < CueEndClef ] | [ Up: All layout objects ] | [ Divisio > ] |
3.1.43 Custos ¶
A custos, mainly used in older notation like Gregorian chant.
Custos objects are created by the following engraver(s): Custos_engraver.
Standard settings:
break-align-symbol(symbol):
'custosThis key is used for aligning, ordering, and spacing breakable items. See break-alignment-interface.
break-visibility(vector): #(#t #f #f)A vector of 3 booleans,
#(end-of-line unbroken begin-of-line).#tmeans visible,#fmeans killed.neutral-direction(direction):
-1Which direction to take in the center of the staff.
no-ledgers(boolean):
#fIf set, don’t draw ledger lines on this object.
non-musical(boolean):
#tTrue if the grob belongs to a
NonMusicalPaperColumn.space-alist(alist, with symbols as keys): '((first-note minimum-fixed-space . 0.0) (right-edge extra-space . 0.1))An alist that specifies distances from this grob to other breakable items, using the format:
'((break-align-symbol . (spacing-style . space)) (break-align-symbol . (spacing-style . space)) ...)Standard choices for
break-align-symbolare listed in Grobs and their break-align symbols. Additionally, three special break-align symbols available tospace-alistare:
first-noteused when the grob is just left of the first note on a line
next-noteused when the grob is just left of any other note; if not set, the value of
first-notegets usedright-edgeused when the grob is the last item on the line (only compatible with the
extra-spacespacing style)If
space-alistis defined for a grob that gets spaced in a staff, an entry forfirst-notemust be present. If there is nonext-noteentry, the value offirst-noteis used instead.Choices for
spacing-styleare:
extra-spacePut this much space between the two grobs. The space is stretchable and shrinkable when paired with
first-noteornext-note; otherwise it is fixed.minimum-spacePut at least this much space between the left sides of both grobs, without allowing them to collide. The space is stretchable and shrinkable when paired with
first-noteornext-note; otherwise it is fixed. Not compatible withright-edge.fixed-spaceOnly compatible with
first-noteandnext-note. Put this much fixed space between the grob and the note.minimum-fixed-spaceOnly compatible with
first-noteandnext-note. Put at least this much fixed space between the left side of the grob and the left side of the note, without allowing them to collide.semi-fixed-spaceOnly compatible with
first-noteandnext-note. Put this much space between the grob and the note, such that half of the space is fixed and half is stretchable and shrinkable.shrink-spaceOnly compatible with
first-noteandnext-note. Put this much space between the two grobs. The space is only shrinkable.semi-shrink-spaceOnly compatible with
first-noteandnext-note. Put this much space between the grob and the note, such that half of the space is fixed and half is shrinkable.Rules for this spacing are much more complicated than this. See [Wanske] page 126–134, [Ross] page 143–147.
stencil(stencil):
custos::printThe symbol to print.
style(symbol):
'vaticanaThis setting determines in what style a grob is typeset. Valid choices depend on the
stencilcallback reading this property.Y-offset(number):
#<unpure-pure-container ly:staff-symbol-referencer::callback >The vertical amount that this object is moved relative to its Y-parent.
Note that many objects have special positioning considerations, which cause any setting of
Y-offsetto be ignored or modified, even though the object supports theself-alignment-interface.
Remarks:
- The
ledger-positionsproperty holds positions that are taken as-is. Ledger lines may be placed on staff lines. Ifledger-positionsis not set for this grob but forNoteHead, use the latter one. If this isn’t set either, use either the value set viaStaffSymbolor fall back to the standard value.
This object supports the following interface(s):
break-aligned-interface, custos-interface, font-interface, grob-interface, item-interface, ledgered-grob-interface and staff-symbol-referencer-interface.
This object is of class Item (characterized by item-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < Custos ] | [ Up: All layout objects ] | [ DotColumn > ] |
3.1.44 Divisio ¶
A structural divider in a chant, often calling for a breath or caesura.
Divisio objects are created by the following engraver(s): Divisio_engraver.
Standard settings:
break-align-anchor(number):
ly:break-aligned-interface::calc-extent-aligned-anchorGrobs aligned to this breakable item will have their X-offsets shifted by this number. In bar lines, for example, this is used to position grobs relative to the (visual) center of the bar line.
break-align-anchor-alignment(number):
0Read by
ly:break-aligned-interface::calc-extent-aligned-anchorfor aligning an anchor to a grob’s extent.break-align-symbol(symbol):
'staff-barThis key is used for aligning, ordering, and spacing breakable items. See break-alignment-interface.
break-visibility(vector): #(#t #t #f)A vector of 3 booleans,
#(end-of-line unbroken begin-of-line).#tmeans visible,#fmeans killed.direction(direction):
1If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.extra-spacing-height(pair of numbers):
item::extra-spacing-height-including-staffIn the horizontal spacing problem, we increase the height of each item by this amount (by adding the ‘car’ to the bottom of the item and adding the ‘cdr’ to the top of the item). In order to make a grob infinitely high (to prevent the horizontal spacing problem from placing any other grobs above or below this grob), set this to
(-inf.0 . +inf.0).extra-spacing-width(pair of numbers): '(-1.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).non-musical(boolean):
#tTrue if the grob belongs to a
NonMusicalPaperColumn.space-alist(alist, with symbols as keys):'((ambitus extra-space . 1.0) (time-signature extra-space . 0.75) (custos minimum-space . 2.0) (clef extra-space . 1.0) (key-signature extra-space . 1.0) (key-cancellation extra-space . 1.0) (optional-material-end-bracket extra-space . 1.0) (optional-material-start-bracket extra-space . 1.0) (first-note fixed-space . 1.3) (next-note semi-fixed-space . 0.9) (right-edge extra-space . 0.0))An alist that specifies distances from this grob to other breakable items, using the format:
'((break-align-symbol . (spacing-style . space)) (break-align-symbol . (spacing-style . space)) ...)Standard choices for
break-align-symbolare listed in Grobs and their break-align symbols. Additionally, three special break-align symbols available tospace-alistare:
first-noteused when the grob is just left of the first note on a line
next-noteused when the grob is just left of any other note; if not set, the value of
first-notegets usedright-edgeused when the grob is the last item on the line (only compatible with the
extra-spacespacing style)If
space-alistis defined for a grob that gets spaced in a staff, an entry forfirst-notemust be present. If there is nonext-noteentry, the value offirst-noteis used instead.Choices for
spacing-styleare:
extra-spacePut this much space between the two grobs. The space is stretchable and shrinkable when paired with
first-noteornext-note; otherwise it is fixed.minimum-spacePut at least this much space between the left sides of both grobs, without allowing them to collide. The space is stretchable and shrinkable when paired with
first-noteornext-note; otherwise it is fixed. Not compatible withright-edge.fixed-spaceOnly compatible with
first-noteandnext-note. Put this much fixed space between the grob and the note.minimum-fixed-spaceOnly compatible with
first-noteandnext-note. Put at least this much fixed space between the left side of the grob and the left side of the note, without allowing them to collide.semi-fixed-spaceOnly compatible with
first-noteandnext-note. Put this much space between the grob and the note, such that half of the space is fixed and half is stretchable and shrinkable.shrink-spaceOnly compatible with
first-noteandnext-note. Put this much space between the two grobs. The space is only shrinkable.semi-shrink-spaceOnly compatible with
first-noteandnext-note. Put this much space between the grob and the note, such that half of the space is fixed and half is shrinkable.Rules for this spacing are much more complicated than this. See [Wanske] page 126–134, [Ross] page 143–147.
stencil(stencil):
ly:text-interface::printThe symbol to print.
thickness(number):
1.9For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e., the visual output is influenced by changes to
Staff.StaffSymbol.thickness).Y-extent(pair of numbers):
#<unpure-pure-container ly:grob::stencil-height >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
Y-offset(number):
#<unpure-pure-container ly:breathing-sign::offset-callback >The vertical amount that this object is moved relative to its Y-parent.
Note that many objects have special positioning considerations, which cause any setting of
Y-offsetto be ignored or modified, even though the object supports theself-alignment-interface.
This object supports the following interface(s):
break-aligned-interface, breathing-sign-interface, font-interface, grob-interface, item-interface, outside-staff-interface and text-interface.
This object is of class Item (characterized by item-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < Divisio ] | [ Up: All layout objects ] | [ Dots > ] |
3.1.45 DotColumn ¶
An auxiliary grob to align
stacked Dots grobs of dotted notes and chords.
DotColumn objects are created by the following engraver(s): Dot_column_engraver and Vaticana_ligature_engraver.
Standard settings:
axes(list): '(0)List of axis numbers. In the case of alignment grobs, this should contain only one number.
chord-dots-limit(integer):
3Limits the column of dots on each chord to the height of the chord plus
chord-dots-limitstaff positions.direction(direction):
1If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.padding(dimension, in staff space):
dot-column-interface::pad-by-one-dot-widthAdd this much extra space between objects that are next to each other.
X-extent(pair of numbers):
ly:axis-group-interface::widthExtent (size) in the X direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s):
axis-group-interface, dot-column-interface, grob-interface and item-interface.
This object is of class Item (characterized by item-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < DotColumn ] | [ Up: All layout objects ] | [ DoublePercentRepeat > ] |
3.1.46 Dots ¶
The dot(s) of a dotted note.
See also DotColumn.
Dots objects are created by the following engraver(s): Dots_engraver.
Standard settings:
avoid-slur(symbol):
'insideMethod of handling slur collisions. Choices are
inside,outside,around, andignore.insideadjusts the slur if needed to keep the grob inside the slur.outsidemoves the grob vertically to the outside of the slur.aroundmoves the grob vertically to the outside of the slur only if there is a collision.ignoredoes not move either. In grobs whose notational significance depends on vertical position (such as accidentals, clefs, etc.),outsideandaroundbehave likeignore.dot-count(integer):
dots::calc-dot-countThe number of dots.
extra-spacing-height(pair of numbers): '(-0.5 . 0.5)In the horizontal spacing problem, we increase the height of each item by this amount (by adding the ‘car’ to the bottom of the item and adding the ‘cdr’ to the top of the item). In order to make a grob infinitely high (to prevent the horizontal spacing problem from placing any other grobs above or below this grob), set this to
(-inf.0 . +inf.0).extra-spacing-width(pair of numbers): '(0.0 . 0.2)In the horizontal spacing problem, we pad each item by this amount (by adding the ‘car’ on the left side of the item and adding the ‘cdr’ on the right side of the item). In order to make a grob take up no horizontal space at all, set this to
(+inf.0 . -inf.0).glyph-name(string):
dots::calc-glyph-nameThe glyph name within the font.
In the context of (span) bar lines or clefs, glyph-name represents a processed form of
glyph, where decisions about line breaking, etc., are already taken.staff-position(number):
dots::calc-staff-positionVertical position, measured in half staff spaces, counted from the middle line.
For ties, there is a distinction between exact and inexact values: an exact value serves as a rough vertical offset that gets further tuned to make the tie avoid staff lines. An inexact value is taken as the precise vertical offset without further adjustments.
stencil(stencil):
ly:dots::printThe symbol to print.
Y-extent(pair of numbers):
#<unpure-pure-container ly:grob::stencil-height >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s):
dots-interface, font-interface, grob-interface, item-interface and staff-symbol-referencer-interface.
This object is of class Item (characterized by item-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < Dots ] | [ Up: All layout objects ] | [ DoublePercentRepeatCounter > ] |
3.1.47 DoublePercentRepeat ¶
A double-percent symbol for
repeating two bars. See also DoublePercentRepeatCounter,
PercentRepeat, DoubleRepeatSlash, and
RepeatSlash.
DoublePercentRepeat objects are created by the following engraver(s): Double_percent_repeat_engraver.
Standard settings:
break-align-symbol(symbol):
'staff-barThis key is used for aligning, ordering, and spacing breakable items. See break-alignment-interface.
break-visibility(vector): #(#t #t #f)A vector of 3 booleans,
#(end-of-line unbroken begin-of-line).#tmeans visible,#fmeans killed.dot-negative-kern(number):
0.75The space to remove between a dot and a slash in percent repeat glyphs. Larger values bring the two elements closer together.
font-encoding(symbol):
'fetaMusicThe font encoding is the broadest category for selecting a font. Currently, only LilyPond’s system fonts (Emmentaler) are using this property. Available values are
fetaMusic(Emmentaler),fetaBraces,fetaText(Emmentaler).non-musical(boolean):
#tTrue if the grob belongs to a
NonMusicalPaperColumn.slash-negative-kern(number):
1.6The space to remove between slashes in percent repeat glyphs. Larger values bring the two elements closer together.
slope(number):
1.0The slope of this object.
stencil(stencil):
ly:percent-repeat-interface::double-percentThe symbol to print.
thickness(number):
0.48For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e., the visual output is influenced by changes to
Staff.StaffSymbol.thickness).Y-extent(pair of numbers):
#<unpure-pure-container ly:grob::stencil-height >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s):
break-aligned-interface, font-interface, grob-interface, item-interface and percent-repeat-interface.
This object is of class Item (characterized by item-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < DoublePercentRepeat ] | [ Up: All layout objects ] | [ DoubleRepeatSlash > ] |
3.1.48 DoublePercentRepeatCounter ¶
A grob to print a counter for
DoublePercentRepeat grobs.
DoublePercentRepeatCounter objects are created by the following engraver(s): Double_percent_repeat_engraver.
Standard settings:
direction(direction):
1If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.font-encoding(symbol):
'fetaTextThe font encoding is the broadest category for selecting a font. Currently, only LilyPond’s system fonts (Emmentaler) are using this property. Available values are
fetaMusic(Emmentaler),fetaBraces,fetaText(Emmentaler).font-features(list):'("cv47")Opentype features.
font-size(number):
-2The font size, compared to the ‘normal’ size.
0is style-sheet’s normal size,-1is smaller,+1is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. If the context propertyfontSizeis set, its value is added to this before the glyph is printed. Fractional values are allowed.padding(dimension, in staff space):
0.2Add this much extra space between objects that are next to each other.
parent-alignment-X(number):
0Specify on which point of the parent the object is aligned. The value
-1means aligned on parent’s left edge,0on center, and1right edge, in X direction. Other numerical values may also be specified - the unit is half the parent’s width. If not a number, align on the parent’s reference point. If unset, the value fromself-alignment-Xproperty will be used.self-alignment-X(number):
0Specify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified - the unit is half the object width. If not a number, align on the object’s reference point.side-axis(number):
1If the value is
X(or equivalently0), the object is placed horizontally next to the other object. If the value isYor1, it is placed vertically.staff-padding(dimension, in staff space):
0.25Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
stencil(stencil):
ly:text-interface::printThe symbol to print.
X-offset(number):
ly:self-alignment-interface::aligned-on-x-parentThe horizontal amount that this object is moved relative to its X-parent.
Note that many objects have special positioning considerations, which cause any setting of
X-offsetto be ignored or modified, even though the object supports theself-alignment-interface.Y-extent(pair of numbers):
#<unpure-pure-container ly:grob::stencil-height >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
Y-offset(number):
#<unpure-pure-container ly:side-position-interface::y-aligned-side ly:side-position-interface::pure-y-aligned-side >The vertical amount that this object is moved relative to its Y-parent.
Note that many objects have special positioning considerations, which cause any setting of
Y-offsetto be ignored or modified, even though the object supports theself-alignment-interface.
This object supports the following interface(s):
font-interface, grob-interface, item-interface, outside-staff-interface, self-alignment-interface, side-position-interface and text-interface.
This object is of class Item (characterized by item-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < DoublePercentRepeatCounter ] | [ Up: All layout objects ] | [ DurationLine > ] |
3.1.49 DoubleRepeatSlash ¶
A double-percent symbol for
repeating patterns shorter than a single measure, and which
contain mixed durations. See also PercentRepeat,
DoublePercentRepeat, and RepeatSlash.
DoubleRepeatSlash objects are created by the following engraver(s): Slash_repeat_engraver.
Standard settings:
dot-negative-kern(number):
0.75The space to remove between a dot and a slash in percent repeat glyphs. Larger values bring the two elements closer together.
font-encoding(symbol):
'fetaMusicThe font encoding is the broadest category for selecting a font. Currently, only LilyPond’s system fonts (Emmentaler) are using this property. Available values are
fetaMusic(Emmentaler),fetaBraces,fetaText(Emmentaler).slash-negative-kern(number):
1.6The space to remove between slashes in percent repeat glyphs. Larger values bring the two elements closer together.
slope(number):
1.0The slope of this object.
stencil(stencil):
ly:percent-repeat-interface::beat-slashThe symbol to print.
thickness(number):
0.48For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e., the visual output is influenced by changes to
Staff.StaffSymbol.thickness).Y-extent(pair of numbers):
#<unpure-pure-container ly:grob::stencil-height >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s):
font-interface, grob-interface, item-interface, outside-staff-interface, percent-repeat-interface and rhythmic-grob-interface.
This object is of class Item (characterized by item-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < DoubleRepeatSlash ] | [ Up: All layout objects ] | [ DynamicLineSpanner > ] |
3.1.50 DurationLine ¶
A horizontal duration line, continuing rhythmic items (usually note heads).
DurationLine objects are created by the following engraver(s): Duration_line_engraver.
Standard settings:
after-line-breaking(boolean):
ly:spanner::kill-zero-spanned-timeDummy property, used to trigger callback for
after-line-breaking.arrow-length(number):
2Arrow length.
arrow-width(number):
1.5Arrow width.
bound-details(alist, with symbols as keys):'((right (attach-dir . -1) (end-on-accidental . #t) (end-on-break-align-group . #f) (end-on-arpeggio . #t) (padding . 0.4) (end-style . #f)) (right-broken (padding . 0.4) (end-style . #f)) (left-broken (padding . 0.5)) (left (attach-dir . 1) (padding . -0.3) (start-at-dot . #f)))An alist of properties for determining attachments of spanners to edges.
breakable(boolean):
#tAllow breaks here.
details(alist, with symbols as keys): '((extra-dot-padding . 0.5) (hook-direction . 1) (hook-height . 0.34) (hook-thickness . #f))An alist of parameters for detailed grob behavior. See All layout objects for more information on the available parameters and their default values of a particular grob’s
detailsproperty. See Graphical Object Interfaces for documentation of the available parameters. Supporting interfaces can be found at the bottom of a grob’s description section.left-bound-info(alist, with symbols as keys):
ly:horizontal-line-spanner::calc-left-bound-infoAn alist of properties for determining attachments of spanners to edges.
minimum-length(dimension, in staff space):
2Try 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 note heads.minimum-length-after-break(dimension, in staff space):
6If set, try to make a broken spanner starting a line this long. This requires an appropriate callback for the
springs-and-rodsproperty. If added to aTie, this sets the minimum distance to the note head.right-bound-info(alist, with symbols as keys):
ly:horizontal-line-spanner::calc-right-bound-infoAn alist of properties for determining attachments of spanners to edges.
springs-and-rods(boolean):
ly:spanner::set-spacing-rodsDummy variable for triggering spacing routines.
stencil(stencil):
duration-line::printThe symbol to print.
style(symbol):
'beamThis setting determines in what style a grob is typeset. Valid choices depend on the
stencilcallback reading this property.thickness(number):
4For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e., the visual output is influenced by changes to
Staff.StaffSymbol.thickness).to-barline(boolean):
#fIf true, the spanner will stop at the bar line just before it would otherwise stop.
vertical-skylines(pair of skylines):
#<unpure-pure-container ly:grob::vertical-skylines-from-stencil ly:grob::pure-simple-vertical-skylines-from-extents >Two skylines, one above and one below this grob.
Y-offset(number):
0The vertical amount that this object is moved relative to its Y-parent.
Note that many objects have special positioning considerations, which cause any setting of
Y-offsetto be ignored or modified, even though the object supports theself-alignment-interface.zigzag-length(dimension, in staff space):
1The length of the lines of a zigzag, relative to
zigzag-width. A value of1gives 60-degree zigzags.zigzag-width(dimension, in staff space):
1The width of one zigzag squiggle. This number is adjusted slightly so that the spanner line can be constructed from a whole number of squiggles.
This object supports the following interface(s):
duration-line-interface, font-interface, grob-interface, horizontal-line-spanner-interface, line-interface, spanner-interface and unbreakable-spanner-interface.
This object is of class Spanner (characterized by spanner-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < DurationLine ] | [ Up: All layout objects ] | [ DynamicText > ] |
3.1.51 DynamicLineSpanner ¶
An auxiliary grob providing a
vertical baseline to align successive dynamic grobs
(DynamicText, DynamicTextSpanner,
and Hairpin) within a staff.
DynamicLineSpanner objects are created by the following engraver(s): Dynamic_align_engraver.
Standard settings:
axes(list): '(1)List of axis numbers. In the case of alignment grobs, this should contain only one number.
direction(direction):
-1If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.minimum-space(dimension, in staff space):
1.2Minimum distance that the victim should move (after padding).
outside-staff-priority(number):
250If set, the grob is positioned outside the staff in such a way as to avoid all collisions. In case of a potential collision, the grob with the smaller
outside-staff-priorityis closer to the staff.padding(dimension, in staff space):
0.6Add this much extra space between objects that are next to each other.
side-axis(number):
1If the value is
X(or equivalently0), the object is placed horizontally next to the other object. If the value isYor1, it is placed vertically.slur-padding(number):
0.3Extra distance between slur and script.
staff-padding(dimension, in staff space):
0.1Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
vertical-skylines(pair of skylines):
#<unpure-pure-container ly:grob::vertical-skylines-from-element-stencils ly:grob::pure-vertical-skylines-from-element-stencils >Two skylines, one above and one below this grob.
X-extent(pair of numbers):
ly:axis-group-interface::widthExtent (size) in the X direction, measured in staff-space units, relative to object’s reference point.
Y-extent(pair of numbers):
#<unpure-pure-container ly:axis-group-interface::height ly:axis-group-interface::pure-height >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
Y-offset(number):
#<unpure-pure-container ly:side-position-interface::y-aligned-side ly:side-position-interface::pure-y-aligned-side >The vertical amount that this object is moved relative to its Y-parent.
Note that many objects have special positioning considerations, which cause any setting of
Y-offsetto be ignored or modified, even though the object supports theself-alignment-interface.
This object supports the following interface(s):
axis-group-interface, dynamic-interface, dynamic-line-spanner-interface, grob-interface, outside-staff-interface, side-position-interface and spanner-interface.
This object is of class Spanner (characterized by spanner-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < DynamicLineSpanner ] | [ Up: All layout objects ] | [ DynamicTextSpanner > ] |
3.1.52 DynamicText ¶
A dynamic text item like ‘ff’
or ‘mp’. See also DynamicLineSpanner.
DynamicText objects are created by the following engraver(s): Dynamic_engraver.
Standard settings:
direction(direction):
ly:script-interface::calc-directionIf
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.extra-spacing-width(pair of numbers): '(+inf.0 . -inf.0)In the horizontal spacing problem, we pad each item by this amount (by adding the ‘car’ on the left side of the item and adding the ‘cdr’ on the right side of the item). In order to make a grob take up no horizontal space at all, set this to
(+inf.0 . -inf.0).font-encoding(symbol):
'fetaTextThe font encoding is the broadest category for selecting a font. Currently, only LilyPond’s system fonts (Emmentaler) are using this property. Available values are
fetaMusic(Emmentaler),fetaBraces,fetaText(Emmentaler).font-series(symbol):
'boldSelect the series of a font. Common choices are
normalandbold. The full list of symbols that can be used is:thin,ultralight(orextralight),light,semilight(ordemilight),book,normal(orregular),medium,semibold(ordemibold),bold,ultrabold(orextrabold),heavy(orblack), andultraheavy(orultrablackorextrablack).font-shape(symbol):
'italicSelect the shape of a font. Possible values are
upright,italic,oblique, andslanted(which is the same asoblique).parent-alignment-X(number):
0Specify on which point of the parent the object is aligned. The value
-1means aligned on parent’s left edge,0on center, and1right edge, in X direction. Other numerical values may also be specified - the unit is half the parent’s width. If not a number, align on the parent’s reference point. If unset, the value fromself-alignment-Xproperty will be used.right-padding(dimension, in staff space):
0.5Space to insert on the right side of an object (e.g., between note and its accidentals).
self-alignment-X(number):
0Specify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified - the unit is half the object width. If not a number, align on the object’s reference point.stencil(stencil):
ly:text-interface::printThe symbol to print.
vertical-skylines(pair of skylines):
#<unpure-pure-container ly:grob::vertical-skylines-from-stencil >Two skylines, one above and one below this grob.
X-align-on-main-noteheads(boolean):
#tIf true, this grob will ignore suspended note heads when aligning itself on NoteColumn.
X-offset(number):
ly:self-alignment-interface::aligned-on-x-parentThe horizontal amount that this object is moved relative to its X-parent.
Note that many objects have special positioning considerations, which cause any setting of
X-offsetto be ignored or modified, even though the object supports theself-alignment-interface.Y-extent(pair of numbers):
#<unpure-pure-container ly:grob::stencil-height >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
Y-offset(number):
#<unpure-pure-container #<procedure at lily/output-lib.scm:1308:3 (grob)> >The vertical amount that this object is moved relative to its Y-parent.
Note that many objects have special positioning considerations, which cause any setting of
Y-offsetto be ignored or modified, even though the object supports theself-alignment-interface.
This object supports the following interface(s):
dynamic-interface, dynamic-text-interface, font-interface, grob-interface, item-interface, outside-staff-interface, script-interface, self-alignment-interface and text-interface.
This object is of class Item (characterized by item-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < DynamicText ] | [ Up: All layout objects ] | [ Episema > ] |
3.1.53 DynamicTextSpanner ¶
Dynamic text like ‘cresc’,
usually followed by a (dashed) line. See also
DynamicLineSpanner and TextSpanner.
DynamicTextSpanner objects are created by the following engraver(s): Dynamic_engraver.
Standard settings:
before-line-breaking(boolean):
dynamic-text-spanner::before-line-breakingDummy property, used to trigger a callback function.
bound-details(alist, with symbols as keys):'((right (attach-dir . -1) (padding . 0.75)) (right-broken (attach-dir . 1) (padding . 0.0)) (left (attach-dir . -1) (stencil-offset -0.75 . -0.5) (padding . 0.75)) (left-broken (attach-dir . 1)))An alist of properties for determining attachments of spanners to edges.
dash-fraction(number):
0.2Size of the dashes, relative to
dash-period. Should be between0.1and1.0(continuous line). If set to0.0, a dotted line is produceddash-period(number):
3.0The length of one dash together with whitespace. If negative, no line is drawn at all.
font-shape(symbol):
'italicSelect the shape of a font. Possible values are
upright,italic,oblique, andslanted(which is the same asoblique).font-size(number):
1The font size, compared to the ‘normal’ size.
0is style-sheet’s normal size,-1is smaller,+1is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. If the context propertyfontSizeis set, its value is added to this before the glyph is printed. Fractional values are allowed.left-bound-info(alist, with symbols as keys):
ly:horizontal-line-spanner::calc-left-bound-info-and-textAn alist of properties for determining attachments of spanners to edges.
minimum-length(dimension, in staff space):
2.0Try to make a spanner at least this long, normally in the horizontal direction. This requires an appropriate callback for the
springs-and-rodsproperty. If added to aTie, this sets the minimum distance between note heads.minimum-Y-extent(pair of numbers): '(-1 . 1)Minimum size of an object in Y dimension, measured in
staff-spaceunits.right-bound-info(alist, with symbols as keys):
ly:horizontal-line-spanner::calc-right-bound-infoAn alist of properties for determining attachments of spanners to edges.
skyline-horizontal-padding(number):
0.2For determining the vertical distance between two staves, it is possible to have a configuration which would result in a tight interleaving of grobs from the top staff and the bottom staff. The larger this parameter is, the farther apart the staves are placed in such a configuration.
springs-and-rods(boolean):
ly:spanner::set-spacing-rodsDummy variable for triggering spacing routines.
stencil(stencil):
ly:line-spanner::printThe symbol to print.
style(symbol):
'dashed-lineThis setting determines in what style a grob is typeset. Valid choices depend on the
stencilcallback reading this property.vertical-skylines(pair of skylines):
#<unpure-pure-container ly:grob::vertical-skylines-from-stencil ly:grob::pure-simple-vertical-skylines-from-extents >Two skylines, one above and one below this grob.
This object supports the following interface(s):
dynamic-interface, dynamic-text-spanner-interface, font-interface, grob-interface, horizontal-line-spanner-interface, line-interface, spanner-interface and text-interface.
This object is of class Spanner (characterized by spanner-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < DynamicTextSpanner ] | [ Up: All layout objects ] | [ FingerGlideSpanner > ] |
3.1.54 Episema ¶
An episema line (over a group of notes). Used in Gregorian chant.
Episema objects are created by the following engraver(s): Episema_engraver.
Standard settings:
bound-details(alist, with symbols as keys): '((left (padding . 0) (attach-dir . -1)) (right (padding . 0) (attach-dir . 1)))An alist of properties for determining attachments of spanners to edges.
direction(direction):
1If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.left-bound-info(alist, with symbols as keys):
ly:horizontal-line-spanner::calc-left-bound-infoAn alist of properties for determining attachments of spanners to edges.
right-bound-info(alist, with symbols as keys):
ly:horizontal-line-spanner::calc-right-bound-infoAn alist of properties for determining attachments of spanners to edges.
side-axis(number):
1If the value is
X(or equivalently0), the object is placed horizontally next to the other object. If the value isYor1, it is placed vertically.stencil(stencil):
ly:line-spanner::printThe symbol to print.
style(symbol):
'lineThis setting determines in what style a grob is typeset. Valid choices depend on the
stencilcallback reading this property.Y-offset(number):
#<unpure-pure-container ly:side-position-interface::y-aligned-side ly:side-position-interface::pure-y-aligned-side >The vertical amount that this object is moved relative to its Y-parent.
Note that many objects have special positioning considerations, which cause any setting of
Y-offsetto be ignored or modified, even though the object supports theself-alignment-interface.
This object supports the following interface(s):
episema-interface, font-interface, grob-interface, horizontal-line-spanner-interface, line-interface, side-position-interface and spanner-interface.
This object is of class Spanner (characterized by spanner-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < Episema ] | [ Up: All layout objects ] | [ Fingering > ] |
3.1.55 FingerGlideSpanner ¶
A line connecting two
Fingering, StringNumber or StrokeFinger grobs, usually
indicating a gliding finger, the same string, or the same stroking finger for
stringed instruments .
FingerGlideSpanner objects are created by the following engraver(s): Finger_glide_engraver.
Standard settings:
bound-details(alist, with symbols as keys):'((right (attach-dir . -1) (right-stub-length . 1) (padding . 0.2)) (left (attach-dir . 1) (left-stub-length . 1) (padding . 0.2)))An alist of properties for determining attachments of spanners to edges.
dash-fraction(number):
0.4Size of the dashes, relative to
dash-period. Should be between0.1and1.0(continuous line). If set to0.0, a dotted line is produceddash-period(number):
1The length of one dash together with whitespace. If negative, no line is drawn at all.
details(alist, with symbols as keys): '((bow-direction . #f))An alist of parameters for detailed grob behavior. See All layout objects for more information on the available parameters and their default values of a particular grob’s
detailsproperty. See Graphical Object Interfaces for documentation of the available parameters. Supporting interfaces can be found at the bottom of a grob’s description section.left-bound-info(alist, with symbols as keys):
ly:line-spanner::calc-left-bound-infoAn alist of properties for determining attachments of spanners to edges.
minimum-length(dimension, in staff space):
2.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 note heads.minimum-length-after-break(dimension, in staff space):
2.5If set, try to make a broken spanner starting a line this long. This requires an appropriate callback for the
springs-and-rodsproperty. If added to aTie, this sets the minimum distance to the note head.normalized-endpoints(pair):
ly:spanner::calc-normalized-endpointsRepresents left and right placement over the total spanner, where the width of the spanner is normalized between 0 and 1.
right-bound-info(alist, with symbols as keys):
ly:line-spanner::calc-right-bound-infoAn alist of properties for determining attachments of spanners to edges.
springs-and-rods(boolean):
ly:spanner::set-spacing-rodsDummy variable for triggering spacing routines.
stencil(stencil):
finger-glide::printThe symbol to print.
style(symbol):
'lineThis setting determines in what style a grob is typeset. Valid choices depend on the
stencilcallback reading this property.thickness(number):
1.4For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e., the visual output is influenced by changes to
Staff.StaffSymbol.thickness).vertical-skylines(pair of skylines):
#<unpure-pure-container ly:grob::vertical-skylines-from-stencil ly:grob::pure-simple-vertical-skylines-from-extents >Two skylines, one above and one below this grob.
zigzag-length(dimension, in staff space):
1The length of the lines of a zigzag, relative to
zigzag-width. A value of1gives 60-degree zigzags.zigzag-width(dimension, in staff space):
1The width of one zigzag squiggle. This number is adjusted slightly so that the spanner line can be constructed from a whole number of squiggles.
This object supports the following interface(s):
finger-glide-interface, font-interface, grob-interface, line-spanner-interface and spanner-interface.
This object is of class Spanner (characterized by spanner-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < FingerGlideSpanner ] | [ Up: All layout objects ] | [ FingeringColumn > ] |
3.1.56 Fingering ¶
A fingering symbol (usually a
digit). See also FingeringColumn and
StrokeFinger.
Fingering objects are created by the following engraver(s): Fingering_engraver and New_fingering_engraver.
Standard settings:
add-stem-support(boolean):
only-if-beamedIf set, the
Stemobject is included in this script’s support.avoid-slur(symbol):
'aroundMethod of handling slur collisions. Choices are
inside,outside,around, andignore.insideadjusts the slur if needed to keep the grob inside the slur.outsidemoves the grob vertically to the outside of the slur.aroundmoves the grob vertically to the outside of the slur only if there is a collision.ignoredoes not move either. In grobs whose notational significance depends on vertical position (such as accidentals, clefs, etc.),outsideandaroundbehave likeignore.direction(direction):
ly:script-interface::calc-directionIf
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.font-encoding(symbol):
'fetaTextThe font encoding is the broadest category for selecting a font. Currently, only LilyPond’s system fonts (Emmentaler) are using this property. Available values are
fetaMusic(Emmentaler),fetaBraces,fetaText(Emmentaler).font-features(list):'("cv47" "ss01")Opentype features.
font-size(number):
-5The font size, compared to the ‘normal’ size.
0is style-sheet’s normal size,-1is smaller,+1is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. If the context propertyfontSizeis set, its value is added to this before the glyph is printed. Fractional values are allowed.padding(dimension, in staff space):
0.5Add this much extra space between objects that are next to each other.
parent-alignment-X(number):
0Specify on which point of the parent the object is aligned. The value
-1means aligned on parent’s left edge,0on center, and1right edge, in X direction. Other numerical values may also be specified - the unit is half the parent’s width. If not a number, align on the parent’s reference point. If unset, the value fromself-alignment-Xproperty will be used.parent-alignment-Y(number):
0Like
parent-alignment-Xbut for the Y axis.script-priority(number):
100A key for determining the order of scripts in a stack, by being added to the position of the script in the user input, the sum being the overall priority. Smaller means closer to the head.
self-alignment-X(number):
0Specify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified - the unit is half the object width. If not a number, align on the object’s reference point.self-alignment-Y(number):
0Like
self-alignment-Xbut for the Y axis.slur-padding(number):
0.2Extra distance between slur and script.
staff-padding(dimension, in staff space):
0.5Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
stencil(stencil):
ly:text-interface::printThe symbol to print.
text(markup):
fingering::calc-textText markup. See Formatting text.
X-padding(dimension, in staff space):
0.3Add this much extra space between objects that are next to each other horizontally, overriding the
paddingproperty value.Y-extent(pair of numbers):
#<unpure-pure-container ly:grob::stencil-height >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
Remarks:
- If the fingering is left- or right-positioned, the
Y-offsetproperty is taken relative to the vertical position of its X-parent (i.e., its associated note head).
This object supports the following interface(s):
finger-interface, font-interface, grob-interface, item-interface, outside-staff-interface, self-alignment-interface, side-position-interface, text-interface and text-script-interface.
This object is of class Item (characterized by item-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < Fingering ] | [ Up: All layout objects ] | [ Flag > ] |
3.1.57 FingeringColumn ¶
An auxiliary grob to align
stacked Fingering grobs.
FingeringColumn objects are created by the following engraver(s): Fingering_column_engraver.
Standard settings:
padding(dimension, in staff space):
0.2Add this much extra space between objects that are next to each other.
snap-radius(number):
0.3The maximum distance between two objects that will cause them to snap to alignment along an axis.
Remarks:
paddingapplies to the vertical axis only.
This object supports the following interface(s):
fingering-column-interface, grob-interface and item-interface.
This object is of class Item (characterized by item-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < FingeringColumn ] | [ Up: All layout objects ] | [ Footnote > ] |
3.1.58 Flag ¶
A flag (in the musical sense).
Flag objects are created by the following engraver(s): Stem_engraver.
Standard settings:
color(color):
#<procedure at lily/output-lib.scm:1782:0 (grob)>The color of this grob.
glyph-name(string):
ly:flag::glyph-nameThe glyph name within the font.
In the context of (span) bar lines or clefs, glyph-name represents a processed form of
glyph, where decisions about line breaking, etc., are already taken.stencil(stencil):
ly:flag::printThe symbol to print.
transparent(boolean):
#<procedure at lily/output-lib.scm:1782:0 (grob)>This makes the grob invisible.
vertical-skylines(pair of skylines):
#<unpure-pure-container ly:grob::vertical-skylines-from-stencil >Two skylines, one above and one below this grob.
X-extent(pair of numbers):
ly:flag::widthExtent (size) in the X direction, measured in staff-space units, relative to object’s reference point.
X-offset(number):
ly:flag::calc-x-offsetThe horizontal amount that this object is moved relative to its X-parent.
Note that many objects have special positioning considerations, which cause any setting of
X-offsetto be ignored or modified, even though the object supports theself-alignment-interface.Y-extent(pair of numbers):
#<unpure-pure-container ly:grob::stencil-height >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
Y-offset(number):
#<unpure-pure-container ly:flag::calc-y-offset ly:flag::pure-calc-y-offset >The vertical amount that this object is moved relative to its Y-parent.
Note that many objects have special positioning considerations, which cause any setting of
Y-offsetto be ignored or modified, even though the object supports theself-alignment-interface.
This object supports the following interface(s):
flag-interface, font-interface, grob-interface and item-interface.
This object is of class Item (characterized by item-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < Flag ] | [ Up: All layout objects ] | [ FretBoard > ] |
3.1.59 Footnote ¶
A footnote mark (usually a number) with a pointing line attached to another grob.
Footnote objects are created by the following engraver(s): Footnote_engraver.
Standard settings:
after-line-breaking(boolean):
ly:balloon-interface::remove-irrelevant-spannerDummy property, used to trigger callback for
after-line-breaking.annotation-balloon(boolean):
#fPrint the balloon around an annotation.
annotation-line(boolean):
#tPrint the line from an annotation to the grob that it annotates.
automatically-numbered(boolean):
#<procedure at lily/output-lib.scm:1710:0 (grob)>If set, footnotes are automatically numbered.
break-visibility(vector):
#<procedure at lily/output-lib.scm:3609:0 (grob)>A vector of 3 booleans,
#(end-of-line unbroken begin-of-line).#tmeans visible,#fmeans killed.footnote(boolean):
#tShould this be a footnote or in-note?
footnote-text(markup):
#<procedure at lily/output-lib.scm:1710:0 (grob)>A footnote for the grob.
stencil(stencil):
ly:balloon-interface::printThe symbol to print.
text(markup):
#<procedure at lily/output-lib.scm:1710:0 (grob)>Text markup. See Formatting text.
X-extent(pair of numbers):
#fExtent (size) in the X direction, measured in staff-space units, relative to object’s reference point.
X-offset(number):
#<procedure at lily/output-lib.scm:1710:0 (grob)>The horizontal amount that this object is moved relative to its X-parent.
Note that many objects have special positioning considerations, which cause any setting of
X-offsetto be ignored or modified, even though the object supports theself-alignment-interface.Y-extent(pair of numbers):
#fExtent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
Y-offset(number):
#<procedure at lily/output-lib.scm:1710:0 (grob)>The vertical amount that this object is moved relative to its Y-parent.
Note that many objects have special positioning considerations, which cause any setting of
Y-offsetto be ignored or modified, even though the object supports theself-alignment-interface.
This object supports the following interface(s):
balloon-interface, font-interface, footnote-interface, grob-interface, sticky-grob-interface and text-interface.
This object can be of either of the following classes: Item (characterized by item-interface) or Spanner (characterized by spanner-interface).
It supports the following interfaces conditionally depending on the class: item-interface and spanner-interface.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < Footnote ] | [ Up: All layout objects ] | [ Glissando > ] |
3.1.60 FretBoard ¶
A fretboard diagram.
FretBoard objects are created by the following engraver(s): Fretboard_engraver.
Standard settings:
after-line-breaking(boolean):
ly:chord-name::after-line-breakingDummy property, used to trigger callback for
after-line-breaking.extra-spacing-height(pair of numbers): '(0.2 . -0.2)In the horizontal spacing problem, we increase the height of each item by this amount (by adding the ‘car’ to the bottom of the item and adding the ‘cdr’ to the top of the item). In order to make a grob infinitely high (to prevent the horizontal spacing problem from placing any other grobs above or below this grob), set this to
(-inf.0 . +inf.0).extra-spacing-width(pair of numbers): '(-0.5 . 0.5)In the horizontal spacing problem, we pad each item by this amount (by adding the ‘car’ on the left side of the item and adding the ‘cdr’ on the right side of the item). In order to make a grob take up no horizontal space at all, set this to
(+inf.0 . -inf.0).fret-diagram-details(alist, with symbols as keys): '((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.
barre-thickness– Thickness of barre line, in multiples ofdot-radius. Only defined forbarre-type=straight. Default value 1.capo-thickness– Thickness of capo indicator, in multiples of fret-space. Default value 0.5.dot-color– Color of dots. Options includeblackandwhite. Defaultblack.dot-label-font-mag– Magnification for font used to label fret dots. Default value 1.dot-position– Location of dot in fret space. Default 0.6 for dots without labels, 0.95-dot-radiusfor dots with labels.dot-radius– Radius of dots, in terms of fret spaces. Default value 0.425 for labeled dots, 0.25 for unlabeled dots.finger-code– Code for the type of fingering indication used. Options includenone,in-dot, andbelow-string. Defaultnonefor markup fret diagrams,below-stringforFretBoardsfret diagrams.fret-count– The number of frets. Default 4.fret-distance– Multiplier to adjust the distance between frets. Default 1.0.fret-label-custom-format– The format string to be used label the lowest fret number, whennumber-typeequals tocustom. Default "~a".fret-label-font-mag– The magnification of the font used to label the lowest fret number. Default 0.5.fret-label-vertical-offset– The offset of the fret label from the center of the fret in direction parallel to strings. Default 0.fret-label-horizontal-offset– The offset of the fret label from the center of the fret in direction orthogonal to strings. Default 0.handedness– Print the fret-diagram left- or right-handed.-1,LEFTfor left ;1,RIGHTfor right. DefaultRIGHT.paren-padding– The padding for the parenthesis. Default 0.05.label-dir– Side to which the fret label is attached.-1,LEFT, orDOWNfor left or down;1,RIGHT, orUPfor right or up. DefaultRIGHT.mute-string– Character string to be used to indicate muted string. Default"x".number-type– Type of numbers to use in fret label. Choices includearabic,roman-ij-lower,roman-ij-upper,roman-lower,roman-upper,arabicandcustom. In the last case, the format string is supplied by thefret-label-custom-formatproperty. Defaultroman-lower.open-string– Character string to be used to indicate open string. Default"o".orientation– Orientation of fret-diagram. Options includenormal,landscape, andopposing-landscape. Defaultnormal.string-count– The number of strings. Default 6.string-distance– Multiplier to adjust the distance between strings. Default 1.0.string-label-font-mag– The magnification of the font used to label fingerings at the string, rather than in the dot. Default value 0.6 fornormalorientation, 0.5 forlandscapeandopposing-landscape.string-overhang– Extension of string lines beyond last fret line, in multiples offret-distance. Default value 1.string-thickness-factor– Factor for changing thickness of each string in the fret diagram. Thickness of string k is given bythickness* (1+string-thickness-factor) ^ (k-1). Default 0.top-fret-thickness– The thickness of the top fret line, as a multiple of the standard thickness. Default value 3.xo-font-magnification– Magnification used for mute and open string indicators. Default value 0.5.xo-padding– Padding for open and mute indicators from top fret. Default value 0.25.stencil(stencil):
fret-board::calc-stencilThe symbol to print.
Y-extent(pair of numbers):
#<unpure-pure-container ly:grob::stencil-height >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s):
chord-name-interface, font-interface, fret-diagram-interface, grob-interface, item-interface, outside-staff-interface and rhythmic-grob-interface.
This object is of class Item (characterized by item-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < FretBoard ] | [ Up: All layout objects ] | [ GraceSpacing > ] |
3.1.61 Glissando ¶
A glissando line.
Glissando objects are created by the following engraver(s): Glissando_engraver.
Standard settings:
after-line-breaking(boolean):
ly:spanner::kill-zero-spanned-timeDummy property, used to trigger callback for
after-line-breaking.bound-details(alist, with symbols as keys):'((right (attach-dir . -1) (end-on-accidental . #t) (padding . 0.5)) (left (attach-dir . 1) (padding . 0.5) (start-at-dot . #t)))An alist of properties for determining attachments of spanners to edges.
gap(dimension, in staff space):
0.5Size of a gap in a variable symbol.
left-bound-info(alist, with symbols as keys):
ly:line-spanner::calc-left-bound-infoAn alist of properties for determining attachments of spanners to edges.
normalized-endpoints(pair):
ly:spanner::calc-normalized-endpointsRepresents left and right placement over the total spanner, where the width of the spanner is normalized between 0 and 1.
right-bound-info(alist, with symbols as keys):
ly:line-spanner::calc-right-bound-infoAn alist of properties for determining attachments of spanners to edges.
stencil(stencil):
ly:line-spanner::printThe symbol to print.
style(symbol):
'lineThis setting determines in what style a grob is typeset. Valid choices depend on the
stencilcallback reading this property.vertical-skylines(pair of skylines):
#<unpure-pure-container ly:grob::vertical-skylines-from-stencil ly:grob::pure-simple-vertical-skylines-from-extents >Two skylines, one above and one below this grob.
zigzag-width(dimension, in staff space):
0.75The width of one zigzag squiggle. This number is adjusted slightly so that the spanner line can be constructed from a whole number of squiggles.
This object supports the following interface(s):
font-interface, glissando-interface, grob-interface, line-interface, line-spanner-interface, spanner-interface and unbreakable-spanner-interface.
This object is of class Spanner (characterized by spanner-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < Glissando ] | [ Up: All layout objects ] | [ GridChordName > ] |
3.1.62 GraceSpacing ¶
An auxiliary grob to handle
(horizontal) spacing of grace notes. See also
NoteSpacing, StaffSpacing,
and SpacingSpanner.
GraceSpacing objects are created by the following engraver(s): Grace_spacing_engraver.
Standard settings:
common-shortest-duration(moment):
grace-spacing::calc-shortest-durationThe most common shortest note length. This is used in spacing. Enlarging this sets the score tighter.
shortest-duration-space(number):
1.6Start with this multiple of
spacing-incrementspace for the shortest duration. See also spacing-spanner-interface.spacing-increment(dimension, in staff space):
0.8The unit of length for note-spacing. Typically, the width of a note head. See also spacing-spanner-interface.
This object supports the following interface(s):
grace-spacing-interface, grob-interface, spacing-options-interface and spanner-interface.
This object is of class Spanner (characterized by spanner-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < GraceSpacing ] | [ Up: All layout objects ] | [ GridLine > ] |
3.1.63 GridChordName ¶
A chord name in a chord grid.
GridChordName objects are created by the following engraver(s): Grid_chord_name_engraver.
Standard settings:
font-family(symbol):
'sansThe font family is the broadest category for selecting text fonts. Options include
serif,sansandtypewriter.font-size(number):
1.5The font size, compared to the ‘normal’ size.
0is style-sheet’s normal size,-1is smaller,+1is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. If the context propertyfontSizeis set, its value is added to this before the glyph is printed. Fractional values are allowed.stencil(stencil):
ly:text-interface::printThe symbol to print.
word-space(dimension, in staff space):
0.0Space to insert between words in texts.
X-offset(number):
#<procedure at lily/output-lib.scm:3771:0 (grob)>The horizontal amount that this object is moved relative to its X-parent.
Note that many objects have special positioning considerations, which cause any setting of
X-offsetto be ignored or modified, even though the object supports theself-alignment-interface.Y-offset(number):
#<procedure at lily/output-lib.scm:3771:0 (grob)>The vertical amount that this object is moved relative to its Y-parent.
Note that many objects have special positioning considerations, which cause any setting of
Y-offsetto be ignored or modified, even though the object supports theself-alignment-interface.
This object supports the following interface(s):
accidental-switch-interface, font-interface, grid-chord-name-interface, grob-interface, spanner-interface and text-interface.
This object is of class Spanner (characterized by spanner-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < GridChordName ] | [ Up: All layout objects ] | [ GridPoint > ] |
3.1.64 GridLine ¶
A vertical line between staves,
indicating rhythmic synchronization. See also
GridPoint.
GridLine objects are created by the following engraver(s): Grid_line_span_engraver.
Standard settings:
layer(integer):
0An integer which determines the order of printing objects. Objects with the lowest value of layer are drawn first, then objects with progressively higher values are drawn, so objects with higher values overwrite objects with lower values. By default most objects are assigned a layer value of 1.
parent-alignment-X(number):
0Specify on which point of the parent the object is aligned. The value
-1means aligned on parent’s left edge,0on center, and1right edge, in X direction. Other numerical values may also be specified - the unit is half the parent’s width. If not a number, align on the parent’s reference point. If unset, the value fromself-alignment-Xproperty will be used.self-alignment-X(number):
0Specify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified - the unit is half the object width. If not a number, align on the object’s reference point.stencil(stencil):
ly:grid-line-interface::printThe symbol to print.
X-extent(pair of numbers):
ly:grid-line-interface::widthExtent (size) in the X direction, measured in staff-space units, relative to object’s reference point.
X-offset(number):
ly:self-alignment-interface::aligned-on-x-parentThe horizontal amount that this object is moved relative to its X-parent.
Note that many objects have special positioning considerations, which cause any setting of
X-offsetto be ignored or modified, even though the object supports theself-alignment-interface.
This object supports the following interface(s):
grid-line-interface, grob-interface, item-interface and self-alignment-interface.
This object is of class Item (characterized by item-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < GridLine ] | [ Up: All layout objects ] | [ Hairpin > ] |
3.1.65 GridPoint ¶
An auxiliary grob marking a
start or end point for a GridLine grob.
GridPoint objects are created by the following engraver(s): Grid_point_engraver.
Standard settings:
X-extent(pair of numbers): '(0 . 0)Extent (size) in the X direction, measured in staff-space units, relative to object’s reference point.
Y-extent(pair of numbers): '(0 . 0)Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s):
grid-point-interface, grob-interface and item-interface.
This object is of class Item (characterized by item-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < GridPoint ] | [ Up: All layout objects ] | [ HorizontalBracket > ] |
3.1.66 Hairpin ¶
A hairpin. See also
DynamicLineSpanner.
Hairpin objects are created by the following engraver(s): Dynamic_engraver.
Standard settings:
after-line-breaking(boolean):
ly:spanner::kill-zero-spanned-timeDummy property, used to trigger callback for
after-line-breaking.bound-padding(number):
1.0The amount of padding to insert around spanner bounds.
broken-bound-padding(number):
ly:hairpin::broken-bound-paddingThe amount of padding to insert when a spanner is broken at a line break.
circled-tip(boolean):
#fPut a circle at start/end of hairpins (al/del niente).
endpoint-alignments(pair of numbers): '(-1 . 1)A pair of numbers representing the alignments of an object’s endpoints. E.g., the ends of a hairpin relative to
NoteColumngrobs.grow-direction(direction):
hairpin::calc-grow-directionCrescendo or decrescendo?
height(dimension, in staff space):
0.6666Height of an object in
staff-spaceunits.minimum-length(dimension, in staff space):
2.0Try to make a spanner at least this long, normally in the horizontal direction. This requires an appropriate callback for the
springs-and-rodsproperty. If added to aTie, this sets the minimum distance between note heads.self-alignment-Y(number):
0Like
self-alignment-Xbut for the Y axis.springs-and-rods(boolean):
ly:spanner::set-spacing-rodsDummy variable for triggering spacing routines.
stencil(stencil):
ly:hairpin::printThe symbol to print.
thickness(number):
1.0For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e., the visual output is influenced by changes to
Staff.StaffSymbol.thickness).to-barline(boolean):
#tIf true, the spanner will stop at the bar line just before it would otherwise stop.
vertical-skylines(pair of skylines):
#<unpure-pure-container ly:grob::vertical-skylines-from-stencil ly:grob::pure-simple-vertical-skylines-from-extents >Two skylines, one above and one below this grob.
Y-extent(pair of numbers):
#<unpure-pure-container ly:grob::stencil-height ly:hairpin::pure-height >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
Y-offset(number):
#<unpure-pure-container ly:self-alignment-interface::y-aligned-on-self ly:self-alignment-interface::pure-y-aligned-on-self >The vertical amount that this object is moved relative to its Y-parent.
Note that many objects have special positioning considerations, which cause any setting of
Y-offsetto be ignored or modified, even though the object supports theself-alignment-interface.
This object supports the following interface(s):
dynamic-interface, grob-interface, hairpin-interface, line-interface, outside-staff-interface, self-alignment-interface and spanner-interface.
This object is of class Spanner (characterized by spanner-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < Hairpin ] | [ Up: All layout objects ] | [ HorizontalBracketText > ] |
3.1.67 HorizontalBracket ¶
A horizontal bracket between
notes. See also HorizontalBracketText and
MeasureSpanner.
HorizontalBracket objects are created by the following engraver(s): Horizontal_bracket_engraver.
Standard settings:
bracket-flare(pair of numbers): '(0.5 . 0.5)A pair of numbers specifying how much edges of brackets should slant outward. Value
0.0means straight edges.break-overshoot(pair of numbers):
horizontal-bracket::calc-break-overshootA pair of numbers specifying how much a broken spanner sticks out of its bounds horizontally on the broken side(s). For broken beams and broken tuplet brackets, the bounds are given by the prefatory matter on the left and/or the rightmost column on the right. For broken horizontal brackets, the bounds are the leftmost and/or rightmost column; for broken measure spanners, the left and/or right edge of the staff.
connect-to-neighbor(pair):
ly:spanner::calc-connect-to-neighborsPair of booleans, indicating whether this grob looks as a continued break.
direction(direction):
-1If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.outside-staff-priority(number):
800If set, the grob is positioned outside the staff in such a way as to avoid all collisions. In case of a potential collision, the grob with the smaller
outside-staff-priorityis closer to the staff.padding(dimension, in staff space):
0.2Add this much extra space between objects that are next to each other.
side-axis(number):
1If the value is
X(or equivalently0), the object is placed horizontally next to the other object. If the value isYor1, it is placed vertically.staff-padding(dimension, in staff space):
0.2Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
stencil(stencil):
ly:horizontal-bracket::printThe symbol to print.
thickness(number):
1.0For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e., the visual output is influenced by changes to
Staff.StaffSymbol.thickness).vertical-skylines(pair of skylines):
#<unpure-pure-container ly:grob::vertical-skylines-from-stencil ly:grob::pure-simple-vertical-skylines-from-extents >Two skylines, one above and one below this grob.
Y-offset(number):
#<unpure-pure-container ly:side-position-interface::y-aligned-side ly:side-position-interface::pure-y-aligned-side >The vertical amount that this object is moved relative to its Y-parent.
Note that many objects have special positioning considerations, which cause any setting of
Y-offsetto be ignored or modified, even though the object supports theself-alignment-interface.
This object supports the following interface(s):
grob-interface, horizontal-bracket-interface, line-interface, outside-staff-interface, side-position-interface and spanner-interface.
This object is of class Spanner (characterized by spanner-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < HorizontalBracket ] | [ Up: All layout objects ] | [ InstrumentName > ] |
3.1.68 HorizontalBracketText ¶
Text (markup) for a
HorizontalBracket grob.
HorizontalBracketText objects are created by the following engraver(s): Horizontal_bracket_engraver.
Standard settings:
direction(direction):
ly:horizontal-bracket-text::calc-directionIf
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.font-size(number):
-1The font size, compared to the ‘normal’ size.
0is style-sheet’s normal size,-1is smaller,+1is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. If the context propertyfontSizeis set, its value is added to this before the glyph is printed. Fractional values are allowed.padding(dimension, in staff space):
0.5Add this much extra space between objects that are next to each other.
parent-alignment-X(number):
0Specify on which point of the parent the object is aligned. The value
-1means aligned on parent’s left edge,0on center, and1right edge, in X direction. Other numerical values may also be specified - the unit is half the parent’s width. If not a number, align on the parent’s reference point. If unset, the value fromself-alignment-Xproperty will be used.self-alignment-X(number):
0Specify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified - the unit is half the object width. If not a number, align on the object’s reference point.side-axis(number):
1If the value is
X(or equivalently0), the object is placed horizontally next to the other object. If the value isYor1, it is placed vertically.stencil(stencil):
ly:horizontal-bracket-text::printThe symbol to print.
X-offset(number):
ly:self-alignment-interface::aligned-on-x-parentThe horizontal amount that this object is moved relative to its X-parent.
Note that many objects have special positioning considerations, which cause any setting of
X-offsetto be ignored or modified, even though the object supports theself-alignment-interface.Y-offset(number):
#<unpure-pure-container ly:side-position-interface::y-aligned-side ly:side-position-interface::pure-y-aligned-side >The vertical amount that this object is moved relative to its Y-parent.
Note that many objects have special positioning considerations, which cause any setting of
Y-offsetto be ignored or modified, even though the object supports theself-alignment-interface.
This object supports the following interface(s):
accidental-switch-interface, font-interface, grob-interface, horizontal-bracket-text-interface, outside-staff-interface, self-alignment-interface, side-position-interface, spanner-interface and text-interface.
This object is of class Spanner (characterized by spanner-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < HorizontalBracketText ] | [ Up: All layout objects ] | [ InstrumentSwitch > ] |
3.1.69 InstrumentName ¶
An instrument name, usually displayed to the left of a staff.
InstrumentName objects are created by the following engraver(s): Instrument_name_engraver.
Standard settings:
direction(direction):
-1If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.padding(dimension, in staff space):
0.3Add this much extra space between objects that are next to each other.
self-alignment-X(number):
0Specify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified - the unit is half the object width. If not a number, align on the object’s reference point.self-alignment-Y(number):
0Like
self-alignment-Xbut for the Y axis.stencil(stencil):
system-start-text::printThe symbol to print.
X-offset(number):
system-start-text::calc-x-offsetThe horizontal amount that this object is moved relative to its X-parent.
Note that many objects have special positioning considerations, which cause any setting of
X-offsetto be ignored or modified, even though the object supports theself-alignment-interface.Y-offset(number):
system-start-text::calc-y-offsetThe vertical amount that this object is moved relative to its Y-parent.
Note that many objects have special positioning considerations, which cause any setting of
Y-offsetto be ignored or modified, even though the object supports theself-alignment-interface.
This object supports the following interface(s):
accidental-switch-interface, font-interface, grob-interface, self-alignment-interface, side-position-interface, spanner-interface, system-start-text-interface and text-interface.
This object is of class Spanner (characterized by spanner-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < InstrumentName ] | [ Up: All layout objects ] | [ JumpScript > ] |
3.1.70 InstrumentSwitch ¶
This grob is deprecated. Do not use it.
InstrumentSwitch objects are created by the following engraver(s): Instrument_switch_engraver.
Standard settings:
direction(direction):
1If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.extra-spacing-width(pair of numbers): '(+inf.0 . -inf.0)In the horizontal spacing problem, we pad each item by this amount (by adding the ‘car’ on the left side of the item and adding the ‘cdr’ on the right side of the item). In order to make a grob take up no horizontal space at all, set this to
(+inf.0 . -inf.0).outside-staff-priority(number):
500If set, the grob is positioned outside the staff in such a way as to avoid all collisions. In case of a potential collision, the grob with the smaller
outside-staff-priorityis closer to the staff.padding(dimension, in staff space):
0.5Add this much extra space between objects that are next to each other.
parent-alignment-X(number):
#fSpecify on which point of the parent the object is aligned. The value
-1means aligned on parent’s left edge,0on center, and1right edge, in X direction. Other numerical values may also be specified - the unit is half the parent’s width. If not a number, align on the parent’s reference point. If unset, the value fromself-alignment-Xproperty will be used.self-alignment-X(number):
-1Specify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified - the unit is half the object width. If not a number, align on the object’s reference point.side-axis(number):
1If the value is
X(or equivalently0), the object is placed horizontally next to the other object. If the value isYor1, it is placed vertically.staff-padding(dimension, in staff space):
0.5Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
stencil(stencil):
ly:text-interface::printThe symbol to print.
X-offset(number):
ly:self-alignment-interface::aligned-on-x-parentThe horizontal amount that this object is moved relative to its X-parent.
Note that many objects have special positioning considerations, which cause any setting of
X-offsetto be ignored or modified, even though the object supports theself-alignment-interface.Y-extent(pair of numbers):
#<unpure-pure-container ly:grob::stencil-height >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
Y-offset(number):
#<unpure-pure-container ly:side-position-interface::y-aligned-side ly:side-position-interface::pure-y-aligned-side >The vertical amount that this object is moved relative to its Y-parent.
Note that many objects have special positioning considerations, which cause any setting of
Y-offsetto be ignored or modified, even though the object supports theself-alignment-interface.
This object supports the following interface(s):
accidental-switch-interface, font-interface, grob-interface, item-interface, outside-staff-interface, self-alignment-interface, side-position-interface and text-interface.
This object is of class Item (characterized by item-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < InstrumentSwitch ] | [ Up: All layout objects ] | [ KeyCancellation > ] |
3.1.71 JumpScript ¶
A grob to display a ‘point of departure’ like D.C. al fine.
JumpScript objects are created by the following engraver(s): Jump_engraver.
Standard settings:
after-line-breaking(boolean):
ly:side-position-interface::move-to-extremal-staffDummy property, used to trigger callback for
after-line-breaking.baseline-skip(dimension, in staff space):
2Distance between base lines of multiple lines of text.
break-align-symbols(list): '(staff-bar key-signature clef)A list of break-align symbols that determines which breakable items to align this to. If the grob selected by the first symbol in the list is invisible due to
break-visibility, we will align to the next grob (and so on). Choices are listed in Grobs and their break-align symbols.break-visibility(vector): #(#t #t #f)A vector of 3 booleans,
#(end-of-line unbroken begin-of-line).#tmeans visible,#fmeans killed.direction(direction):
-1If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.extra-spacing-width(pair of numbers): '(+inf.0 . -inf.0)In the horizontal spacing problem, we pad each item by this amount (by adding the ‘car’ on the left side of the item and adding the ‘cdr’ on the right side of the item). In order to make a grob take up no horizontal space at all, set this to
(+inf.0 . -inf.0).font-shape(symbol):
'italicSelect the shape of a font. Possible values are
upright,italic,oblique, andslanted(which is the same asoblique).non-musical(boolean):
#tTrue if the grob belongs to a
NonMusicalPaperColumn.outside-staff-horizontal-padding(number):
0.2By default, an outside-staff-object can be placed so that is it very close to another grob horizontally. If this property is set, the outside-staff-object is raised so that it is not so close to its neighbor.
outside-staff-priority(number):
1350If set, the grob is positioned outside the staff in such a way as to avoid all collisions. In case of a potential collision, the grob with the smaller
outside-staff-priorityis closer to the staff.padding(dimension, in staff space):
0.8Add this much extra space between objects that are next to each other.
self-alignment-X(number):
1Specify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified - the unit is half the object width. If not a number, align on the object’s reference point.stencil(stencil):
ly:text-interface::printThe symbol to print.
vertical-skylines(pair of skylines):
#<unpure-pure-container ly:grob::vertical-skylines-from-stencil >Two skylines, one above and one below this grob.
X-offset(number):
self-alignment-interface::self-aligned-on-breakableThe horizontal amount that this object is moved relative to its X-parent.
Note that many objects have special positioning considerations, which cause any setting of
X-offsetto be ignored or modified, even though the object supports theself-alignment-interface.Y-extent(pair of numbers):
#<unpure-pure-container ly:grob::stencil-height >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
Y-offset(number):
#<unpure-pure-container ly:side-position-interface::y-aligned-side ly:side-position-interface::pure-y-aligned-side >The vertical amount that this object is moved relative to its Y-parent.
Note that many objects have special positioning considerations, which cause any setting of
Y-offsetto be ignored or modified, even though the object supports theself-alignment-interface.
This object supports the following interface(s):
break-alignable-interface, font-interface, grob-interface, item-interface, jump-script-interface, outside-staff-interface, self-alignment-interface, side-position-interface and text-interface.
This object is of class Item (characterized by item-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < JumpScript ] | [ Up: All layout objects ] | [ KeySignature > ] |
3.1.72 KeyCancellation ¶
A key cancellation, normally
consisting of naturals, to be displayed (if necessary) immediately
before a KeySignature grob if the key changes.
KeyCancellation objects are created by the following engraver(s): Key_engraver.
Standard settings:
break-align-symbol(symbol):
'key-cancellationThis key is used for aligning, ordering, and spacing breakable items. See break-alignment-interface.
break-visibility(vector): #(#t #t #f)A vector of 3 booleans,
#(end-of-line unbroken begin-of-line).#tmeans visible,#fmeans killed.extra-spacing-height(pair of numbers):
pure-from-neighbor-interface::extra-spacing-height-including-staffIn the horizontal spacing problem, we increase the height of each item by this amount (by adding the ‘car’ to the bottom of the item and adding the ‘cdr’ to the top of the item). In order to make a grob infinitely high (to prevent the horizontal spacing problem from placing any other grobs above or below this grob), set this to
(-inf.0 . +inf.0).extra-spacing-width(pair of numbers): '(0.0 . 1.0)In the horizontal spacing problem, we pad each item by this amount (by adding the ‘car’ on the left side of the item and adding the ‘cdr’ on the right side of the item). In order to make a grob take up no horizontal space at all, set this to
(+inf.0 . -inf.0).flat-positions(list): '(2 3 4 2 1 2 1)Flats in key signatures are placed within the specified ranges of staff positions. The general form is a list of pairs, with one pair for each type of clef, in order of the staff position at which each clef places C:
(alto treble tenor soprano baritone mezzosoprano bass). If the list contains a single element it applies for all clefs. A single number in place of a pair sets accidentals within the octave ending at that staff position.non-musical(boolean):
#tTrue if the grob belongs to a
NonMusicalPaperColumn.sharp-positions(list): '(4 5 4 2 3 2 3)Sharps in key signatures are placed within the specified ranges of staff positions. The general form is a list of pairs, with one pair for each type of clef, in order of the staff position at which each clef places C:
(alto treble tenor soprano baritone mezzosoprano bass). If the list contains a single element it applies for all clefs. A single number in place of a pair sets accidentals within the octave ending at that staff position.space-alist(alist, with symbols as keys):'((time-signature extra-space . 1.25) (signum-repetitionis extra-space . 0.6) (staff-bar extra-space . 0.6) (key-signature extra-space . 0.5) (cue-clef extra-space . 0.5) (right-edge extra-space . 0.5) (first-note shrink-space . 2.5) (optional-material-end-bracket extra-space . 1.0) (optional-material-start-bracket extra-space . 1.0) (custos extra-space . 1.0))An alist that specifies distances from this grob to other breakable items, using the format:
'((break-align-symbol . (spacing-style . space)) (break-align-symbol . (spacing-style . space)) ...)Standard choices for
break-align-symbolare listed in Grobs and their break-align symbols. Additionally, three special break-align symbols available tospace-alistare:
first-noteused when the grob is just left of the first note on a line
next-noteused when the grob is just left of any other note; if not set, the value of
first-notegets usedright-edgeused when the grob is the last item on the line (only compatible with the
extra-spacespacing style)If
space-alistis defined for a grob that gets spaced in a staff, an entry forfirst-notemust be present. If there is nonext-noteentry, the value offirst-noteis used instead.Choices for
spacing-styleare:
extra-spacePut this much space between the two grobs. The space is stretchable and shrinkable when paired with
first-noteornext-note; otherwise it is fixed.minimum-spacePut at least this much space between the left sides of both grobs, without allowing them to collide. The space is stretchable and shrinkable when paired with
first-noteornext-note; otherwise it is fixed. Not compatible withright-edge.fixed-spaceOnly compatible with
first-noteandnext-note. Put this much fixed space between the grob and the note.minimum-fixed-spaceOnly compatible with
first-noteandnext-note. Put at least this much fixed space between the left side of the grob and the left side of the note, without allowing them to collide.semi-fixed-spaceOnly compatible with
first-noteandnext-note. Put this much space between the grob and the note, such that half of the space is fixed and half is stretchable and shrinkable.shrink-spaceOnly compatible with
first-noteandnext-note. Put this much space between the two grobs. The space is only shrinkable.semi-shrink-spaceOnly compatible with
first-noteandnext-note. Put this much space between the grob and the note, such that half of the space is fixed and half is shrinkable.Rules for this spacing are much more complicated than this. See [Wanske] page 126–134, [Ross] page 143–147.
stencil(stencil):
ly:key-signature-interface::printThe symbol to print.
vertical-skylines(pair of skylines):
#<unpure-pure-container ly:grob::vertical-skylines-from-stencil >Two skylines, one above and one below this grob.
Y-extent(pair of numbers):
#<unpure-pure-container ly:grob::stencil-height >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
Y-offset(number):
#<unpure-pure-container ly:staff-symbol-referencer::callback >The vertical amount that this object is moved relative to its Y-parent.
Note that many objects have special positioning considerations, which cause any setting of
Y-offsetto be ignored or modified, even though the object supports theself-alignment-interface.
This object supports the following interface(s):
accidental-switch-interface, break-aligned-interface, font-interface, grob-interface, item-interface, key-cancellation-interface, key-signature-interface, pure-from-neighbor-interface and staff-symbol-referencer-interface.
This object is of class Item (characterized by item-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < KeyCancellation ] | [ Up: All layout objects ] | [ KievanLigature > ] |
3.1.73 KeySignature ¶
A key signature. See also
KeyCancellation.
KeySignature objects are created by the following engraver(s): Key_engraver.
Standard settings:
avoid-slur(symbol):
'insideMethod of handling slur collisions. Choices are
inside,outside,around, andignore.insideadjusts the slur if needed to keep the grob inside the slur.outsidemoves the grob vertically to the outside of the slur.aroundmoves the grob vertically to the outside of the slur only if there is a collision.ignoredoes not move either. In grobs whose notational significance depends on vertical position (such as accidentals, clefs, etc.),outsideandaroundbehave likeignore.break-align-anchor(number):
ly:break-aligned-interface::calc-extent-aligned-anchorGrobs aligned to this breakable item will have their X-offsets shifted by this number. In bar lines, for example, this is used to position grobs relative to the (visual) center of the bar line.
break-align-anchor-alignment(number):
1Read by
ly:break-aligned-interface::calc-extent-aligned-anchorfor aligning an anchor to a grob’s extent.break-align-symbol(symbol):
'key-signatureThis key is used for aligning, ordering, and spacing breakable items. See break-alignment-interface.
break-visibility(vector): #(#f #f #t)A vector of 3 booleans,
#(end-of-line unbroken begin-of-line).#tmeans visible,#fmeans killed.extra-spacing-height(pair of numbers):
pure-from-neighbor-interface::extra-spacing-height-including-staffIn the horizontal spacing problem, we increase the height of each item by this amount (by adding the ‘car’ to the bottom of the item and adding the ‘cdr’ to the top of the item). In order to make a grob infinitely high (to prevent the horizontal spacing problem from placing any other grobs above or below this grob), set this to
(-inf.0 . +inf.0).extra-spacing-width(pair of numbers): '(0.0 . 1.0)In the horizontal spacing problem, we pad each item by this amount (by adding the ‘car’ on the left side of the item and adding the ‘cdr’ on the right side of the item). In order to make a grob take up no horizontal space at all, set this to
(+inf.0 . -inf.0).flat-positions(list): '(2 3 4 2 1 2 1)Flats in key signatures are placed within the specified ranges of staff positions. The general form is a list of pairs, with one pair for each type of clef, in order of the staff position at which each clef places C:
(alto treble tenor soprano baritone mezzosoprano bass). If the list contains a single element it applies for all clefs. A single number in place of a pair sets accidentals within the octave ending at that staff position.non-musical(boolean):
#tTrue if the grob belongs to a
NonMusicalPaperColumn.sharp-positions(list): '(4 5 4 2 3 2 3)Sharps in key signatures are placed within the specified ranges of staff positions. The general form is a list of pairs, with one pair for each type of clef, in order of the staff position at which each clef places C:
(alto treble tenor soprano baritone mezzosoprano bass). If the list contains a single element it applies for all clefs. A single number in place of a pair sets accidentals within the octave ending at that staff position.space-alist(alist, with symbols as keys):'((ambitus extra-space . 1.15) (key-cancellation extra-space . 0.3) (time-signature extra-space . 1.15) (signum-repetitionis extra-space . 1.1) (staff-bar extra-space . 1.1) (cue-clef extra-space . 0.5) (optional-material-end-bracket extra-space . 1.0) (optional-material-start-bracket extra-space . 1.0) (right-edge extra-space . 0.5) (first-note shrink-space . 2.5))An alist that specifies distances from this grob to other breakable items, using the format:
'((break-align-symbol . (spacing-style . space)) (break-align-symbol . (spacing-style . space)) ...)Standard choices for
break-align-symbolare listed in Grobs and their break-align symbols. Additionally, three special break-align symbols available tospace-alistare:
first-noteused when the grob is just left of the first note on a line
next-noteused when the grob is just left of any other note; if not set, the value of
first-notegets usedright-edgeused when the grob is the last item on the line (only compatible with the
extra-spacespacing style)If
space-alistis defined for a grob that gets spaced in a staff, an entry forfirst-notemust be present. If there is nonext-noteentry, the value offirst-noteis used instead.Choices for
spacing-styleare:
extra-spacePut this much space between the two grobs. The space is stretchable and shrinkable when paired with
first-noteornext-note; otherwise it is fixed.minimum-spacePut at least this much space between the left sides of both grobs, without allowing them to collide. The space is stretchable and shrinkable when paired with
first-noteornext-note; otherwise it is fixed. Not compatible withright-edge.fixed-spaceOnly compatible with
first-noteandnext-note. Put this much fixed space between the grob and the note.minimum-fixed-spaceOnly compatible with
first-noteandnext-note. Put at least this much fixed space between the left side of the grob and the left side of the note, without allowing them to collide.semi-fixed-spaceOnly compatible with
first-noteandnext-note. Put this much space between the grob and the note, such that half of the space is fixed and half is stretchable and shrinkable.shrink-spaceOnly compatible with
first-noteandnext-note. Put this much space between the two grobs. The space is only shrinkable.semi-shrink-spaceOnly compatible with
first-noteandnext-note. Put this much space between the grob and the note, such that half of the space is fixed and half is shrinkable.Rules for this spacing are much more complicated than this. See [Wanske] page 126–134, [Ross] page 143–147.
stencil(stencil):
ly:key-signature-interface::printThe symbol to print.
vertical-skylines(pair of skylines):
#<unpure-pure-container ly:grob::vertical-skylines-from-stencil >Two skylines, one above and one below this grob.
Y-extent(pair of numbers):
#<unpure-pure-container ly:grob::stencil-height >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
Y-offset(number):
#<unpure-pure-container ly:staff-symbol-referencer::callback >The vertical amount that this object is moved relative to its Y-parent.
Note that many objects have special positioning considerations, which cause any setting of
Y-offsetto be ignored or modified, even though the object supports theself-alignment-interface.
This object supports the following interface(s):
accidental-switch-interface, break-aligned-interface, font-interface, grob-interface, item-interface, key-signature-interface, pure-from-neighbor-interface and staff-symbol-referencer-interface.
This object is of class Item (characterized by item-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < KeySignature ] | [ Up: All layout objects ] | [ LaissezVibrerTie > ] |
3.1.74 KievanLigature ¶
An auxiliary grob to handle a
melisma (ligature) as used in Kievan square notation. See also
MensuralLigature, VaticanaLigature, and
LigatureBracket.
KievanLigature objects are created by the following engraver(s): Kievan_ligature_engraver.
Standard settings:
padding(dimension, in staff space):
0.5Add this much extra space between objects that are next to each other.
springs-and-rods(boolean):
ly:spanner::set-spacing-rodsDummy variable for triggering spacing routines.
stencil(stencil):
ly:kievan-ligature::printThe symbol to print.
This object supports the following interface(s):
font-interface, grob-interface, kievan-ligature-interface and spanner-interface.
This object is of class Spanner (characterized by spanner-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < KievanLigature ] | [ Up: All layout objects ] | [ LaissezVibrerTieColumn > ] |
3.1.75 LaissezVibrerTie ¶
A laissez-vibrer tie (i.e., a
tie from a note into nothing). See also
LaissezVibrerTieColumn, RepeatTie, and
Tie.
LaissezVibrerTie objects are created by the following engraver(s): Laissez_vibrer_engraver.
Standard settings:
control-points(list of number pairs):
ly:semi-tie::calc-control-pointsList of offsets (number pairs) that form control points for the tie, slur, or bracket shape. For Béziers, this should list the control points of a third-order Bézier curve.
details(alist, with symbols as keys): '((height-limit . 1.0) (ratio . 0.333))An alist of parameters for detailed grob behavior. See All layout objects for more information on the available parameters and their default values of a particular grob’s
detailsproperty. See Graphical Object Interfaces for documentation of the available parameters. Supporting interfaces can be found at the bottom of a grob’s description section.direction(direction):
ly:tie::calc-directionIf
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.extra-spacing-height(pair of numbers): '(-0.5 . 0.5)In the horizontal spacing problem, we increase the height of each item by this amount (by adding the ‘car’ to the bottom of the item and adding the ‘cdr’ to the top of the item). In order to make a grob infinitely high (to prevent the horizontal spacing problem from placing any other grobs above or below this grob), set this to
(-inf.0 . +inf.0).head-direction(direction):
-1Are the note heads left or right in a semitie?
line-thickness(number):
0.8For slurs and ties, this is the diameter of the virtual “pen” that draws the two arcs of the curve’s outline, which intersect at the endpoints. This property is expressed as a multiple of the current staff-line thickness (i.e., the visual output is influenced by changes to
Staff.StaffSymbol.thickness).stencil(stencil):
ly:tie::printThe symbol to print.
thickness(number):
1.2For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e., the visual output is influenced by changes to
Staff.StaffSymbol.thickness).vertical-skylines(pair of skylines):
#<unpure-pure-container ly:grob::vertical-skylines-from-stencil >Two skylines, one above and one below this grob.
Y-extent(pair of numbers):
#<unpure-pure-container ly:grob::stencil-height >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s):
bezier-curve-interface, grob-interface, item-interface, semi-tie-interface and tie-interface.
This object is of class Item (characterized by item-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < LaissezVibrerTie ] | [ Up: All layout objects ] | [ LedgerLineSpanner > ] |
3.1.76 LaissezVibrerTieColumn ¶
An auxiliary grob to determine
direction and shape of stacked LaissezVibrerTie
grobs.
LaissezVibrerTieColumn objects are created by the following engraver(s): Laissez_vibrer_engraver.
Standard settings:
head-direction(direction):
ly:semi-tie-column::calc-head-directionAre the note heads left or right in a semitie?
X-extent(pair of numbers):
#fExtent (size) in the X direction, measured in staff-space units, relative to object’s reference point.
Y-extent(pair of numbers):
#fExtent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s):
grob-interface, item-interface and semi-tie-column-interface.
This object is of class Item (characterized by item-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < LaissezVibrerTieColumn ] | [ Up: All layout objects ] | [ LeftEdge > ] |
3.1.77 LedgerLineSpanner ¶
An auxiliary grob to manage ledger lines of a whole staff.
LedgerLineSpanner objects are created by the following engraver(s): Ledger_line_engraver.
Standard settings:
layer(integer):
0An integer which determines the order of printing objects. Objects with the lowest value of layer are drawn first, then objects with progressively higher values are drawn, so objects with higher values overwrite objects with lower values. By default most objects are assigned a layer value of 1.
length-fraction(number):
0.25Multiplier for lengths. Used for determining ledger lines and stem lengths.
minimum-length-fraction(number):
0.25Minimum length of ledger line as fraction of note head size.
springs-and-rods(boolean):
ly:ledger-line-spanner::set-spacing-rodsDummy variable for triggering spacing routines.
stencil(stencil):
ly:ledger-line-spanner::printThe symbol to print.
vertical-skylines(pair of skylines):
#<unpure-pure-container ly:grob::vertical-skylines-from-stencil ly:grob::pure-simple-vertical-skylines-from-extents >Two skylines, one above and one below this grob.
X-extent(pair of numbers):
#fExtent (size) in the X direction, measured in staff-space units, relative to object’s reference point.
Y-extent(pair of numbers):
#fExtent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s):
grob-interface, ledger-line-spanner-interface and spanner-interface.
This object is of class Spanner (characterized by spanner-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < LedgerLineSpanner ] | [ Up: All layout objects ] | [ LigatureBracket > ] |
3.1.78 LeftEdge ¶
The left edge of a staff. Useful as an anchor point for other grobs.
LeftEdge objects are created by the following engraver(s): Break_align_engraver.
Standard settings:
break-align-anchor(number):
ly:break-aligned-interface::calc-extent-aligned-anchorGrobs aligned to this breakable item will have their X-offsets shifted by this number. In bar lines, for example, this is used to position grobs relative to the (visual) center of the bar line.
break-align-symbol(symbol):
'left-edgeThis key is used for aligning, ordering, and spacing breakable items. See break-alignment-interface.
break-visibility(vector): #(#f #f #t)A vector of 3 booleans,
#(end-of-line unbroken begin-of-line).#tmeans visible,#fmeans killed.non-musical(boolean):
#tTrue if the grob belongs to a
NonMusicalPaperColumn.space-alist(alist, with symbols as keys):'((ambitus extra-space . 1.15) (breathing-sign minimum-space . 0.0) (cue-end-clef extra-space . 0.8) (clef extra-space . 0.8) (cue-clef extra-space . 0.8) (signum-repetitionis extra-space . 0.0) (staff-bar extra-space . 0.0) (staff-ellipsis extra-space . 0.0) (key-cancellation extra-space . 0.0) (key-signature extra-space . 0.8) (time-signature extra-space . 1.0) (optional-material-end-bracket extra-space . 1.0) (optional-material-start-bracket extra-space . 1.0) (custos extra-space . 0.0) (first-note fixed-space . 2.0) (right-edge extra-space . 0.0))An alist that specifies distances from this grob to other breakable items, using the format:
'((break-align-symbol . (spacing-style . space)) (break-align-symbol . (spacing-style . space)) ...)Standard choices for
break-align-symbolare listed in Grobs and their break-align symbols. Additionally, three special break-align symbols available tospace-alistare:
first-noteused when the grob is just left of the first note on a line
next-noteused when the grob is just left of any other note; if not set, the value of
first-notegets usedright-edgeused when the grob is the last item on the line (only compatible with the
extra-spacespacing style)If
space-alistis defined for a grob that gets spaced in a staff, an entry forfirst-notemust be present. If there is nonext-noteentry, the value offirst-noteis used instead.Choices for
spacing-styleare:
extra-spacePut this much space between the two grobs. The space is stretchable and shrinkable when paired with
first-noteornext-note; otherwise it is fixed.minimum-spacePut at least this much space between the left sides of both grobs, without allowing them to collide. The space is stretchable and shrinkable when paired with
first-noteornext-note; otherwise it is fixed. Not compatible withright-edge.fixed-spaceOnly compatible with
first-noteandnext-note. Put this much fixed space between the grob and the note.minimum-fixed-spaceOnly compatible with
first-noteandnext-note. Put at least this much fixed space between the left side of the grob and the left side of the note, without allowing them to collide.semi-fixed-spaceOnly compatible with
first-noteandnext-note. Put this much space between the grob and the note, such that half of the space is fixed and half is stretchable and shrinkable.shrink-spaceOnly compatible with
first-noteandnext-note. Put this much space between the two grobs. The space is only shrinkable.semi-shrink-spaceOnly compatible with
first-noteandnext-note. Put this much space between the grob and the note, such that half of the space is fixed and half is shrinkable.Rules for this spacing are much more complicated than this. See [Wanske] page 126–134, [Ross] page 143–147.
X-extent(pair of numbers): '(0 . 0)Extent (size) in the X direction, measured in staff-space units, relative to object’s reference point.
Y-extent(pair of numbers): '(0 . 0)Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s):
break-aligned-interface, grob-interface and item-interface.
This object is of class Item (characterized by item-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < LeftEdge ] | [ Up: All layout objects ] | [ LyricExtender > ] |
3.1.79 LigatureBracket ¶
A horizontal bracket over a group
of notes, usually indicating an ancient ligature if transcribed
into modern notation. See also KievanLigature,
MensuralLigature, and VaticanaLigature.
LigatureBracket objects are created by the following engraver(s): Ligature_bracket_engraver.
Standard settings:
bracket-visibility(boolean or symbol):
#tThis controls the visibility of the tuplet bracket. Setting it to
#fprevents printing of the bracket. Setting the property toif-no-beammakes it print only if there is no beam associated with this tuplet bracket.connect-to-neighbor(pair):
ly:spanner::calc-connect-to-neighborsPair of booleans, indicating whether this grob looks as a continued break.
direction(direction):
1If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.edge-height(pair): '(0.7 . 0.7)A pair of numbers specifying the heights of the vertical edges:
(left-height . right-height).outside-staff-priority(number):
200If set, the grob is positioned outside the staff in such a way as to avoid all collisions. In case of a potential collision, the grob with the smaller
outside-staff-priorityis closer to the staff.padding(dimension, in staff space):
2.0Add this much extra space between objects that are next to each other.
positions(pair of numbers):
ly:tuplet-bracket::calc-positionsPair of staff coordinates
(start . end), where start and end are vertical positions instaff-spaceunits of the current staff. For slurs, this value selects which slur candidate to use; if extreme positions are requested, the closest one is taken.shorten-pair(pair of numbers): '(-0.2 . -0.2)The lengths to shorten on both sides a hairpin or text-spanner such as a pedal bracket. Positive values shorten the hairpin or text-spanner, while negative values lengthen it.
staff-padding(dimension, in staff space):
0.25Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
stencil(stencil):
ly:tuplet-bracket::printThe symbol to print.
thickness(number):
1.6For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e., the visual output is influenced by changes to
Staff.StaffSymbol.thickness).tuplet-slur(boolean):
#fDraw a slur instead of a bracket for tuplets.
X-positions(pair of numbers):
ly:tuplet-bracket::calc-x-positionsPair of X staff coordinates of a spanner in the form
(left . right), where both left and right are instaff-spaceunits of the current staff.
This object supports the following interface(s):
grob-interface, line-interface, outside-staff-interface, spanner-interface and tuplet-bracket-interface.
This object is of class Spanner (characterized by spanner-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < LigatureBracket ] | [ Up: All layout objects ] | [ LyricHyphen > ] |
3.1.80 LyricExtender ¶
An extender line in lyrics.
LyricExtender objects are created by the following engraver(s): Extender_engraver.
Standard settings:
minimum-length(dimension, in staff space):
1.5Try to make a spanner at least this long, normally in the horizontal direction. This requires an appropriate callback for the
springs-and-rodsproperty. If added to aTie, this sets the minimum distance between note heads.remove-short-autoextender(boolean):
#tIf set, auto-generated unbroken lyric extenders are removed if the lyric syllable stretches up to the last contained note head.
stencil(stencil):
ly:lyric-extender::printThe symbol to print.
thickness(number):
0.8For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e., the visual output is influenced by changes to
Staff.StaffSymbol.thickness).
This object supports the following interface(s):
grob-interface, lyric-extender-interface, lyric-interface and spanner-interface.
This object is of class Spanner (characterized by spanner-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < LyricExtender ] | [ Up: All layout objects ] | [ LyricRepeatCount > ] |
3.1.81 LyricHyphen ¶
A hyphen in lyrics. See also
VowelTransition.
LyricHyphen objects are created by the following engraver(s): Hyphen_engraver.
Standard settings:
after-line-breaking(boolean):
ly:spanner::kill-zero-spanned-timeDummy property, used to trigger callback for
after-line-breaking.dash-period(number):
10.0The length of one dash together with whitespace. If negative, no line is drawn at all.
height(dimension, in staff space):
0.42Height of an object in
staff-spaceunits.length(dimension, in staff space):
0.66User override for the stem length of unbeamed stems (each unit represents half a
staff-space).minimum-distance(dimension, in staff space):
0.1Minimum distance between rest and notes or beam.
minimum-length(dimension, in staff space):
0.3Try to make a spanner at least this long, normally in the horizontal direction. This requires an appropriate callback for the
springs-and-rodsproperty. If added to aTie, this sets the minimum distance between note heads.padding(dimension, in staff space):
0.07Add this much extra space between objects that are next to each other.
springs-and-rods(boolean):
ly:lyric-hyphen::set-spacing-rodsDummy variable for triggering spacing routines.
stencil(stencil):
ly:lyric-hyphen::printThe symbol to print.
thickness(number):
1.3For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e., the visual output is influenced by changes to
Staff.StaffSymbol.thickness).vertical-skylines(pair of skylines):
#<unpure-pure-container ly:grob::vertical-skylines-from-stencil ly:grob::pure-simple-vertical-skylines-from-extents >Two skylines, one above and one below this grob.
This object supports the following interface(s):
font-interface, grob-interface, lyric-hyphen-interface, lyric-interface and spanner-interface.
This object is of class Spanner (characterized by spanner-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < LyricHyphen ] | [ Up: All layout objects ] | [ LyricSpace > ] |
3.1.82 LyricRepeatCount ¶
A repeat count in lyrics.
LyricRepeatCount objects are created by the following engraver(s): Lyric_repeat_count_engraver.
Standard settings:
break-align-symbols(list): '(staff-bar breathing-sign)A list of break-align symbols that determines which breakable items to align this to. If the grob selected by the first symbol in the list is invisible due to
break-visibility, we will align to the next grob (and so on). Choices are listed in Grobs and their break-align symbols.break-visibility(vector): #(#t #t #f)A vector of 3 booleans,
#(end-of-line unbroken begin-of-line).#tmeans visible,#fmeans killed.extra-spacing-height(pair of numbers): '(0.2 . -0.2)In the horizontal spacing problem, we increase the height of each item by this amount (by adding the ‘car’ to the bottom of the item and adding the ‘cdr’ to the top of the item). In order to make a grob infinitely high (to prevent the horizontal spacing problem from placing any other grobs above or below this grob), set this to
(-inf.0 . +inf.0).extra-spacing-width(pair of numbers): '(-1.0 . 1.0)In the horizontal spacing problem, we pad each item by this amount (by adding the ‘car’ on the left side of the item and adding the ‘cdr’ on the right side of the item). In order to make a grob take up no horizontal space at all, set this to
(+inf.0 . -inf.0).font-series(symbol):
'normalSelect the series of a font. Common choices are
normalandbold. The full list of symbols that can be used is:thin,ultralight(orextralight),light,semilight(ordemilight),book,normal(orregular),medium,semibold(ordemibold),bold,ultrabold(orextrabold),heavy(orblack), andultraheavy(orultrablackorextrablack).font-shape(symbol):
'italicSelect the shape of a font. Possible values are
upright,italic,oblique, andslanted(which is the same asoblique).font-size(number):
1.0The font size, compared to the ‘normal’ size.
0is style-sheet’s normal size,-1is smaller,+1is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. If the context propertyfontSizeis set, its value is added to this before the glyph is printed. Fractional values are allowed.non-musical(boolean):
#tTrue if the grob belongs to a
NonMusicalPaperColumn.parent-alignment-X(number):
0Specify on which point of the parent the object is aligned. The value
-1means aligned on parent’s left edge,0on center, and1right edge, in X direction. Other numerical values may also be specified - the unit is half the parent’s width. If not a number, align on the parent’s reference point. If unset, the value fromself-alignment-Xproperty will be used.self-alignment-X(number):
1Specify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified - the unit is half the object width. If not a number, align on the object’s reference point.skyline-horizontal-padding(number):
0.1For determining the vertical distance between two staves, it is possible to have a configuration which would result in a tight interleaving of grobs from the top staff and the bottom staff. The larger this parameter is, the farther apart the staves are placed in such a configuration.
stencil(stencil):
lyric-text::printThe symbol to print.
text(markup):
#<procedure at lily/output-lib.scm:1710:0 (grob)>Text markup. See Formatting text.
vertical-skylines(pair of skylines):
#<unpure-pure-container ly:grob::vertical-skylines-from-stencil >Two skylines, one above and one below this grob.
word-space(dimension, in staff space):
0.6Space to insert between words in texts.
X-offset(number):
ly:self-alignment-interface::aligned-on-x-parentThe horizontal amount that this object is moved relative to its X-parent.
Note that many objects have special positioning considerations, which cause any setting of
X-offsetto be ignored or modified, even though the object supports theself-alignment-interface.Y-extent(pair of numbers):
#<unpure-pure-container ly:grob::stencil-height >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s):
break-alignable-interface, font-interface, grob-interface, item-interface, lyric-interface, lyric-repeat-count-interface, self-alignment-interface and text-interface.
This object is of class Item (characterized by item-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < LyricRepeatCount ] | [ Up: All layout objects ] | [ LyricText > ] |
3.1.83 LyricSpace ¶
A space in lyrics.
LyricSpace objects are created by the following engraver(s): Hyphen_engraver.
Standard settings:
minimum-distance(dimension, in staff space):
0.45Minimum distance between rest and notes or beam.
padding(dimension, in staff space):
0.0Add this much extra space between objects that are next to each other.
springs-and-rods(boolean):
ly:lyric-hyphen::set-spacing-rodsDummy variable for triggering spacing routines.
X-extent(pair of numbers):
#fExtent (size) in the X direction, measured in staff-space units, relative to object’s reference point.
Y-extent(pair of numbers):
#fExtent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s):
grob-interface, lyric-hyphen-interface, lyric-space-interface and spanner-interface.
This object is of class Spanner (characterized by spanner-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < LyricSpace ] | [ Up: All layout objects ] | [ MeasureCounter > ] |
3.1.84 LyricText ¶
A chunk of text in lyrics. See
also LyricExtender, LyricHyphen, LyricSpace,
and VowelTransition.
LyricText objects are created by the following engraver(s): Lyric_engraver.
Standard settings:
extra-spacing-height(pair of numbers): '(0.2 . -0.2)In the horizontal spacing problem, we increase the height of each item by this amount (by adding the ‘car’ to the bottom of the item and adding the ‘cdr’ to the top of the item). In order to make a grob infinitely high (to prevent the horizontal spacing problem from placing any other grobs above or below this grob), set this to
(-inf.0 . +inf.0).extra-spacing-width(pair of numbers): '(0.0 . 0.0)In the horizontal spacing problem, we pad each item by this amount (by adding the ‘car’ on the left side of the item and adding the ‘cdr’ on the right side of the item). In order to make a grob take up no horizontal space at all, set this to
(+inf.0 . -inf.0).font-series(symbol):
'normalSelect the series of a font. Common choices are
normalandbold. The full list of symbols that can be used is:thin,ultralight(orextralight),light,semilight(ordemilight),book,normal(orregular),medium,semibold(ordemibold),bold,ultrabold(orextrabold),heavy(orblack), andultraheavy(orultrablackorextrablack).font-size(number):
1.0The font size, compared to the ‘normal’ size.
0is style-sheet’s normal size,-1is smaller,+1is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. If the context propertyfontSizeis set, its value is added to this before the glyph is printed. Fractional values are allowed.parent-alignment-X(number):
'()Specify on which point of the parent the object is aligned. The value
-1means aligned on parent’s left edge,0on center, and1right edge, in X direction. Other numerical values may also be specified - the unit is half the parent’s width. If not a number, align on the parent’s reference point. If unset, the value fromself-alignment-Xproperty will be used.self-alignment-X(number):
left-align-at-split-notesSpecify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified - the unit is half the object width. If not a number, align on the object’s reference point.skyline-horizontal-padding(number):
0.1For determining the vertical distance between two staves, it is possible to have a configuration which would result in a tight interleaving of grobs from the top staff and the bottom staff. The larger this parameter is, the farther apart the staves are placed in such a configuration.
stencil(stencil):
lyric-text::printThe symbol to print.
text(markup):
#<procedure at lily/output-lib.scm:1710:0 (grob)>Text markup. See Formatting text.
vertical-skylines(pair of skylines):
#<unpure-pure-container ly:grob::vertical-skylines-from-stencil >Two skylines, one above and one below this grob.
word-space(dimension, in staff space):
0.6Space to insert between words in texts.
X-align-on-main-noteheads(boolean):
#tIf true, this grob will ignore suspended note heads when aligning itself on NoteColumn.
X-offset(number):
ly:self-alignment-interface::aligned-on-x-parentThe horizontal amount that this object is moved relative to its X-parent.
Note that many objects have special positioning considerations, which cause any setting of
X-offsetto be ignored or modified, even though the object supports theself-alignment-interface.Y-extent(pair of numbers):
#<unpure-pure-container ly:grob::stencil-height >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s):
font-interface, grob-interface, item-interface, lyric-syllable-interface, rhythmic-grob-interface, self-alignment-interface and text-interface.
This object is of class Item (characterized by item-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < LyricText ] | [ Up: All layout objects ] | [ MeasureGrouping > ] |
3.1.85 MeasureCounter ¶
A grob to print a counter for measures.
MeasureCounter objects are created by the following engraver(s): Measure_counter_engraver.
Standard settings:
count-from(integer):
1The first measure in a measure count receives this number. The following measures are numbered in increments from this initial value.
direction(direction):
1If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.font-encoding(symbol):
'fetaTextThe font encoding is the broadest category for selecting a font. Currently, only LilyPond’s system fonts (Emmentaler) are using this property. Available values are
fetaMusic(Emmentaler),fetaBraces,fetaText(Emmentaler).font-features(list):'("cv47")Opentype features.
font-size(number):
-2The font size, compared to the ‘normal’ size.
0is style-sheet’s normal size,-1is smaller,+1is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. If the context propertyfontSizeis set, its value is added to this before the glyph is printed. Fractional values are allowed.number-range-separator(markup):
"–"For a measure counter extending over several measures (like with compressed multi-measure rests), this is the separator between the two printed numbers.
outside-staff-horizontal-padding(number):
0.5By default, an outside-staff-object can be placed so that is it very close to another grob horizontally. If this property is set, the outside-staff-object is raised so that it is not so close to its neighbor.
outside-staff-priority(number):
750If set, the grob is positioned outside the staff in such a way as to avoid all collisions. In case of a potential collision, the grob with the smaller
outside-staff-priorityis closer to the staff.self-alignment-X(number):
0Specify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified - the unit is half the object width. If not a number, align on the object’s reference point.side-axis(number):
1If the value is
X(or equivalently0), the object is placed horizontally next to the other object. If the value isYor1, it is placed vertically.spacing-pair(pair): '(break-alignment . break-alignment)A pair of alignment symbols which set an object’s spacing relative to its left and right
BreakAlignments.For example, a
MultiMeasureRestwill ignore prefatory items at its bounds (i.e., clefs, key signatures and time signatures) using the following override:\override MultiMeasureRest.spacing-pair = #'(staff-bar . staff-bar)staff-padding(dimension, in staff space):
0.5Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
stencil(stencil):
ly:text-interface::printThe symbol to print.
text(markup):
measure-counter::textText markup. See Formatting text.
word-space(dimension, in staff space):
0.2Space to insert between words in texts.
X-offset(number):
centered-spanner-interface::calc-x-offsetThe horizontal amount that this object is moved relative to its X-parent.
Note that many objects have special positioning considerations, which cause any setting of
X-offsetto be ignored or modified, even though the object supports theself-alignment-interface.Y-offset(number):
#<unpure-pure-container ly:side-position-interface::y-aligned-side ly:side-position-interface::pure-y-aligned-side >The vertical amount that this object is moved relative to its Y-parent.
Note that many objects have special positioning considerations, which cause any setting of
Y-offsetto be ignored or modified, even though the object supports theself-alignment-interface.
This object supports the following interface(s):
centered-spanner-interface, font-interface, grob-interface, measure-counter-interface, outside-staff-interface, self-alignment-interface, side-position-interface, spanner-interface and text-interface.
This object is of class Spanner (characterized by spanner-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < MeasureCounter ] | [ Up: All layout objects ] | [ MeasureSpanner > ] |
3.1.86 MeasureGrouping ¶
A measure grouping or conducting sign.
MeasureGrouping objects are created by the following engraver(s): Measure_grouping_engraver.
Standard settings:
direction(direction):
1If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.height(dimension, in staff space):
2.0Height of an object in
staff-spaceunits.padding(dimension, in staff space):
2Add this much extra space between objects that are next to each other.
side-axis(number):
1If the value is
X(or equivalently0), the object is placed horizontally next to the other object. If the value isYor1, it is placed vertically.staff-padding(dimension, in staff space):
3Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
stencil(stencil):
ly:measure-grouping::printThe symbol to print.
thickness(number):
1For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e., the visual output is influenced by changes to
Staff.StaffSymbol.thickness).Y-offset(number):
#<unpure-pure-container ly:side-position-interface::y-aligned-side ly:side-position-interface::pure-y-aligned-side >The vertical amount that this object is moved relative to its Y-parent.
Note that many objects have special positioning considerations, which cause any setting of
Y-offsetto be ignored or modified, even though the object supports theself-alignment-interface.
This object supports the following interface(s):
grob-interface, measure-grouping-interface, outside-staff-interface, side-position-interface and spanner-interface.
This object is of class Spanner (characterized by spanner-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < MeasureGrouping ] | [ Up: All layout objects ] | [ MelodyItem > ] |
3.1.87 MeasureSpanner ¶
A horizontal bracket between
bar lines. See also HorizontalBracket.
MeasureSpanner objects are created by the following engraver(s): Measure_spanner_engraver.
Standard settings:
connect-to-neighbor(pair):
ly:spanner::calc-connect-to-neighborsPair of booleans, indicating whether this grob looks as a continued break.
direction(direction):
1If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.edge-height(pair): '(0.7 . 0.7)A pair of numbers specifying the heights of the vertical edges:
(left-height . right-height).outside-staff-priority(number):
750If set, the grob is positioned outside the staff in such a way as to avoid all collisions. In case of a potential collision, the grob with the smaller
outside-staff-priorityis closer to the staff.self-alignment-X(number):
0Specify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified - the unit is half the object width. If not a number, align on the object’s reference point.side-axis(number):
1If the value is
X(or equivalently0), the object is placed horizontally next to the other object. If the value isYor1, it is placed vertically.spacing-pair(pair): '(staff-bar . staff-bar)A pair of alignment symbols which set an object’s spacing relative to its left and right
BreakAlignments.For example, a
MultiMeasureRestwill ignore prefatory items at its bounds (i.e., clefs, key signatures and time signatures) using the following override:\override MultiMeasureRest.spacing-pair = #'(staff-bar . staff-bar)staff-padding(dimension, in staff space):
0.5Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
stencil(stencil):
ly:measure-spanner::printThe symbol to print.
Y-offset(number):
#<unpure-pure-container ly:side-position-interface::y-aligned-side ly:side-position-interface::pure-y-aligned-side >The vertical amount that this object is moved relative to its Y-parent.
Note that many objects have special positioning considerations, which cause any setting of
Y-offsetto be ignored or modified, even though the object supports theself-alignment-interface.
This object supports the following interface(s):
accidental-switch-interface, font-interface, grob-interface, line-interface, measure-spanner-interface, outside-staff-interface, self-alignment-interface, side-position-interface, spanner-interface and text-interface.
This object is of class Spanner (characterized by spanner-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < MeasureSpanner ] | [ Up: All layout objects ] | [ MensuralLigature > ] |
3.1.88 MelodyItem ¶
An auxiliary grob to help alter the stem directions of middle notes on a staff so that they follow the melody.
MelodyItem objects are created by the following engraver(s): Melody_engraver.
Standard settings:
neutral-direction(direction):
-1Which direction to take in the center of the staff.
This object supports the following interface(s):
grob-interface, item-interface and melody-spanner-interface.
This object is of class Item (characterized by item-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < MelodyItem ] | [ Up: All layout objects ] | [ MetronomeMark > ] |
3.1.89 MensuralLigature ¶
A grob to display a ligature as
used in mensural notation. See also KievanLigature,
VaticanaLigature, and LigatureBracket.
MensuralLigature objects are created by the following engraver(s): Mensural_ligature_engraver.
Standard settings:
springs-and-rods(boolean):
ly:spanner::set-spacing-rodsDummy variable for triggering spacing routines.
stencil(stencil):
ly:mensural-ligature::printThe symbol to print.
thickness(number):
1.3For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e., the visual output is influenced by changes to
Staff.StaffSymbol.thickness).
This object supports the following interface(s):
font-interface, grob-interface, mensural-ligature-interface and spanner-interface.
This object is of class Spanner (characterized by spanner-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < MensuralLigature ] | [ Up: All layout objects ] | [ MultiMeasureRest > ] |
3.1.90 MetronomeMark ¶
A metronome mark. This is either a precise tempo indication like ‘quarter note = 80’, or an arbitrary piece of text (like ‘Allegro’), possibly followed by a precise indication in parentheses.
MetronomeMark objects are created by the following engraver(s): Metronome_mark_engraver.
Standard settings:
after-line-breaking(boolean):
ly:side-position-interface::move-to-extremal-staffDummy property, used to trigger callback for
after-line-breaking.break-align-symbols(list): '(time-signature)A list of break-align symbols that determines which breakable items to align this to. If the grob selected by the first symbol in the list is invisible due to
break-visibility, we will align to the next grob (and so on). Choices are listed in Grobs and their break-align symbols.break-visibility(vector): #(#f #t #t)A vector of 3 booleans,
#(end-of-line unbroken begin-of-line).#tmeans visible,#fmeans killed.direction(direction):
1If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.extra-spacing-width(pair of numbers): '(+inf.0 . -inf.0)In the horizontal spacing problem, we pad each item by this amount (by adding the ‘car’ on the left side of the item and adding the ‘cdr’ on the right side of the item). In order to make a grob take up no horizontal space at all, set this to
(+inf.0 . -inf.0).flag-style(symbol):
'defaultThe style of flags to be displayed within markups (via
\note-by-number). Available are'modern-straight-flag,'old-straight-flag,'flat-flag,'mensural,'stacked, and'default.non-break-align-symbols(list): '(paper-column-interface)A list of symbols that determine which NON-break-aligned interfaces to align this to.
outside-staff-horizontal-padding(number):
0.2By default, an outside-staff-object can be placed so that is it very close to another grob horizontally. If this property is set, the outside-staff-object is raised so that it is not so close to its neighbor.
outside-staff-priority(number):
1300If set, the grob is positioned outside the staff in such a way as to avoid all collisions. In case of a potential collision, the grob with the smaller
outside-staff-priorityis closer to the staff.padding(dimension, in staff space):
0.8Add this much extra space between objects that are next to each other.
self-alignment-X(number):
-1Specify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified - the unit is half the object width. If not a number, align on the object’s reference point.side-axis(number):
1If the value is
X(or equivalently0), the object is placed horizontally next to the other object. If the value isYor1, it is placed vertically.stencil(stencil):
ly:text-interface::printThe symbol to print.
vertical-skylines(pair of skylines):
#<unpure-pure-container ly:grob::vertical-skylines-from-stencil >Two skylines, one above and one below this grob.
X-offset(number):
self-alignment-interface::self-aligned-on-breakableThe horizontal amount that this object is moved relative to its X-parent.
Note that many objects have special positioning considerations, which cause any setting of
X-offsetto be ignored or modified, even though the object supports theself-alignment-interface.Y-extent(pair of numbers):
#<unpure-pure-container ly:grob::stencil-height >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
Y-offset(number):
#<unpure-pure-container ly:side-position-interface::y-aligned-side ly:side-position-interface::pure-y-aligned-side >The vertical amount that this object is moved relative to its Y-parent.
Note that many objects have special positioning considerations, which cause any setting of
Y-offsetto be ignored or modified, even though the object supports theself-alignment-interface.
This object supports the following interface(s):
break-alignable-interface, font-interface, grob-interface, item-interface, metronome-mark-interface, outside-staff-interface, self-alignment-interface, side-position-interface and text-interface.
This object is of class Item (characterized by item-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < MetronomeMark ] | [ Up: All layout objects ] | [ MultiMeasureRestNumber > ] |
3.1.91 MultiMeasureRest ¶
A multi-measure rest. See also
MultiMeasureRestNumber, MultiMeasureRestText,
MultiMeasureRestScript, and Rest.
MultiMeasureRest objects are created by the following engraver(s): Multi_measure_rest_engraver.
Standard settings:
bound-padding(number):
0.5The amount of padding to insert around spanner bounds.
expand-limit(integer):
10Maximum number of measures expanded in church rests.
hair-thickness(number):
2.0Thickness of the thin line in a bar line, expressed as a multiple of the default staff-line thickness (i.e., the visual output is not influenced by changes to
Staff.StaffSymbol.thickness).max-symbol-separation(number):
8.0The maximum distance between symbols making up a church rest.
round-up-exceptions(list):
'()A list of pairs where car is the numerator and cdr the denominator of a moment. Each pair in this list means that the multi-measure rests of the corresponding length will be rounded up to the longer rest. See round-up-to-longer-rest.
space-increment(dimension, in staff space):
2.0The amount by which the total duration of a multi-measure rest affects horizontal spacing. Each doubling of the duration adds
space-incrementto the length of the bar.spacing-pair(pair): '(break-alignment . break-alignment)A pair of alignment symbols which set an object’s spacing relative to its left and right
BreakAlignments.For example, a
MultiMeasureRestwill ignore prefatory items at its bounds (i.e., clefs, key signatures and time signatures) using the following override:\override MultiMeasureRest.spacing-pair = #'(staff-bar . staff-bar)springs-and-rods(boolean):
ly:multi-measure-rest::set-spacing-rodsDummy variable for triggering spacing routines.
stencil(stencil):
ly:multi-measure-rest::printThe symbol to print.
thick-thickness(number):
6.6Thickness of the thick line in a bar line, expressed as a multiple of the default staff-line thickness (i.e., the visual output is not influenced by changes to
Staff.StaffSymbol.thickness).usable-duration-logs(list): '(-3 -2 -1 0)List of
duration-logs that can be used in typesetting the grob.voiced-position(number):
4The staff position of a voiced
Rest, negative if the rest hasdirectionDOWN.Y-extent(pair of numbers):
#<unpure-pure-container ly:multi-measure-rest::height >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
Y-offset(number):
#<unpure-pure-container ly:staff-symbol-referencer::callback >The vertical amount that this object is moved relative to its Y-parent.
Note that many objects have special positioning considerations, which cause any setting of
Y-offsetto be ignored or modified, even though the object supports theself-alignment-interface.
This object supports the following interface(s):
font-interface, grob-interface, multi-measure-interface, multi-measure-rest-interface, outside-staff-interface, rest-interface, spanner-interface and staff-symbol-referencer-interface.
This object is of class Spanner (characterized by spanner-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < MultiMeasureRest ] | [ Up: All layout objects ] | [ MultiMeasureRestScript > ] |
3.1.92 MultiMeasureRestNumber ¶
A grob to print the length of a
MultiMeasureRest grob.
MultiMeasureRestNumber objects are created by the following engraver(s): Multi_measure_rest_engraver.
Standard settings:
bound-padding(number):
1.0The amount of padding to insert around spanner bounds.
direction(direction):
1If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.font-encoding(symbol):
'fetaTextThe font encoding is the broadest category for selecting a font. Currently, only LilyPond’s system fonts (Emmentaler) are using this property. Available values are
fetaMusic(Emmentaler),fetaBraces,fetaText(Emmentaler).font-features(list):'("cv47")Opentype features.
padding(dimension, in staff space):
0.4Add this much extra space between objects that are next to each other.
parent-alignment-X(number):
0Specify on which point of the parent the object is aligned. The value
-1means aligned on parent’s left edge,0on center, and1right edge, in X direction. Other numerical values may also be specified - the unit is half the parent’s width. If not a number, align on the parent’s reference point. If unset, the value fromself-alignment-Xproperty will be used.self-alignment-X(number):
0Specify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified - the unit is half the object width. If not a number, align on the object’s reference point.side-axis(number):
1If the value is
X(or equivalently0), the object is placed horizontally next to the other object. If the value isYor1, it is placed vertically.springs-and-rods(boolean):
ly:multi-measure-rest::set-text-rodsDummy variable for triggering spacing routines.
staff-padding(dimension, in staff space):
0.4Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
stencil(stencil):
ly:text-interface::printThe symbol to print.
vertical-skylines(pair of skylines):
#<unpure-pure-container ly:grob::vertical-skylines-from-stencil ly:grob::pure-simple-vertical-skylines-from-extents >Two skylines, one above and one below this grob.
X-offset(number):
ly:self-alignment-interface::aligned-on-x-parentThe horizontal amount that this object is moved relative to its X-parent.
Note that many objects have special positioning considerations, which cause any setting of
X-offsetto be ignored or modified, even though the object supports theself-alignment-interface.Y-extent(pair of numbers):
#<unpure-pure-container ly:grob::stencil-height >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
Y-offset(number):
#<unpure-pure-container ly:side-position-interface::y-aligned-side ly:side-position-interface::pure-y-aligned-side >The vertical amount that this object is moved relative to its Y-parent.
Note that many objects have special positioning considerations, which cause any setting of
Y-offsetto be ignored or modified, even though the object supports theself-alignment-interface.
This object supports the following interface(s):
font-interface, grob-interface, multi-measure-interface, multi-measure-rest-number-interface, outside-staff-interface, self-alignment-interface, side-position-interface, spanner-interface and text-interface.
This object is of class Spanner (characterized by spanner-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < MultiMeasureRestNumber ] | [ Up: All layout objects ] | [ MultiMeasureRestText > ] |
3.1.93 MultiMeasureRestScript ¶
An articulation (like a fermata)
attached to a MultiMeasureRest grob. See also
Script.
MultiMeasureRestScript objects are created by the following engraver(s): Multi_measure_rest_engraver.
Standard settings:
direction(direction):
1If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.outside-staff-padding(number):
0The padding to place between grobs when spacing according to
outside-staff-priority. Two grobs with differentoutside-staff-paddingvalues have the larger value of padding between them.outside-staff-priority(number):
40If set, the grob is positioned outside the staff in such a way as to avoid all collisions. In case of a potential collision, the grob with the smaller
outside-staff-priorityis closer to the staff.parent-alignment-X(number):
0Specify on which point of the parent the object is aligned. The value
-1means aligned on parent’s left edge,0on center, and1right edge, in X direction. Other numerical values may also be specified - the unit is half the parent’s width. If not a number, align on the parent’s reference point. If unset, the value fromself-alignment-Xproperty will be used.self-alignment-X(number):
0Specify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified - the unit is half the object width. If not a number, align on the object’s reference point.side-axis(number):
1If the value is
X(or equivalently0), the object is placed horizontally next to the other object. If the value isYor1, it is placed vertically.staff-padding(dimension, in staff space):
0.25Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
stencil(stencil):
ly:script-interface::printThe symbol to print.
vertical-skylines(pair of skylines):
#<unpure-pure-container ly:grob::vertical-skylines-from-stencil ly:grob::pure-simple-vertical-skylines-from-extents >Two skylines, one above and one below this grob.
X-offset(number):
ly:self-alignment-interface::aligned-on-x-parentThe horizontal amount that this object is moved relative to its X-parent.
Note that many objects have special positioning considerations, which cause any setting of
X-offsetto be ignored or modified, even though the object supports theself-alignment-interface.Y-extent(pair of numbers):
#<unpure-pure-container ly:grob::stencil-height >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
Y-offset(number):
#<unpure-pure-container ly:side-position-interface::y-aligned-side ly:side-position-interface::pure-y-aligned-side >The vertical amount that this object is moved relative to its Y-parent.
Note that many objects have special positioning considerations, which cause any setting of
Y-offsetto be ignored or modified, even though the object supports theself-alignment-interface.
This object supports the following interface(s):
font-interface, grob-interface, multi-measure-interface, outside-staff-interface, script-interface, self-alignment-interface, side-position-interface and spanner-interface.
This object is of class Spanner (characterized by spanner-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < MultiMeasureRestScript ] | [ Up: All layout objects ] | [ NonMusicalPaperColumn > ] |
3.1.94 MultiMeasureRestText ¶
A text markup for a
MultiMeasureRest grob. See also TextScript.
MultiMeasureRestText objects are created by the following engraver(s): Multi_measure_rest_engraver.
Standard settings:
direction(direction):
1If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.outside-staff-priority(number):
450If set, the grob is positioned outside the staff in such a way as to avoid all collisions. In case of a potential collision, the grob with the smaller
outside-staff-priorityis closer to the staff.padding(dimension, in staff space):
0.2Add this much extra space between objects that are next to each other.
parent-alignment-X(number):
0Specify on which point of the parent the object is aligned. The value
-1means aligned on parent’s left edge,0on center, and1right edge, in X direction. Other numerical values may also be specified - the unit is half the parent’s width. If not a number, align on the parent’s reference point. If unset, the value fromself-alignment-Xproperty will be used.self-alignment-X(number):
0Specify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified - the unit is half the object width. If not a number, align on the object’s reference point.side-axis(number):
1If the value is
X(or equivalently0), the object is placed horizontally next to the other object. If the value isYor1, it is placed vertically.skyline-horizontal-padding(number):
0.2For determining the vertical distance between two staves, it is possible to have a configuration which would result in a tight interleaving of grobs from the top staff and the bottom staff. The larger this parameter is, the farther apart the staves are placed in such a configuration.
staff-padding(dimension, in staff space):
0.25Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
stencil(stencil):
ly:text-interface::printThe symbol to print.
vertical-skylines(pair of skylines):
#<unpure-pure-container ly:grob::vertical-skylines-from-stencil ly:grob::pure-simple-vertical-skylines-from-extents >Two skylines, one above and one below this grob.
X-offset(number):
ly:self-alignment-interface::aligned-on-x-parentThe horizontal amount that this object is moved relative to its X-parent.
Note that many objects have special positioning considerations, which cause any setting of
X-offsetto be ignored or modified, even though the object supports theself-alignment-interface.Y-extent(pair of numbers):
#<unpure-pure-container ly:grob::stencil-height >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
Y-offset(number):
#<unpure-pure-container ly:side-position-interface::y-aligned-side ly:side-position-interface::pure-y-aligned-side >The vertical amount that this object is moved relative to its Y-parent.
Note that many objects have special positioning considerations, which cause any setting of
Y-offsetto be ignored or modified, even though the object supports theself-alignment-interface.
This object supports the following interface(s):
font-interface, grob-interface, multi-measure-interface, outside-staff-interface, self-alignment-interface, side-position-interface, spanner-interface and text-interface.
This object is of class Spanner (characterized by spanner-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < MultiMeasureRestText ] | [ Up: All layout objects ] | [ NoteCollision > ] |
3.1.95 NonMusicalPaperColumn ¶
An auxiliary grob grouping
non-musical items to handle the flexible horizontal space between
non-musical and musical columns. Grobs that have the property
non-musical set to #t belong to this column.
NonMusicalPaperColumn objects are created by the following engraver(s): 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.
font-size(number):
-7.5The font size, compared to the ‘normal’ size.
0is style-sheet’s normal size,-1is smaller,+1is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. If the context propertyfontSizeis set, its value is added to this before the glyph is printed. Fractional values are allowed.full-measure-extra-space(number):
1.0Extra space that is allocated at the beginning of a measure with only one note. This property is read from the NonMusicalPaperColumn that begins the measure.
horizontal-skylines(pair of skylines):
ly:separation-item::calc-skylinesTwo skylines, one to the left and one to the right of this grob.
keep-inside-line(boolean):
#tIf set, this column cannot have objects sticking into the margin.
layer(integer):
1000An integer which determines the order of printing objects. Objects with the lowest value of layer are drawn first, then objects with progressively higher values are drawn, so objects with higher values overwrite objects with lower values. By default most objects are assigned a layer value of 1.
line-break-permission(symbol):
'allowInstructs the line breaker on whether to put a line break at this column. Can be
forceorallow.non-musical(boolean):
#tTrue if the grob belongs to a
NonMusicalPaperColumn.page-break-permission(symbol):
'allowInstructs the page breaker on whether to put a page break at this column. Can be
forceorallow.X-extent(pair of numbers):
ly:axis-group-interface::widthExtent (size) in the X direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s):
axis-group-interface, font-interface, grob-interface, item-interface, non-musical-paper-column-interface, paper-column-interface, separation-item-interface and spaceable-grob-interface.
This object is of class Paper_column (characterized by paper-column-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < NonMusicalPaperColumn ] | [ Up: All layout objects ] | [ NoteColumn > ] |
3.1.96 NoteCollision ¶
An auxiliary grob to group
NoteColumn grobs from several voices, mainly to handle
note collisions. See also RestCollision.
NoteCollision objects are created by the following engraver(s): Collision_engraver.
Standard settings:
axes(list): '(0 1)List of axis numbers. In the case of alignment grobs, this should contain only one number.
note-collision-threshold(dimension, in staff space):
1Simultaneous notes that are this close or closer in units of
staff-spacewill be identified as vertically colliding. Used byStemgrobs for notes in the same voice, andNoteCollisiongrobs for notes in different voices. Default value 1.prefer-dotted-right(boolean):
#tFor note collisions, prefer to shift dotted up-note to the right, rather than shifting just the dot.
vertical-skylines(pair of skylines):
ly:axis-group-interface::calc-skylinesTwo skylines, one above and one below this grob.
X-extent(pair of numbers):
ly:axis-group-interface::widthExtent (size) in the X direction, measured in staff-space units, relative to object’s reference point.
Y-extent(pair of numbers):
#<unpure-pure-container ly:axis-group-interface::height ly:axis-group-interface::pure-height >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s):
axis-group-interface, grob-interface, item-interface and note-collision-interface.
This object is of class Item (characterized by item-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < NoteCollision ] | [ Up: All layout objects ] | [ NoteHead > ] |
3.1.97 NoteColumn ¶
An auxiliary grob to align
stacked notes, stems, flags, accidentals, and other items from
the same voice. See also NoteCollision.
NoteColumn objects are created by the following engraver(s): 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.
bend-me(boolean):
'()Decide whether this grob is bent.
horizontal-skylines(pair of skylines):
ly:separation-item::calc-skylinesTwo skylines, one to the left and one to the right of this grob.
main-extent(pair of numbers):
ly:note-column::calc-main-extentThe horizontal extent of a
NoteColumngrob without taking suspendedNoteHeadgrobs into account (i.e.,NoteHeads forced into the unnatural direction of theStembecause of a chromatic clash).skyline-vertical-padding(number):
0.15The amount by which the left and right skylines of a column are padded vertically, beyond the
Y-extents andextra-spacing-heights of the constituent grobs in the column. Increase this to prevent interleaving of grobs from adjacent columns.vertical-skylines(pair of skylines):
ly:axis-group-interface::calc-skylinesTwo skylines, one above and one below this grob.
X-extent(pair of numbers):
ly:axis-group-interface::widthExtent (size) in the X direction, measured in staff-space units, relative to object’s reference point.
Y-extent(pair of numbers):
#<unpure-pure-container ly:axis-group-interface::height ly:axis-group-interface::pure-height >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s):
axis-group-interface, bend-interface, grob-interface, item-interface, note-column-interface and separation-item-interface.
This object is of class Item (characterized by item-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < NoteColumn ] | [ Up: All layout objects ] | [ NoteName > ] |
3.1.98 NoteHead ¶
A note head. See also
TabNoteHead.
NoteHead objects are created by the following engraver(s): Completion_heads_engraver, Drum_notes_engraver and Note_heads_engraver.
Standard settings:
bend-me(boolean):
'()Decide whether this grob is bent.
direction(direction):
note-head::calc-directionIf
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.duration-log(integer):
note-head::calc-duration-logThe 2-log of the note head duration, i.e.,
0= whole note,1= half note, etc.extra-spacing-height(pair of numbers):
ly:note-head::include-ledger-line-heightIn the horizontal spacing problem, we increase the height of each item by this amount (by adding the ‘car’ to the bottom of the item and adding the ‘cdr’ to the top of the item). In order to make a grob infinitely high (to prevent the horizontal spacing problem from placing any other grobs above or below this grob), set this to
(-inf.0 . +inf.0).glyph-name(string):
note-head::get-glyph-nameThe glyph name within the font.
In the context of (span) bar lines or clefs, glyph-name represents a processed form of
glyph, where decisions about line breaking, etc., are already taken.parenthesis-friends(list): '(accidental-grob dot)A list of Grob types, as symbols. When parentheses enclose a Grob that has ’parenthesis-friends, the parentheses widen to include any child Grobs with type among ’parenthesis-friends.
stem-attachment(pair of numbers):
ly:note-head::calc-stem-attachmentAn
(x . y)pair where the stem attaches to the note head. Each component is measured in a -1 to 1 scale so that -1 is the left/bottom edge of the note’s bounding box and 1 is the right/top edge.stencil(stencil):
ly:note-head::printThe symbol to print.
style(symbol):
'defaultThis setting determines in what style a grob is typeset. Valid choices depend on the
stencilcallback reading this property.X-offset(number):
ly:note-head::stem-x-shiftThe horizontal amount that this object is moved relative to its X-parent.
Note that many objects have special positioning considerations, which cause any setting of
X-offsetto be ignored or modified, even though the object supports theself-alignment-interface.Y-extent(pair of numbers):
#<unpure-pure-container ly:grob::stencil-height >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
Y-offset(number):
#<unpure-pure-container ly:staff-symbol-referencer::callback >The vertical amount that this object is moved relative to its Y-parent.
Note that many objects have special positioning considerations, which cause any setting of
Y-offsetto be ignored or modified, even though the object supports theself-alignment-interface.
Remarks:
- For this grob, the
ledger-positionsproperty holds positions that are taken as-is, overridingStaffSymbol.ledger-positions(if set). Ledger lines may be placed on staff lines.
This object supports the following interface(s):
accidental-participating-head-interface, bend-interface, font-interface, gregorian-ligature-interface, grob-interface, item-interface, ledgered-interface, ligature-head-interface, mensural-ligature-interface, note-head-interface, rhythmic-grob-interface, rhythmic-head-interface, staff-symbol-referencer-interface and vaticana-ligature-interface.
This object is of class Item (characterized by item-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < NoteHead ] | [ Up: All layout objects ] | [ NoteSpacing > ] |
3.1.99 NoteName ¶
A textual representation of a note name.
NoteName objects are created by the following engraver(s): Note_name_engraver.
Standard settings:
parent-alignment-X(number):
'()Specify on which point of the parent the object is aligned. The value
-1means aligned on parent’s left edge,0on center, and1right edge, in X direction. Other numerical values may also be specified - the unit is half the parent’s width. If not a number, align on the parent’s reference point. If unset, the value fromself-alignment-Xproperty will be used.self-alignment-X(number):
0Specify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified - the unit is half the object width. If not a number, align on the object’s reference point.stencil(stencil):
ly:text-interface::printThe symbol to print.
X-offset(number):
ly:self-alignment-interface::aligned-on-x-parentThe horizontal amount that this object is moved relative to its X-parent.
Note that many objects have special positioning considerations, which cause any setting of
X-offsetto be ignored or modified, even though the object supports theself-alignment-interface.Y-extent(pair of numbers):
#<unpure-pure-container ly:grob::stencil-height >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s):
accidental-switch-interface, font-interface, grob-interface, item-interface, note-name-interface, self-alignment-interface and text-interface.
This object is of class Item (characterized by item-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < NoteName ] | [ Up: All layout objects ] | [ OptionalMaterialBracket > ] |
3.1.100 NoteSpacing ¶
An auxiliary grob to handle
(horizontal) spacing of notes. See also
GraceSpacing, StaffSpacing, and
SpacingSpanner.
NoteSpacing objects are created by the following engraver(s): Note_spacing_engraver.
Standard settings:
knee-spacing-correction(number):
1.0Factor for the optical correction amount for kneed beams. Set between
0for no correction and1for full correction.same-direction-correction(number):
0.25Optical correction amount for stems that are placed in tight configurations. This amount is used for stems with the same direction to compensate for note head to stem distance.
space-to-barline(boolean):
#tIf set, the distance between a note and the following non-musical column will be measured to the bar line instead of to the beginning of the non-musical column. If there is a clef change followed by a bar line, for example, this means that we will try to space the non-musical column as though the clef is not there.
stem-spacing-correction(number):
0.5Optical correction amount for stems that are placed in tight configurations. For opposite directions, this amount is the correction for two normal sized stems that overlap completely.
This object supports the following interface(s):
grob-interface, item-interface, note-spacing-interface and spacing-interface.
This object is of class Item (characterized by item-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < NoteSpacing ] | [ Up: All layout objects ] | [ OttavaBracket > ] |
3.1.101 OptionalMaterialBracket ¶
An in-staff bracket delimiting an optional passage.
OptionalMaterialBracket objects are created by the following engraver(s): Optional_material_bracket_engraver.
Standard settings:
break-align-symbol(symbol):
callbackThis key is used for aligning, ordering, and spacing breakable items. See break-alignment-interface.
break-visibility(vector):
#<procedure at lily/output-lib.scm:1793:0 (grob)>A vector of 3 booleans,
#(end-of-line unbroken begin-of-line).#tmeans visible,#fmeans killed.break-visibility-passage-default(vector): #(#t #t #f)The value to use for
break-visibilitywhen the item does not specifically mark the start or end of a passage. (It might be both or neither, depending on the type of item.)break-visibility-passage-end(vector): #(#t #t #f)The value to use for
break-visibilitywhen the item marks the end of a passage.break-visibility-passage-start(vector): #(#f #t #t)The value to use for
break-visibilitywhen the item marks the start of a passage.direction(direction):
#<procedure at lily/output-lib.scm:1821:0 (grob)>If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.non-musical(boolean):
#tTrue if the grob belongs to a
NonMusicalPaperColumn.positions(pair of numbers):
optional-material-bracket::positionsPair of staff coordinates
(start . end), where start and end are vertical positions instaff-spaceunits of the current staff. For slurs, this value selects which slur candidate to use; if extreme positions are requested, the closest one is taken.protrusion(number):
0.75In a bracket indicating non-arpeggio or optional material, the length of the horizontal edges.
space-alist(alist, with symbols as keys):'((ambitus extra-space . 2.0) (breathing-sign minimum-space . 1.0) (custos minimum-space . 1.0) (key-signature minimum-space . 1.5) (time-signature minimum-space . 1.5) (signum-repetitionis minimum-space . 1.5) (staff-bar minimum-space . 1.0) (clef minimum-space . 2.0) (cue-clef minimum-space . 2.0) (cue-end-clef minimum-space . 2.0) (optional-material-end-bracket extra-space . 1.0) (optional-material-start-bracket extra-space . 1.0) (first-note extra-space . 0.5) (next-note extra-space . 0.5) (right-edge extra-space . 0.1))An alist that specifies distances from this grob to other breakable items, using the format:
'((break-align-symbol . (spacing-style . space)) (break-align-symbol . (spacing-style . space)) ...)Standard choices for
break-align-symbolare listed in Grobs and their break-align symbols. Additionally, three special break-align symbols available tospace-alistare:
first-noteused when the grob is just left of the first note on a line
next-noteused when the grob is just left of any other note; if not set, the value of
first-notegets usedright-edgeused when the grob is the last item on the line (only compatible with the
extra-spacespacing style)If
space-alistis defined for a grob that gets spaced in a staff, an entry forfirst-notemust be present. If there is nonext-noteentry, the value offirst-noteis used instead.Choices for
spacing-styleare:
extra-spacePut this much space between the two grobs. The space is stretchable and shrinkable when paired with
first-noteornext-note; otherwise it is fixed.minimum-spacePut at least this much space between the left sides of both grobs, without allowing them to collide. The space is stretchable and shrinkable when paired with
first-noteornext-note; otherwise it is fixed. Not compatible withright-edge.fixed-spaceOnly compatible with
first-noteandnext-note. Put this much fixed space between the grob and the note.minimum-fixed-spaceOnly compatible with
first-noteandnext-note. Put at least this much fixed space between the left side of the grob and the left side of the note, without allowing them to collide.semi-fixed-spaceOnly compatible with
first-noteandnext-note. Put this much space between the grob and the note, such that half of the space is fixed and half is stretchable and shrinkable.shrink-spaceOnly compatible with
first-noteandnext-note. Put this much space between the two grobs. The space is only shrinkable.semi-shrink-spaceOnly compatible with
first-noteandnext-note. Put this much space between the grob and the note, such that half of the space is fixed and half is shrinkable.Rules for this spacing are much more complicated than this. See [Wanske] page 126–134, [Ross] page 143–147.
stencil(stencil):
ly:chord-bracket::printThe symbol to print.
thickness(number):
1.5For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e., the visual output is influenced by changes to
Staff.StaffSymbol.thickness).Y-extent(pair of numbers):
#<unpure-pure-container ly:grob::stencil-height ly:arpeggio::pure-height >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s):
break-aligned-interface, grob-interface, item-interface, optional-material-bracket-interface and passage-delimiter-interface.
This object is of class Item (characterized by item-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < OptionalMaterialBracket ] | [ Up: All layout objects ] | [ PaperColumn > ] |
3.1.102 OttavaBracket ¶
An ottava bracket.
OttavaBracket objects are created by the following engraver(s): Ottava_spanner_engraver.
Standard settings:
dash-fraction(number):
0.3Size of the dashes, relative to
dash-period. Should be between0.1and1.0(continuous line). If set to0.0, a dotted line is producededge-height(pair): '(0 . 0.8)A pair of numbers specifying the heights of the vertical edges:
(left-height . right-height).font-series(symbol):
'boldSelect the series of a font. Common choices are
normalandbold. The full list of symbols that can be used is:thin,ultralight(orextralight),light,semilight(ordemilight),book,normal(orregular),medium,semibold(ordemibold),bold,ultrabold(orextrabold),heavy(orblack), andultraheavy(orultrablackorextrablack).font-shape(symbol):
'italicSelect the shape of a font. Possible values are
upright,italic,oblique, andslanted(which is the same asoblique).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 note heads.outside-staff-priority(number):
400If set, the grob is positioned outside the staff in such a way as to avoid all collisions. In case of a potential collision, the grob with the smaller
outside-staff-priorityis closer to the staff.padding(dimension, in staff space):
0.5Add this much extra space between objects that are next to each other.
shorten-pair(pair of numbers): '(-0.8 . -0.6)The lengths to shorten on both sides a hairpin or text-spanner such as a pedal bracket. Positive values shorten the hairpin or text-spanner, while negative values lengthen it.
staff-padding(dimension, in staff space):
2.0Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
stencil(stencil):
ly:ottava-bracket::printThe symbol to print.
style(symbol):
'dashed-lineThis setting determines in what style a grob is typeset. Valid choices depend on the
stencilcallback reading this property.vertical-skylines(pair of skylines):
#<unpure-pure-container ly:grob::vertical-skylines-from-stencil ly:grob::pure-simple-vertical-skylines-from-extents >Two skylines, one above and one below this grob.
Y-offset(number):
#<unpure-pure-container ly:side-position-interface::y-aligned-side ly:side-position-interface::pure-y-aligned-side >The vertical amount that this object is moved relative to its Y-parent.
Note that many objects have special positioning considerations, which cause any setting of
Y-offsetto be ignored or modified, even though the object supports theself-alignment-interface.
This object supports the following interface(s):
font-interface, grob-interface, horizontal-bracket-interface, line-interface, ottava-bracket-interface, outside-staff-interface, side-position-interface, spanner-interface and text-interface.
This object is of class Spanner (characterized by spanner-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < OttavaBracket ] | [ Up: All layout objects ] | [ Parentheses > ] |
3.1.103 PaperColumn ¶
An auxiliary grob grouping
musical items to handle the flexible horizontal space between
musical and non-musical columns. See also
NonMusicalPaperColumn.
PaperColumn objects are created by the following engraver(s): 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.
font-size(number):
-7.5The font size, compared to the ‘normal’ size.
0is style-sheet’s normal size,-1is smaller,+1is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. If the context propertyfontSizeis set, its value is added to this before the glyph is printed. Fractional values are allowed.horizontal-skylines(pair of skylines):
ly:separation-item::calc-skylinesTwo skylines, one to the left and one to the right of this grob.
keep-inside-line(boolean):
#tIf set, this column cannot have objects sticking into the margin.
layer(integer):
1000An integer which determines the order of printing objects. Objects with the lowest value of layer are drawn first, then objects with progressively higher values are drawn, so objects with higher values overwrite objects with lower values. By default most objects are assigned a layer value of 1.
skyline-vertical-padding(number):
0.08The amount by which the left and right skylines of a column are padded vertically, beyond the
Y-extents andextra-spacing-heights of the constituent grobs in the column. Increase this to prevent interleaving of grobs from adjacent columns.X-alignment-extent(pair of numbers): '(0 . 1.35)If a grob wants to align itself on a
PaperColumngrob that doesn’t contain note heads, use this horizontal extent as a placeholder.X-extent(pair of numbers):
ly:axis-group-interface::widthExtent (size) in the X direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s):
axis-group-interface, font-interface, grob-interface, item-interface, musical-paper-column-interface, paper-column-interface, separation-item-interface and spaceable-grob-interface.
This object is of class Paper_column (characterized by paper-column-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < PaperColumn ] | [ Up: All layout objects ] | [ PercentRepeat > ] |
3.1.104 Parentheses ¶
A grob to create parentheses around other grobs.
Parentheses objects are created by the following engraver(s): Parenthesis_engraver.
Standard settings:
break-visibility(vector):
#<procedure at lily/output-lib.scm:3609:0 (grob)>A vector of 3 booleans,
#(end-of-line unbroken begin-of-line).#tmeans visible,#fmeans killed.font-size(number):
-6The font size, compared to the ‘normal’ size.
0is style-sheet’s normal size,-1is smaller,+1is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. If the context propertyfontSizeis set, its value is added to this before the glyph is printed. Fractional values are allowed.padding(dimension, in staff space):
0.2Add this much extra space between objects that are next to each other.
stencil(stencil):
parentheses-interface::printThe symbol to print.
stencils(list):
parentheses-interface::calc-parenthesis-stencilsMultiple stencils, used as intermediate value.
Y-extent(pair of numbers):
#<unpure-pure-container parentheses-interface::calc-Y-extent >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
Y-offset(number):
#<unpure-pure-container #<procedure at lily/output-lib.scm:1259:0 (grob . rest)> >The vertical amount that this object is moved relative to its Y-parent.
Note that many objects have special positioning considerations, which cause any setting of
Y-offsetto be ignored or modified, even though the object supports theself-alignment-interface.
This object supports the following interface(s):
font-interface, grob-interface, parentheses-interface and sticky-grob-interface.
This object can be of either of the following classes: Item (characterized by item-interface) or Spanner (characterized by spanner-interface).
It supports the following interfaces conditionally depending on the class: item-interface and spanner-interface.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < Parentheses ] | [ Up: All layout objects ] | [ PercentRepeatCounter > ] |
3.1.105 PercentRepeat ¶
A percent symbol for repeating
a bar. See also PercentRepeatCounter,
DoublePercentRepeat, DoubleRepeatSlash, and
RepeatSlash.
PercentRepeat objects are created by the following engraver(s): Percent_repeat_engraver.
Standard settings:
dot-negative-kern(number):
0.75The space to remove between a dot and a slash in percent repeat glyphs. Larger values bring the two elements closer together.
font-encoding(symbol):
'fetaMusicThe font encoding is the broadest category for selecting a font. Currently, only LilyPond’s system fonts (Emmentaler) are using this property. Available values are
fetaMusic(Emmentaler),fetaBraces,fetaText(Emmentaler).self-alignment-X(number):
0Specify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified - the unit is half the object width. If not a number, align on the object’s reference point.slope(number):
1.0The slope of this object.
spacing-pair(pair): '(break-alignment . staff-bar)A pair of alignment symbols which set an object’s spacing relative to its left and right
BreakAlignments.For example, a
MultiMeasureRestwill ignore prefatory items at its bounds (i.e., clefs, key signatures and time signatures) using the following override:\override MultiMeasureRest.spacing-pair = #'(staff-bar . staff-bar)springs-and-rods(boolean):
ly:multi-measure-rest::set-spacing-rodsDummy variable for triggering spacing routines.
stencil(stencil):
ly:percent-repeat-interface::percentThe symbol to print.
thickness(number):
0.48For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e., the visual output is influenced by changes to
Staff.StaffSymbol.thickness).X-offset(number):
centered-spanner-interface::calc-x-offsetThe horizontal amount that this object is moved relative to its X-parent.
Note that many objects have special positioning considerations, which cause any setting of
X-offsetto be ignored or modified, even though the object supports theself-alignment-interface.
This object supports the following interface(s):
centered-spanner-interface, font-interface, grob-interface, multi-measure-rest-interface, percent-repeat-interface and spanner-interface.
This object is of class Spanner (characterized by spanner-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < PercentRepeat ] | [ Up: All layout objects ] | [ PhrasingSlur > ] |
3.1.106 PercentRepeatCounter ¶
A grob to print a counter for
PercentRepeat grobs.
PercentRepeatCounter objects are created by the following engraver(s): Percent_repeat_engraver.
Standard settings:
direction(direction):
1If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.font-encoding(symbol):
'fetaTextThe font encoding is the broadest category for selecting a font. Currently, only LilyPond’s system fonts (Emmentaler) are using this property. Available values are
fetaMusic(Emmentaler),fetaBraces,fetaText(Emmentaler).font-features(list):'("cv47")Opentype features.
font-size(number):
-2The font size, compared to the ‘normal’ size.
0is style-sheet’s normal size,-1is smaller,+1is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. If the context propertyfontSizeis set, its value is added to this before the glyph is printed. Fractional values are allowed.padding(dimension, in staff space):
0.2Add this much extra space between objects that are next to each other.
parent-alignment-X(number):
0Specify on which point of the parent the object is aligned. The value
-1means aligned on parent’s left edge,0on center, and1right edge, in X direction. Other numerical values may also be specified - the unit is half the parent’s width. If not a number, align on the parent’s reference point. If unset, the value fromself-alignment-Xproperty will be used.self-alignment-X(number):
0Specify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified - the unit is half the object width. If not a number, align on the object’s reference point.staff-padding(dimension, in staff space):
0.25Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
stencil(stencil):
ly:text-interface::printThe symbol to print.
X-offset(number):
ly:self-alignment-interface::aligned-on-x-parentThe horizontal amount that this object is moved relative to its X-parent.
Note that many objects have special positioning considerations, which cause any setting of
X-offsetto be ignored or modified, even though the object supports theself-alignment-interface.Y-extent(pair of numbers):
#<unpure-pure-container ly:grob::stencil-height >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
Y-offset(number):
#<unpure-pure-container ly:side-position-interface::y-aligned-side ly:side-position-interface::pure-y-aligned-side >The vertical amount that this object is moved relative to its Y-parent.
Note that many objects have special positioning considerations, which cause any setting of
Y-offsetto be ignored or modified, even though the object supports theself-alignment-interface.
This object supports the following interface(s):
font-interface, grob-interface, outside-staff-interface, self-alignment-interface, side-position-interface, spanner-interface and text-interface.
This object is of class Spanner (characterized by spanner-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < PercentRepeatCounter ] | [ Up: All layout objects ] | [ PianoPedalBracket > ] |
3.1.107 PhrasingSlur ¶
A phrasing slur, indicating a
‘musical sentence’. See also Slur.
PhrasingSlur objects are created by the following engraver(s): Phrasing_slur_engraver.
Standard settings:
control-points(list of number pairs):
ly:slur::calc-control-pointsList of offsets (number pairs) that form control points for the tie, slur, or bracket shape. For Béziers, this should list the control points of a third-order Bézier curve.
details(alist, with symbols as keys): '((absolute-closeness-measure . 0.3) (accidental-collision . 3) (close-to-edge-length . 2.5) (edge-attraction-factor . 4) (edge-slope-exponent . 1.7) (encompass-object-range-overshoot . 0.5) (extra-encompass-collision-distance . 0.8) (extra-encompass-free-distance . 0.3) (extra-object-collision-penalty . 50) (free-head-distance . 0.3) (free-slur-distance . 0.8) (gap-to-staffline-inside . 0.2) (gap-to-staffline-outside . 0.1) (head-encompass-penalty . 1000.0) (head-slur-distance-factor . 10) (head-slur-distance-max-ratio . 3) (max-slope . 1.1) (max-slope-factor . 10) (non-horizontal-penalty . 15) (region-size . 4) (same-slope-penalty . 20) (slur-tie-extrema-min-distance . 0.2) (slur-tie-extrema-min-distance-penalty . 2) (steeper-slope-factor . 50) (stem-encompass-penalty . 30.0))An alist of parameters for detailed grob behavior. See All layout objects for more information on the available parameters and their default values of a particular grob’s
detailsproperty. See Graphical Object Interfaces for documentation of the available parameters. Supporting interfaces can be found at the bottom of a grob’s description section.direction(direction):
ly:slur::calc-directionIf
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.height-limit(dimension, in staff space):
2.0Maximum slur height: The longer the slur, the closer it is to this height.
line-thickness(number):
0.8For slurs and ties, this is the diameter of the virtual “pen” that draws the two arcs of the curve’s outline, which intersect at the endpoints. This property is expressed as a multiple of the current staff-line thickness (i.e., the visual output is influenced by changes to
Staff.StaffSymbol.thickness).minimum-length(dimension, in staff space):
1.5Try to make a spanner at least this long, normally in the horizontal direction. This requires an appropriate callback for the
springs-and-rodsproperty. If added to aTie, this sets the minimum distance between note heads.ratio(number):
0.333Parameter for slur shape. The higher this number, the quicker the slur attains its
height-limit.springs-and-rods(boolean):
ly:spanner::set-spacing-rodsDummy variable for triggering spacing routines.
stencil(stencil):
ly:slur::printThe symbol to print.
thickness(number):
1.2For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e., the visual output is influenced by changes to
Staff.StaffSymbol.thickness).vertical-skylines(pair of skylines):
#<unpure-pure-container ly:grob::vertical-skylines-from-stencil ly:grob::pure-simple-vertical-skylines-from-extents >Two skylines, one above and one below this grob.
Y-extent(pair of numbers):
#<unpure-pure-container ly:slur::height ly:slur::pure-height >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s):
bezier-curve-interface, grob-interface, outside-staff-interface, slur-interface and spanner-interface.
This object is of class Spanner (characterized by spanner-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < PhrasingSlur ] | [ Up: All layout objects ] | [ RehearsalMark > ] |
3.1.108 PianoPedalBracket ¶
A piano pedal bracket. It can
also be part of SostenutoPedal, SustainPedal, or
UnaCordaPedal grobs if they are printed in a bracketed
style.
PianoPedalBracket objects are created by the following engraver(s): Piano_pedal_engraver.
Standard settings:
bound-padding(number):
1.0The amount of padding to insert around spanner bounds.
bracket-flare(pair of numbers): '(0.5 . 0.5)A pair of numbers specifying how much edges of brackets should slant outward. Value
0.0means straight edges.direction(direction):
-1If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.edge-height(pair): '(1.0 . 1.0)A pair of numbers specifying the heights of the vertical edges:
(left-height . right-height).shorten-pair(pair of numbers): '(0.0 . 0.0)The lengths to shorten on both sides a hairpin or text-spanner such as a pedal bracket. Positive values shorten the hairpin or text-spanner, while negative values lengthen it.
stencil(stencil):
ly:piano-pedal-bracket::printThe symbol to print.
style(symbol):
'lineThis setting determines in what style a grob is typeset. Valid choices depend on the
stencilcallback reading this property.thickness(number):
1.0For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e., the visual output is influenced by changes to
Staff.StaffSymbol.thickness).vertical-skylines(pair of skylines):
#<unpure-pure-container ly:grob::vertical-skylines-from-stencil ly:grob::pure-simple-vertical-skylines-from-extents >Two skylines, one above and one below this grob.
This object supports the following interface(s):
grob-interface, line-interface, piano-pedal-bracket-interface, piano-pedal-interface and spanner-interface.
This object is of class Spanner (characterized by spanner-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < PianoPedalBracket ] | [ Up: All layout objects ] | [ RepeatSlash > ] |
3.1.109 RehearsalMark ¶
A rehearsal mark.
RehearsalMark objects are created by the following engraver(s): Mark_engraver.
Standard settings:
after-line-breaking(boolean):
ly:side-position-interface::move-to-extremal-staffDummy property, used to trigger callback for
after-line-breaking.baseline-skip(dimension, in staff space):
2Distance between base lines of multiple lines of text.
break-align-symbols(list): '(staff-bar key-signature clef)A list of break-align symbols that determines which breakable items to align this to. If the grob selected by the first symbol in the list is invisible due to
break-visibility, we will align to the next grob (and so on). Choices are listed in Grobs and their break-align symbols.break-visibility(vector): #(#f #t #t)A vector of 3 booleans,
#(end-of-line unbroken begin-of-line).#tmeans visible,#fmeans killed.direction(direction):
1If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.extra-spacing-width(pair of numbers): '(+inf.0 . -inf.0)In the horizontal spacing problem, we pad each item by this amount (by adding the ‘car’ on the left side of the item and adding the ‘cdr’ on the right side of the item). In order to make a grob take up no horizontal space at all, set this to
(+inf.0 . -inf.0).font-size(number):
2The font size, compared to the ‘normal’ size.
0is style-sheet’s normal size,-1is smaller,+1is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. If the context propertyfontSizeis set, its value is added to this before the glyph is printed. Fractional values are allowed.non-musical(boolean):
#tTrue if the grob belongs to a
NonMusicalPaperColumn.outside-staff-horizontal-padding(number):
0.2By default, an outside-staff-object can be placed so that is it very close to another grob horizontally. If this property is set, the outside-staff-object is raised so that it is not so close to its neighbor.
outside-staff-priority(number):
1500If set, the grob is positioned outside the staff in such a way as to avoid all collisions. In case of a potential collision, the grob with the smaller
outside-staff-priorityis closer to the staff.padding(dimension, in staff space):
0.8Add this much extra space between objects that are next to each other.
self-alignment-X(number):
break-alignable-interface::self-alignment-opposite-of-anchorSpecify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified - the unit is half the object width. If not a number, align on the object’s reference point.stencil(stencil):
ly:text-interface::printThe symbol to print.
vertical-skylines(pair of skylines):
#<unpure-pure-container ly:grob::vertical-skylines-from-stencil >Two skylines, one above and one below this grob.
X-offset(number):
self-alignment-interface::self-aligned-on-breakableThe horizontal amount that this object is moved relative to its X-parent.
Note that many objects have special positioning considerations, which cause any setting of
X-offsetto be ignored or modified, even though the object supports theself-alignment-interface.Y-extent(pair of numbers):
#<unpure-pure-container ly:grob::stencil-height >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
Y-offset(number):
#<unpure-pure-container ly:side-position-interface::y-aligned-side ly:side-position-interface::pure-y-aligned-side >The vertical amount that this object is moved relative to its Y-parent.
Note that many objects have special positioning considerations, which cause any setting of
Y-offsetto be ignored or modified, even though the object supports theself-alignment-interface.
This object supports the following interface(s):
accidental-switch-interface, break-alignable-interface, font-interface, grob-interface, item-interface, mark-interface, outside-staff-interface, rehearsal-mark-interface, self-alignment-interface, side-position-interface and text-interface.
This object is of class Item (characterized by item-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < RehearsalMark ] | [ Up: All layout objects ] | [ RepeatTie > ] |
3.1.110 RepeatSlash ¶
A symbol consisting of one or
more slashes for repeating patterns shorter than a single
measure, and which contain identical durations. See also
PercentRepeat, DoublePercentRepeat, and
DoubleRepeatSlash.
RepeatSlash objects are created by the following engraver(s): Slash_repeat_engraver.
Standard settings:
slash-negative-kern(number):
0.85The space to remove between slashes in percent repeat glyphs. Larger values bring the two elements closer together.
slope(number):
1.7The slope of this object.
stencil(stencil):
ly:percent-repeat-interface::beat-slashThe symbol to print.
thickness(number):
0.48For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e., the visual output is influenced by changes to
Staff.StaffSymbol.thickness).Y-extent(pair of numbers):
#<unpure-pure-container ly:grob::stencil-height >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s):
grob-interface, item-interface, percent-repeat-interface and rhythmic-grob-interface.
This object is of class Item (characterized by item-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < RepeatSlash ] | [ Up: All layout objects ] | [ RepeatTieColumn > ] |
3.1.111 RepeatTie ¶
A repeat tie (i.e., a tie from
nothing to a note). See also RepeatTieColumn,
LaissezVibrerTie, and Tie.
RepeatTie objects are created by the following engraver(s): Repeat_tie_engraver.
Standard settings:
control-points(list of number pairs):
ly:semi-tie::calc-control-pointsList of offsets (number pairs) that form control points for the tie, slur, or bracket shape. For Béziers, this should list the control points of a third-order Bézier curve.
details(alist, with symbols as keys): '((height-limit . 1.0) (ratio . 0.333))An alist of parameters for detailed grob behavior. See All layout objects for more information on the available parameters and their default values of a particular grob’s
detailsproperty. See Graphical Object Interfaces for documentation of the available parameters. Supporting interfaces can be found at the bottom of a grob’s description section.direction(direction):
ly:tie::calc-directionIf
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.extra-spacing-height(pair of numbers): '(-0.5 . 0.5)In the horizontal spacing problem, we increase the height of each item by this amount (by adding the ‘car’ to the bottom of the item and adding the ‘cdr’ to the top of the item). In order to make a grob infinitely high (to prevent the horizontal spacing problem from placing any other grobs above or below this grob), set this to
(-inf.0 . +inf.0).head-direction(direction):
1Are the note heads left or right in a semitie?
line-thickness(number):
0.8For slurs and ties, this is the diameter of the virtual “pen” that draws the two arcs of the curve’s outline, which intersect at the endpoints. This property is expressed as a multiple of the current staff-line thickness (i.e., the visual output is influenced by changes to
Staff.StaffSymbol.thickness).stencil(stencil):
ly:tie::printThe symbol to print.
thickness(number):
1.2For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e., the visual output is influenced by changes to
Staff.StaffSymbol.thickness).vertical-skylines(pair of skylines):
#<unpure-pure-container ly:grob::vertical-skylines-from-stencil >Two skylines, one above and one below this grob.
Y-extent(pair of numbers):
#<unpure-pure-container ly:grob::stencil-height >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s):
bezier-curve-interface, grob-interface, item-interface, semi-tie-interface and tie-interface.
This object is of class Item (characterized by item-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < RepeatTie ] | [ Up: All layout objects ] | [ Rest > ] |
3.1.112 RepeatTieColumn ¶
An auxiliary grob to determine
direction and shape of stacked RepeatTie grobs.
RepeatTieColumn objects are created by the following engraver(s): Repeat_tie_engraver.
Standard settings:
head-direction(direction):
ly:semi-tie-column::calc-head-directionAre the note heads left or right in a semitie?
X-extent(pair of numbers):
#fExtent (size) in the X direction, measured in staff-space units, relative to object’s reference point.
Y-extent(pair of numbers):
#fExtent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s):
grob-interface, item-interface and semi-tie-column-interface.
This object is of class Item (characterized by item-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < RepeatTieColumn ] | [ Up: All layout objects ] | [ RestCollision > ] |
3.1.113 Rest ¶
An ordinary rest. See also
MultiMeasureRest.
Rest objects are created by the following engraver(s): Completion_rest_engraver and Rest_engraver.
Standard settings:
duration-log(integer):
stem::calc-duration-logThe 2-log of the note head duration, i.e.,
0= whole note,1= half note, etc.minimum-distance(dimension, in staff space):
0.25Minimum distance between rest and notes or beam.
parenthesis-friends(list): '(dot)A list of Grob types, as symbols. When parentheses enclose a Grob that has ’parenthesis-friends, the parentheses widen to include any child Grobs with type among ’parenthesis-friends.
stencil(stencil):
ly:rest::printThe symbol to print.
vertical-skylines(pair of skylines):
#<unpure-pure-container ly:grob::vertical-skylines-from-stencil ly:grob::pure-simple-vertical-skylines-from-extents >Two skylines, one above and one below this grob.
voiced-position(number):
4The staff position of a voiced
Rest, negative if the rest hasdirectionDOWN.X-extent(pair of numbers):
ly:rest::widthExtent (size) in the X direction, measured in staff-space units, relative to object’s reference point.
Y-extent(pair of numbers):
#<unpure-pure-container ly:rest::height ly:rest::pure-height >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
Y-offset(number):
#<unpure-pure-container ly:rest::y-offset-callback >The vertical amount that this object is moved relative to its Y-parent.
Note that many objects have special positioning considerations, which cause any setting of
Y-offsetto be ignored or modified, even though the object supports theself-alignment-interface.
This object supports the following interface(s):
font-interface, grob-interface, item-interface, rest-interface, rhythmic-grob-interface, rhythmic-head-interface and staff-symbol-referencer-interface.
This object is of class Item (characterized by item-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < Rest ] | [ Up: All layout objects ] | [ Script > ] |
3.1.114 RestCollision ¶
An auxiliary grob to handle rest
collisions of different voices. See also
NoteCollision.
RestCollision objects are created by the following engraver(s): Rest_collision_engraver.
Standard settings:
minimum-distance(dimension, in staff space):
0.75Minimum distance between rest and notes or beam.
This object supports the following interface(s):
grob-interface, item-interface and rest-collision-interface.
This object is of class Item (characterized by item-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < RestCollision ] | [ Up: All layout objects ] | [ ScriptColumn > ] |
3.1.115 Script ¶
An articulation (staccato,
accent, etc.). See also ScriptColumn,
ScriptRow, and MultiMeasureRestScript.
Script objects are created by the following engraver(s): Drum_notes_engraver, New_fingering_engraver and Script_engraver.
Standard settings:
add-stem-support(boolean):
#tIf set, the
Stemobject is included in this script’s support.direction(direction):
ly:script-interface::calc-directionIf
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.extra-spacing-height(pair of numbers):
horizontal-script::extra-spacing-heightIn the horizontal spacing problem, we increase the height of each item by this amount (by adding the ‘car’ to the bottom of the item and adding the ‘cdr’ to the top of the item). In order to make a grob infinitely high (to prevent the horizontal spacing problem from placing any other grobs above or below this grob), set this to
(-inf.0 . +inf.0).font-encoding(symbol):
'fetaMusicThe font encoding is the broadest category for selecting a font. Currently, only LilyPond’s system fonts (Emmentaler) are using this property. Available values are
fetaMusic(Emmentaler),fetaBraces,fetaText(Emmentaler).horizon-padding(number):
0.1The amount to pad the axis along which a
Skylineis built for theside-position-interface.self-alignment-X(number):
0Specify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified - the unit is half the object width. If not a number, align on the object’s reference point.slur-padding(number):
0.2Extra distance between slur and script.
staff-padding(dimension, in staff space):
0.25Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
stencil(stencil):
ly:script-interface::printThe symbol to print.
vertical-skylines(pair of skylines):
#<unpure-pure-container ly:grob::vertical-skylines-from-stencil >Two skylines, one above and one below this grob.
X-offset(number):
script-interface::calc-x-offsetThe horizontal amount that this object is moved relative to its X-parent.
Note that many objects have special positioning considerations, which cause any setting of
X-offsetto be ignored or modified, even though the object supports theself-alignment-interface.Y-extent(pair of numbers):
#<unpure-pure-container ly:grob::stencil-height >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
Y-offset(number):
#<unpure-pure-container #<procedure at lily/output-lib.scm:1986:11 (grob . rest)> >The vertical amount that this object is moved relative to its Y-parent.
Note that many objects have special positioning considerations, which cause any setting of
Y-offsetto be ignored or modified, even though the object supports theself-alignment-interface.
Remarks:
- The
ledger-positionsproperty holds positions that are taken as-is. Ledger lines may be placed on staff lines. Ifledger-positionsis not set for this grob but forNoteHead, use the latter one. If this isn’t set either, use either the value set viaStaffSymbolor fall back to the standard value.
This object supports the following interface(s):
font-interface, grob-interface, item-interface, ledgered-grob-interface, outside-staff-interface, script-interface, self-alignment-interface and side-position-interface.
This object is of class Item (characterized by item-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < Script ] | [ Up: All layout objects ] | [ ScriptRow > ] |
3.1.116 ScriptColumn ¶
An auxiliary grob to
(vertically) align stacked Script grobs.
ScriptColumn objects are created by the following engraver(s): Non_musical_script_column_engraver and Script_column_engraver.
Standard settings:
before-line-breaking(boolean):
ly:script-column::before-line-breakingDummy property, used to trigger a callback function.
This object supports the following interface(s):
grob-interface, item-interface and script-column-interface.
This object is of class Item (characterized by item-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < ScriptColumn ] | [ Up: All layout objects ] | [ SectionLabel > ] |
3.1.117 ScriptRow ¶
An auxiliary grob to
horizontally align stacked Script grobs.
ScriptRow objects are created by the following engraver(s): Script_row_engraver.
Standard settings:
before-line-breaking(boolean):
ly:script-column::row-before-line-breakingDummy property, used to trigger a callback function.
This object supports the following interface(s):
grob-interface, item-interface and script-column-interface.
This object is of class Item (characterized by item-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < ScriptRow ] | [ Up: All layout objects ] | [ SegnoMark > ] |
3.1.118 SectionLabel ¶
A section label, for example ‘Coda’.
SectionLabel objects are created by the following engraver(s): Mark_engraver.
Standard settings:
after-line-breaking(boolean):
ly:side-position-interface::move-to-extremal-staffDummy property, used to trigger callback for
after-line-breaking.baseline-skip(dimension, in staff space):
2Distance between base lines of multiple lines of text.
break-align-symbols(list): '(left-edge staff-bar)A list of break-align symbols that determines which breakable items to align this to. If the grob selected by the first symbol in the list is invisible due to
break-visibility, we will align to the next grob (and so on). Choices are listed in Grobs and their break-align symbols.break-visibility(vector): #(#f #t #t)A vector of 3 booleans,
#(end-of-line unbroken begin-of-line).#tmeans visible,#fmeans killed.direction(direction):
1If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.extra-spacing-width(pair of numbers): '(+inf.0 . -inf.0)In the horizontal spacing problem, we pad each item by this amount (by adding the ‘car’ on the left side of the item and adding the ‘cdr’ on the right side of the item). In order to make a grob take up no horizontal space at all, set this to
(+inf.0 . -inf.0).font-size(number):
1.5The font size, compared to the ‘normal’ size.
0is style-sheet’s normal size,-1is smaller,+1is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. If the context propertyfontSizeis set, its value is added to this before the glyph is printed. Fractional values are allowed.non-musical(boolean):
#tTrue if the grob belongs to a
NonMusicalPaperColumn.outside-staff-horizontal-padding(number):
0.2By default, an outside-staff-object can be placed so that is it very close to another grob horizontally. If this property is set, the outside-staff-object is raised so that it is not so close to its neighbor.
outside-staff-priority(number):
1450If set, the grob is positioned outside the staff in such a way as to avoid all collisions. In case of a potential collision, the grob with the smaller
outside-staff-priorityis closer to the staff.padding(dimension, in staff space):
0.8Add this much extra space between objects that are next to each other.
self-alignment-X(number):
-1Specify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified - the unit is half the object width. If not a number, align on the object’s reference point.stencil(stencil):
ly:text-interface::printThe symbol to print.
vertical-skylines(pair of skylines):
#<unpure-pure-container ly:grob::vertical-skylines-from-stencil >Two skylines, one above and one below this grob.
X-offset(number):
self-alignment-interface::self-aligned-on-breakableThe horizontal amount that this object is moved relative to its X-parent.
Note that many objects have special positioning considerations, which cause any setting of
X-offsetto be ignored or modified, even though the object supports theself-alignment-interface.Y-extent(pair of numbers):
#<unpure-pure-container ly:grob::stencil-height >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
Y-offset(number):
#<unpure-pure-container ly:side-position-interface::y-aligned-side ly:side-position-interface::pure-y-aligned-side >The vertical amount that this object is moved relative to its Y-parent.
Note that many objects have special positioning considerations, which cause any setting of
Y-offsetto be ignored or modified, even though the object supports theself-alignment-interface.
This object supports the following interface(s):
break-alignable-interface, font-interface, grob-interface, item-interface, outside-staff-interface, section-label-interface, self-alignment-interface, side-position-interface and text-interface.
This object is of class Item (characterized by item-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < SectionLabel ] | [ Up: All layout objects ] | [ SignumRepetitionis > ] |
3.1.119 SegnoMark ¶
A segno mark (created with
\repeat segno, not with \segno).
SegnoMark objects are created by the following engraver(s): Mark_engraver.
Standard settings:
after-line-breaking(boolean):
ly:side-position-interface::move-to-extremal-staffDummy property, used to trigger callback for
after-line-breaking.baseline-skip(dimension, in staff space):
2Distance between base lines of multiple lines of text.
break-align-symbols(list): '(staff-bar key-signature clef)A list of break-align symbols that determines which breakable items to align this to. If the grob selected by the first symbol in the list is invisible due to
break-visibility, we will align to the next grob (and so on). Choices are listed in Grobs and their break-align symbols.break-visibility(vector): #(#f #t #t)A vector of 3 booleans,
#(end-of-line unbroken begin-of-line).#tmeans visible,#fmeans killed.direction(direction):
1If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.extra-spacing-width(pair of numbers): '(+inf.0 . -inf.0)In the horizontal spacing problem, we pad each item by this amount (by adding the ‘car’ on the left side of the item and adding the ‘cdr’ on the right side of the item). In order to make a grob take up no horizontal space at all, set this to
(+inf.0 . -inf.0).font-size(number):
2The font size, compared to the ‘normal’ size.
0is style-sheet’s normal size,-1is smaller,+1is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. If the context propertyfontSizeis set, its value is added to this before the glyph is printed. Fractional values are allowed.non-musical(boolean):
#tTrue if the grob belongs to a
NonMusicalPaperColumn.outside-staff-horizontal-padding(number):
0.2By default, an outside-staff-object can be placed so that is it very close to another grob horizontally. If this property is set, the outside-staff-object is raised so that it is not so close to its neighbor.
outside-staff-priority(number):
1400If set, the grob is positioned outside the staff in such a way as to avoid all collisions. In case of a potential collision, the grob with the smaller
outside-staff-priorityis closer to the staff.padding(dimension, in staff space):
0.8Add this much extra space between objects that are next to each other.
self-alignment-X(number):
break-alignable-interface::self-alignment-opposite-of-anchorSpecify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified - the unit is half the object width. If not a number, align on the object’s reference point.stencil(stencil):
ly:text-interface::printThe symbol to print.
vertical-skylines(pair of skylines):
#<unpure-pure-container ly:grob::vertical-skylines-from-stencil >Two skylines, one above and one below this grob.
X-offset(number):
self-alignment-interface::self-aligned-on-breakableThe horizontal amount that this object is moved relative to its X-parent.
Note that many objects have special positioning considerations, which cause any setting of
X-offsetto be ignored or modified, even though the object supports theself-alignment-interface.Y-extent(pair of numbers):
#<unpure-pure-container ly:grob::stencil-height >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
Y-offset(number):
#<unpure-pure-container ly:side-position-interface::y-aligned-side ly:side-position-interface::pure-y-aligned-side >The vertical amount that this object is moved relative to its Y-parent.
Note that many objects have special positioning considerations, which cause any setting of
Y-offsetto be ignored or modified, even though the object supports theself-alignment-interface.
This object supports the following interface(s):
break-alignable-interface, font-interface, grob-interface, item-interface, mark-interface, outside-staff-interface, segno-mark-interface, self-alignment-interface, side-position-interface and text-interface.
This object is of class Item (characterized by item-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < SegnoMark ] | [ Up: All layout objects ] | [ Slur > ] |
3.1.120 SignumRepetitionis ¶
An ancient end-repeat sign.
SignumRepetitionis objects are created by the following engraver(s): Signum_repetitionis_engraver.
Standard settings:
bar-extent(pair of numbers):
ly:bar-line::calc-bar-extentThe Y-extent of the actual bar line. This may differ from
Y-extentbecause it does not include the dots in a repeat bar line.break-align-anchor(number):
ly:bar-line::calc-anchorGrobs aligned to this breakable item will have their X-offsets shifted by this number. In bar lines, for example, this is used to position grobs relative to the (visual) center of the bar line.
break-align-symbol(symbol):
'signum-repetitionisThis key is used for aligning, ordering, and spacing breakable items. See break-alignment-interface.
break-visibility(vector): #(#t #t #f)A vector of 3 booleans,
#(end-of-line unbroken begin-of-line).#tmeans visible,#fmeans killed.extra-spacing-height(pair of numbers):
pure-from-neighbor-interface::account-for-span-barIn the horizontal spacing problem, we increase the height of each item by this amount (by adding the ‘car’ to the bottom of the item and adding the ‘cdr’ to the top of the item). In order to make a grob infinitely high (to prevent the horizontal spacing problem from placing any other grobs above or below this grob), set this to
(-inf.0 . +inf.0).gap(dimension, in staff space):
0.4Size of a gap in a variable symbol.
glyph(string):
":|."A string determining what ‘style’ of glyph is typeset. Valid choices depend on the function that is reading this property.
In combination with (span) bar lines, it is a string resembling the bar line appearance in ASCII form.
glyph-name(string):
#<procedure at lily/output-lib.scm:1821:0 (grob)>The glyph name within the font.
In the context of (span) bar lines or clefs, glyph-name represents a processed form of
glyph, where decisions about line breaking, etc., are already taken.hair-thickness(number):
1.9Thickness of the thin line in a bar line, expressed as a multiple of the default staff-line thickness (i.e., the visual output is not influenced by changes to
Staff.StaffSymbol.thickness).kern(dimension, in staff space):
3.0The space between individual elements in any compound bar line, expressed as a multiple of the default staff-line thickness (i.e., the visual output is not influenced by changes to
Staff.StaffSymbol.thickness).layer(integer):
0An integer which determines the order of printing objects. Objects with the lowest value of layer are drawn first, then objects with progressively higher values are drawn, so objects with higher values overwrite objects with lower values. By default most objects are assigned a layer value of 1.
non-musical(boolean):
#tTrue if the grob belongs to a
NonMusicalPaperColumn.rounded(boolean):
#fDecide whether lines should be drawn rounded or not.
segno-kern(number):
3.0The space between the two thin lines of the segno bar line symbol, expressed as a multiple of the default staff-line thickness (i.e., the visual output is not influenced by changes to
Staff.StaffSymbol.thickness).short-bar-extent(pair of numbers):
ly:bar-line::calc-short-bar-extentThe Y-extent of a short bar line. The default is half the normal bar extent, rounded up to an integer number of staff spaces.
space-alist(alist, with symbols as keys):'((ambitus extra-space . 1.0) (time-signature extra-space . 0.75) (custos minimum-space . 2.0) (clef extra-space . 1.0) (key-signature extra-space . 1.0) (key-cancellation extra-space . 1.0) (first-note extra-space . 0.5) (next-note semi-fixed-space . 0.9) (signum-repetitionis extra-space . 0.5) (staff-bar extra-space . 0.5) (optional-material-end-bracket extra-space . 1.0) (optional-material-start-bracket extra-space . 1.0) (right-edge extra-space . 0.0))An alist that specifies distances from this grob to other breakable items, using the format:
'((break-align-symbol . (spacing-style . space)) (break-align-symbol . (spacing-style . space)) ...)Standard choices for
break-align-symbolare listed in Grobs and their break-align symbols. Additionally, three special break-align symbols available tospace-alistare:
first-noteused when the grob is just left of the first note on a line
next-noteused when the grob is just left of any other note; if not set, the value of
first-notegets usedright-edgeused when the grob is the last item on the line (only compatible with the
extra-spacespacing style)If
space-alistis defined for a grob that gets spaced in a staff, an entry forfirst-notemust be present. If there is nonext-noteentry, the value offirst-noteis used instead.Choices for
spacing-styleare:
extra-spacePut this much space between the two grobs. The space is stretchable and shrinkable when paired with
first-noteornext-note; otherwise it is fixed.minimum-spacePut at least this much space between the left sides of both grobs, without allowing them to collide. The space is stretchable and shrinkable when paired with
first-noteornext-note; otherwise it is fixed. Not compatible withright-edge.fixed-spaceOnly compatible with
first-noteandnext-note. Put this much fixed space between the grob and the note.minimum-fixed-spaceOnly compatible with
first-noteandnext-note. Put at least this much fixed space between the left side of the grob and the left side of the note, without allowing them to collide.semi-fixed-spaceOnly compatible with
first-noteandnext-note. Put this much space between the grob and the note, such that half of the space is fixed and half is stretchable and shrinkable.shrink-spaceOnly compatible with
first-noteandnext-note. Put this much space between the two grobs. The space is only shrinkable.semi-shrink-spaceOnly compatible with
first-noteandnext-note. Put this much space between the grob and the note, such that half of the space is fixed and half is shrinkable.Rules for this spacing are much more complicated than this. See [Wanske] page 126–134, [Ross] page 143–147.
stencil(stencil):
ly:bar-line::printThe symbol to print.
thick-thickness(number):
6.0Thickness of the thick line in a bar line, expressed as a multiple of the default staff-line thickness (i.e., the visual output is not influenced by changes to
Staff.StaffSymbol.thickness).Y-extent(pair of numbers):
#<unpure-pure-container ly:grob::stencil-height >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s):
break-aligned-interface, font-interface, grob-interface, item-interface, pure-from-neighbor-interface and signum-repetitionis-interface.
This object is of class Item (characterized by item-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < SignumRepetitionis ] | [ Up: All layout objects ] | [ SostenutoPedal > ] |
3.1.121 Slur ¶
A slur. See also
PhrasingSlur.
Slur objects are created by the following engraver(s): Slur_engraver.
Standard settings:
avoid-slur(symbol):
'insideMethod of handling slur collisions. Choices are
inside,outside,around, andignore.insideadjusts the slur if needed to keep the grob inside the slur.outsidemoves the grob vertically to the outside of the slur.aroundmoves the grob vertically to the outside of the slur only if there is a collision.ignoredoes not move either. In grobs whose notational significance depends on vertical position (such as accidentals, clefs, etc.),outsideandaroundbehave likeignore.control-points(list of number pairs):
ly:slur::calc-control-pointsList of offsets (number pairs) that form control points for the tie, slur, or bracket shape. For Béziers, this should list the control points of a third-order Bézier curve.
details(alist, with symbols as keys): '((absolute-closeness-measure . 0.3) (accidental-collision . 3) (close-to-edge-length . 2.5) (edge-attraction-factor . 4) (edge-slope-exponent . 1.7) (encompass-object-range-overshoot . 0.5) (extra-encompass-collision-distance . 0.8) (extra-encompass-free-distance . 0.3) (extra-object-collision-penalty . 50) (free-head-distance . 0.3) (free-slur-distance . 0.8) (gap-to-staffline-inside . 0.2) (gap-to-staffline-outside . 0.1) (head-encompass-penalty . 1000.0) (head-slur-distance-factor . 10) (head-slur-distance-max-ratio . 3) (max-slope . 1.1) (max-slope-factor . 10) (non-horizontal-penalty . 15) (region-size . 4) (same-slope-penalty . 20) (slur-tie-extrema-min-distance . 0.2) (slur-tie-extrema-min-distance-penalty . 2) (steeper-slope-factor . 50) (stem-encompass-penalty . 30.0))An alist of parameters for detailed grob behavior. See All layout objects for more information on the available parameters and their default values of a particular grob’s
detailsproperty. See Graphical Object Interfaces for documentation of the available parameters. Supporting interfaces can be found at the bottom of a grob’s description section.direction(direction):
ly:slur::calc-directionIf
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.font-size(number):
-6The font size, compared to the ‘normal’ size.
0is style-sheet’s normal size,-1is smaller,+1is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. If the context propertyfontSizeis set, its value is added to this before the glyph is printed. Fractional values are allowed.height-limit(dimension, in staff space):
2.0Maximum slur height: The longer the slur, the closer it is to this height.
line-thickness(number):
0.8For slurs and ties, this is the diameter of the virtual “pen” that draws the two arcs of the curve’s outline, which intersect at the endpoints. This property is expressed as a multiple of the current staff-line thickness (i.e., the visual output is influenced by changes to
Staff.StaffSymbol.thickness).minimum-length(dimension, in staff space):
1.5Try to make a spanner at least this long, normally in the horizontal direction. This requires an appropriate callback for the
springs-and-rodsproperty. If added to aTie, this sets the minimum distance between note heads.ratio(number):
0.25Parameter for slur shape. The higher this number, the quicker the slur attains its
height-limit.springs-and-rods(boolean):
ly:spanner::set-spacing-rodsDummy variable for triggering spacing routines.
stencil(stencil):
ly:slur::printThe symbol to print.
thickness(number):
1.2For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e., the visual output is influenced by changes to
Staff.StaffSymbol.thickness).vertical-skylines(pair of skylines):
#<unpure-pure-container ly:grob::vertical-skylines-from-stencil ly:grob::pure-simple-vertical-skylines-from-extents >Two skylines, one above and one below this grob.
Y-extent(pair of numbers):
#<unpure-pure-container ly:slur::height ly:slur::pure-height >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s):
bezier-curve-interface, grob-interface, outside-staff-interface, slur-interface and spanner-interface.
This object is of class Spanner (characterized by spanner-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < Slur ] | [ Up: All layout objects ] | [ SostenutoPedalLineSpanner > ] |
3.1.122 SostenutoPedal ¶
A sostenuto pedal mark. See
also SostenutoPedalLineSpanner, PianoPedalBracket,
SustainPedal, and UnaCordaPedal.
SostenutoPedal objects are created by the following engraver(s): Piano_pedal_engraver.
Standard settings:
direction(direction):
1If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.extra-spacing-width(pair of numbers): '(+inf.0 . -inf.0)In the horizontal spacing problem, we pad each item by this amount (by adding the ‘car’ on the left side of the item and adding the ‘cdr’ on the right side of the item). In order to make a grob take up no horizontal space at all, set this to
(+inf.0 . -inf.0).font-shape(symbol):
'italicSelect the shape of a font. Possible values are
upright,italic,oblique, andslanted(which is the same asoblique).padding(dimension, in staff space):
0.0Add this much extra space between objects that are next to each other.
parent-alignment-X(number):
#fSpecify on which point of the parent the object is aligned. The value
-1means aligned on parent’s left edge,0on center, and1right edge, in X direction. Other numerical values may also be specified - the unit is half the parent’s width. If not a number, align on the parent’s reference point. If unset, the value fromself-alignment-Xproperty will be used.self-alignment-X(number):
0Specify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified - the unit is half the object width. If not a number, align on the object’s reference point.stencil(stencil):
ly:text-interface::printThe symbol to print.
vertical-skylines(pair of skylines):
#<unpure-pure-container ly:grob::vertical-skylines-from-stencil >Two skylines, one above and one below this grob.
X-offset(number):
ly:self-alignment-interface::aligned-on-x-parentThe horizontal amount that this object is moved relative to its X-parent.
Note that many objects have special positioning considerations, which cause any setting of
X-offsetto be ignored or modified, even though the object supports theself-alignment-interface.Y-extent(pair of numbers):
#<unpure-pure-container ly:grob::stencil-height >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s):
font-interface, grob-interface, item-interface, piano-pedal-script-interface, self-alignment-interface and text-interface.
This object is of class Item (characterized by item-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < SostenutoPedal ] | [ Up: All layout objects ] | [ SpacingSpanner > ] |
3.1.123 SostenutoPedalLineSpanner ¶
An auxiliary grob providing a
baseline to align consecutive SostenutoPedal grobs
vertically.
SostenutoPedalLineSpanner objects are created by the following engraver(s): Piano_pedal_align_engraver.
Standard settings:
axes(list): '(1)List of axis numbers. In the case of alignment grobs, this should contain only one number.
direction(direction):
-1If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.minimum-space(dimension, in staff space):
1.0Minimum distance that the victim should move (after padding).
outside-staff-priority(number):
1000If set, the grob is positioned outside the staff in such a way as to avoid all collisions. In case of a potential collision, the grob with the smaller
outside-staff-priorityis closer to the staff.padding(dimension, in staff space):
1.2Add this much extra space between objects that are next to each other.
side-axis(number):
1If the value is
X(or equivalently0), the object is placed horizontally next to the other object. If the value isYor1, it is placed vertically.staff-padding(dimension, in staff space):
1.0Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
vertical-skylines(pair of skylines):
#<unpure-pure-container ly:grob::vertical-skylines-from-element-stencils ly:grob::pure-vertical-skylines-from-element-stencils >Two skylines, one above and one below this grob.
X-extent(pair of numbers):
ly:axis-group-interface::widthExtent (size) in the X direction, measured in staff-space units, relative to object’s reference point.
Y-extent(pair of numbers):
#<unpure-pure-container ly:axis-group-interface::height ly:axis-group-interface::pure-height >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
Y-offset(number):
#<unpure-pure-container ly:side-position-interface::y-aligned-side ly:side-position-interface::pure-y-aligned-side >The vertical amount that this object is moved relative to its Y-parent.
Note that many objects have special positioning considerations, which cause any setting of
Y-offsetto be ignored or modified, even though the object supports theself-alignment-interface.
This object supports the following interface(s):
axis-group-interface, grob-interface, outside-staff-interface, piano-pedal-interface, side-position-interface and spanner-interface.
This object is of class Spanner (characterized by spanner-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < SostenutoPedalLineSpanner ] | [ Up: All layout objects ] | [ SpanBar > ] |
3.1.124 SpacingSpanner ¶
An auxiliary grob to set all
horizontal spacing constraints across a score. There is normally
one such grob for the whole score, but there can be several if
\newSpacingSection is used. See also
GraceSpacing, NoteSpacing, and
StaffSpacing.
SpacingSpanner objects are created by the following engraver(s): Spacing_engraver.
Standard settings:
average-spacing-wishes(boolean):
#tIf set, the spacing wishes are averaged over staves.
base-shortest-duration(moment):
#<Mom 3/16>Spacing is based on the shortest notes in a piece. Normally, pieces are spaced as if notes at least as short as this are present.
common-shortest-duration(moment):
ly:spacing-spanner::calc-common-shortest-durationThe most common shortest note length. This is used in spacing. Enlarging this sets the score tighter.
shortest-duration-space(number):
2.0Start with this multiple of
spacing-incrementspace for the shortest duration. See also spacing-spanner-interface.spacing-increment(dimension, in staff space):
1.2The unit of length for note-spacing. Typically, the width of a note head. See also spacing-spanner-interface.
springs-and-rods(boolean):
ly:spacing-spanner::set-springsDummy variable for triggering spacing routines.
This object supports the following interface(s):
grob-interface, spacing-options-interface, spacing-spanner-interface and spanner-interface.
This object is of class Spanner (characterized by spanner-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < SpacingSpanner ] | [ Up: All layout objects ] | [ SpanBarStub > ] |
3.1.125 SpanBar ¶
A span bar, i.e., the parts of
a multi-staff bar line that are outside of staves. See also
SpanBarStub.
SpanBar objects are created by the following engraver(s): Span_bar_engraver.
Standard settings:
allow-span-bar(boolean):
#tIf false, no inter-staff bar line will be created below this bar line.
bar-extent(pair of numbers):
#<unpure-pure-container ly:axis-group-interface::height ly:axis-group-interface::pure-height >The Y-extent of the actual bar line. This may differ from
Y-extentbecause it does not include the dots in a repeat bar line.before-line-breaking(boolean):
ly:span-bar::before-line-breakingDummy property, used to trigger a callback function.
break-align-anchor(number):
ly:span-bar::calc-anchorGrobs aligned to this breakable item will have their X-offsets shifted by this number. In bar lines, for example, this is used to position grobs relative to the (visual) center of the bar line.
break-align-symbol(symbol):
'staff-barThis key is used for aligning, ordering, and spacing breakable items. See break-alignment-interface.
glyph-name(string):
ly:span-bar::calc-glyph-nameThe glyph name within the font.
In the context of (span) bar lines or clefs, glyph-name represents a processed form of
glyph, where decisions about line breaking, etc., are already taken.layer(integer):
0An integer which determines the order of printing objects. Objects with the lowest value of layer are drawn first, then objects with progressively higher values are drawn, so objects with higher values overwrite objects with lower values. By default most objects are assigned a layer value of 1.
non-musical(boolean):
#tTrue if the grob belongs to a
NonMusicalPaperColumn.stencil(stencil):
ly:span-bar::printThe symbol to print.
X-extent(pair of numbers):
ly:span-bar::widthExtent (size) in the X direction, measured in staff-space units, relative to object’s reference point.
Y-extent(pair of numbers): '(+inf.0 . -inf.0)Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s):
bar-line-interface, break-aligned-interface, font-interface, grob-interface, item-interface and span-bar-interface.
This object is of class Item (characterized by item-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < SpanBar ] | [ Up: All layout objects ] | [ StaffEllipsis > ] |
3.1.126 SpanBarStub ¶
An auxiliary grob, acting like a
fake SpanBar grob in contexts such as Lyrics that
are crossed by a span bar, to keep span bars taking horizontal
space.
SpanBarStub objects are created by the following engraver(s): Span_bar_stub_engraver.
Standard settings:
allow-span-bar(boolean):
#tIf false, no inter-staff bar line will be created below this bar line.
extra-spacing-height(pair of numbers):
pure-from-neighbor-interface::extra-spacing-heightIn the horizontal spacing problem, we increase the height of each item by this amount (by adding the ‘car’ to the bottom of the item and adding the ‘cdr’ to the top of the item). In order to make a grob infinitely high (to prevent the horizontal spacing problem from placing any other grobs above or below this grob), set this to
(-inf.0 . +inf.0).X-extent(pair of numbers):
#<procedure at lily/output-lib.scm:1782:0 (grob)>Extent (size) in the X direction, measured in staff-space units, relative to object’s reference point.
Y-extent(pair of numbers):
#<unpure-pure-container #f pure-from-neighbor-interface::pure-height >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s):
grob-interface, item-interface, pure-from-neighbor-interface and span-bar-stub-interface.
This object is of class Item (characterized by item-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < SpanBarStub ] | [ Up: All layout objects ] | [ StaffGrouper > ] |
3.1.127 StaffEllipsis ¶
A visual marker (usually three consecutive dots) to indicate that typesetting of music is skipped.
StaffEllipsis objects are created by the following engraver(s): Skip_typesetting_engraver.
Standard settings:
break-align-symbol(symbol):
'staff-ellipsisThis key is used for aligning, ordering, and spacing breakable items. See break-alignment-interface.
break-visibility(vector):
#<procedure at lily/output-lib.scm:1793:0 (grob)>A vector of 3 booleans,
#(end-of-line unbroken begin-of-line).#tmeans visible,#fmeans killed.break-visibility-passage-default(vector): #(#t #t #f)The value to use for
break-visibilitywhen the item does not specifically mark the start or end of a passage. (It might be both or neither, depending on the type of item.)break-visibility-passage-end(vector): #(#t #t #f)The value to use for
break-visibilitywhen the item marks the end of a passage.break-visibility-passage-start(vector): #(#f #t #t)The value to use for
break-visibilitywhen the item marks the start of a passage.layer(integer):
1An integer which determines the order of printing objects. Objects with the lowest value of layer are drawn first, then objects with progressively higher values are drawn, so objects with higher values overwrite objects with lower values. By default most objects are assigned a layer value of 1.
non-musical(boolean):
#tTrue if the grob belongs to a
NonMusicalPaperColumn.space-alist(alist, with symbols as keys):'((ambitus extra-space . 1.0) (breathing-sign extra-space . 1.0) (custos extra-space . 1.0) (key-signature extra-space . 1.0) (left-edge extra-space . 0.0) (time-signature extra-space . 1.0) (signum-repetitionis extra-space . 1.0) (staff-bar extra-space . 1.0) (clef extra-space . 1.0) (cue-clef extra-space . 1.0) (cue-end-clef extra-space . 1.0) (optional-material-end-bracket extra-space . 1.0) (optional-material-start-bracket extra-space . 1.0) (first-note extra-space . 1.0) (right-edge fixed-space . 0))An alist that specifies distances from this grob to other breakable items, using the format:
'((break-align-symbol . (spacing-style . space)) (break-align-symbol . (spacing-style . space)) ...)Standard choices for
break-align-symbolare listed in Grobs and their break-align symbols. Additionally, three special break-align symbols available tospace-alistare:
first-noteused when the grob is just left of the first note on a line
next-noteused when the grob is just left of any other note; if not set, the value of
first-notegets usedright-edgeused when the grob is the last item on the line (only compatible with the
extra-spacespacing style)If
space-alistis defined for a grob that gets spaced in a staff, an entry forfirst-notemust be present. If there is nonext-noteentry, the value offirst-noteis used instead.Choices for
spacing-styleare:
extra-spacePut this much space between the two grobs. The space is stretchable and shrinkable when paired with
first-noteornext-note; otherwise it is fixed.minimum-spacePut at least this much space between the left sides of both grobs, without allowing them to collide. The space is stretchable and shrinkable when paired with
first-noteornext-note; otherwise it is fixed. Not compatible withright-edge.fixed-spaceOnly compatible with
first-noteandnext-note. Put this much fixed space between the grob and the note.minimum-fixed-spaceOnly compatible with
first-noteandnext-note. Put at least this much fixed space between the left side of the grob and the left side of the note, without allowing them to collide.semi-fixed-spaceOnly compatible with
first-noteandnext-note. Put this much space between the grob and the note, such that half of the space is fixed and half is stretchable and shrinkable.shrink-spaceOnly compatible with
first-noteandnext-note. Put this much space between the two grobs. The space is only shrinkable.semi-shrink-spaceOnly compatible with
first-noteandnext-note. Put this much space between the grob and the note, such that half of the space is fixed and half is shrinkable.Rules for this spacing are much more complicated than this. See [Wanske] page 126–134, [Ross] page 143–147.
stencil(stencil):
staff-ellipsis::printThe symbol to print.
text(markup):'(#<procedure line-markup (layout props args)> ((#<procedure null-markup (layout props)>) (#<procedure musicglyph-markup (layout props glyph-name)> "dots.dot") (#<procedure musicglyph-markup (layout props glyph-name)> "dots.dot") (#<procedure musicglyph-markup (layout props glyph-name)> "dots.dot") (#<procedure null-markup (layout props)>)))Text markup. See Formatting text.
whiteout(boolean-or-number):
#tIf a number or true, the grob is printed over a white background to white-out underlying material, if the grob is visible. A number indicates how far the white background extends beyond the bounding box of the grob as a multiple of the staff-line thickness. The
LyricHyphengrob uses a special implementation of whiteout: A positive number indicates how far the white background extends beyond the bounding box in multiples ofline-thickness. The shape of the background is determined bywhiteout-style.Usually
#fby default. Ifwhiteout-coloris set, use this color instead of white for the background.Y-extent(pair of numbers):
#<unpure-pure-container ly:grob::stencil-height staff-ellipsis::pure-height >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s):
break-aligned-interface, font-interface, grob-interface, item-interface, passage-delimiter-interface, staff-ellipsis-interface and text-interface.
This object is of class Item (characterized by item-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < StaffEllipsis ] | [ Up: All layout objects ] | [ StaffHighlight > ] |
3.1.128 StaffGrouper ¶
An auxiliary grob to manage
vertical spacing of staff groups. See also
VerticalAlignment and VerticalAxisGroup.
StaffGrouper objects are created by the following engraver(s): Vertical_align_engraver.
Standard settings:
staff-staff-spacing(alist, with symbols as keys): '((basic-distance . 9) (minimum-distance . 7) (padding . 1) (stretchability . 5))When applied to a staff-group’s
StaffGroupergrob, this spacing alist controls the distance between consecutive staves within the staff-group. When applied to a staff’sVerticalAxisGroupgrob, it controls the distance between the staff and the nearest staff below it in the same system, replacing any settings inherited from theStaffGroupergrob of the containing staff-group, if there is one. This property remains in effect even when non-staff lines appear between staves. The alist can contain the following keys:
basic-distance– the vertical distance, measured in staff-spaces, between the reference points of the two items when no collisions would result, and no stretching or compressing is in effect.minimum-distance– the smallest allowable vertical distance, measured in staff-spaces, between the reference points of the two items, when compressing is in effect.padding– the minimum required amount of unobstructed vertical whitespace between the bounding boxes (or skylines) of the two items, measured in staff-spaces.stretchability– a unitless measure of the dimension’s relative propensity to stretch. If zero, the distance will not stretch (unless collisions would result).staffgroup-staff-spacing(alist, with symbols as keys): '((basic-distance . 10.5) (minimum-distance . 8) (padding . 1) (stretchability . 9))The spacing alist controlling the distance between the last staff of the current staff-group and the staff just below it in the same system, even if one or more non-staff lines exist between the two staves. If the
staff-staff-spacingproperty of the staff’sVerticalAxisGroupgrob is set, that is used instead. Seestaff-staff-spacingfor a description of the alist structure.
This object supports the following interface(s):
grob-interface, spanner-interface and staff-grouper-interface.
This object is of class Spanner (characterized by spanner-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < StaffGrouper ] | [ Up: All layout objects ] | [ StaffSpacing > ] |
3.1.129 StaffHighlight ¶
A colored span to highlight a music passage.
StaffHighlight objects are created by the following engraver(s): Staff_highlight_engraver.
Standard settings:
bound-prefatory-paddings(pair of numbers): '(0.5 . 0.5)For a highlight, the amount of padding to insert at a bound from a prefatory item that is not a bar line.
color(color):
#<procedure at lily/output-lib.scm:1710:0 (grob)>The color of this grob.
layer(integer):
-1An integer which determines the order of printing objects. Objects with the lowest value of layer are drawn first, then objects with progressively higher values are drawn, so objects with higher values overwrite objects with lower values. By default most objects are assigned a layer value of 1.
shorten-pair(pair of numbers): '(0 . 0)The lengths to shorten on both sides a hairpin or text-spanner such as a pedal bracket. Positive values shorten the hairpin or text-spanner, while negative values lengthen it.
stencil(stencil):
staff-highlight::printThe symbol to print.
X-extent(pair of numbers):
staff-highlight::widthExtent (size) in the X direction, measured in staff-space units, relative to object’s reference point.
Y-extent(pair of numbers):
staff-highlight::heightExtent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s):
grob-interface, spanner-interface and staff-highlight-interface.
This object is of class Spanner (characterized by spanner-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < StaffHighlight ] | [ Up: All layout objects ] | [ StaffSymbol > ] |
3.1.130 StaffSpacing ¶
An auxiliary grob to handle
spacing within a staff. See also NoteSpacing,
GraceSpacing, and SpacingSpanner.
StaffSpacing objects are created by the following engraver(s): Separating_line_group_engraver.
Standard settings:
non-musical(boolean):
#tTrue if the grob belongs to a
NonMusicalPaperColumn.stem-spacing-correction(number):
0.4Optical correction amount for stems that are placed in tight configurations. For opposite directions, this amount is the correction for two normal sized stems that overlap completely.
This object supports the following interface(s):
grob-interface, item-interface, spacing-interface and staff-spacing-interface.
This object is of class Item (characterized by item-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < StaffSpacing ] | [ Up: All layout objects ] | [ StanzaNumber > ] |
3.1.131 StaffSymbol ¶
A staff symbol, usually five horizontal lines.
StaffSymbol objects are created by the following engraver(s): Staff_symbol_engraver and Tab_staff_symbol_engraver.
Standard settings:
break-align-symbols(list): '(staff-bar break-alignment)A list of break-align symbols that determines which breakable items to align this to. If the grob selected by the first symbol in the list is invisible due to
break-visibility, we will align to the next grob (and so on). Choices are listed in Grobs and their break-align symbols.layer(integer):
0An integer which determines the order of printing objects. Objects with the lowest value of layer are drawn first, then objects with progressively higher values are drawn, so objects with higher values overwrite objects with lower values. By default most objects are assigned a layer value of 1.
ledger-line-thickness(pair of numbers): '(1.0 . 0.1)The thickness of ledger lines. It is the sum of two numbers: The first is the factor for line thickness, and the second for staff space. Both contributions are added.
line-count(integer):
5The number of staff lines.
line-positions(list):
ly:staff-symbol::calc-line-positionsVertical positions of staff lines.
stencil(stencil):
ly:staff-symbol::printThe symbol to print.
widened-extent(pair of numbers):
staff-symbol::calc-widened-extentThe vertical extent that a bar line on a certain staff symbol should have. If the staff symbol is small (e.g., has just one line, as in a
RhythmicStaff, this is wider than the staff symbol’s Y extent.Y-extent(pair of numbers):
#<unpure-pure-container ly:staff-symbol::height >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
Remarks:
- For this grob, the
ledger-positionsproperty defines a repeating pattern of ledger lines. Positions put into sublists are always be shown together, and values identical to staff line positions are ignored.- If the
ledger-positions-functionproperty is set,ledger-positionsandledger-extraare ignored.
This object supports the following interface(s):
grob-interface, spanner-interface and staff-symbol-interface.
This object is of class Spanner (characterized by spanner-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < StaffSymbol ] | [ Up: All layout objects ] | [ Stem > ] |
3.1.132 StanzaNumber ¶
A stanza number (or markup) for lyrics.
StanzaNumber objects are created by the following engraver(s): Stanza_number_engraver.
Standard settings:
after-line-breaking(boolean):
ly:chord-name::after-line-breakingDummy property, used to trigger callback for
after-line-breaking.direction(direction):
-1If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.extra-spacing-width(pair of numbers):
stanza-number::extra-spacing-widthIn the horizontal spacing problem, we pad each item by this amount (by adding the ‘car’ on the left side of the item and adding the ‘cdr’ on the right side of the item). In order to make a grob take up no horizontal space at all, set this to
(+inf.0 . -inf.0).font-series(symbol):
'boldSelect the series of a font. Common choices are
normalandbold. The full list of symbols that can be used is:thin,ultralight(orextralight),light,semilight(ordemilight),book,normal(orregular),medium,semibold(ordemibold),bold,ultrabold(orextrabold),heavy(orblack), andultraheavy(orultrablackorextrablack).padding(dimension, in staff space):
1.0Add this much extra space between objects that are next to each other.
side-axis(number):
0If the value is
X(or equivalently0), the object is placed horizontally next to the other object. If the value isYor1, it is placed vertically.stencil(stencil):
ly:text-interface::printThe symbol to print.
X-offset(number):
ly:side-position-interface::x-aligned-sideThe horizontal amount that this object is moved relative to its X-parent.
Note that many objects have special positioning considerations, which cause any setting of
X-offsetto be ignored or modified, even though the object supports theself-alignment-interface.Y-extent(pair of numbers):
#<unpure-pure-container ly:grob::stencil-height >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s):
font-interface, grob-interface, item-interface, side-position-interface, stanza-number-interface and text-interface.
This object is of class Item (characterized by item-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < StanzaNumber ] | [ Up: All layout objects ] | [ StemStub > ] |
3.1.133 Stem ¶
A stem. See also
StemStub.
Stem objects are created by the following engraver(s): Span_stem_engraver and Stem_engraver.
Standard settings:
beamlet-default-length(pair): '(1.1 . 1.1)A pair of numbers. The first number specifies the default length of a beamlet that sticks out of the left hand side of this stem; the second number specifies the default length of the beamlet to the right. The actual length of a beamlet is determined by taking either the default length or the length specified by
beamlet-max-length-proportion, whichever is smaller.beamlet-max-length-proportion(pair): '(0.75 . 0.75)The maximum length of a beamlet, as a proportion of the distance between two adjacent stems.
default-direction(direction):
ly:stem::calc-default-directionDirection determined by note head positions.
details(alist, with symbols as keys): '((beamed-extreme-minimum-free-lengths 2.0 1.25) (beamed-lengths 3.26 3.5 3.6) (beamed-minimum-free-lengths 1.83 1.5 1.25) (lengths 3.5 3.5 3.5 4.25 5.0 6.0 7.0 8.0 9.0) (stem-shorten 1.0 0.5 0.25))An alist of parameters for detailed grob behavior. See All layout objects for more information on the available parameters and their default values of a particular grob’s
detailsproperty. See Graphical Object Interfaces for documentation of the available parameters. Supporting interfaces can be found at the bottom of a grob’s description section.direction(direction):
ly:stem::calc-directionIf
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.double-stem-separation(number):
0.5The distance between the two stems of a half note in tablature when using
\tabFullNotation, not counting the width of the stems themselves, expressed as a multiple of the default height of a staff-space in the traditional five-line staff.duration-log(integer):
stem::calc-duration-logThe 2-log of the note head duration, i.e.,
0= whole note,1= half note, etc.length(dimension, in staff space):
#<unpure-pure-container ly:stem::calc-length ly:stem::pure-calc-length >User override for the stem length of unbeamed stems (each unit represents half a
staff-space).neutral-direction(direction):
-1Which direction to take in the center of the staff.
note-collision-threshold(dimension, in staff space):
1Simultaneous notes that are this close or closer in units of
staff-spacewill be identified as vertically colliding. Used byStemgrobs for notes in the same voice, andNoteCollisiongrobs for notes in different voices. Default value 1.stem-begin-position(number):
#<unpure-pure-container ly:stem::calc-stem-begin-position ly:stem::pure-calc-stem-begin-position >User override for the begin position of a stem.
stencil(stencil):
ly:stem::printThe symbol to print.
thickness(number):
1.3For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e., the visual output is influenced by changes to
Staff.StaffSymbol.thickness).X-extent(pair of numbers):
ly:stem::widthExtent (size) in the X direction, measured in staff-space units, relative to object’s reference point.
X-offset(number):
ly:stem::offset-callbackThe horizontal amount that this object is moved relative to its X-parent.
Note that many objects have special positioning considerations, which cause any setting of
X-offsetto be ignored or modified, even though the object supports theself-alignment-interface.Y-extent(pair of numbers):
#<unpure-pure-container ly:stem::height ly:stem::pure-height >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
Y-offset(number):
#<unpure-pure-container ly:staff-symbol-referencer::callback >The vertical amount that this object is moved relative to its Y-parent.
Note that many objects have special positioning considerations, which cause any setting of
Y-offsetto be ignored or modified, even though the object supports theself-alignment-interface.
This object supports the following interface(s):
grob-interface, item-interface and stem-interface.
This object is of class Item (characterized by item-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < Stem ] | [ Up: All layout objects ] | [ StemTremolo > ] |
3.1.134 StemStub ¶
An auxiliary grob that prevents
cross-staff Stem grobs from colliding with
articulations.
StemStub objects are created by the following engraver(s): Stem_engraver.
Standard settings:
extra-spacing-height(pair of numbers):
stem-stub::extra-spacing-heightIn the horizontal spacing problem, we increase the height of each item by this amount (by adding the ‘car’ to the bottom of the item and adding the ‘cdr’ to the top of the item). In order to make a grob infinitely high (to prevent the horizontal spacing problem from placing any other grobs above or below this grob), set this to
(-inf.0 . +inf.0).X-extent(pair of numbers):
stem-stub::widthExtent (size) in the X direction, measured in staff-space units, relative to object’s reference point.
Y-extent(pair of numbers):
#<unpure-pure-container #f stem-stub::pure-height >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s):
grob-interface and item-interface.
This object is of class Item (characterized by item-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < StemStub ] | [ Up: All layout objects ] | [ StringNumber > ] |
3.1.135 StemTremolo ¶
A stem tremolo.
StemTremolo objects are created by the following engraver(s): Stem_engraver.
Standard settings:
beam-thickness(dimension, in staff space):
0.48Beam thickness, measured in
staff-spaceunits.beam-width(dimension, in staff space):
ly:stem-tremolo::calc-widthWidth of the tremolo sign.
direction(direction):
ly:stem-tremolo::calc-directionIf
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.parent-alignment-X(number):
0Specify on which point of the parent the object is aligned. The value
-1means aligned on parent’s left edge,0on center, and1right edge, in X direction. Other numerical values may also be specified - the unit is half the parent’s width. If not a number, align on the parent’s reference point. If unset, the value fromself-alignment-Xproperty will be used.shape(symbol):
ly:stem-tremolo::calc-shapeThis setting determines what shape a grob has. Valid choices depend on the
stencilcallback reading this property.slope(number):
ly:stem-tremolo::calc-slopeThe slope of this object.
stencil(stencil):
ly:stem-tremolo::printThe symbol to print.
X-extent(pair of numbers):
ly:stem-tremolo::widthExtent (size) in the X direction, measured in staff-space units, relative to object’s reference point.
X-offset(number):
ly:self-alignment-interface::aligned-on-x-parentThe horizontal amount that this object is moved relative to its X-parent.
Note that many objects have special positioning considerations, which cause any setting of
X-offsetto be ignored or modified, even though the object supports theself-alignment-interface.Y-extent(pair of numbers):
#<unpure-pure-container ly:grob::stencil-height ly:stem-tremolo::pure-height >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
Y-offset(number):
#<unpure-pure-container ly:stem-tremolo::calc-y-offset ly:stem-tremolo::pure-calc-y-offset >The vertical amount that this object is moved relative to its Y-parent.
Note that many objects have special positioning considerations, which cause any setting of
Y-offsetto be ignored or modified, even though the object supports theself-alignment-interface.
This object supports the following interface(s):
grob-interface, item-interface, self-alignment-interface and stem-tremolo-interface.
This object is of class Item (characterized by item-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < StemTremolo ] | [ Up: All layout objects ] | [ StrokeFinger > ] |
3.1.136 StringNumber ¶
A markup (by default a digit in a circle) to name a string.
StringNumber objects are created by the following engraver(s): New_fingering_engraver.
Standard settings:
add-stem-support(boolean):
only-if-beamedIf set, the
Stemobject is included in this script’s support.avoid-slur(symbol):
'aroundMethod of handling slur collisions. Choices are
inside,outside,around, andignore.insideadjusts the slur if needed to keep the grob inside the slur.outsidemoves the grob vertically to the outside of the slur.aroundmoves the grob vertically to the outside of the slur only if there is a collision.ignoredoes not move either. In grobs whose notational significance depends on vertical position (such as accidentals, clefs, etc.),outsideandaroundbehave likeignore.font-encoding(symbol):
'fetaTextThe font encoding is the broadest category for selecting a font. Currently, only LilyPond’s system fonts (Emmentaler) are using this property. Available values are
fetaMusic(Emmentaler),fetaBraces,fetaText(Emmentaler).font-features(list):'("cv47")Opentype features.
font-size(number):
-5The font size, compared to the ‘normal’ size.
0is style-sheet’s normal size,-1is smaller,+1is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. If the context propertyfontSizeis set, its value is added to this before the glyph is printed. Fractional values are allowed.number-type(symbol):
'arabicNumbering style. Choices include
arabic,roman-ij-lower,roman-ij-upper,roman-lower, androman-upper.padding(dimension, in staff space):
0.5Add this much extra space between objects that are next to each other.
parent-alignment-X(number):
0Specify on which point of the parent the object is aligned. The value
-1means aligned on parent’s left edge,0on center, and1right edge, in X direction. Other numerical values may also be specified - the unit is half the parent’s width. If not a number, align on the parent’s reference point. If unset, the value fromself-alignment-Xproperty will be used.script-priority(number):
150A key for determining the order of scripts in a stack, by being added to the position of the script in the user input, the sum being the overall priority. Smaller means closer to the head.
self-alignment-X(number):
0Specify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified - the unit is half the object width. If not a number, align on the object’s reference point.self-alignment-Y(number):
0Like
self-alignment-Xbut for the Y axis.staff-padding(dimension, in staff space):
0.5Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
stencil(stencil):
print-circled-text-callbackThe symbol to print.
text(markup):
string-number::calc-textText markup. See Formatting text.
Y-extent(pair of numbers):
#<unpure-pure-container ly:grob::stencil-height >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s):
font-interface, grob-interface, item-interface, number-interface, outside-staff-interface, self-alignment-interface, side-position-interface, string-number-interface, text-interface and text-script-interface.
This object is of class Item (characterized by item-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < StringNumber ] | [ Up: All layout objects ] | [ SustainPedal > ] |
3.1.137 StrokeFinger ¶
A markup (usually a lowercase
letter) to indicate right-hand fingering. See also
Fingering.
StrokeFinger objects are created by the following engraver(s): New_fingering_engraver.
Standard settings:
add-stem-support(boolean):
only-if-beamedIf set, the
Stemobject is included in this script’s support.avoid-slur(symbol):
'aroundMethod of handling slur collisions. Choices are
inside,outside,around, andignore.insideadjusts the slur if needed to keep the grob inside the slur.outsidemoves the grob vertically to the outside of the slur.aroundmoves the grob vertically to the outside of the slur only if there is a collision.ignoredoes not move either. In grobs whose notational significance depends on vertical position (such as accidentals, clefs, etc.),outsideandaroundbehave likeignore.digit-names(vector):#("p" "i" "m" "a" "x")Names for string finger digits.
font-shape(symbol):
'italicSelect the shape of a font. Possible values are
upright,italic,oblique, andslanted(which is the same asoblique).font-size(number):
-4The font size, compared to the ‘normal’ size.
0is style-sheet’s normal size,-1is smaller,+1is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. If the context propertyfontSizeis set, its value is added to this before the glyph is printed. Fractional values are allowed.padding(dimension, in staff space):
0.5Add this much extra space between objects that are next to each other.
parent-alignment-X(number):
0Specify on which point of the parent the object is aligned. The value
-1means aligned on parent’s left edge,0on center, and1right edge, in X direction. Other numerical values may also be specified - the unit is half the parent’s width. If not a number, align on the parent’s reference point. If unset, the value fromself-alignment-Xproperty will be used.script-priority(number):
125A key for determining the order of scripts in a stack, by being added to the position of the script in the user input, the sum being the overall priority. Smaller means closer to the head.
self-alignment-X(number):
0Specify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified - the unit is half the object width. If not a number, align on the object’s reference point.self-alignment-Y(number):
0Like
self-alignment-Xbut for the Y axis.slur-padding(number):
0.3Extra distance between slur and script.
staff-padding(dimension, in staff space):
0.5Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
stencil(stencil):
ly:text-interface::printThe symbol to print.
text(markup):
stroke-finger::calc-textText markup. See Formatting text.
Y-extent(pair of numbers):
#<unpure-pure-container ly:grob::stencil-height >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s):
font-interface, grob-interface, item-interface, outside-staff-interface, self-alignment-interface, side-position-interface, stroke-finger-interface, text-interface and text-script-interface.
This object is of class Item (characterized by item-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < StrokeFinger ] | [ Up: All layout objects ] | [ SustainPedalLineSpanner > ] |
3.1.138 SustainPedal ¶
A sustain pedal mark. See also
SustainPedalLineSpanner, PianoPedalBracket,
SostenutoPedal, and UnaCordaPedal.
SustainPedal objects are created by the following engraver(s): Piano_pedal_engraver.
Standard settings:
extra-spacing-width(pair of numbers): '(+inf.0 . -inf.0)In the horizontal spacing problem, we pad each item by this amount (by adding the ‘car’ on the left side of the item and adding the ‘cdr’ on the right side of the item). In order to make a grob take up no horizontal space at all, set this to
(+inf.0 . -inf.0).padding(dimension, in staff space):
0.0Add this much extra space between objects that are next to each other.
parent-alignment-X(number):
#fSpecify on which point of the parent the object is aligned. The value
-1means aligned on parent’s left edge,0on center, and1right edge, in X direction. Other numerical values may also be specified - the unit is half the parent’s width. If not a number, align on the parent’s reference point. If unset, the value fromself-alignment-Xproperty will be used.self-alignment-X(number):
0Specify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified - the unit is half the object width. If not a number, align on the object’s reference point.stencil(stencil):
ly:sustain-pedal::printThe symbol to print.
vertical-skylines(pair of skylines):
#<unpure-pure-container ly:grob::vertical-skylines-from-stencil >Two skylines, one above and one below this grob.
X-offset(number):
ly:self-alignment-interface::aligned-on-x-parentThe horizontal amount that this object is moved relative to its X-parent.
Note that many objects have special positioning considerations, which cause any setting of
X-offsetto be ignored or modified, even though the object supports theself-alignment-interface.Y-extent(pair of numbers):
#<unpure-pure-container ly:grob::stencil-height >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s):
font-interface, grob-interface, item-interface, piano-pedal-interface, piano-pedal-script-interface, self-alignment-interface and text-interface.
This object is of class Item (characterized by item-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < SustainPedal ] | [ Up: All layout objects ] | [ System > ] |
3.1.139 SustainPedalLineSpanner ¶
An auxiliary grob providing a
baseline to align consecutive SustainPedal grobs
vertically.
SustainPedalLineSpanner objects are created by the following engraver(s): Piano_pedal_align_engraver.
Standard settings:
axes(list): '(1)List of axis numbers. In the case of alignment grobs, this should contain only one number.
direction(direction):
-1If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.minimum-space(dimension, in staff space):
1.0Minimum distance that the victim should move (after padding).
outside-staff-priority(number):
1000If set, the grob is positioned outside the staff in such a way as to avoid all collisions. In case of a potential collision, the grob with the smaller
outside-staff-priorityis closer to the staff.padding(dimension, in staff space):
1.2Add this much extra space between objects that are next to each other.
side-axis(number):
1If the value is
X(or equivalently0), the object is placed horizontally next to the other object. If the value isYor1, it is placed vertically.staff-padding(dimension, in staff space):
1.2Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
vertical-skylines(pair of skylines):
#<unpure-pure-container ly:grob::vertical-skylines-from-element-stencils ly:grob::pure-vertical-skylines-from-element-stencils >Two skylines, one above and one below this grob.
X-extent(pair of numbers):
ly:axis-group-interface::widthExtent (size) in the X direction, measured in staff-space units, relative to object’s reference point.
Y-extent(pair of numbers):
#<unpure-pure-container ly:axis-group-interface::height ly:axis-group-interface::pure-height >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
Y-offset(number):
#<unpure-pure-container ly:side-position-interface::y-aligned-side ly:side-position-interface::pure-y-aligned-side >The vertical amount that this object is moved relative to its Y-parent.
Note that many objects have special positioning considerations, which cause any setting of
Y-offsetto be ignored or modified, even though the object supports theself-alignment-interface.
This object supports the following interface(s):
axis-group-interface, grob-interface, outside-staff-interface, piano-pedal-interface, side-position-interface and spanner-interface.
This object is of class Spanner (characterized by spanner-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < SustainPedalLineSpanner ] | [ Up: All layout objects ] | [ SystemStartBar > ] |
3.1.140 System ¶
The top-level grob of a score. All other grobs are descendants of it.
System objects are created internally by the Score_engraver translator group..
Standard settings:
axes(list): '(0 1)List of axis numbers. In the case of alignment grobs, this should contain only one number.
outside-staff-placement-directive(symbol):
'left-to-right-politeOne of four directives telling how outside staff objects should be placed.
left-to-right-greedy– Place each successive grob from left to right.left-to-right-polite– Place a grob from left to right only if it does not potentially overlap with another grob that has been placed on a pass through a grob array. If there is overlap, do another pass to determine placement.right-to-left-greedy– Same asleft-to-right-greedy, but from right to left.right-to-left-polite– Same asleft-to-right-polite, but from right to left.show-vertical-skylines(boolean):
grob::show-skylines-if-debug-skylines-setIf true, print this grob’s vertical skylines. This is meant for debugging purposes.
skyline-horizontal-padding(number):
1.0For determining the vertical distance between two staves, it is possible to have a configuration which would result in a tight interleaving of grobs from the top staff and the bottom staff. The larger this parameter is, the farther apart the staves are placed in such a configuration.
vertical-skylines(pair of skylines):
ly:axis-group-interface::calc-skylinesTwo skylines, one above and one below this grob.
X-extent(pair of numbers):
ly:axis-group-interface::widthExtent (size) in the X direction, measured in staff-space units, relative to object’s reference point.
Y-extent(pair of numbers):
#<unpure-pure-container ly:system::height ly:system::calc-pure-height >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s):
axis-group-interface, grob-interface, outside-staff-axis-group-interface, spanner-interface and system-interface.
This object is of class System (characterized by system-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < System ] | [ Up: All layout objects ] | [ SystemStartBrace > ] |
3.1.141 SystemStartBar ¶
A bar line as a system start delimiter.
SystemStartBar objects are created by the following engraver(s): System_start_delimiter_engraver.
Standard settings:
collapse-height(dimension, in staff space):
5.0Minimum height of system start delimiter. If equal or smaller, the bracket/brace/line is removed.
direction(direction):
-1If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.padding(dimension, in staff space):
-0.1Add this much extra space between objects that are next to each other.
stencil(stencil):
ly:system-start-delimiter::printThe symbol to print.
style(symbol):
'bar-lineThis setting determines in what style a grob is typeset. Valid choices depend on the
stencilcallback reading this property.thickness(number):
1.6For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e., the visual output is influenced by changes to
Staff.StaffSymbol.thickness).X-offset(number):
ly:side-position-interface::x-aligned-sideThe horizontal amount that this object is moved relative to its X-parent.
Note that many objects have special positioning considerations, which cause any setting of
X-offsetto be ignored or modified, even though the object supports theself-alignment-interface.
This object supports the following interface(s):
grob-interface, side-position-interface, spanner-interface and system-start-delimiter-interface.
This object is of class Spanner (characterized by spanner-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < SystemStartBar ] | [ Up: All layout objects ] | [ SystemStartBracket > ] |
3.1.142 SystemStartBrace ¶
A brace as a system start delimiter.
SystemStartBrace objects are created by the following engraver(s): System_start_delimiter_engraver.
Standard settings:
collapse-height(dimension, in staff space):
5.0Minimum height of system start delimiter. If equal or smaller, the bracket/brace/line is removed.
direction(direction):
-1If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.font-encoding(symbol):
'fetaBracesThe font encoding is the broadest category for selecting a font. Currently, only LilyPond’s system fonts (Emmentaler) are using this property. Available values are
fetaMusic(Emmentaler),fetaBraces,fetaText(Emmentaler).padding(dimension, in staff space):
0.3Add this much extra space between objects that are next to each other.
stencil(stencil):
ly:system-start-delimiter::printThe symbol to print.
style(symbol):
'braceThis setting determines in what style a grob is typeset. Valid choices depend on the
stencilcallback reading this property.X-offset(number):
ly:side-position-interface::x-aligned-sideThe horizontal amount that this object is moved relative to its X-parent.
Note that many objects have special positioning considerations, which cause any setting of
X-offsetto be ignored or modified, even though the object supports theself-alignment-interface.
This object supports the following interface(s):
font-interface, grob-interface, side-position-interface, spanner-interface and system-start-delimiter-interface.
This object is of class Spanner (characterized by spanner-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < SystemStartBrace ] | [ Up: All layout objects ] | [ SystemStartSquare > ] |
3.1.143 SystemStartBracket ¶
A bracket as a system start delimiter.
SystemStartBracket objects are created by the following engraver(s): System_start_delimiter_engraver.
Standard settings:
collapse-height(dimension, in staff space):
5.0Minimum height of system start delimiter. If equal or smaller, the bracket/brace/line is removed.
direction(direction):
-1If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.padding(dimension, in staff space):
0.8Add this much extra space between objects that are next to each other.
stencil(stencil):
ly:system-start-delimiter::printThe symbol to print.
style(symbol):
'bracketThis setting determines in what style a grob is typeset. Valid choices depend on the
stencilcallback reading this property.thickness(number):
0.45For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e., the visual output is influenced by changes to
Staff.StaffSymbol.thickness).X-offset(number):
ly:side-position-interface::x-aligned-sideThe horizontal amount that this object is moved relative to its X-parent.
Note that many objects have special positioning considerations, which cause any setting of
X-offsetto be ignored or modified, even though the object supports theself-alignment-interface.
This object supports the following interface(s):
font-interface, grob-interface, side-position-interface, spanner-interface and system-start-delimiter-interface.
This object is of class Spanner (characterized by spanner-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < SystemStartBracket ] | [ Up: All layout objects ] | [ TabNoteHead > ] |
3.1.144 SystemStartSquare ¶
A rectangle-like bracket as a start delimiter.
SystemStartSquare objects are created by the following engraver(s): System_start_delimiter_engraver.
Standard settings:
collapse-height(dimension, in staff space):
5.0Minimum height of system start delimiter. If equal or smaller, the bracket/brace/line is removed.
direction(direction):
-1If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.stencil(stencil):
ly:system-start-delimiter::printThe symbol to print.
style(symbol):
'line-bracketThis setting determines in what style a grob is typeset. Valid choices depend on the
stencilcallback reading this property.thickness(number):
1.0For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e., the visual output is influenced by changes to
Staff.StaffSymbol.thickness).X-offset(number):
ly:side-position-interface::x-aligned-sideThe horizontal amount that this object is moved relative to its X-parent.
Note that many objects have special positioning considerations, which cause any setting of
X-offsetto be ignored or modified, even though the object supports theself-alignment-interface.
This object supports the following interface(s):
font-interface, grob-interface, side-position-interface, spanner-interface and system-start-delimiter-interface.
This object is of class Spanner (characterized by spanner-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < SystemStartSquare ] | [ Up: All layout objects ] | [ TextMark > ] |
3.1.145 TabNoteHead ¶
A ‘note head’ (usually a
digit) in a tablature. See also NoteHead.
TabNoteHead objects are created by the following engraver(s): Tab_note_heads_engraver.
Standard settings:
after-line-breaking(boolean):
tab-note-head::handle-tiesDummy property, used to trigger callback for
after-line-breaking.bend-me(boolean):
'()Decide whether this grob is bent.
details(alist, with symbols as keys):'((cautionary-properties (angularity . 0.4) (half-thickness . 0.075) (padding . 0) (procedure . #<procedure parenthesize-stencil (stil half-thickness width angularity padding #:optional widen)>) (width . 0.25)) (harmonic-properties (angularity . 2) (half-thickness . 0.075) (padding . 0) (procedure . #<procedure parenthesize-stencil (stil half-thickness width angularity padding #:optional widen)>) (width . 0.25)) (head-offset . 3/5) (tied-properties (note-head-visible . #t) (parenthesize . #t) (repeat-tied . #f) (tied . #f)))An alist of parameters for detailed grob behavior. See All layout objects for more information on the available parameters and their default values of a particular grob’s
detailsproperty. See Graphical Object Interfaces for documentation of the available parameters. Supporting interfaces can be found at the bottom of a grob’s description section.direction(direction):
0If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.duration-log(integer):
note-head::calc-duration-logThe 2-log of the note head duration, i.e.,
0= whole note,1= half note, etc.font-series(symbol):
'boldSelect the series of a font. Common choices are
normalandbold. The full list of symbols that can be used is:thin,ultralight(orextralight),light,semilight(ordemilight),book,normal(orregular),medium,semibold(ordemibold),bold,ultrabold(orextrabold),heavy(orblack), andultraheavy(orultrablackorextrablack).font-size(number):
-2The font size, compared to the ‘normal’ size.
0is style-sheet’s normal size,-1is smaller,+1is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. If the context propertyfontSizeis set, its value is added to this before the glyph is printed. Fractional values are allowed.parenthesis-friends(list): '(dot)A list of Grob types, as symbols. When parentheses enclose a Grob that has ’parenthesis-friends, the parentheses widen to include any child Grobs with type among ’parenthesis-friends.
stem-attachment(pair of numbers):
ly:note-head::calc-tab-stem-attachmentAn
(x . y)pair where the stem attaches to the note head. Each component is measured in a -1 to 1 scale so that -1 is the left/bottom edge of the note’s bounding box and 1 is the right/top edge.stencil(stencil):
tab-note-head::printThe symbol to print.
whiteout(boolean-or-number):
#tIf a number or true, the grob is printed over a white background to white-out underlying material, if the grob is visible. A number indicates how far the white background extends beyond the bounding box of the grob as a multiple of the staff-line thickness. The
LyricHyphengrob uses a special implementation of whiteout: A positive number indicates how far the white background extends beyond the bounding box in multiples ofline-thickness. The shape of the background is determined bywhiteout-style.Usually
#fby default. Ifwhiteout-coloris set, use this color instead of white for the background.X-offset(number):
ly:self-alignment-interface::x-aligned-on-selfThe horizontal amount that this object is moved relative to its X-parent.
Note that many objects have special positioning considerations, which cause any setting of
X-offsetto be ignored or modified, even though the object supports theself-alignment-interface.Y-extent(pair of numbers):
#<unpure-pure-container ly:grob::stencil-height >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
Y-offset(number):
#<unpure-pure-container ly:staff-symbol-referencer::callback >The vertical amount that this object is moved relative to its Y-parent.
Note that many objects have special positioning considerations, which cause any setting of
Y-offsetto be ignored or modified, even though the object supports theself-alignment-interface.
This object supports the following interface(s):
bend-interface, font-interface, grob-interface, item-interface, note-head-interface, rhythmic-grob-interface, rhythmic-head-interface, staff-symbol-referencer-interface, tab-note-head-interface and text-interface.
This object is of class Item (characterized by item-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < TabNoteHead ] | [ Up: All layout objects ] | [ TextScript > ] |
3.1.146 TextMark ¶
An arbitrary textual mark.
See also SectionLabel and JumpScript for grobs with a
more specific intent.
TextMark objects are created by the following engraver(s): Text_mark_engraver.
Standard settings:
after-line-breaking(boolean):
ly:side-position-interface::move-to-extremal-staffDummy property, used to trigger callback for
after-line-breaking.baseline-skip(dimension, in staff space):
2Distance between base lines of multiple lines of text.
break-align-symbols(list): '(staff-bar key-signature clef)A list of break-align symbols that determines which breakable items to align this to. If the grob selected by the first symbol in the list is invisible due to
break-visibility, we will align to the next grob (and so on). Choices are listed in Grobs and their break-align symbols.break-visibility(vector):
text-mark-interface::calc-break-visibilityA vector of 3 booleans,
#(end-of-line unbroken begin-of-line).#tmeans visible,#fmeans killed.direction(direction):
1If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.extra-spacing-width(pair of numbers): '(+inf.0 . -inf.0)In the horizontal spacing problem, we pad each item by this amount (by adding the ‘car’ on the left side of the item and adding the ‘cdr’ on the right side of the item). In order to make a grob take up no horizontal space at all, set this to
(+inf.0 . -inf.0).font-size(number):
0.5The font size, compared to the ‘normal’ size.
0is style-sheet’s normal size,-1is smaller,+1is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. If the context propertyfontSizeis set, its value is added to this before the glyph is printed. Fractional values are allowed.non-musical(boolean):
#tTrue if the grob belongs to a
NonMusicalPaperColumn.outside-staff-horizontal-padding(number):
0.2By default, an outside-staff-object can be placed so that is it very close to another grob horizontally. If this property is set, the outside-staff-object is raised so that it is not so close to its neighbor.
outside-staff-priority(number):
1250If set, the grob is positioned outside the staff in such a way as to avoid all collisions. In case of a potential collision, the grob with the smaller
outside-staff-priorityis closer to the staff.padding(dimension, in staff space):
0.8Add this much extra space between objects that are next to each other.
self-alignment-X(number):
text-mark-interface::calc-self-alignment-XSpecify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified - the unit is half the object width. If not a number, align on the object’s reference point.stencil(stencil):
ly:text-interface::printThe symbol to print.
text(markup):
#<procedure at lily/output-lib.scm:1710:0 (grob)>Text markup. See Formatting text.
vertical-skylines(pair of skylines):
#<unpure-pure-container ly:grob::vertical-skylines-from-stencil >Two skylines, one above and one below this grob.
X-offset(number):
self-alignment-interface::self-aligned-on-breakableThe horizontal amount that this object is moved relative to its X-parent.
Note that many objects have special positioning considerations, which cause any setting of
X-offsetto be ignored or modified, even though the object supports theself-alignment-interface.Y-extent(pair of numbers):
#<unpure-pure-container ly:grob::stencil-height >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
Y-offset(number):
#<unpure-pure-container ly:side-position-interface::y-aligned-side ly:side-position-interface::pure-y-aligned-side >The vertical amount that this object is moved relative to its Y-parent.
Note that many objects have special positioning considerations, which cause any setting of
Y-offsetto be ignored or modified, even though the object supports theself-alignment-interface.
This object supports the following interface(s):
accidental-switch-interface, break-alignable-interface, font-interface, grob-interface, item-interface, mark-interface, outside-staff-interface, self-alignment-interface, side-position-interface, text-interface and text-mark-interface.
This object is of class Item (characterized by item-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < TextMark ] | [ Up: All layout objects ] | [ TextSpanner > ] |
3.1.147 TextScript ¶
A markup attached to a grob like
a note head. See also MultiMeasureRestText.
TextScript objects are created by the following engraver(s): Text_engraver.
Standard settings:
avoid-slur(symbol):
'aroundMethod of handling slur collisions. Choices are
inside,outside,around, andignore.insideadjusts the slur if needed to keep the grob inside the slur.outsidemoves the grob vertically to the outside of the slur.aroundmoves the grob vertically to the outside of the slur only if there is a collision.ignoredoes not move either. In grobs whose notational significance depends on vertical position (such as accidentals, clefs, etc.),outsideandaroundbehave likeignore.direction(direction):
-1If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.extra-spacing-width(pair of numbers): '(+inf.0 . -inf.0)In the horizontal spacing problem, we pad each item by this amount (by adding the ‘car’ on the left side of the item and adding the ‘cdr’ on the right side of the item). In order to make a grob take up no horizontal space at all, set this to
(+inf.0 . -inf.0).outside-staff-horizontal-padding(number):
0.2By default, an outside-staff-object can be placed so that is it very close to another grob horizontally. If this property is set, the outside-staff-object is raised so that it is not so close to its neighbor.
outside-staff-priority(number):
450If set, the grob is positioned outside the staff in such a way as to avoid all collisions. In case of a potential collision, the grob with the smaller
outside-staff-priorityis closer to the staff.padding(dimension, in staff space):
0.3Add this much extra space between objects that are next to each other.
parent-alignment-X(number):
#fSpecify on which point of the parent the object is aligned. The value
-1means aligned on parent’s left edge,0on center, and1right edge, in X direction. Other numerical values may also be specified - the unit is half the parent’s width. If not a number, align on the parent’s reference point. If unset, the value fromself-alignment-Xproperty will be used.script-priority(number):
200A key for determining the order of scripts in a stack, by being added to the position of the script in the user input, the sum being the overall priority. Smaller means closer to the head.
self-alignment-X(number):
#fSpecify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified - the unit is half the object width. If not a number, align on the object’s reference point.side-axis(number):
1If the value is
X(or equivalently0), the object is placed horizontally next to the other object. If the value isYor1, it is placed vertically.slur-padding(number):
0.5Extra distance between slur and script.
staff-padding(dimension, in staff space):
0.5Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
stencil(stencil):
ly:text-interface::printThe symbol to print.
vertical-skylines(pair of skylines):
#<unpure-pure-container ly:grob::vertical-skylines-from-stencil >Two skylines, one above and one below this grob.
X-align-on-main-noteheads(boolean):
#tIf true, this grob will ignore suspended note heads when aligning itself on NoteColumn.
X-offset(number):
ly:self-alignment-interface::aligned-on-x-parentThe horizontal amount that this object is moved relative to its X-parent.
Note that many objects have special positioning considerations, which cause any setting of
X-offsetto be ignored or modified, even though the object supports theself-alignment-interface.Y-extent(pair of numbers):
#<unpure-pure-container ly:grob::stencil-height >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
Y-offset(number):
#<unpure-pure-container ly:side-position-interface::y-aligned-side ly:side-position-interface::pure-y-aligned-side >The vertical amount that this object is moved relative to its Y-parent.
Note that many objects have special positioning considerations, which cause any setting of
Y-offsetto be ignored or modified, even though the object supports theself-alignment-interface.
This object supports the following interface(s):
accidental-switch-interface, font-interface, grob-interface, instrument-specific-markup-interface, item-interface, outside-staff-interface, self-alignment-interface, side-position-interface, text-interface and text-script-interface.
This object is of class Item (characterized by item-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < TextScript ] | [ Up: All layout objects ] | [ Tie > ] |
3.1.148 TextSpanner ¶
Text like ‘rit’, usually
followed by a (dashed) line. See also
DynamicTextSpanner.
TextSpanner objects are created by the following engraver(s): Text_spanner_engraver.
Standard settings:
bound-details(alist, with symbols as keys): '((left (padding . 0.25) (attach-dir . -1)) (left-broken (attach-dir . 1)) (right (padding . 0.25)))An alist of properties for determining attachments of spanners to edges.
dash-fraction(number):
0.2Size of the dashes, relative to
dash-period. Should be between0.1and1.0(continuous line). If set to0.0, a dotted line is produceddash-period(number):
3.0The length of one dash together with whitespace. If negative, no line is drawn at all.
direction(direction):
1If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.font-shape(symbol):
'italicSelect the shape of a font. Possible values are
upright,italic,oblique, andslanted(which is the same asoblique).left-bound-info(alist, with symbols as keys):
ly:horizontal-line-spanner::calc-left-bound-infoAn alist of properties for determining attachments of spanners to edges.
outside-staff-priority(number):
350If set, the grob is positioned outside the staff in such a way as to avoid all collisions. In case of a potential collision, the grob with the smaller
outside-staff-priorityis closer to the staff.right-bound-info(alist, with symbols as keys):
ly:horizontal-line-spanner::calc-right-bound-infoAn alist of properties for determining attachments of spanners to edges.
side-axis(number):
1If the value is
X(or equivalently0), the object is placed horizontally next to the other object. If the value isYor1, it is placed vertically.staff-padding(dimension, in staff space):
0.8Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
stencil(stencil):
ly:line-spanner::printThe symbol to print.
style(symbol):
'dashed-lineThis setting determines in what style a grob is typeset. Valid choices depend on the
stencilcallback reading this property.Y-offset(number):
#<unpure-pure-container ly:side-position-interface::y-aligned-side ly:side-position-interface::pure-y-aligned-side >The vertical amount that this object is moved relative to its Y-parent.
Note that many objects have special positioning considerations, which cause any setting of
Y-offsetto be ignored or modified, even though the object supports theself-alignment-interface.
This object supports the following interface(s):
font-interface, grob-interface, horizontal-line-spanner-interface, line-interface, outside-staff-interface, side-position-interface and spanner-interface.
This object is of class Spanner (characterized by spanner-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < TextSpanner ] | [ Up: All layout objects ] | [ TieColumn > ] |
3.1.149 Tie ¶
A tie. See also
TieColumn, LaissezVibrerTie, and
RepeatTie.
Tie objects are created by the following engraver(s): Completion_heads_engraver and Tie_engraver.
Standard settings:
avoid-slur(symbol):
'insideMethod of handling slur collisions. Choices are
inside,outside,around, andignore.insideadjusts the slur if needed to keep the grob inside the slur.outsidemoves the grob vertically to the outside of the slur.aroundmoves the grob vertically to the outside of the slur only if there is a collision.ignoredoes not move either. In grobs whose notational significance depends on vertical position (such as accidentals, clefs, etc.),outsideandaroundbehave likeignore.control-points(list of number pairs):
ly:tie::calc-control-pointsList of offsets (number pairs) that form control points for the tie, slur, or bracket shape. For Béziers, this should list the control points of a third-order Bézier curve.
details(alist, with symbols as keys):'((between-length-limit . 1.0) (center-staff-line-clearance . 0.6) (dot-collision-clearance . 0.25) (dot-collision-penalty . 0.25) (height-limit . 1.0) (horizontal-distance-penalty-factor . 10) (intra-space-threshold . 1.25) (min-length . 1.0) (min-length-penalty-factor . 26) (multi-tie-region-size . 3) (note-head-gap . 0.2) (outer-tie-length-symmetry-penalty-factor . 10) (outer-tie-vertical-distance-symmetry-penalty-factor . 10) (outer-tie-vertical-gap . 0.25) (ratio . 0.333) (same-dir-as-stem-penalty . 8) (single-tie-region-size . 4) (skyline-padding . 0.05) (staff-line-collision-penalty . 5) (stem-gap . 0.35) (tie-column-monotonicity-penalty . 100) (tie-tie-collision-distance . 0.45) (tie-tie-collision-penalty . 25.0) (tip-staff-line-clearance . 0.45) (vertical-distance-penalty-factor . 7) (wrong-direction-offset-penalty . 10))An alist of parameters for detailed grob behavior. See All layout objects for more information on the available parameters and their default values of a particular grob’s
detailsproperty. See Graphical Object Interfaces for documentation of the available parameters. Supporting interfaces can be found at the bottom of a grob’s description section.direction(direction):
ly:tie::calc-directionIf
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.font-size(number):
-6The font size, compared to the ‘normal’ size.
0is style-sheet’s normal size,-1is smaller,+1is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. If the context propertyfontSizeis set, its value is added to this before the glyph is printed. Fractional values are allowed.line-thickness(number):
0.8For slurs and ties, this is the diameter of the virtual “pen” that draws the two arcs of the curve’s outline, which intersect at the endpoints. This property is expressed as a multiple of the current staff-line thickness (i.e., the visual output is influenced by changes to
Staff.StaffSymbol.thickness).neutral-direction(direction):
1Which direction to take in the center of the staff.
springs-and-rods(boolean):
ly:spanner::set-spacing-rodsDummy variable for triggering spacing routines.
stencil(stencil):
ly:tie::printThe symbol to print.
thickness(number):
1.2For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e., the visual output is influenced by changes to
Staff.StaffSymbol.thickness).vertical-skylines(pair of skylines):
#<unpure-pure-container ly:grob::vertical-skylines-from-stencil ly:grob::pure-simple-vertical-skylines-from-extents >Two skylines, one above and one below this grob.
This object supports the following interface(s):
bezier-curve-interface, grob-interface, spanner-interface and tie-interface.
This object is of class Spanner (characterized by spanner-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < Tie ] | [ Up: All layout objects ] | [ TimeSignature > ] |
3.1.150 TieColumn ¶
An auxiliary grob to determine
direction and shape of stacked Tie grobs.
TieColumn objects are created by the following engraver(s): Completion_heads_engraver and Tie_engraver.
Standard settings:
before-line-breaking(boolean):
ly:tie-column::before-line-breakingDummy property, used to trigger a callback function.
X-extent(pair of numbers):
#fExtent (size) in the X direction, measured in staff-space units, relative to object’s reference point.
Y-extent(pair of numbers):
#fExtent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s):
grob-interface, spanner-interface and tie-column-interface.
This object is of class Spanner (characterized by spanner-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < TieColumn ] | [ Up: All layout objects ] | [ TrillPitchAccidental > ] |
3.1.151 TimeSignature ¶
A time signature.
TimeSignature objects are created by the following engraver(s): Time_signature_engraver.
Standard settings:
avoid-slur(symbol):
'insideMethod of handling slur collisions. Choices are
inside,outside,around, andignore.insideadjusts the slur if needed to keep the grob inside the slur.outsidemoves the grob vertically to the outside of the slur.aroundmoves the grob vertically to the outside of the slur only if there is a collision.ignoredoes not move either. In grobs whose notational significance depends on vertical position (such as accidentals, clefs, etc.),outsideandaroundbehave likeignore.break-align-anchor(number):
ly:break-aligned-interface::calc-extent-aligned-anchorGrobs aligned to this breakable item will have their X-offsets shifted by this number. In bar lines, for example, this is used to position grobs relative to the (visual) center of the bar line.
break-align-anchor-alignment(number):
-1Read by
ly:break-aligned-interface::calc-extent-aligned-anchorfor aligning an anchor to a grob’s extent.break-align-symbol(symbol):
'time-signatureThis key is used for aligning, ordering, and spacing breakable items. See break-alignment-interface.
break-visibility(vector): #(#t #t #t)A vector of 3 booleans,
#(end-of-line unbroken begin-of-line).#tmeans visible,#fmeans killed.denominator-style(symbol):
'defaultThe style of denominators in a time signature.
extra-spacing-height(pair of numbers):
pure-from-neighbor-interface::extra-spacing-height-including-staffIn the horizontal spacing problem, we increase the height of each item by this amount (by adding the ‘car’ to the bottom of the item and adding the ‘cdr’ to the top of the item). In order to make a grob infinitely high (to prevent the horizontal spacing problem from placing any other grobs above or below this grob), set this to
(-inf.0 . +inf.0).extra-spacing-width(pair of numbers): '(0.0 . 0.8)In the horizontal spacing problem, we pad each item by this amount (by adding the ‘car’ on the left side of the item and adding the ‘cdr’ on the right side of the item). In order to make a grob take up no horizontal space at all, set this to
(+inf.0 . -inf.0).fraction(pair of numbers):
ly:time-signature::calc-fractionA fraction.
nested-fraction-mixed(boolean):
#tWhether a fractional term of a time signature is printed as a mixed number (e.g., ‘2 1/2’) or as a common fraction (e.g., ‘5/2’).
nested-fraction-orientation(symbol):
'defaultA symbol describing the orientation of a fractional part of a time signature.
non-musical(boolean):
#tTrue if the grob belongs to a
NonMusicalPaperColumn.note-dots-direction(direction):
0Whether the augmentation dots are shifted up or down (or not shifted) relative to the note head in a number-over-note time signature.
note-staff-position(number):
-1The position of the note in a number-over-note time signature. See
staff-position.senza-misura-stencil(stencil):
#fThe symbol to print when
TimeSignature.time-signatureis not set. OverridingTimeSignature.stencilcircumvents this.space-alist(alist, with symbols as keys):'((ambitus extra-space . 1.0) (cue-clef extra-space . 1.5) (custos minimum-space . 0.5) (first-note semi-shrink-space . 2.0) (optional-material-start-bracket extra-space . 1.0) (right-edge extra-space . 0.5) (signum-repetitionis extra-space . 1.0) (staff-bar extra-space . 1.0))An alist that specifies distances from this grob to other breakable items, using the format:
'((break-align-symbol . (spacing-style . space)) (break-align-symbol . (spacing-style . space)) ...)Standard choices for
break-align-symbolare listed in Grobs and their break-align symbols. Additionally, three special break-align symbols available tospace-alistare:
first-noteused when the grob is just left of the first note on a line
next-noteused when the grob is just left of any other note; if not set, the value of
first-notegets usedright-edgeused when the grob is the last item on the line (only compatible with the
extra-spacespacing style)If
space-alistis defined for a grob that gets spaced in a staff, an entry forfirst-notemust be present. If there is nonext-noteentry, the value offirst-noteis used instead.Choices for
spacing-styleare:
extra-spacePut this much space between the two grobs. The space is stretchable and shrinkable when paired with
first-noteornext-note; otherwise it is fixed.minimum-spacePut at least this much space between the left sides of both grobs, without allowing them to collide. The space is stretchable and shrinkable when paired with
first-noteornext-note; otherwise it is fixed. Not compatible withright-edge.fixed-spaceOnly compatible with
first-noteandnext-note. Put this much fixed space between the grob and the note.minimum-fixed-spaceOnly compatible with
first-noteandnext-note. Put at least this much fixed space between the left side of the grob and the left side of the note, without allowing them to collide.semi-fixed-spaceOnly compatible with
first-noteandnext-note. Put this much space between the grob and the note, such that half of the space is fixed and half is stretchable and shrinkable.shrink-spaceOnly compatible with
first-noteandnext-note. Put this much space between the two grobs. The space is only shrinkable.semi-shrink-spaceOnly compatible with
first-noteandnext-note. Put this much space between the grob and the note, such that half of the space is fixed and half is shrinkable.Rules for this spacing are much more complicated than this. See [Wanske] page 126–134, [Ross] page 143–147.
stencil(stencil):
ly:time-signature::printThe symbol to print.
style(symbol):
'CThis setting determines in what style a grob is typeset. Valid choices depend on the
stencilcallback reading this property.Y-extent(pair of numbers):
#<unpure-pure-container ly:grob::stencil-height >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s):
break-aligned-interface, font-interface, grob-interface, item-interface, pure-from-neighbor-interface and time-signature-interface.
This object is of class Item (characterized by item-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < TimeSignature ] | [ Up: All layout objects ] | [ TrillPitchGroup > ] |
3.1.152 TrillPitchAccidental ¶
The accidental of a pitched
trill. See also TrillPitchGroup.
TrillPitchAccidental objects are created by the following engraver(s): Pitched_trill_engraver.
Standard settings:
direction(direction):
-1If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.font-size(number):
-4The font size, compared to the ‘normal’ size.
0is style-sheet’s normal size,-1is smaller,+1is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. If the context propertyfontSizeis set, its value is added to this before the glyph is printed. Fractional values are allowed.glyph-name(string):
accidental-interface::calc-glyph-nameThe glyph name within the font.
In the context of (span) bar lines or clefs, glyph-name represents a processed form of
glyph, where decisions about line breaking, etc., are already taken.padding(dimension, in staff space):
0.2Add this much extra space between objects that are next to each other.
side-axis(number):
0If the value is
X(or equivalently0), the object is placed horizontally next to the other object. If the value isYor1, it is placed vertically.stencil(stencil):
ly:accidental-interface::printThe symbol to print.
X-offset(number):
ly:side-position-interface::x-aligned-sideThe horizontal amount that this object is moved relative to its X-parent.
Note that many objects have special positioning considerations, which cause any setting of
X-offsetto be ignored or modified, even though the object supports theself-alignment-interface.Y-extent(pair of numbers):
#<unpure-pure-container ly:accidental-interface::height >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s):
accidental-interface, accidental-switch-interface, font-interface, grob-interface, inline-accidental-interface, item-interface, side-position-interface and trill-pitch-accidental-interface.
This object is of class Item (characterized by item-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < TrillPitchAccidental ] | [ Up: All layout objects ] | [ TrillPitchHead > ] |
3.1.153 TrillPitchGroup ¶
An auxiliary grob to construct
a pitched trill, aligning TrillPitchAccidental,
TrillPitchParentheses, and TrillPitchHead
horizontally. See also TrillSpanner.
TrillPitchGroup objects are created by the following engraver(s): Pitched_trill_engraver.
Standard settings:
axes(list): '(0)List of axis numbers. In the case of alignment grobs, this should contain only one number.
direction(direction):
1If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.horizon-padding(number):
0.1The amount to pad the axis along which a
Skylineis built for theside-position-interface.minimum-space(dimension, in staff space):
2.5Minimum distance that the victim should move (after padding).
padding(dimension, in staff space):
0.3Add this much extra space between objects that are next to each other.
side-axis(number):
0If the value is
X(or equivalently0), the object is placed horizontally next to the other object. If the value isYor1, it is placed vertically.X-extent(pair of numbers):
ly:axis-group-interface::widthExtent (size) in the X direction, measured in staff-space units, relative to object’s reference point.
X-offset(number):
ly:side-position-interface::x-aligned-sideThe horizontal amount that this object is moved relative to its X-parent.
Note that many objects have special positioning considerations, which cause any setting of
X-offsetto be ignored or modified, even though the object supports theself-alignment-interface.Y-extent(pair of numbers):
#<unpure-pure-container ly:axis-group-interface::height trill-pitch-group::pure-height >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s):
axis-group-interface, grob-interface, item-interface and side-position-interface.
This object is of class Item (characterized by item-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < TrillPitchGroup ] | [ Up: All layout objects ] | [ TrillPitchParentheses > ] |
3.1.154 TrillPitchHead ¶
The note head of a pitched
trill. See also TrillPitchGroup.
TrillPitchHead objects are created by the following engraver(s): Pitched_trill_engraver.
Standard settings:
duration-log(integer):
2The 2-log of the note head duration, i.e.,
0= whole note,1= half note, etc.font-size(number):
-4The font size, compared to the ‘normal’ size.
0is style-sheet’s normal size,-1is smaller,+1is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. If the context propertyfontSizeis set, its value is added to this before the glyph is printed. Fractional values are allowed.glyph-name(string):
note-head::get-glyph-nameThe glyph name within the font.
In the context of (span) bar lines or clefs, glyph-name represents a processed form of
glyph, where decisions about line breaking, etc., are already taken.parenthesis-friends(list): '(accidental-grob)A list of Grob types, as symbols. When parentheses enclose a Grob that has ’parenthesis-friends, the parentheses widen to include any child Grobs with type among ’parenthesis-friends.
stencil(stencil):
ly:note-head::printThe symbol to print.
style(symbol):
'defaultThis setting determines in what style a grob is typeset. Valid choices depend on the
stencilcallback reading this property.Y-extent(pair of numbers):
#<unpure-pure-container ly:grob::stencil-height >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
Y-offset(number):
#<unpure-pure-container ly:staff-symbol-referencer::callback >The vertical amount that this object is moved relative to its Y-parent.
Note that many objects have special positioning considerations, which cause any setting of
Y-offsetto be ignored or modified, even though the object supports theself-alignment-interface.
This object supports the following interface(s):
accidental-participating-head-interface, font-interface, grob-interface, item-interface, ledgered-interface, note-head-interface, pitched-trill-interface and staff-symbol-referencer-interface.
This object is of class Item (characterized by item-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < TrillPitchHead ] | [ Up: All layout objects ] | [ TrillSpanner > ] |
3.1.155 TrillPitchParentheses ¶
The parentheses of a pitched
trill. See also TrillPitchGroup.
TrillPitchParentheses objects are created by the following engraver(s): Pitched_trill_engraver.
Standard settings:
font-size(number):
-4The font size, compared to the ‘normal’ size.
0is style-sheet’s normal size,-1is smaller,+1is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. If the context propertyfontSizeis set, its value is added to this before the glyph is printed. Fractional values are allowed.padding(dimension, in staff space):
0.3Add this much extra space between objects that are next to each other.
stencil(stencil):
parentheses-interface::printThe symbol to print.
stencils(list):
parentheses-interface::calc-parenthesis-stencilsMultiple stencils, used as intermediate value.
Y-extent(pair of numbers):
#<unpure-pure-container ly:grob::stencil-height >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s):
font-interface, grob-interface, item-interface, parentheses-interface and pitched-trill-interface.
This object is of class Item (characterized by item-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < TrillPitchParentheses ] | [ Up: All layout objects ] | [ TupletBracket > ] |
3.1.156 TrillSpanner ¶
A continued trill with a wiggly
line (created with \startTrillSpan, not with
\trill). See also TrillPitchGroup.
TrillSpanner objects are created by the following engraver(s): Trill_spanner_engraver.
Standard settings:
after-line-breaking(boolean):
ly:spanner::kill-zero-spanned-timeDummy property, used to trigger callback for
after-line-breaking.bound-details(alist, with symbols as keys):'((left (text #<procedure with-dimension-from-markup (layout props axis arg1 arg2)> 0 (#<procedure with-true-dimension-markup (layout props axis arg)> 0 (#<procedure musicglyph-markup (layout props glyph-name)> "scripts.trill")) (#<procedure with-true-dimension-markup (layout props axis arg)> 0 (#<procedure musicglyph-markup (layout props glyph-name)> "scripts.trill"))) (stencil-offset 0 . -1) (attach-dir . 0)) (left-broken (end-on-note . #t)) (right (adjust-on-neighbor . #t) (attach-dir . -1) (end-on-accidental . #t)))An alist of properties for determining attachments of spanners to edges.
direction(direction):
1If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.left-bound-info(alist, with symbols as keys):
ly:horizontal-line-spanner::calc-left-bound-infoAn alist of properties for determining attachments of spanners to edges.
outside-staff-priority(number):
50If set, the grob is positioned outside the staff in such a way as to avoid all collisions. In case of a potential collision, the grob with the smaller
outside-staff-priorityis closer to the staff.padding(dimension, in staff space):
0.5Add this much extra space between objects that are next to each other.
right-bound-info(alist, with symbols as keys):
ly:horizontal-line-spanner::calc-right-bound-infoAn alist of properties for determining attachments of spanners to edges.
staff-padding(dimension, in staff space):
1.0Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
stencil(stencil):
ly:line-spanner::printThe symbol to print.
style(symbol):
'trillThis setting determines in what style a grob is typeset. Valid choices depend on the
stencilcallback reading this property.to-barline(boolean):
#tIf true, the spanner will stop at the bar line just before it would otherwise stop.
vertical-skylines(pair of skylines):
#<unpure-pure-container ly:grob::vertical-skylines-from-stencil ly:grob::pure-simple-vertical-skylines-from-extents >Two skylines, one above and one below this grob.
This object supports the following interface(s):
font-interface, grob-interface, horizontal-line-spanner-interface, line-interface, outside-staff-interface, side-position-interface, spanner-interface and trill-spanner-interface.
This object is of class Spanner (characterized by spanner-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < TrillSpanner ] | [ Up: All layout objects ] | [ TupletNumber > ] |
3.1.157 TupletBracket ¶
A tuplet bracket. See also
TupletNumber.
TupletBracket objects are created by the following engraver(s): Tuplet_engraver.
Standard settings:
avoid-scripts(boolean):
#tIf set, a tuplet bracket avoids the scripts associated with the note heads it encompasses.
connect-to-neighbor(pair):
ly:spanner::calc-connect-to-neighborsPair of booleans, indicating whether this grob looks as a continued break.
direction(direction):
ly:tuplet-bracket::calc-directionIf
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.edge-height(pair): '(0.7 . 0.7)A pair of numbers specifying the heights of the vertical edges:
(left-height . right-height).full-length-to-extent(boolean):
#tRun to the extent of the column for a full-length tuplet bracket.
max-slope-factor(non-negative number):
0.5Factor for calculating the maximum tuplet bracket slope. Notice that there exists a homonymous property for slurs.
padding(dimension, in staff space):
1.1Add this much extra space between objects that are next to each other.
positions(pair of numbers):
ly:tuplet-bracket::calc-positionsPair of staff coordinates
(start . end), where start and end are vertical positions instaff-spaceunits of the current staff. For slurs, this value selects which slur candidate to use; if extreme positions are requested, the closest one is taken.shorten-pair(pair of numbers): '(-0.2 . -0.2)The lengths to shorten on both sides a hairpin or text-spanner such as a pedal bracket. Positive values shorten the hairpin or text-spanner, while negative values lengthen it.
span-all-note-heads(boolean):
#fIf true, tuplet brackets are printed spanning horizontally from the first to the last note head instead of covering only the stems.
staff-padding(dimension, in staff space):
0.25Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
stencil(stencil):
ly:tuplet-bracket::printThe symbol to print.
thickness(number):
1.6For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e., the visual output is influenced by changes to
Staff.StaffSymbol.thickness).tuplet-slur(boolean):
#fDraw a slur instead of a bracket for tuplets.
vertical-skylines(pair of skylines):
#<unpure-pure-container ly:grob::vertical-skylines-from-stencil ly:grob::pure-simple-vertical-skylines-from-extents >Two skylines, one above and one below this grob.
visible-over-note-heads(boolean):
#fThis prints a tuplet bracket when the bracket is set to be over the note heads. This option can be combined with the default tuplet bracket visibility style and with
#'if-no-beam.X-positions(pair of numbers):
ly:tuplet-bracket::calc-x-positionsPair of X staff coordinates of a spanner in the form
(left . right), where both left and right are instaff-spaceunits of the current staff.
This object supports the following interface(s):
grob-interface, line-interface, outside-staff-interface, spanner-interface and tuplet-bracket-interface.
This object is of class Spanner (characterized by spanner-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < TupletBracket ] | [ Up: All layout objects ] | [ UnaCordaPedal > ] |
3.1.158 TupletNumber ¶
A tuplet number. See also
TupletBracket.
TupletNumber objects are created by the following engraver(s): Tuplet_engraver.
Standard settings:
avoid-slur(symbol):
'insideMethod of handling slur collisions. Choices are
inside,outside,around, andignore.insideadjusts the slur if needed to keep the grob inside the slur.outsidemoves the grob vertically to the outside of the slur.aroundmoves the grob vertically to the outside of the slur only if there is a collision.ignoredoes not move either. In grobs whose notational significance depends on vertical position (such as accidentals, clefs, etc.),outsideandaroundbehave likeignore.direction(direction):
tuplet-number::calc-directionIf
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.font-shape(symbol):
'italicSelect the shape of a font. Possible values are
upright,italic,oblique, andslanted(which is the same asoblique).font-size(number):
-2The font size, compared to the ‘normal’ size.
0is style-sheet’s normal size,-1is smaller,+1is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. If the context propertyfontSizeis set, its value is added to this before the glyph is printed. Fractional values are allowed.knee-to-beam(boolean):
#tDetermines whether a tuplet number will be positioned next to a kneed beam.
stencil(stencil):
ly:tuplet-number::printThe symbol to print.
text(markup):
tuplet-number::calc-denominator-textText markup. See Formatting text.
X-offset(number):
ly:tuplet-number::calc-x-offsetThe horizontal amount that this object is moved relative to its X-parent.
Note that many objects have special positioning considerations, which cause any setting of
X-offsetto be ignored or modified, even though the object supports theself-alignment-interface.Y-offset(number):
ly:tuplet-number::calc-y-offsetThe vertical amount that this object is moved relative to its Y-parent.
Note that many objects have special positioning considerations, which cause any setting of
Y-offsetto be ignored or modified, even though the object supports theself-alignment-interface.
This object supports the following interface(s):
font-interface, grob-interface, outside-staff-interface, spanner-interface, text-interface and tuplet-number-interface.
This object is of class Spanner (characterized by spanner-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < TupletNumber ] | [ Up: All layout objects ] | [ UnaCordaPedalLineSpanner > ] |
3.1.159 UnaCordaPedal ¶
An una corda pedal mark. See
also UnaCordaPedalLineSpanner, SostenutoPedal,
SustainPedal, and PianoPedalBracket.
UnaCordaPedal objects are created by the following engraver(s): Piano_pedal_engraver.
Standard settings:
direction(direction):
1If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.extra-spacing-width(pair of numbers): '(+inf.0 . -inf.0)In the horizontal spacing problem, we pad each item by this amount (by adding the ‘car’ on the left side of the item and adding the ‘cdr’ on the right side of the item). In order to make a grob take up no horizontal space at all, set this to
(+inf.0 . -inf.0).font-shape(symbol):
'italicSelect the shape of a font. Possible values are
upright,italic,oblique, andslanted(which is the same asoblique).padding(dimension, in staff space):
0.0Add this much extra space between objects that are next to each other.
parent-alignment-X(number):
#fSpecify on which point of the parent the object is aligned. The value
-1means aligned on parent’s left edge,0on center, and1right edge, in X direction. Other numerical values may also be specified - the unit is half the parent’s width. If not a number, align on the parent’s reference point. If unset, the value fromself-alignment-Xproperty will be used.self-alignment-X(number):
0Specify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified - the unit is half the object width. If not a number, align on the object’s reference point.stencil(stencil):
ly:text-interface::printThe symbol to print.
vertical-skylines(pair of skylines):
#<unpure-pure-container ly:grob::vertical-skylines-from-stencil >Two skylines, one above and one below this grob.
X-offset(number):
ly:self-alignment-interface::aligned-on-x-parentThe horizontal amount that this object is moved relative to its X-parent.
Note that many objects have special positioning considerations, which cause any setting of
X-offsetto be ignored or modified, even though the object supports theself-alignment-interface.Y-extent(pair of numbers):
#<unpure-pure-container ly:grob::stencil-height >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s):
font-interface, grob-interface, item-interface, piano-pedal-script-interface, self-alignment-interface and text-interface.
This object is of class Item (characterized by item-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < UnaCordaPedal ] | [ Up: All layout objects ] | [ VaticanaLigature > ] |
3.1.160 UnaCordaPedalLineSpanner ¶
An auxiliary grob providing a
baseline to align consecutive UnaCordaPedal grobs
vertically.
UnaCordaPedalLineSpanner objects are created by the following engraver(s): Piano_pedal_align_engraver.
Standard settings:
axes(list): '(1)List of axis numbers. In the case of alignment grobs, this should contain only one number.
direction(direction):
-1If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.minimum-space(dimension, in staff space):
1.0Minimum distance that the victim should move (after padding).
outside-staff-priority(number):
1000If set, the grob is positioned outside the staff in such a way as to avoid all collisions. In case of a potential collision, the grob with the smaller
outside-staff-priorityis closer to the staff.padding(dimension, in staff space):
1.2Add this much extra space between objects that are next to each other.
side-axis(number):
1If the value is
X(or equivalently0), the object is placed horizontally next to the other object. If the value isYor1, it is placed vertically.staff-padding(dimension, in staff space):
1.2Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
vertical-skylines(pair of skylines):
#<unpure-pure-container ly:grob::vertical-skylines-from-element-stencils ly:grob::pure-vertical-skylines-from-element-stencils >Two skylines, one above and one below this grob.
X-extent(pair of numbers):
ly:axis-group-interface::widthExtent (size) in the X direction, measured in staff-space units, relative to object’s reference point.
Y-extent(pair of numbers):
#<unpure-pure-container ly:axis-group-interface::height ly:axis-group-interface::pure-height >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
Y-offset(number):
#<unpure-pure-container ly:side-position-interface::y-aligned-side ly:side-position-interface::pure-y-aligned-side >The vertical amount that this object is moved relative to its Y-parent.
Note that many objects have special positioning considerations, which cause any setting of
Y-offsetto be ignored or modified, even though the object supports theself-alignment-interface.
This object supports the following interface(s):
axis-group-interface, grob-interface, outside-staff-interface, piano-pedal-interface, side-position-interface and spanner-interface.
This object is of class Spanner (characterized by spanner-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < UnaCordaPedalLineSpanner ] | [ Up: All layout objects ] | [ VerticalAlignment > ] |
3.1.161 VaticanaLigature ¶
A grob to display a melisma
(ligature) as used in Gregorian chant. See also
KievanLigature, MensuralLigature, and
LigatureBracket.
VaticanaLigature objects are created by the following engraver(s): Vaticana_ligature_engraver.
Standard settings:
stencil(stencil):
ly:vaticana-ligature::printThe symbol to print.
thickness(number):
0.6For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e., the visual output is influenced by changes to
Staff.StaffSymbol.thickness).
This object supports the following interface(s):
font-interface, grob-interface, spanner-interface and vaticana-ligature-interface.
This object is of class Spanner (characterized by spanner-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < VaticanaLigature ] | [ Up: All layout objects ] | [ VerticalAxisGroup > ] |
3.1.162 VerticalAlignment ¶
A top-level auxiliary grob to
stack groups (staves, lyrics lines, etc.). See also
StaffGrouper and VerticalAxisGroup.
VerticalAlignment objects are created by the following engraver(s): Vertical_align_engraver.
Standard settings:
axes(list): '(1)List of axis numbers. In the case of alignment grobs, this should contain only one number.
stacking-dir(direction):
-1Stack objects in which direction?
vertical-skylines(pair of skylines):
ly:axis-group-interface::combine-skylinesTwo skylines, one above and one below this grob.
X-extent(pair of numbers):
ly:axis-group-interface::widthExtent (size) in the X direction, measured in staff-space units, relative to object’s reference point.
Y-extent(pair of numbers):
#<unpure-pure-container ly:axis-group-interface::height ly:axis-group-interface::pure-height >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s):
align-interface, axis-group-interface, grob-interface and spanner-interface.
This object is of class Spanner (characterized by spanner-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < VerticalAlignment ] | [ Up: All layout objects ] | [ VoiceFollower > ] |
3.1.163 VerticalAxisGroup ¶
An auxiliary grob to group
everything contained in a context like Staff,
Lyrics, Dynamics, etc. See also StaffGrouper
and VerticalAlignment.
VerticalAxisGroup objects are created by the following engraver(s): Axis_group_engraver.
Standard settings:
axes(list): '(1)List of axis numbers. In the case of alignment grobs, this should contain only one number.
default-staff-staff-spacing(list): '((basic-distance . 9) (minimum-distance . 8) (padding . 1))The settings to use for
staff-staff-spacingwhen it is unset, for ungrouped staves and for grouped staves that do not have the relevantStaffGrouperproperty set (staff-staff-spacingorstaffgroup-staff-spacing).nonstaff-unrelatedstaff-spacing(alist, with symbols as keys): '((padding . 0.5))The spacing alist controlling the distance between the current non-staff line and the nearest staff in the opposite direction from
staff-affinity, if there are no other non-staff lines between the two, andstaff-affinityis eitherUPorDOWN. Seestaff-staff-spacingfor a description of the alist structure.outside-staff-placement-directive(symbol):
'left-to-right-politeOne of four directives telling how outside staff objects should be placed.
left-to-right-greedy– Place each successive grob from left to right.left-to-right-polite– Place a grob from left to right only if it does not potentially overlap with another grob that has been placed on a pass through a grob array. If there is overlap, do another pass to determine placement.right-to-left-greedy– Same asleft-to-right-greedy, but from right to left.right-to-left-polite– Same asleft-to-right-polite, but from right to left.show-vertical-skylines(boolean):
grob::show-skylines-if-debug-skylines-setIf true, print this grob’s vertical skylines. This is meant for debugging purposes.
skyline-horizontal-padding(number):
0.1For determining the vertical distance between two staves, it is possible to have a configuration which would result in a tight interleaving of grobs from the top staff and the bottom staff. The larger this parameter is, the farther apart the staves are placed in such a configuration.
staff-staff-spacing(alist, with symbols as keys):
#<unpure-pure-container ly:axis-group-interface::calc-staff-staff-spacing ly:axis-group-interface::calc-pure-staff-staff-spacing >When applied to a staff-group’s
StaffGroupergrob, this spacing alist controls the distance between consecutive staves within the staff-group. When applied to a staff’sVerticalAxisGroupgrob, it controls the distance between the staff and the nearest staff below it in the same system, replacing any settings inherited from theStaffGroupergrob of the containing staff-group, if there is one. This property remains in effect even when non-staff lines appear between staves. The alist can contain the following keys:
basic-distance– the vertical distance, measured in staff-spaces, between the reference points of the two items when no collisions would result, and no stretching or compressing is in effect.minimum-distance– the smallest allowable vertical distance, measured in staff-spaces, between the reference points of the two items, when compressing is in effect.padding– the minimum required amount of unobstructed vertical whitespace between the bounding boxes (or skylines) of the two items, measured in staff-spaces.stretchability– a unitless measure of the dimension’s relative propensity to stretch. If zero, the distance will not stretch (unless collisions would result).vertical-skylines(pair of skylines):
ly:hara-kiri-group-spanner::calc-skylinesTwo skylines, one above and one below this grob.
X-extent(pair of numbers):
ly:axis-group-interface::widthExtent (size) in the X direction, measured in staff-space units, relative to object’s reference point.
Y-extent(pair of numbers):
#<unpure-pure-container ly:hara-kiri-group-spanner::y-extent ly:hara-kiri-group-spanner::pure-height >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
Y-offset(number):
ly:hara-kiri-group-spanner::force-hara-kiri-callbackThe vertical amount that this object is moved relative to its Y-parent.
Note that many objects have special positioning considerations, which cause any setting of
Y-offsetto be ignored or modified, even though the object supports theself-alignment-interface.
This object supports the following interface(s):
axis-group-interface, grob-interface, hara-kiri-group-spanner-interface, outside-staff-axis-group-interface and spanner-interface.
This object is of class Spanner (characterized by spanner-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < VerticalAxisGroup ] | [ Up: All layout objects ] | [ VoltaBracket > ] |
3.1.164 VoiceFollower ¶
A line to indicate staff changes of a voice.
VoiceFollower objects are created by the following engraver(s): Note_head_line_engraver.
Standard settings:
after-line-breaking(boolean):
ly:spanner::kill-zero-spanned-timeDummy property, used to trigger callback for
after-line-breaking.bound-details(alist, with symbols as keys): '((right (attach-dir . 0) (padding . 1.5)) (left (attach-dir . 0) (padding . 1.5)))An alist of properties for determining attachments of spanners to edges.
gap(dimension, in staff space):
0.5Size of a gap in a variable symbol.
left-bound-info(alist, with symbols as keys):
ly:line-spanner::calc-left-bound-infoAn alist of properties for determining attachments of spanners to edges.
normalized-endpoints(pair):
ly:spanner::calc-normalized-endpointsRepresents left and right placement over the total spanner, where the width of the spanner is normalized between 0 and 1.
right-bound-info(alist, with symbols as keys):
ly:line-spanner::calc-right-bound-infoAn alist of properties for determining attachments of spanners to edges.
stencil(stencil):
ly:line-spanner::printThe symbol to print.
style(symbol):
'lineThis setting determines in what style a grob is typeset. Valid choices depend on the
stencilcallback reading this property.
This object supports the following interface(s):
grob-interface, line-interface, line-spanner-interface and spanner-interface.
This object is of class Spanner (characterized by spanner-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < VoiceFollower ] | [ Up: All layout objects ] | [ VoltaBracketSpanner > ] |
3.1.165 VoltaBracket ¶
A volta bracket. See also
VoltaBracketSpanner.
VoltaBracket objects are created by the following engraver(s): Volta_engraver.
Standard settings:
baseline-skip(dimension, in staff space):
1.7Distance between base lines of multiple lines of text.
direction(direction):
1If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.edge-height(pair): '(2.0 . 2.0)A pair of numbers specifying the heights of the vertical edges:
(left-height . right-height).font-size(number):
-2The font size, compared to the ‘normal’ size.
0is style-sheet’s normal size,-1is smaller,+1is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. If the context propertyfontSizeis set, its value is added to this before the glyph is printed. Fractional values are allowed.range-collapse-threshold(non-negative, exact integer):
3If the length of a volta range is greater than or equal to this threshold, print it with a dash. For example, if this is 3, a
\volta 1,2,3is printed as ‘1.-3.’, but if it is 4, it is printed as ‘1.2.3.’.shorten-pair(pair of numbers):
ly:volta-bracket::calc-shorten-pairThe lengths to shorten on both sides a hairpin or text-spanner such as a pedal bracket. Positive values shorten the hairpin or text-spanner, while negative values lengthen it.
stencil(stencil):
ly:volta-bracket-interface::printThe symbol to print.
text(markup):
volta-bracket-interface::calc-textText markup. See Formatting text.
thickness(number):
1.6For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e., the visual output is influenced by changes to
Staff.StaffSymbol.thickness).vertical-skylines(pair of skylines):
#<unpure-pure-container ly:grob::vertical-skylines-from-stencil ly:grob::pure-simple-vertical-skylines-from-extents >Two skylines, one above and one below this grob.
volta-number-offset(pair of numbers): '(1.0 . -0.5)The offset of the volta number relative to the upper left corner of the volta bracket.
word-space(dimension, in staff space):
0.6Space to insert between words in texts.
Y-extent(pair of numbers):
#<unpure-pure-container ly:grob::stencil-height volta-bracket-interface::pure-height >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
This object supports the following interface(s):
font-interface, grob-interface, horizontal-bracket-interface, line-interface, side-position-interface, spanner-interface, text-interface, volta-bracket-interface and volta-interface.
This object is of class Spanner (characterized by spanner-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < VoltaBracket ] | [ Up: All layout objects ] | [ VowelTransition > ] |
3.1.166 VoltaBracketSpanner ¶
An auxiliary grob providing a
baseline to align consecutive VoltaBracket grobs
vertically.
VoltaBracketSpanner objects are created by the following engraver(s): Volta_engraver.
Standard settings:
after-line-breaking(boolean):
ly:side-position-interface::move-to-extremal-staffDummy property, used to trigger callback for
after-line-breaking.axes(list): '(1)List of axis numbers. In the case of alignment grobs, this should contain only one number.
direction(direction):
1If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.outside-staff-priority(number):
600If set, the grob is positioned outside the staff in such a way as to avoid all collisions. In case of a potential collision, the grob with the smaller
outside-staff-priorityis closer to the staff.padding(dimension, in staff space):
1Add this much extra space between objects that are next to each other.
side-axis(number):
1If the value is
X(or equivalently0), the object is placed horizontally next to the other object. If the value isYor1, it is placed vertically.vertical-skylines(pair of skylines):
#<unpure-pure-container ly:grob::vertical-skylines-from-element-stencils ly:grob::pure-vertical-skylines-from-element-stencils >Two skylines, one above and one below this grob.
X-extent(pair of numbers):
ly:axis-group-interface::widthExtent (size) in the X direction, measured in staff-space units, relative to object’s reference point.
Y-extent(pair of numbers):
#<unpure-pure-container ly:axis-group-interface::height ly:axis-group-interface::pure-height >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
Y-offset(number):
#<unpure-pure-container ly:side-position-interface::y-aligned-side ly:side-position-interface::pure-y-aligned-side >The vertical amount that this object is moved relative to its Y-parent.
Note that many objects have special positioning considerations, which cause any setting of
Y-offsetto be ignored or modified, even though the object supports theself-alignment-interface.
This object supports the following interface(s):
axis-group-interface, grob-interface, outside-staff-interface, side-position-interface, spanner-interface and volta-interface.
This object is of class Spanner (characterized by spanner-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < VoltaBracketSpanner ] | [ Up: All layout objects ] | [ Graphical Object Interfaces > ] |
3.1.167 VowelTransition ¶
A vowel transition in
lyrics. See also LyricHyphen.
VowelTransition objects are created by the following engraver(s): Hyphen_engraver.
Standard settings:
after-line-breaking(boolean):
ly:spanner::kill-zero-spanned-timeDummy property, used to trigger callback for
after-line-breaking.arrow-length(number):
0.5Arrow length.
arrow-width(number):
0.5Arrow width.
bound-details(alist, with symbols as keys):'((left (padding . 0.14) (attach-dir . 1)) (right-broken (padding . 0)) (left-broken (padding . 0)) (right (padding . 0.14) (attach-dir . -1) (arrow . #t)))An alist of properties for determining attachments of spanners to edges.
left-bound-info(alist, with symbols as keys):
ly:horizontal-line-spanner::calc-left-bound-infoAn alist of properties for determining attachments of spanners to edges.
minimum-length(dimension, in staff space):
1.0Try to make a spanner at least this long, normally in the horizontal direction. This requires an appropriate callback for the
springs-and-rodsproperty. If added to aTie, this sets the minimum distance between note heads.right-bound-info(alist, with symbols as keys):
ly:horizontal-line-spanner::calc-right-bound-infoAn alist of properties for determining attachments of spanners to edges.
springs-and-rods(boolean):
ly:vowel-transition::set-spacing-rodsDummy variable for triggering spacing routines.
stencil(stencil):
ly:line-spanner::printThe symbol to print.
style(symbol):
'lineThis setting determines in what style a grob is typeset. Valid choices depend on the
stencilcallback reading this property.vertical-skylines(pair of skylines):
#<unpure-pure-container ly:grob::vertical-skylines-from-stencil ly:grob::pure-simple-vertical-skylines-from-extents >Two skylines, one above and one below this grob.
Y-offset(number):
0.5The vertical amount that this object is moved relative to its Y-parent.
Note that many objects have special positioning considerations, which cause any setting of
Y-offsetto be ignored or modified, even though the object supports theself-alignment-interface.
This object supports the following interface(s):
grob-interface, horizontal-line-spanner-interface, line-interface, lyric-interface and spanner-interface.
This object is of class Spanner (characterized by spanner-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < VowelTransition ] | [ Up: Backend ] | [ accidental-interface > ] |
3.2 Graphical Object Interfaces ¶
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
| [ < Graphical Object Interfaces ] | [ Up: Graphical Object Interfaces ] | [ accidental-participating-head-interface > ] |
3.2.1 accidental-interface ¶
A single accidental.
User-settable properties: ¶
alteration(number)Alteration numbers for accidental.
alteration-glyph-name-alist(association list (list of pairs))An alist of key-string pairs.
avoid-slur(symbol)Method of handling slur collisions. Choices are
inside,outside,around, andignore.insideadjusts the slur if needed to keep the grob inside the slur.outsidemoves the grob vertically to the outside of the slur.aroundmoves the grob vertically to the outside of the slur only if there is a collision.ignoredoes not move either. In grobs whose notational significance depends on vertical position (such as accidentals, clefs, etc.),outsideandaroundbehave likeignore.glyph-name(string)The glyph name within the font.
In the context of (span) bar lines or clefs, glyph-name represents a processed form of
glyph, where decisions about line breaking, etc., are already taken.hide-tied-accidental-after-break(boolean)If set, an accidental that appears on a tied note after a line break will not be displayed.
restore-first(boolean)Print a natural before the accidental.
Internal properties: ¶
forced(boolean)Manually forced accidental.
tie(graphical (layout) object)A pointer to a
Tieobject.
This grob interface is used in the following graphical object(s): Accidental, AccidentalCautionary, AccidentalSuggestion, AmbitusAccidental and TrillPitchAccidental.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < accidental-interface ] | [ Up: Graphical Object Interfaces ] | [ accidental-placement-interface > ] |
3.2.2 accidental-participating-head-interface ¶
A grob that should set the current alteration for a pitch in a measure.
This grob interface is used in the following graphical object(s): ApproximatePitchNoteHead, NoteHead and TrillPitchHead.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < accidental-participating-head-interface ] | [ Up: Graphical Object Interfaces ] | [ accidental-suggestion-interface > ] |
3.2.3 accidental-placement-interface ¶
Resolve accidental collisions.
User-settable properties: ¶
direction(direction)If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.padding(dimension, in staff space)Add this much extra space between objects that are next to each other.
right-padding(dimension, in staff space)Space to insert on the right side of an object (e.g., between note and its accidentals).
script-priority(number)A key for determining the order of scripts in a stack, by being added to the position of the script in the user input, the sum being the overall priority. Smaller means closer to the head.
Internal properties: ¶
accidental-grobs(association list (list of pairs))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 ] | [ accidental-switch-interface > ] |
3.2.4 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 ] | [ align-interface > ] |
3.2.5 accidental-switch-interface ¶
Any object that prints one or several accidentals based on alterations.
User-settable properties: ¶
alteration-glyph-name-alist(association list (list of pairs))An alist of key-string pairs.
This grob interface is used in the following graphical object(s): Accidental, AccidentalCautionary, AccidentalSuggestion, AmbitusAccidental, BalloonText, BassFigure, ChordName, CombineTextScript, GridChordName, HorizontalBracketText, InstrumentName, InstrumentSwitch, KeyCancellation, KeySignature, MeasureSpanner, NoteName, RehearsalMark, TextMark, TextScript and TrillPitchAccidental.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < accidental-switch-interface ] | [ Up: Graphical Object Interfaces ] | [ ambitus-interface > ] |
3.2.6 align-interface ¶
Order grobs from top to bottom, left to right, right to left or bottom to top.
For vertical alignments of staves, the line-break-system-details of the
left NonMusicalPaperColumn may be set to tune vertical spacing.
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?
Internal properties: ¶
elements(array of grobs)An array of grobs; the type is depending on the grob where this is set in.
minimum-translations-alist(association list (list of pairs))An list of translations for a given start and end point.
positioning-done(boolean)Used to signal that a positioning element did its job. This ensures that a positioning is only done once.
This grob interface is used in the following graphical object(s): BassFigureAlignment and VerticalAlignment.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < align-interface ] | [ Up: Graphical Object Interfaces ] | [ arpeggio-interface > ] |
3.2.7 ambitus-interface ¶
The line between note heads for a pitch range.
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.
maximum-gap(number)Maximum value allowed for
gapproperty.thickness(number)For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e., the visual output is influenced by changes to
Staff.StaffSymbol.thickness).
Internal properties: ¶
note-heads(array of grobs)An array of note head grobs.
This grob interface is used in the following graphical object(s): Ambitus, AmbitusLine and AmbitusNoteHead.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < ambitus-interface ] | [ Up: Graphical Object Interfaces ] | [ axis-group-interface > ] |
3.2.8 arpeggio-interface ¶
Functions and settings for drawing an arpeggio symbol.
User-settable properties: ¶
arpeggio-direction(direction)If set, put an arrow on the arpeggio squiggly line.
dash-definition(pair)List of
dash-elementsdefining the dash structure. Eachdash-elementhas a starting t value, an ending t-value, adash-fraction, and adash-period.line-thickness(number)For slurs and ties, this is the diameter of the virtual “pen” that draws the two arcs of the curve’s outline, which intersect at the endpoints. This property is expressed as a multiple of the current staff-line thickness (i.e., the visual output is influenced by changes to
Staff.StaffSymbol.thickness).positions(pair of numbers)Pair of staff coordinates
(start . end), where start and end are vertical positions instaff-spaceunits of the current staff. For slurs, this value selects which slur candidate to use; if extreme positions are requested, the closest one is taken.protrusion(number)In a bracket indicating non-arpeggio or optional material, the length of the horizontal edges.
script-priority(number)A key for determining the order of scripts in a stack, by being added to the position of the script in the user input, the sum being the overall priority. Smaller means closer to the head.
thickness(number)For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e., the visual output is influenced by changes to
Staff.StaffSymbol.thickness).
Internal properties: ¶
stems(array of grobs)An array of stem objects.
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.9 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.
default-staff-staff-spacing(list)The settings to use for
staff-staff-spacingwhen it is unset, for ungrouped staves and for grouped staves that do not have the relevantStaffGrouperproperty set (staff-staff-spacingorstaffgroup-staff-spacing).nonstaff-nonstaff-spacing(alist, with symbols as keys)The spacing alist controlling the distance between the current non-staff line and the next non-staff line in the direction of
staff-affinity, if both are on the same side of the related staff, andstaff-affinityis eitherUPorDOWN. Seestaff-staff-spacingfor a description of the alist structure.nonstaff-relatedstaff-spacing(alist, with symbols as keys)The spacing alist controlling the distance between the current non-staff line and the nearest staff in the direction of
staff-affinity, if there are no non-staff lines between the two, andstaff-affinityis eitherUPorDOWN. Ifstaff-affinityisCENTER, thennonstaff-relatedstaff-spacingis used for the nearest staves on both sides, even if other non-staff lines appear between the current one and either of the staves. Seestaff-staff-spacingfor a description of the alist structure.nonstaff-unrelatedstaff-spacing(alist, with symbols as keys)The spacing alist controlling the distance between the current non-staff line and the nearest staff in the opposite direction from
staff-affinity, if there are no other non-staff lines between the two, andstaff-affinityis eitherUPorDOWN. Seestaff-staff-spacingfor a description of the alist structure.staff-affinity(direction)The direction of the staff to use for spacing the current non-staff line. Choices are
UP,DOWN, andCENTER. IfCENTER, the non-staff line will be placed equidistant between the two nearest staves on either side, unless collisions or other spacing constraints prevent this. Settingstaff-affinityfor a staff causes it to be treated as a non-staff line. Settingstaff-affinityto#fcauses a non-staff line to be treated as a staff.staff-staff-spacing(alist, with symbols as keys)When applied to a staff-group’s
StaffGroupergrob, this spacing alist controls the distance between consecutive staves within the staff-group. When applied to a staff’sVerticalAxisGroupgrob, it controls the distance between the staff and the nearest staff below it in the same system, replacing any settings inherited from theStaffGroupergrob of the containing staff-group, if there is one. This property remains in effect even when non-staff lines appear between staves. The alist can contain the following keys:
basic-distance– the vertical distance, measured in staff-spaces, between the reference points of the two items when no collisions would result, and no stretching or compressing is in effect.minimum-distance– the smallest allowable vertical distance, measured in staff-spaces, between the reference points of the two items, when compressing is in effect.padding– the minimum required amount of unobstructed vertical whitespace between the bounding boxes (or skylines) of the two items, measured in staff-spaces.stretchability– a unitless measure of the dimension’s relative propensity to stretch. If zero, the distance will not stretch (unless collisions would result).
Internal properties: ¶
adjacent-pure-heights(pair)A pair of vectors. Used by a
VerticalAxisGroupto cache theY-extents of different column ranges.bound-alignment-interfaces(list)Interfaces to be used for positioning elements that align with a column.
elements(array of grobs)An array of grobs; the type is depending on the grob where this is set in.
pure-relevant-grobs(array of grobs)All the grobs (items and spanners) that are relevant for finding the
pure-Y-extentpure-relevant-items(array of grobs)A subset of elements that are relevant for finding the
pure-Y-extent.pure-relevant-spanners(array of grobs)A subset of elements that are relevant for finding the
pure-Y-extent.pure-Y-common(graphical (layout) object)A cache of the
common_refpoint_of_arrayof theelementsgrob set.staff-grouper(graphical (layout) object)The staff grouper we belong to.
system-Y-offset(number)The Y-offset (relative to the bottom of the top-margin of the page) of the system to which this staff belongs.
X-common(graphical (layout) object)Common reference point for axis group.
Y-common(graphical (layout) object)See
X-common.
This grob interface is used in the following graphical object(s): Ambitus, BassFigureAlignment, BassFigureAlignmentPositioning, BassFigureLine, BreakAlignGroup, BreakAlignment, CenteredBarNumberLineSpanner, 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.10 balloon-interface ¶
A collection of routines to put text balloons around an object.
User-settable properties: ¶
annotation-balloon(boolean)Print the balloon around an annotation.
annotation-line(boolean)Print the line from an annotation to the grob that it annotates.
padding(dimension, in staff space)Add this much extra space between objects that are next to each other.
text(markup)Text markup. See Formatting text.
text-alignment-X(number)How to align an annotation horizontally.
text-alignment-Y(number)How to align an annotation vertically.
thickness(number)For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e., the visual output is influenced by changes to
Staff.StaffSymbol.thickness).X-attachment(number)Horizontal attachment of a line on a frame, typically between -1 (left) and 1 (right).
Y-attachment(number)Vertical attachment of a line on a frame, typically between -1 (down) and 1 (up).
Internal properties: ¶
spanner-placement(direction)The place of an annotation on a spanner.
LEFTis for the first spanner, andRIGHTis for the last.CENTERwill place it on the broken spanner that falls closest to the center of the length of the entire spanner, although this behavior is unpredictable in situations with lots of rhythmic diversity. For predictable results, useLEFTandRIGHT.
This grob interface is used in the following graphical object(s): BalloonText and Footnote.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < balloon-interface ] | [ Up: Graphical Object Interfaces ] | [ bar-number-interface > ] |
3.2.11 bar-line-interface ¶
Print a special bar symbol. It replaces the regular bar symbol with a special symbol. The argument bartype is a string which specifies the kind of bar line to print.
The list of allowed glyphs and predefined bar lines can be found in scm/bar-line.scm.
gap is used for the gaps in dashed bar lines.
Full-height bar lines are normally squared to meet the
outer staff lines, but their ends may be rounded by
setting the rounded property. The ends of short
and tick bars are always rounded.
User-settable properties: ¶
allow-span-bar(boolean)If false, no inter-staff bar line will be created below this bar line.
bar-extent(pair of numbers)The Y-extent of the actual bar line. This may differ from
Y-extentbecause it does not include the dots in a repeat bar line.gap(dimension, in staff space)Size of a gap in a variable symbol.
glyph(string)A string determining what ‘style’ of glyph is typeset. Valid choices depend on the function that is reading this property.
In combination with (span) bar lines, it is a string resembling the bar line appearance in ASCII form.
glyph-left(string)The
glyphvalue to use at the end of the line when the line is broken.#findicates that no glyph should be visible; otherwise the value must be a string.glyph-name(string)The glyph name within the font.
In the context of (span) bar lines or clefs, glyph-name represents a processed form of
glyph, where decisions about line breaking, etc., are already taken.glyph-right(string)The
glyphvalue to use at the beginning of the line when the line is broken.#findicates that no glyph should be visible; otherwise the value must be a string.hair-thickness(number)Thickness of the thin line in a bar line, expressed as a multiple of the default staff-line thickness (i.e., the visual output is not influenced by changes to
Staff.StaffSymbol.thickness).kern(dimension, in staff space)The space between individual elements in any compound bar line, expressed as a multiple of the default staff-line thickness (i.e., the visual output is not influenced by changes to
Staff.StaffSymbol.thickness).right-justified(boolean)Used for
BarLines to right-align them. Usually the extent of aBarLinehas some positive value to the right. If this property is set to#t,BarLine.stencilis translated to the left by this value. Needs to be set atScoreorStaffGrouplevel. As a result allBarLines of saidScoreorStaffGroupare right-justified.rounded(boolean)Decide whether lines should be drawn rounded or not.
segno-kern(number)The space between the two thin lines of the segno bar line symbol, expressed as a multiple of the default staff-line thickness (i.e., the visual output is not influenced by changes to
Staff.StaffSymbol.thickness).short-bar-extent(pair of numbers)The Y-extent of a short bar line. The default is half the normal bar extent, rounded up to an integer number of staff spaces.
thick-thickness(number)Thickness of the thick line in a bar line, expressed as a multiple of the default staff-line thickness (i.e., the visual output is not influenced by changes to
Staff.StaffSymbol.thickness).
Internal properties: ¶
allow-span-bar-above(boolean)If false, no inter-staff bar line will be created above this item.
has-span-bar(pair)A pair of grobs containing the span bars to be drawn below and above the staff. If no span bar is in a position, the respective element is set to
#f.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < bar-line-interface ] | [ Up: Graphical Object Interfaces ] | [ bass-figure-alignment-interface > ] |
3.2.12 bar-number-interface ¶
A bar number or bar number vertical support object.
This grob interface is used in the following graphical object(s): BarNumber, CenteredBarNumber and CenteredBarNumberLineSpanner.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < bar-number-interface ] | [ Up: Graphical Object Interfaces ] | [ bass-figure-interface > ] |
3.2.13 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.14 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.15 beam-interface ¶
A beam.
The beam-thickness property is the weight of beams, measured in
staffspace. The direction property is not user-serviceable. Use the
direction property of Stem instead.
The following properties may be set in the details list.
beam-epsEpsilon for beam quant code to check for presence in gap.
collision-paddingPadding value to avoid vertical collision with other objects.
collision-penaltyDemerit penalty for
collision-padding.damping-direction-penaltyDemerit penalty applied when beam direction is different from damping direction.
hint-direction-penaltyDemerit penalty applied when beam direction is different from damping direction, but damping slope is <=
round-to-zero-slope.ideal-slope-factorDemerit scaling factor for difference between beam slope and damping slope.
musical-direction-factorDemerit scaling factor for difference between beam slope and music slope.
region-sizeSize of region for checking quant scores.
round-to-zero-slopeDamping slope which is considered zero for purposes of calculating direction penalties.
secondary-beam-demeritDemerit used in quanting calculations for multiple beams.
stem-collision-factorDemerit factor used for colliding stems.
stem-length-demerit-factorDemerit factor used for inappropriate stem lengths.
stem-length-limit-penaltyPenalty for differences in stem lengths on a beam.
User-settable properties: ¶
accidental-padding(number)Property used by Beam to avoid accidentals in whole-note tremolos.
auto-knee-gap(dimension, in staff space)If a gap is found between note heads where a horizontal beam fits and it is larger than this number, make a kneed beam.
beam-thickness(dimension, in staff space)Beam thickness, measured in
staff-spaceunits.beamed-stem-shorten(list)How much to shorten beamed stems, when their direction is forced. It is a list, since the value is different depending on the number of flags and beams.
beaming(pair)Pair of number lists. Each number list specifies which beams to make.
0is the central beam,1is the next beam toward the note, etc. This information is used to determine how to connect the beaming patterns from stem to stem inside a beam.break-overshoot(pair of numbers)A pair of numbers specifying how much a broken spanner sticks out of its bounds horizontally on the broken side(s). For broken beams and broken tuplet brackets, the bounds are given by the prefatory matter on the left and/or the rightmost column on the right. For broken horizontal brackets, the bounds are the leftmost and/or rightmost column; for broken measure spanners, the left and/or right edge of the staff.
clip-edges(boolean)Allow outward pointing beamlets at the edges of beams?
collision-interfaces(list)A list of interfaces for which automatic beam-collision resolution is run.
collision-voice-only(boolean)Avoid beam collisions only with grobs of the voice in which the beam was created.
concaveness(number)A beam is concave if its inner stems are closer to the beam than the two outside stems. This number is a measure of the closeness of the inner stems. It is used for damping the slope of the beam.
damping(number)Amount of beam slope damping.
details(alist, with symbols as keys)An alist of parameters for detailed grob behavior. See All layout objects for more information on the available parameters and their default values of a particular grob’s
detailsproperty. See Graphical Object Interfaces for documentation of the available parameters. Supporting interfaces can be found at the bottom of a grob’s description section.direction(direction)If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.gap(dimension, in staff space)Size of a gap in a variable symbol.
gap-count(integer)Number of ‘floating’ beams in a two-stem tremolo.
grow-direction(direction)Crescendo or decrescendo?
inspect-quants(pair of numbers)If debugging is set, set beam and slur position to a (quantized) position that is as close as possible to this value, and print the demerits for the inspected position in the output.
knee(boolean)Is this beam kneed?
length-fraction(number)Multiplier for lengths. Used for determining ledger lines and stem lengths.
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 note heads.neutral-direction(direction)Which direction to take in the center of the staff.
positions(pair of numbers)Pair of staff coordinates
(start . end), where start and end are vertical positions instaff-spaceunits of the current staff. For slurs, this value selects which slur candidate to use; if extreme positions are requested, the closest one is taken.skip-quanting(boolean)Should beam quanting be skipped?
X-positions(pair of numbers)Pair of X staff coordinates of a spanner in the form
(left . right), where both left and right are instaff-spaceunits of the current staff.
Internal properties: ¶
annotation(string)Annotate a grob for debug purposes.
beam-segments(list)Internal representation of beam segments.
covered-grobs(array of grobs)Grobs that could potentially collide with a beam.
least-squares-dy(number)The ideal beam slope, without damping.
normal-stems(array of grobs)An array of visible stems.
quantized-positions(pair of numbers)The beam positions after quanting.
shorten(dimension, in staff space)The amount of space that a stem is shortened. Internally used to distribute beam shortening over stems.
stems(array of grobs)An array of stem objects.
This grob interface is used in the following graphical object(s): Beam.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < beam-interface ] | [ Up: Graphical Object Interfaces ] | [ bend-interface > ] |
3.2.16 bend-after-interface ¶
A doit or drop.
User-settable properties: ¶
thickness(number)For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e., the visual output is influenced by changes to
Staff.StaffSymbol.thickness).
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 ] | [ bezier-curve-interface > ] |
3.2.17 bend-interface ¶
The (curved) line representing a bent string.
Available for the 'style property are 'hold, 'pre-bend and
'pre-bend-hold.
The following properties may be set in the details list.
arrow-stencilThe stencil procedure for the
BendSpannerarrow head.bend-amount-stringsAn alist with entries for
'quarter,'half,'three-quarterand'full, which are used to print how much a string is bent.bend-arrowhead-heightThe height of the arrow head.
bend-arrowhead-widthThe width of the arrow head.
curvature-factorDetermines the horizontal part of a bent arrow as percentage of the total horizontal extent, usually between 0 and 1.
curve-x-padding-line-endFor a broken
BendSpanner, set the padding at the line end to subsequent objects like changedClef, etc.curve-y-padding-line-endFor a broken
BendSpannerstarted from a chord the curves don’t match; there is a certain vertical gap specified by this value.dashed-line-settingsList of three numeric values representing on, off and phase of a dashed line.
head-text-break-visibilityA vector of three booleans to set visibility of the arrow head and the text at a line break. This is important for
'styleset to'hold,'pre-bendor'pre-bend-hold.horizontal-left-paddingThe amount of horizontal free space between a
TabNoteHeadand the startingBendSpanner.successive-levelAn integer used as a factor determining the vertical coordinate of the starting
BendSpanner. Ifsuccessive-levelis 1, theBendSpannerstarts at theTabNoteHead. If consecutiveBendSpanners are set this value should be set to an appropriate value for the first one; later on, this value is maintained by the engraver.target-visibilityA boolean to decide whether the target
TabNoteHeadshould be visible. For up-pointing bends this is usually true.vertical-paddingVertical padding between note heads and bends for
pre-bendandpre-bend-holdstyles.y-distance-from-tabstaff-to-arrow-tipThis numeric value determines the distance between the
TabStaffand the arrow head of theBendSpanner.
User-settable properties: ¶
bend-me(boolean)Decide whether this grob is bent.
details(alist, with symbols as keys)An alist of parameters for detailed grob behavior. See All layout objects for more information on the available parameters and their default values of a particular grob’s
detailsproperty. See Graphical Object Interfaces for documentation of the available parameters. Supporting interfaces can be found at the bottom of a grob’s description section.direction(direction)If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.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): ApproximatePitchNoteHead, BendSpanner, NoteColumn, NoteHead and TabNoteHead.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < bend-interface ] | [ Up: Graphical Object Interfaces ] | [ break-alignable-interface > ] |
3.2.18 bezier-curve-interface ¶
A Bézier curve (tie, slur, etc.).
User-settable properties: ¶
show-control-points(boolean)For grobs printing Bézier curves, setting this property to
#tcauses the control points and control polygon to be drawn on the page for ease of tweaking.
This grob interface is used in the following graphical object(s): LaissezVibrerTie, PhrasingSlur, RepeatTie, Slur and Tie.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < bezier-curve-interface ] | [ Up: Graphical Object Interfaces ] | [ break-aligned-interface > ] |
3.2.19 break-alignable-interface ¶
Object that is aligned on a break alignment.
User-settable properties: ¶
break-align-symbols(list)A list of break-align symbols that determines which breakable items to align this to. If the grob selected by the first symbol in the list is invisible due to
break-visibility, we will align to the next grob (and so on). Choices are listed in Grobs and their break-align symbols.non-break-align-symbols(list)A list of symbols that determine which NON-break-aligned interfaces to align this to.
This grob interface is used in the following graphical object(s): BarNumber, CodaMark, JumpScript, LyricRepeatCount, MetronomeMark, RehearsalMark, SectionLabel, SegnoMark and TextMark.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < break-alignable-interface ] | [ Up: Graphical Object Interfaces ] | [ break-alignment-interface > ] |
3.2.20 break-aligned-interface ¶
Breakable items.
User-settable properties: ¶
break-align-anchor(number)Grobs aligned to this breakable item will have their X-offsets shifted by this number. In bar lines, for example, this is used to position grobs relative to the (visual) center of the bar line.
break-align-anchor-alignment(number)Read by
ly:break-aligned-interface::calc-extent-aligned-anchorfor aligning an anchor to a grob’s extent.break-align-symbol(symbol)This key is used for aligning, ordering, and spacing breakable items. See break-alignment-interface.
space-alist(alist, with symbols as keys)An alist that specifies distances from this grob to other breakable items, using the format:
'((break-align-symbol . (spacing-style . space)) (break-align-symbol . (spacing-style . space)) ...)Standard choices for
break-align-symbolare listed in Grobs and their break-align symbols. Additionally, three special break-align symbols available tospace-alistare:
first-noteused when the grob is just left of the first note on a line
next-noteused when the grob is just left of any other note; if not set, the value of
first-notegets usedright-edgeused when the grob is the last item on the line (only compatible with the
extra-spacespacing style)If
space-alistis defined for a grob that gets spaced in a staff, an entry forfirst-notemust be present. If there is nonext-noteentry, the value offirst-noteis used instead.Choices for
spacing-styleare:
extra-spacePut this much space between the two grobs. The space is stretchable and shrinkable when paired with
first-noteornext-note; otherwise it is fixed.minimum-spacePut at least this much space between the left sides of both grobs, without allowing them to collide. The space is stretchable and shrinkable when paired with
first-noteornext-note; otherwise it is fixed. Not compatible withright-edge.fixed-spaceOnly compatible with
first-noteandnext-note. Put this much fixed space between the grob and the note.minimum-fixed-spaceOnly compatible with
first-noteandnext-note. Put at least this much fixed space between the left side of the grob and the left side of the note, without allowing them to collide.semi-fixed-spaceOnly compatible with
first-noteandnext-note. Put this much space between the grob and the note, such that half of the space is fixed and half is stretchable and shrinkable.shrink-spaceOnly compatible with
first-noteandnext-note. Put this much space between the two grobs. The space is only shrinkable.semi-shrink-spaceOnly compatible with
first-noteandnext-note. Put this much space between the grob and the note, such that half of the space is fixed and half is shrinkable.Rules for this spacing are much more complicated than this. See [Wanske] page 126–134, [Ross] page 143–147.
This grob interface is used in the following graphical object(s): Ambitus, AmbitusAccidental, BarLine, BreakAlignGroup, BreathingSign, Clef, CueClef, CueEndClef, Custos, Divisio, DoublePercentRepeat, KeyCancellation, KeySignature, LeftEdge, OptionalMaterialBracket, SignumRepetitionis, SpanBar, StaffEllipsis and TimeSignature.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < break-aligned-interface ] | [ Up: Graphical Object Interfaces ] | [ breathing-sign-interface > ] |
3.2.21 break-alignment-interface ¶
The object that performs break alignment.
Three interfaces deal specifically with break alignment:
- break-alignment-interface (this one),
-
break-alignable-interface, and -
break-aligned-interface.
Each of these interfaces supports grob properties that use break-align symbols, which are Scheme symbols to specify the alignment, ordering, and spacing of certain notational elements (‘breakable’ items).
The break-align symbols used by the various grobs are listed in Grobs and their break-align symbols.
User-settable properties: ¶
break-align-orders(vector)This is a vector of 3 lists:
#(end-of-line unbroken start-of-line). Each list contains break-align symbols that specify an order of breakable items (see Grobs and their break-align symbols and break-alignment-interface).For example, this places time signatures before clefs:
\override Score.BreakAlignment.break-align-orders = #(make-vector 3 '(left-edge cue-end-clef ambitus breathing-sign time-signature clef cue-clef staff-bar key-cancellation key-signature custos))The same result can be achieved more conveniently by:
\breakAlignInsert time-signature before clef
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 ] | [ caesura-script-interface > ] |
3.2.22 breathing-sign-interface ¶
A breathing sign.
User-settable properties: ¶
direction(direction)If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.thickness(number)For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e., the visual output is influenced by changes to
Staff.StaffSymbol.thickness).
This grob interface is used in the following graphical object(s): BreathingSign and Divisio.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < breathing-sign-interface ] | [ Up: Graphical Object Interfaces ] | [ centered-bar-number-interface > ] |
3.2.23 caesura-script-interface ¶
A script for \caesura, e.g., an outside-staff comma or a
fermata over a bar line.
This grob interface is used in the following graphical object(s): CaesuraScript.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < caesura-script-interface ] | [ Up: Graphical Object Interfaces ] | [ centered-bar-number-line-spanner-interface > ] |
3.2.24 centered-bar-number-interface ¶
A measure-centered bar number.
This grob interface is used in the following graphical object(s): CenteredBarNumber.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < centered-bar-number-interface ] | [ Up: Graphical Object Interfaces ] | [ centered-spanner-interface > ] |
3.2.25 centered-bar-number-line-spanner-interface ¶
An abstract object used to align centered bar numbers on the same vertical position.
This grob interface is used in the following graphical object(s): CenteredBarNumberLineSpanner.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < centered-bar-number-line-spanner-interface ] | [ Up: Graphical Object Interfaces ] | [ chord-bracket-interface > ] |
3.2.26 centered-spanner-interface ¶
A spanner that prints a symbol centered between two columns.
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 - the unit is half the object width. If not a number, align on the object’s reference point.spacing-pair(pair)A pair of alignment symbols which set an object’s spacing relative to its left and right
BreakAlignments.For example, a
MultiMeasureRestwill ignore prefatory items at its bounds (i.e., clefs, key signatures and time signatures) using the following override:\override MultiMeasureRest.spacing-pair = #'(staff-bar . staff-bar)
This grob interface is used in the following graphical object(s): CenteredBarNumber, MeasureCounter and PercentRepeat.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < centered-spanner-interface ] | [ Up: Graphical Object Interfaces ] | [ chord-name-interface > ] |
3.2.27 chord-bracket-interface ¶
Functions and settings for drawing a vertical bracket, such as for non-arpeggiato, non-divisi, or optional material.
User-settable properties: ¶
line-thickness(number)For slurs and ties, this is the diameter of the virtual “pen” that draws the two arcs of the curve’s outline, which intersect at the endpoints. This property is expressed as a multiple of the current staff-line thickness (i.e., the visual output is influenced by changes to
Staff.StaffSymbol.thickness).positions(pair of numbers)Pair of staff coordinates
(start . end), where start and end are vertical positions instaff-spaceunits of the current staff. For slurs, this value selects which slur candidate to use; if extreme positions are requested, the closest one is taken.protrusion(number)In a bracket indicating non-arpeggio or optional material, the length of the horizontal edges.
script-priority(number)A key for determining the order of scripts in a stack, by being added to the position of the script in the user input, the sum being the overall priority. Smaller means closer to the head.
thickness(number)For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e., the visual output is influenced by changes to
Staff.StaffSymbol.thickness).
Internal properties: ¶
stems(array of grobs)An array of stem objects.
This grob interface is used in the following graphical object(s): ChordBracket.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < chord-bracket-interface ] | [ Up: Graphical Object Interfaces ] | [ chord-slur-interface > ] |
3.2.28 chord-name-interface ¶
A chord label (name or fretboard).
Internal properties: ¶
begin-of-line-visible(boolean)Set to make
ChordNameorFretBoardbe visible only at beginning of line or at chord changes; also used for stanza reminders in lyrics.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < chord-name-interface ] | [ Up: Graphical Object Interfaces ] | [ chord-square-interface > ] |
3.2.29 chord-slur-interface ¶
Functions and settings for drawing a vertical slur.
User-settable properties: ¶
dash-definition(pair)List of
dash-elementsdefining the dash structure. Eachdash-elementhas a starting t value, an ending t-value, adash-fraction, and adash-period.line-thickness(number)For slurs and ties, this is the diameter of the virtual “pen” that draws the two arcs of the curve’s outline, which intersect at the endpoints. This property is expressed as a multiple of the current staff-line thickness (i.e., the visual output is influenced by changes to
Staff.StaffSymbol.thickness).positions(pair of numbers)Pair of staff coordinates
(start . end), where start and end are vertical positions 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 key for determining the order of scripts in a stack, by being added to the position of the script in the user input, the sum being the overall priority. Smaller means closer to the head.
thickness(number)For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e., the visual output is influenced by changes to
Staff.StaffSymbol.thickness).
Internal properties: ¶
stems(array of grobs)An array of stem objects.
This grob interface is used in the following graphical object(s): ChordSlur.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < chord-slur-interface ] | [ Up: Graphical Object Interfaces ] | [ clef-interface > ] |
3.2.30 chord-square-interface ¶
A chord square in a chord grid.
User-settable properties: ¶
measure-division(number list)A list representing what fraction of the measure length each chord name takes in a chord square. The list is made of exact numbers between 0 and 1, which should add up to 1. Example: a measure
c2 g4 g4results in'(1/2 1/4 1/4).measure-division-chord-placement-alist(association list (list of pairs))An alist mapping measure divisions (see the
measure-divisionproperty) to lists of coordinates (number pairs) applied to the chord names of a chord square. Coordinates are normalized between -1 and 1 within the square.measure-division-lines-alist(association list (list of pairs))An alist mapping measure divisions (see the
measure-divisionproperty) to lists of lines to draw in the square, given as 4-element lists:(x-start y-start x-end y-end).
Internal properties: ¶
chord-names(array of grobs)Array of chord names.
This grob interface is used in the following graphical object(s): ChordSquare.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < chord-square-interface ] | [ Up: Graphical Object Interfaces ] | [ clef-modifier-interface > ] |
3.2.31 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.
In combination with (span) bar lines, it is a string resembling the bar line appearance in ASCII form.
glyph-name(string)The glyph name within the font.
In the context of (span) bar lines or clefs, glyph-name represents a processed form of
glyph, where decisions about line breaking, etc., are already taken.non-default(boolean)Set for manually specified clefs and keys.
This grob interface is used in the following graphical object(s): Clef, CueClef and CueEndClef.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < clef-interface ] | [ Up: Graphical Object Interfaces ] | [ cluster-beacon-interface > ] |
3.2.32 clef-modifier-interface ¶
The number describing transposition of the clef, placed below or above clef sign. Usually this is 8 (octave transposition) or 15 (two octaves), but LilyPond allows any integer here.
User-settable properties: ¶
clef-alignments(alist, with symbols as keys)An alist of parent-alignments that should be used for clef modifiers with various clefs
This grob interface is used in the following graphical object(s): ClefModifier.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < clef-modifier-interface ] | [ Up: Graphical Object Interfaces ] | [ cluster-interface > ] |
3.2.33 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
(start . end), where start and end are vertical positions 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 ] | [ coda-mark-interface > ] |
3.2.34 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(array of grobs)An array 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 ] | [ control-point-interface > ] |
3.2.35 coda-mark-interface ¶
A coda sign.
This grob interface is used in the following graphical object(s): CodaMark.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < coda-mark-interface ] | [ Up: Graphical Object Interfaces ] | [ control-polygon-interface > ] |
3.2.36 control-point-interface ¶
A grob used to visualize one control point of a Bézier curve (such as a tie or a slur), for ease of tweaking.
Internal properties: ¶
bezier(graphical (layout) object)A pointer to a Bézier curve, for use by control points and polygons.
index(non-negative, exact integer)For some grobs in a group, this is a number associated with the grob.
This grob interface is used in the following graphical object(s): ControlPoint.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < control-point-interface ] | [ Up: Graphical Object Interfaces ] | [ custos-interface > ] |
3.2.37 control-polygon-interface ¶
A grob used to visualize the control polygon of a Bézier curve (such as a tie or a slur), for ease of tweaking.
User-settable properties: ¶
extroversion(number)For polygons, how the thickness of the line is spread on each side of the exact polygon with ideal zero thickness. If this is 0, the middle of line is on the polygon. If 1, the line sticks out of the polygon. If -1, the outer side of the line is exactly on the polygon. Other numeric values are interpolated.
filled(boolean)Whether an object is filled with ink.
Internal properties: ¶
bezier(graphical (layout) object)A pointer to a Bézier curve, for use by control points and polygons.
This grob interface is used in the following graphical object(s): ControlPolygon.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < control-polygon-interface ] | [ Up: Graphical Object Interfaces ] | [ dot-column-interface > ] |
3.2.38 custos-interface ¶
A custos object. style can have four valid values: mensural,
vaticana, medicaea, and hufnagel. vaticana 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.39 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: ¶
chord-dots-limit(integer)Limits the column of dots on each chord to the height of the chord plus
chord-dots-limitstaff positions.direction(direction)If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.padding(dimension, in staff space)Add this much extra space between objects that are next to each other.
Internal properties: ¶
dots(array of grobs)Multiple
Dotsobjects.note-collision(graphical (layout) object)The
NoteCollisionobject of a dot column.positioning-done(boolean)Used to signal that a positioning element did its job. This ensures that a positioning is only done once.
This grob interface is used in the following graphical object(s): DotColumn.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < dot-column-interface ] | [ Up: Graphical Object Interfaces ] | [ duration-line-interface > ] |
3.2.40 dots-interface ¶
The dots to go with a note head 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(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.dot-count(integer)The number of dots.
glyph-name(string)The glyph name within the font.
In the context of (span) bar lines or clefs, glyph-name represents a processed form of
glyph, where decisions about line breaking, etc., are already taken.style(symbol)This setting determines in what style a grob is typeset. Valid choices depend on the
stencilcallback reading this property.
Internal properties: ¶
dot-stencil(stencil)The stencil for an individual dot, as opposed to a group of several dots.
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-interface > ] |
3.2.41 duration-line-interface ¶
A line lasting for the duration of a rhythmic event.
If bound-details.right.end-style is set to 'arrow, end the
duration line with a right-pointing arrow. If set to 'hook, end it with
a hook.
The following properties may be set in the details list.
extra-dot-paddingPadding to apply if a
DotColumngrob is present and thestart-at-dotsub-property is enabled.hook-directionThe direction of the hook ending the duration line.
hook-heightThe height of the hook ending the duration line.
hook-thicknessThe thickness of the hook ending the duration line.
User-settable properties: ¶
details(alist, with symbols as keys)An alist of parameters for detailed grob behavior. See All layout objects for more information on the available parameters and their default values of a particular grob’s
detailsproperty. See Graphical Object Interfaces for documentation of the available parameters. Supporting interfaces can be found at the bottom of a grob’s description section.
This grob interface is used in the following graphical object(s): DurationLine.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < duration-line-interface ] | [ Up: Graphical Object Interfaces ] | [ dynamic-line-spanner-interface > ] |
3.2.42 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-interface > ] |
3.2.43 dynamic-line-spanner-interface ¶
Dynamic line spanner.
User-settable properties: ¶
avoid-slur(symbol)Method of handling slur collisions. Choices are
inside,outside,around, andignore.insideadjusts the slur if needed to keep the grob inside the slur.outsidemoves the grob vertically to the outside of the slur.aroundmoves the grob vertically to the outside of the slur only if there is a collision.ignoredoes not move either. In grobs whose notational significance depends on vertical position (such as accidentals, clefs, etc.),outsideandaroundbehave likeignore.
This grob interface is used in the following graphical object(s): DynamicLineSpanner.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < dynamic-line-spanner-interface ] | [ Up: Graphical Object Interfaces ] | [ dynamic-text-spanner-interface > ] |
3.2.44 dynamic-text-interface ¶
An absolute text dynamic.
User-settable properties: ¶
right-padding(dimension, in staff space)Space to insert on the right side of an object (e.g., between note and its accidentals).
This grob interface is used in the following graphical object(s): DynamicText.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < dynamic-text-interface ] | [ Up: Graphical Object Interfaces ] | [ enclosing-bracket-interface > ] |
3.2.45 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 ] | [ episema-interface > ] |
3.2.46 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.dashed-edge(boolean)If set, the bracket edges are dashed like the rest of the bracket.
edge-height(pair)A pair of numbers specifying the heights of the vertical edges:
(left-height . right-height).padding(dimension, in staff space)Add this much extra space between objects that are next to each other.
shorten-pair(pair of numbers)The lengths to shorten on both sides a hairpin or text-spanner such as a pedal bracket. Positive values shorten the hairpin or text-spanner, while negative values lengthen it.
thickness(number)For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e., the visual output is influenced by changes to
Staff.StaffSymbol.thickness).
Internal properties: ¶
elements(array of grobs)An array of grobs; the type is depending on the grob where this is set in.
This grob interface is used in the following graphical object(s): BassFigureBracket.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < enclosing-bracket-interface ] | [ Up: Graphical Object Interfaces ] | [ figured-bass-continuation-interface > ] |
3.2.47 episema-interface ¶
An episema line.
This grob interface is used in the following graphical object(s): Episema.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < episema-interface ] | [ Up: Graphical Object Interfaces ] | [ finger-glide-interface > ] |
3.2.48 figured-bass-continuation-interface ¶
Simple extender line between bounds.
Internal properties: ¶
figures(array of grobs)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 ] | [ finger-interface > ] |
3.2.49 finger-glide-interface ¶
The line between Fingering grobs indicating a glide with that finger.
The property style may take the following symbols.
lineA simple connecting line.
dashed-linePrint a dashed line. Customizable with settings for
dash-fractionanddash-period.dotted-linePrint a dotted line.
stub-rightThe printed line is limited to a certain amount right before its right bound. This amount is configurable by a suitable setting for
bound-details.right.right-stub-length.stub-leftThe printed line is limited to a certain amount right after its left bound. The amount is configurable by a suitable setting for
bound-details.right.left-stub-length.stub-bothThe printed line combines the settings of
stub-leftandstub-right.zigzagA zigzag line, configurable with suitable settings for
zigzag-widthandzigzag-length.trillA trill style line.
bowA bow style line. The orientation of the bow may be tweaked with a suitable setting of
details.bow-direction.
User-settable properties: ¶
dash-fraction(number)Size of the dashes, relative to
dash-period. Should be between0.1and1.0(continuous line). If set to0.0, a dotted line is produceddash-period(number)The length of one dash together with whitespace. If negative, no line is drawn at all.
details(alist, with symbols as keys)An alist of parameters for detailed grob behavior. See All layout objects for more information on the available parameters and their default values of a particular grob’s
detailsproperty. See Graphical Object Interfaces for documentation of the available parameters. Supporting interfaces can be found at the bottom of a grob’s description section.style(symbol)This setting determines in what style a grob is typeset. Valid choices depend on the
stencilcallback reading this property.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 spanner line can be constructed from a whole number of squiggles.
This grob interface is used in the following graphical object(s): FingerGlideSpanner.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < finger-glide-interface ] | [ Up: Graphical Object Interfaces ] | [ fingering-column-interface > ] |
3.2.50 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 ] | [ flag-interface > ] |
3.2.51 fingering-column-interface ¶
Makes sure that fingerings placed laterally do not collide and that they are flush if necessary.
User-settable properties: ¶
padding(dimension, in staff space)Add this much extra space between objects that are next to each other.
snap-radius(number)The maximum distance between two objects that will cause them to snap to alignment along an axis.
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): FingeringColumn.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < fingering-column-interface ] | [ Up: Graphical Object Interfaces ] | [ font-interface > ] |
3.2.52 flag-interface ¶
A flag that gets attached to a stem. The style property is a symbol
determining what style of flag glyph is typeset on a Stem grob. Valid
options include '() (for standard flags), 'mensural,
'stacked, and 'no-flag (which switches off the flag).
User-settable properties: ¶
glyph-name(string)The glyph name within the font.
In the context of (span) bar lines or clefs, glyph-name represents a processed form of
glyph, where decisions about line breaking, etc., are already taken.stroke-style(string)Set to
"grace"to turn stroke through flag on.style(symbol)This setting determines in what style a grob is typeset. Valid choices depend on the
stencilcallback reading this property.
This grob interface is used in the following graphical object(s): Flag.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < flag-interface ] | [ Up: Graphical Object Interfaces ] | [ footnote-interface > ] |
3.2.53 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) are using this property. Available values are
fetaMusic(Emmentaler),fetaBraces,fetaText(Emmentaler).font-family(symbol)The font family is the broadest category for selecting text fonts. Options include
serif,sansandtypewriter.font-features(list)Opentype features.
font-name(string)This property is kept for backwards compatibility only. Use the
fontsproperty instead.font-series(symbol)Select the series of a font. Common choices are
normalandbold. The full list of symbols that can be used is:thin,ultralight(orextralight),light,semilight(ordemilight),book,normal(orregular),medium,semibold(ordemibold),bold,ultrabold(orextrabold),heavy(orblack), andultraheavy(orultrablackorextrablack).font-shape(symbol)Select the shape of a font. Possible values are
upright,italic,oblique, andslanted(which is the same asoblique).font-size(number)The font size, compared to the ‘normal’ size.
0is style-sheet’s normal size,-1is smaller,+1is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. If the context propertyfontSizeis set, its value is added to this before the glyph is printed. Fractional values are allowed.font-stretch(symbol)Select a condensed or expanded font, if available in the font family. Possible values are
ultra-condensed,extra-condensed,condensed,semi-condensed,normal,semi-expanded,expanded,extra-expanded, andultra-expanded.font-variant(symbol)Select the variant of a font. Choices include
normalandsmall-caps.fonts(alist, with symbols as keys)An alist mapping font families to font names. The standard font families are
music,serif,sansandtypewriter.
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, ApproximatePitchNoteHead, Arpeggio, BalloonText, BarLine, BarNumber, BassFigure, BendSpanner, BreathingSign, CaesuraScript, CenteredBarNumber, ChordBracket, ChordName, ChordSlur, Clef, ClefModifier, CodaMark, CombineTextScript, CueClef, CueEndClef, Custos, Divisio, Dots, DoublePercentRepeat, DoublePercentRepeatCounter, DoubleRepeatSlash, DurationLine, DynamicText, DynamicTextSpanner, Episema, FingerGlideSpanner, Fingering, Flag, Footnote, FretBoard, Glissando, GridChordName, HorizontalBracketText, InstrumentName, InstrumentSwitch, JumpScript, KeyCancellation, KeySignature, KievanLigature, LyricHyphen, LyricRepeatCount, LyricText, MeasureCounter, MeasureSpanner, MensuralLigature, MetronomeMark, MultiMeasureRest, MultiMeasureRestNumber, MultiMeasureRestScript, MultiMeasureRestText, NonMusicalPaperColumn, NoteHead, NoteName, OttavaBracket, PaperColumn, Parentheses, PercentRepeat, PercentRepeatCounter, RehearsalMark, Rest, Script, SectionLabel, SegnoMark, SignumRepetitionis, SostenutoPedal, SpanBar, StaffEllipsis, StanzaNumber, StringNumber, StrokeFinger, SustainPedal, SystemStartBrace, SystemStartBracket, SystemStartSquare, TabNoteHead, TextMark, TextScript, TextSpanner, TimeSignature, TrillPitchAccidental, TrillPitchHead, TrillPitchParentheses, TrillSpanner, TupletNumber, UnaCordaPedal, VaticanaLigature and VoltaBracket.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < font-interface ] | [ Up: Graphical Object Interfaces ] | [ fret-diagram-interface > ] |
3.2.54 footnote-interface ¶
Make a footnote.
User-settable properties: ¶
automatically-numbered(boolean)If set, footnotes are automatically numbered.
footnote(boolean)Should this be a footnote or in-note?
footnote-text(markup)A footnote for the grob.
Internal properties: ¶
numbering-assertion-function(any type)The function used to assert that footnotes are receiving correct automatic numbers.
spanner-placement(direction)The place of an annotation on a spanner.
LEFTis for the first spanner, andRIGHTis for the last.CENTERwill place it on the broken spanner that falls closest to the center of the length of the entire spanner, although this behavior is unpredictable in situations with lots of rhythmic diversity. For predictable results, useLEFTandRIGHT.
This grob interface is used in the following graphical object(s): Footnote.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < footnote-interface ] | [ Up: Graphical Object Interfaces ] | [ glissando-interface > ] |
3.2.55 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(alist, with symbols as keys)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.
barre-thickness– Thickness of barre line, in multiples ofdot-radius. Only defined forbarre-type=straight. Default value 1.capo-thickness– Thickness of capo indicator, in multiples of fret-space. Default value 0.5.dot-color– Color of dots. Options includeblackandwhite. Defaultblack.dot-label-font-mag– Magnification for font used to label fret dots. Default value 1.dot-position– Location of dot in fret space. Default 0.6 for dots without labels, 0.95-dot-radiusfor dots with labels.dot-radius– Radius of dots, in terms of fret spaces. Default value 0.425 for labeled dots, 0.25 for unlabeled dots.finger-code– Code for the type of fingering indication used. Options includenone,in-dot, andbelow-string. Defaultnonefor markup fret diagrams,below-stringforFretBoardsfret diagrams.fret-count– The number of frets. Default 4.fret-distance– Multiplier to adjust the distance between frets. Default 1.0.fret-label-custom-format– The format string to be used label the lowest fret number, whennumber-typeequals tocustom. Default "~a".fret-label-font-mag– The magnification of the font used to label the lowest fret number. Default 0.5.fret-label-vertical-offset– The offset of the fret label from the center of the fret in direction parallel to strings. Default 0.fret-label-horizontal-offset– The offset of the fret label from the center of the fret in direction orthogonal to strings. Default 0.handedness– Print the fret-diagram left- or right-handed.-1,LEFTfor left ;1,RIGHTfor right. DefaultRIGHT.paren-padding– The padding for the parenthesis. Default 0.05.label-dir– Side to which the fret label is attached.-1,LEFT, orDOWNfor left or down;1,RIGHT, orUPfor right or up. DefaultRIGHT.mute-string– Character string to be used to indicate muted string. Default"x".number-type– Type of numbers to use in fret label. Choices includearabic,roman-ij-lower,roman-ij-upper,roman-lower,roman-upper,arabicandcustom. In the last case, the format string is supplied by thefret-label-custom-formatproperty. Defaultroman-lower.open-string– Character string to be used to indicate open string. Default"o".orientation– Orientation of fret-diagram. Options includenormal,landscape, andopposing-landscape. Defaultnormal.string-count– The number of strings. Default 6.string-distance– Multiplier to adjust the distance between strings. Default 1.0.string-label-font-mag– The magnification of the font used to label fingerings at the string, rather than in the dot. Default value 0.6 fornormalorientation, 0.5 forlandscapeandopposing-landscape.string-overhang– Extension of string lines beyond last fret line, in multiples offret-distance. Default value 1.string-thickness-factor– Factor for changing thickness of each string in the fret diagram. Thickness of string k is given bythickness* (1+string-thickness-factor) ^ (k-1). Default 0.top-fret-thickness– The thickness of the top fret line, as a multiple of the standard thickness. Default value 3.xo-font-magnification– Magnification used for mute and open string indicators. Default value 0.5.xo-padding– Padding for open and mute indicators from top fret. Default value 0.25.size(number)The ratio of the size of the object to its default size.
thickness(number)For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e., the visual output is influenced by changes to
Staff.StaffSymbol.thickness).
This grob interface is used in the following graphical object(s): FretBoard.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < fret-diagram-interface ] | [ Up: Graphical Object Interfaces ] | [ grace-spacing-interface > ] |
3.2.56 glissando-interface ¶
A glissando.
Internal properties: ¶
glissando-index(integer)The index of a glissando in its note column.
This grob interface is used in the following graphical object(s): Glissando.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < glissando-interface ] | [ Up: Graphical Object Interfaces ] | [ gregorian-ligature-interface > ] |
3.2.57 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(array of grobs)An array 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-chord-name-interface > ] |
3.2.58 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 neighbor head.
context-infoholds for each head such information about the left and right neighbor, encoded as a bit mask.deminutum(boolean)Is this neume diminished?
descendens(boolean)Is this neume of descendant 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): ApproximatePitchNoteHead and NoteHead.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < gregorian-ligature-interface ] | [ Up: Graphical Object Interfaces ] | [ grid-line-interface > ] |
3.2.59 grid-chord-name-interface ¶
A chord name in a chord grid.
Internal properties: ¶
index(non-negative, exact integer)For some grobs in a group, this is a number associated with the grob.
This grob interface is used in the following graphical object(s): GridChordName.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < grid-chord-name-interface ] | [ Up: Graphical Object Interfaces ] | [ grid-point-interface > ] |
3.2.60 grid-line-interface ¶
A line that is spanned between grid-points.
User-settable properties: ¶
thickness(number)For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e., the visual output is influenced by changes to
Staff.StaffSymbol.thickness).
Internal properties: ¶
elements(array of grobs)An array of grobs; the type is depending on the grob where this is set in.
This grob interface is used in the following graphical object(s): GridLine.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < grid-line-interface ] | [ Up: Graphical Object Interfaces ] | [ grob-interface > ] |
3.2.61 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.62 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 ly:grob-set-property! (or its C++ equivalent) sets a mutable
property.
The properties after-line-breaking and before-line-breaking are
dummies that are not user-serviceable.
User-settable properties: ¶
after-line-breaking(boolean)Dummy property, used to trigger callback for
after-line-breaking.avoid-slur(symbol)Method of handling slur collisions. Choices are
inside,outside,around, andignore.insideadjusts the slur if needed to keep the grob inside the slur.outsidemoves the grob vertically to the outside of the slur.aroundmoves the grob vertically to the outside of the slur only if there is a collision.ignoredoes not move either. In grobs whose notational significance depends on vertical position (such as accidentals, clefs, etc.),outsideandaroundbehave likeignore.before-line-breaking(boolean)Dummy property, used to trigger a callback function.
color(color)The color of this grob.
extra-offset(pair of numbers)A pair representing an offset. This offset is added just before outputting the symbol, so the typesetting engine is completely oblivious to it. The values are measured in
staff-spaceunits of the staff’sStaffSymbol.footnote-music(music)Music creating a footnote.
forced-spacing(number)Spacing forced between grobs, used in various ligature engravers.
horizontal-skylines(pair of skylines)Two skylines, one to the left and one to the right of this grob.
id(string)An id string for the grob.
layer(integer)An integer which determines the order of printing objects. Objects with the lowest value of layer are drawn first, then objects with progressively higher values are drawn, so objects with higher values overwrite objects with lower values. By default most objects are assigned a layer value of 1.
minimum-X-extent(pair of numbers)Minimum size of an object in X dimension, measured in
staff-spaceunits.minimum-Y-extent(pair of numbers)Minimum size of an object in Y dimension, measured in
staff-spaceunits.output-attributes(association list (list of pairs))An alist of attributes for the grob, to be included in output files. When the SVG typesetting backend is used, the attributes are assigned to a group (
<g>) containing all of the stencils that comprise a given grob. For example,'((id . 123) (class . foo) (data-whatever . "bar"))produces
<g id="123" class="foo" data-whatever="bar"> ... </g>In the PostScript backend, where there is no way to group items, the setting of the
output-attributesproperty has no effect.parenthesis-friends(list)A list of Grob types, as symbols. When parentheses enclose a Grob that has ’parenthesis-friends, the parentheses widen to include any child Grobs with type among ’parenthesis-friends.
parenthesis-id(symbol)When parenthesized grobs created in the same time step have this property, there is one set of parentheses for each group of grobs having the same value.
parenthesized(boolean)Parenthesize this grob.
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.show-horizontal-skylines(boolean)If true, print this grob’s horizontal skylines. This is meant for debugging purposes.
show-vertical-skylines(boolean)If true, print this grob’s vertical skylines. This is meant for debugging purposes.
skyline-horizontal-padding(number)For determining the vertical distance between two staves, it is possible to have a configuration which would result in a tight interleaving of grobs from the top staff and the bottom staff. The larger this parameter is, the farther apart the staves are placed in such a configuration.
springs-and-rods(boolean)Dummy variable for triggering spacing routines.
stencil(stencil)The symbol to print.
transparent(boolean)This makes the grob invisible.
vertical-skylines(pair of skylines)Two skylines, one above and one below this grob.
whiteout(boolean-or-number)If a number or true, the grob is printed over a white background to white-out underlying material, if the grob is visible. A number indicates how far the white background extends beyond the bounding box of the grob as a multiple of the staff-line thickness. The
LyricHyphengrob uses a special implementation of whiteout: A positive number indicates how far the white background extends beyond the bounding box in multiples ofline-thickness. The shape of the background is determined bywhiteout-style.Usually
#fby default. Ifwhiteout-coloris set, use this color instead of white for the background.whiteout-color(color)The background color used if property
whiteoutis set.whiteout-style(symbol)Determines the shape of the
whiteoutbackground. Available are'outline,'rounded-box, and the default'box. There is one exception: Use'specialforLyricHyphen.X-extent(pair of numbers)Extent (size) in the X direction, measured in staff-space units, relative to object’s reference point.
X-offset(number)The horizontal amount that this object is moved relative to its X-parent.
Note that many objects have special positioning considerations, which cause any setting of
X-offsetto be ignored or modified, even though the object supports theself-alignment-interface.Y-extent(pair of numbers)Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
Y-offset(number)The vertical amount that this object is moved relative to its Y-parent.
Note that many objects have special positioning considerations, which cause any setting of
Y-offsetto be ignored or modified, even though the object supports theself-alignment-interface.
Internal properties: ¶
axis-group-parent-X(graphical (layout) object)Containing X axis group.
axis-group-parent-Y(graphical (layout) object)Containing Y axis group.
cause(any type)Any kind of causation objects (i.e., music, or perhaps translator) that was the cause for this grob.
cross-staff(boolean)True for grobs whose
Y-extentdepends on inter-staff spacing. The extent is measured relative to the grobs’s parent staff (more generally, itsVerticalAxisGroup) so this boolean flags grobs that are not rigidly fixed to their parent staff. Beams that join notes from two staves arecross-staff. Grobs that are positioned around such beams are alsocross-staff. Grobs that are grouping objects, however, likeVerticalAxisGroupswill not in general be markedcross-staffwhen some of the members of the group arecross-staff.interfaces(list)A list of symbols indicating the interfaces supported by this object. It is initialized from the
metafield.meta(alist, with symbols as keys)Provide meta information. It is an alist with the entries
nameandinterfaces.pure-Y-offset-in-progress(boolean)A debugging aid for catching cyclic dependencies.
staff-symbol(graphical (layout) object)The staff symbol grob that we are in.
vertically-spanning-surrogate(graphical (layout) object)When an engraver hides a shorter instance of a vertically spanning grob (e.g., an arpeggio sign) to allow a taller instance to appear, this property may be set in the shorter instance to allow navigation to the taller instance.
This grob interface is used in the following graphical object(s): Accidental, AccidentalCautionary, AccidentalPlacement, AccidentalSuggestion, Ambitus, AmbitusAccidental, AmbitusLine, AmbitusNoteHead, ApproximatePitchNoteHead, Arpeggio, BalloonText, BarLine, BarNumber, BassFigure, BassFigureAlignment, BassFigureAlignmentPositioning, BassFigureBracket, BassFigureContinuation, BassFigureLine, Beam, BendAfter, BendSpanner, BreakAlignGroup, BreakAlignment, BreathingSign, CaesuraScript, CenteredBarNumber, CenteredBarNumberLineSpanner, ChordBracket, ChordName, ChordSlur, ChordSquare, Clef, ClefModifier, ClusterSpanner, ClusterSpannerBeacon, CodaMark, CombineTextScript, ControlPoint, ControlPolygon, CueClef, CueEndClef, Custos, Divisio, DotColumn, Dots, DoublePercentRepeat, DoublePercentRepeatCounter, DoubleRepeatSlash, DurationLine, DynamicLineSpanner, DynamicText, DynamicTextSpanner, Episema, FingerGlideSpanner, Fingering, FingeringColumn, Flag, Footnote, FretBoard, Glissando, GraceSpacing, GridChordName, GridLine, GridPoint, Hairpin, HorizontalBracket, HorizontalBracketText, InstrumentName, InstrumentSwitch, JumpScript, KeyCancellation, KeySignature, KievanLigature, LaissezVibrerTie, LaissezVibrerTieColumn, LedgerLineSpanner, LeftEdge, LigatureBracket, LyricExtender, LyricHyphen, LyricRepeatCount, LyricSpace, LyricText, MeasureCounter, MeasureGrouping, MeasureSpanner, MelodyItem, MensuralLigature, MetronomeMark, MultiMeasureRest, MultiMeasureRestNumber, MultiMeasureRestScript, MultiMeasureRestText, NonMusicalPaperColumn, NoteCollision, NoteColumn, NoteHead, NoteName, NoteSpacing, OptionalMaterialBracket, OttavaBracket, PaperColumn, Parentheses, PercentRepeat, PercentRepeatCounter, PhrasingSlur, PianoPedalBracket, RehearsalMark, RepeatSlash, RepeatTie, RepeatTieColumn, Rest, RestCollision, Script, ScriptColumn, ScriptRow, SectionLabel, SegnoMark, SignumRepetitionis, Slur, SostenutoPedal, SostenutoPedalLineSpanner, SpacingSpanner, SpanBar, SpanBarStub, StaffEllipsis, StaffGrouper, StaffHighlight, StaffSpacing, StaffSymbol, StanzaNumber, Stem, StemStub, StemTremolo, StringNumber, StrokeFinger, SustainPedal, SustainPedalLineSpanner, System, SystemStartBar, SystemStartBrace, SystemStartBracket, SystemStartSquare, TabNoteHead, TextMark, TextScript, TextSpanner, Tie, TieColumn, TimeSignature, TrillPitchAccidental, TrillPitchGroup, TrillPitchHead, TrillPitchParentheses, TrillSpanner, TupletBracket, TupletNumber, UnaCordaPedal, UnaCordaPedalLineSpanner, VaticanaLigature, VerticalAlignment, VerticalAxisGroup, VoiceFollower, VoltaBracket, VoltaBracketSpanner and VowelTransition.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < grob-interface ] | [ Up: Graphical Object Interfaces ] | [ hara-kiri-group-spanner-interface > ] |
3.2.63 hairpin-interface ¶
A hairpin crescendo or decrescendo.
User-settable properties: ¶
bound-padding(number)The amount of padding to insert around spanner bounds.
broken-bound-padding(number)The amount of padding to insert when a spanner is broken at a line break.
circled-tip(boolean)Put a circle at start/end of hairpins (al/del niente).
endpoint-alignments(pair of numbers)A pair of numbers representing the alignments of an object’s endpoints. E.g., the ends of a hairpin relative to
NoteColumngrobs.grow-direction(direction)Crescendo or decrescendo?
height(dimension, in staff space)Height of an object in
staff-spaceunits.shorten-pair(pair of numbers)The lengths to shorten on both sides a hairpin or text-spanner such as a pedal bracket. Positive values shorten the hairpin or text-spanner, while negative values lengthen it.
Internal properties: ¶
adjacent-spanners(array of grobs)An array of directly neighboring dynamic spanners.
concurrent-hairpins(array of grobs)All concurrent hairpins.
This grob interface is used in the following graphical object(s): Hairpin.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < hairpin-interface ] | [ Up: Graphical Object Interfaces ] | [ horizontal-bracket-interface > ] |
3.2.64 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. Greater
control can be exercised via remove-layer which can prioritize layers so
only the lowest-numbered non-empty layer is retained; make the layer
independent of the group; or make it dependent on any other member of the group
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?
remove-layer(index or symbol)When set as a positive integer, the
Keep_alive_together_engraverremoves allVerticalAxisGroupgrobs with aremove-layerlarger than the smallest retainedremove-layer. Set to#fto make a layer independent of theKeep_alive_together_engraver. Set to'(), the layer does not participate in the layering decisions. The property can also be set as a symbol for common behaviors:#'anyto keep the layer alive with any other layer in the group;#'aboveor#'belowto keep the layer alive with the context immediately before or after it, respectively.
Internal properties: ¶
important-column-ranks(vector)A cache of columns that contain
items-worth-livingdata.items-worth-living(array of grobs)An array of interesting items. If empty in a particular staff, then that staff is erased.
keep-alive-with(array of grobs)An array of other
VerticalAxisGroups. If any of them are alive, then we will stay alive.make-dead-when(array of grobs)An array of other
VerticalAxisGroups. If any of them are alive, then we will turn dead.
This grob interface is used in the following graphical object(s): VerticalAxisGroup.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < hara-kiri-group-spanner-interface ] | [ Up: Graphical Object Interfaces ] | [ horizontal-bracket-text-interface > ] |
3.2.65 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.break-overshoot(pair of numbers)A pair of numbers specifying how much a broken spanner sticks out of its bounds horizontally on the broken side(s). For broken beams and broken tuplet brackets, the bounds are given by the prefatory matter on the left and/or the rightmost column on the right. For broken horizontal brackets, the bounds are the leftmost and/or rightmost column; for broken measure spanners, the left and/or right edge of the staff.
connect-to-neighbor(pair)Pair of booleans, indicating whether this grob looks as a continued break.
dashed-edge(boolean)If set, the bracket edges are dashed like the rest of the bracket.
edge-height(pair)A pair of numbers specifying the heights of the vertical edges:
(left-height . right-height).shorten-pair(pair of numbers)The lengths to shorten on both sides a hairpin or text-spanner such as a pedal bracket. Positive values shorten the hairpin or text-spanner, while negative values lengthen it.
Internal properties: ¶
bracket-text(graphical (layout) object)A pointer to the text grob of an analysis bracket.
columns(array of grobs)An array of grobs, typically containing
PaperColumnorNoteColumnobjects.
This grob interface is used in the following graphical object(s): HorizontalBracket, OttavaBracket and VoltaBracket.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < horizontal-bracket-interface ] | [ Up: Graphical Object Interfaces ] | [ horizontal-line-spanner-interface > ] |
3.2.66 horizontal-bracket-text-interface ¶
Label for an analysis bracket.
Internal properties: ¶
bracket(graphical (layout) object)The bracket for a number.
columns(array of grobs)An array of grobs, typically containing
PaperColumnorNoteColumnobjects.
This grob interface is used in the following graphical object(s): HorizontalBracketText.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < horizontal-bracket-text-interface ] | [ Up: Graphical Object Interfaces ] | [ inline-accidental-interface > ] |
3.2.67 horizontal-line-spanner-interface ¶
This interface is a subset of the line-spanner-interface, for
use with line spanners that are always horizontal (such as crescendo
spanners). The details.Y subproperty is irrelevant. Grobs
having this interface can be side-positioned vertically.
User-settable properties: ¶
bound-details(alist, with symbols as keys)An alist of properties for determining attachments of spanners to edges.
gap(dimension, in staff space)Size of a gap in a variable symbol.
left-bound-info(alist, with symbols as keys)An alist of properties for determining attachments of spanners to edges.
right-bound-info(alist, with symbols as keys)An alist of properties for determining attachments of spanners to edges.
thickness(number)For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e., the visual output is influenced by changes to
Staff.StaffSymbol.thickness).to-barline(boolean)If true, the spanner will stop at the bar line just before it would otherwise stop.
Internal properties: ¶
left-neighbor(graphical (layout) object)A grob similar to this one, on its left. For columns, the right-most column that has a spacing wish for this column.
note-columns(array of grobs)An array of
NoteColumngrobs.right-neighbor(graphical (layout) object)See
left-neighbor.
This grob interface is used in the following graphical object(s): BassFigureContinuation, DurationLine, DynamicTextSpanner, Episema, TextSpanner, TrillSpanner and VowelTransition.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < horizontal-line-spanner-interface ] | [ Up: Graphical Object Interfaces ] | [ instrument-specific-markup-interface > ] |
3.2.68 inline-accidental-interface ¶
An inlined accidental (i.e., normal accidentals, cautionary accidentals).
This grob interface is used in the following graphical object(s): Accidental, AccidentalCautionary and TrillPitchAccidental.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < inline-accidental-interface ] | [ Up: Graphical Object Interfaces ] | [ item-interface > ] |
3.2.69 instrument-specific-markup-interface ¶
Instrument-specific markup (like fret boards or harp pedal diagrams).
User-settable properties: ¶
fret-diagram-details(alist, with symbols as keys)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.
barre-thickness– Thickness of barre line, in multiples ofdot-radius. Only defined forbarre-type=straight. Default value 1.capo-thickness– Thickness of capo indicator, in multiples of fret-space. Default value 0.5.dot-color– Color of dots. Options includeblackandwhite. Defaultblack.dot-label-font-mag– Magnification for font used to label fret dots. Default value 1.dot-position– Location of dot in fret space. Default 0.6 for dots without labels, 0.95-dot-radiusfor dots with labels.dot-radius– Radius of dots, in terms of fret spaces. Default value 0.425 for labeled dots, 0.25 for unlabeled dots.finger-code– Code for the type of fingering indication used. Options includenone,in-dot, andbelow-string. Defaultnonefor markup fret diagrams,below-stringforFretBoardsfret diagrams.fret-count– The number of frets. Default 4.fret-distance– Multiplier to adjust the distance between frets. Default 1.0.fret-label-custom-format– The format string to be used label the lowest fret number, whennumber-typeequals tocustom. Default "~a".fret-label-font-mag– The magnification of the font used to label the lowest fret number. Default 0.5.fret-label-vertical-offset– The offset of the fret label from the center of the fret in direction parallel to strings. Default 0.fret-label-horizontal-offset– The offset of the fret label from the center of the fret in direction orthogonal to strings. Default 0.handedness– Print the fret-diagram left- or right-handed.-1,LEFTfor left ;1,RIGHTfor right. DefaultRIGHT.paren-padding– The padding for the parenthesis. Default 0.05.label-dir– Side to which the fret label is attached.-1,LEFT, orDOWNfor left or down;1,RIGHT, orUPfor right or up. DefaultRIGHT.mute-string– Character string to be used to indicate muted string. Default"x".number-type– Type of numbers to use in fret label. Choices includearabic,roman-ij-lower,roman-ij-upper,roman-lower,roman-upper,arabicandcustom. In the last case, the format string is supplied by thefret-label-custom-formatproperty. Defaultroman-lower.open-string– Character string to be used to indicate open string. Default"o".orientation– Orientation of fret-diagram. Options includenormal,landscape, andopposing-landscape. Defaultnormal.string-count– The number of strings. Default 6.string-distance– Multiplier to adjust the distance between strings. Default 1.0.string-label-font-mag– The magnification of the font used to label fingerings at the string, rather than in the dot. Default value 0.6 fornormalorientation, 0.5 forlandscapeandopposing-landscape.string-overhang– Extension of string lines beyond last fret line, in multiples offret-distance. Default value 1.string-thickness-factor– Factor for changing thickness of each string in the fret diagram. Thickness of string k is given bythickness* (1+string-thickness-factor) ^ (k-1). Default 0.top-fret-thickness– The thickness of the top fret line, as a multiple of the standard thickness. Default value 3.xo-font-magnification– Magnification used for mute and open string indicators. Default value 0.5.xo-padding– Padding for open and mute indicators from top fret. Default value 0.25.graphical(boolean)Display in graphical (vs. text) form.
harp-pedal-details(alist, with symbols as keys)An alist of detailed grob properties for harp pedal diagrams. Each alist entry consists of a
(property . value)pair. The properties which can be included in harp-pedal-details include the following:
box-offset– Vertical shift of the center of flat/sharp pedal boxes above/below the horizontal line. Default value 0.8.box-width– Width of each pedal box. Default value 0.4.box-height– Height of each pedal box. Default value 1.0.space-before-divider– Space between boxes before the first divider (so that the diagram can be made symmetric). Default value 0.8.space-after-divider– Space between boxes after the first divider. Default value 0.8.circle-thickness– Thickness (in unit of the line-thickness) of the ellipse around circled pedals. Default value 0.5.circle-x-padding– Padding in X direction of the ellipse around circled pedals. Default value 0.15.circle-y-padding– Padding in Y direction of the ellipse around circled pedals. Default value 0.2.size(number)The ratio of the size of the object to its default size.
thickness(number)For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e., the visual output is influenced by changes to
Staff.StaffSymbol.thickness).woodwind-diagram-details(alist, with symbols as keys)An alist of detailed grob properties for woodwind diagrams. Each alist entry consists of a
(property . value)pair. The properties which can be included in woodwind-diagram-details include the following:
fill-angle– Rotation angle of a partially filled key from horizontal. Default value 0.text-trill-circled– In non-graphical mode, for keys shown as text, indicate a trill by circling the text if true, or by shading the text if false. Default value #t.
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 ] | [ jump-script-interface > ] |
3.2.70 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, ApproximatePitchNoteHead, Arpeggio, BarLine, BarNumber, BassFigure, BassFigureBracket, BreakAlignGroup, BreakAlignment, BreathingSign, CaesuraScript, ChordBracket, ChordName, ChordSlur, Clef, ClefModifier, ClusterSpannerBeacon, CodaMark, CombineTextScript, CueClef, CueEndClef, Custos, Divisio, DotColumn, Dots, DoublePercentRepeat, DoublePercentRepeatCounter, DoubleRepeatSlash, DynamicText, Fingering, FingeringColumn, Flag, FretBoard, GridLine, GridPoint, InstrumentSwitch, JumpScript, KeyCancellation, KeySignature, LaissezVibrerTie, LaissezVibrerTieColumn, LeftEdge, LyricRepeatCount, LyricText, MelodyItem, MetronomeMark, NonMusicalPaperColumn, NoteCollision, NoteColumn, NoteHead, NoteName, NoteSpacing, OptionalMaterialBracket, PaperColumn, RehearsalMark, RepeatSlash, RepeatTie, RepeatTieColumn, Rest, RestCollision, Script, ScriptColumn, ScriptRow, SectionLabel, SegnoMark, SignumRepetitionis, SostenutoPedal, SpanBar, SpanBarStub, StaffEllipsis, StaffSpacing, StanzaNumber, Stem, StemStub, StemTremolo, StringNumber, StrokeFinger, SustainPedal, TabNoteHead, TextMark, TextScript, TimeSignature, TrillPitchAccidental, TrillPitchGroup, TrillPitchHead, TrillPitchParentheses and UnaCordaPedal.
In addition, this interface is supported conditionally
by the following objects depending on their class: BalloonText, ControlPoint, ControlPolygon, Footnote and Parentheses.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < item-interface ] | [ Up: Graphical Object Interfaces ] | [ key-cancellation-interface > ] |
3.2.71 jump-script-interface ¶
A jump instruction, e.g., D.S..
This grob interface is used in the following graphical object(s): JumpScript.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < jump-script-interface ] | [ Up: Graphical Object Interfaces ] | [ key-signature-interface > ] |
3.2.72 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 ] | [ kievan-ligature-interface > ] |
3.2.73 key-signature-interface ¶
A group of accidentals, to be printed as signature sign.
User-settable properties: ¶
alteration-alist(association list (list of pairs))List of
(pitch . accidental)pairs for key signature.alteration-glyph-name-alist(association list (list of pairs))An alist of key-string pairs.
flat-positions(list)Flats in key signatures are placed within the specified ranges of staff positions. The general form is a list of pairs, with one pair for each type of clef, in order of the staff position at which each clef places C:
(alto treble tenor soprano baritone mezzosoprano bass). If the list contains a single element it applies for all clefs. A single number in place of a pair sets accidentals within the octave ending at that staff position.non-default(boolean)Set for manually specified clefs and keys.
padding(dimension, in staff space)Add this much extra space between objects that are next to each other.
padding-pairs(association list (list of pairs))An alist of padding pairs for key signatures (and key cancellations). Each alist entry has the form
((left-glyph-name . right-glyph-name) . dist)specifying the padding dist between two adjacent key signature elements. If there is no entry in the alist for a given pair, the padding value given by the
paddingproperty of theKeySignature(orKeyCancellation) grob is used instead.A special feature is the handling of adjacent naturals (to be more precise, the handling of glyph
accidentals.natural): If there is no ‘natural-natural’ entry inpadding-pairsexplicitly overriding it, LilyPond adds some extra padding (in addition to the grob’spaddingvalue) to avoid collisions.sharp-positions(list)Sharps in key signatures are placed within the specified ranges of staff positions. The general form is a list of pairs, with one pair for each type of clef, in order of the staff position at which each clef places C:
(alto treble tenor soprano baritone mezzosoprano bass). If the list contains a single element it applies for all clefs. A single number in place of a pair sets accidentals within the octave ending at that staff position.
Internal properties: ¶
c0-position(integer)An integer indicating the position of middle C.
This grob interface is used in the following graphical object(s): KeyCancellation and KeySignature.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < key-signature-interface ] | [ Up: Graphical Object Interfaces ] | [ ledger-line-spanner-interface > ] |
3.2.74 kievan-ligature-interface ¶
A kievan ligature.
User-settable properties: ¶
padding(dimension, in staff space)Add this much extra space between objects that are next to each other.
Internal properties: ¶
primitive(integer)A pointer to a ligature primitive, i.e., an item similar to a note head that is part of a ligature.
This grob interface is used in the following graphical object(s): KievanLigature.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < kievan-ligature-interface ] | [ Up: Graphical Object Interfaces ] | [ ledgered-grob-interface > ] |
3.2.75 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. The
thickness of ledger lines is controlled by the ledger-line-thickness
property of the StaffSymbol grob.
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.
Internal properties: ¶
note-heads(array of grobs)An array 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 ] | [ ledgered-interface > ] |
3.2.76 ledgered-grob-interface ¶
A grob with possible ledger lines, currently Script and Custos.
User-settable properties: ¶
ledger-extra(dimension, in staff space)A distance relative to a note head’s vertical position to modify the range where ledger lines are drawn, depending on the actually used ledger line positions. If positive, this range gets extended, possibly adding extra ledger lines. If negative, the range gets reduced, possibly removing ledger lines.
ledger-positions(list)A list of vertical positions of ledger lines. Its exact behavior depends on the grob; see
StaffSymbol,NoteHead,Custos, andScript.length-fraction(number)Multiplier for lengths. Used for determining ledger lines and stem lengths.
no-ledgers(boolean)If set, don’t draw ledger lines on this object.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < ledgered-grob-interface ] | [ Up: Graphical Object Interfaces ] | [ ligature-bracket-interface > ] |
3.2.77 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, ApproximatePitchNoteHead, NoteHead and TrillPitchHead.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < ledgered-interface ] | [ Up: Graphical Object Interfaces ] | [ ligature-head-interface > ] |
3.2.78 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)For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e., the visual output is influenced by changes to
Staff.StaffSymbol.thickness).width(dimension, in staff space)The width of a grob measured in staff space.
This grob interface is not used in any graphical object.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < ligature-bracket-interface ] | [ Up: Graphical Object Interfaces ] | [ ligature-interface > ] |
3.2.79 ligature-head-interface ¶
A note head that can become part of a ligature.
This grob interface is used in the following graphical object(s): ApproximatePitchNoteHead and NoteHead.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < ligature-head-interface ] | [ Up: Graphical Object Interfaces ] | [ line-interface > ] |
3.2.80 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.81 line-interface ¶
Generic line objects. Any object using lines supports this. The property
style can be line, dashed-line, trill,
dotted-line, zigzag or none (a transparent line).
For dashed-line, the length of the dashes is tuned with
dash-fraction. If the latter is set to 0, a dotted line is
produced.
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.1and1.0(continuous line). If set to0.0, a dotted line is produceddash-period(number)The length of one dash together with whitespace. If negative, no line is drawn at all.
style(symbol)This setting determines in what style a grob is typeset. Valid choices depend on the
stencilcallback reading this property.thickness(number)For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e., the visual output is influenced by changes to
Staff.StaffSymbol.thickness).zigzag-length(dimension, in staff space)The length of the lines of a zigzag, relative to
zigzag-width. A value of1gives 60-degree zigzags.zigzag-width(dimension, in staff space)The width of one zigzag squiggle. This number is adjusted slightly so that the spanner line can be constructed from a whole number of squiggles.
This grob interface is used in the following graphical object(s): ChordSquare, DurationLine, DynamicTextSpanner, Episema, Glissando, Hairpin, HorizontalBracket, LigatureBracket, MeasureSpanner, OttavaBracket, PianoPedalBracket, TextSpanner, TrillSpanner, TupletBracket, VoiceFollower, VoltaBracket and VowelTransition.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < line-interface ] | [ Up: Graphical Object Interfaces ] | [ lyric-extender-interface > ] |
3.2.82 line-spanner-interface ¶
Generic line drawn between two objects, e.g., for use with glissandi.
bound-details is a nested alist. It’s possible to specify
settings for the sub-properties: left, left-broken,
right and right-broken.
Values for the following keys may be set:
YSets the Y coordinate of the end point, in staff-spaces offset from the staff center line. By default, it is the center of the bound object, so a glissando points to the vertical center of the note head. Not relevant for grobs having the
horizontal-line-spanner-interface.attach-dirDetermines where the line starts and ends in the X direction, relative to the bound object. So, a value of -1 (or
LEFT) makes the line start/end at the left side of the note head it is attached to.XThis is the absolute X coordinate of the end point. Usually computed on the fly.
end-on-noteIf set to true, when the line spanner is broken, each broken piece only extends to the furthest note, not to the end of the staff, on sides where it is broken.
end-on-accidentalOnly meaningful in
bound-details.right. If set to true, the line spanner stops before the accidentals if its right bound is a note column or a grob contained in a note column, and this note column has accidentals.start-at-dotOnly meaningful in
bound-details.left. If true, the line spanner starts after dots, in a fashion similar toend-on-accidental.adjust-on-neighborIf true, the
left-neighbororright-neighborobject is read, and if it exists, the line spanner starts after it or stops before it.stencilLine spanners may have symbols at the beginning or end, which is contained in this sub-property. For internal use.
textThis is a markup that is evaluated to yield the stencil.
stencil-align-dir-ystencil-offsetWithout setting one of these, the stencil is simply put at the end-point, centered on the line, as defined by the
XandYsub-properties. Settingstencil-align-dir-ymoves the symbol at the edge vertically relative to the end point of the line. Withstencil-offset, expecting a number pair, the stencil is moved along the X axis according to the first value, the second value moves the stencil along the Y axis.arrowProduces an arrowhead at the end-points of the line.
paddingControls the space between the specified end point of the line and the actual end. Without padding, a glissando would start and end in the center of each note head.
User-settable properties: ¶
bound-details(alist, with symbols as keys)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(alist, with symbols as keys)An alist of properties for determining attachments of spanners to edges.
right-bound-info(alist, with symbols as keys)An alist of properties for determining attachments of spanners to edges.
thickness(number)For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e., the visual output is influenced by changes to
Staff.StaffSymbol.thickness).to-barline(boolean)If true, the spanner will stop at the bar line just before it would otherwise stop.
Internal properties: ¶
left-neighbor(graphical (layout) object)A grob similar to this one, on its left. For columns, the right-most column that has a spacing wish for this column.
note-columns(array of grobs)An array of
NoteColumngrobs.right-neighbor(graphical (layout) object)See
left-neighbor.
This grob interface is used in the following graphical object(s): BendSpanner, FingerGlideSpanner, Glissando and VoiceFollower.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < line-spanner-interface ] | [ Up: Graphical Object Interfaces ] | [ lyric-hyphen-interface > ] |
3.2.83 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 lyric extender).
next(graphical (layout) object)Object that is next relation (e.g., the lyric syllable following an extender).
remove-short-autoextender(boolean)If set, auto-generated unbroken lyric extenders are removed if the lyric syllable stretches up to the last contained note head.
right-padding(dimension, in staff space)Space to insert on the right side of an object (e.g., between note and its accidentals).
thickness(number)For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e., the visual output is influenced by changes to
Staff.StaffSymbol.thickness).
Internal properties: ¶
auto-generated(boolean)True if the grob was created by an automatic mechanism as opposed to an explicit event. Used for lyric extenders.
heads(array of grobs)An array 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.84 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 (each unit represents half a
staff-space).minimum-distance(dimension, in staff space)Minimum distance between rest and notes or beam.
minimum-length(dimension, in staff space)Try to make a spanner at least this long, normally in the horizontal direction. This requires an appropriate callback for the
springs-and-rodsproperty. If added to aTie, this sets the minimum distance between note heads.padding(dimension, in staff space)Add this much extra space between objects that are next to each other.
thickness(number)For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e., the visual output is influenced by changes to
Staff.StaffSymbol.thickness).
This grob interface is used in the following graphical object(s): LyricHyphen and LyricSpace.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < lyric-hyphen-interface ] | [ Up: Graphical Object Interfaces ] | [ lyric-repeat-count-interface > ] |
3.2.85 lyric-interface ¶
Any object that is related to lyrics.
This grob interface is used in the following graphical object(s): LyricExtender, LyricHyphen, LyricRepeatCount and VowelTransition.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < lyric-interface ] | [ Up: Graphical Object Interfaces ] | [ lyric-space-interface > ] |
3.2.86 lyric-repeat-count-interface ¶
A repeat count intended to appear in a line of lyrics.
This grob interface is used in the following graphical object(s): LyricRepeatCount.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < lyric-repeat-count-interface ] | [ Up: Graphical Object Interfaces ] | [ lyric-syllable-interface > ] |
3.2.87 lyric-space-interface ¶
An invisible object that prevents lyric words from being spaced too closely.
This grob interface is used in the following graphical object(s): LyricSpace.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < lyric-space-interface ] | [ Up: Graphical Object Interfaces ] | [ mark-interface > ] |
3.2.88 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-counter-interface > ] |
3.2.89 mark-interface ¶
A rehearsal mark, segno, or coda sign.
This grob interface is used in the following graphical object(s): CodaMark, RehearsalMark, SegnoMark and TextMark.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < mark-interface ] | [ Up: Graphical Object Interfaces ] | [ measure-grouping-interface > ] |
3.2.90 measure-counter-interface ¶
A counter for numbering measures.
User-settable properties: ¶
count-from(integer)The first measure in a measure count receives this number. The following measures are numbered in increments from this initial value.
left-number-text(markup)For a measure counter, this is the formatted measure count. When the measure counter extends over several measures (like with compressed multi-measure rests), it is the text on the left side of the dash.
number-range-separator(markup)For a measure counter extending over several measures (like with compressed multi-measure rests), this is the separator between the two printed numbers.
right-number-text(markup)When the measure counter extends over several measures (like with compressed multi-measure rests), this is the text on the right side of the dash. Usually unset.
Internal properties: ¶
columns(array of grobs)An array of grobs, typically containing
PaperColumnorNoteColumnobjects.
This grob interface is used in the following graphical object(s): MeasureCounter.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < measure-counter-interface ] | [ Up: Graphical Object Interfaces ] | [ measure-spanner-interface > ] |
3.2.91 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)For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e., the visual output is influenced by changes to
Staff.StaffSymbol.thickness).
This grob interface is used in the following graphical object(s): MeasureGrouping.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < measure-grouping-interface ] | [ Up: Graphical Object Interfaces ] | [ melody-spanner-interface > ] |
3.2.92 measure-spanner-interface ¶
A bracket aligned to a measure or measures.
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
#fprevents printing of the bracket. Setting the property toif-no-beammakes it print only if there is no beam associated with this tuplet bracket.break-overshoot(pair of numbers)A pair of numbers specifying how much a broken spanner sticks out of its bounds horizontally on the broken side(s). For broken beams and broken tuplet brackets, the bounds are given by the prefatory matter on the left and/or the rightmost column on the right. For broken horizontal brackets, the bounds are the leftmost and/or rightmost column; for broken measure spanners, the left and/or right edge of the staff.
connect-to-neighbor(pair)Pair of booleans, indicating whether this grob looks as a continued break.
direction(direction)If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.edge-height(pair)A pair of numbers specifying the heights of the vertical edges:
(left-height . right-height).padding(dimension, in staff space)Add this much extra space between objects that are next to each other.
shorten-pair(pair of numbers)The lengths to shorten on both sides a hairpin or text-spanner such as a pedal bracket. Positive values shorten the hairpin or text-spanner, while negative values lengthen it.
spacing-pair(pair)A pair of alignment symbols which set an object’s spacing relative to its left and right
BreakAlignments.For example, a
MultiMeasureRestwill ignore prefatory items at its bounds (i.e., clefs, key signatures and time signatures) using the following override:\override MultiMeasureRest.spacing-pair = #'(staff-bar . staff-bar)staff-padding(dimension, in staff space)Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
thickness(number)For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e., the visual output is influenced by changes to
Staff.StaffSymbol.thickness).
This grob interface is used in the following graphical object(s): MeasureSpanner.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < measure-spanner-interface ] | [ Up: Graphical Object Interfaces ] | [ mensural-ligature-interface > ] |
3.2.93 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(array of grobs)An array of stem objects.
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.94 mensural-ligature-interface ¶
A mensural ligature.
User-settable properties: ¶
thickness(number)For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e., the visual output is influenced by changes to
Staff.StaffSymbol.thickness).
Internal properties: ¶
add-join(boolean)Is this ligature head-joined with the next one by a vertical line?
delta-position(number)The vertical position difference.
flexa-interval(integer)The interval spanned by the two notes of a flexa shape (1 is a second, 7 is an octave).
head-width(dimension, in staff space)The width of this ligature head.
left-down-stem(boolean)Request a downward left stem for an initial breve in a ligature.
ligature-flexa(boolean)Request joining note to the previous one in a flexa.
ligature-pes(boolean)Request drawing a final longa of a ligature turning backwards.
primitive(integer)A pointer to a ligature primitive, i.e., an item similar to a note head that is part of a ligature.
right-down-stem(boolean)Request a downward right stem for a maxima in a ligature.
right-up-stem(boolean)Request an upward right stem for a final longa or maxima in a ligature.
This grob interface is used in the following graphical object(s): ApproximatePitchNoteHead, MensuralLigature and NoteHead.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < mensural-ligature-interface ] | [ Up: Graphical Object Interfaces ] | [ multi-measure-interface > ] |
3.2.95 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.96 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, MultiMeasureRestScript and MultiMeasureRestText.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < multi-measure-interface ] | [ Up: Graphical Object Interfaces ] | [ multi-measure-rest-number-interface > ] |
3.2.97 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, expressed as a multiple of the default staff-line thickness (i.e., the visual output is not influenced by changes to
Staff.StaffSymbol.thickness).max-symbol-separation(number)The maximum distance between symbols making up a church rest.
measure-count(integer)The number of measures for a multi-measure rest.
minimum-length(dimension, in staff space)Try to make a spanner at least this long, normally in the horizontal direction. This requires an appropriate callback for the
springs-and-rodsproperty. If added to aTie, this sets the minimum distance between note heads.round-up-exceptions(list)A list of pairs where car is the numerator and cdr the denominator of a moment. Each pair in this list means that the multi-measure rests of the corresponding length will be rounded up to the longer rest. See round-up-to-longer-rest.
round-up-to-longer-rest(boolean)Displays the longer multi-measure rest when the length of a measure is between two values of
usable-duration-logs. For example, displays a breve instead of a whole in a 3/2 measure.space-increment(dimension, in staff space)The amount by which the total duration of a multi-measure rest affects horizontal spacing. Each doubling of the duration adds
space-incrementto the length of the bar.spacing-pair(pair)A pair of alignment symbols which set an object’s spacing relative to its left and right
BreakAlignments.For example, a
MultiMeasureRestwill ignore prefatory items at its bounds (i.e., clefs, key signatures and time signatures) using the following override:\override MultiMeasureRest.spacing-pair = #'(staff-bar . staff-bar)thick-thickness(number)Thickness of the thick line in a bar line, expressed as a multiple of the default staff-line thickness (i.e., the visual output is not influenced by changes to
Staff.StaffSymbol.thickness).usable-duration-logs(list)List of
duration-logs that can be used in typesetting the grob.
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 ] | [ musical-paper-column-interface > ] |
3.2.98 multi-measure-rest-number-interface ¶
Multi measure rest number that is printed over a rest.
This grob interface is used in the following graphical object(s): MultiMeasureRestNumber.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < multi-measure-rest-number-interface ] | [ Up: Graphical Object Interfaces ] | [ non-musical-paper-column-interface > ] |
3.2.99 musical-paper-column-interface ¶
A paper column that is musical. Paper columns of this variety group musical items, such as note heads, stems, dots, accidentals, …
Internal properties: ¶
grace-spacing(graphical (layout) object)A run of grace notes.
shortest-playing-duration(positive exact rational or +inf.0)The duration of the shortest note playing here.
shortest-starter-duration(positive exact rational or +inf.0)The duration of the shortest note that starts here.
This grob interface is used in the following graphical object(s): PaperColumn.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < musical-paper-column-interface ] | [ Up: Graphical Object Interfaces ] | [ note-collision-interface > ] |
3.2.100 non-musical-paper-column-interface ¶
A paper column that is non-musical. Paper columns of this variety group breakable items such as clefs, bar lines, time signatures, key signatures, breathing signs, …
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.
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(alist, with symbols as keys)An alist of subproperties to use if this column is the start of a system.
alignment-distances– A list of vertical distances between the staves of a system.bottom-padding– If set for the lowest staff of the bottommost system on a page, it specifies the distance between the bottom of the page and the lowest staff.extra-offset– A pair of horizontal and vertical offsets for the current staff, relative to either the default layout positions or the positions given with theX-offsetandY-offsetsubproperties.X-offset– Horizontal (absolute) starting point of the current staff.Y-offset– Vertical (absolute) starting point of the current staff.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.
Internal properties: ¶
break-alignment(graphical (layout) object)The
BreakAlignmentin aNonMusicalPaperColumn.
This grob interface is used in the following graphical object(s): NonMusicalPaperColumn.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < non-musical-paper-column-interface ] | [ Up: Graphical Object Interfaces ] | [ note-column-interface > ] |
3.2.101 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: ¶
fa-merge-direction(direction)If two ‘fa’ shape note heads get merged that are both listed in the
fa-stylesproperty but have different stem directions, enforce this note head direction for display.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).note-collision-threshold(dimension, in staff space)Simultaneous notes that are this close or closer in units of
staff-spacewill be identified as vertically colliding. Used byStemgrobs for notes in the same voice, andNoteCollisiongrobs for notes in different voices. Default value 1.prefer-dotted-right(boolean)For note collisions, prefer to shift dotted up-note to the right, rather than shifting just the dot.
Internal properties: ¶
fa-styles(symbol list)List of note head styles that identify ‘fa’ shape note heads.
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.102 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 down-stem voice note; if there are no down-stem voices, the width of the first up-stem voice note is taken instead. This is used by note-collision-interface.
glissando-skip(boolean)Should this
NoteHeadbe skipped by glissandi?horizontal-shift(integer)An integer that identifies ranking of
NoteColumns for horizontal shifting. This is used by note-collision-interface.ignore-collision(boolean)If set, don’t do note collision resolution on this
NoteColumn.main-extent(pair of numbers)The horizontal extent of a
NoteColumngrob without taking suspendedNoteHeadgrobs into account (i.e.,NoteHeads forced into the unnatural direction of theStembecause of a chromatic clash).
Internal properties: ¶
note-heads(array of grobs)An array of note head grobs.
rest(graphical (layout) object)A pointer to a
Restobject.rest-collision(graphical (layout) object)A rest collision that a rest is in.
stem(graphical (layout) object)A pointer to a
Stemobject.
This grob interface is used in the following graphical object(s): NoteColumn.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < note-column-interface ] | [ Up: Graphical Object Interfaces ] | [ note-name-interface > ] |
3.2.103 note-head-interface ¶
A note head. There are many possible values for style. For a complete
list, see Note head styles.
The sense of the direction property is the direction of the stem that the
head is designed to attach to. For certain glyphs, this might seem
counterintuitive. Note that stems do not adapt to forced changes in head
direction, so even when a head style has direction-dependent glyphs, proper
attachment to the stem depends on the design of the font.
User-settable properties: ¶
direction(direction)If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.duration-log(integer)The 2-log of the note head duration, i.e.,
0= whole note,1= half note, etc.glyph-name(string)The glyph name within the font.
In the context of (span) bar lines or clefs, glyph-name represents a processed form of
glyph, where decisions about line breaking, etc., are already taken.ignore-ambitus(boolean)If set, don’t consider this note head for ambitus calculation.
ledger-extra(dimension, in staff space)A distance relative to a note head’s vertical position to modify the range where ledger lines are drawn, depending on the actually used ledger line positions. If positive, this range gets extended, possibly adding extra ledger lines. If negative, the range gets reduced, possibly removing ledger lines.
ledger-positions(list)A list of vertical positions of ledger lines. Its exact behavior depends on the grob; see
StaffSymbol,NoteHead,Custos, andScript.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 note head. Each component is measured in a -1 to 1 scale so that -1 is the left/bottom edge of the note’s bounding box and 1 is the right/top edge.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(graphical (layout) object)The accidental for this note.
glyph-info(pair)A
(string . stencil)pair consisting of a glyph name and a stencil. Usually the latter will be the glyph referenced by the former in a certain font.
This grob interface is used in the following graphical object(s): AmbitusNoteHead, ApproximatePitchNoteHead, NoteHead, TabNoteHead and TrillPitchHead.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < note-head-interface ] | [ Up: Graphical Object Interfaces ] | [ note-spacing-interface > ] |
3.2.104 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 ] | [ number-interface > ] |
3.2.105 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(array of grobs)Grobs organized on the left by a spacing object.
right-items(array of grobs)Grobs organized on the right by a spacing object.
This grob interface is used in the following graphical object(s): NoteSpacing.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < note-spacing-interface ] | [ Up: Graphical Object Interfaces ] | [ optional-material-bracket-interface > ] |
3.2.106 number-interface ¶
Numbers.
User-settable properties: ¶
number-type(symbol)Numbering style. Choices include
arabic,roman-ij-lower,roman-ij-upper,roman-lower, androman-upper.
This grob interface is used in the following graphical object(s): StringNumber.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < number-interface ] | [ Up: Graphical Object Interfaces ] | [ ottava-bracket-interface > ] |
3.2.107 optional-material-bracket-interface ¶
An in-staff bracket around optional material.
User-settable properties: ¶
direction(direction)If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.positions(pair of numbers)Pair of staff coordinates
(start . end), where start and end are vertical positions instaff-spaceunits of the current staff. For slurs, this value selects which slur candidate to use; if extreme positions are requested, the closest one is taken.protrusion(number)In a bracket indicating non-arpeggio or optional material, the length of the horizontal edges.
thickness(number)For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e., the visual output is influenced by changes to
Staff.StaffSymbol.thickness).
This grob interface is used in the following graphical object(s): OptionalMaterialBracket.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < optional-material-bracket-interface ] | [ Up: Graphical Object Interfaces ] | [ outside-staff-axis-group-interface > ] |
3.2.108 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.dashed-edge(boolean)If set, the bracket edges are dashed like the rest of the bracket.
edge-height(pair)A pair of numbers specifying the heights of the vertical edges:
(left-height . right-height).minimum-length(dimension, in staff space)Try to make a spanner at least this long, normally in the horizontal direction. This requires an appropriate callback for the
springs-and-rodsproperty. If added to aTie, this sets the minimum distance between note heads.shorten-pair(pair of numbers)The lengths to shorten on both sides a hairpin or text-spanner such as a pedal bracket. Positive values shorten the hairpin or text-spanner, while negative values lengthen it.
This grob interface is used in the following graphical object(s): OttavaBracket.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < ottava-bracket-interface ] | [ Up: Graphical Object Interfaces ] | [ outside-staff-interface > ] |
3.2.109 outside-staff-axis-group-interface ¶
A vertical axis group on which outside-staff skyline calculations are done.
User-settable properties: ¶
outside-staff-placement-directive(symbol)One of four directives telling how outside staff objects should be placed.
left-to-right-greedy– Place each successive grob from left to right.left-to-right-polite– Place a grob from left to right only if it does not potentially overlap with another grob that has been placed on a pass through a grob array. If there is overlap, do another pass to determine placement.right-to-left-greedy– Same asleft-to-right-greedy, but from right to left.right-to-left-polite– Same asleft-to-right-polite, but from right to left.
Internal properties: ¶
vertical-skyline-elements(array of grobs)An array of grobs used to create vertical skylines.
This grob interface is used in the following graphical object(s): BassFigureLine, System and VerticalAxisGroup.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < outside-staff-axis-group-interface ] | [ Up: Graphical Object Interfaces ] | [ paper-column-interface > ] |
3.2.110 outside-staff-interface ¶
A grob that could be placed outside staff.
User-settable properties: ¶
outside-staff-horizontal-padding(number)By default, an outside-staff-object can be placed so that is it very close to another grob horizontally. If this property is set, the outside-staff-object is raised so that it is not so close to its neighbor.
outside-staff-padding(number)The padding to place between grobs when spacing according to
outside-staff-priority. Two grobs with differentoutside-staff-paddingvalues have the larger value of padding between them.outside-staff-priority(number)If set, the grob is positioned outside the staff in such a way as to avoid all collisions. In case of a potential collision, the grob with the smaller
outside-staff-priorityis closer to the staff.
This grob interface is used in the following graphical object(s): AccidentalSuggestion, BarNumber, BassFigureAlignmentPositioning, BendSpanner, BreathingSign, CaesuraScript, CenteredBarNumberLineSpanner, ChordName, ClefModifier, CodaMark, CombineTextScript, Divisio, DoublePercentRepeatCounter, DoubleRepeatSlash, DynamicLineSpanner, DynamicText, Fingering, FretBoard, Hairpin, HorizontalBracket, HorizontalBracketText, InstrumentSwitch, JumpScript, LigatureBracket, MeasureCounter, MeasureGrouping, MeasureSpanner, MetronomeMark, MultiMeasureRest, MultiMeasureRestNumber, MultiMeasureRestScript, MultiMeasureRestText, OttavaBracket, PercentRepeatCounter, PhrasingSlur, RehearsalMark, Script, SectionLabel, SegnoMark, Slur, SostenutoPedalLineSpanner, StringNumber, StrokeFinger, SustainPedalLineSpanner, TextMark, TextScript, TextSpanner, TrillSpanner, TupletBracket, TupletNumber, UnaCordaPedalLineSpanner and VoltaBracketSpanner.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < outside-staff-interface ] | [ Up: Graphical Object Interfaces ] | [ parentheses-interface > ] |
3.2.111 paper-column-interface ¶
Paper_column objects form the top-most X parents for items. There
are two types of columns: musical and non-musical, to which musical and
non-musical objects are attached respectively. The spacing engine determines
the X positions of these objects.
They are numbered, the first (leftmost) is column 0. Numbering happens before line breaking, and columns are not renumbered after line breaking. Since many columns go unused, you should only use the rank field to get ordering information. Two adjacent columns may have non-adjacent numbers.
The paper-column-interface implies the item-interface.
User-settable properties: ¶
labels(list)List of labels (symbols) placed on a column.
rhythmic-location(rhythmic location)Where (bar number, measure position) in the score.
used(boolean)If set, this spacing column is kept in the spacing problem.
when(moment)Global time step associated with this column.
X-alignment-extent(pair of numbers)If a grob wants to align itself on a
PaperColumngrob that doesn’t contain note heads, use this horizontal extent as a placeholder.
Internal properties: ¶
bounded-by-me(array of grobs)An array of spanners that have this column as start/begin point. Only columns that have grobs or act as bounds are spaced.
maybe-loose(boolean)Used to mark a breakable column that is loose if and only if it is in the middle of a line.
spacing(graphical (layout) object)The spacing spanner governing this section.
This grob interface is used in the following graphical object(s): NonMusicalPaperColumn and PaperColumn.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < paper-column-interface ] | [ Up: Graphical Object Interfaces ] | [ passage-delimiter-interface > ] |
3.2.112 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): Parentheses and TrillPitchParentheses.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < parentheses-interface ] | [ Up: Graphical Object Interfaces ] | [ percent-repeat-interface > ] |
3.2.113 passage-delimiter-interface ¶
Items with this interface allow overriding
break-visibility-passage-start,
break-visibility-passage-default, and
break-visibility-passage-end particularly in lieu of overriding
break-visibility. The precise meaning of ‘passage’
depends on the type of item.
The internal passage-direction property determines which
break-visibility property is used in a given instance.
See item-interface.
User-settable properties: ¶
break-visibility-passage-default(vector)The value to use for
break-visibilitywhen the item does not specifically mark the start or end of a passage. (It might be both or neither, depending on the type of item.)break-visibility-passage-end(vector)The value to use for
break-visibilitywhen the item marks the end of a passage.break-visibility-passage-start(vector)The value to use for
break-visibilitywhen the item marks the start of a passage.
Internal properties: ¶
passage-direction(direction)The placement of a
passage-delimiter-interfaceitem with respect to its passage:STARTat the start,ENDat the end, orCENTERotherwise.
This grob interface is used in the following graphical object(s): OptionalMaterialBracket and StaffEllipsis.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < passage-delimiter-interface ] | [ Up: Graphical Object Interfaces ] | [ piano-pedal-bracket-interface > ] |
3.2.114 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)For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e., the visual output is influenced by changes to
Staff.StaffSymbol.thickness).
This grob interface is used in the following graphical object(s): DoublePercentRepeat, DoubleRepeatSlash, PercentRepeat and RepeatSlash.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < percent-repeat-interface ] | [ Up: Graphical Object Interfaces ] | [ piano-pedal-interface > ] |
3.2.115 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.dashed-edge(boolean)If set, the bracket edges are dashed like the rest of the bracket.
edge-height(pair)A pair of numbers specifying the heights of the vertical edges:
(left-height . right-height).shorten-pair(pair of numbers)The lengths to shorten on both sides a hairpin or text-spanner such as a pedal bracket. Positive values shorten the hairpin or text-spanner, while negative values lengthen it.
Internal properties: ¶
pedal-text(graphical (layout) object)A pointer to the text grob 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.116 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.117 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 ] | [ pure-from-neighbor-interface > ] |
3.2.118 pitched-trill-interface ¶
A note head to indicate trill pitches.
Internal properties: ¶
accidental-grob(graphical (layout) object)The accidental for this note.
This grob interface is used in the following graphical object(s): TrillPitchHead and TrillPitchParentheses.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < pitched-trill-interface ] | [ Up: Graphical Object Interfaces ] | [ rehearsal-mark-interface > ] |
3.2.119 pure-from-neighbor-interface ¶
A collection of routines to allow for objects’ pure heights and heights to be calculated based on the heights of the objects’ neighbors.
Internal properties: ¶
neighbors(array of grobs)The X-axis neighbors of a grob. Used by the pure-from-neighbor-interface to determine various grob heights.
pure-relevant-grobs(array of grobs)All the grobs (items and spanners) that are relevant for finding the
pure-Y-extentpure-Y-common(graphical (layout) object)A cache of the
common_refpoint_of_arrayof theelementsgrob set.
This grob interface is used in the following graphical object(s): BarLine, Clef, CueClef, CueEndClef, KeyCancellation, KeySignature, SignumRepetitionis, SpanBarStub and TimeSignature.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < pure-from-neighbor-interface ] | [ Up: Graphical Object Interfaces ] | [ rest-collision-interface > ] |
3.2.120 rehearsal-mark-interface ¶
A rehearsal mark.
This grob interface is used in the following graphical object(s): RehearsalMark.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < rehearsal-mark-interface ] | [ Up: Graphical Object Interfaces ] | [ rest-interface > ] |
3.2.121 rest-collision-interface ¶
Move ordinary rests (not multi-measure nor pitched rests) to avoid conflicts.
User-settable properties: ¶
minimum-distance(dimension, in staff space)Minimum distance between rest and notes or beam.
Internal properties: ¶
elements(array of grobs)An array of grobs; the type is depending on the grob where this is set in.
positioning-done(boolean)Used to signal that a positioning element did its job. This ensures that a positioning is only done once.
This grob interface is used in the following graphical object(s): RestCollision.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < rest-collision-interface ] | [ Up: Graphical Object Interfaces ] | [ rhythmic-grob-interface > ] |
3.2.122 rest-interface ¶
A rest symbol. The property style can be default,
mensural, neomensural or classical.
User-settable properties: ¶
direction(direction)If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.minimum-distance(dimension, in staff space)Minimum distance between rest and notes or beam.
style(symbol)This setting determines in what style a grob is typeset. Valid choices depend on the
stencilcallback reading this property.voiced-position(number)The staff position of a voiced
Rest, negative if the rest hasdirectionDOWN.
This grob interface is used in the following graphical object(s): MultiMeasureRest and Rest.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < rest-interface ] | [ Up: Graphical Object Interfaces ] | [ rhythmic-head-interface > ] |
3.2.123 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): ApproximatePitchNoteHead, BassFigure, ChordName, ClusterSpannerBeacon, DoubleRepeatSlash, FretBoard, LyricText, NoteHead, RepeatSlash, Rest and TabNoteHead.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < rhythmic-grob-interface ] | [ Up: Graphical Object Interfaces ] | [ script-column-interface > ] |
3.2.124 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.glissando-skip(boolean)Should this
NoteHeadbe skipped by glissandi?
Internal properties: ¶
dot(graphical (layout) object)A reference to a
Dotsobject.stem(graphical (layout) object)A pointer to a
Stemobject.
This grob interface is used in the following graphical object(s): ApproximatePitchNoteHead, NoteHead, Rest and TabNoteHead.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < rhythmic-head-interface ] | [ Up: Graphical Object Interfaces ] | [ script-interface > ] |
3.2.125 script-column-interface ¶
An interface that sorts scripts according to their script-priority and
outside-staff-priority.
Internal properties: ¶
scripts(array of grobs)An array of
Scriptobjects.
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 ] | [ section-label-interface > ] |
3.2.126 script-interface ¶
An object that is put above or below a note.
User-settable properties: ¶
avoid-slur(symbol)Method of handling slur collisions. Choices are
inside,outside,around, andignore.insideadjusts the slur if needed to keep the grob inside the slur.outsidemoves the grob vertically to the outside of the slur.aroundmoves the grob vertically to the outside of the slur only if there is a collision.ignoredoes not move either. In grobs whose notational significance depends on vertical position (such as accidentals, clefs, etc.),outsideandaroundbehave likeignore.script-priority(number)A key for determining the order of scripts in a stack, by being added to the position of the script in the user input, the sum being the overall priority. Smaller means closer to the head.
side-relative-direction(direction)Multiply direction of
direction-sourcewith this to get the direction of this object.slur-padding(number)Extra distance between slur and script.
staff-position(number)Vertical position, measured in half staff spaces, counted from the middle line.
For ties, there is a distinction between exact and inexact values: an exact value serves as a rough vertical offset that gets further tuned to make the tie avoid staff lines. An inexact value is taken as the precise vertical offset without further adjustments.
toward-stem-shift(number)Amount by which scripts are shifted toward the stem if their direction coincides with the stem direction.
0.0means centered on the note head (the default position of most scripts);1.0means centered on the stem. Interpolated values are possible.toward-stem-shift-in-column(number)Amount by which a script is shifted toward the stem if its direction coincides with the stem direction and it is associated with a
ScriptColumnobject.0.0means centered on the note head (the default position of most scripts);1.0means centered on the stem. Interpolated values are possible.
Internal properties: ¶
direction-source(graphical (layout) object)In case
side-relative-directionis set, which grob to get the direction from.positioning-done(boolean)Used to signal that a positioning element did its job. This ensures that a positioning is only done once.
script-column(graphical (layout) object)A
ScriptColumnassociated with aScriptobject.script-stencil(pair)A pair
(type . arg)which acts as an index for looking up aStencilobject.slur(graphical (layout) object)A pointer to a
Slurobject.toe-heel-style(symbol)The style used for toe and heel glyphs of a
Scriptgrob.
This grob interface is used in the following graphical object(s): AccidentalSuggestion, CaesuraScript, DynamicText, MultiMeasureRestScript and Script.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < script-interface ] | [ Up: Graphical Object Interfaces ] | [ segno-mark-interface > ] |
3.2.127 section-label-interface ¶
A section label, e.g., “Coda”.
This grob interface is used in the following graphical object(s): SectionLabel.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < section-label-interface ] | [ Up: Graphical Object Interfaces ] | [ self-alignment-interface > ] |
3.2.128 segno-mark-interface ¶
A segno.
This grob interface is used in the following graphical object(s): SegnoMark.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < segno-mark-interface ] | [ Up: Graphical Object Interfaces ] | [ semi-tie-column-interface > ] |
3.2.129 self-alignment-interface ¶
Position this object on itself and/or on its parent. To this end, the following functions are provided:
ly:self-alignment-interface::x-aligned-on-selfly:self-alignment-interface::y-aligned-on-selfAlign self on reference point, using
self-alignment-Xandself-alignment-Y, respectively.ly:self-alignment-interface::aligned-on-x-parently:self-alignment-interface::aligned-on-y-parentAlign reference point of self with the reference point of parent. The position of the own reference point is adjusted with
self-alignment-Xandself-alignment-Y, the position of the parent’s reference point withparent-alignment-Xandparent-alignment-Y, respectively.Function
ly:self-alignment-interface::aligned-on-x-parentlistens to the propertyX-alignment-extentof thePaperColumngrob, using it as a fallback width for parent alignment in case thePaperColumngrob does not contain note heads.ly:self-alignment-interface::centered-on-x-parently:self-alignment-interface::centered-on-y-parentShift the object so its own reference point is centered on the extent of the parent.
User-settable properties: ¶
parent-alignment-X(number)Specify on which point of the parent the object is aligned. The value
-1means aligned on parent’s left edge,0on center, and1right edge, in X direction. Other numerical values may also be specified - the unit is half the parent’s width. If not a number, align on the parent’s reference point. If unset, the value fromself-alignment-Xproperty will be used.parent-alignment-Y(number)Like
parent-alignment-Xbut for the Y axis.self-alignment-X(number)Specify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified - the unit is half the object width. If not a number, align on the object’s reference point.self-alignment-Y(number)Like
self-alignment-Xbut for the Y axis.X-align-on-main-noteheads(boolean)If true, this grob will ignore suspended note heads when aligning itself on NoteColumn.
This grob interface is used in the following graphical object(s): AccidentalSuggestion, BarNumber, CaesuraScript, ClefModifier, CodaMark, CombineTextScript, DoublePercentRepeatCounter, DynamicText, Fingering, GridLine, Hairpin, HorizontalBracketText, InstrumentName, InstrumentSwitch, JumpScript, LyricRepeatCount, LyricText, MeasureCounter, MeasureSpanner, MetronomeMark, MultiMeasureRestNumber, MultiMeasureRestScript, MultiMeasureRestText, NoteName, PercentRepeatCounter, RehearsalMark, Script, SectionLabel, SegnoMark, SostenutoPedal, StemTremolo, StringNumber, StrokeFinger, SustainPedal, TextMark, TextScript and UnaCordaPedal.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < self-alignment-interface ] | [ Up: Graphical Object Interfaces ] | [ semi-tie-interface > ] |
3.2.130 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 a desired tie configuration that overrides the default. position is the offset from the center of the staff in half staff-space units, 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.There is a distinction between exact and inexact values for position: an exact value serves as a rough vertical offset that gets further tuned to make the tie avoid staff lines. An inexact value is taken as the precise vertical offset without further adjustments.
Internal properties: ¶
positioning-done(boolean)Used to signal that a positioning element did its job. This ensures that a positioning is only done once.
ties(array of grobs)A grob array of
Tieobjects.
This grob interface is used in the following graphical object(s): LaissezVibrerTieColumn and RepeatTieColumn.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < semi-tie-column-interface ] | [ Up: Graphical Object Interfaces ] | [ separation-item-interface > ] |
3.2.131 semi-tie-interface ¶
A tie that is only connected to a note head on one side.
The following properties may be set in the details list.
height-limitMaximum tie height: The longer the tie, the closer it is to this height.
ratioParameter for tie shape. The higher this number, the quicker the tie attains its
height-limit.
User-settable properties: ¶
control-points(list of number pairs)List of offsets (number pairs) that form control points for the tie, slur, or bracket shape. For Béziers, this should list the control points of a third-order Bézier curve.
details(alist, with symbols as keys)An alist of parameters for detailed grob behavior. See All layout objects for more information on the available parameters and their default values of a particular grob’s
detailsproperty. See Graphical Object Interfaces for documentation of the available parameters. Supporting interfaces can be found at the bottom of a grob’s description section.direction(direction)If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.head-direction(direction)Are the note heads left or right in a semitie?
line-thickness(number)For slurs and ties, this is the diameter of the virtual “pen” that draws the two arcs of the curve’s outline, which intersect at the endpoints. This property is expressed as a multiple of the current staff-line thickness (i.e., the visual output is influenced by changes to
Staff.StaffSymbol.thickness).thickness(number)For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e., the visual output is influenced by changes to
Staff.StaffSymbol.thickness).
Internal properties: ¶
annotation(string)Annotate a grob for debug purposes.
note-head(graphical (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.132 separation-item-interface ¶
Item that computes widths to generate spacing rods.
User-settable properties: ¶
horizontal-skylines(pair of skylines)Two skylines, one to the left and one to the right of this grob.
padding(dimension, in staff space)Add this much extra space between objects that are next to each other.
skyline-vertical-padding(number)The amount by which the left and right skylines of a column are padded vertically, beyond the
Y-extents andextra-spacing-heights of the constituent grobs in the column. Increase this to prevent interleaving of grobs from adjacent columns.X-extent(pair of numbers)Extent (size) in the X direction, measured in staff-space units, relative to object’s reference point.
Internal properties: ¶
conditional-elements(array of grobs)Internal use only.
elements(array of grobs)An array of grobs; the type is depending on the grob where this is set in.
This grob interface is used in the following graphical object(s): NonMusicalPaperColumn, NoteColumn and PaperColumn.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < separation-item-interface ] | [ Up: Graphical Object Interfaces ] | [ signum-repetitionis-interface > ] |
3.2.133 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: ¶
add-stem-support(boolean)If set, the
Stemobject is included in this script’s support.direction(direction)If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.horizon-padding(number)The amount to pad the axis along which a
Skylineis built for theside-position-interface.minimum-space(dimension, in staff space)Minimum distance that the victim should move (after padding).
minimum-X-space(dimension, in staff space)Minimum distance that the victim should move horizontally (after padding), overriding the
minimum-spaceproperty value.padding(dimension, in staff space)Add this much extra space between objects that are next to each other.
side-axis(number)If the value is
X(or equivalently0), the object is placed horizontally next to the other object. If the value isYor1, it is placed vertically.slur-padding(number)Extra distance between slur and script.
staff-padding(dimension, in staff space)Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
X-padding(dimension, in staff space)Add this much extra space between objects that are next to each other horizontally, overriding the
paddingproperty value.
Internal properties: ¶
quantize-position(boolean)If set, a vertical alignment is aligned to be within staff spaces.
side-support-elements(array of grobs)The side support, an array of grobs.
This grob interface is used in the following graphical object(s): AccidentalSuggestion, Arpeggio, BarNumber, BassFigureAlignmentPositioning, CaesuraScript, CenteredBarNumberLineSpanner, ChordBracket, ChordSlur, ClefModifier, CodaMark, CombineTextScript, DoublePercentRepeatCounter, DynamicLineSpanner, Episema, Fingering, HorizontalBracket, HorizontalBracketText, InstrumentName, InstrumentSwitch, JumpScript, MeasureCounter, MeasureGrouping, MeasureSpanner, MetronomeMark, MultiMeasureRestNumber, MultiMeasureRestScript, MultiMeasureRestText, OttavaBracket, PercentRepeatCounter, RehearsalMark, Script, SectionLabel, SegnoMark, SostenutoPedalLineSpanner, StanzaNumber, StringNumber, StrokeFinger, SustainPedalLineSpanner, SystemStartBar, SystemStartBrace, SystemStartBracket, SystemStartSquare, TextMark, TextScript, TextSpanner, TrillPitchAccidental, TrillPitchGroup, TrillSpanner, UnaCordaPedalLineSpanner, VoltaBracket and VoltaBracketSpanner.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < side-position-interface ] | [ Up: Graphical Object Interfaces ] | [ slur-interface > ] |
3.2.134 signum-repetitionis-interface ¶
An ancient repeat sign. It is printed with the same infrastructure as bar lines, but it is not a bar line.
User-settable properties: ¶
allow-span-bar(boolean)If false, no inter-staff bar line will be created below this bar line.
bar-extent(pair of numbers)The Y-extent of the actual bar line. This may differ from
Y-extentbecause it does not include the dots in a repeat bar line.gap(dimension, in staff space)Size of a gap in a variable symbol.
glyph(string)A string determining what ‘style’ of glyph is typeset. Valid choices depend on the function that is reading this property.
In combination with (span) bar lines, it is a string resembling the bar line appearance in ASCII form.
glyph-name(string)The glyph name within the font.
In the context of (span) bar lines or clefs, glyph-name represents a processed form of
glyph, where decisions about line breaking, etc., are already taken.hair-thickness(number)Thickness of the thin line in a bar line, expressed as a multiple of the default staff-line thickness (i.e., the visual output is not influenced by changes to
Staff.StaffSymbol.thickness).kern(dimension, in staff space)The space between individual elements in any compound bar line, expressed as a multiple of the default staff-line thickness (i.e., the visual output is not influenced by changes to
Staff.StaffSymbol.thickness).rounded(boolean)Decide whether lines should be drawn rounded or not.
segno-kern(number)The space between the two thin lines of the segno bar line symbol, expressed as a multiple of the default staff-line thickness (i.e., the visual output is not influenced by changes to
Staff.StaffSymbol.thickness).short-bar-extent(pair of numbers)The Y-extent of a short bar line. The default is half the normal bar extent, rounded up to an integer number of staff spaces.
thick-thickness(number)Thickness of the thick line in a bar line, expressed as a multiple of the default staff-line thickness (i.e., the visual output is not influenced by changes to
Staff.StaffSymbol.thickness).
Internal properties: ¶
has-span-bar(pair)A pair of grobs containing the span bars to be drawn below and above the staff. If no span bar is in a position, the respective element is set to
#f.
This grob interface is used in the following graphical object(s): SignumRepetitionis.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < signum-repetitionis-interface ] | [ Up: Graphical Object Interfaces ] | [ spaceable-grob-interface > ] |
3.2.135 slur-interface ¶
A slur. Slurs are formatted by trying a number of combinations of left/right
end point, and then picking the slur with the lowest demerit score. The
combinations are generated by going from the base attachments (i.e., note
heads) in the direction in half space increments until we have covered
region-size staff spaces.
The following properties may be set in the details list.
absolute-closeness-measureFactor to calculate demerit for variance between a note head and slur.
accidental-collisionFactor to calculate demerit for
Accidentalobjects that the slur encompasses. This property value replaces the value ofextra-object-collision-penalty.close-to-edge-lengthThreshold to decide whether an object to avoid is horizontally close to the slur’s edge. If it is, it doesn’t influence the slur’s height.
edge-attraction-factorFactor used to calculate the demerit for distances between slur endpoints and their corresponding base attachments.
edge-slope-exponentFactor used to calculate the demerit for the slope of a slur near its endpoints; a larger value yields a larger demerit.
encompass-object-range-overshootWiden the range of
encompass-objectpositions by this amount for computing the slur.extra-encompass-collision-distanceThis detail is currently unused.
extra-encompass-free-distanceThe amount of vertical free space that must exist between a slur and various objects it encompasses, including accidentals, fingerings, and tuplet numbers.
extra-object-collision-penaltyFactor to calculate demerit for extra objects that the slur encompasses, including accidentals, fingerings, and tuplet numbers.
free-head-distanceThe amount of vertical free space that must exist between a slur and note heads.
free-slur-distanceThe amount of vertical free space that must exist between adjacent slurs. This subproperty only works for
PhrasingSlur.gap-to-staffline-insideMinimum gap inside the curve of the slur where the slur is parallel to a staffline.
gap-to-staffline-outsideMinimum gap outside the curve of the slur where the slur is parallel to a staffline.
head-encompass-penaltyDemerit to apply when note heads collide with a slur.
head-slur-distance-factorFactor to calculate demerit for variance between a note head and slur.
head-slur-distance-max-ratioThe maximum value for the ratio of distance between a note head and slur.
max-slopeThe maximum slope allowed for this slur.
max-slope-factorFactor that calculates demerit based on the max slope. Notice that there exists a homonymous property for tuplet brackets.
non-horizontal-penaltyDemerit for slurs with attachment points that are not horizontally aligned.
region-sizeSize of region (in staff spaces) for determining potential endpoints in the Y-direction.
same-slope-penaltyDemerit for slurs with attachment points that are horizontally aligned.
slur-tie-extrema-min-distanceIf a slur starts or ends very near to or at the same position as a tie, check this threshold whether slur and tie are too close.
slur-tie-extrema-min-distance-penaltyDemerit to apply if
slur-tie-extrema-min-distancegets triggered.steeper-slope-factorFactor used to calculate demerit only if this slur is not broken.
stem-encompass-penaltyDemerit to apply when stems collide with a slur.
User-settable properties: ¶
avoid-slur(symbol)Method of handling slur collisions. Choices are
inside,outside,around, andignore.insideadjusts the slur if needed to keep the grob inside the slur.outsidemoves the grob vertically to the outside of the slur.aroundmoves the grob vertically to the outside of the slur only if there is a collision.ignoredoes not move either. In grobs whose notational significance depends on vertical position (such as accidentals, clefs, etc.),outsideandaroundbehave likeignore.control-points(list of number pairs)List of offsets (number pairs) that form control points for the tie, slur, or bracket shape. For Béziers, this should list the control points of a third-order Bézier curve.
dash-definition(pair)List of
dash-elementsdefining the dash structure. Eachdash-elementhas a starting t value, an ending t-value, adash-fraction, and adash-period.details(alist, with symbols as keys)An alist of parameters for detailed grob behavior. See All layout objects for more information on the available parameters and their default values of a particular grob’s
detailsproperty. See Graphical Object Interfaces for documentation of the available parameters. Supporting interfaces can be found at the bottom of a grob’s description section.direction(direction)If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.eccentricity(number)How asymmetrical to make a slur. Positive means move the center to the right.
height-limit(dimension, in staff space)Maximum slur height: The longer the slur, the closer it is to this height.
inspect-quants(pair of numbers)If debugging is set, set beam and slur position to a (quantized) position that is as close as possible to this value, and print the demerits for the inspected position in the output.
line-thickness(number)For slurs and ties, this is the diameter of the virtual “pen” that draws the two arcs of the curve’s outline, which intersect at the endpoints. This property is expressed as a multiple of the current staff-line thickness (i.e., the visual output is influenced by changes to
Staff.StaffSymbol.thickness).positions(pair of numbers)Pair of staff coordinates
(start . end), where start and end are vertical positions instaff-spaceunits of the current staff. For slurs, this value selects which slur candidate to use; if extreme positions are requested, the closest one is taken.ratio(number)Parameter for slur shape. The higher this number, the quicker the slur attains its
height-limit.thickness(number)For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e., the visual output is influenced by changes to
Staff.StaffSymbol.thickness).
Internal properties: ¶
annotation(string)Annotate a grob for debug purposes.
encompass-objects(array of grobs)Objects that a slur should avoid in addition to notes and stems.
note-columns(array of grobs)An array of
NoteColumngrobs.
This grob interface is used in the following graphical object(s): PhrasingSlur and Slur.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < slur-interface ] | [ Up: Graphical Object Interfaces ] | [ spacing-interface > ] |
3.2.136 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(positive moment with no grace part)Length of a measure. Used in some spacing situations.
Internal properties: ¶
ideal-distances(list)
(obj . (dist . strength))pairs.left-neighbor(graphical (layout) object)A grob similar to this one, on its left. For columns, the right-most column that has a spacing wish for this column.
minimum-distances(list)A list of rods that have the format
(obj . dist).right-neighbor(graphical (layout) object)See
left-neighbor.spacing-wishes(array of grobs)An array of note spacing or staff spacing objects.
This grob interface is used in the following graphical object(s): NonMusicalPaperColumn and PaperColumn.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < spaceable-grob-interface ] | [ Up: Graphical Object Interfaces ] | [ spacing-options-interface > ] |
3.2.137 spacing-interface ¶
This object calculates the desired and minimum distances between two columns.
Internal properties: ¶
left-items(array of grobs)Grobs organized on the left by a spacing object.
right-items(array of grobs)Grobs organized on the right by a spacing object.
This grob interface is used in the following graphical object(s): NoteSpacing and StaffSpacing.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < spacing-interface ] | [ Up: Graphical Object Interfaces ] | [ spacing-spanner-interface > ] |
3.2.138 spacing-options-interface ¶
Supports setting of spacing variables.
User-settable properties: ¶
shortest-duration-space(number)Start with this multiple of
spacing-incrementspace for the shortest duration. See also spacing-spanner-interface.spacing-increment(dimension, in staff space)The unit of length for note-spacing. 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.139 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
proportional 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(number)Start with this multiple of
spacing-incrementspace for the shortest duration. See also spacing-spanner-interface.spacing-increment(dimension, in staff space)The unit of length for note-spacing. 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 for the main notes.
strict-note-spacing(boolean)If set, unbroken columns with non-musical material (clefs, bar lines, etc.) are not spaced separately, but put before musical columns.
uniform-stretching(boolean)If set, items stretch proportionally to their natural separation based on durations. This looks better in complex polyphonic patterns.
This grob interface is used in the following graphical object(s): SpacingSpanner.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < spacing-spanner-interface ] | [ Up: Graphical Object Interfaces ] | [ span-bar-stub-interface > ] |
3.2.140 span-bar-interface ¶
A bar line that is spanned between other bar lines. This interface is used for bar lines that connect different staves.
User-settable properties: ¶
glyph-name(string)The glyph name within the font.
In the context of (span) bar lines or clefs, glyph-name represents a processed form of
glyph, where decisions about line breaking, etc., are already taken.
Internal properties: ¶
elements(array of grobs)An array of grobs; the type is depending on the grob where this is set in.
pure-relevant-grobs(array of grobs)All the grobs (items and spanners) that are relevant for finding the
pure-Y-extentpure-relevant-items(array of grobs)A subset of elements that are relevant for finding the
pure-Y-extent.pure-relevant-spanners(array of grobs)A subset of elements that are relevant for finding the
pure-Y-extent.pure-Y-common(graphical (layout) object)A cache of the
common_refpoint_of_arrayof theelementsgrob set.
This grob interface is used in the following graphical object(s): SpanBar.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < span-bar-interface ] | [ Up: Graphical Object Interfaces ] | [ spanner-interface > ] |
3.2.141 span-bar-stub-interface ¶
A stand-in for a bar line that is used when engraving span bars. This is an internal interface even though some of its properties are documented as user properties.
User-settable properties: ¶
allow-span-bar(boolean)If false, no inter-staff bar line will be created below this bar line.
Internal properties: ¶
allow-span-bar-above(boolean)If false, no inter-staff bar line will be created above this item.
has-span-bar(pair)A pair of grobs containing the span bars to be drawn below and above the staff. If no span bar is in a position, the respective element is set to
#f.
This grob interface is used in the following graphical object(s): SpanBarStub.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < span-bar-stub-interface ] | [ Up: Graphical Object Interfaces ] | [ staff-ellipsis-interface > ] |
3.2.142 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 note heads.minimum-length-after-break(dimension, in staff space)If set, try to make a broken spanner starting a line this long. This requires an appropriate callback for the
springs-and-rodsproperty. If added to aTie, this sets the minimum distance to the note head.normalized-endpoints(pair)Represents left and right placement over the total spanner, where the width of the spanner is normalized between 0 and 1.
spanner-id(index or symbol)An identifier to distinguish concurrent spanners.
to-barline(boolean)If true, the spanner will stop at the bar line just before it would otherwise stop.
Internal properties: ¶
spanner-broken(boolean)Indicates whether spanner alignment should be broken after the current spanner.
This grob interface is used in the following graphical object(s): BassFigureAlignment, BassFigureAlignmentPositioning, BassFigureContinuation, BassFigureLine, Beam, BendAfter, BendSpanner, CenteredBarNumber, CenteredBarNumberLineSpanner, ChordSquare, ClusterSpanner, DurationLine, DynamicLineSpanner, DynamicTextSpanner, Episema, FingerGlideSpanner, Glissando, GraceSpacing, GridChordName, Hairpin, HorizontalBracket, HorizontalBracketText, InstrumentName, KievanLigature, LedgerLineSpanner, LigatureBracket, LyricExtender, LyricHyphen, LyricSpace, MeasureCounter, MeasureGrouping, MeasureSpanner, MensuralLigature, MultiMeasureRest, MultiMeasureRestNumber, MultiMeasureRestScript, MultiMeasureRestText, OttavaBracket, PercentRepeat, PercentRepeatCounter, PhrasingSlur, PianoPedalBracket, Slur, SostenutoPedalLineSpanner, SpacingSpanner, StaffGrouper, StaffHighlight, StaffSymbol, SustainPedalLineSpanner, System, SystemStartBar, SystemStartBrace, SystemStartBracket, SystemStartSquare, TextSpanner, Tie, TieColumn, TrillSpanner, TupletBracket, TupletNumber, UnaCordaPedalLineSpanner, VaticanaLigature, VerticalAlignment, VerticalAxisGroup, VoiceFollower, VoltaBracket, VoltaBracketSpanner and VowelTransition.
In addition, this interface is supported conditionally
by the following objects depending on their class: BalloonText, ControlPoint, ControlPolygon, Footnote and Parentheses.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < spanner-interface ] | [ Up: Graphical Object Interfaces ] | [ staff-grouper-interface > ] |
3.2.143 staff-ellipsis-interface ¶
A visual marker (usually three consecutive dots) to indicate that typesetting of music is skipped.
This grob interface is used in the following graphical object(s): StaffEllipsis.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < staff-ellipsis-interface ] | [ Up: Graphical Object Interfaces ] | [ staff-highlight-interface > ] |
3.2.144 staff-grouper-interface ¶
A grob that collects staves together.
User-settable properties: ¶
staff-staff-spacing(alist, with symbols as keys)When applied to a staff-group’s
StaffGroupergrob, this spacing alist controls the distance between consecutive staves within the staff-group. When applied to a staff’sVerticalAxisGroupgrob, it controls the distance between the staff and the nearest staff below it in the same system, replacing any settings inherited from theStaffGroupergrob of the containing staff-group, if there is one. This property remains in effect even when non-staff lines appear between staves. The alist can contain the following keys:
basic-distance– the vertical distance, measured in staff-spaces, between the reference points of the two items when no collisions would result, and no stretching or compressing is in effect.minimum-distance– the smallest allowable vertical distance, measured in staff-spaces, between the reference points of the two items, when compressing is in effect.padding– the minimum required amount of unobstructed vertical whitespace between the bounding boxes (or skylines) of the two items, measured in staff-spaces.stretchability– a unitless measure of the dimension’s relative propensity to stretch. If zero, the distance will not stretch (unless collisions would result).staffgroup-staff-spacing(alist, with symbols as keys)The spacing alist controlling the distance between the last staff of the current staff-group and the staff just below it in the same system, even if one or more non-staff lines exist between the two staves. If the
staff-staff-spacingproperty of the staff’sVerticalAxisGroupgrob is set, that is used instead. Seestaff-staff-spacingfor a description of the alist structure.
This grob interface is used in the following graphical object(s): StaffGrouper.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < staff-grouper-interface ] | [ Up: Graphical Object Interfaces ] | [ staff-spacing-interface > ] |
3.2.145 staff-highlight-interface ¶
A colored span to highlight a music passage.
User-settable properties: ¶
bound-prefatory-paddings(pair of numbers)For a highlight, the amount of padding to insert at a bound from a prefatory item that is not a bar line.
shorten-pair(pair of numbers)The lengths to shorten on both sides a hairpin or text-spanner such as a pedal bracket. Positive values shorten the hairpin or text-spanner, while negative values lengthen it.
Internal properties: ¶
columns(array of grobs)An array of grobs, typically containing
PaperColumnorNoteColumnobjects.elements(array of grobs)An array of grobs; the type is depending on the grob where this is set in.
This grob interface is used in the following graphical object(s): StaffHighlight.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < staff-highlight-interface ] | [ Up: Graphical Object Interfaces ] | [ staff-symbol-interface > ] |
3.2.146 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.147 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: ¶
break-align-symbols(list)A list of break-align symbols that determines which breakable items to align this to. If the grob selected by the first symbol in the list is invisible due to
break-visibility, we will align to the next grob (and so on). Choices are listed in Grobs and their break-align symbols.ledger-extra(dimension, in staff space)A distance relative to a note head’s vertical position to modify the range where ledger lines are drawn, depending on the actually used ledger line positions. If positive, this range gets extended, possibly adding extra ledger lines. If negative, the range gets reduced, possibly removing ledger lines.
ledger-line-thickness(pair of numbers)The thickness of ledger lines. It is the sum of two numbers: The first is the factor for line thickness, and the second for staff space. Both contributions are added.
ledger-positions(list)A list of vertical positions of ledger lines. Its exact behavior depends on the grob; see
StaffSymbol,NoteHead,Custos, andScript.ledger-positions-function(any type)A quoted Scheme procedure that takes a
StaffSymbolgrob and the vertical position of a note head as arguments and returns a list of ledger line positions.line-count(integer)The number of staff lines.
line-positions(list)Vertical positions of staff lines.
staff-space(dimension, in staff space)Amount of space between staff lines, expressed in global
staff-space.thickness(number)For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e., the visual output is influenced by changes to
Staff.StaffSymbol.thickness).widened-extent(pair of numbers)The vertical extent that a bar line on a certain staff symbol should have. If the staff symbol is small (e.g., has just one line, as in a
RhythmicStaff, this is wider than the staff symbol’s Y extent.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.148 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.
For ties, there is a distinction between exact and inexact values: an exact value serves as a rough vertical offset that gets further tuned to make the tie avoid staff lines. An inexact value is taken as the precise vertical offset without further adjustments.
This grob interface is used in the following graphical object(s): AmbitusNoteHead, ApproximatePitchNoteHead, Arpeggio, Beam, ChordBracket, ChordSlur, Clef, CueClef, CueEndClef, 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.149 stanza-number-interface ¶
A stanza number, to be put in from of a lyrics line.
Internal properties: ¶
begin-of-line-visible(boolean)Set to make
ChordNameorFretBoardbe visible only at beginning of line or at chord changes; also used for stanza reminders in lyrics.is-reminder(boolean)Is this stanza number a stanza reminder?
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.150 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-extreme-minimum-free-lengthsList of extreme minimum free stem lengths (chord to beams) given beam multiplicity.
beamed-lengthsList of stem lengths given beam multiplicity.
beamed-minimum-free-lengthsList of normal minimum free stem lengths (chord to beams) given beam multiplicity.
lengthsDefault stem lengths. The list gives a length for each flag count. If a list entry is a pair, it gives the stem length for the specific up and down stem, respectively.
stem-shortenHow much a stem in a forced direction should be shortened. The list gives an amount depending on the number of flags and beams.
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.
details(alist, with symbols as keys)An alist of parameters for detailed grob behavior. See All layout objects for more information on the available parameters and their default values of a particular grob’s
detailsproperty. See Graphical Object Interfaces for documentation of the available parameters. Supporting interfaces can be found at the bottom of a grob’s description section.direction(direction)If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.double-stem-separation(number)The distance between the two stems of a half note in tablature when using
\tabFullNotation, not counting the width of the stems themselves, expressed as a multiple of the default height of a staff-space in the traditional five-line staff.duration-log(integer)The 2-log of the note head duration, i.e.,
0= whole note,1= half note, etc.french-beaming(boolean)Use French beaming style for this stem. The stem stops at the innermost beams.
length(dimension, in staff space)User override for the stem length of unbeamed stems (each unit represents half a
staff-space).length-fraction(number)Multiplier for lengths. Used for determining ledger lines and stem lengths.
max-beam-connect(integer)Maximum number of beams to connect to beams from this stem. Further beams are typeset as beamlets.
neutral-direction(direction)Which direction to take in the center of the staff.
no-stem-extend(boolean)If set, notes with ledger lines do not get stems extending to the middle staff line.
note-collision-threshold(dimension, in staff space)Simultaneous notes that are this close or closer in units of
staff-spacewill be identified as vertically colliding. Used byStemgrobs for notes in the same voice, andNoteCollisiongrobs for notes in different voices. Default value 1.stem-begin-position(number)User override for the begin position of a stem.
stemlet-length(number)How long should be a stem over a rest?
thickness(number)For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e., the visual output is influenced by changes to
Staff.StaffSymbol.thickness).
Internal properties: ¶
beam(graphical (layout) object)A pointer to the beam, if applicable.
flag(graphical (layout) object)A pointer to a
Flagobject.french-beaming-stem-adjustment(dimension, in staff space)Stem will be shortened by this amount of space in case of French beaming style.
melody-spanner(graphical (layout) object)The
MelodyItemobject for a stem.note-heads(array of grobs)An array of note head grobs.
positioning-done(boolean)Used to signal that a positioning element did its job. This ensures that a positioning is only done once.
rests(array of grobs)An array of rest objects.
stem-info(pair)A cache of stem parameters.
tremolo-flag(graphical (layout) object)The tremolo object on a stem.
This grob interface is used in the following graphical object(s): Stem.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < stem-interface ] | [ Up: Graphical Object Interfaces ] | [ sticky-grob-interface > ] |
3.2.151 stem-tremolo-interface ¶
A beam slashing a stem to indicate a tremolo. The property shape can be
beam-like 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.
direction(direction)If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.flag-count(number)The number of tremolo beams.
length-fraction(number)Multiplier for lengths. Used for determining ledger lines and stem lengths.
shape(symbol)This setting determines what shape a grob has. Valid choices depend on the
stencilcallback reading this property.slope(number)The slope of this object.
style(symbol)This setting determines in what style a grob is typeset. Valid choices depend on the
stencilcallback reading this property.
Internal properties: ¶
stem(graphical (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 ] | [ string-number-interface > ] |
3.2.152 sticky-grob-interface ¶
A grob that is attached to another grob. Grobs type having this interface can be either items or spanners, depending on the class of their host. Sticky spanners implicitly take their bounds from the host.
Internal properties: ¶
sticky-host(graphical (layout) object)The grob that a sticky grob attaches to.
This grob interface is used in the following graphical object(s): BalloonText, ControlPoint, ControlPolygon, Footnote and Parentheses.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < sticky-grob-interface ] | [ Up: Graphical Object Interfaces ] | [ stroke-finger-interface > ] |
3.2.153 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.154 stroke-finger-interface ¶
A right hand finger instruction.
User-settable properties: ¶
digit-names(vector)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.155 system-interface ¶
This is the top-level object: Each object in a score ultimately has a
System object as its X and Y parent.
The system-interface implies the spanner-interface.
User-settable properties: ¶
labels(list)List of labels (symbols) placed on a column.
page-number(number)Page number on which this system ends up.
rank-on-page(number)0-based index of the system on a page.
Internal properties: ¶
all-elements(array of grobs)An array of all grobs in this line. Its function is to protect objects from being garbage collected.
columns(array of grobs)An array of grobs, typically containing
PaperColumnorNoteColumnobjects.footnote-stencil(stencil)The stencil of a system’s footnotes.
footnotes-after-line-breaking(array of grobs)Footnote grobs of a broken system.
footnotes-before-line-breaking(array of grobs)Footnote grobs of a whole system.
in-note-direction(direction)Direction to place in-notes above a system.
in-note-stencil(stencil)The stencil of a system’s in-notes.
in-note-system-padding(number)Padding between in-note and its associated system.
pure-Y-extent(pair of numbers)The estimated height of a system.
vertical-alignment(graphical (layout) object)The
VerticalAlignmentin aSystem.
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.156 system-start-delimiter-interface ¶
The brace, bracket or bar in front of the system. The following values for
style are recognized:
bracketA thick bracket, normally used to group similar instruments in a score. Default for
StaffGroup.SystemStartBracketuses this style.braceA ‘piano style’ brace normally used for an instrument that uses two staves. The default style for
GrandStaff.SystemStartBraceuses this style.bar-lineA simple line between the staves in a score. Default for staves enclosed in
<<and>>.SystemStartBaruses this style.line-bracketA 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)For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e., the visual output is influenced by changes to
Staff.StaffSymbol.thickness).
This grob interface is used in the following graphical object(s): SystemStartBar, SystemStartBrace, SystemStartBracket and SystemStartSquare.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < system-start-delimiter-interface ] | [ Up: Graphical Object Interfaces ] | [ tab-note-head-interface > ] |
3.2.157 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 - the unit is half the object width. If not a number, align on the object’s reference point.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.158 tab-note-head-interface ¶
A note head in tablature.
The following properties may be set in the details list.
cautionary-propertiesAn alist to format cautionaries (usually parentheses enclosing the number) with the following elements.
angularityHow much the parentheses should become angular.
half-thicknessThe maximum thickness of a parenthesis.
paddingThe padding between the parentheses and the enclosed number.
procedureA function to handle cautionaries, taking the other four elements of the
cautionary-propertiesalist as arguments.widthThe maximum horizontal extent of a parenthesis.
harmonic-propertiesAn alist to format harmonics (usually parentheses enclosing the number) with the following elements.
angularityHow much the parentheses should become angular.
half-thicknessThe maximum thickness of a parenthesis.
paddingThe padding between the parentheses and the enclosed number.
procedureA function to handle harmonics, taking the other four elements of the
harmonic-propertiesalist as arguments.widthThe maximum horizontal extent of a parenthesis.
head-offsetMove all tablature numbers horizontally. The value is given as a multiple of a single-digit number width.
tied-propertiesAn alist with the following elements.
tiedKeep track whether a
Tieends at this note.repeat-tiedDoes this note hold a
RepeatTie?'repeat-tiedis also set if the note is part of a chord with setRepeatTie.note-head-visibleIf set to
#t, show a number for a note with\repeatTieor a note ending aTie.parenthesizeIf set to
#t, parenthesize the number for a tied note after a line break.
User-settable properties: ¶
details(alist, with symbols as keys)An alist of parameters for detailed grob behavior. See All layout objects for more information on the available parameters and their default values of a particular grob’s
detailsproperty. See Graphical Object Interfaces for documentation of the available parameters. Supporting interfaces can be found at the bottom of a grob’s description section.parenthesized(boolean)Parenthesize this grob.
Internal properties: ¶
span-start(boolean)Is the note head at the start of a spanner?
This grob interface is used in the following graphical object(s): TabNoteHead.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < tab-note-head-interface ] | [ Up: Graphical Object Interfaces ] | [ text-mark-interface > ] |
3.2.159 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.
flag-style(symbol)The style of flags to be displayed within markups (via
\note-by-number). Available are'modern-straight-flag,'old-straight-flag,'flat-flag,'mensural,'stacked, and'default.replacement-alist(association list (list of pairs))Alist of strings. The key is a string of the pattern to be replaced. The value is a string of what should be displayed. Useful for ligatures.
text(markup)Text markup. See 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): BalloonText, BarNumber, BassFigure, BendSpanner, BreathingSign, CenteredBarNumber, ChordName, ClefModifier, CodaMark, CombineTextScript, ControlPoint, ControlPolygon, Divisio, DoublePercentRepeatCounter, DynamicText, DynamicTextSpanner, Fingering, Footnote, GridChordName, HorizontalBracketText, InstrumentName, InstrumentSwitch, JumpScript, LyricRepeatCount, LyricText, MeasureCounter, MeasureSpanner, MetronomeMark, MultiMeasureRestNumber, MultiMeasureRestText, NoteName, OttavaBracket, PercentRepeatCounter, RehearsalMark, SectionLabel, SegnoMark, SostenutoPedal, StaffEllipsis, StanzaNumber, StringNumber, StrokeFinger, SustainPedal, TabNoteHead, TextMark, TextScript, TupletNumber, UnaCordaPedal and VoltaBracket.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < text-interface ] | [ Up: Graphical Object Interfaces ] | [ text-script-interface > ] |
3.2.160 text-mark-interface ¶
A textual mark.
This grob interface is used in the following graphical object(s): TextMark.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < text-mark-interface ] | [ Up: Graphical Object Interfaces ] | [ tie-column-interface > ] |
3.2.161 text-script-interface ¶
An object that is put above or below a note.
User-settable properties: ¶
avoid-slur(symbol)Method of handling slur collisions. Choices are
inside,outside,around, andignore.insideadjusts the slur if needed to keep the grob inside the slur.outsidemoves the grob vertically to the outside of the slur.aroundmoves the grob vertically to the outside of the slur only if there is a collision.ignoredoes not move either. In grobs whose notational significance depends on vertical position (such as accidentals, clefs, etc.),outsideandaroundbehave likeignore.script-priority(number)A key for determining the order of scripts in a stack, by being added to the position of the script in the user input, the sum being the overall priority. Smaller means closer to the head.
Internal properties: ¶
slur(graphical (layout) object)A pointer to a
Slurobject.
This grob interface is used in the following graphical object(s): BendSpanner, CombineTextScript, Fingering, StringNumber, StrokeFinger and TextScript.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < text-script-interface ] | [ Up: Graphical Object Interfaces ] | [ tie-interface > ] |
3.2.162 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 a desired tie configuration that overrides the default. position is the offset from the center of the staff in half staff-space units, 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.There is a distinction between exact and inexact values for position: an exact value serves as a rough vertical offset that gets further tuned to make the tie avoid staff lines. An inexact value is taken as the precise vertical offset without further adjustments.
Internal properties: ¶
positioning-done(boolean)Used to signal that a positioning element did its job. This ensures that a positioning is only done once.
ties(array of grobs)A grob array of
Tieobjects.
This grob interface is used in the following graphical object(s): TieColumn.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < tie-column-interface ] | [ Up: Graphical Object Interfaces ] | [ time-signature-interface > ] |
3.2.163 tie-interface ¶
A tie – a horizontal curve connecting two noteheads.
The following properties may be set in the details list.
between-length-limitThis detail is currently unused.
center-staff-line-clearanceIf the center of the tie is closer to a staff line than this amount, an increasingly large staff line collision penalty is incurred.
dot-collision-clearanceIf the tie comes closer to a dot than this amount, an increasingly large dot collision penalty is incurred.
dot-collision-penaltyDemerit factor for ties which come close to dots.
height-limitThe maximum height allowed for this tie.
horizontal-distance-penalty-factorDemerit factor for ties in the set being considered which are horizontally distant from the note heads.
intra-space-thresholdIf the tie’s height (in half staff-spaces) is less than this it is positioned between two adjacent staff lines; otherwise it is positioned to straddle a staff line further from the note heads.
min-lengthIf the tie is shorter than this amount (in staff-spaces) an increasingly large length penalty is incurred.
min-length-penalty-factorDemerit factor for tie lengths shorter than
min-length.multi-tie-region-sizeThe number of variations that are tried for the extremal ties in a chord. Variations differ in their initial vertical position by half a staff-space.
note-head-gapThe distance (in staff-spaces) by which the ends of the tie are offset horizontally from the center line through the note head.
outer-tie-length-symmetry-penalty-factorDemerit factor for ties horizontally positioned unsymmetrically with respect to the two note heads.
outer-tie-vertical-distance-symmetry-penalty-factorDemerit factor for ties vertically positioned unsymmetrically with respect to the two note heads.
outer-tie-vertical-gapAmount (in half staff-spaces) by which a tie is moved away from the note heads if it is closer to either of them than 0.25 half staff-spaces.
ratioParameter for tie shape. The higher this number, the quicker the slur attains its height limit.
same-dir-as-stem-penaltyDemerit if tie is on the same side as a stem or on the opposite side to the one specified.
single-tie-region-sizeThe number of candidate ties to generate when only a single tie is required. Successive candidates differ in their initial vertical position by half a staff-space.
skyline-paddingPadding of the skylines around note heads in chords.
staff-line-collision-penaltyDemerit factor for ties whose tips or center come close to staff lines.
stem-gapThe distance (in staff-spaces) by which the ends of the tie are offset horizontally from a stem which is on the same side of the note head as the tie.
tie-column-monotonicity-penaltyDemerit if the Y-position of this tie in the set of ties being considered is less than the Y-position of the previous tie.
tie-tie-collision-distanceIf this tie is closer than this amount to the previous tie in the set being considered, an increasingly large tie-tie collision penalty is incurred.
tie-tie-collision-penaltyDemerit factor for a tie in the set being considered which is close to the previous one.
tip-staff-line-clearanceIf the tips of the tie are closer to a staff line than this amount, an increasingly large staff-line collision penalty is incurred.
vertical-distance-penalty-factorDemerit factor for ties in the set being considered which are vertically distant from the note heads.
wrong-direction-offset-penaltyDemerit for ties that are offset in the wrong direction.
User-settable properties: ¶
avoid-slur(symbol)Method of handling slur collisions. Choices are
inside,outside,around, andignore.insideadjusts the slur if needed to keep the grob inside the slur.outsidemoves the grob vertically to the outside of the slur.aroundmoves the grob vertically to the outside of the slur only if there is a collision.ignoredoes not move either. In grobs whose notational significance depends on vertical position (such as accidentals, clefs, etc.),outsideandaroundbehave likeignore.control-points(list of number pairs)List of offsets (number pairs) that form control points for the tie, slur, or bracket shape. For Béziers, this should list the control points of a third-order Bézier curve.
dash-definition(pair)List of
dash-elementsdefining the dash structure. Eachdash-elementhas a starting t value, an ending t-value, adash-fraction, and adash-period.details(alist, with symbols as keys)An alist of parameters for detailed grob behavior. See All layout objects for more information on the available parameters and their default values of a particular grob’s
detailsproperty. See Graphical Object Interfaces for documentation of the available parameters. Supporting interfaces can be found at the bottom of a grob’s description section.direction(direction)If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.head-direction(direction)Are the note heads left or right in a semitie?
line-thickness(number)For slurs and ties, this is the diameter of the virtual “pen” that draws the two arcs of the curve’s outline, which intersect at the endpoints. This property is expressed as a multiple of the current staff-line thickness (i.e., the visual output is influenced by changes to
Staff.StaffSymbol.thickness).neutral-direction(direction)Which direction to take in the center of the staff.
staff-position(number)Vertical position, measured in half staff spaces, counted from the middle line.
For ties, there is a distinction between exact and inexact values: an exact value serves as a rough vertical offset that gets further tuned to make the tie avoid staff lines. An inexact value is taken as the precise vertical offset without further adjustments.
thickness(number)For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e., the visual output is influenced by changes to
Staff.StaffSymbol.thickness).
Internal properties: ¶
annotation(string)Annotate a grob for debug purposes.
This grob interface is used in the following graphical object(s): LaissezVibrerTie, RepeatTie and Tie.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < tie-interface ] | [ Up: Graphical Object Interfaces ] | [ trill-pitch-accidental-interface > ] |
3.2.164 time-signature-interface ¶
A time signature, in different styles. The following values of
style are recognized:
C4/4 and 2/2 are typeset as C and cut-C signs, respectively. Alternating time signatures involving just these fractions (e.g., 2/2 + 2/2) are typeset with multiple of these signs without intervening plus signs. All other time signatures are written as numbers.
defaultEquivalent to
C.mensural2/2, 3/2, 2/4, 3/4, 4/4, 6/4, 9/4, 4/8, 6/8, and 9/8 are typeset with mensuration signs. All other time signatures are written as numbers.
neomensural2/2, 3/2, 2/4, 3/4, 4/4, 6/4, 9/4, 4/8, 6/8, and 9/8 are typeset with mensuration signs in the neomensural style. All other time signatures are written as numbers.
numberedAll time signatures are typeset as numbers.
single-numberBasic time signatures, n/d, are written as only n. Subdivided or alternating time signatures are written in full.
When style allows printing denominators, denominator-style can
alter them. The following values are recognized:
noneDo not print denominators.
notePrint denominators as a note and dots when exact representation is possible; otherwise print them as numbers.
numberPrint denominators as numbers. This is the default.
When the denominator is a note, note-flag-style and
note-head-style control its appearance, and
note-dots-direction and note-staff-position control its
placement.
The fraction property has been superseded by time-signature. By
default, getting fraction returns the value of time-signature
reduced to a fraction. Setting fraction has no effect.
User-settable properties: ¶
denominator-style(symbol)The style of denominators in a time signature.
fraction(pair of numbers)A fraction.
nested-fraction-mixed(boolean)Whether a fractional term of a time signature is printed as a mixed number (e.g., ‘2 1/2’) or as a common fraction (e.g., ‘5/2’).
nested-fraction-orientation(symbol)A symbol describing the orientation of a fractional part of a time signature.
nested-fraction-relative-font-size(number)The font size of a numeral in a fractional term of a time signature, relative to size of the whole numbers.
note-dots-direction(direction)Whether the augmentation dots are shifted up or down (or not shifted) relative to the note head in a number-over-note time signature.
note-flag-style(symbol)The style of the flags in a number-over-note time signature. See
flag-style.note-head-style(symbol)The style of the note head in a number-over-note time signature. See Note head styles.
note-staff-position(number)The position of the note in a number-over-note time signature. See
staff-position.senza-misura-stencil(stencil)The symbol to print when
TimeSignature.time-signatureis not set. OverridingTimeSignature.stencilcircumvents this.style(symbol)This setting determines in what style a grob is typeset. Valid choices depend on the
stencilcallback reading this property.time-signature(time signature)A time-signature specification. See the
\timecommand.
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.165 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.166 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.167 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: ¶
avoid-scripts(boolean)If set, a tuplet bracket avoids the scripts associated with the note heads it encompasses.
bracket-flare(pair of numbers)A pair of numbers specifying how much edges of brackets should slant outward. Value
0.0means straight edges.bracket-visibility(boolean or symbol)This controls the visibility of the tuplet bracket. Setting it to
#fprevents printing of the bracket. Setting the property toif-no-beammakes it print only if there is no beam associated with this tuplet bracket.break-overshoot(pair of numbers)A pair of numbers specifying how much a broken spanner sticks out of its bounds horizontally on the broken side(s). For broken beams and broken tuplet brackets, the bounds are given by the prefatory matter on the left and/or the rightmost column on the right. For broken horizontal brackets, the bounds are the leftmost and/or rightmost column; for broken measure spanners, the left and/or right edge of the staff.
connect-to-neighbor(pair)Pair of booleans, indicating whether this grob looks as a continued break.
dash-definition(pair)List of
dash-elementsdefining the dash structure. Eachdash-elementhas a starting t value, an ending t-value, adash-fraction, and adash-period.dashed-edge(boolean)If set, the bracket edges are dashed like the rest of the bracket.
direction(direction)If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.edge-height(pair)A pair of numbers specifying the heights of the vertical edges:
(left-height . right-height).edge-text(pair)A pair specifying the texts to be set at the edges:
(left-text . right-text).full-length-padding(number)How much padding to use at the right side of a full-length tuplet bracket.
full-length-to-extent(boolean)Run to the extent of the column for a full-length tuplet bracket.
gap(dimension, in staff space)Size of a gap in a variable symbol.
max-slope-factor(non-negative number)Factor for calculating the maximum tuplet bracket slope. Notice that there exists a homonymous property for slurs.
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
(start . end), where start and end are vertical positions instaff-spaceunits of the current staff. For slurs, this value selects which slur candidate to use; if extreme positions are requested, the closest one is taken.shorten-pair(pair of numbers)The lengths to shorten on both sides a hairpin or text-spanner such as a pedal bracket. Positive values shorten the hairpin or text-spanner, while negative values lengthen it.
span-all-note-heads(boolean)If true, tuplet brackets are printed spanning horizontally from the first to the last note head instead of covering only the stems.
staff-padding(dimension, in staff space)Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
thickness(number)For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e., the visual output is influenced by changes to
Staff.StaffSymbol.thickness).tuplet-slur(boolean)Draw a slur instead of a bracket for tuplets.
visible-over-note-heads(boolean)This prints a tuplet bracket when the bracket is set to be over the note heads. This option can be combined with the default tuplet bracket visibility style and with
#'if-no-beam.X-positions(pair of numbers)Pair of X staff coordinates of a spanner in the form
(left . right), where both left and right are instaff-spaceunits of the current staff.
Internal properties: ¶
beam(graphical (layout) object)A pointer to the beam, if applicable.
note-columns(array of grobs)An array of
NoteColumngrobs.potential-beam(graphical (layout) object)For tuplet brackets, a grob to use as parallel beam unless the tuplet is broken.
scripts(array of grobs)An array of
Scriptobjects.tuplet-number(graphical (layout) object)The number for a bracket.
tuplets(array of grobs)An array of smaller tuplet brackets.
This grob interface is used in the following graphical object(s): LigatureBracket and TupletBracket.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < tuplet-bracket-interface ] | [ Up: Graphical Object Interfaces ] | [ unbreakable-spanner-interface > ] |
3.2.168 tuplet-number-interface ¶
The number for a bracket.
User-settable properties: ¶
avoid-slur(symbol)Method of handling slur collisions. Choices are
inside,outside,around, andignore.insideadjusts the slur if needed to keep the grob inside the slur.outsidemoves the grob vertically to the outside of the slur.aroundmoves the grob vertically to the outside of the slur only if there is a collision.ignoredoes not move either. In grobs whose notational significance depends on vertical position (such as accidentals, clefs, etc.),outsideandaroundbehave likeignore.direction(direction)If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.knee-to-beam(boolean)Determines whether a tuplet number will be positioned next to a kneed beam.
Internal properties: ¶
bracket(graphical (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.169 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, DurationLine and Glissando.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < unbreakable-spanner-interface ] | [ Up: Graphical Object Interfaces ] | [ volta-bracket-interface > ] |
3.2.170 vaticana-ligature-interface ¶
A vaticana style Gregorian ligature.
User-settable properties: ¶
glyph-name(string)The glyph name within the font.
In the context of (span) bar lines or clefs, glyph-name represents a processed form of
glyph, where decisions about line breaking, etc., are already taken.thickness(number)For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e., the visual output is influenced by changes to
Staff.StaffSymbol.thickness).
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
staff-spaceunits).head-x-offset(dimension, in staff space)Extra horizontal offset for ligature heads.
This grob interface is used in the following graphical object(s): ApproximatePitchNoteHead, NoteHead and VaticanaLigature.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < vaticana-ligature-interface ] | [ Up: Graphical Object Interfaces ] | [ volta-interface > ] |
3.2.171 volta-bracket-interface ¶
Volta bracket with number.
User-settable properties: ¶
dashed-edge(boolean)If set, the bracket edges are dashed like the rest of the bracket.
height(dimension, in staff space)Height of an object in
staff-spaceunits.musical-length(non-negative moment with no grace part)Musical length.
range-collapse-threshold(non-negative, exact integer)If the length of a volta range is greater than or equal to this threshold, print it with a dash. For example, if this is 3, a
\volta 1,2,3is printed as ‘1.-3.’, but if it is 4, it is printed as ‘1.2.3.’.shorten-pair(pair of numbers)The lengths to shorten on both sides a hairpin or text-spanner such as a pedal bracket. Positive values shorten the hairpin or text-spanner, while negative values lengthen it.
thickness(number)For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e., the visual output is influenced by changes to
Staff.StaffSymbol.thickness).volta-number-offset(pair of numbers)The offset of the volta number relative to the upper left corner of the volta bracket.
Internal properties: ¶
bars-left(array of grobs)An array of bar line pointers for the left side of a volta bracket.
bars-right(array of grobs)An array of bar line pointers for the right side of a volta bracket.
volta-numbers(number list)List of volta numbers.
This grob interface is used in the following graphical object(s): VoltaBracket.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < volta-bracket-interface ] | [ Up: Graphical Object Interfaces ] | [ User backend properties > ] |
3.2.172 volta-interface ¶
A volta repeat.
This grob interface is used in the following graphical object(s): VoltaBracket and VoltaBracketSpanner.
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < volta-interface ] | [ Up: Backend ] | [ Internal backend properties > ] |
3.3 User backend properties ¶
accidental-padding(number)Property used by Beam to avoid accidentals in whole-note tremolos.
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(association list (list of pairs))List of
(pitch . accidental)pairs for key signature.alteration-glyph-name-alist(association list (list of pairs))An alist of key-string pairs.
annotation-balloon(boolean)Print the balloon around an annotation.
annotation-line(boolean)Print the line from an annotation to the grob that it annotates.
arpeggio-direction(direction)If set, put an arrow on the arpeggio squiggly line.
arrow-length(number)Arrow length.
arrow-width(number)Arrow width.
auto-knee-gap(dimension, in staff space)If a gap is found between note heads where a horizontal beam fits and it is larger than this number, make a kneed beam.
automatically-numbered(boolean)If set, footnotes are automatically numbered.
average-spacing-wishes(boolean)If set, the spacing wishes are averaged over staves.
avoid-note-head(boolean)If set, the stem of a chord does not pass through all note heads, but starts at the last note head.
avoid-scripts(boolean)If set, a tuplet bracket avoids the scripts associated with the note heads it encompasses.
avoid-slur(symbol)Method of handling slur collisions. Choices are
inside,outside,around, andignore.insideadjusts the slur if needed to keep the grob inside the slur.outsidemoves the grob vertically to the outside of the slur.aroundmoves the grob vertically to the outside of the slur only if there is a collision.ignoredoes not move either. In grobs whose notational significance depends on vertical position (such as accidentals, clefs, etc.),outsideandaroundbehave likeignore.axes(list)List of axis numbers. In the case of alignment grobs, this should contain only one number.
bar-extent(pair of numbers)The Y-extent of the actual bar line. This may differ from
Y-extentbecause it does not include the dots in a repeat bar line.base-shortest-duration(moment)Spacing is based on the shortest notes in a piece. Normally, pieces are spaced as if notes at least as short as this are present.
baseline-skip(dimension, in staff space)Distance between base lines of multiple lines of text.
beam-thickness(dimension, in staff space)Beam thickness, measured in
staff-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.
bend-me(boolean)Decide whether this grob is bent.
between-cols(pair)Where to attach a loose column to.
bound-details(alist, with symbols as keys)An alist of properties for determining attachments of spanners to edges.
bound-padding(number)The amount of padding to insert around spanner bounds.
bound-prefatory-paddings(pair of numbers)For a highlight, the amount of padding to insert at a bound from a prefatory item that is not a bar line.
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
#fprevents printing of the bracket. Setting the property toif-no-beammakes it print only if there is no beam associated with this tuplet bracket.break-align-anchor(number)Grobs aligned to this breakable item will have their X-offsets shifted by this number. In bar lines, for example, this is used to position grobs relative to the (visual) center of the bar line.
break-align-anchor-alignment(number)Read by
ly:break-aligned-interface::calc-extent-aligned-anchorfor aligning an anchor to a grob’s extent.break-align-orders(vector)This is a vector of 3 lists:
#(end-of-line unbroken start-of-line). Each list contains break-align symbols that specify an order of breakable items (see Grobs and their break-align symbols and break-alignment-interface).For example, this places time signatures before clefs:
\override Score.BreakAlignment.break-align-orders = #(make-vector 3 '(left-edge cue-end-clef ambitus breathing-sign time-signature clef cue-clef staff-bar key-cancellation key-signature custos))The same result can be achieved more conveniently by:
\breakAlignInsert time-signature before clef
break-align-symbol(symbol)This key is used for aligning, ordering, and spacing breakable items. See break-alignment-interface.
break-align-symbols(list)A list of break-align symbols that determines which breakable items to align this to. If the grob selected by the first symbol in the list is invisible due to
break-visibility, we will align to the next grob (and so on). Choices are listed in Grobs and their break-align symbols.break-overshoot(pair of numbers)A pair of numbers specifying how much a broken spanner sticks out of its bounds horizontally on the broken side(s). For broken beams and broken tuplet brackets, the bounds are given by the prefatory matter on the left and/or the rightmost column on the right. For broken horizontal brackets, the bounds are the leftmost and/or rightmost column; for broken measure spanners, the left and/or right edge of the staff.
break-visibility(vector)A vector of 3 booleans,
#(end-of-line unbroken begin-of-line).#tmeans visible,#fmeans killed.break-visibility-passage-default(vector)The value to use for
break-visibilitywhen the item does not specifically mark the start or end of a passage. (It might be both or neither, depending on the type of item.)break-visibility-passage-end(vector)The value to use for
break-visibilitywhen the item marks the end of a passage.break-visibility-passage-start(vector)The value to use for
break-visibilitywhen the item marks the start of a passage.breakable(boolean)Allow breaks here.
broken-bound-padding(number)The amount of padding to insert when a spanner is broken at a line break.
chord-dots-limit(integer)Limits the column of dots on each chord to the height of the chord plus
chord-dots-limitstaff positions.circled-tip(boolean)Put a circle at start/end of hairpins (al/del niente).
clef-alignments(alist, with symbols as keys)An alist of parent-alignments that should be used for clef modifiers with various clefs
clip-edges(boolean)Allow outward pointing beamlets at the edges of beams?
collapse-height(dimension, in staff space)Minimum height of system start delimiter. If equal or smaller, the bracket/brace/line is removed.
collision-interfaces(list)A list of interfaces for which automatic beam-collision resolution is run.
collision-voice-only(boolean)Avoid beam collisions only with grobs of the voice in which the beam was created.
color(color)The color of this grob.
common-shortest-duration(moment)The most common shortest note length. This is used in spacing. Enlarging this sets the score tighter.
concaveness(number)A beam is concave if its inner stems are closer to the beam than the two outside stems. This number is a measure of the closeness of the inner stems. It is used for damping the slope of the beam.
connect-to-neighbor(pair)Pair of booleans, indicating whether this grob looks as a continued break.
control-points(list of number pairs)List of offsets (number pairs) that form control points for the tie, slur, or bracket shape. For Béziers, this should list the control points of a third-order Bézier curve.
count-from(integer)The first measure in a measure count receives this number. The following measures are numbered in increments from this initial value.
damping(number)Amount of beam slope damping.
dash-definition(pair)List of
dash-elementsdefining the dash structure. Eachdash-elementhas a starting t value, an ending t-value, adash-fraction, and adash-period.dash-fraction(number)Size of the dashes, relative to
dash-period. Should be between0.1and1.0(continuous line). If set to0.0, a dotted line is produceddash-period(number)The length of one dash together with whitespace. If negative, no line is drawn at all.
dashed-edge(boolean)If set, the bracket edges are dashed like the rest of the bracket.
default-direction(direction)Direction determined by note head positions.
default-staff-staff-spacing(list)The settings to use for
staff-staff-spacingwhen it is unset, for ungrouped staves and for grouped staves that do not have the relevantStaffGrouperproperty set (staff-staff-spacingorstaffgroup-staff-spacing).denominator-style(symbol)The style of denominators in a time signature.
details(alist, with symbols as keys)An alist of parameters for detailed grob behavior. See All layout objects for more information on the available parameters and their default values of a particular grob’s
detailsproperty. See Graphical Object Interfaces for documentation of the available parameters. Supporting interfaces can be found at the bottom of a grob’s description section.digit-names(vector)Names for string finger digits.
direction(direction)If
side-axisis0(orX), then this property determines whether the object is placedLEFT,CENTERorRIGHTwith respect to the other object. Otherwise, it determines whether the object is placedUP,CENTERorDOWN. Numerical values may also be used:UP=1,DOWN=-1,LEFT=-1,RIGHT=1,CENTER=0.dot-count(integer)The number of dots.
dot-negative-kern(number)The space to remove between a dot and a slash in percent repeat glyphs. Larger values bring the two elements closer together.
dot-placement-list(list)List consisting of
(description string-number fret-number finger-number)entries used to define fret diagrams.double-stem-separation(number)The distance between the two stems of a half note in tablature when using
\tabFullNotation, not counting the width of the stems themselves, expressed as a multiple of the default height of a staff-space in the traditional five-line staff.duration-log(integer)The 2-log of the note head duration, i.e.,
0= whole note,1= half note, etc.eccentricity(number)How asymmetrical to make a slur. Positive means move the center to the right.
edge-height(pair)A pair of numbers specifying the heights of the vertical edges:
(left-height . right-height).edge-text(pair)A pair specifying the texts to be set at the edges:
(left-text . right-text).endpoint-alignments(pair of numbers)A pair of numbers representing the alignments of an object’s endpoints. E.g., the ends of a hairpin relative to
NoteColumngrobs.expand-limit(integer)Maximum number of measures expanded in church rests.
extra-dy(number)Slope glissandi this much extra.
extra-offset(pair of numbers)A pair representing an offset. This offset is added just before outputting the symbol, so the typesetting engine is completely oblivious to it. The values are measured in
staff-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).extroversion(number)For polygons, how the thickness of the line is spread on each side of the exact polygon with ideal zero thickness. If this is 0, the middle of line is on the polygon. If 1, the line sticks out of the polygon. If -1, the outer side of the line is exactly on the polygon. Other numeric values are interpolated.
fa-merge-direction(direction)If two ‘fa’ shape note heads get merged that are both listed in the
fa-stylesproperty but have different stem directions, enforce this note head direction for display.filled(boolean)Whether an object is filled with ink.
flag-count(number)The number of tremolo beams.
flag-style(symbol)The style of flags to be displayed within markups (via
\note-by-number). Available are'modern-straight-flag,'old-straight-flag,'flat-flag,'mensural,'stacked, and'default.flat-positions(list)Flats in key signatures are placed within the specified ranges of staff positions. The general form is a list of pairs, with one pair for each type of clef, in order of the staff position at which each clef places C:
(alto treble tenor soprano baritone mezzosoprano bass). If the list contains a single element it applies for all clefs. A single number in place of a pair sets accidentals within the octave ending at that staff position.font-encoding(symbol)The font encoding is the broadest category for selecting a font. Currently, only LilyPond’s system fonts (Emmentaler) are using this property. Available values are
fetaMusic(Emmentaler),fetaBraces,fetaText(Emmentaler).font-family(symbol)The font family is the broadest category for selecting text fonts. Options include
serif,sansandtypewriter.font-features(list)Opentype features.
font-name(string)This property is kept for backwards compatibility only. Use the
fontsproperty instead.font-series(symbol)Select the series of a font. Common choices are
normalandbold. The full list of symbols that can be used is:thin,ultralight(orextralight),light,semilight(ordemilight),book,normal(orregular),medium,semibold(ordemibold),bold,ultrabold(orextrabold),heavy(orblack), andultraheavy(orultrablackorextrablack).font-shape(symbol)Select the shape of a font. Possible values are
upright,italic,oblique, andslanted(which is the same asoblique).font-size(number)The font size, compared to the ‘normal’ size.
0is style-sheet’s normal size,-1is smaller,+1is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. If the context propertyfontSizeis set, its value is added to this before the glyph is printed. Fractional values are allowed.font-stretch(symbol)Select a condensed or expanded font, if available in the font family. Possible values are
ultra-condensed,extra-condensed,condensed,semi-condensed,normal,semi-expanded,expanded,extra-expanded, andultra-expanded.font-variant(symbol)Select the variant of a font. Choices include
normalandsmall-caps.fonts(alist, with symbols as keys)An alist mapping font families to font names. The standard font families are
music,serif,sansandtypewriter.footnote(boolean)Should this be a footnote or in-note?
footnote-music(music)Music creating a footnote.
footnote-text(markup)A footnote for the grob.
force-hshift(number)This specifies a manual shift for notes in collisions. The unit is the note head width of the first down-stem voice note; if there are no down-stem voices, the width of the first up-stem voice note is taken instead. This is used by note-collision-interface.
forced-spacing(number)Spacing forced between grobs, used in various ligature engravers.
fraction(pair of numbers)A fraction.
french-beaming(boolean)Use French beaming style for this stem. The stem stops at the innermost beams.
fret-diagram-details(alist, with symbols as keys)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.barre-thickness– Thickness of barre line, in multiples ofdot-radius. Only defined forbarre-type=straight. Default value 1.
capo-thickness– Thickness of capo indicator, in multiples of fret-space. Default value 0.5.dot-color– Color of dots. Options includeblackandwhite. Defaultblack.dot-label-font-mag– Magnification for font used to label fret dots. Default value 1.dot-position– Location of dot in fret space. Default 0.6 for dots without labels, 0.95-dot-radiusfor dots with labels.dot-radius– Radius of dots, in terms of fret spaces. Default value 0.425 for labeled dots, 0.25 for unlabeled dots.finger-code– Code for the type of fingering indication used. Options includenone,in-dot, andbelow-string. Defaultnonefor markup fret diagrams,below-stringforFretBoardsfret diagrams.fret-count– The number of frets. Default 4.fret-distance– Multiplier to adjust the distance between frets. Default 1.0.fret-label-custom-format– The format string to be used label the lowest fret number, whennumber-typeequals tocustom. Default "~a".fret-label-font-mag– The magnification of the font used to label the lowest fret number. Default 0.5.fret-label-vertical-offset– The offset of the fret label from the center of the fret in direction parallel to strings. Default 0.fret-label-horizontal-offset– The offset of the fret label from the center of the fret in direction orthogonal to strings. Default 0.handedness– Print the fret-diagram left- or right-handed.-1,LEFTfor left ;1,RIGHTfor right. DefaultRIGHT.paren-padding– The padding for the parenthesis. Default 0.05.label-dir– Side to which the fret label is attached.-1,LEFT, orDOWNfor left or down;1,RIGHT, orUPfor right or up. DefaultRIGHT.mute-string– Character string to be used to indicate muted string. Default"x".number-type– Type of numbers to use in fret label. Choices includearabic,roman-ij-lower,roman-ij-upper,roman-lower,roman-upper,arabicandcustom. In the last case, the format string is supplied by thefret-label-custom-formatproperty. Defaultroman-lower.open-string– Character string to be used to indicate open string. Default"o".orientation– Orientation of fret-diagram. Options includenormal,landscape, andopposing-landscape. Defaultnormal.string-count– The number of strings. Default 6.string-distance– Multiplier to adjust the distance between strings. Default 1.0.string-label-font-mag– The magnification of the font used to label fingerings at the string, rather than in the dot. Default value 0.6 fornormalorientation, 0.5 forlandscapeandopposing-landscape.string-overhang– Extension of string lines beyond last fret line, in multiples offret-distance. Default value 1.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 ‘floating’ beams in a two-stem tremolo.
glissando-skip(boolean)Should this
NoteHeadbe skipped by glissandi?glyph(string)A string determining what ‘style’ of glyph is typeset. Valid choices depend on the function that is reading this property.
In combination with (span) bar lines, it is a string resembling the bar line appearance in ASCII form.
glyph-left(string)The
glyphvalue to use at the end of the line when the line is broken.#findicates that no glyph should be visible; otherwise the value must be a string.glyph-name(string)The glyph name within the font.
In the context of (span) bar lines or clefs, glyph-name represents a processed form of
glyph, where decisions about line breaking, etc., are already taken.glyph-right(string)The
glyphvalue to use at the beginning of the line when the line is broken.#findicates that no glyph should be visible; otherwise the value must be a string.graphical(boolean)Display in graphical (vs. text) form.
grow-direction(direction)Crescendo or decrescendo?
hair-thickness(number)Thickness of the thin line in a bar line, expressed as a multiple of the default staff-line thickness (i.e., the visual output is not influenced by changes to
Staff.StaffSymbol.thickness).harp-pedal-details(alist, with symbols as keys)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.
hide-tied-accidental-after-break(boolean)If set, an accidental that appears on a tied note after a line break will not be displayed.
horizon-padding(number)The amount to pad the axis along which a
Skylineis built for theside-position-interface.horizontal-shift(integer)An integer that identifies ranking of
NoteColumns for horizontal shifting. This is used by note-collision-interface.horizontal-skylines(pair of skylines)Two skylines, one to the left and one to the right of this grob.
id(string)An id string for the grob.
ignore-ambitus(boolean)If set, don’t consider this note head for ambitus calculation.
ignore-collision(boolean)If set, don’t do note collision resolution on this
NoteColumn.implicit(boolean)Is this an implicit bass figure?
inspect-quants(pair of numbers)If debugging is set, set beam and slur position to a (quantized) position that is as close as possible to this value, and print the demerits for the inspected position in the output.
keep-inside-line(boolean)If set, this column cannot have objects sticking into the margin.
kern(dimension, in staff space)The space between individual elements in any compound bar line, expressed as a multiple of the default staff-line thickness (i.e., the visual output is not influenced by changes to
Staff.StaffSymbol.thickness).knee(boolean)Is this beam kneed?
knee-spacing-correction(number)Factor for the optical correction amount for kneed beams. Set between
0for no correction and1for full correction.knee-to-beam(boolean)Determines whether a tuplet number will be positioned next to a kneed beam.
labels(list)List of labels (symbols) placed on a column.
layer(integer)An integer which determines the order of printing objects. Objects with the lowest value of layer are drawn first, then objects with progressively higher values are drawn, so objects with higher values overwrite objects with lower values. By default most objects are assigned a layer value of 1.
ledger-extra(dimension, in staff space)A distance relative to a note head’s vertical position to modify the range where ledger lines are drawn, depending on the actually used ledger line positions. If positive, this range gets extended, possibly adding extra ledger lines. If negative, the range gets reduced, possibly removing ledger lines.
ledger-line-thickness(pair of numbers)The thickness of ledger lines. It is the sum of two numbers: The first is the factor for line thickness, and the second for staff space. Both contributions are added.
ledger-positions(list)A list of vertical positions of ledger lines. Its exact behavior depends on the grob; see
StaffSymbol,NoteHead,Custos, andScript.ledger-positions-function(any type)A quoted Scheme procedure that takes a
StaffSymbolgrob and the vertical position of a note head as arguments and returns a list of ledger line positions.left-bound-info(alist, with symbols as keys)An alist of properties for determining attachments of spanners to edges.
left-number-text(markup)For a measure counter, this is the formatted measure count. When the measure counter extends over several measures (like with compressed multi-measure rests), it is the text on the left side of the dash.
left-padding(dimension, in staff space)The amount of space that is put left to an object (e.g., a lyric extender).
length(dimension, in staff space)User override for the stem length of unbeamed stems (each unit represents half a
staff-space).length-fraction(number)Multiplier for lengths. Used for determining ledger lines and stem lengths.
line-break-penalty(number)Penalty for a line break at this column. This affects the choices of the line breaker; it avoids a line break at a column with a positive penalty and prefers a line break at a column with a negative penalty.
line-break-permission(symbol)Instructs the line breaker on whether to put a line break at this column. Can be
forceorallow.line-break-system-details(alist, with symbols as keys)An alist of subproperties to use if this column is the start of a system.
alignment-distances– A list of vertical distances between the staves of a system.bottom-padding– If set for the lowest staff of the bottommost system on a page, it specifies the distance between the bottom of the page and the lowest staff.extra-offset– A pair of horizontal and vertical offsets for the current staff, relative to either the default layout positions or the positions given with theX-offsetandY-offsetsubproperties.X-offset– Horizontal (absolute) starting point of the current staff.Y-offset– Vertical (absolute) starting point of the current staff.
line-count(integer)The number of staff lines.
line-positions(list)Vertical positions of staff lines.
line-thickness(number)For slurs and ties, this is the diameter of the virtual “pen” that draws the two arcs of the curve’s outline, which intersect at the endpoints. This property is expressed as a multiple of the current staff-line thickness (i.e., the visual output is influenced by changes to
Staff.StaffSymbol.thickness).long-text(markup)Text markup. See Formatting text.
main-extent(pair of numbers)The horizontal extent of a
NoteColumngrob without taking suspendedNoteHeadgrobs into account (i.e.,NoteHeads forced into the unnatural direction of theStembecause of a chromatic clash).max-beam-connect(integer)Maximum number of beams to connect to beams from this stem. Further beams are typeset as beamlets.
max-slope-factor(non-negative number)Factor for calculating the maximum tuplet bracket slope. Notice that there exists a homonymous property for slurs.
max-symbol-separation(number)The maximum distance between symbols making up a church rest.
maximum-gap(number)Maximum value allowed for
gapproperty.measure-count(integer)The number of measures for a multi-measure rest.
measure-division(number list)A list representing what fraction of the measure length each chord name takes in a chord square. The list is made of exact numbers between 0 and 1, which should add up to 1. Example: a measure
c2 g4 g4results in'(1/2 1/4 1/4).measure-division-chord-placement-alist(association list (list of pairs))An alist mapping measure divisions (see the
measure-divisionproperty) to lists of coordinates (number pairs) applied to the chord names of a chord square. Coordinates are normalized between -1 and 1 within the square.measure-division-lines-alist(association list (list of pairs))An alist mapping measure divisions (see the
measure-divisionproperty) to lists of lines to draw in the square, given as 4-element lists:(x-start y-start x-end y-end).measure-length(positive moment with no grace part)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-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 note heads.minimum-length-after-break(dimension, in staff space)If set, try to make a broken spanner starting a line this long. This requires an appropriate callback for the
springs-and-rodsproperty. If added to aTie, this sets the minimum distance to the note head.minimum-length-fraction(number)Minimum length of ledger line as fraction of note head size.
minimum-space(dimension, in staff space)Minimum distance that the victim should move (after padding).
minimum-X-extent(pair of numbers)Minimum size of an object in X dimension, measured in
staff-spaceunits.minimum-X-space(dimension, in staff space)Minimum distance that the victim should move horizontally (after padding), overriding the
minimum-spaceproperty value.minimum-Y-extent(pair of numbers)Minimum size of an object in Y dimension, measured in
staff-spaceunits.musical-length(non-negative moment with no grace part)Musical length.
nested-fraction-mixed(boolean)Whether a fractional term of a time signature is printed as a mixed number (e.g., ‘2 1/2’) or as a common fraction (e.g., ‘5/2’).
nested-fraction-orientation(symbol)A symbol describing the orientation of a fractional part of a time signature.
nested-fraction-relative-font-size(number)The font size of a numeral in a fractional term of a time signature, relative to size of the whole numbers.
neutral-direction(direction)Which direction to take in the center of the staff.
neutral-position(number)Position (in half staff spaces) where to flip the direction of custos stem.
next(graphical (layout) object)Object that is next relation (e.g., the lyric syllable following an extender).
no-ledgers(boolean)If set, don’t draw ledger lines on this object.
no-stem-extend(boolean)If set, notes with ledger lines do not get stems extending to the middle staff line.
non-break-align-symbols(list)A list of symbols that determine which NON-break-aligned interfaces to align this to.
non-default(boolean)Set for manually specified clefs and keys.
non-musical(boolean)True if the grob belongs to a
NonMusicalPaperColumn.nonstaff-nonstaff-spacing(alist, with symbols as keys)The spacing alist controlling the distance between the current non-staff line and the next non-staff line in the direction of
staff-affinity, if both are on the same side of the related staff, andstaff-affinityis eitherUPorDOWN. Seestaff-staff-spacingfor a description of the alist structure.nonstaff-relatedstaff-spacing(alist, with symbols as keys)The spacing alist controlling the distance between the current non-staff line and the nearest staff in the direction of
staff-affinity, if there are no non-staff lines between the two, andstaff-affinityis eitherUPorDOWN. Ifstaff-affinityisCENTER, thennonstaff-relatedstaff-spacingis used for the nearest staves on both sides, even if other non-staff lines appear between the current one and either of the staves. Seestaff-staff-spacingfor a description of the alist structure.nonstaff-unrelatedstaff-spacing(alist, with symbols as keys)The spacing alist controlling the distance between the current non-staff line and the nearest staff in the opposite direction from
staff-affinity, if there are no other non-staff lines between the two, andstaff-affinityis eitherUPorDOWN. Seestaff-staff-spacingfor a description of the alist structure.normalized-endpoints(pair)Represents left and right placement over the total spanner, where the width of the spanner is normalized between 0 and 1.
note-collision-threshold(dimension, in staff space)Simultaneous notes that are this close or closer in units of
staff-spacewill be identified as vertically colliding. Used byStemgrobs for notes in the same voice, andNoteCollisiongrobs for notes in different voices. Default value 1.note-dots-direction(direction)Whether the augmentation dots are shifted up or down (or not shifted) relative to the note head in a number-over-note time signature.
note-flag-style(symbol)The style of the flags in a number-over-note time signature. See
flag-style.note-head-style(symbol)The style of the note head in a number-over-note time signature. See Note head styles.
note-names(vector)Vector of strings containing names for easy-notation note heads.
note-staff-position(number)The position of the note in a number-over-note time signature. See
staff-position.number-range-separator(markup)For a measure counter extending over several measures (like with compressed multi-measure rests), this is the separator between the two printed numbers.
number-type(symbol)Numbering style. Choices include
arabic,roman-ij-lower,roman-ij-upper,roman-lower, androman-upper.output-attributes(association list (list of pairs))An alist of attributes for the grob, to be included in output files. When the SVG typesetting backend is used, the attributes are assigned to a group (
<g>) containing all of the stencils that comprise a given grob. For example,'((id . 123) (class . foo) (data-whatever . "bar"))
produces
<g id="123" class="foo" data-whatever="bar"> ... </g>
In the PostScript backend, where there is no way to group items, the setting of the
output-attributesproperty has no effect.outside-staff-horizontal-padding(number)By default, an outside-staff-object can be placed so that is it very close to another grob horizontally. If this property is set, the outside-staff-object is raised so that it is not so close to its neighbor.
outside-staff-padding(number)The padding to place between grobs when spacing according to
outside-staff-priority. Two grobs with differentoutside-staff-paddingvalues have the larger value of padding between them.outside-staff-placement-directive(symbol)One of four directives telling how outside staff objects should be placed.
left-to-right-greedy– Place each successive grob from left to right.left-to-right-polite– Place a grob from left to right only if it does not potentially overlap with another grob that has been placed on a pass through a grob array. If there is overlap, do another pass to determine placement.right-to-left-greedy– Same asleft-to-right-greedy, but from right to left.right-to-left-polite– Same asleft-to-right-polite, but from right to left.
outside-staff-priority(number)If set, the grob is positioned outside the staff in such a way as to avoid all collisions. In case of a potential collision, the grob with the smaller
outside-staff-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(association list (list of pairs))An alist of padding pairs for key signatures (and key cancellations). Each alist entry has the form
((left-glyph-name . right-glyph-name) . dist)
specifying the padding dist between two adjacent key signature elements. If there is no entry in the alist for a given pair, the padding value given by the
paddingproperty of theKeySignature(orKeyCancellation) grob is used instead.A special feature is the handling of adjacent naturals (to be more precise, the handling of glyph
accidentals.natural): If there is no ‘natural-natural’ entry inpadding-pairsexplicitly overriding it, LilyPond adds some extra padding (in addition to the grob’spaddingvalue) to avoid collisions.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-number(number)Page number on which this system ends up.
page-turn-penalty(number)Penalty for a page turn at this column. This affects the choices of the page breaker; it avoids a page turn at a column with a positive penalty and prefers a page turn at a column with a negative penalty.
page-turn-permission(symbol)Instructs the page breaker on whether to put a page turn at this column. Can be
forceorallow.parent-alignment-X(number)Specify on which point of the parent the object is aligned. The value
-1means aligned on parent’s left edge,0on center, and1right edge, in X direction. Other numerical values may also be specified - the unit is half the parent’s width. If not a number, align on the parent’s reference point. If unset, the value fromself-alignment-Xproperty will be used.parent-alignment-Y(number)Like
parent-alignment-Xbut for the Y axis.parenthesis-friends(list)A list of Grob types, as symbols. When parentheses enclose a Grob that has ’parenthesis-friends, the parentheses widen to include any child Grobs with type among ’parenthesis-friends.
parenthesis-id(symbol)When parenthesized grobs created in the same time step have this property, there is one set of parentheses for each group of grobs having the same value.
parenthesized(boolean)Parenthesize this grob.
positions(pair of numbers)Pair of staff coordinates
(start . end), where start and end are vertical positions 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.
protrusion(number)In a bracket indicating non-arpeggio or optional material, the length of the horizontal edges.
range-collapse-threshold(non-negative, exact integer)If the length of a volta range is greater than or equal to this threshold, print it with a dash. For example, if this is 3, a
\volta 1,2,3is printed as ‘1.-3.’, but if it is 4, it is printed as ‘1.2.3.’.rank-on-page(number)0-based index of the system on a page.
ratio(number)Parameter for slur shape. The higher this number, the quicker the slur attains its
height-limit.remove-empty(boolean)If set, remove group if it contains no interesting items.
remove-first(boolean)Remove the first staff of an orchestral score?
remove-layer(index or symbol)When set as a positive integer, the
Keep_alive_together_engraverremoves allVerticalAxisGroupgrobs with aremove-layerlarger than the smallest retainedremove-layer. Set to#fto make a layer independent of theKeep_alive_together_engraver. Set to'(), the layer does not participate in the layering decisions. The property can also be set as a symbol for common behaviors:#'anyto keep the layer alive with any other layer in the group;#'aboveor#'belowto keep the layer alive with the context immediately before or after it, respectively.remove-short-autoextender(boolean)If set, auto-generated unbroken lyric extenders are removed if the lyric syllable stretches up to the last contained note head.
replacement-alist(association list (list of pairs))Alist of strings. The key is a string of the pattern to be replaced. The value is a string of what should be displayed. Useful for ligatures.
restore-first(boolean)Print a natural before the accidental.
rhythmic-location(rhythmic location)Where (bar number, measure position) in the score.
right-bound-info(alist, with symbols as keys)An alist of properties for determining attachments of spanners to edges.
right-justified(boolean)Used for
BarLines to right-align them. Usually the extent of aBarLinehas some positive value to the right. If this property is set to#t,BarLine.stencilis translated to the left by this value. Needs to be set atScoreorStaffGrouplevel. As a result allBarLines of saidScoreorStaffGroupare right-justified.right-number-text(markup)When the measure counter extends over several measures (like with compressed multi-measure rests), this is the text on the right side of the dash. Usually unset.
right-padding(dimension, in staff space)Space to insert on the right side of an object (e.g., between note and its accidentals).
rotation(list)Number of degrees to rotate this object, and what point to rotate around. For example,
'(45 0 0)rotates by 45 degrees around the center of this object.round-up-exceptions(list)A list of pairs where car is the numerator and cdr the denominator of a moment. Each pair in this list means that the multi-measure rests of the corresponding length will be rounded up to the longer rest. See round-up-to-longer-rest.
round-up-to-longer-rest(boolean)Displays the longer multi-measure rest when the length of a measure is between two values of
usable-duration-logs. For example, displays a breve instead of a whole in a 3/2 measure.rounded(boolean)Decide whether lines should be drawn rounded or not.
same-direction-correction(number)Optical correction amount for stems that are placed in tight configurations. This amount is used for stems with the same direction to compensate for note head to stem distance.
script-priority(number)A key for determining the order of scripts in a stack, by being added to the position of the script in the user input, the sum being the overall priority. Smaller means closer to the head.
segno-kern(number)The space between the two thin lines of the segno bar line symbol, expressed as a multiple of the default staff-line thickness (i.e., the visual output is not influenced by changes to
Staff.StaffSymbol.thickness).self-alignment-X(number)Specify alignment of an object. The value
-1means left aligned,0centered, and1right-aligned in X direction. Other numerical values may also be specified - the unit is half the object width. If not a number, align on the object’s reference point.self-alignment-Y(number)Like
self-alignment-Xbut for the Y axis.senza-misura-stencil(stencil)The symbol to print when
TimeSignature.time-signatureis not set. OverridingTimeSignature.stencilcircumvents this.shape(symbol)This setting determines what shape a grob has. Valid choices depend on the
stencilcallback reading this property.sharp-positions(list)Sharps in key signatures are placed within the specified ranges of staff positions. The general form is a list of pairs, with one pair for each type of clef, in order of the staff position at which each clef places C:
(alto treble tenor soprano baritone mezzosoprano bass). If the list contains a single element it applies for all clefs. A single number in place of a pair sets accidentals within the octave ending at that staff position.short-bar-extent(pair of numbers)The Y-extent of a short bar line. The default is half the normal bar extent, rounded up to an integer number of staff spaces.
shorten-pair(pair of numbers)The lengths to shorten on both sides a hairpin or text-spanner such as a pedal bracket. Positive values shorten the hairpin or text-spanner, while negative values lengthen it.
shortest-duration-space(number)Start with this multiple of
spacing-incrementspace for the shortest duration. See also spacing-spanner-interface.show-control-points(boolean)For grobs printing Bézier curves, setting this property to
#tcauses the control points and control polygon to be drawn on the page for ease of tweaking.show-horizontal-skylines(boolean)If true, print this grob’s horizontal skylines. This is meant for debugging purposes.
show-vertical-skylines(boolean)If true, print this grob’s vertical skylines. This is meant for debugging purposes.
side-axis(number)If the value is
X(or equivalently0), the object is placed horizontally next to the other object. If the value isYor1, it is placed vertically.side-relative-direction(direction)Multiply direction of
direction-sourcewith this to get the direction of this object.size(number)The ratio of the size of the object to its default size.
skip-quanting(boolean)Should beam quanting be skipped?
skyline-horizontal-padding(number)For determining the vertical distance between two staves, it is possible to have a configuration which would result in a tight interleaving of grobs from the top staff and the bottom staff. The larger this parameter is, the farther apart the staves are placed in such a configuration.
skyline-vertical-padding(number)The amount by which the left and right skylines of a column are padded vertically, beyond the
Y-extents andextra-spacing-heights of the constituent grobs in the column. Increase this to prevent interleaving of grobs from adjacent columns.slash-negative-kern(number)The space to remove between slashes in percent repeat glyphs. Larger values bring the two elements closer together.
slope(number)The slope of this object.
slur-padding(number)Extra distance between slur and script.
snap-radius(number)The maximum distance between two objects that will cause them to snap to alignment along an axis.
space-alist(alist, with symbols as keys)An alist that specifies distances from this grob to other breakable items, using the format:
'((break-align-symbol . (spacing-style . space)) (break-align-symbol . (spacing-style . space)) ...)
Standard choices for
break-align-symbolare listed in Grobs and their break-align symbols. Additionally, three special break-align symbols available tospace-alistare:first-noteused when the grob is just left of the first note on a line
next-noteused when the grob is just left of any other note; if not set, the value of
first-notegets usedright-edgeused when the grob is the last item on the line (only compatible with the
extra-spacespacing style)
If
space-alistis defined for a grob that gets spaced in a staff, an entry forfirst-notemust be present. If there is nonext-noteentry, the value offirst-noteis used instead.Choices for
spacing-styleare:extra-spacePut this much space between the two grobs. The space is stretchable and shrinkable when paired with
first-noteornext-note; otherwise it is fixed.minimum-spacePut at least this much space between the left sides of both grobs, without allowing them to collide. The space is stretchable and shrinkable when paired with
first-noteornext-note; otherwise it is fixed. Not compatible withright-edge.fixed-spaceOnly compatible with
first-noteandnext-note. Put this much fixed space between the grob and the note.minimum-fixed-spaceOnly compatible with
first-noteandnext-note. Put at least this much fixed space between the left side of the grob and the left side of the note, without allowing them to collide.semi-fixed-spaceOnly compatible with
first-noteandnext-note. Put this much space between the grob and the note, such that half of the space is fixed and half is stretchable and shrinkable.shrink-spaceOnly compatible with
first-noteandnext-note. Put this much space between the two grobs. The space is only shrinkable.semi-shrink-spaceOnly compatible with
first-noteandnext-note. Put this much space between the grob and the note, such that half of the space is fixed and half is shrinkable.
Rules for this spacing are much more complicated than this. See [Wanske] page 126–134, [Ross] page 143–147.
space-increment(dimension, in staff space)The amount by which the total duration of a multi-measure rest affects horizontal spacing. Each doubling of the duration adds
space-incrementto the length of the bar.space-to-barline(boolean)If set, the distance between a note and the following non-musical column will be measured to the bar line instead of to the beginning of the non-musical column. If there is a clef change followed by a bar line, for example, this means that we will try to space the non-musical column as though the clef is not there.
spacing-increment(dimension, in staff space)The unit of length for note-spacing. Typically, the width of a note head. See also spacing-spanner-interface.
spacing-pair(pair)A pair of alignment symbols which set an object’s spacing relative to its left and right
BreakAlignments.For example, a
MultiMeasureRestwill ignore prefatory items at its bounds (i.e., clefs, key signatures and time signatures) using the following override:\override MultiMeasureRest.spacing-pair = #'(staff-bar . staff-bar)span-all-note-heads(boolean)If true, tuplet brackets are printed spanning horizontally from the first to the last note head instead of covering only the stems.
spanner-id(index or symbol)An identifier to distinguish concurrent spanners.
springs-and-rods(boolean)Dummy variable for triggering spacing routines.
stacking-dir(direction)Stack objects in which direction?
staff-affinity(direction)The direction of the staff to use for spacing the current non-staff line. Choices are
UP,DOWN, andCENTER. IfCENTER, the non-staff line will be placed equidistant between the two nearest staves on either side, unless collisions or other spacing constraints prevent this. Settingstaff-affinityfor a staff causes it to be treated as a non-staff line. Settingstaff-affinityto#fcauses a non-staff line to be treated as a staff.staff-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.
For ties, there is a distinction between exact and inexact values: an exact value serves as a rough vertical offset that gets further tuned to make the tie avoid staff lines. An inexact value is taken as the precise vertical offset without further adjustments.
staff-space(dimension, in staff space)Amount of space between staff lines, expressed in global
staff-space.staff-staff-spacing(alist, with symbols as keys)When applied to a staff-group’s
StaffGroupergrob, this spacing alist controls the distance between consecutive staves within the staff-group. When applied to a staff’sVerticalAxisGroupgrob, it controls the distance between the staff and the nearest staff below it in the same system, replacing any settings inherited from theStaffGroupergrob of the containing staff-group, if there is one. This property remains in effect even when non-staff lines appear between staves. The alist can contain the following keys:basic-distance– the vertical distance, measured in staff-spaces, between the reference points of the two items when no collisions would result, and no stretching or compressing is in effect.minimum-distance– the smallest allowable vertical distance, measured in staff-spaces, between the reference points of the two items, when compressing is in effect.padding– the minimum required amount of unobstructed vertical whitespace between the bounding boxes (or skylines) of the two items, measured in staff-spaces.stretchability– a unitless measure of the dimension’s relative propensity to stretch. If zero, the distance will not stretch (unless collisions would result).
staffgroup-staff-spacing(alist, with symbols as keys)The spacing alist controlling the distance between the last staff of the current staff-group and the staff just below it in the same system, even if one or more non-staff lines exist between the two staves. If the
staff-staff-spacingproperty of the staff’sVerticalAxisGroupgrob is set, that is used instead. Seestaff-staff-spacingfor a description of the alist structure.stem-attachment(pair of numbers)An
(x . y)pair where the stem attaches to the note head. Each component is measured in a -1 to 1 scale so that -1 is the left/bottom edge of the note’s bounding box and 1 is the right/top edge.stem-begin-position(number)User override for the begin position of a stem.
stem-spacing-correction(number)Optical correction amount for stems that are placed in tight configurations. For opposite directions, this amount is the correction for two normal sized stems that overlap completely.
stemlet-length(number)How long should be a stem over a rest?
stencil(stencil)The symbol to print.
stencils(list)Multiple stencils, used as intermediate value.
strict-grace-spacing(boolean)If set, main notes are spaced normally, then grace notes are put left of the musical columns for the main notes.
strict-note-spacing(boolean)If set, unbroken columns with non-musical material (clefs, bar lines, etc.) are not spaced separately, but put before musical columns.
stroke-style(string)Set to
"grace"to turn stroke through flag on.style(symbol)This setting determines in what style a grob is typeset. Valid choices depend on the
stencilcallback reading this property.text(markup)Text markup. See Formatting text.
text-alignment-X(number)How to align an annotation horizontally.
text-alignment-Y(number)How to align an annotation vertically.
text-direction(direction)This controls the ordering of the words. The default
RIGHTis for roman text. Arabic or Hebrew should useLEFT.thick-thickness(number)Thickness of the thick line in a bar line, expressed as a multiple of the default staff-line thickness (i.e., the visual output is not influenced by changes to
Staff.StaffSymbol.thickness).thickness(number)For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e., the visual output is influenced by changes to
Staff.StaffSymbol.thickness).tie-configuration(list)List of
(position . dir)pairs, indicating a desired tie configuration that overrides the default. position is the offset from the center of the staff in half staff-space units, 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.There is a distinction between exact and inexact values for position: an exact value serves as a rough vertical offset that gets further tuned to make the tie avoid staff lines. An inexact value is taken as the precise vertical offset without further adjustments.
time-signature(time signature)A time-signature specification. See the
\timecommand.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 centered on the note head (the default position of most scripts);1.0means centered on the stem. Interpolated values are possible.toward-stem-shift-in-column(number)Amount by which a script is shifted toward the stem if its direction coincides with the stem direction and it is associated with a
ScriptColumnobject.0.0means centered on the note head (the default position of most scripts);1.0means centered on the stem. Interpolated values are possible.transparent(boolean)This makes the grob invisible.
tuplet-slur(boolean)Draw a slur instead of a bracket for tuplets.
uniform-stretching(boolean)If set, items stretch proportionally to their natural separation based on durations. This looks better in complex polyphonic patterns.
usable-duration-logs(list)List of
duration-logs that can be used in typesetting the grob.used(boolean)If set, this spacing column is kept in the spacing problem.
vertical-skylines(pair of skylines)Two skylines, one above and one below this grob.
visible-over-note-heads(boolean)This prints a tuplet bracket when the bracket is set to be over the note heads. This option can be combined with the default tuplet bracket visibility style and with
#'if-no-beam.voiced-position(number)The staff position of a voiced
Rest, negative if the rest hasdirectionDOWN.volta-number-offset(pair of numbers)The offset of the volta number relative to the upper left corner of the volta bracket.
when(moment)Global time step associated with this column.
whiteout(boolean-or-number)If a number or true, the grob is printed over a white background to white-out underlying material, if the grob is visible. A number indicates how far the white background extends beyond the bounding box of the grob as a multiple of the staff-line thickness. The
LyricHyphengrob uses a special implementation of whiteout: A positive number indicates how far the white background extends beyond the bounding box in multiples ofline-thickness. The shape of the background is determined bywhiteout-style.Usually
#fby default. Ifwhiteout-coloris set, use this color instead of white for the background.whiteout-color(color)The background color used if property
whiteoutis set.whiteout-style(symbol)Determines the shape of the
whiteoutbackground. Available are'outline,'rounded-box, and the default'box. There is one exception: Use'specialforLyricHyphen.widened-extent(pair of numbers)The vertical extent that a bar line on a certain staff symbol should have. If the staff symbol is small (e.g., has just one line, as in a
RhythmicStaff, this is wider than the staff symbol’s Y extent.width(dimension, in staff space)The width of a grob measured in staff space.
woodwind-diagram-details(alist, with symbols as keys)An alist of detailed grob properties for woodwind diagrams. Each alist entry consists of a
(property . value)pair. The properties which can be included in woodwind-diagram-details include the following:fill-angle– Rotation angle of a partially filled key from horizontal. Default value 0.text-trill-circled– In non-graphical mode, for keys shown as text, indicate a trill by circling the text if true, or by shading the text if false. Default value #t.
word-space(dimension, in staff space)Space to insert between words in texts.
X-align-on-main-noteheads(boolean)If true, this grob will ignore suspended note heads when aligning itself on NoteColumn.
X-alignment-extent(pair of numbers)If a grob wants to align itself on a
PaperColumngrob that doesn’t contain note heads, use this horizontal extent as a placeholder.X-attachment(number)Horizontal attachment of a line on a frame, typically between -1 (left) and 1 (right).
X-extent(pair of numbers)Extent (size) in the X direction, measured in staff-space units, relative to object’s reference point.
X-offset(number)The horizontal amount that this object is moved relative to its X-parent.
Note that many objects have special positioning considerations, which cause any setting of
X-offsetto be ignored or modified, even though the object supports theself-alignment-interface.X-padding(dimension, in staff space)Add this much extra space between objects that are next to each other horizontally, overriding the
paddingproperty value.X-positions(pair of numbers)Pair of X staff coordinates of a spanner in the form
(left . right), where both left and right are instaff-spaceunits of the current staff.Y-attachment(number)Vertical attachment of a line on a frame, typically between -1 (down) and 1 (up).
Y-extent(pair of numbers)Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
Y-offset(number)The vertical amount that this object is moved relative to its Y-parent.
Note that many objects have special positioning considerations, which cause any setting of
Y-offsetto be ignored or modified, even though the object supports theself-alignment-interface.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 spanner 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 ¶
accidental-grob(graphical (layout) object)The accidental for this note.
accidental-grobs(association list (list of pairs))An alist with
(notename . groblist)entries.add-cauda(boolean)Does this flexa require an additional cauda on the left side?
add-join(boolean)Is this ligature head-joined with the next one by a vertical line?
add-stem(boolean)Is this ligature head a virga and therefore needs an additional stem on the right side?
adjacent-pure-heights(pair)A pair of vectors. Used by a
VerticalAxisGroupto cache theY-extents of different column ranges.adjacent-spanners(array of grobs)An array of directly neighboring dynamic spanners.
all-elements(array of grobs)An array of all grobs in this line. Its function is to protect objects from being garbage collected.
allow-span-bar-above(boolean)If false, no inter-staff bar line will be created above this item.
annotation(string)Annotate a grob for debug purposes.
ascendens(boolean)Is this neume of ascending type?
auctum(boolean)Is this neume liquescentically augmented?
auto-generated(boolean)True if the grob was created by an automatic mechanism as opposed to an explicit event. Used for lyric extenders.
axis-group-parent-X(graphical (layout) object)Containing X axis group.
axis-group-parent-Y(graphical (layout) object)Containing Y axis group.
bars-left(array of grobs)An array of bar line pointers for the left side of a volta bracket.
bars-right(array of grobs)An array of bar line pointers for the right side of a volta bracket.
beam(graphical (layout) object)A pointer to the beam, if applicable.
beam-segments(list)Internal representation of beam segments.
begin-of-line-visible(boolean)Set to make
ChordNameorFretBoardbe visible only at beginning of line or at chord changes; also used for stanza reminders in lyrics.bezier(graphical (layout) object)A pointer to a Bézier curve, for use by control points and polygons.
bound-alignment-interfaces(list)Interfaces to be used for positioning elements that align with a column.
bounded-by-me(array of grobs)An array of spanners that have this column as start/begin point. Only columns that have grobs or act as bounds are spaced.
bracket(graphical (layout) object)The bracket for a number.
bracket-text(graphical (layout) object)A pointer to the text grob of an analysis bracket.
break-alignment(graphical (layout) object)The
BreakAlignmentin aNonMusicalPaperColumn.c0-position(integer)An integer indicating the position of middle C.
cause(any type)Any kind of causation objects (i.e., music, or perhaps translator) that was the cause for this grob.
cavum(boolean)Is this neume outlined?
chord-names(array of grobs)Array of chord names.
columns(array of grobs)An array of grobs, typically containing
PaperColumnorNoteColumnobjects.concurrent-hairpins(array of grobs)All concurrent hairpins.
conditional-elements(array of grobs)Internal use only.
context-info(integer)Within a ligature, the final glyph or shape of a head may be affected by the left and/or right neighbor head.
context-infoholds for each head such information about the left and right neighbor, encoded as a bit mask.covered-grobs(array of grobs)Grobs that could potentially collide with a beam.
cross-staff(boolean)True for grobs whose
Y-extentdepends on inter-staff spacing. The extent is measured relative to the grobs’s parent staff (more generally, itsVerticalAxisGroup) so this boolean flags grobs that are not rigidly fixed to their parent staff. Beams that join notes from two staves arecross-staff. Grobs that are positioned around such beams are alsocross-staff. Grobs that are grouping objects, however, likeVerticalAxisGroupswill not in general be markedcross-staffwhen some of the members of the group arecross-staff.delta-position(number)The vertical position difference.
deminutum(boolean)Is this neume diminished?
descendens(boolean)Is this neume of descendant type?
direction-source(graphical (layout) object)In case
side-relative-directionis set, which grob to get the direction from.dot(graphical (layout) object)A reference to a
Dotsobject.dot-stencil(stencil)The stencil for an individual dot, as opposed to a group of several dots.
dots(array of grobs)Multiple
Dotsobjects.elements(array of grobs)An array of grobs; the type is depending on the grob where this is set in.
encompass-objects(array of grobs)Objects that a slur should avoid in addition to notes and stems.
fa-styles(symbol list)List of note head styles that identify ‘fa’ shape note heads.
figures(array of grobs)Figured bass objects for continuation line.
flag(graphical (layout) object)A pointer to a
Flagobject.flexa-height(dimension, in staff space)The height of a flexa shape in a ligature grob (in
staff-spaceunits).flexa-interval(integer)The interval spanned by the two notes of a flexa shape (1 is a second, 7 is an octave).
flexa-width(dimension, in staff space)The width of a flexa shape in a ligature grob (in
staff-spaceunits).font(font metric)A cached font metric object.
footnote-stencil(stencil)The stencil of a system’s footnotes.
footnotes-after-line-breaking(array of grobs)Footnote grobs of a broken system.
footnotes-before-line-breaking(array of grobs)Footnote grobs of a whole system.
forced(boolean)Manually forced accidental.
french-beaming-stem-adjustment(dimension, in staff space)Stem will be shortened by this amount of space in case of French beaming style.
glissando-index(integer)The index of a glissando in its note column.
glyph-info(pair)A
(string . stencil)pair consisting of a glyph name and a stencil. Usually the latter will be the glyph referenced by the former in a certain font.grace-spacing(graphical (layout) object)A run of grace notes.
has-span-bar(pair)A pair of grobs containing the span bars to be drawn below and above the staff. If no span bar is in a position, the respective element is set to
#f.head-width(dimension, in staff space)The width of this ligature head.
head-x-offset(dimension, in staff space)Extra horizontal offset for ligature heads.
heads(array of grobs)An array of note heads.
ideal-distances(list)(obj . (dist . strength))pairs.important-column-ranks(vector)A cache of columns that contain
items-worth-livingdata.in-note-direction(direction)Direction to place in-notes above a system.
in-note-stencil(stencil)The stencil of a system’s in-notes.
in-note-system-padding(number)Padding between in-note and its associated system.
inclinatum(boolean)Is this neume an inclinatum?
index(non-negative, exact integer)For some grobs in a group, this is a number associated with the grob.
interfaces(list)A list of symbols indicating the interfaces supported by this object. It is initialized from the
metafield.is-reminder(boolean)Is this stanza number a stanza reminder?
items-worth-living(array of grobs)An array of interesting items. If empty in a particular staff, then that staff is erased.
keep-alive-with(array of grobs)An array of other
VerticalAxisGroups. If any of them are alive, then we will stay alive.least-squares-dy(number)The ideal beam slope, without damping.
left-down-stem(boolean)Request a downward left stem for an initial breve in a ligature.
left-items(array of grobs)Grobs organized on the left by a spacing object.
left-neighbor(graphical (layout) object)A grob similar to this one, on its left. For columns, the right-most column that has a spacing wish for this column.
ligature-flexa(boolean)Request joining note to the previous one in a flexa.
ligature-pes(boolean)Request drawing a final longa of a ligature turning backwards.
linea(boolean)Attach vertical lines to this neume?
make-dead-when(array of grobs)An array of other
VerticalAxisGroups. If any of them are alive, then we will turn dead.maybe-loose(boolean)Used to mark a breakable column that is loose if and only if it is in the middle of a line.
melody-spanner(graphical (layout) object)The
MelodyItemobject for a stem.meta(alist, with symbols as keys)Provide meta information. It is an alist with the entries
nameandinterfaces.minimum-distances(list)A list of rods that have the format
(obj . dist).minimum-translations-alist(association list (list of pairs))An list of translations for a given start and end point.
neighbors(array of grobs)The X-axis neighbors of a grob. Used by the pure-from-neighbor-interface to determine various grob heights.
normal-stems(array of grobs)An array of visible stems.
note-collision(graphical (layout) object)The
NoteCollisionobject of a dot column.note-columns(array of grobs)An array of
NoteColumngrobs.note-head(graphical (layout) object)A single note head.
note-heads(array of grobs)An array of note head grobs.
numbering-assertion-function(any type)The function used to assert that footnotes are receiving correct automatic numbers.
oriscus(boolean)Is this neume an oriscus?
passage-direction(direction)The placement of a
passage-delimiter-interfaceitem with respect to its passage:STARTat the start,ENDat the end, orCENTERotherwise.pedal-text(graphical (layout) object)A pointer to the text grob 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.
potential-beam(graphical (layout) object)For tuplet brackets, a grob to use as parallel beam unless the tuplet is broken.
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-relevant-grobs(array of grobs)All the grobs (items and spanners) that are relevant for finding the
pure-Y-extentpure-relevant-items(array of grobs)A subset of elements that are relevant for finding the
pure-Y-extent.pure-relevant-spanners(array of grobs)A subset of elements that are relevant for finding the
pure-Y-extent.pure-Y-common(graphical (layout) object)A cache of the
common_refpoint_of_arrayof theelementsgrob set.pure-Y-extent(pair of numbers)The estimated height of a system.
pure-Y-offset-in-progress(boolean)A debugging aid for catching cyclic dependencies.
quantize-position(boolean)If set, a vertical alignment is aligned to be within staff spaces.
quantized-positions(pair of numbers)The beam positions after quanting.
quilisma(boolean)Is this neume a quilisma?
rest(graphical (layout) object)A pointer to a
Restobject.rest-collision(graphical (layout) object)A rest collision that a rest is in.
rests(array of grobs)An array of rest objects.
right-down-stem(boolean)Request a downward right stem for a maxima in a ligature.
right-items(array of grobs)Grobs organized on the right by a spacing object.
right-neighbor(graphical (layout) object)See
left-neighbor.right-up-stem(boolean)Request an upward right stem for a final longa or maxima in a ligature.
script-column(graphical (layout) object)A
ScriptColumnassociated with aScriptobject.script-stencil(pair)A pair
(type . arg)which acts as an index for looking up aStencilobject.scripts(array of grobs)An array of
Scriptobjects.shorten(dimension, in staff space)The amount of space that a stem is shortened. Internally used to distribute beam shortening over stems.
shortest-playing-duration(positive exact rational or +inf.0)The duration of the shortest note playing here.
shortest-starter-duration(positive exact rational or +inf.0)The duration of the shortest note that starts here.
side-support-elements(array of grobs)The side support, an array of grobs.
slur(graphical (layout) object)A pointer to a
Slurobject.spacing(graphical (layout) object)The spacing spanner governing this section.
spacing-wishes(array of grobs)An array of note spacing or staff spacing objects.
span-start(boolean)Is the note head at the start of a spanner?
spanner-broken(boolean)Indicates whether spanner alignment should be broken after the current spanner.
spanner-placement(direction)The place of an annotation on a spanner.
LEFTis for the first spanner, andRIGHTis for the last.CENTERwill place it on the broken spanner that falls closest to the center of the length of the entire spanner, although this behavior is unpredictable in situations with lots of rhythmic diversity. For predictable results, useLEFTandRIGHT.staff-grouper(graphical (layout) object)The staff grouper we belong to.
staff-symbol(graphical (layout) object)The staff symbol grob that we are in.
stem(graphical (layout) object)A pointer to a
Stemobject.stem-info(pair)A cache of stem parameters.
stems(array of grobs)An array of stem objects.
sticky-host(graphical (layout) object)The grob that a sticky grob attaches to.
stropha(boolean)Is this neume a stropha?
system-Y-offset(number)The Y-offset (relative to the bottom of the top-margin of the page) of the system to which this staff belongs.
tie(graphical (layout) object)A pointer to a
Tieobject.ties(array of grobs)A grob array of
Tieobjects.toe-heel-style(symbol)The style used for toe and heel glyphs of a
Scriptgrob.tremolo-flag(graphical (layout) object)The tremolo object on a stem.
tuplet-number(graphical (layout) object)The number for a bracket.
tuplets(array of grobs)An array of smaller tuplet brackets.
vertical-alignment(graphical (layout) object)The
VerticalAlignmentin aSystem.vertical-skyline-elements(array of grobs)An array of grobs used to create vertical skylines.
vertically-spanning-surrogate(graphical (layout) object)When an engraver hides a shorter instance of a vertically spanning grob (e.g., an arpeggio sign) to allow a taller instance to appear, this property may be set in the shorter instance to allow navigation to the taller instance.
virga(boolean)Is this neume a virga?
volta-numbers(number list)List of volta numbers.
X-common(graphical (layout) object)Common reference point for axis group.
Y-common(graphical (layout) object)See
X-common.
| [ << Backend ] | [Top][Contents][Index] | [ Indices >> ] |
| [ < Internal backend properties ] | [ Up: Top ] | [ Indices > ] |
4 Scheme functions ¶
- Function: accidental->text-markup alteration ¶
Return accidental glyph markup for alteration, to be used in text.
This is a simple wrapper around the
\text-accidentalmarkup function, providing smaller glyphs.
- Function: add-bar-glyph-print-procedure glyph proc ¶
Specify the single glyph glyph that calls print procedure proc.
The procedure proc has to be defined in the form
(make-...-bar-line is-span grob extent)even if the arguments is-span and extent are not used within the routine.
- Function: ly:add-context-mod contextmods modification ¶
Adds the given context modification to the list contextmods of context modifications.
- Function: add-grace-property context-name grob sym val ¶
Set sym=val for grob in context-name.
- Function: ly:add-interface iface desc props ¶
Add a new grob interface. iface is the interface name, desc is the interface description, and props is the list of user-settable properties for the interface.
- Function: ly:add-listener callback disp cl ¶
Add the single-argument procedure callback as listener to the dispatcher disp. Whenever disp hears an event of class cl, it calls callback with it.
- Function: add-new-clef clef-name clef-glyph clef-position transposition c0-position ¶
Add a new clef to the list of supported clefs.
The arguments clef-name, clef-glyph, clef-position, and transposition are used to add an entry to the
supported-clefsalist. Arguments clef-glyph and c0-position extendc0-pitch-alist.
- Function: ly:add-option sym val description rest ¶
Add program option sym with default value val and docstring description.
LilyPond uses this function to define Scheme options available on the command line (given by -d or --define-default).
After start-up, command-line Scheme options are provided to LilyPond by function
ly:command-line-options, which returns a key-value alist where all values are Scheme strings. Use the optional argument#:typeto specify how such a value string for key sym should be processed byly:set-option.- If set to symbol
string, don’t do any further conversion and accept the value as a string. This is also necessary if a potentially fitting type predicate gets defined after LilyPond’s command-line option handling (for example,ly:duration?). In such cases, type checking should be performed manually later on. - If set to symbol
string-or-boolean, do the same as withstringbut convert strings"#f"and"#t"to Boolean values. - If set to symbol
string-or-false, do the same as withstringbut convert a string value"#f"to Boolean value#f. - If set to a procedure, handle the value as a Scheme expression and use the
procedure as a predicate to check whether the value fits. This is also the
default behaviour if
#:typeis not set, usingboolean?as the procedure. - If set to a list, handle the value as a Scheme expression and check whether it
is one of the list’s elements (using
equal?for the comparison test).
‘Handling as a Scheme expression’ means that the string gets passed to the
readScheme function, which stops reading after the first complete Scheme expression has been parsed. As a consequence, both strings"foo"and"foo bar"get converted to symbolfoo, while a string"(foo"causes an error because the Scheme expression is not complete.Passing
#:internal? #tmakes the option an internal option, not displayed in thelilypond -dhelpoutput (but displayed inlilypond -dhelp-internal.Passing
#:accumulative? #tmakes the option accumulative, which gathers -d values in a list instead of letting the last -d flag overwrite the others.- If set to symbol
- Function: add-simple-time-signature-style style proc ¶
Specify the procedure proc returning markup for a time signature style style. The procedure is called with one argument, the pair
(numerator . denominator).
- Function: add-stroke-glyph stencil grob dir stroke-style flag-style ¶
Add a stroke glyph (from the music font) to the given flag stencil.
This is an auxiliary function for
create-glyph-flag.
- Function: add-stroke-straight stencil grob dir log stroke-style offset length thickness stroke-thickness ¶
Add an acciaccatura stroke to the given flag stencil.
This is an auxiliary function for
straight-flag.
- Function: add-to-tag-group tag-group tags ¶
Add the given tags to the existing tag-group symbol list.
Returns
#fif successful, and an error message if the tag-group does not exist or if there is a conflicting tag group definition for one of the symbols in tags.
- Function: alist->hash-table lst ¶
Convert alist lst to a table.
Warning: The resulting hash table is hashed by identity. This actually corresponds to the
alist->hashq-tablefunction of Guile’s(ice-9 hash-table)module, notalist->hash-table.
- Function: alist-keys alist ¶
Get the keys of alist, not necessarily sorted or unique.
- Function: ly:all-grob-interfaces ¶
Return the hash table with all grob interface descriptions.
- Function: ly:all-options ¶
Get all option settings in an alist.
- Function: ly:all-output-backend-commands ¶
Return the list of extra output backend commands that are used internally in file lily/stencil-interpret.cc.
- Function: ly:all-stencil-commands ¶
Return the list of stencil commands that can be defined in the output modules (in files output-*.scm).
- Function: ly:all-stencil-expressions ¶
Return all symbols recognized as stencil expressions.
- Function: allow-volta-hook bar-glyph ¶
Allow the volta bracket hook being drawn over bar line bar-glyph.
- Function: alterations-in-key pitch-list ¶
Count number of sharps minus number of flats.
- Function: ly:angle x y ¶
Calculate angle in degrees of given vector. With one argument, x is a number pair indicating the vector. With two arguments, x and y specify the respective coordinates.
- Function: angle-0-2pi angle ¶
Take angle (in radians) and map it between 0 and 2pi.
- Function: angle-0-360 angle ¶
Take angle (in degrees) and map it between 0 and 360 degrees.
- Function: ly:append-to-option var val ¶
Add value val to an accumulative program option var.
See also function
ly:add-option.
- Function: apply-tag-operating-markup prop-val-modificator music ¶
Apply prop-val-modificator to tag markup in music.
Iterate over
musicto find markups that use the\tag-command. Markups are recognized in the music propertiestextandvalueof the iterated music objects. If the value of the property contains tag markups, theprop-val-modificatoris applied to it and the modified value is updated accordingly.
- Function: approximate-pitch-note-head::calc-direction grob ¶
Choose a direction for arrow note heads.
This function assumes that the head style is set to
arrow. When the head is at the end of the stem, which is the expected case, point the head in the opposite direction of the stem. Otherwise, point the head away from the center of the staff.
- Function: array-copy/subarray! src dst offsets … ¶
Similar to
array-copy, but takes extra parameters for the start of a subarray where to copy. For example:(let ((arr (make-array 'a 4 4)) (to-copy (make-array 'b 2 2))) (array-copy/subarray! to-copy arr 2 1) arr) ⇒ #2((a a a a) (a a a a) (a b b a) (a b b a))
- Function: arrow-stencil x y thick staff-space grob ¶
Return a right-pointing, filled arrow-head, where x determines the basic horizontal position and y determines the basic vertical position. Both values are adjusted using staff-space, which is
StaffSymbol’s staff space. thick is the used line thickness.
- Function: arrow-stencil-maker start? end? ¶
Return a function drawing a line from current point to
destination, with optional arrows ofmax-sizeon start and end controlled by start? and end?.
- Function: ascend-to-context m context [id [mods]] ¶
Like
context-spec-music, but only ascending.
- Macro: assert … ¶
Use
(assert condition)or(assert condition extra-failure-message)to check that condition is true, and raise an error otherwise. Use this for conditions that should always be true, barring bugs; raise a more informative error if protecting against a user error.
- Function: ly:assoc-get key alist default-value strict-checking ¶
Return value if key in alist, else default-value (or
#fif not specified). If strict-checking is set to#tand key is not in alist, a programming error is output.
- Function: assoc-get _ _ [_ [_]] ¶
- LilyPond procedure: ly:assoc-get (SCM key, SCM alist, SCM default_value, SCM strict_checking)
Return value if key in alist, else default-value (or
#fif not specified). If strict-checking is set to#tand key is not in alist, a programming error is output.
- Function: at-bar-line-substitute-caesura-type substitute-type ¶
At a bar line, create the caesura using substitute-type rather than the value of
caesuraType.
- Function: ly:axis-group-interface::add-element grob grob-element ¶
Add grob-element to the axis group grob. In particular, grob becomes parent to grob-element on all axes supported by grob, unless the parents are already set.
- Function: ly:bar-line::calc-anchor grob ¶
Calculate the anchor position of a bar line. The anchor is used for the correct placement of bar numbers, etc.
- Function: bar-line::calc-break-visibility grob ¶
Calculate the visibility of a bar line at line breaks.
- Function: bar-line::calc-glyph-name grob ¶
Return the name of the bar line glyph printed by grob for the actual break direction.
- Function: bar-line::calc-glyph-name-for-direction glyphs dir ¶
Find the glyph name for a bar line.
glyphsis the list of bar-line types to consider in order. Each must have been defined withdefine-bar-line. dir is the break direction to consider:LEFT= end of line,CENTER= middle of line,RIGHT= start of line.
- Function: bar-line::compound-bar-line grob bar-glyph extent ¶
Build the bar line stencil.
- Function: bar-line::draw-filled-box x-ext y-ext thickness extent grob ¶
Return a straight bar line created by
ly:round-filled-boxlooking at x-ext, y-ext, and thickness. The blot is calculated from extent and grob. y-ext is not necessarily equal to extent.
- Function: ly:bar-line::print grob ¶
The print routine for bar lines.
- Function: bar-line::widen-bar-extent-on-span grob extent ¶
Widen the bar line extent towards span bars adjacent to grob grob.
- Function: ly:base64-encode bv ¶
Encode the given bytevector as a base 64 string.
- Function: ly:basic-progress str rest ¶
A Scheme callable function to issue a basic progress message str. The message is formatted with
format; rest holds the formatting arguments (if any).
- Function: beam-exceptions time-sig time-signature-settings ¶
Get the
beamExceptionsvalue for time-sig from time-signature-settings.time-sig must be a sane, canonical time signature.
- Function: beat-base time-sig time-signature-settings ¶
Get the
beatBasevalue for time-sig from time-signature-settings.time-sig must be a sane, canonical time signature.
If there is no entry, derive a value from time-sig.
- Function: beat-structure base time-sig time-signature-settings ¶
Get the
beatStructurevalue for time-sig from time-signature-settings, scaled to base units.time-sig must be a sane, canonical time signature.
If there is no entry, derive a structure from time-sig.
- Function: bend::arrow-head-stencil thickness x-y-coords height width dir ¶
Return an arrow head stencil, calculated from the given dimensions height and width, and translated to x-y-coords, the end of the bend-spanners (curved) line.
- Function: bend::calc-bend-x-begin bend-spanner bounding-noteheads factor quarter-tone-diffs ¶
Calculate the starting values in x direction of the bend. After a line break, the values from the right bound are taken minus 1.5 staff spaces. For bends-down or if grob property
'styleequals to'pre-bend,'holdor'pre-bend-hold,interval-centeris applied the topmost note head of the starting note heads. In any other case the right edge of the starting note head is used. The value ofBendSpanner.details.horizontal-left-paddingis added, which may be changed by an appropriate override. Returns a list of the same length as the amount of bend-starting note heads.
- Function: bend::calc-bend-x-end bend-spanner top-left-tab-nhd top-right-tab-nhd ¶
Calculate the ending x coordinate of bend-spanner. At the line end, take the items of
BreakAlignGroupinto account and a little bit of padding. Ends an unbroken spanner or the last of a broken one in the middle of the topmost note head of its bounding note column.
- Function: bend::target-cautionary spanner ¶
Set
'parenthesizedof all relevant note heads of spanners right bound to#t. This procedure is the default value of'before-line-breaking.
- Function: bend::text-string spanner ¶
Take a spanner grob and calculate a list with the quarter tone diffs between the pitches of starting and ending bound. Because bending to different amounts is very unlikely, only the first element of this list is returned as a string.
- Function: bend-spanner::print grob ¶
Return the final stencil. A line and curve, an arrow head and a text representing the amount a string is bent.
- Function: ly:bezier-extent control-points axis ¶
Compute the extent of the Bézier curve defined by control-points along axis.
- Function: ly:bezier-extract control-points t-min t-max ¶
Return a sub-curve of the Bézier curve defined by control-points. The sub-curve is delimited by the curve points indexed by t-min and t-max (between 0 and 1, 0 = first control point, 1 = last control point). A sub-curve of a Bézier curve is in turn a Bézier curve.
- Function: bit-list->byte-list bit-list ¶
Convert the given list of bits (booleans), whose length must be a multiple of 8, into a list of bytes (integers between 0 and 255).
- Function: bit-list->int bit-list ¶
Convert the given list of booleans to the number that it represents in binary.
- Function: ly:book? x ¶
Is x a smob of class
Book?
- Function: ly:book-add-bookpart! book-smob book-part ¶
Add book-part to book-smob book part list.
- Function: ly:book-add-score! book-smob score ¶
Add score to book-smob score list.
- Function: ly:book-book-parts book ¶
Return book parts in book.
- Function: book-first-page layout props ¶
Return the
'first-page-numberof the entire book.
- Function: ly:book-header book ¶
Return header in book.
- Function: ly:book-paper book ¶
Return paper in book.
- 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:book-scores book ¶
Return scores in book.
- Function: ly:book-set-header! book module ¶
Set the book header.
- Function: box-grob-stencil grob ¶
Make a box of exactly the extents of the grob. The box precisely encloses the contents.
- Function: box-stencil stencil thickness padding ¶
Add a box around stencil, producing a new stencil.
The spacing characteristics are preserved if either a
\hspaceor a\vspacecommand (with either positive or negative values) gets boxed. This means that padding and thickness added to an empty extent will not participate in spacing and is not recognized by skylines.
- Function: ly:bp num ¶
num bigpoints (1/72th inch).
- 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: bracketify-stencil stil axis thick protrusion padding [widen] ¶
Add brackets around stil, producing a new stencil.
The brackets are constructed using function
ly:bracketin direction axis. They have a thickness given by thick, the wing’s lengths are given by protrusion, and the padding between the brackets and stil is set to padding.Optional argument widen increases the length of the brackets by the the given amount at the top and at the bottom (i.e., the amount gets applied twice).
- Function: break-alignable-interface::self-alignment-of-anchor g ¶
Return a value for g’s
self-alignment-Xthat will place g on the same side of the reference point defined by abreak-aligneditem such as aClef.
- Function: break-alignable-interface::self-alignment-opposite-of-anchor g ¶
Return a value for g’s
self-alignment-Xthat will place g on the opposite side of the reference point defined by abreak-aligneditem such as aClef.
- Function: ly:break-alignment-interface::find-nonempty-break-align-group ¶
Find the
BreakAlignGroupwith the given break-align-symbol in thisBreakAlignment. Return#fif there is no such group. Also return#fif the group has emptyX-extent, which can happen if it contains only omitted items.
- Function: break-alignment-list end-of-line middle begin-of-line ¶
Return a callback that calculates a value based on a grob’s break direction.
- Function: ly:broadcast disp ev ¶
Send the stream event ev to the dispatcher disp.
- Function: byte-list->bit-list byte-list ¶
Convert a list of bytes (integers between 0 and 255) into a list of bits (booleans).
- Function: caesura-script-interface::before-line-breaking script ¶
Callback for
CaesuraScriptgrob. Eliminate scripts aligned to bar lines if they might collide with a span bar. Some types of bar lines have visible span bars and some don’t. For consistent notation, we don’t check whether particularSpanBargrobs are actually visible, just that they exist.
- Function: caesura-to-bar-line-or-divisio context caesura-type observations ¶
caesuraTypeTransformcallback to print articulated caesurae as chant breath marks using the infrastructure for modern bar lines when possible.
- Function: caesura-to-divisio context caesura-type observations ¶
caesuraTypeTransformcallback to print articulated caesurae as chant breath marks.
- Function: ly:cairo-output-stencil basename stencil paper formats ¶
dump a single stencil through the Cairo backend
- Function: ly:cairo-output-stencils basename stencils header paper formats ¶
dump book through cairo backend
- Function: calc-harmonic-pitch pitch music ¶
Calculate the harmonic pitches in music given pitch as the non-harmonic pitch.
- Function: calc-measure-length time-sig ¶
Calculate the measure length for time-sig.
time-sig must be a sane, canonical time signature.
- Function: calc-pattern-element pattern-list factor ¶
First and last relevant value of the probably nested number list pattern-list, supposed to be a sorted list, are used to determine how to scale. factor is the multiplier for the found value. The returned new list drops the first element of pattern-list.
- Function: calc-submeasure-structure base time-sig time-signature-settings ¶
Get the
submeasureStructurevalue for time-sig.Look up the value in time-signature-settings and scale it to base units. If there is no entry, derive a structure from time-sig.
time-sig must be a sane, canonical time signature.
- Function: ly:camel-case->lisp-identifier name-sym ¶
Convert
FooBar_Blatofoo-bar-blastyle symbol.