[Top][Contents][Index] |
GNU LilyPond – Internals Reference
This document is also available as a PDF and as a HTML indexed multiple pages.
This is the Internals Reference (IR) for version 2.21.82 of LilyPond, the GNU music typesetter.
1. Music definitions | Definition of the input data structures. | |
2. Translation | From music to layout. | |
3. Backend | Reference for the layout engine. | |
4. Scheme functions | Primitive functions exported by LilyPond. | |
A. Indices |
[ << Top ] | [Top][Contents][Index] | [ Translation >> ] |
[ < Top ] | [ Up : Top ] | [ Music expressions > ] |
1. Music definitions
1.1 Music expressions | Objects that represent music. | |
1.2 Music classes | ||
1.3 Music properties | All music properties, including descriptions. |
[ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < Music definitions ] | [ Up : Music definitions ] | [ AbsoluteDynamicEvent > ] |
1.1 Music expressions
[ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < Music expressions ] | [ Up : Music expressions ] | [ AlternativeEvent > ] |
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):
'AbsoluteDynamicEvent
Name 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 ] | [ AnnotateOutputEvent > ] |
1.1.2 AlternativeEvent
Create an alternative event.
Event classes: alternative-event, music-event and StreamEvent.
Accepted by: Bar_number_engraver.
Properties:
name
(symbol):
'AlternativeEvent
Name of this music object.
types
(list): '(event alternative-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.3 AnnotateOutputEvent
Print an annotation of an output element.
Event classes: annotate-output-event, music-event and StreamEvent.
Accepted by: Balloon_engraver.
Properties:
name
(symbol):
'AnnotateOutputEvent
Name of this music object.
types
(list): '(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.4 ApplyContext
Call the argument with the current context during interpreting phase.
Properties:
iterator-ctor
(procedure):
ly:apply-context-iterator::constructor
Function to construct a
music-event-iterator
object for this music.name
(symbol):
'ApplyContext
Name 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.5 ApplyOutputEvent
Call the argument with all current grobs during interpreting phase.
Syntax: \applyOutput #'context func
Arguments to func are 1. the grob, 2. the originating context, and 3. the context where func is called.
Event classes: apply-output-event, layout-instruction-event, music-event and StreamEvent.
Accepted by: Output_property_engraver.
Properties:
name
(symbol):
'ApplyOutputEvent
Name 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.6 ArpeggioEvent
Make an arpeggio on this note.
Syntax: note-\arpeggio
Event classes: arpeggio-event, music-event and StreamEvent.
Accepted by: Arpeggio_engraver.
Properties:
name
(symbol):
'ArpeggioEvent
Name 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 ] | [ AutoChangeMusic > ] |
1.1.7 ArticulationEvent
Add an articulation marking to a note.
Syntax: notex
y
, where x
is a direction
(^
for up or _
for down), or LilyPond’s choice
(no direction specified), and where y
is an articulation
(such as -.
, ->
, \tenuto
, \downbow
).
See the Notation Reference for details.
Event classes: articulation-event, music-event, script-event and StreamEvent.
Accepted by: Note_performer and Script_engraver.
Properties:
name
(symbol):
'ArticulationEvent
Name 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 ] | [ BarCheck > ] |
1.1.8 AutoChangeMusic
Used for making voices that switch between piano staves automatically.
Properties:
iterator-ctor
(procedure):
ly:auto-change-iterator::constructor
Function to construct a
music-event-iterator
object for this music.length-callback
(procedure):
ly:music-wrapper::length-callback
How to compute the duration of this music. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
name
(symbol):
'AutoChangeMusic
Name of this music object.
start-callback
(procedure):
ly:music-wrapper::start-callback
Function to compute the negative length of starting grace notes. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
types
(list): '(music-wrapper-music auto-change-instruction)The types of this music object; determines by what engraver this music expression is processed.
[ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < AutoChangeMusic ] | [ Up : Music expressions ] | [ BassFigureEvent > ] |
1.1.9 BarCheck
Check whether this music coincides with the start of the measure.
Properties:
iterator-ctor
(procedure):
ly:bar-check-iterator::constructor
Function to construct a
music-event-iterator
object for this music.name
(symbol):
'BarCheck
Name of this music object.
types
(list): '(bar-check)The types of this music object; determines by what engraver this music expression is processed.
[ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < BarCheck ] | [ Up : Music expressions ] | [ BeamEvent > ] |
1.1.10 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):
'BassFigureEvent
Name 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 ] | [ BeamForbidEvent > ] |
1.1.11 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):
'BeamEvent
Name 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.12 BeamForbidEvent
Specify that a note may not auto-beamed.
Event classes: beam-forbid-event, music-event and StreamEvent.
Accepted by: Auto_beam_engraver and Grace_auto_beam_engraver.
Properties:
name
(symbol):
'BeamForbidEvent
Name 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 ] | [ BreakDynamicSpanEvent > ] |
1.1.13 BendAfterEvent
A drop/fall/doit jazz articulation.
Event classes: bend-after-event, music-event and StreamEvent.
Accepted by: Bend_engraver.
Properties:
name
(symbol):
'BendAfterEvent
Name of this music object.
types
(list): '(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 ] | [ BreathingEvent > ] |
1.1.14 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):
'BreakDynamicSpanEvent
Name 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 ] | [ ClusterNoteEvent > ] |
1.1.15 BreathingEvent
Create a ‘breath mark’ or ‘comma’.
Syntax: note\breathe
Event classes: breathing-event, music-event and StreamEvent.
Accepted by: Breathing_sign_engraver and Note_performer.
Properties:
midi-length
(procedure):
breathe::midi-length
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).
name
(symbol):
'BreathingEvent
Name 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 ] | [ CompletizeExtenderEvent > ] |
1.1.16 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::constructor
Function to construct a
music-event-iterator
object for this music.name
(symbol):
'ClusterNoteEvent
Name 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 ] | [ ContextChange > ] |
1.1.17 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):
'CompletizeExtenderEvent
Name 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.18 ContextChange
Change staves in Piano staff.
Syntax: \change Staff = new-id
Properties:
iterator-ctor
(procedure):
ly:change-iterator::constructor
Function to construct a
music-event-iterator
object for this music.name
(symbol):
'ContextChange
Name 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.19 ContextSpeccedMusic
Interpret the argument music within a specific context.
Properties:
iterator-ctor
(procedure):
ly:context-specced-music-iterator::constructor
Function to construct a
music-event-iterator
object for this music.length-callback
(procedure):
ly:music-wrapper::length-callback
How to compute the duration of this music. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
name
(symbol):
'ContextSpeccedMusic
Name of this music object.
start-callback
(procedure):
ly:music-wrapper::start-callback
Function to compute the negative length of starting grace notes. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
types
(list): '(context-specification music-wrapper-music)The types of this music object; determines by what engraver this music expression is processed.
[ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < ContextSpeccedMusic ] | [ Up : Music expressions ] | [ DecrescendoEvent > ] |
1.1.20 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):
'CrescendoEvent
Name 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 ] | [ DoublePercentEvent > ] |
1.1.21 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):
'DecrescendoEvent
Name 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.22 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):
'DoublePercentEvent
Name 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.23 DurationLineEvent
Initiate a duration line.
Syntax: note\-
Event classes: duration-line-event, music-event and StreamEvent.
Accepted by: Duration_line_engraver.
Properties:
name
(symbol):
'DurationLineEvent
Name 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.24 EpisemaEvent
Begin or end an episema.
Event classes: episema-event, music-event, span-event and StreamEvent.
Accepted by: Episema_engraver.
Properties:
name
(symbol):
'EpisemaEvent
Name 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.25 Event
Atomic music event.
Properties:
name
(symbol):
'Event
Name 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 >> ] |
[ < Event ] | [ Up : Music expressions ] | [ ExtenderEvent > ] |
1.1.26 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::constructor
Function to construct a
music-event-iterator
object for this music.length-callback
(procedure):
ly:music-sequence::event-chord-length-callback
How to compute the duration of this music. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
name
(symbol):
'EventChord
Name of this music object.
to-relative-callback
(procedure):
ly:music-sequence::event-chord-relative-callback
How to transform a piece of music to relative pitches.
types
(list): '(event-chord simultaneous-music)The types of this music object; determines by what engraver this music expression is processed.
[ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < EventChord ] | [ Up : Music expressions ] | [ FingeringEvent > ] |
1.1.27 ExtenderEvent
Extend lyrics.
Event classes: extender-event, music-event and StreamEvent.
Accepted by: Extender_engraver.
Properties:
name
(symbol):
'ExtenderEvent
Name of this music object.
types
(list): '(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 ] | [ FootnoteEvent > ] |
1.1.28 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):
'FingeringEvent
Name 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.29 FootnoteEvent
Footnote a grob.
Event classes: footnote-event, music-event and StreamEvent.
Not accepted by any engraver or performer.
Properties:
name
(symbol):
'FootnoteEvent
Name 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.30 GlissandoEvent
Start a glissando on this note.
Event classes: glissando-event, music-event and StreamEvent.
Accepted by: Glissando_engraver.
Properties:
name
(symbol):
'GlissandoEvent
Name of this music object.
types
(list): '(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.31 GraceMusic
Interpret the argument as grace notes.
Properties:
iterator-ctor
(procedure):
ly:grace-iterator::constructor
Function to construct a
music-event-iterator
object for this music.length
(moment):
#<Mom 0>
The duration of this music.
name
(symbol):
'GraceMusic
Name of this music object.
start-callback
(procedure):
ly:grace-music::start-callback
Function to compute the negative length of starting grace notes. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
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.32 HarmonicEvent
Mark a note as harmonic.
Event classes: harmonic-event, music-event and StreamEvent.
Not accepted by any engraver or performer.
Properties:
name
(symbol):
'HarmonicEvent
Name 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 ] | [ KeyChangeEvent > ] |
1.1.33 HyphenEvent
A hyphen between lyric syllables.
Event classes: hyphen-event, music-event and StreamEvent.
Accepted by: Hyphen_engraver.
Properties:
name
(symbol):
'HyphenEvent
Name of this music object.
types
(list): '(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 ] | [ LabelEvent > ] |
1.1.34 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):
'KeyChangeEvent
Name of this music object.
to-relative-callback
(procedure):
#<procedure #f (x p)>
How to transform a piece of music to relative pitches.
types
(list): '(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.35 LabelEvent
Place a bookmarking label.
Event classes: label-event, music-event and StreamEvent.
Accepted by: Paper_column_engraver.
Properties:
name
(symbol):
'LabelEvent
Name of this music object.
types
(list): '(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.36 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):
'LaissezVibrerEvent
Name 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.37 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):
'LigatureEvent
Name 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.38 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):
'LineBreakEvent
Name 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.39 LyricCombineMusic
Align lyrics to the start of notes.
Syntax: \lyricsto
voicename lyrics
Properties:
iterator-ctor
(procedure):
ly:lyric-combine-music-iterator::constructor
Function to construct a
music-event-iterator
object for this music.length
(moment):
#<Mom 0>
The duration of this music.
name
(symbol):
'LyricCombineMusic
Name 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 ] | [ MarkEvent > ] |
1.1.40 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: Lyric_engraver and Lyric_performer.
Properties:
iterator-ctor
(procedure):
ly:rhythmic-music-iterator::constructor
Function to construct a
music-event-iterator
object for this music.name
(symbol):
'LyricEvent
Name 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 ] | [ MeasureCounterEvent > ] |
1.1.41 MarkEvent
Insert a rehearsal mark.
Syntax: \mark
marker
Example: \mark "A"
Event classes: mark-event, music-event and StreamEvent.
Accepted by: Mark_engraver.
Properties:
name
(symbol):
'MarkEvent
Name of this music object.
types
(list): '(mark-event event)The types of this music object; determines by what engraver this music expression is processed.
[ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < MarkEvent ] | [ Up : Music expressions ] | [ MeasureSpannerEvent > ] |
1.1.42 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):
'MeasureCounterEvent
Name 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.43 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):
'MeasureSpannerEvent
Name 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.44 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):
'MultiMeasureArticulationEvent
Name 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.45 MultiMeasureRestEvent
Used internally by MultiMeasureRestMusic
to signal rests.
Event classes: multi-measure-rest-event, music-event, rhythmic-event and StreamEvent.
Accepted by: Multi_measure_rest_engraver.
Properties:
iterator-ctor
(procedure):
ly:rhythmic-music-iterator::constructor
Function to construct a
music-event-iterator
object for this music.name
(symbol):
'MultiMeasureRestEvent
Name of this music object.
types
(list): '(event rhythmic-event multi-measure-rest-event)The types of this music object; determines by what engraver this music expression is processed.
[ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < MultiMeasureRestEvent ] | [ Up : Music expressions ] | [ MultiMeasureTextEvent > ] |
1.1.46 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-list
Return a list of children, for use by a sequential iterator. Takes a single music parameter.
iterator-ctor
(procedure):
ly:sequential-iterator::constructor
Function to construct a
music-event-iterator
object for this music.name
(symbol):
'MultiMeasureRestMusic
Name 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.47 MultiMeasureTextEvent
Texts on multi-measure rests.
Syntax: R-\markup { \roman "bla" }
Note the explicit font switch.
Event classes: multi-measure-text-event, music-event and StreamEvent.
Accepted by: Multi_measure_rest_engraver.
Properties:
name
(symbol):
'MultiMeasureTextEvent
Name 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 ] | [ NoteEvent > ] |
1.1.48 Music
Generic type for music expressions.
Properties:
name
(symbol):
'Music
Name of this music object.
types
(list):
'()
The types of this music object; determines by what engraver this music expression is processed.
[ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < Music ] | [ Up : Music expressions ] | [ NoteGroupingEvent > ] |
1.1.49 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 section EventChord.
Event classes: melodic-event, music-event, note-event, rhythmic-event and StreamEvent.
Accepted by: Chord_name_engraver, Completion_heads_engraver, Drum_note_performer, Drum_notes_engraver, Fretboard_engraver, Note_heads_engraver, Note_name_engraver, Note_performer, Part_combine_engraver, Phrasing_slur_engraver, Slur_engraver and Tab_note_heads_engraver.
Properties:
iterator-ctor
(procedure):
ly:rhythmic-music-iterator::constructor
Function to construct a
music-event-iterator
object for this music.name
(symbol):
'NoteEvent
Name 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 ] | [ OttavaMusic > ] |
1.1.50 NoteGroupingEvent
Start or stop grouping brackets.
Event classes: music-event, note-grouping-event and StreamEvent.
Accepted by: Horizontal_bracket_engraver.
Properties:
name
(symbol):
'NoteGroupingEvent
Name 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 ] | [ OverrideProperty > ] |
1.1.51 OttavaMusic
Start or stop an ottava bracket.
Properties:
elements-callback
(procedure):
make-ottava-set
Return a list of children, for use by a sequential iterator. Takes a single music parameter.
iterator-ctor
(procedure):
ly:sequential-iterator::constructor
Function to construct a
music-event-iterator
object for this music.name
(symbol):
'OttavaMusic
Name of this music object.
types
(list): '(ottava-music)The types of this music object; determines by what engraver this music expression is processed.
[ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < OttavaMusic ] | [ Up : Music expressions ] | [ PageBreakEvent > ] |
1.1.52 OverrideProperty
Extend the definition of a graphical object.
Syntax: \override
[ context .
]
object property =
value
Properties:
iterator-ctor
(procedure):
ly:push-property-iterator::constructor
Function to construct a
music-event-iterator
object for this music.name
(symbol):
'OverrideProperty
Name 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):
#t
If set, this music is not transposed.
[ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < OverrideProperty ] | [ Up : Music expressions ] | [ PageTurnEvent > ] |
1.1.53 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):
'PageBreakEvent
Name 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 ] | [ PartCombineMusic > ] |
1.1.54 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):
'PageTurnEvent
Name 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 ] | [ PartCombinePartMusic > ] |
1.1.55 PartCombineMusic
Combine two parts on a staff, either merged or as separate voices.
Properties:
iterator-ctor
(procedure):
ly:part-combine-iterator::constructor
Function to construct a
music-event-iterator
object for this music.length-callback
(procedure):
ly:music-sequence::maximum-length-callback
How to compute the duration of this music. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
name
(symbol):
'PartCombineMusic
Name of this music object.
start-callback
(procedure):
ly:music-sequence::minimum-start-callback
Function to compute the negative length of starting grace notes. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
types
(list): '(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.56 PartCombinePartMusic
A part to be combined with other parts on a staff.
Properties:
iterator-ctor
(procedure):
ly:part-combine-part-iterator::constructor
Function to construct a
music-event-iterator
object for this music.length-callback
(procedure):
ly:music-wrapper::length-callback
How to compute the duration of this music. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
name
(symbol):
'PartCombinePartMusic
Name of this music object.
start-callback
(procedure):
ly:music-wrapper::start-callback
Function to compute the negative length of starting grace notes. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
types
(list): '(part-combine-part-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 >> ] |
[ < PartCombinePartMusic ] | [ Up : Music expressions ] | [ PercentEvent > ] |
1.1.57 PartialSet
Create an anacrusis or upbeat (partial measure).
Properties:
iterator-ctor
(procedure):
ly:partial-iterator::constructor
Function to construct a
music-event-iterator
object for this music.length-callback
(procedure):
ly:music-sequence::cumulative-length-callback
How to compute the duration of this music. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
name
(symbol):
'PartialSet
Name 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.58 PercentEvent
Used internally to signal percent repeats.
Event classes: music-event, percent-event and StreamEvent.
Accepted by: Percent_repeat_engraver.
Properties:
name
(symbol):
'PercentEvent
Name 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 ] | [ PesOrFlexaEvent > ] |
1.1.59 PercentRepeatedMusic
Repeats encoded by percents and slashes.
Properties:
iterator-ctor
(procedure):
ly:percent-repeat-iterator::constructor
Function to construct a
music-event-iterator
object for this music.length-callback
(procedure):
ly:repeated-music::unfolded-music-length
How to compute the duration of this music. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
name
(symbol):
'PercentRepeatedMusic
Name of this music object.
start-callback
(procedure):
ly:repeated-music::first-start
Function to compute the negative length of starting grace notes. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
types
(list): '(repeated-music percent-repeated-music)The types of this music object; determines by what engraver this music expression is processed.
[ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < PercentRepeatedMusic ] | [ Up : Music expressions ] | [ PhrasingSlurEvent > ] |
1.1.60 PesOrFlexaEvent
Within a ligature, mark the previous and the following note to form a pes (if melody goes up) or a flexa (if melody goes down).
Event classes: music-event, pes-or-flexa-event and StreamEvent.
Accepted by: Vaticana_ligature_engraver.
Properties:
name
(symbol):
'PesOrFlexaEvent
Name of this music object.
types
(list): '(pes-or-flexa-event event)The types of this music object; determines by what engraver this music expression is processed.
[ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < PesOrFlexaEvent ] | [ Up : Music expressions ] | [ PostEvents > ] |
1.1.61 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):
'PhrasingSlurEvent
Name 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 ] | [ PropertySet > ] |
1.1.62 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):
'PostEvents
Name 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.63 PropertySet
Set a context property.
Syntax: \set context.prop = scheme-val
Properties:
iterator-ctor
(procedure):
ly:property-iterator::constructor
Function to construct a
music-event-iterator
object for this music.name
(symbol):
'PropertySet
Name 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):
#t
If set, this music is not transposed.
[ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < PropertySet ] | [ Up : Music expressions ] | [ QuoteMusic > ] |
1.1.64 PropertyUnset
Restore the default setting for a context property. See PropertySet.
Syntax: \unset context.prop
Properties:
iterator-ctor
(procedure):
ly:property-unset-iterator::constructor
Function to construct a
music-event-iterator
object for this music.name
(symbol):
'PropertyUnset
Name 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 ] | [ RelativeOctaveCheck > ] |
1.1.65 QuoteMusic
Quote preprocessed snippets of music.
Properties:
iterator-ctor
(procedure):
ly:music-wrapper-iterator::constructor
Function to construct a
music-event-iterator
object for this music.length-callback
(procedure):
ly:music-wrapper::length-callback
How to compute the duration of this music. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
name
(symbol):
'QuoteMusic
Name of this music object.
start-callback
(procedure):
ly:music-wrapper::start-callback
Function to compute the negative length of starting grace notes. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
types
(list): '(music-wrapper-music)The types of this music object; determines by what engraver this music expression is processed.
[ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < QuoteMusic ] | [ Up : Music expressions ] | [ RelativeOctaveMusic > ] |
1.1.66 RelativeOctaveCheck
Check if a pitch is in the correct octave.
Properties:
name
(symbol):
'RelativeOctaveCheck
Name of this music object.
to-relative-callback
(procedure):
ly:relative-octave-check::relative-callback
How to transform a piece of music to relative pitches.
types
(list): '(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.67 RelativeOctaveMusic
Music in which the assignment of octaves is complete.
Properties:
iterator-ctor
(procedure):
ly:music-wrapper-iterator::constructor
Function to construct a
music-event-iterator
object for this music.length-callback
(procedure):
ly:music-wrapper::length-callback
How to compute the duration of this music. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
name
(symbol):
'RelativeOctaveMusic
Name of this music object.
start-callback
(procedure):
ly:music-wrapper::start-callback
Function to compute the negative length of starting grace notes. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
to-relative-callback
(procedure):
ly:relative-octave-music::relative-callback
How 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.68 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):
'RepeatSlashEvent
Name 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.69 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):
'RepeatTieEvent
Name 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.70 RestEvent
A Rest.
Syntax: r4
for a quarter rest.
Event classes: music-event, rest-event, rhythmic-event and StreamEvent.
Accepted by: Chord_name_engraver, Completion_rest_engraver, Figured_bass_engraver and Rest_engraver.
Properties:
iterator-ctor
(procedure):
ly:rhythmic-music-iterator::constructor
Function to construct a
music-event-iterator
object for this music.name
(symbol):
'RestEvent
Name of this music object.
types
(list): '(event rhythmic-event rest-event)The types of this music object; determines by what engraver this music expression is processed.
[ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < RestEvent ] | [ Up : Music expressions ] | [ ScriptEvent > ] |
1.1.71 RevertProperty
The opposite of OverrideProperty: remove a previously added property from a graphical object definition.
Properties:
iterator-ctor
(procedure):
ly:pop-property-iterator::constructor
Function to construct a
music-event-iterator
object for this music.name
(symbol):
'RevertProperty
Name 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 ] | [ SequentialMusic > ] |
1.1.72 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):
'ScriptEvent
Name 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 ] | [ SimultaneousMusic > ] |
1.1.73 SequentialMusic
Music expressions concatenated.
Syntax: \sequential { … }
or simply { … }
Properties:
elements-callback
(procedure):
#<procedure #f (m)>
Return a list of children, for use by a sequential iterator. Takes a single music parameter.
iterator-ctor
(procedure):
ly:sequential-iterator::constructor
Function to construct a
music-event-iterator
object for this music.length-callback
(procedure):
ly:music-sequence::cumulative-length-callback
How to compute the duration of this music. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
name
(symbol):
'SequentialMusic
Name of this music object.
start-callback
(procedure):
ly:music-sequence::first-start-callback
Function to compute the negative length of starting grace notes. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
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.74 SimultaneousMusic
Music playing together.
Syntax: \simultaneous { … }
or << … >>
Properties:
iterator-ctor
(procedure):
ly:simultaneous-music-iterator::constructor
Function to construct a
music-event-iterator
object for this music.length-callback
(procedure):
ly:music-sequence::maximum-length-callback
How to compute the duration of this music. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
name
(symbol):
'SimultaneousMusic
Name of this music object.
start-callback
(procedure):
ly:music-sequence::minimum-start-callback
Function to compute the negative length of starting grace notes. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
to-relative-callback
(procedure):
ly:music-sequence::simultaneous-relative-callback
How 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.75 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::constructor
Function to construct a
music-event-iterator
object for this music.name
(symbol):
'SkipEvent
Name 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 ] | [ SlurEvent > ] |
1.1.76 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::constructor
Function to construct a
music-event-iterator
object for this music.length-callback
(procedure):
ly:music-duration-length
How to compute the duration of this music. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
name
(symbol):
'SkipMusic
Name 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 ] | [ SoloOneEvent > ] |
1.1.77 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):
'SlurEvent
Name 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 ] | [ SoloTwoEvent > ] |
1.1.78 SoloOneEvent
Print ‘Solo 1’.
Event classes: music-event, part-combine-event, solo-one-event and StreamEvent.
Accepted by: Part_combine_engraver.
Properties:
name
(symbol):
'SoloOneEvent
Name of this music object.
part-combine-status
(symbol):
'solo1
Change to what kind of state? Options are
solo1
,solo2
andunisono
.types
(list): '(event part-combine-event solo-one-event)The types of this music object; determines by what engraver this music expression is processed.
[ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < SoloOneEvent ] | [ Up : Music expressions ] | [ SostenutoEvent > ] |
1.1.79 SoloTwoEvent
Print ‘Solo 2’.
Event classes: music-event, part-combine-event, solo-two-event and StreamEvent.
Accepted by: Part_combine_engraver.
Properties:
name
(symbol):
'SoloTwoEvent
Name of this music object.
part-combine-status
(symbol):
'solo2
Change to what kind of state? Options are
solo1
,solo2
andunisono
.types
(list): '(event part-combine-event solo-two-event)The types of this music object; determines by what engraver this music expression is processed.
[ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < SoloTwoEvent ] | [ Up : Music expressions ] | [ SpacingSectionEvent > ] |
1.1.80 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):
'SostenutoEvent
Name 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.81 SpacingSectionEvent
Start a new spacing section.
Event classes: music-event, spacing-section-event and StreamEvent.
Accepted by: Spacing_engraver.
Properties:
name
(symbol):
'SpacingSectionEvent
Name 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 ] | [ StaffSpanEvent > ] |
1.1.82 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):
'SpanEvent
Name 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 ] | [ StringNumberEvent > ] |
1.1.83 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):
'StaffSpanEvent
Name 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 ] | [ StrokeFingerEvent > ] |
1.1.84 StringNumberEvent
Specify on which string to play this note.
Syntax: \number
Event classes: music-event, StreamEvent and string-number-event.
Accepted by: Fretboard_engraver and Tab_note_heads_engraver.
Properties:
name
(symbol):
'StringNumberEvent
Name 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.85 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):
'StrokeFingerEvent
Name 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.86 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):
'SustainEvent
Name 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 ] | [ TextScriptEvent > ] |
1.1.87 TempoChangeEvent
A metronome mark or tempo indication.
Event classes: music-event, StreamEvent and tempo-change-event.
Accepted by: Metronome_mark_engraver.
Properties:
name
(symbol):
'TempoChangeEvent
Name 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 ] | [ TextSpanEvent > ] |
1.1.88 TextScriptEvent
Print text.
Event classes: music-event, script-event, StreamEvent and text-script-event.
Accepted by: Text_engraver.
Properties:
name
(symbol):
'TextScriptEvent
Name 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.89 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):
'TextSpanEvent
Name 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.90 TieEvent
A tie.
Syntax: note-~
Event classes: music-event, StreamEvent and tie-event.
Accepted by: Note_performer, Tie_engraver and Tie_performer.
Properties:
name
(symbol):
'TieEvent
Name 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 ] | [ TimeSignatureEvent > ] |
1.1.91 TimeScaledMusic
Multiply durations, as in tuplets.
Syntax: \times fraction music
, e.g.,
\times 2/3 { … }
for triplets.
Properties:
iterator-ctor
(procedure):
ly:tuplet-iterator::constructor
Function to construct a
music-event-iterator
object for this music.length-callback
(procedure):
ly:music-wrapper::length-callback
How to compute the duration of this music. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
name
(symbol):
'TimeScaledMusic
Name of this music object.
start-callback
(procedure):
ly:music-wrapper::start-callback
Function to compute the negative length of starting grace notes. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
types
(list): '(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 ] | [ TimeSignatureMusic > ] |
1.1.92 TimeSignatureEvent
An event created when setting a new time signature
Event classes: music-event, StreamEvent and time-signature-event.
Accepted by: Time_signature_engraver.
Properties:
name
(symbol):
'TimeSignatureEvent
Name of this music object.
types
(list): '(event time-signature-event)The types of this music object; determines by what engraver this music expression is processed.
[ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < TimeSignatureEvent ] | [ Up : Music expressions ] | [ TransposedMusic > ] |
1.1.93 TimeSignatureMusic
Set a new time signature
Properties:
elements-callback
(procedure):
make-time-signature-set
Return a list of children, for use by a sequential iterator. Takes a single music parameter.
iterator-ctor
(procedure):
ly:sequential-iterator::constructor
Function to construct a
music-event-iterator
object for this music.name
(symbol):
'TimeSignatureMusic
Name of this music object.
types
(list): '(time-signature-music)The types of this music object; determines by what engraver this music expression is processed.
[ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < TimeSignatureMusic ] | [ Up : Music expressions ] | [ TremoloEvent > ] |
1.1.94 TransposedMusic
Music that has been transposed.
Properties:
iterator-ctor
(procedure):
ly:music-wrapper-iterator::constructor
Function to construct a
music-event-iterator
object for this music.length-callback
(procedure):
ly:music-wrapper::length-callback
How to compute the duration of this music. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
name
(symbol):
'TransposedMusic
Name of this music object.
start-callback
(procedure):
ly:music-wrapper::start-callback
Function to compute the negative length of starting grace notes. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
to-relative-callback
(procedure):
ly:relative-octave-music::no-relative-callback
How to transform a piece of music to relative pitches.
types
(list): '(music-wrapper-music 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.95 TremoloEvent
Unmeasured tremolo.
Event classes: music-event, StreamEvent and tremolo-event.
Accepted by: Stem_engraver.
Properties:
name
(symbol):
'TremoloEvent
Name 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.96 TremoloRepeatedMusic
Repeated notes denoted by tremolo beams.
Properties:
iterator-ctor
(procedure):
ly:chord-tremolo-iterator::constructor
Function to construct a
music-event-iterator
object for this music.length-callback
(procedure):
ly:repeated-music::unfolded-music-length
How to compute the duration of this music. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
name
(symbol):
'TremoloRepeatedMusic
Name of this music object.
start-callback
(procedure):
ly:repeated-music::first-start
Function to compute the negative length of starting grace notes. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
types
(list): '(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.97 TremoloSpanEvent
Tremolo over two stems.
Event classes: music-event, span-event, StreamEvent and tremolo-span-event.
Accepted by: Chord_tremolo_engraver.
Properties:
name
(symbol):
'TremoloSpanEvent
Name 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.98 TrillSpanEvent
Start a trill spanner.
Event classes: music-event, span-event, StreamEvent and trill-span-event.
Accepted by: Trill_spanner_engraver.
Properties:
name
(symbol):
'TrillSpanEvent
Name 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.99 TupletSpanEvent
Used internally to signal where tuplet brackets start and stop.
Event classes: music-event, span-event, StreamEvent and tuplet-span-event.
Accepted by: Stem_engraver and Tuplet_engraver.
Properties:
name
(symbol):
'TupletSpanEvent
Name 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.100 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):
'UnaCordaEvent
Name 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 ] | [ UnisonoEvent > ] |
1.1.101 UnfoldedRepeatedMusic
Repeated music which is fully written (and played) out.
Properties:
elements-callback
(procedure):
make-unfolded-set
Return a list of children, for use by a sequential iterator. Takes a single music parameter.
iterator-ctor
(procedure):
ly:sequential-iterator::constructor
Function to construct a
music-event-iterator
object for this music.length-callback
(procedure):
ly:repeated-music::unfolded-music-length
How to compute the duration of this music. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
name
(symbol):
'UnfoldedRepeatedMusic
Name of this music object.
start-callback
(procedure):
ly:repeated-music::first-start
Function to compute the negative length of starting grace notes. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
types
(list): '(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.102 UnisonoEvent
Print ‘a 2’.
Event classes: music-event, part-combine-event, StreamEvent and unisono-event.
Accepted by: Part_combine_engraver.
Properties:
name
(symbol):
'UnisonoEvent
Name of this music object.
part-combine-status
(symbol):
'unisono
Change to what kind of state? Options are
solo1
,solo2
andunisono
.types
(list): '(event part-combine-event unisono-event)The types of this music object; determines by what engraver this music expression is processed.
[ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < UnisonoEvent ] | [ Up : Music expressions ] | [ VoiceSeparator > ] |
1.1.103 UnrelativableMusic
Music that cannot be converted from relative to absolute notation. For example, transposed music.
Properties:
iterator-ctor
(procedure):
ly:music-wrapper-iterator::constructor
Function to construct a
music-event-iterator
object for this music.length-callback
(procedure):
ly:music-wrapper::length-callback
How to compute the duration of this music. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
name
(symbol):
'UnrelativableMusic
Name of this music object.
start-callback
(procedure):
ly:music-wrapper::start-callback
Function to compute the negative length of starting grace notes. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
to-relative-callback
(procedure):
ly:relative-octave-music::no-relative-callback
How to transform a piece of music to relative pitches.
types
(list): '(music-wrapper-music unrelativable-music)The types of this music object; determines by what engraver this music expression is processed.
[ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < UnrelativableMusic ] | [ Up : Music expressions ] | [ VoltaRepeatedMusic > ] |
1.1.104 VoiceSeparator
Separate polyphonic voices in simultaneous music.
Syntax: \\
Properties:
name
(symbol):
'VoiceSeparator
Name 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 ] | [ VowelTransitionEvent > ] |
1.1.105 VoltaRepeatedMusic
Repeats with alternatives placed sequentially.
Properties:
elements-callback
(procedure):
make-volta-set
Return a list of children, for use by a sequential iterator. Takes a single music parameter.
iterator-ctor
(procedure):
ly:volta-repeat-iterator::constructor
Function to construct a
music-event-iterator
object for this music.length-callback
(procedure):
ly:repeated-music::volta-music-length
How to compute the duration of this music. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
name
(symbol):
'VoltaRepeatedMusic
Name of this music object.
start-callback
(procedure):
ly:repeated-music::first-start
Function to compute the negative length of starting grace notes. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
types
(list): '(repeated-music volta-repeated-music)The types of this music object; determines by what engraver this music expression is processed.
[ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < VoltaRepeatedMusic ] | [ Up : Music expressions ] | [ Music classes > ] |
1.1.106 VowelTransitionEvent
A vowel transition between lyric syllables.
Event classes: music-event, StreamEvent and vowel-transition-event.
Accepted by: Hyphen_engraver.
Properties:
name
(symbol):
'VowelTransitionEvent
Name 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 ] | [ alternative-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 ] | [ annotate-output-event > ] |
1.2.2 alternative-event
Music event type alternative-event
is in music objects of type AlternativeEvent.
Accepted by: Bar_number_engraver.
[ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < alternative-event ] | [ Up : Music classes ] | [ apply-output-event > ] |
1.2.3 annotate-output-event
Music event type annotate-output-event
is in music objects of type AnnotateOutputEvent.
Accepted by: Balloon_engraver.
[ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < annotate-output-event ] | [ Up : Music classes ] | [ arpeggio-event > ] |
1.2.4 apply-output-event
Music event type apply-output-event
is in music objects of type ApplyOutputEvent.
Accepted by: Output_property_engraver.
[ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < apply-output-event ] | [ Up : Music classes ] | [ articulation-event > ] |
1.2.5 arpeggio-event
Music event type arpeggio-event
is in music objects of type ArpeggioEvent.
Accepted by: Arpeggio_engraver.
[ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < arpeggio-event ] | [ Up : Music classes ] | [ bass-figure-event > ] |
1.2.6 articulation-event
Music event type articulation-event
is in music objects of type ArticulationEvent.
Accepted by: Note_performer and Script_engraver.
[ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < articulation-event ] | [ Up : Music classes ] | [ beam-event > ] |
1.2.7 bass-figure-event
Music event type bass-figure-event
is in music objects of type BassFigureEvent.
Accepted by: Figured_bass_engraver.
[ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < bass-figure-event ] | [ Up : Music classes ] | [ beam-forbid-event > ] |
1.2.8 beam-event
Music event type beam-event
is in music objects of type BeamEvent.
Accepted by: Beam_engraver, Beam_performer and Grace_beam_engraver.
[ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < beam-event ] | [ Up : Music classes ] | [ bend-after-event > ] |
1.2.9 beam-forbid-event
Music event type beam-forbid-event
is in music objects of type BeamForbidEvent.
Accepted by: Auto_beam_engraver and Grace_auto_beam_engraver.
[ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < beam-forbid-event ] | [ Up : Music classes ] | [ break-dynamic-span-event > ] |
1.2.10 bend-after-event
Music event type bend-after-event
is in music objects of type BendAfterEvent.
Accepted by: Bend_engraver.
[ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < bend-after-event ] | [ Up : Music classes ] | [ break-event > ] |
1.2.11 break-dynamic-span-event
Music event type break-dynamic-span-event
is in music objects of type BreakDynamicSpanEvent.
Not accepted by any engraver or performer.
[ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < break-dynamic-span-event ] | [ Up : Music classes ] | [ break-span-event > ] |
1.2.12 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.13 break-span-event
Music event type break-span-event
is in music objects of type BreakDynamicSpanEvent.
Accepted by: Dynamic_engraver.
[ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < break-span-event ] | [ Up : Music classes ] | [ cluster-note-event > ] |
1.2.14 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 ] | [ completize-extender-event > ] |
1.2.15 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 ] | [ crescendo-event > ] |
1.2.16 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 ] | [ decrescendo-event > ] |
1.2.17 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 ] | [ double-percent-event > ] |
1.2.18 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.19 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.20 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.21 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.22 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 ] | [ fingering-event > ] |
1.2.23 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 ] | [ footnote-event > ] |
1.2.24 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 ] | [ glissando-event > ] |
1.2.25 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 ] | [ harmonic-event > ] |
1.2.26 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.27 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.28 hyphen-event
Music event type hyphen-event
is in music objects of type HyphenEvent.
Accepted by: Hyphen_engraver.
[ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < hyphen-event ] | [ Up : Music classes ] | [ label-event > ] |
1.2.29 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.30 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.31 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.32 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.33 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.34 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.35 lyric-event
Music event type lyric-event
is in music objects of type LyricEvent.
Accepted by: Lyric_engraver and Lyric_performer.
[ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < lyric-event ] | [ Up : Music classes ] | [ measure-counter-event > ] |
1.2.36 mark-event
Music event type mark-event
is in music objects of type MarkEvent.
Accepted by: Mark_engraver.
[ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < mark-event ] | [ Up : Music classes ] | [ measure-spanner-event > ] |
1.2.37 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.38 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.39 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.40 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.41 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.42 multi-measure-text-event
Music event type multi-measure-text-event
is in music objects of type MultiMeasureTextEvent.
Accepted by: Multi_measure_rest_engraver.
[ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < multi-measure-text-event ] | [ Up : Music classes ] | [ note-event > ] |
1.2.43 music-event
Music event type music-event
is in music objects of type AbsoluteDynamicEvent, AlternativeEvent, AnnotateOutputEvent, ApplyOutputEvent, ArpeggioEvent, ArticulationEvent, BassFigureEvent, BeamEvent, BeamForbidEvent, BendAfterEvent, BreakDynamicSpanEvent, BreathingEvent, ClusterNoteEvent, CompletizeExtenderEvent, CrescendoEvent, DecrescendoEvent, DoublePercentEvent, DurationLineEvent, EpisemaEvent, ExtenderEvent, FingeringEvent, FootnoteEvent, GlissandoEvent, HarmonicEvent, HyphenEvent, KeyChangeEvent, LabelEvent, LaissezVibrerEvent, LigatureEvent, LineBreakEvent, LyricEvent, MarkEvent, MeasureCounterEvent, MeasureSpannerEvent, MultiMeasureArticulationEvent, MultiMeasureRestEvent, MultiMeasureTextEvent, NoteEvent, NoteGroupingEvent, PageBreakEvent, PageTurnEvent, PercentEvent, PesOrFlexaEvent, PhrasingSlurEvent, RepeatSlashEvent, RepeatTieEvent, RestEvent, ScriptEvent, SkipEvent, SlurEvent, SoloOneEvent, SoloTwoEvent, SostenutoEvent, SpacingSectionEvent, SpanEvent, StaffSpanEvent, StringNumberEvent, StrokeFingerEvent, SustainEvent, TempoChangeEvent, TextScriptEvent, TextSpanEvent, TieEvent, TimeSignatureEvent, TremoloEvent, TremoloSpanEvent, TrillSpanEvent, TupletSpanEvent, UnaCordaEvent, UnisonoEvent and VowelTransitionEvent.
Not accepted by any engraver or performer.
[ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < music-event ] | [ Up : Music classes ] | [ note-grouping-event > ] |
1.2.44 note-event
Music event type note-event
is in music objects of type NoteEvent.
Accepted by: Chord_name_engraver, Completion_heads_engraver, Drum_note_performer, Drum_notes_engraver, Fretboard_engraver, Note_heads_engraver, Note_name_engraver, Note_performer, Part_combine_engraver, Phrasing_slur_engraver, Slur_engraver and Tab_note_heads_engraver.
[ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < note-event ] | [ Up : Music classes ] | [ page-break-event > ] |
1.2.45 note-grouping-event
Music event type note-grouping-event
is in music objects of type NoteGroupingEvent.
Accepted by: Horizontal_bracket_engraver.
[ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < note-grouping-event ] | [ Up : Music classes ] | [ page-turn-event > ] |
1.2.46 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.47 page-turn-event
Music event type page-turn-event
is in music objects of type PageTurnEvent.
Not accepted by any engraver or performer.
[ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < page-turn-event ] | [ Up : Music classes ] | [ pedal-event > ] |
1.2.48 part-combine-event
Music event type part-combine-event
is in music objects of type SoloOneEvent, SoloTwoEvent and UnisonoEvent.
Accepted by: Part_combine_engraver.
[ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < part-combine-event ] | [ Up : Music classes ] | [ percent-event > ] |
1.2.49 pedal-event
Music event type pedal-event
is in music objects of type SostenutoEvent, SustainEvent and UnaCordaEvent.
Not accepted by any engraver or performer.
[ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < pedal-event ] | [ Up : Music classes ] | [ pes-or-flexa-event > ] |
1.2.50 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 ] | [ phrasing-slur-event > ] |
1.2.51 pes-or-flexa-event
Music event type pes-or-flexa-event
is in music objects of type PesOrFlexaEvent.
Accepted by: Vaticana_ligature_engraver.
[ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < pes-or-flexa-event ] | [ Up : Music classes ] | [ repeat-slash-event > ] |
1.2.52 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 ] | [ repeat-tie-event > ] |
1.2.53 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.54 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.55 rest-event
Music event type rest-event
is in music objects of type RestEvent.
Accepted by: Chord_name_engraver, Completion_rest_engraver, Figured_bass_engraver and Rest_engraver.
[ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < rest-event ] | [ Up : Music classes ] | [ script-event > ] |
1.2.56 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 ] | [ skip-event > ] |
1.2.57 script-event
Music event type script-event
is in music objects of type ArticulationEvent, ScriptEvent and TextScriptEvent.
Not accepted by any engraver or performer.
[ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < script-event ] | [ Up : Music classes ] | [ slur-event > ] |
1.2.58 skip-event
Music event type skip-event
is in music objects of type SkipEvent.
Not accepted by any engraver or performer.
[ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < skip-event ] | [ Up : Music classes ] | [ solo-one-event > ] |
1.2.59 slur-event
Music event type slur-event
is in music objects of type SlurEvent.
Accepted by: Slur_engraver and Slur_performer.
[ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < slur-event ] | [ Up : Music classes ] | [ solo-two-event > ] |
1.2.60 solo-one-event
Music event type solo-one-event
is in music objects of type SoloOneEvent.
Not accepted by any engraver or performer.
[ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < solo-one-event ] | [ Up : Music classes ] | [ sostenuto-event > ] |
1.2.61 solo-two-event
Music event type solo-two-event
is in music objects of type SoloTwoEvent.
Not accepted by any engraver or performer.
[ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < solo-two-event ] | [ Up : Music classes ] | [ spacing-section-event > ] |
1.2.62 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.63 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.64 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-span-event > ] |
1.2.65 span-event
Music event type span-event
is in music objects of type BeamEvent, CrescendoEvent, DecrescendoEvent, EpisemaEvent, LigatureEvent, MeasureCounterEvent, MeasureSpannerEvent, PhrasingSlurEvent, SlurEvent, SostenutoEvent, SpanEvent, StaffSpanEvent, SustainEvent, TextSpanEvent, TremoloSpanEvent, TrillSpanEvent, TupletSpanEvent and UnaCordaEvent.
Not accepted by any engraver or performer.
[ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < span-event ] | [ Up : Music classes ] | [ StreamEvent > ] |
1.2.66 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 ] | [ string-number-event > ] |
1.2.67 StreamEvent
Music event type StreamEvent
is in music objects of type AbsoluteDynamicEvent, AlternativeEvent, AnnotateOutputEvent, ApplyOutputEvent, ArpeggioEvent, ArticulationEvent, BassFigureEvent, BeamEvent, BeamForbidEvent, BendAfterEvent, BreakDynamicSpanEvent, BreathingEvent, ClusterNoteEvent, CompletizeExtenderEvent, CrescendoEvent, DecrescendoEvent, DoublePercentEvent, DurationLineEvent, EpisemaEvent, ExtenderEvent, FingeringEvent, FootnoteEvent, GlissandoEvent, HarmonicEvent, HyphenEvent, KeyChangeEvent, LabelEvent, LaissezVibrerEvent, LigatureEvent, LineBreakEvent, LyricEvent, MarkEvent, MeasureCounterEvent, MeasureSpannerEvent, MultiMeasureArticulationEvent, MultiMeasureRestEvent, MultiMeasureTextEvent, NoteEvent, NoteGroupingEvent, PageBreakEvent, PageTurnEvent, PercentEvent, PesOrFlexaEvent, PhrasingSlurEvent, RepeatSlashEvent, RepeatTieEvent, RestEvent, ScriptEvent, SkipEvent, SlurEvent, SoloOneEvent, SoloTwoEvent, SostenutoEvent, SpacingSectionEvent, SpanEvent, StaffSpanEvent, StringNumberEvent, StrokeFingerEvent, SustainEvent, TempoChangeEvent, TextScriptEvent, TextSpanEvent, TieEvent, TimeSignatureEvent, TremoloEvent, TremoloSpanEvent, TrillSpanEvent, TupletSpanEvent, UnaCordaEvent, UnisonoEvent and VowelTransitionEvent.
Not accepted by any engraver or performer.
[ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < StreamEvent ] | [ Up : Music classes ] | [ stroke-finger-event > ] |
1.2.68 string-number-event
Music event type string-number-event
is in music objects of type StringNumberEvent.
Accepted by: Fretboard_engraver and Tab_note_heads_engraver.
[ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < string-number-event ] | [ Up : Music classes ] | [ sustain-event > ] |
1.2.69 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 ] | [ tempo-change-event > ] |
1.2.70 sustain-event
Music event type sustain-event
is in music objects of type SustainEvent.
Accepted by: Piano_pedal_engraver and Piano_pedal_performer.
[ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < sustain-event ] | [ Up : Music classes ] | [ text-script-event > ] |
1.2.71 tempo-change-event
Music event type tempo-change-event
is in music objects of type TempoChangeEvent.
Accepted by: Metronome_mark_engraver.
[ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < tempo-change-event ] | [ Up : Music classes ] | [ text-span-event > ] |
1.2.72 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.73 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.74 tie-event
Music event type tie-event
is in music objects of type TieEvent.
Accepted by: Note_performer, Tie_engraver and Tie_performer.
[ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < tie-event ] | [ Up : Music classes ] | [ tremolo-event > ] |
1.2.75 time-signature-event
Music event type time-signature-event
is in music objects of type TimeSignatureEvent.
Accepted by: Time_signature_engraver.
[ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < time-signature-event ] | [ Up : Music classes ] | [ tremolo-span-event > ] |
1.2.76 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.77 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.78 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.79 tuplet-span-event
Music event type tuplet-span-event
is in music objects of type TupletSpanEvent.
Accepted by: Stem_engraver and Tuplet_engraver.
[ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < tuplet-span-event ] | [ Up : Music classes ] | [ unisono-event > ] |
1.2.80 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 ] | [ vowel-transition-event > ] |
1.2.81 unisono-event
Music event type unisono-event
is in music objects of type UnisonoEvent.
Not accepted by any engraver or performer.
[ << Music definitions ] | [Top][Contents][Index] | [ Translation >> ] |
[ < unisono-event ] | [ Up : Music classes ] | [ Music properties > ] |
1.2.82 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.
-
alternative-dir
(direction) Indicates if an AlternativeMusic is the First (-1), Middle (0), or Last (1) of group of alternate endings.
-
alternative-increment
(integer) The number of times an alternative’s lettering should be incremented.
-
articulation-type
(string) Key for script definitions alist.
TODO: Consider making type into symbol.
-
articulations
(list of music objects) Articulation events specifically for this note.
-
associated-context
(string) Name of the context associated with this
\lyricsto
section.-
associated-context-type
(symbol) Type of the context associated with this
\lyricsto
section.-
augmented
(boolean) This figure is for an augmented figured bass (with
+
sign).-
augmented-slash
(boolean) This figure is for an augmented figured bass (back-slashed number).
-
automatically-numbered
(boolean) Should a footnote be automatically numbered?
-
autosplit-end
(boolean) Duration of event was truncated by automatic splitting in
Completion_heads_engraver
.-
bass
(boolean) Set if this note is a bass note in a chord.
-
beat-structure
(list) A beatStructure to be used in autobeaming.
-
bracket-start
(boolean) Start a bracket here.
TODO: Use SpanEvents?
-
bracket-stop
(boolean) Stop a bracket here.
-
break-penalty
(number) Penalty for line break hint.
-
break-permission
(symbol) Whether to allow, forbid or force a line break.
-
cautionary
(boolean) If set, this alteration needs a cautionary accidental.
-
change-to-id
(string) Name of the context to change to.
-
change-to-type
(symbol) Type of the context to change to.
-
class
(symbol) The class name of an event class.
-
context
(context) The context to which an event is sent.
-
context-change-list
(list) Context changes for
\autoChange
or\partCombine
.-
context-id
(string) Name of context.
-
context-type
(symbol) Type of context.
-
create-new
(boolean) Create a fresh context.
-
delta-step
(number) How much should a fall change pitch?
-
denominator
(integer) Denominator in a time signature.
-
digit
(integer) Digit for fingering.
-
diminished
(boolean) This bass figure should be slashed.
-
direction
(direction) Print this up or down?
-
drum-type
(symbol) Which percussion instrument to play this note on.
-
duration
(duration) Duration of this note or lyric.
-
element
(music) The single child of a Music_wrapper music object, or the body of a repeat.
-
elements
(list of music objects) A list of elements for sequential of simultaneous music, or the alternatives of repeated music.
-
elements-callback
(procedure) Return a list of children, for use by a sequential iterator. Takes a single music parameter.
-
error-found
(boolean) If true, a parsing error was found in this expression.
-
figure
(integer) A bass figure.
-
footnote-text
(markup) Text to appear in a footnote.
-
force-accidental
(boolean) If set, a cautionary accidental should always be printed on this note.
-
grob-property
(symbol) The symbol of the grob property to set.
-
grob-property-path
(list) A list of symbols, locating a nested grob property, e.g.,
(beamed-lengths details)
.-
grob-value
(any type) The value of the grob property to set.
-
id
(symbol) The ID of an event.
-
input-tag
(any type) Arbitrary marker to relate input and output.
-
inversion
(boolean) If set, this chord note is inverted.
-
iterator-ctor
(procedure) Function to construct a
music-event-iterator
object for this music.-
label
(integer or markup) Label of a mark.
-
last-pitch
(pitch) The last pitch after relativization.
-
length
(moment) The duration of this music.
-
length-callback
(procedure) How to compute the duration of this music. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
-
line-break-permission
(symbol) When the music is at top-level, whether to allow, forbid or force a line break.
-
metronome-count
(number or pair) How many beats in a minute?
-
midi-extra-velocity
(integer) How much louder or softer should this note be in MIDI output? The default is 0.
-
midi-length
(procedure) Function to determine how long to play a note in MIDI. It should take a moment (the written length of the note) and a context, and return a moment (the length to play the note).
-
moment
(moment) The moment at which an event happens.
-
music-cause
(music) The music object that is the cause of an event.
-
name
(symbol) Name of this music object.
-
no-continuation
(boolean) If set, disallow continuation lines.
-
numerator
(integer) Numerator of a time signature.
-
octavation
(integer) This pitch was octavated by how many octaves? For chord inversions, this is negative.
-
once
(boolean) Apply this operation only during one time step?
-
ops
(any type) The operations to apply during the creation of a context.
-
origin
(input location) Where was this piece of music defined?
-
ottava-number
(integer) The octavation for
\ottava
.-
page-break-permission
(symbol) When the music is at top-level, whether to allow, forbid or force a page break.
-
page-label
(symbol) The label of a page marker.
-
page-marker
(boolean) If true, and the music expression is found at top-level, a page marker object is instanciated instead of a score.
-
page-turn-permission
(symbol) When the music is at top-level, whether to allow, forbid or force a page turn.
-
parenthesize
(boolean) Enclose resulting objects in parentheses?
-
part-combine-status
(symbol) Change to what kind of state? Options are
solo1
,solo2
andunisono
.-
pitch
(pitch) The pitch of this note.
-
pitch-alist
(list) A list of pitches jointly forming the scale of a key signature.
-
pop-first
(boolean) Do a revert before we try to do an override on some grob property.
-
procedure
(procedure) The function to run with
\applycontext
. It must take a single argument, being the context.-
property-operations
(list) Do these operations for instantiating the context.
-
property-path
(symbol) The path of a property.
-
quoted-context-id
(string) The ID of the context to direct quotes to, e.g.,
cue
.-
quoted-context-type
(symbol) The name of the context to direct quotes to, e.g.,
Voice
.-
quoted-events
(vector) A vector of with
moment
andevent-list
entries.-
quoted-music-clef
(string) The clef of the voice to quote.
-
quoted-music-name
(string) The name of the voice to quote.
-
quoted-transposition
(pitch) The pitch used for the quote, overriding
\transposition
.-
quoted-voice-direction
(direction) Should the quoted voice be up-stem or down-stem?
-
repeat-count
(integer) Do a
\repeat
how often?-
search-direction
(direction) Limits the scope of
\context
searches.-
slash-count
(integer) The number of slashes in a single-beat repeat. If zero, signals a beat containing varying durations.
-
span-direction
(direction) Does this start or stop a spanner?
-
span-text
(markup) The displayed text for dynamic text spanners (e.g., cresc.)
-
span-type
(symbol) What kind of dynamic spanner should be created? Options are
'text
and'hairpin
.-
spanner-id
(index or symbol) Identifier to distinguish concurrent spanners.
-
start-callback
(procedure) Function to compute the negative length of starting grace notes. This property can only be defined as initializer in ‘scm/define-music-types.scm’.
-
string-number
(integer) The number of the string in a
StringNumberEvent
.-
symbol
(symbol) Grob name to perform an override or revert on.
-
tags
(list) List of symbols that for denoting extra details, e.g.,
\tag #'part …
could tag a piece of music as only being active in a part.-
tempo-unit
(duration) The unit for the metronome count.
-
text
(markup) Markup expression to be printed.
-
to-relative-callback
(procedure) How to transform a piece of music to relative pitches.
-
tonic
(pitch) Base of the scale.
-
tremolo-type
(integer) Speed of tremolo, e.g., 16 for
c4:16
.-
trill-pitch
(pitch) Pitch of other note of the trill.
-
tweaks
(list) An alist of properties to override in the backend for the grob made of this event.
-
type
(symbol) The type of this music object. Determines iteration in some cases.
-
types
(list) The types of this music object; determines by what engraver this music expression is processed.
-
untransposable
(boolean) If set, this music is not transposed.
-
value
(any type) Assignment value for a translation property.
-
void
(boolean) If this property is
#t
, then the music expression is to be discarded by the toplevel music handler.-
volta-repeats
(list) A list that is transformed into a volta repeat element list.
-
what
(symbol) What to change for auto-change.
FIXME: Naming.
-
X-offset
(number) Offset of resulting grob; only used for balloon texts.
-
Y-offset
(number) Offset of resulting grob; only used for balloon texts.
[ << Music definitions ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Music properties ] | [ Up : Top ] | [ Contexts > ] |
2. Translation
2.1 Contexts | Complete descriptions of all contexts. | |
2.2 Engravers and Performers | All separate engravers and performers. | |
2.3 Tunable context properties | All tunable context properties. | |
2.4 Internal context properties | All internal context properties. |
[ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Translation ] | [ Up : Translation ] | [ ChoirStaff > ] |
2.1 Contexts
[ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Contexts ] | [ Up : Contexts ] | [ ChordNames > ] |
2.1.1 ChoirStaff
Identical to StaffGroup
except that the
contained staves are not connected vertically.
This context creates the following layout object(s):
InstrumentName, SystemStartBar, SystemStartBrace, SystemStartBracket, SystemStartSquare and VerticalAlignment.
This context sets the following properties:
- Set translator property
instrumentName
to'()
. - Set translator property
localAlterations
to'()
. - Set translator property
shortInstrumentName
to'()
. - Set translator property
shortVocalName
to'()
. - Set translator property
systemStartDelimiter
to'SystemStartBracket
. - Set translator property
topLevelAlignment
to#f
. - Set translator property
vocalName
to'()
.
This is not a ‘Bottom’ context; search for such a one will commence after creating an implicit context of type Staff.
Context ChoirStaff can contain ChoirStaff, ChordNames, DrumStaff, Dynamics, FiguredBass, GrandStaff, Lyrics, OneStaff, PianoStaff, RhythmicStaff, Staff and StaffGroup.
This context is built from the following engraver(s):
Instrument_name_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 (clef, key signature, etc.) items.
instrumentName
(markup)The name to print left of a staff. The
instrumentName
property labels the staff in the first system, and theshortInstrumentName
property labels following lines.shortInstrumentName
(markup)See
instrumentName
.shortVocalName
(markup)Name of a vocal line, short version.
vocalName
(markup)Name of a vocal line.
This engraver creates the following layout object(s):
System_start_delimiter_engraver
Create a system start delimiter (i.e., a
SystemStartBar
,SystemStartBrace
,SystemStartBracket
orSystemStartSquare
spanner).Properties (read)
currentCommandColumn
(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
systemStartDelimiter
(symbol)Which grob to make for the start of the system/staff? Set to
SystemStartBrace
,SystemStartBracket
orSystemStartBar
.systemStartDelimiterHierarchy
(pair)A nested list, indicating the nesting of a start delimiters.
This engraver creates the following layout object(s):
SystemStartBar, SystemStartBrace, SystemStartBracket and SystemStartSquare.
Vertical_align_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):
[ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < ChoirStaff ] | [ Up : Contexts ] | [ CueVoice > ] |
2.1.2 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-size
in ParenthesesItem to1.5
. - Set grob-property
nonstaff-nonstaff-spacing.padding
in VerticalAxisGroup to0.5
. - Set grob-property
nonstaff-relatedstaff-spacing.padding
in VerticalAxisGroup to0.5
. - Set grob-property
remove-empty
in VerticalAxisGroup to#t
. - Set grob-property
remove-first
in VerticalAxisGroup to#t
. - Set grob-property
staff-affinity
in VerticalAxisGroup to-1
.
This is a ‘Bottom’ context; no contexts will be created implicitly from it.
This context cannot contain other contexts.
This context is built from the following engraver(s):
Axis_group_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 (clef, key signature, etc.) items.
hasAxisGroup
(boolean)True if the current context is contained in an axis group.
keepAliveInterfaces
(list)A list of symbols, signifying grob interfaces that are worth keeping a staff with
remove-empty
set around for.Properties (write)
hasAxisGroup
(boolean)True if the current context is contained in an axis group.
This engraver creates the following layout object(s):
Chord_name_engraver
Catch note and rest events and generate the appropriate chordname.
Music types accepted:
note-event and rest-event
Properties (read)
chordChanges
(boolean)Only show changes in chords scheme?
chordNameExceptions
(list)An alist of chord exceptions. Contains
(chord . markup)
entries.chordNameExceptions
(list)An alist of chord exceptions. Contains
(chord . markup)
entries.chordNameFunction
(procedure)The function that converts lists of pitches to chord names.
chordNoteNamer
(procedure)A function that converts from a pitch object to a text markup. Used for single pitches.
chordRootNamer
(procedure)A function that converts from a pitch object to a text markup. Used for chords.
lastChord
(markup)Last chord, used for detecting chord changes.
majorSevenSymbol
(markup)How should the major 7th be formatted in a chord name?
noChordSymbol
(markup)Markup to be displayed for rests in a ChordNames context.
Properties (write)
lastChord
(markup)Last chord, used for detecting chord changes.
This engraver creates the following layout object(s):
Output_property_engraver
Apply a procedure to any grob acknowledged.
Music types accepted:
Separating_line_group_engraver
Generate objects for computing spacing parameters.
Properties (read)
createSpacing
(boolean)Create
StaffSpacing
objects? Should be set for staves.Properties (write)
hasStaffSpacing
(boolean)True if the current
CommandColumn
contains items that will affect spacing.This engraver creates the following layout object(s):
[ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < ChordNames ] | [ Up : Contexts ] | [ Devnull > ] |
2.1.3 CueVoice
Corresponds to a voice on a staff. This context handles the conversion of dynamic signs, stems, beams, super- and subscripts, slurs, ties, and rests.
You have to instantiate this explicitly if you want to have multiple voices on the same staff.
This context also accepts commands for the following context(s):
Voice.
This context creates the following layout object(s):
Arpeggio, Beam, BendAfter, BreathingSign, ClusterSpanner, ClusterSpannerBeacon, CombineTextScript, Dots, DoublePercentRepeat, DoublePercentRepeatCounter, DoubleRepeatSlash, DynamicLineSpanner, DynamicText, DynamicTextSpanner, Fingering, Flag, Glissando, Hairpin, InstrumentSwitch, LaissezVibrerTie, LaissezVibrerTieColumn, LigatureBracket, MultiMeasureRest, MultiMeasureRestNumber, MultiMeasureRestScript, MultiMeasureRestText, NoteColumn, NoteHead, NoteSpacing, PercentRepeat, PercentRepeatCounter, PhrasingSlur, RepeatSlash, RepeatTie, RepeatTieColumn, Rest, Script, ScriptColumn, Slur, Stem, StemStub, StemTremolo, StringNumber, StrokeFinger, TextScript, TextSpanner, Tie, TieColumn, TrillPitchAccidental, TrillPitchGroup, TrillPitchHead, TrillSpanner, TupletBracket, TupletNumber and VoiceFollower.
This context sets the following properties:
- Set grob-property
beam-thickness
in Beam to0.35
. - Set grob-property
beam-thickness
in StemTremolo to0.35
. - Set grob-property
ignore-ambitus
in NoteHead to#t
. - Set grob-property
length-fraction
in Beam to0.629960524947437
. - Set grob-property
length-fraction
in Stem to0.629960524947437
. - Set translator property
fontSize
to-4
.
This is a ‘Bottom’ context; no contexts will be created implicitly from it.
This context cannot contain other contexts.
This context is built from the following engraver(s):
Arpeggio_engraver
Generate an Arpeggio symbol.
Music types accepted:
This engraver creates the following layout object(s):
Auto_beam_engraver
Generate beams based on measure characteristics and observed Stems. Uses
baseMoment
,beatStructure
,beamExceptions
,measureLength
, andmeasurePosition
to decide when to start and stop a beam. Overriding beaming is done through Stem_engraver propertiesstemLeftBeamCount
andstemRightBeamCount
.Music types accepted:
Properties (read)
autoBeaming
(boolean)If set to true then beams are generated automatically.
baseMoment
(moment)Smallest unit of time that will stand on its own as a subdivided section.
beamExceptions
(list)An alist of exceptions to autobeam rules that normally end on beats.
beamHalfMeasure
(boolean)Whether to allow a beam to begin halfway through the measure in triple time, which could look like 6/8.
beatStructure
(list)List of
baseMoment
s that are combined to make beats.subdivideBeams
(boolean)If set, multiple beams will be subdivided at
baseMoment
positions by only drawing one beam over the beat.This engraver creates the following layout object(s):
Beam.
Beam_engraver
Handle
Beam
events by engraving beams. If omitted, then notes are printed with flags instead of beams.Music types accepted:
Properties (read)
baseMoment
(moment)Smallest unit of time that will stand on its own as a subdivided section.
beamMelismaBusy
(boolean)Signal if a beam is present.
beatStructure
(list)List of
baseMoment
s that are combined to make beats.subdivideBeams
(boolean)If set, multiple beams will be subdivided at
baseMoment
positions by only drawing one beam over the beat.Properties (write)
forbidBreak
(boolean)If set to
#t
, prevent a line break at this point.This engraver creates the following layout object(s):
Beam.
Bend_engraver
Create fall spanners.
Music types accepted:
This engraver creates the following layout object(s):
Breathing_sign_engraver
Create a breathing sign.
Music types accepted:
This engraver creates the following layout object(s):
Chord_tremolo_engraver
Generate beams for tremolo repeats.
Music types accepted:
This engraver creates the following layout object(s):
Beam.
Cluster_spanner_engraver
Engrave a cluster using
Spanner
notation.Music types accepted:
This engraver creates the following layout object(s):
Dots_engraver
Create Dots objects for rhythmic-head-interfaces.
This engraver creates the following layout object(s):
Dots.
Double_percent_repeat_engraver
Make double measure repeats.
Music types accepted:
Properties (read)
countPercentRepeats
(boolean)If set, produce counters for percent repeats.
measureLength
(moment)Length of one measure in the current time signature.
repeatCountVisibility
(procedure)A procedure taking as arguments an integer and context, returning whether the corresponding percent repeat number should be printed when
countPercentRepeats
is set.Properties (write)
forbidBreak
(boolean)If set to
#t
, prevent a line break at this point.This engraver creates the following layout object(s):
Dynamic_align_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):
Dynamic_engraver
Create hairpins, dynamic texts and dynamic text spanners.
Music types accepted:
absolute-dynamic-event, break-span-event and span-dynamic-event
Properties (read)
crescendoSpanner
(symbol)The type of spanner to be used for crescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin crescendo is used.
crescendoText
(markup)The text to print at start of non-hairpin crescendo, i.e., ‘cresc.’.
currentMusicalColumn
(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
decrescendoSpanner
(symbol)The type of spanner to be used for decrescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin decrescendo is used.
decrescendoText
(markup)The text to print at start of non-hairpin decrescendo, i.e., ‘dim.’.
This engraver creates the following layout object(s):
Fingering_engraver
Create fingering scripts.
Music types accepted:
This engraver creates the following layout object(s):
Font_size_engraver
Put
fontSize
intofont-size
grob property.Properties (read)
fontSize
(number)The relative size of all grobs in a context.
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.Glissando_engraver
Engrave glissandi.
Music types accepted:
Properties (read)
glissandoMap
(list)A map in the form of ’((source1 . target1) (source2 . target2) (sourcen . targetn)) showing the glissandi to be drawn for note columns. The value ’() will default to ’((0 . 0) (1 . 1) (n . n)), where n is the minimal number of note-heads in the two note columns between which the glissandi occur.
This engraver creates the following layout object(s):
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:
Properties (read)
autoBeaming
(boolean)If set to true then beams are generated automatically.
This engraver creates the following layout object(s):
Beam.
Grace_beam_engraver
Handle
Beam
events by engraving beams. If omitted, then notes are printed with flags instead of beams. Only engraves beams when we are at grace points in time.Music types accepted:
Properties (read)
baseMoment
(moment)Smallest unit of time that will stand on its own as a subdivided section.
beamMelismaBusy
(boolean)Signal if a beam is present.
beatStructure
(list)List of
baseMoment
s that are combined to make beats.subdivideBeams
(boolean)If set, multiple beams will be subdivided at
baseMoment
positions by only drawing one beam over the beat.This engraver creates the following layout object(s):
Beam.
Grace_engraver
Set font size and other properties for grace notes.
Properties (read)
graceSettings
(list)Overrides for grace notes. This property should be manipulated through the
add-grace-property
function.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.).Instrument_switch_engraver
Create a cue text for taking instrument.
Properties (read)
instrumentCueName
(markup)The name to print if another instrument is to be taken.
This engraver creates the following layout object(s):
Laissez_vibrer_engraver
Create laissez vibrer items.
Music types accepted:
This engraver creates the following layout object(s):
Ligature_bracket_engraver
Handle
Ligature_events
by engravingLigature
brackets.Music types accepted:
This engraver creates the following layout object(s):
Multi_measure_rest_engraver
Engrave multi-measure rests that are produced with ‘R’. It reads
measurePosition
andinternalBarNumber
to determine what number to print over the MultiMeasureRest.Music types accepted:
multi-measure-articulation-event, multi-measure-rest-event and multi-measure-text-event
Properties (read)
currentCommandColumn
(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
internalBarNumber
(integer)Contains the current barnumber. This property is used for internal timekeeping, among others by the
Accidental_engraver
.measurePosition
(moment)How much of the current measure have we had. This can be set manually to create incomplete measures.
restNumberThreshold
(number)If a multimeasure rest has more measures than this, a number is printed.
whichBar
(string)This property is read to determine what type of bar line to create.
Example:
\set Staff.whichBar = ".|:"This will create a start-repeat bar in this staff only. Valid values are described in ‘scm/bar-line.scm’.
This engraver creates the following layout object(s):
MultiMeasureRest, MultiMeasureRestNumber, MultiMeasureRestScript and MultiMeasureRestText.
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.
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):
Note_heads_engraver
Generate note heads.
Music types accepted:
Properties (read)
middleCPosition
(number)The place of the middle C, measured in half staff-spaces. Usually determined by looking at
middleCClefPosition
andmiddleCOffset
.staffLineLayoutFunction
(procedure)Layout of staff lines,
traditional
, orsemitone
.This engraver creates the following layout object(s):
Note_spacing_engraver
Generate
NoteSpacing
, an object linking horizontal lines for use in spacing.This engraver creates the following layout object(s):
Output_property_engraver
Apply a procedure to any grob acknowledged.
Music types accepted:
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):
Percent_repeat_engraver
Make whole measure repeats.
Music types accepted:
Properties (read)
countPercentRepeats
(boolean)If set, produce counters for percent repeats.
currentCommandColumn
(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
repeatCountVisibility
(procedure)A procedure taking as arguments an integer and context, returning whether the corresponding percent repeat number should be printed when
countPercentRepeats
is set.This engraver creates the following layout object(s):
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):
Pitched_trill_engraver
Print the bracketed note head after a note head with trill.
This engraver creates the following layout object(s):
Repeat_tie_engraver
Create repeat ties.
Music types accepted:
This engraver creates the following layout object(s):
RepeatTie and RepeatTieColumn.
Rest_engraver
Engrave rests.
Music types accepted:
Properties (read)
middleCPosition
(number)The place of the middle C, measured in half staff-spaces. Usually determined by looking at
middleCClefPosition
andmiddleCOffset
.This engraver creates the following layout object(s):
Rest.
Rhythmic_column_engraver
Generate
NoteColumn
, an object that groups stems, note heads, and rests.This engraver creates the following layout object(s):
Script_column_engraver
Find potentially colliding scripts and put them into a
ScriptColumn
object; that will fix the collisions.This engraver creates the following layout object(s):
Script_engraver
Handle note scripted articulations.
Music types accepted:
Properties (read)
scriptDefinitions
(list)The description of scripts. This is used by the
Script_engraver
for typesetting note-superscripts and subscripts. See ‘scm/script.scm’ for more information.This engraver creates the following layout object(s):
Slash_repeat_engraver
Make beat repeats.
Music types accepted:
This engraver creates the following layout object(s):
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.
Spanner_break_forbid_engraver
Forbid breaks in certain spanners.
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 and tuplet-span-event
Properties (read)
stemLeftBeamCount
(integer)Specify the number of beams to draw on the left side of the next note. Overrides automatic beaming. The value is only used once, and then it is erased.
stemRightBeamCount
(integer)See
stemLeftBeamCount
.whichBar
(string)This property is read to determine what type of bar line to create.
Example:
\set Staff.whichBar = ".|:"This will create a start-repeat bar in this staff only. Valid values are described in ‘scm/bar-line.scm’.
This engraver creates the following layout object(s):
Flag, Stem, StemStub and StemTremolo.
Text_engraver
Create text scripts.
Music types accepted:
This engraver creates the following layout object(s):
Text_spanner_engraver
Create text spanner from an event.
Music types accepted:
Properties (read)
currentMusicalColumn
(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
Tie_engraver
Generate ties between note heads of equal pitch.
Music types accepted:
Properties (read)
skipTypesetting
(boolean)If true, no typesetting is done, speeding up the interpretation phase. Useful for debugging large scores.
tieWaitForNote
(boolean)If true, tied notes do not have to follow each other directly. This can be used for writing out arpeggios.
Properties (write)
tieMelismaBusy
(boolean)Signal whether a tie is present.
This engraver creates the following layout object(s):
Trill_spanner_engraver
Create trill spanner from an event.
Music types accepted:
Properties (read)
currentCommandColumn
(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
currentMusicalColumn
(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
Tuplet_engraver
Catch tuplet events and generate appropriate bracket.
Music types accepted:
Properties (read)
tupletFullLength
(boolean)If set, the tuplet is printed up to the start of the next note.
tupletFullLengthNote
(boolean)If set, end at the next note, otherwise end on the matter (time signatures, etc.) before the note.
This engraver creates the following layout object(s):
[ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < CueVoice ] | [ Up : Contexts ] | [ DrumStaff > ] |
2.1.4 Devnull
Silently discards all musical information given to this context.
This context also accepts commands for the following context(s):
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.5 DrumStaff
Handles typesetting for percussion.
This context also accepts commands for the following context(s):
Staff.
This context creates the following layout object(s):
BarLine, BassFigure, BassFigureAlignment, BassFigureAlignmentPositioning, BassFigureBracket, BassFigureContinuation, BassFigureLine, Clef, ClefModifier, CueClef, CueEndClef, DotColumn, FingeringColumn, InstrumentName, LedgerLineSpanner, NoteCollision, RestCollision, ScriptRow, SostenutoPedalLineSpanner, StaffSpacing, StaffSymbol, SustainPedalLineSpanner, TimeSignature, UnaCordaPedalLineSpanner and VerticalAxisGroup.
This context sets the following properties:
- Set grob-property
staff-padding
in Script to0.75
. - Set translator property
clefGlyph
to"clefs.percussion"
. - Set translator property
clefPosition
to0
. - Set translator property
createSpacing
to#t
. - Set translator property
ignoreFiguredBassRest
to#f
. - Set translator property
instrumentName
to'()
. - Set translator property
localAlterations
to'()
. - Set translator property
ottavationMarkups
to:'((4 . "29") (3 . "22") (2 . "15") (1 . "8") (-1 . "8") (-2 . "15") (-3 . "22") (-4 . "29"))
- Set translator property
shortInstrumentName
to'()
.
This is not a ‘Bottom’ context; search for such a one will commence after creating an implicit context of type DrumVoice.
Context DrumStaff can contain CueVoice, DrumVoice and NullVoice.
This context is built from the following engraver(s):
Axis_group_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 (clef, key signature, etc.) items.
hasAxisGroup
(boolean)True if the current context is contained in an axis group.
keepAliveInterfaces
(list)A list of symbols, signifying grob interfaces that are worth keeping a staff with
remove-empty
set around for.Properties (write)
hasAxisGroup
(boolean)True if the current context is contained in an axis group.
This engraver creates the following layout object(s):
Bar_engraver
Create barlines. This engraver is controlled through the
whichBar
property. If it has no bar line to create, it will forbid a linebreak at this point. This engraver is required to trigger the creation of clefs at the start of systems.Properties (read)
whichBar
(string)This property is read to determine what type of bar line to create.
Example:
\set Staff.whichBar = ".|:"This will create a start-repeat bar in this staff only. Valid values are described in ‘scm/bar-line.scm’.
Properties (write)
forbidBreak
(boolean)If set to
#t
, prevent a line break at this point.This engraver creates the following layout object(s):
Clef_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. Values of 7 and -7 are common.
clefTranspositionStyle
(symbol)Determines the way the ClefModifier grob is displayed. Possible values are ‘default’, ‘parenthesized’ and ‘bracketed’.
explicitClefVisibility
(vector)‘break-visibility’ function for clef changes.
forceClef
(boolean)Show clef symbol, even if it has not changed. Only active for the first clef after the property is set, not for the full staff.
This engraver creates the following layout object(s):
Clef and ClefModifier.
Collision_engraver
Collect
NoteColumns
, and as soon as there are two or more, put them in aNoteCollision
object.This engraver creates the following layout object(s):
Cue_clef_engraver
Determine and set reference point for pitches in cued voices.
Properties (read)
clefTransposition
(integer)Add this much extra transposition. Values of 7 and -7 are common.
cueClefGlyph
(string)Name of the symbol within the music font.
cueClefPosition
(number)Where should the center of the clef symbol go, measured in half staff spaces from the center of the staff.
cueClefTransposition
(integer)Add this much extra transposition. Values of 7 and -7 are common.
cueClefTranspositionStyle
(symbol)Determines the way the ClefModifier grob is displayed. Possible values are ‘default’, ‘parenthesized’ and ‘bracketed’.
explicitCueClefVisibility
(vector)‘break-visibility’ function for cue clef changes.
middleCCuePosition
(number)The position of the middle C, as determined only by the clef of the cue notes. This can be calculated by looking at
cueClefPosition
andcueClefGlyph
.This engraver creates the following layout object(s):
ClefModifier, CueClef and CueEndClef.
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):
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_position_engraver
Position figured bass alignments over notes.
This engraver creates the following layout object(s):
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):
Font_size_engraver
Put
fontSize
intofont-size
grob property.Properties (read)
fontSize
(number)The relative size of all grobs in a context.
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.).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 (clef, key signature, etc.) items.
instrumentName
(markup)The name to print left of a staff. The
instrumentName
property labels the staff in the first system, and theshortInstrumentName
property labels following lines.shortInstrumentName
(markup)See
instrumentName
.shortVocalName
(markup)Name of a vocal line, short version.
vocalName
(markup)Name of a vocal line.
This engraver creates the following layout object(s):
Ledger_line_engraver
Create the spanner to draw ledger lines, and notices objects that need ledger lines.
This engraver creates the following layout object(s):
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.
Output_property_engraver
Apply a procedure to any grob acknowledged.
Music types accepted:
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 (clef, key signature, etc.) items.
This engraver creates the following layout object(s):
SostenutoPedalLineSpanner, SustainPedalLineSpanner and UnaCordaPedalLineSpanner.
Pure_from_neighbor_engraver
Coordinates items that get their pure heights from their neighbors.
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):
Script_row_engraver
Determine order in horizontal side position elements.
This engraver creates the following layout object(s):
Separating_line_group_engraver
Generate objects for computing spacing parameters.
Properties (read)
createSpacing
(boolean)Create
StaffSpacing
objects? Should be set for staves.Properties (write)
hasStaffSpacing
(boolean)True if the current
CommandColumn
contains items that will affect spacing.This engraver creates the following layout object(s):
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_symbol_engraver
Create the constellation of five (default) staff lines.
Music types accepted:
This engraver creates the following layout object(s):
Time_signature_engraver
Create a TimeSignature whenever
timeSignatureFraction
changes.Music types accepted:
Properties (read)
initialTimeSignatureVisibility
(vector)break visibility for the initial time signature.
partialBusy
(boolean)Signal that \partial acts at the current timestep.
timeSignatureFraction
(fraction, as pair)A pair of numbers, signifying the time signature. For example,
'(4 . 4)
is a 4/4 time signature.This engraver creates the following layout object(s):
[ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < DrumStaff ] | [ Up : Contexts ] | [ Dynamics > ] |
2.1.6 DrumVoice
A voice on a percussion staff.
This context also accepts commands for the following context(s):
Voice.
This context creates the following layout object(s):
Beam, BendAfter, BreathingSign, CombineTextScript, Dots, DoublePercentRepeat, DoublePercentRepeatCounter, DoubleRepeatSlash, DynamicLineSpanner, DynamicText, DynamicTextSpanner, Flag, Hairpin, InstrumentSwitch, LaissezVibrerTie, LaissezVibrerTieColumn, MultiMeasureRest, MultiMeasureRestNumber, MultiMeasureRestScript, MultiMeasureRestText, NoteColumn, NoteHead, NoteSpacing, PercentRepeat, PercentRepeatCounter, PhrasingSlur, RepeatSlash, RepeatTie, RepeatTieColumn, Rest, Script, ScriptColumn, Slur, Stem, StemStub, StemTremolo, TextScript, TextSpanner, Tie, TieColumn, TrillPitchAccidental, TrillPitchGroup, TrillPitchHead, TrillSpanner, TupletBracket and TupletNumber.
This is a ‘Bottom’ context; no contexts will be created implicitly from it.
This context cannot contain other contexts.
This context is built from the following engraver(s):
Auto_beam_engraver
Generate beams based on measure characteristics and observed Stems. Uses
baseMoment
,beatStructure
,beamExceptions
,measureLength
, andmeasurePosition
to decide when to start and stop a beam. Overriding beaming is done through Stem_engraver propertiesstemLeftBeamCount
andstemRightBeamCount
.Music types accepted:
Properties (read)
autoBeaming
(boolean)If set to true then beams are generated automatically.
baseMoment
(moment)Smallest unit of time that will stand on its own as a subdivided section.
beamExceptions
(list)An alist of exceptions to autobeam rules that normally end on beats.
beamHalfMeasure
(boolean)Whether to allow a beam to begin halfway through the measure in triple time, which could look like 6/8.
beatStructure
(list)List of
baseMoment
s that are combined to make beats.subdivideBeams
(boolean)If set, multiple beams will be subdivided at
baseMoment
positions by only drawing one beam over the beat.This engraver creates the following layout object(s):
Beam.
Beam_engraver
Handle
Beam
events by engraving beams. If omitted, then notes are printed with flags instead of beams.Music types accepted:
Properties (read)
baseMoment
(moment)Smallest unit of time that will stand on its own as a subdivided section.
beamMelismaBusy
(boolean)Signal if a beam is present.
beatStructure
(list)List of
baseMoment
s that are combined to make beats.subdivideBeams
(boolean)If set, multiple beams will be subdivided at
baseMoment
positions by only drawing one beam over the beat.Properties (write)
forbidBreak
(boolean)If set to
#t
, prevent a line break at this point.This engraver creates the following layout object(s):
Beam.
Bend_engraver
Create fall spanners.
Music types accepted:
This engraver creates the following layout object(s):
Breathing_sign_engraver
Create a breathing sign.
Music types accepted:
This engraver creates the following layout object(s):
Chord_tremolo_engraver
Generate beams for tremolo repeats.
Music types accepted:
This engraver creates the following layout object(s):
Beam.
Dots_engraver
Create Dots objects for rhythmic-head-interfaces.
This engraver creates the following layout object(s):
Dots.
Double_percent_repeat_engraver
Make double measure repeats.
Music types accepted:
Properties (read)
countPercentRepeats
(boolean)If set, produce counters for percent repeats.
measureLength
(moment)Length of one measure in the current time signature.
repeatCountVisibility
(procedure)A procedure taking as arguments an integer and context, returning whether the corresponding percent repeat number should be printed when
countPercentRepeats
is set.Properties (write)
forbidBreak
(boolean)If set to
#t
, prevent a line break at this point.This engraver creates the following layout object(s):
Drum_notes_engraver
Generate drum note heads.
Music types accepted:
Properties (read)
drumStyleTable
(hash table)A hash table which maps drums to layout settings. Predefined values: ‘drums-style’, ‘agostini-drums-style’, ‘timbales-style’, ‘congas-style’, ‘bongos-style’, and ‘percussion-style’.
The layout style is a hash table, containing the drum-pitches (e.g., the symbol ‘hihat’) as keys, and a list
(notehead-style script vertical-position)
as values.This engraver creates the following layout object(s):
Dynamic_align_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):
Dynamic_engraver
Create hairpins, dynamic texts and dynamic text spanners.
Music types accepted:
absolute-dynamic-event, break-span-event and span-dynamic-event
Properties (read)
crescendoSpanner
(symbol)The type of spanner to be used for crescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin crescendo is used.
crescendoText
(markup)The text to print at start of non-hairpin crescendo, i.e., ‘cresc.’.
currentMusicalColumn
(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
decrescendoSpanner
(symbol)The type of spanner to be used for decrescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin decrescendo is used.
decrescendoText
(markup)The text to print at start of non-hairpin decrescendo, i.e., ‘dim.’.
This engraver creates the following layout object(s):
Font_size_engraver
Put
fontSize
intofont-size
grob property.Properties (read)
fontSize
(number)The relative size of all grobs in a context.
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.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:
Properties (read)
autoBeaming
(boolean)If set to true then beams are generated automatically.
This engraver creates the following layout object(s):
Beam.
Grace_beam_engraver
Handle
Beam
events by engraving beams. If omitted, then notes are printed with flags instead of beams. Only engraves beams when we are at grace points in time.Music types accepted:
Properties (read)
baseMoment
(moment)Smallest unit of time that will stand on its own as a subdivided section.
beamMelismaBusy
(boolean)Signal if a beam is present.
beatStructure
(list)List of
baseMoment
s that are combined to make beats.subdivideBeams
(boolean)If set, multiple beams will be subdivided at
baseMoment
positions by only drawing one beam over the beat.This engraver creates the following layout object(s):
Beam.
Grace_engraver
Set font size and other properties for grace notes.
Properties (read)
graceSettings
(list)Overrides for grace notes. This property should be manipulated through the
add-grace-property
function.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
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.).Instrument_switch_engraver
Create a cue text for taking instrument.
Properties (read)
instrumentCueName
(markup)The name to print if another instrument is to be taken.
This engraver creates the following layout object(s):
Laissez_vibrer_engraver
Create laissez vibrer items.
Music types accepted:
This engraver creates the following layout object(s):
Multi_measure_rest_engraver
Engrave multi-measure rests that are produced with ‘R’. It reads
measurePosition
andinternalBarNumber
to determine what number to print over the MultiMeasureRest.Music types accepted:
multi-measure-articulation-event, multi-measure-rest-event and multi-measure-text-event
Properties (read)
currentCommandColumn
(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
internalBarNumber
(integer)Contains the current barnumber. This property is used for internal timekeeping, among others by the
Accidental_engraver
.measurePosition
(moment)How much of the current measure have we had. This can be set manually to create incomplete measures.
restNumberThreshold
(number)If a multimeasure rest has more measures than this, a number is printed.
whichBar
(string)This property is read to determine what type of bar line to create.
Example:
\set Staff.whichBar = ".|:"This will create a start-repeat bar in this staff only. Valid values are described in ‘scm/bar-line.scm’.
This engraver creates the following layout object(s):
MultiMeasureRest, MultiMeasureRestNumber, MultiMeasureRestScript and MultiMeasureRestText.
Note_spacing_engraver
Generate
NoteSpacing
, an object linking horizontal lines for use in spacing.This engraver creates the following layout object(s):
Output_property_engraver
Apply a procedure to any grob acknowledged.
Music types accepted:
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):
Percent_repeat_engraver
Make whole measure repeats.
Music types accepted:
Properties (read)
countPercentRepeats
(boolean)If set, produce counters for percent repeats.
currentCommandColumn
(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
repeatCountVisibility
(procedure)A procedure taking as arguments an integer and context, returning whether the corresponding percent repeat number should be printed when
countPercentRepeats
is set.This engraver creates the following layout object(s):
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):
Pitched_trill_engraver
Print the bracketed note head after a note head with trill.
This engraver creates the following layout object(s):
Repeat_tie_engraver
Create repeat ties.
Music types accepted:
This engraver creates the following layout object(s):
RepeatTie and RepeatTieColumn.
Rest_engraver
Engrave rests.
Music types accepted:
Properties (read)
middleCPosition
(number)The place of the middle C, measured in half staff-spaces. Usually determined by looking at
middleCClefPosition
andmiddleCOffset
.This engraver creates the following layout object(s):
Rest.
Rhythmic_column_engraver
Generate
NoteColumn
, an object that groups stems, note heads, and rests.This engraver creates the following layout object(s):
Script_column_engraver
Find potentially colliding scripts and put them into a
ScriptColumn
object; that will fix the collisions.This engraver creates the following layout object(s):
Script_engraver
Handle note scripted articulations.
Music types accepted:
Properties (read)
scriptDefinitions
(list)The description of scripts. This is used by the
Script_engraver
for typesetting note-superscripts and subscripts. See ‘scm/script.scm’ for more information.This engraver creates the following layout object(s):
Slash_repeat_engraver
Make beat repeats.
Music types accepted:
This engraver creates the following layout object(s):
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.
Spanner_break_forbid_engraver
Forbid breaks in certain spanners.
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 and tuplet-span-event
Properties (read)
stemLeftBeamCount
(integer)Specify the number of beams to draw on the left side of the next note. Overrides automatic beaming. The value is only used once, and then it is erased.
stemRightBeamCount
(integer)See
stemLeftBeamCount
.whichBar
(string)This property is read to determine what type of bar line to create.
Example:
\set Staff.whichBar = ".|:"This will create a start-repeat bar in this staff only. Valid values are described in ‘scm/bar-line.scm’.
This engraver creates the following layout object(s):
Flag, Stem, StemStub and StemTremolo.
Text_engraver
Create text scripts.
Music types accepted:
This engraver creates the following layout object(s):
Text_spanner_engraver
Create text spanner from an event.
Music types accepted:
Properties (read)
currentMusicalColumn
(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
Tie_engraver
Generate ties between note heads of equal pitch.
Music types accepted:
Properties (read)
skipTypesetting
(boolean)If true, no typesetting is done, speeding up the interpretation phase. Useful for debugging large scores.
tieWaitForNote
(boolean)If true, tied notes do not have to follow each other directly. This can be used for writing out arpeggios.
Properties (write)
tieMelismaBusy
(boolean)Signal whether a tie is present.
This engraver creates the following layout object(s):
Trill_spanner_engraver
Create trill spanner from an event.
Music types accepted:
Properties (read)
currentCommandColumn
(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
currentMusicalColumn
(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
Tuplet_engraver
Catch tuplet events and generate appropriate bracket.
Music types accepted:
Properties (read)
tupletFullLength
(boolean)If set, the tuplet is printed up to the start of the next note.
tupletFullLengthNote
(boolean)If set, end at the next note, otherwise end on the matter (time signatures, etc.) before the note.
This engraver creates the following layout object(s):
[ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < DrumVoice ] | [ Up : Contexts ] | [ FiguredBass > ] |
2.1.7 Dynamics
Holds a single line of dynamics, which will be centered between the staves surrounding this context.
This context also accepts commands for the following context(s):
Voice.
This context creates the following layout object(s):
BarLine, DynamicLineSpanner, DynamicText, DynamicTextSpanner, Hairpin, PianoPedalBracket, Script, SostenutoPedal, SustainPedal, TextScript, TextSpanner, UnaCordaPedal and VerticalAxisGroup.
This context sets the following properties:
- Set grob-property
font-shape
in TextScript to'italic
. - Set grob-property
nonstaff-relatedstaff-spacing
in VerticalAxisGroup to:'((basic-distance . 5) (padding . 0.5))
- Set grob-property
outside-staff-priority
in DynamicLineSpanner to#f
. - Set grob-property
outside-staff-priority
in DynamicText to#f
. - Set grob-property
outside-staff-priority
in Hairpin to#f
. - Set grob-property
staff-affinity
in VerticalAxisGroup to0
. - Set grob-property
Y-offset
in DynamicLineSpanner to0
. - Set translator property
pedalSustainStrings
to:'("Ped." "*Ped." "*")
- Set translator property
pedalUnaCordaStrings
to:'("una corda" "" "tre corde")
This is a ‘Bottom’ context; no contexts will be created implicitly from it.
This context cannot contain other contexts.
This context is built from the following engraver(s):
Axis_group_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 (clef, key signature, etc.) items.
hasAxisGroup
(boolean)True if the current context is contained in an axis group.
keepAliveInterfaces
(list)A list of symbols, signifying grob interfaces that are worth keeping a staff with
remove-empty
set around for.Properties (write)
hasAxisGroup
(boolean)True if the current context is contained in an axis group.
This engraver creates the following layout object(s):
Bar_engraver
Create barlines. This engraver is controlled through the
whichBar
property. If it has no bar line to create, it will forbid a linebreak at this point. This engraver is required to trigger the creation of clefs at the start of systems.Properties (read)
whichBar
(string)This property is read to determine what type of bar line to create.
Example:
\set Staff.whichBar = ".|:"This will create a start-repeat bar in this staff only. Valid values are described in ‘scm/bar-line.scm’.
Properties (write)
forbidBreak
(boolean)If set to
#t
, prevent a line break at this point.This engraver creates the following layout object(s):
Dynamic_align_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):
Dynamic_engraver
Create hairpins, dynamic texts and dynamic text spanners.
Music types accepted:
absolute-dynamic-event, break-span-event and span-dynamic-event
Properties (read)
crescendoSpanner
(symbol)The type of spanner to be used for crescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin crescendo is used.
crescendoText
(markup)The text to print at start of non-hairpin crescendo, i.e., ‘cresc.’.
currentMusicalColumn
(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
decrescendoSpanner
(symbol)The type of spanner to be used for decrescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin decrescendo is used.
decrescendoText
(markup)The text to print at start of non-hairpin decrescendo, i.e., ‘dim.’.
This engraver creates the following layout object(s):
Font_size_engraver
Put
fontSize
intofont-size
grob property.Properties (read)
fontSize
(number)The relative size of all grobs in a context.
Output_property_engraver
Apply a procedure to any grob acknowledged.
Music types accepted:
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 (clef, key signature, etc.) items.
pedalSostenutoStrings
(list)See
pedalSustainStrings
.pedalSostenutoStyle
(symbol)See
pedalSustainStyle
.pedalSustainStrings
(list)A list of strings to print for sustain-pedal. Format is
(up updown down)
, where each of the three is the string to print when this is done with the pedal.pedalSustainStyle
(symbol)A symbol that indicates how to print sustain pedals:
text
,bracket
ormixed
(both).pedalUnaCordaStrings
(list)See
pedalSustainStrings
.pedalUnaCordaStyle
(symbol)See
pedalSustainStyle
.This engraver creates the following layout object(s):
PianoPedalBracket, SostenutoPedal, SustainPedal and UnaCordaPedal.
Script_engraver
Handle note scripted articulations.
Music types accepted:
Properties (read)
scriptDefinitions
(list)The description of scripts. This is used by the
Script_engraver
for typesetting note-superscripts and subscripts. See ‘scm/script.scm’ for more information.This engraver creates the following layout object(s):
Text_engraver
Create text scripts.
Music types accepted:
This engraver creates the following layout object(s):
Text_spanner_engraver
Create text spanner from an event.
Music types accepted:
Properties (read)
currentMusicalColumn
(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
[ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Dynamics ] | [ Up : Contexts ] | [ FretBoards > ] |
2.1.8 FiguredBass
A context for printing a figured bass line.
This context creates the following layout object(s):
BassFigure, BassFigureAlignment, BassFigureBracket, BassFigureContinuation, BassFigureLine, StaffSpacing and VerticalAxisGroup.
This context sets the following properties:
- Set grob-property
nonstaff-nonstaff-spacing.padding
in VerticalAxisGroup to0.5
. - Set grob-property
nonstaff-relatedstaff-spacing.padding
in VerticalAxisGroup to0.5
. - Set grob-property
remove-empty
in VerticalAxisGroup to#t
. - Set grob-property
remove-first
in VerticalAxisGroup to#t
. - Set grob-property
staff-affinity
in VerticalAxisGroup to1
.
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_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 (clef, key signature, etc.) items.
hasAxisGroup
(boolean)True if the current context is contained in an axis group.
keepAliveInterfaces
(list)A list of symbols, signifying grob interfaces that are worth keeping a staff with
remove-empty
set around for.Properties (write)
hasAxisGroup
(boolean)True if the current context is contained in an axis group.
This engraver creates the following layout object(s):
Figured_bass_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.
Separating_line_group_engraver
Generate objects for computing spacing parameters.
Properties (read)
createSpacing
(boolean)Create
StaffSpacing
objects? Should be set for staves.Properties (write)
hasStaffSpacing
(boolean)True if the current
CommandColumn
contains items that will affect spacing.This engraver creates the following layout object(s):
[ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < FiguredBass ] | [ Up : Contexts ] | [ Global > ] |
2.1.9 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 translator property
handleNegativeFrets
to'recalculate
. - Set translator property
instrumentName
to'()
. - Set translator property
predefinedDiagramTable
to#<hash-table 0/113>
. - Set translator property
restrainOpenStrings
to#f
. - Set translator property
shortInstrumentName
to'()
.
This is a ‘Bottom’ context; no contexts will be created implicitly from it.
This context cannot contain other contexts.
This context is built from the following engraver(s):
Axis_group_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 (clef, key signature, etc.) items.
hasAxisGroup
(boolean)True if the current context is contained in an axis group.
keepAliveInterfaces
(list)A list of symbols, signifying grob interfaces that are worth keeping a staff with
remove-empty
set around for.Properties (write)
hasAxisGroup
(boolean)True if the current context is contained in an axis group.
This engraver creates the following layout object(s):
Font_size_engraver
Put
fontSize
intofont-size
grob property.Properties (read)
fontSize
(number)The relative size of all grobs in a context.
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):
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 (clef, key signature, etc.) items.
instrumentName
(markup)The name to print left of a staff. The
instrumentName
property labels the staff in the first system, and theshortInstrumentName
property labels following lines.shortInstrumentName
(markup)See
instrumentName
.shortVocalName
(markup)Name of a vocal line, short version.
vocalName
(markup)Name of a vocal line.
This engraver creates the following layout object(s):
Output_property_engraver
Apply a procedure to any grob acknowledged.
Music types accepted:
Separating_line_group_engraver
Generate objects for computing spacing parameters.
Properties (read)
createSpacing
(boolean)Create
StaffSpacing
objects? Should be set for staves.Properties (write)
hasStaffSpacing
(boolean)True if the current
CommandColumn
contains items that will affect spacing.This engraver creates the following layout object(s):
[ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < FretBoards ] | [ Up : Contexts ] | [ GrandStaff > ] |
2.1.10 Global
Hard coded entry point for LilyPond. Cannot be tuned.
This context creates the following layout object(s):
none.
This is not a ‘Bottom’ context; search for such a one will commence after creating an implicit context of type Score.
Context Global can contain Score.
[ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Global ] | [ Up : Contexts ] | [ GregorianTranscriptionStaff > ] |
2.1.11 GrandStaff
A group of staves, with a brace on the left side, grouping the staves together. The bar lines of the contained staves are connected vertically.
This context creates the following layout object(s):
Arpeggio, InstrumentName, SpanBar, SpanBarStub, SystemStartBar, SystemStartBrace, SystemStartBracket, SystemStartSquare and VerticalAlignment.
This context sets the following properties:
- Set grob-property
extra-spacing-width
in DynamicText to#f
. - Set translator property
instrumentName
to'()
. - Set translator property
localAlterations
to'()
. - Set translator property
shortInstrumentName
to'()
. - Set translator property
systemStartDelimiter
to'SystemStartBrace
. - Set translator property
topLevelAlignment
to#f
.
This is not a ‘Bottom’ context; search for such a one will commence after creating an implicit context of type Staff.
Context GrandStaff can contain ChordNames, DrumStaff, Dynamics, FiguredBass, Lyrics, RhythmicStaff, Staff and TabStaff.
This context is built from the following engraver(s):
Instrument_name_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 (clef, key signature, etc.) items.
instrumentName
(markup)The name to print left of a staff. The
instrumentName
property labels the staff in the first system, and theshortInstrumentName
property labels following lines.shortInstrumentName
(markup)See
instrumentName
.shortVocalName
(markup)Name of a vocal line, short version.
vocalName
(markup)Name of a vocal line.
This engraver creates the following layout object(s):
Span_arpeggio_engraver
Make arpeggios that span multiple staves.
Properties (read)
connectArpeggios
(boolean)If set, connect arpeggios across piano staff.
This engraver creates the following layout object(s):
Span_bar_engraver
Make cross-staff bar lines: It catches all normal bar lines and draws a single span bar across them.
This engraver creates the following layout object(s):
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):
System_start_delimiter_engraver
Create a system start delimiter (i.e., a
SystemStartBar
,SystemStartBrace
,SystemStartBracket
orSystemStartSquare
spanner).Properties (read)
currentCommandColumn
(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
systemStartDelimiter
(symbol)Which grob to make for the start of the system/staff? Set to
SystemStartBrace
,SystemStartBracket
orSystemStartBar
.systemStartDelimiterHierarchy
(pair)A nested list, indicating the nesting of a start delimiters.
This engraver creates the following layout object(s):
SystemStartBar, SystemStartBrace, SystemStartBracket and SystemStartSquare.
Vertical_align_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):
[ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < GrandStaff ] | [ Up : Contexts ] | [ GregorianTranscriptionVoice > ] |
2.1.12 GregorianTranscriptionStaff
Handles clefs, bar lines, keys, accidentals. It can contain
Voice
contexts.
This context also accepts commands for the following context(s):
Staff.
This context creates the following layout object(s):
Accidental, AccidentalCautionary, AccidentalPlacement, AccidentalSuggestion, BarLine, BassFigure, BassFigureAlignment, BassFigureAlignmentPositioning, BassFigureBracket, BassFigureContinuation, BassFigureLine, Clef, ClefModifier, CueClef, CueEndClef, DotColumn, FingeringColumn, InstrumentName, KeyCancellation, KeySignature, LedgerLineSpanner, NoteCollision, OttavaBracket, PianoPedalBracket, RestCollision, ScriptRow, SostenutoPedal, SostenutoPedalLineSpanner, StaffSpacing, StaffSymbol, SustainPedal, SustainPedalLineSpanner, TimeSignature, UnaCordaPedal, UnaCordaPedalLineSpanner and VerticalAxisGroup.
This context sets the following properties:
- Set grob-property
transparent
in BarLine to#t
. - Set translator property
createSpacing
to#t
. - Set translator property
ignoreFiguredBassRest
to#f
. - Set translator property
instrumentName
to'()
. - Set translator property
localAlterations
to'()
. - Set translator property
ottavationMarkups
to:'((4 . "29") (3 . "22") (2 . "15") (1 . "8") (-1 . "8") (-2 . "15") (-3 . "22") (-4 . "29"))
- Set translator property
shortInstrumentName
to'()
.
This is not a ‘Bottom’ context; search for such a one will commence after creating an implicit context of type GregorianTranscriptionVoice.
Context GregorianTranscriptionStaff can contain CueVoice, GregorianTranscriptionVoice and NullVoice.
This context is built from the following engraver(s):
Accidental_engraver
Make accidentals. Catch note heads, ties and notices key-change events. This engraver usually lives at Staff level, but reads the settings for Accidental at
Voice
level, so you can\override
them atVoice
.Properties (read)
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:
context
The current context to which the rule should be applied.
pitch
The pitch of the note to be evaluated.
barnum
The current bar number.
measurepos
The current measure position.
The procedure returns a pair of booleans. The first states whether an extra natural should be added. The second states whether an accidental should be printed.
(#t . #f)
does not make sense.autoCautionaries
(list)List similar to
autoAccidentals
, but it controls cautionary accidentals rather than normal ones. Both lists are tried, and the one giving the most accidentals wins. In case of draw, a normal accidental is typeset.extraNatural
(boolean)Whether to typeset an extra natural sign before accidentals that reduce the effect of a previous alteration.
harmonicAccidentals
(boolean)If set, harmonic notes in chords get accidentals.
internalBarNumber
(integer)Contains the current barnumber. This property is used for internal timekeeping, among others by the
Accidental_engraver
.keyAlterations
(list)The current key signature. This is an alist containing
(step . alter)
or((octave . step) . alter)
, where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.keyAlterations = #`((6 . ,FLAT))
.localAlterations
(list)The key signature at this point in the measure. The format is the same as for
keyAlterations
, but can also contain((octave . name) . (alter barnumber . measureposition))
pairs.Properties (write)
localAlterations
(list)The key signature at this point in the measure. The format is the same as for
keyAlterations
, but can also contain((octave . name) . (alter barnumber . measureposition))
pairs.This engraver creates the following layout object(s):
Accidental, AccidentalCautionary, AccidentalPlacement and AccidentalSuggestion.
Axis_group_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 (clef, key signature, etc.) items.
hasAxisGroup
(boolean)True if the current context is contained in an axis group.
keepAliveInterfaces
(list)A list of symbols, signifying grob interfaces that are worth keeping a staff with
remove-empty
set around for.Properties (write)
hasAxisGroup
(boolean)True if the current context is contained in an axis group.
This engraver creates the following layout object(s):
Bar_engraver
Create barlines. This engraver is controlled through the
whichBar
property. If it has no bar line to create, it will forbid a linebreak at this point. This engraver is required to trigger the creation of clefs at the start of systems.Properties (read)
whichBar
(string)This property is read to determine what type of bar line to create.
Example:
\set Staff.whichBar = ".|:"This will create a start-repeat bar in this staff only. Valid values are described in ‘scm/bar-line.scm’.
Properties (write)
forbidBreak
(boolean)If set to
#t
, prevent a line break at this point.This engraver creates the following layout object(s):
Clef_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. Values of 7 and -7 are common.
clefTranspositionStyle
(symbol)Determines the way the ClefModifier grob is displayed. Possible values are ‘default’, ‘parenthesized’ and ‘bracketed’.
explicitClefVisibility
(vector)‘break-visibility’ function for clef changes.
forceClef
(boolean)Show clef symbol, even if it has not changed. Only active for the first clef after the property is set, not for the full staff.
This engraver creates the following layout object(s):
Clef and ClefModifier.
Collision_engraver
Collect
NoteColumns
, and as soon as there are two or more, put them in aNoteCollision
object.This engraver creates the following layout object(s):
Cue_clef_engraver
Determine and set reference point for pitches in cued voices.
Properties (read)
clefTransposition
(integer)Add this much extra transposition. Values of 7 and -7 are common.
cueClefGlyph
(string)Name of the symbol within the music font.
cueClefPosition
(number)Where should the center of the clef symbol go, measured in half staff spaces from the center of the staff.
cueClefTransposition
(integer)Add this much extra transposition. Values of 7 and -7 are common.
cueClefTranspositionStyle
(symbol)Determines the way the ClefModifier grob is displayed. Possible values are ‘default’, ‘parenthesized’ and ‘bracketed’.
explicitCueClefVisibility
(vector)‘break-visibility’ function for cue clef changes.
middleCCuePosition
(number)The position of the middle C, as determined only by the clef of the cue notes. This can be calculated by looking at
cueClefPosition
andcueClefGlyph
.This engraver creates the following layout object(s):
ClefModifier, CueClef and CueEndClef.
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):
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_position_engraver
Position figured bass alignments over notes.
This engraver creates the following layout object(s):
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):
Font_size_engraver
Put
fontSize
intofont-size
grob property.Properties (read)
fontSize
(number)The relative size of all grobs in a context.
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.).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 (clef, key signature, etc.) items.
instrumentName
(markup)The name to print left of a staff. The
instrumentName
property labels the staff in the first system, and theshortInstrumentName
property labels following lines.shortInstrumentName
(markup)See
instrumentName
.shortVocalName
(markup)Name of a vocal line, short version.
vocalName
(markup)Name of a vocal line.
This engraver creates the following layout object(s):
Key_engraver
Engrave a key signature.
Music types accepted:
Properties (read)
createKeyOnClefChange
(boolean)Print a key signature whenever the clef is changed.
explicitKeySignatureVisibility
(vector)‘break-visibility’ function for explicit key changes. ‘\override’ of the
break-visibility
property will set the visibility for normal (i.e., at the start of the line) key signatures.extraNatural
(boolean)Whether to typeset an extra natural sign before accidentals that reduce the effect of a previous alteration.
keyAlterationOrder
(list)An alist that defines in what order alterations should be printed. The format is
(step . alter)
, where step is a number from 0 to 6 and alter from -2 (sharp) to 2 (flat).keyAlterations
(list)The current key signature. This is an alist containing
(step . alter)
or((octave . step) . alter)
, where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.keyAlterations = #`((6 . ,FLAT))
.lastKeyAlterations
(list)Last key signature before a key signature change.
middleCClefPosition
(number)The position of the middle C, as determined only by the clef. This can be calculated by looking at
clefPosition
andclefGlyph
.printKeyCancellation
(boolean)Print restoration alterations before a key signature change.
Properties (write)
keyAlterations
(list)The current key signature. This is an alist containing
(step . alter)
or((octave . step) . alter)
, where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.keyAlterations = #`((6 . ,FLAT))
.lastKeyAlterations
(list)Last key signature before a key signature change.
tonic
(pitch)The tonic of the current scale.
This engraver creates the following layout object(s):
Ledger_line_engraver
Create the spanner to draw ledger lines, and notices objects that need ledger lines.
This engraver creates the following layout object(s):
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.
Ottava_spanner_engraver
Create a text spanner when the ottavation property changes.
Properties (read)
currentMusicalColumn
(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
middleCOffset
(number)The offset of middle C from the position given by
middleCClefPosition
This is used for ottava brackets.ottavation
(markup)If set, the text for an ottava spanner. Changing this creates a new text spanner.
This engraver creates the following layout object(s):
Output_property_engraver
Apply a procedure to any grob acknowledged.
Music types accepted:
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 (clef, key signature, etc.) items.
This engraver creates the following layout object(s):
SostenutoPedalLineSpanner, SustainPedalLineSpanner and UnaCordaPedalLineSpanner.
Piano_pedal_engraver
Engrave piano pedal symbols and brackets.
Music types accepted:
sostenuto-event, sustain-event and una-corda-event
Properties (read)
currentCommandColumn
(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
pedalSostenutoStrings
(list)See
pedalSustainStrings
.pedalSostenutoStyle
(symbol)See
pedalSustainStyle
.pedalSustainStrings
(list)A list of strings to print for sustain-pedal. Format is
(up updown down)
, where each of the three is the string to print when this is done with the pedal.pedalSustainStyle
(symbol)A symbol that indicates how to print sustain pedals:
text
,bracket
ormixed
(both).pedalUnaCordaStrings
(list)See
pedalSustainStrings
.pedalUnaCordaStyle
(symbol)See
pedalSustainStyle
.This engraver creates the following layout object(s):
PianoPedalBracket, SostenutoPedal, SustainPedal and UnaCordaPedal.
Pure_from_neighbor_engraver
Coordinates items that get their pure heights from their neighbors.
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):
Script_row_engraver
Determine order in horizontal side position elements.
This engraver creates the following layout object(s):
Separating_line_group_engraver
Generate objects for computing spacing parameters.
Properties (read)
createSpacing
(boolean)Create
StaffSpacing
objects? Should be set for staves.Properties (write)
hasStaffSpacing
(boolean)True if the current
CommandColumn
contains items that will affect spacing.This engraver creates the following layout object(s):
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_symbol_engraver
Create the constellation of five (default) staff lines.
Music types accepted:
This engraver creates the following layout object(s):
Time_signature_engraver
Create a TimeSignature whenever
timeSignatureFraction
changes.Music types accepted:
Properties (read)
initialTimeSignatureVisibility
(vector)break visibility for the initial time signature.
partialBusy
(boolean)Signal that \partial acts at the current timestep.
timeSignatureFraction
(fraction, as pair)A pair of numbers, signifying the time signature. For example,
'(4 . 4)
is a 4/4 time signature.This engraver creates the following layout object(s):
[ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < GregorianTranscriptionStaff ] | [ Up : Contexts ] | [ KievanStaff > ] |
2.1.13 GregorianTranscriptionVoice
Corresponds to a voice on a staff. This context handles the conversion of dynamic signs, stems, beams, super- and subscripts, slurs, ties, and rests.
You have to instantiate this explicitly if you want to have multiple voices on the same staff.
This context also accepts commands for the following context(s):
Voice.
This context creates the following layout object(s):
Arpeggio, Beam, BendAfter, BreathingSign, ClusterSpanner, ClusterSpannerBeacon, CombineTextScript, Dots, DoublePercentRepeat, DoublePercentRepeatCounter, DoubleRepeatSlash, DynamicLineSpanner, DynamicText, DynamicTextSpanner, Episema, Fingering, Flag, Glissando, Hairpin, InstrumentSwitch, LaissezVibrerTie, LaissezVibrerTieColumn, LigatureBracket, MultiMeasureRest, MultiMeasureRestNumber, MultiMeasureRestScript, MultiMeasureRestText, NoteColumn, NoteHead, NoteSpacing, PercentRepeat, PercentRepeatCounter, PhrasingSlur, RepeatSlash, RepeatTie, RepeatTieColumn, Rest, Script, ScriptColumn, Slur, Stem, StemStub, StemTremolo, StringNumber, StrokeFinger, TextScript, TextSpanner, Tie, TieColumn, TrillPitchAccidental, TrillPitchGroup, TrillPitchHead, TrillSpanner, TupletBracket, TupletNumber and VoiceFollower.
This context sets the following properties:
- Set grob-property
padding
in Script to0.5
. - Set grob-property
transparent
in LigatureBracket to#t
. - Set translator property
autoBeaming
to#f
.
This is a ‘Bottom’ context; no contexts will be created implicitly from it.
This context cannot contain other contexts.
This context is built from the following engraver(s):
Arpeggio_engraver
Generate an Arpeggio symbol.
Music types accepted:
This engraver creates the following layout object(s):
Auto_beam_engraver
Generate beams based on measure characteristics and observed Stems. Uses
baseMoment
,beatStructure
,beamExceptions
,measureLength
, andmeasurePosition
to decide when to start and stop a beam. Overriding beaming is done through Stem_engraver propertiesstemLeftBeamCount
andstemRightBeamCount
.Music types accepted:
Properties (read)
autoBeaming
(boolean)If set to true then beams are generated automatically.
baseMoment
(moment)Smallest unit of time that will stand on its own as a subdivided section.
beamExceptions
(list)An alist of exceptions to autobeam rules that normally end on beats.
beamHalfMeasure
(boolean)Whether to allow a beam to begin halfway through the measure in triple time, which could look like 6/8.
beatStructure
(list)List of
baseMoment
s that are combined to make beats.subdivideBeams
(boolean)If set, multiple beams will be subdivided at
baseMoment
positions by only drawing one beam over the beat.This engraver creates the following layout object(s):
Beam.
Beam_engraver
Handle
Beam
events by engraving beams. If omitted, then notes are printed with flags instead of beams.Music types accepted:
Properties (read)
baseMoment
(moment)Smallest unit of time that will stand on its own as a subdivided section.
beamMelismaBusy
(boolean)Signal if a beam is present.
beatStructure
(list)List of
baseMoment
s that are combined to make beats.subdivideBeams
(boolean)If set, multiple beams will be subdivided at
baseMoment
positions by only drawing one beam over the beat.Properties (write)
forbidBreak
(boolean)If set to
#t
, prevent a line break at this point.This engraver creates the following layout object(s):
Beam.
Bend_engraver
Create fall spanners.
Music types accepted:
This engraver creates the following layout object(s):
Breathing_sign_engraver
Create a breathing sign.
Music types accepted:
This engraver creates the following layout object(s):
Chord_tremolo_engraver
Generate beams for tremolo repeats.
Music types accepted:
This engraver creates the following layout object(s):
Beam.
Cluster_spanner_engraver
Engrave a cluster using
Spanner
notation.Music types accepted:
This engraver creates the following layout object(s):
Dots_engraver
Create Dots objects for rhythmic-head-interfaces.
This engraver creates the following layout object(s):
Dots.
Double_percent_repeat_engraver
Make double measure repeats.
Music types accepted:
Properties (read)
countPercentRepeats
(boolean)If set, produce counters for percent repeats.
measureLength
(moment)Length of one measure in the current time signature.
repeatCountVisibility
(procedure)A procedure taking as arguments an integer and context, returning whether the corresponding percent repeat number should be printed when
countPercentRepeats
is set.Properties (write)
forbidBreak
(boolean)If set to
#t
, prevent a line break at this point.This engraver creates the following layout object(s):
Dynamic_align_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):
Dynamic_engraver
Create hairpins, dynamic texts and dynamic text spanners.
Music types accepted:
absolute-dynamic-event, break-span-event and span-dynamic-event
Properties (read)
crescendoSpanner
(symbol)The type of spanner to be used for crescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin crescendo is used.
crescendoText
(markup)The text to print at start of non-hairpin crescendo, i.e., ‘cresc.’.
currentMusicalColumn
(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
decrescendoSpanner
(symbol)The type of spanner to be used for decrescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin decrescendo is used.
decrescendoText
(markup)The text to print at start of non-hairpin decrescendo, i.e., ‘dim.’.
This engraver creates the following layout object(s):
Episema_engraver
Create an Editio Vaticana-style episema line.
Music types accepted:
This engraver creates the following layout object(s):
Fingering_engraver
Create fingering scripts.
Music types accepted:
This engraver creates the following layout object(s):
Font_size_engraver
Put
fontSize
intofont-size
grob property.Properties (read)
fontSize
(number)The relative size of all grobs in a context.
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.Glissando_engraver
Engrave glissandi.
Music types accepted:
Properties (read)
glissandoMap
(list)A map in the form of ’((source1 . target1) (source2 . target2) (sourcen . targetn)) showing the glissandi to be drawn for note columns. The value ’() will default to ’((0 . 0) (1 . 1) (n . n)), where n is the minimal number of note-heads in the two note columns between which the glissandi occur.
This engraver creates the following layout object(s):
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:
Properties (read)
autoBeaming
(boolean)If set to true then beams are generated automatically.
This engraver creates the following layout object(s):
Beam.
Grace_beam_engraver
Handle
Beam
events by engraving beams. If omitted, then notes are printed with flags instead of beams. Only engraves beams when we are at grace points in time.Music types accepted:
Properties (read)
baseMoment
(moment)Smallest unit of time that will stand on its own as a subdivided section.
beamMelismaBusy
(boolean)Signal if a beam is present.
beatStructure
(list)List of
baseMoment
s that are combined to make beats.subdivideBeams
(boolean)If set, multiple beams will be subdivided at
baseMoment
positions by only drawing one beam over the beat.This engraver creates the following layout object(s):
Beam.
Grace_engraver
Set font size and other properties for grace notes.
Properties (read)
graceSettings
(list)Overrides for grace notes. This property should be manipulated through the
add-grace-property
function.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.).Instrument_switch_engraver
Create a cue text for taking instrument.
Properties (read)
instrumentCueName
(markup)The name to print if another instrument is to be taken.
This engraver creates the following layout object(s):
Laissez_vibrer_engraver
Create laissez vibrer items.
Music types accepted:
This engraver creates the following layout object(s):
Ligature_bracket_engraver
Handle
Ligature_events
by engravingLigature
brackets.Music types accepted:
This engraver creates the following layout object(s):
Multi_measure_rest_engraver
Engrave multi-measure rests that are produced with ‘R’. It reads
measurePosition
andinternalBarNumber
to determine what number to print over the MultiMeasureRest.Music types accepted:
multi-measure-articulation-event, multi-measure-rest-event and multi-measure-text-event
Properties (read)
currentCommandColumn
(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
internalBarNumber
(integer)Contains the current barnumber. This property is used for internal timekeeping, among others by the
Accidental_engraver
.measurePosition
(moment)How much of the current measure have we had. This can be set manually to create incomplete measures.
restNumberThreshold
(number)If a multimeasure rest has more measures than this, a number is printed.
whichBar
(string)This property is read to determine what type of bar line to create.
Example:
\set Staff.whichBar = ".|:"This will create a start-repeat bar in this staff only. Valid values are described in ‘scm/bar-line.scm’.
This engraver creates the following layout object(s):
MultiMeasureRest, MultiMeasureRestNumber, MultiMeasureRestScript and MultiMeasureRestText.
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.
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):
Note_heads_engraver
Generate note heads.
Music types accepted:
Properties (read)
middleCPosition
(number)The place of the middle C, measured in half staff-spaces. Usually determined by looking at
middleCClefPosition
andmiddleCOffset
.staffLineLayoutFunction
(procedure)Layout of staff lines,
traditional
, orsemitone
.This engraver creates the following layout object(s):
Note_spacing_engraver
Generate
NoteSpacing
, an object linking horizontal lines for use in spacing.This engraver creates the following layout object(s):
Output_property_engraver
Apply a procedure to any grob acknowledged.
Music types accepted:
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):
Percent_repeat_engraver
Make whole measure repeats.
Music types accepted:
Properties (read)
countPercentRepeats
(boolean)If set, produce counters for percent repeats.
currentCommandColumn
(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
repeatCountVisibility
(procedure)A procedure taking as arguments an integer and context, returning whether the corresponding percent repeat number should be printed when
countPercentRepeats
is set.This engraver creates the following layout object(s):
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):
Pitched_trill_engraver
Print the bracketed note head after a note head with trill.
This engraver creates the following layout object(s):
Repeat_tie_engraver
Create repeat ties.
Music types accepted:
This engraver creates the following layout object(s):
RepeatTie and RepeatTieColumn.
Rest_engraver
Engrave rests.
Music types accepted:
Properties (read)
middleCPosition
(number)The place of the middle C, measured in half staff-spaces. Usually determined by looking at
middleCClefPosition
andmiddleCOffset
.This engraver creates the following layout object(s):
Rest.
Rhythmic_column_engraver
Generate
NoteColumn
, an object that groups stems, note heads, and rests.This engraver creates the following layout object(s):
Script_column_engraver
Find potentially colliding scripts and put them into a
ScriptColumn
object; that will fix the collisions.This engraver creates the following layout object(s):
Script_engraver
Handle note scripted articulations.
Music types accepted:
Properties (read)
scriptDefinitions
(list)The description of scripts. This is used by the
Script_engraver
for typesetting note-superscripts and subscripts. See ‘scm/script.scm’ for more information.This engraver creates the following layout object(s):
Slash_repeat_engraver
Make beat repeats.
Music types accepted:
This engraver creates the following layout object(s):
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.
Spanner_break_forbid_engraver
Forbid breaks in certain spanners.
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 and tuplet-span-event
Properties (read)
stemLeftBeamCount
(integer)Specify the number of beams to draw on the left side of the next note. Overrides automatic beaming. The value is only used once, and then it is erased.
stemRightBeamCount
(integer)See
stemLeftBeamCount
.whichBar
(string)This property is read to determine what type of bar line to create.
Example:
\set Staff.whichBar = ".|:"This will create a start-repeat bar in this staff only. Valid values are described in ‘scm/bar-line.scm’.
This engraver creates the following layout object(s):
Flag, Stem, StemStub and StemTremolo.
Text_engraver
Create text scripts.
Music types accepted:
This engraver creates the following layout object(s):
Text_spanner_engraver
Create text spanner from an event.
Music types accepted:
Properties (read)
currentMusicalColumn
(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
Tie_engraver
Generate ties between note heads of equal pitch.
Music types accepted:
Properties (read)
skipTypesetting
(boolean)If true, no typesetting is done, speeding up the interpretation phase. Useful for debugging large scores.
tieWaitForNote
(boolean)If true, tied notes do not have to follow each other directly. This can be used for writing out arpeggios.
Properties (write)
tieMelismaBusy
(boolean)Signal whether a tie is present.
This engraver creates the following layout object(s):
Trill_spanner_engraver
Create trill spanner from an event.
Music types accepted:
Properties (read)
currentCommandColumn
(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
currentMusicalColumn
(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
Tuplet_engraver
Catch tuplet events and generate appropriate bracket.
Music types accepted:
Properties (read)
tupletFullLength
(boolean)If set, the tuplet is printed up to the start of the next note.
tupletFullLengthNote
(boolean)If set, end at the next note, otherwise end on the matter (time signatures, etc.) before the note.
This engraver creates the following layout object(s):
[ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < GregorianTranscriptionVoice ] | [ Up : Contexts ] | [ KievanVoice > ] |
2.1.14 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, Clef, ClefModifier, CueClef, CueEndClef, DotColumn, FingeringColumn, InstrumentName, KeyCancellation, KeySignature, LedgerLineSpanner, NoteCollision, OttavaBracket, PianoPedalBracket, RestCollision, ScriptRow, SostenutoPedal, SostenutoPedalLineSpanner, StaffSpacing, StaffSymbol, SustainPedal, SustainPedalLineSpanner, UnaCordaPedal, UnaCordaPedalLineSpanner and VerticalAxisGroup.
This context sets the following properties:
- Set translator property
autoAccidentals
to:'(Staff #<procedure #f (context pitch barnum measurepos)> #<procedure neo-modern-accidental-rule (context pitch barnum measurepos)>)
- Set translator property
autoCautionaries
to'()
. - Set translator property
clefGlyph
to"clefs.kievan.do"
. - Set translator property
clefPosition
to0
. - Set translator property
clefTransposition
to0
. - Set translator property
createSpacing
to#t
. - Set translator property
extraNatural
to#f
. - Set translator property
ignoreFiguredBassRest
to#f
. - Set translator property
instrumentName
to'()
. - Set translator property
localAlterations
to'()
. - Set translator property
middleCClefPosition
to0
. - Set translator property
middleCPosition
to0
. - Set translator property
ottavationMarkups
to:'((4 . "29") (3 . "22") (2 . "15") (1 . "8") (-1 . "8") (-2 . "15") (-3 . "22") (-4 . "29"))
- Set translator property
printKeyCancellation
to#f
. - Set translator property
shortInstrumentName
to'()
.
This is not a ‘Bottom’ context; search for such a one will commence after creating an implicit context of type KievanVoice.
Context KievanStaff can contain CueVoice, KievanVoice and NullVoice.
This context is built from the following engraver(s):
Accidental_engraver
Make accidentals. Catch note heads, ties and notices key-change events. This engraver usually lives at Staff level, but reads the settings for Accidental at
Voice
level, so you can\override
them atVoice
.Properties (read)
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:
context
The current context to which the rule should be applied.
pitch
The pitch of the note to be evaluated.
barnum
The current bar number.
measurepos
The current measure position.
The procedure returns a pair of booleans. The first states whether an extra natural should be added. The second states whether an accidental should be printed.
(#t . #f)
does not make sense.autoCautionaries
(list)List similar to
autoAccidentals
, but it controls cautionary accidentals rather than normal ones. Both lists are tried, and the one giving the most accidentals wins. In case of draw, a normal accidental is typeset.extraNatural
(boolean)Whether to typeset an extra natural sign before accidentals that reduce the effect of a previous alteration.
harmonicAccidentals
(boolean)If set, harmonic notes in chords get accidentals.
internalBarNumber
(integer)Contains the current barnumber. This property is used for internal timekeeping, among others by the
Accidental_engraver
.keyAlterations
(list)The current key signature. This is an alist containing
(step . alter)
or((octave . step) . alter)
, where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.keyAlterations = #`((6 . ,FLAT))
.localAlterations
(list)The key signature at this point in the measure. The format is the same as for
keyAlterations
, but can also contain((octave . name) . (alter barnumber . measureposition))
pairs.Properties (write)
localAlterations
(list)The key signature at this point in the measure. The format is the same as for
keyAlterations
, but can also contain((octave . name) . (alter barnumber . measureposition))
pairs.This engraver creates the following layout object(s):
Accidental, AccidentalCautionary, AccidentalPlacement and AccidentalSuggestion.
Axis_group_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 (clef, key signature, etc.) items.
hasAxisGroup
(boolean)True if the current context is contained in an axis group.
keepAliveInterfaces
(list)A list of symbols, signifying grob interfaces that are worth keeping a staff with
remove-empty
set around for.Properties (write)
hasAxisGroup
(boolean)True if the current context is contained in an axis group.
This engraver creates the following layout object(s):
Bar_engraver
Create barlines. This engraver is controlled through the
whichBar
property. If it has no bar line to create, it will forbid a linebreak at this point. This engraver is required to trigger the creation of clefs at the start of systems.Properties (read)
whichBar
(string)This property is read to determine what type of bar line to create.
Example:
\set Staff.whichBar = ".|:"This will create a start-repeat bar in this staff only. Valid values are described in ‘scm/bar-line.scm’.
Properties (write)
forbidBreak
(boolean)If set to
#t
, prevent a line break at this point.This engraver creates the following layout object(s):
Clef_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. Values of 7 and -7 are common.
clefTranspositionStyle
(symbol)Determines the way the ClefModifier grob is displayed. Possible values are ‘default’, ‘parenthesized’ and ‘bracketed’.
explicitClefVisibility
(vector)‘break-visibility’ function for clef changes.
forceClef
(boolean)Show clef symbol, even if it has not changed. Only active for the first clef after the property is set, not for the full staff.
This engraver creates the following layout object(s):
Clef and ClefModifier.
Collision_engraver
Collect
NoteColumns
, and as soon as there are two or more, put them in aNoteCollision
object.This engraver creates the following layout object(s):
Cue_clef_engraver
Determine and set reference point for pitches in cued voices.
Properties (read)
clefTransposition
(integer)Add this much extra transposition. Values of 7 and -7 are common.
cueClefGlyph
(string)Name of the symbol within the music font.
cueClefPosition
(number)Where should the center of the clef symbol go, measured in half staff spaces from the center of the staff.
cueClefTransposition
(integer)Add this much extra transposition. Values of 7 and -7 are common.
cueClefTranspositionStyle
(symbol)Determines the way the ClefModifier grob is displayed. Possible values are ‘default’, ‘parenthesized’ and ‘bracketed’.
explicitCueClefVisibility
(vector)‘break-visibility’ function for cue clef changes.
middleCCuePosition
(number)The position of the middle C, as determined only by the clef of the cue notes. This can be calculated by looking at
cueClefPosition
andcueClefGlyph
.This engraver creates the following layout object(s):
ClefModifier, CueClef and CueEndClef.
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):
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_position_engraver
Position figured bass alignments over notes.
This engraver creates the following layout object(s):
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):
Font_size_engraver
Put
fontSize
intofont-size
grob property.Properties (read)
fontSize
(number)The relative size of all grobs in a context.
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.).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 (clef, key signature, etc.) items.
instrumentName
(markup)The name to print left of a staff. The
instrumentName
property labels the staff in the first system, and theshortInstrumentName
property labels following lines.shortInstrumentName
(markup)See
instrumentName
.shortVocalName
(markup)Name of a vocal line, short version.
vocalName
(markup)Name of a vocal line.
This engraver creates the following layout object(s):
Key_engraver
Engrave a key signature.
Music types accepted:
Properties (read)
createKeyOnClefChange
(boolean)Print a key signature whenever the clef is changed.
explicitKeySignatureVisibility
(vector)‘break-visibility’ function for explicit key changes. ‘\override’ of the
break-visibility
property will set the visibility for normal (i.e., at the start of the line) key signatures.extraNatural
(boolean)Whether to typeset an extra natural sign before accidentals that reduce the effect of a previous alteration.
keyAlterationOrder
(list)An alist that defines in what order alterations should be printed. The format is
(step . alter)
, where step is a number from 0 to 6 and alter from -2 (sharp) to 2 (flat).keyAlterations
(list)The current key signature. This is an alist containing
(step . alter)
or((octave . step) . alter)
, where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.keyAlterations = #`((6 . ,FLAT))
.lastKeyAlterations
(list)Last key signature before a key signature change.
middleCClefPosition
(number)The position of the middle C, as determined only by the clef. This can be calculated by looking at
clefPosition
andclefGlyph
.printKeyCancellation
(boolean)Print restoration alterations before a key signature change.
Properties (write)
keyAlterations
(list)The current key signature. This is an alist containing
(step . alter)
or((octave . step) . alter)
, where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.keyAlterations = #`((6 . ,FLAT))
.lastKeyAlterations
(list)Last key signature before a key signature change.
tonic
(pitch)The tonic of the current scale.
This engraver creates the following layout object(s):
Ledger_line_engraver
Create the spanner to draw ledger lines, and notices objects that need ledger lines.
This engraver creates the following layout object(s):
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.
Ottava_spanner_engraver
Create a text spanner when the ottavation property changes.
Properties (read)
currentMusicalColumn
(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
middleCOffset
(number)The offset of middle C from the position given by
middleCClefPosition
This is used for ottava brackets.ottavation
(markup)If set, the text for an ottava spanner. Changing this creates a new text spanner.
This engraver creates the following layout object(s):
Output_property_engraver
Apply a procedure to any grob acknowledged.
Music types accepted:
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 (clef, key signature, etc.) items.
This engraver creates the following layout object(s):
SostenutoPedalLineSpanner, SustainPedalLineSpanner and UnaCordaPedalLineSpanner.
Piano_pedal_engraver
Engrave piano pedal symbols and brackets.
Music types accepted:
sostenuto-event, sustain-event and una-corda-event
Properties (read)
currentCommandColumn
(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
pedalSostenutoStrings
(list)See
pedalSustainStrings
.pedalSostenutoStyle
(symbol)See
pedalSustainStyle
.pedalSustainStrings
(list)A list of strings to print for sustain-pedal. Format is
(up updown down)
, where each of the three is the string to print when this is done with the pedal.pedalSustainStyle
(symbol)A symbol that indicates how to print sustain pedals:
text
,bracket
ormixed
(both).pedalUnaCordaStrings
(list)See
pedalSustainStrings
.pedalUnaCordaStyle
(symbol)See
pedalSustainStyle
.This engraver creates the following layout object(s):
PianoPedalBracket, SostenutoPedal, SustainPedal and UnaCordaPedal.
Pure_from_neighbor_engraver
Coordinates items that get their pure heights from their neighbors.
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):
Script_row_engraver
Determine order in horizontal side position elements.
This engraver creates the following layout object(s):
Separating_line_group_engraver
Generate objects for computing spacing parameters.
Properties (read)
createSpacing
(boolean)Create
StaffSpacing
objects? Should be set for staves.Properties (write)
hasStaffSpacing
(boolean)True if the current
CommandColumn
contains items that will affect spacing.This engraver creates the following layout object(s):
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_symbol_engraver
Create the constellation of five (default) staff lines.
Music types accepted:
This engraver creates the following layout object(s):
[ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < KievanStaff ] | [ Up : Contexts ] | [ Lyrics > ] |
2.1.15 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):
Arpeggio, Beam, BendAfter, BreathingSign, ClusterSpanner, ClusterSpannerBeacon, CombineTextScript, Dots, DoublePercentRepeat, DoublePercentRepeatCounter, DoubleRepeatSlash, DynamicLineSpanner, DynamicText, DynamicTextSpanner, Fingering, Flag, Glissando, Hairpin, InstrumentSwitch, KievanLigature, LaissezVibrerTie, LaissezVibrerTieColumn, MultiMeasureRest, MultiMeasureRestNumber, MultiMeasureRestScript, MultiMeasureRestText, NoteColumn, NoteHead, NoteSpacing, PercentRepeat, PercentRepeatCounter, PhrasingSlur, RepeatSlash, RepeatTie, RepeatTieColumn, Rest, Script, ScriptColumn, Slur, Stem, StemStub, StemTremolo, StringNumber, StrokeFinger, TextScript, TextSpanner, Tie, TieColumn, TrillPitchAccidental, TrillPitchGroup, TrillPitchHead, TrillSpanner, TupletBracket, TupletNumber and VoiceFollower.
This context sets the following properties:
- Set grob-property
duration-log
in NoteHead tonote-head::calc-kievan-duration-log
. - Set grob-property
glyph-name-alist
in Accidental to:'((-1/2 . "accidentals.kievanM1") (1/2 . "accidentals.kievan1"))
- Set grob-property
length
in Stem to0.0
. - Set grob-property
positions
in Beam tobeam::get-kievan-positions
. - Set grob-property
quantized-positions
in Beam tobeam::get-kievan-quantized-positions
. - Set grob-property
stencil
in Flag to#f
. - Set grob-property
stencil
in Slur to#f
. - Set grob-property
stencil
in Stem to#f
. - Set grob-property
style
in Dots to'kievan
. - Set grob-property
style
in NoteHead to'kievan
. - Set grob-property
style
in Rest to'mensural
. - Set grob-property
X-offset
in Stem tostem::kievan-offset-callback
. - Set translator property
autoBeaming
to#f
.
This is a ‘Bottom’ context; no contexts will be created implicitly from it.
This context cannot contain other contexts.
This context is built from the following engraver(s):
Arpeggio_engraver
Generate an Arpeggio symbol.
Music types accepted:
This engraver creates the following layout object(s):
Auto_beam_engraver
Generate beams based on measure characteristics and observed Stems. Uses
baseMoment
,beatStructure
,beamExceptions
,measureLength
, andmeasurePosition
to decide when to start and stop a beam. Overriding beaming is done through Stem_engraver propertiesstemLeftBeamCount
andstemRightBeamCount
.Music types accepted:
Properties (read)
autoBeaming
(boolean)If set to true then beams are generated automatically.
baseMoment
(moment)Smallest unit of time that will stand on its own as a subdivided section.
beamExceptions
(list)An alist of exceptions to autobeam rules that normally end on beats.
beamHalfMeasure
(boolean)Whether to allow a beam to begin halfway through the measure in triple time, which could look like 6/8.
beatStructure
(list)List of
baseMoment
s that are combined to make beats.subdivideBeams
(boolean)If set, multiple beams will be subdivided at
baseMoment
positions by only drawing one beam over the beat.This engraver creates the following layout object(s):
Beam.
Beam_engraver
Handle
Beam
events by engraving beams. If omitted, then notes are printed with flags instead of beams.Music types accepted:
Properties (read)
baseMoment
(moment)Smallest unit of time that will stand on its own as a subdivided section.
beamMelismaBusy
(boolean)Signal if a beam is present.
beatStructure
(list)List of
baseMoment
s that are combined to make beats.subdivideBeams
(boolean)If set, multiple beams will be subdivided at
baseMoment
positions by only drawing one beam over the beat.Properties (write)
forbidBreak
(boolean)If set to
#t
, prevent a line break at this point.This engraver creates the following layout object(s):
Beam.
Bend_engraver
Create fall spanners.
Music types accepted:
This engraver creates the following layout object(s):
Breathing_sign_engraver
Create a breathing sign.
Music types accepted:
This engraver creates the following layout object(s):
Chord_tremolo_engraver
Generate beams for tremolo repeats.
Music types accepted:
This engraver creates the following layout object(s):
Beam.
Cluster_spanner_engraver
Engrave a cluster using
Spanner
notation.Music types accepted:
This engraver creates the following layout object(s):
Dots_engraver
Create Dots objects for rhythmic-head-interfaces.
This engraver creates the following layout object(s):
Dots.
Double_percent_repeat_engraver
Make double measure repeats.
Music types accepted:
Properties (read)
countPercentRepeats
(boolean)If set, produce counters for percent repeats.
measureLength
(moment)Length of one measure in the current time signature.
repeatCountVisibility
(procedure)A procedure taking as arguments an integer and context, returning whether the corresponding percent repeat number should be printed when
countPercentRepeats
is set.Properties (write)
forbidBreak
(boolean)If set to
#t
, prevent a line break at this point.This engraver creates the following layout object(s):
Dynamic_align_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):
Dynamic_engraver
Create hairpins, dynamic texts and dynamic text spanners.
Music types accepted:
absolute-dynamic-event, break-span-event and span-dynamic-event
Properties (read)
crescendoSpanner
(symbol)The type of spanner to be used for crescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin crescendo is used.
crescendoText
(markup)The text to print at start of non-hairpin crescendo, i.e., ‘cresc.’.
currentMusicalColumn
(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
decrescendoSpanner
(symbol)The type of spanner to be used for decrescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin decrescendo is used.
decrescendoText
(markup)The text to print at start of non-hairpin decrescendo, i.e., ‘dim.’.
This engraver creates the following layout object(s):
Fingering_engraver
Create fingering scripts.
Music types accepted:
This engraver creates the following layout object(s):
Font_size_engraver
Put
fontSize
intofont-size
grob property.Properties (read)
fontSize
(number)The relative size of all grobs in a context.
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.Glissando_engraver
Engrave glissandi.
Music types accepted:
Properties (read)
glissandoMap
(list)A map in the form of ’((source1 . target1) (source2 . target2) (sourcen . targetn)) showing the glissandi to be drawn for note columns. The value ’() will default to ’((0 . 0) (1 . 1) (n . n)), where n is the minimal number of note-heads in the two note columns between which the glissandi occur.
This engraver creates the following layout object(s):
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:
Properties (read)
autoBeaming
(boolean)If set to true then beams are generated automatically.
This engraver creates the following layout object(s):
Beam.
Grace_beam_engraver
Handle
Beam
events by engraving beams. If omitted, then notes are printed with flags instead of beams. Only engraves beams when we are at grace points in time.Music types accepted:
Properties (read)
baseMoment
(moment)Smallest unit of time that will stand on its own as a subdivided section.
beamMelismaBusy
(boolean)Signal if a beam is present.
beatStructure
(list)List of
baseMoment
s that are combined to make beats.subdivideBeams
(boolean)If set, multiple beams will be subdivided at
baseMoment
positions by only drawing one beam over the beat.This engraver creates the following layout object(s):
Beam.
Grace_engraver
Set font size and other properties for grace notes.
Properties (read)
graceSettings
(list)Overrides for grace notes. This property should be manipulated through the
add-grace-property
function.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.).Instrument_switch_engraver
Create a cue text for taking instrument.
Properties (read)
instrumentCueName
(markup)The name to print if another instrument is to be taken.
This engraver creates the following layout object(s):
Kievan_ligature_engraver
Handle
Kievan_ligature_events
by glueing Kievan heads together.Music types accepted:
This engraver creates the following layout object(s):
Laissez_vibrer_engraver
Create laissez vibrer items.
Music types accepted:
This engraver creates the following layout object(s):
Multi_measure_rest_engraver
Engrave multi-measure rests that are produced with ‘R’. It reads
measurePosition
andinternalBarNumber
to determine what number to print over the MultiMeasureRest.Music types accepted:
multi-measure-articulation-event, multi-measure-rest-event and multi-measure-text-event
Properties (read)
currentCommandColumn
(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
internalBarNumber
(integer)Contains the current barnumber. This property is used for internal timekeeping, among others by the
Accidental_engraver
.measurePosition
(moment)How much of the current measure have we had. This can be set manually to create incomplete measures.
restNumberThreshold
(number)If a multimeasure rest has more measures than this, a number is printed.
whichBar
(string)This property is read to determine what type of bar line to create.
Example:
\set Staff.whichBar = ".|:"This will create a start-repeat bar in this staff only. Valid values are described in ‘scm/bar-line.scm’.
This engraver creates the following layout object(s):
MultiMeasureRest, MultiMeasureRestNumber, MultiMeasureRestScript and MultiMeasureRestText.
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.
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):
Note_heads_engraver
Generate note heads.
Music types accepted:
Properties (read)
middleCPosition
(number)The place of the middle C, measured in half staff-spaces. Usually determined by looking at
middleCClefPosition
andmiddleCOffset
.staffLineLayoutFunction
(procedure)Layout of staff lines,
traditional
, orsemitone
.This engraver creates the following layout object(s):
Note_spacing_engraver
Generate
NoteSpacing
, an object linking horizontal lines for use in spacing.This engraver creates the following layout object(s):
Output_property_engraver
Apply a procedure to any grob acknowledged.
Music types accepted:
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):
Percent_repeat_engraver
Make whole measure repeats.
Music types accepted:
Properties (read)
countPercentRepeats
(boolean)If set, produce counters for percent repeats.
currentCommandColumn
(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
repeatCountVisibility
(procedure)A procedure taking as arguments an integer and context, returning whether the corresponding percent repeat number should be printed when
countPercentRepeats
is set.This engraver creates the following layout object(s):
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):
Pitched_trill_engraver
Print the bracketed note head after a note head with trill.
This engraver creates the following layout object(s):
Repeat_tie_engraver
Create repeat ties.
Music types accepted:
This engraver creates the following layout object(s):
RepeatTie and RepeatTieColumn.
Rest_engraver
Engrave rests.
Music types accepted:
Properties (read)
middleCPosition
(number)The place of the middle C, measured in half staff-spaces. Usually determined by looking at
middleCClefPosition
andmiddleCOffset
.This engraver creates the following layout object(s):
Rest.
Rhythmic_column_engraver
Generate
NoteColumn
, an object that groups stems, note heads, and rests.This engraver creates the following layout object(s):
Script_column_engraver
Find potentially colliding scripts and put them into a
ScriptColumn
object; that will fix the collisions.This engraver creates the following layout object(s):
Script_engraver
Handle note scripted articulations.
Music types accepted:
Properties (read)
scriptDefinitions
(list)The description of scripts. This is used by the
Script_engraver
for typesetting note-superscripts and subscripts. See ‘scm/script.scm’ for more information.This engraver creates the following layout object(s):
Slash_repeat_engraver
Make beat repeats.
Music types accepted:
This engraver creates the following layout object(s):
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.
Spanner_break_forbid_engraver
Forbid breaks in certain spanners.
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 and tuplet-span-event
Properties (read)
stemLeftBeamCount
(integer)Specify the number of beams to draw on the left side of the next note. Overrides automatic beaming. The value is only used once, and then it is erased.
stemRightBeamCount
(integer)See
stemLeftBeamCount
.whichBar
(string)This property is read to determine what type of bar line to create.
Example:
\set Staff.whichBar = ".|:"This will create a start-repeat bar in this staff only. Valid values are described in ‘scm/bar-line.scm’.
This engraver creates the following layout object(s):
Flag, Stem, StemStub and StemTremolo.
Text_engraver
Create text scripts.
Music types accepted:
This engraver creates the following layout object(s):
Text_spanner_engraver
Create text spanner from an event.
Music types accepted:
Properties (read)
currentMusicalColumn
(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
Tie_engraver
Generate ties between note heads of equal pitch.
Music types accepted:
Properties (read)
skipTypesetting
(boolean)If true, no typesetting is done, speeding up the interpretation phase. Useful for debugging large scores.
tieWaitForNote
(boolean)If true, tied notes do not have to follow each other directly. This can be used for writing out arpeggios.
Properties (write)
tieMelismaBusy
(boolean)Signal whether a tie is present.
This engraver creates the following layout object(s):
Trill_spanner_engraver
Create trill spanner from an event.
Music types accepted:
Properties (read)
currentCommandColumn
(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
currentMusicalColumn
(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
Tuplet_engraver
Catch tuplet events and generate appropriate bracket.
Music types accepted:
Properties (read)
tupletFullLength
(boolean)If set, the tuplet is printed up to the start of the next note.
tupletFullLengthNote
(boolean)If set, end at the next note, otherwise end on the matter (time signatures, etc.) before the note.
This engraver creates the following layout object(s):
[ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < KievanVoice ] | [ Up : Contexts ] | [ MensuralStaff > ] |
2.1.16 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 grob-property
bar-extent
in BarLine to:'(-0.05 . 0.05)
- Set grob-property
font-size
in InstrumentName to1.0
. - Set grob-property
nonstaff-nonstaff-spacing
in VerticalAxisGroup to:'((basic-distance . 0) (minimum-distance . 2.8) (padding . 0.2) (stretchability . 0))
- Set grob-property
nonstaff-relatedstaff-spacing
in VerticalAxisGroup to:'((basic-distance . 5.5) (padding . 0.5) (stretchability . 1))
- Set grob-property
nonstaff-unrelatedstaff-spacing.padding
in VerticalAxisGroup to1.5
. - Set grob-property
remove-empty
in VerticalAxisGroup to#t
. - Set grob-property
remove-first
in VerticalAxisGroup to#t
. - Set grob-property
self-alignment-Y
in InstrumentName to#f
. - Set grob-property
staff-affinity
in VerticalAxisGroup to1
. - Set translator property
instrumentName
to'()
. - Set translator property
searchForVoice
to#f
. - Set translator property
shortInstrumentName
to'()
.
This is a ‘Bottom’ context; no contexts will be created implicitly from it.
This context cannot contain other contexts.
This context is built from the following engraver(s):
Axis_group_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 (clef, key signature, etc.) items.
hasAxisGroup
(boolean)True if the current context is contained in an axis group.
keepAliveInterfaces
(list)A list of symbols, signifying grob interfaces that are worth keeping a staff with
remove-empty
set around for.Properties (write)
hasAxisGroup
(boolean)True if the current context is contained in an axis group.
This engraver creates the following layout object(s):
Extender_engraver
Create lyric extenders.
Music types accepted:
completize-extender-event and extender-event
Properties (read)
extendersOverRests
(boolean)Whether to continue extenders as they cross a rest.
This engraver creates the following layout object(s):
Font_size_engraver
Put
fontSize
intofont-size
grob property.Properties (read)
fontSize
(number)The relative size of all grobs in a context.
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):
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 (clef, key signature, etc.) items.
instrumentName
(markup)The name to print left of a staff. The
instrumentName
property labels the staff in the first system, and theshortInstrumentName
property labels following lines.shortInstrumentName
(markup)See
instrumentName
.shortVocalName
(markup)Name of a vocal line, short version.
vocalName
(markup)Name of a vocal line.
This engraver creates the following layout object(s):
Lyric_engraver
Engrave text for lyrics.
Music types accepted:
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):
Pure_from_neighbor_engraver
Coordinates items that get their pure heights from their neighbors.
Stanza_number_engraver
Engrave stanza numbers.
Properties (read)
stanza
(markup)Stanza ‘number’ to print before the start of a verse. Use in
Lyrics
context.This engraver creates the following layout object(s):
[ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Lyrics ] | [ Up : Contexts ] | [ MensuralVoice > ] |
2.1.17 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, Clef, ClefModifier, CueClef, CueEndClef, Custos, DotColumn, FingeringColumn, InstrumentName, KeyCancellation, KeySignature, LedgerLineSpanner, NoteCollision, OttavaBracket, PianoPedalBracket, RestCollision, ScriptRow, SostenutoPedal, SostenutoPedalLineSpanner, StaffSpacing, StaffSymbol, SustainPedal, SustainPedalLineSpanner, TimeSignature, UnaCordaPedal, UnaCordaPedalLineSpanner and VerticalAxisGroup.
This context sets the following properties:
- Set grob-property
glyph-name-alist
in AccidentalSuggestion to:'((-1/2 . "accidentals.mensuralM1") (0 . "accidentals.vaticana0") (1/2 . "accidentals.mensural1"))
- Set grob-property
glyph-name-alist
in Accidental to:'((-1/2 . "accidentals.mensuralM1") (0 . "accidentals.vaticana0") (1/2 . "accidentals.mensural1"))
- Set grob-property
glyph-name-alist
in KeySignature to:'((-1/2 . "accidentals.mensuralM1") (0 . "accidentals.vaticana0") (1/2 . "accidentals.mensural1"))
- Set grob-property
neutral-direction
in Custos to-1
. - Set grob-property
neutral-position
in Custos to3
. - Set grob-property
style
in Custos to'mensural
. - Set grob-property
style
in TimeSignature to'mensural
. - Set grob-property
thickness
in StaffSymbol to0.6
. - Set grob-property
transparent
in BarLine to#t
. - Set translator property
autoAccidentals
to:'(Staff #<procedure #f (context pitch barnum measurepos)>)
- Set translator property
autoCautionaries
to'()
. - Set translator property
clefGlyph
to"clefs.mensural.g"
. - Set translator property
clefPosition
to-2
. - Set translator property
clefTransposition
to0
. - Set translator property
createSpacing
to#t
. - Set translator property
extraNatural
to#f
. - Set translator property
ignoreFiguredBassRest
to#f
. - Set translator property
instrumentName
to'()
. - Set translator property
localAlterations
to'()
. - Set translator property
middleCClefPosition
to-6
. - Set translator property
middleCPosition
to-6
. - Set translator property
ottavationMarkups
to:'((4 . "29") (3 . "22") (2 . "15") (1 . "8") (-1 . "8") (-2 . "15") (-3 . "22") (-4 . "29"))
- Set translator property
printKeyCancellation
to#f
. - Set translator property
shortInstrumentName
to'()
.
This is not a ‘Bottom’ context; search for such a one will commence after creating an implicit context of type MensuralVoice.
Context MensuralStaff can contain CueVoice, MensuralVoice and NullVoice.
This context is built from the following engraver(s):
Accidental_engraver
Make accidentals. Catch note heads, ties and notices key-change events. This engraver usually lives at Staff level, but reads the settings for Accidental at
Voice
level, so you can\override
them atVoice
.Properties (read)
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:
context
The current context to which the rule should be applied.
pitch
The pitch of the note to be evaluated.
barnum
The current bar number.
measurepos
The current measure position.
The procedure returns a pair of booleans. The first states whether an extra natural should be added. The second states whether an accidental should be printed.
(#t . #f)
does not make sense.autoCautionaries
(list)List similar to
autoAccidentals
, but it controls cautionary accidentals rather than normal ones. Both lists are tried, and the one giving the most accidentals wins. In case of draw, a normal accidental is typeset.extraNatural
(boolean)Whether to typeset an extra natural sign before accidentals that reduce the effect of a previous alteration.
harmonicAccidentals
(boolean)If set, harmonic notes in chords get accidentals.
internalBarNumber
(integer)Contains the current barnumber. This property is used for internal timekeeping, among others by the
Accidental_engraver
.keyAlterations
(list)The current key signature. This is an alist containing
(step . alter)
or((octave . step) . alter)
, where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.keyAlterations = #`((6 . ,FLAT))
.localAlterations
(list)The key signature at this point in the measure. The format is the same as for
keyAlterations
, but can also contain((octave . name) . (alter barnumber . measureposition))
pairs.Properties (write)
localAlterations
(list)The key signature at this point in the measure. The format is the same as for
keyAlterations
, but can also contain((octave . name) . (alter barnumber . measureposition))
pairs.This engraver creates the following layout object(s):
Accidental, AccidentalCautionary, AccidentalPlacement and AccidentalSuggestion.
Axis_group_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 (clef, key signature, etc.) items.
hasAxisGroup
(boolean)True if the current context is contained in an axis group.
keepAliveInterfaces
(list)A list of symbols, signifying grob interfaces that are worth keeping a staff with
remove-empty
set around for.Properties (write)
hasAxisGroup
(boolean)True if the current context is contained in an axis group.
This engraver creates the following layout object(s):
Bar_engraver
Create barlines. This engraver is controlled through the
whichBar
property. If it has no bar line to create, it will forbid a linebreak at this point. This engraver is required to trigger the creation of clefs at the start of systems.Properties (read)
whichBar
(string)This property is read to determine what type of bar line to create.
Example:
\set Staff.whichBar = ".|:"This will create a start-repeat bar in this staff only. Valid values are described in ‘scm/bar-line.scm’.
Properties (write)
forbidBreak
(boolean)If set to
#t
, prevent a line break at this point.This engraver creates the following layout object(s):
Clef_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. Values of 7 and -7 are common.
clefTranspositionStyle
(symbol)Determines the way the ClefModifier grob is displayed. Possible values are ‘default’, ‘parenthesized’ and ‘bracketed’.
explicitClefVisibility
(vector)‘break-visibility’ function for clef changes.
forceClef
(boolean)Show clef symbol, even if it has not changed. Only active for the first clef after the property is set, not for the full staff.
This engraver creates the following layout object(s):
Clef and ClefModifier.
Collision_engraver
Collect
NoteColumns
, and as soon as there are two or more, put them in aNoteCollision
object.This engraver creates the following layout object(s):
Cue_clef_engraver
Determine and set reference point for pitches in cued voices.
Properties (read)
clefTransposition
(integer)Add this much extra transposition. Values of 7 and -7 are common.
cueClefGlyph
(string)Name of the symbol within the music font.
cueClefPosition
(number)Where should the center of the clef symbol go, measured in half staff spaces from the center of the staff.
cueClefTransposition
(integer)Add this much extra transposition. Values of 7 and -7 are common.
cueClefTranspositionStyle
(symbol)Determines the way the ClefModifier grob is displayed. Possible values are ‘default’, ‘parenthesized’ and ‘bracketed’.
explicitCueClefVisibility
(vector)‘break-visibility’ function for cue clef changes.
middleCCuePosition
(number)The position of the middle C, as determined only by the clef of the cue notes. This can be calculated by looking at
cueClefPosition
andcueClefGlyph
.This engraver creates the following layout object(s):
ClefModifier, CueClef and CueEndClef.
Custos_engraver
Engrave custodes.
This engraver creates the following layout object(s):
Dot_column_engraver
Engrave dots on dotted notes shifted to the right of the note. If omitted, then dots appear on top of the notes.
This engraver creates the following layout object(s):
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_position_engraver
Position figured bass alignments over notes.
This engraver creates the following layout object(s):
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):
Font_size_engraver
Put
fontSize
intofont-size
grob property.Properties (read)
fontSize
(number)The relative size of all grobs in a context.
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.).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 (clef, key signature, etc.) items.
instrumentName
(markup)The name to print left of a staff. The
instrumentName
property labels the staff in the first system, and theshortInstrumentName
property labels following lines.shortInstrumentName
(markup)See
instrumentName
.shortVocalName
(markup)Name of a vocal line, short version.
vocalName
(markup)Name of a vocal line.
This engraver creates the following layout object(s):
Key_engraver
Engrave a key signature.
Music types accepted:
Properties (read)
createKeyOnClefChange
(boolean)Print a key signature whenever the clef is changed.
explicitKeySignatureVisibility
(vector)‘break-visibility’ function for explicit key changes. ‘\override’ of the
break-visibility
property will set the visibility for normal (i.e., at the start of the line) key signatures.extraNatural
(boolean)Whether to typeset an extra natural sign before accidentals that reduce the effect of a previous alteration.
keyAlterationOrder
(list)An alist that defines in what order alterations should be printed. The format is
(step . alter)
, where step is a number from 0 to 6 and alter from -2 (sharp) to 2 (flat).keyAlterations
(list)The current key signature. This is an alist containing
(step . alter)
or((octave . step) . alter)
, where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.keyAlterations = #`((6 . ,FLAT))
.lastKeyAlterations
(list)Last key signature before a key signature change.
middleCClefPosition
(number)The position of the middle C, as determined only by the clef. This can be calculated by looking at
clefPosition
andclefGlyph
.printKeyCancellation
(boolean)Print restoration alterations before a key signature change.
Properties (write)
keyAlterations
(list)The current key signature. This is an alist containing
(step . alter)
or((octave . step) . alter)
, where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.keyAlterations = #`((6 . ,FLAT))
.lastKeyAlterations
(list)Last key signature before a key signature change.
tonic
(pitch)The tonic of the current scale.
This engraver creates the following layout object(s):
Ledger_line_engraver
Create the spanner to draw ledger lines, and notices objects that need ledger lines.
This engraver creates the following layout object(s):
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.
Ottava_spanner_engraver
Create a text spanner when the ottavation property changes.
Properties (read)
currentMusicalColumn
(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
middleCOffset
(number)The offset of middle C from the position given by
middleCClefPosition
This is used for ottava brackets.ottavation
(markup)If set, the text for an ottava spanner. Changing this creates a new text spanner.
This engraver creates the following layout object(s):
Output_property_engraver
Apply a procedure to any grob acknowledged.
Music types accepted:
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 (clef, key signature, etc.) items.
This engraver creates the following layout object(s):
SostenutoPedalLineSpanner, SustainPedalLineSpanner and UnaCordaPedalLineSpanner.
Piano_pedal_engraver
Engrave piano pedal symbols and brackets.
Music types accepted:
sostenuto-event, sustain-event and una-corda-event
Properties (read)
currentCommandColumn
(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
pedalSostenutoStrings
(list)See
pedalSustainStrings
.pedalSostenutoStyle
(symbol)See
pedalSustainStyle
.pedalSustainStrings
(list)A list of strings to print for sustain-pedal. Format is
(up updown down)
, where each of the three is the string to print when this is done with the pedal.pedalSustainStyle
(symbol)A symbol that indicates how to print sustain pedals:
text
,bracket
ormixed
(both).pedalUnaCordaStrings
(list)See
pedalSustainStrings
.pedalUnaCordaStyle
(symbol)See
pedalSustainStyle
.This engraver creates the following layout object(s):
PianoPedalBracket, SostenutoPedal, SustainPedal and UnaCordaPedal.
Pure_from_neighbor_engraver
Coordinates items that get their pure heights from their neighbors.
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):
Script_row_engraver
Determine order in horizontal side position elements.
This engraver creates the following layout object(s):
Separating_line_group_engraver
Generate objects for computing spacing parameters.
Properties (read)
createSpacing
(boolean)Create
StaffSpacing
objects? Should be set for staves.Properties (write)
hasStaffSpacing
(boolean)True if the current
CommandColumn
contains items that will affect spacing.This engraver creates the following layout object(s):
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_symbol_engraver
Create the constellation of five (default) staff lines.
Music types accepted:
This engraver creates the following layout object(s):
Time_signature_engraver
Create a TimeSignature whenever
timeSignatureFraction
changes.Music types accepted:
Properties (read)
initialTimeSignatureVisibility
(vector)break visibility for the initial time signature.
partialBusy
(boolean)Signal that \partial acts at the current timestep.
timeSignatureFraction
(fraction, as pair)A pair of numbers, signifying the time signature. For example,
'(4 . 4)
is a 4/4 time signature.This engraver creates the following layout object(s):
[ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < MensuralStaff ] | [ Up : Contexts ] | [ NoteNames > ] |
2.1.18 MensuralVoice
Same as Voice
context, except that it is
accommodated for typesetting a piece in mensural style.
This context also accepts commands for the following context(s):
Voice.
This context creates the following layout object(s):
Arpeggio, Beam, BendAfter, BreathingSign, ClusterSpanner, ClusterSpannerBeacon, CombineTextScript, Dots, DoublePercentRepeat, DoublePercentRepeatCounter, DoubleRepeatSlash, DynamicLineSpanner, DynamicText, DynamicTextSpanner, Fingering, Flag, Glissando, Hairpin, InstrumentSwitch, LaissezVibrerTie, LaissezVibrerTieColumn, MensuralLigature, MultiMeasureRest, MultiMeasureRestNumber, MultiMeasureRestScript, MultiMeasureRestText, NoteColumn, NoteHead, NoteSpacing, PercentRepeat, PercentRepeatCounter, PhrasingSlur, RepeatSlash, RepeatTie, RepeatTieColumn, Rest, Script, ScriptColumn, Stem, StemStub, StemTremolo, StringNumber, StrokeFinger, TextScript, TextSpanner, Tie, TieColumn, TrillPitchAccidental, TrillPitchGroup, TrillPitchHead, TrillSpanner, TupletBracket, TupletNumber and VoiceFollower.
This context sets the following properties:
- Set grob-property
style
in Flag to'mensural
. - Set grob-property
style
in NoteHead to'mensural
. - Set grob-property
style
in Rest to'mensural
. - Set translator property
autoBeaming
to#f
.
This is a ‘Bottom’ context; no contexts will be created implicitly from it.
This context cannot contain other contexts.
This context is built from the following engraver(s):
Arpeggio_engraver
Generate an Arpeggio symbol.
Music types accepted:
This engraver creates the following layout object(s):
Auto_beam_engraver
Generate beams based on measure characteristics and observed Stems. Uses
baseMoment
,beatStructure
,beamExceptions
,measureLength
, andmeasurePosition
to decide when to start and stop a beam. Overriding beaming is done through Stem_engraver propertiesstemLeftBeamCount
andstemRightBeamCount
.Music types accepted:
Properties (read)
autoBeaming
(boolean)If set to true then beams are generated automatically.
baseMoment
(moment)Smallest unit of time that will stand on its own as a subdivided section.
beamExceptions
(list)An alist of exceptions to autobeam rules that normally end on beats.
beamHalfMeasure
(boolean)Whether to allow a beam to begin halfway through the measure in triple time, which could look like 6/8.
beatStructure
(list)List of
baseMoment
s that are combined to make beats.subdivideBeams
(boolean)If set, multiple beams will be subdivided at
baseMoment
positions by only drawing one beam over the beat.This engraver creates the following layout object(s):
Beam.
Beam_engraver
Handle
Beam
events by engraving beams. If omitted, then notes are printed with flags instead of beams.Music types accepted:
Properties (read)
baseMoment
(moment)Smallest unit of time that will stand on its own as a subdivided section.
beamMelismaBusy
(boolean)Signal if a beam is present.
beatStructure
(list)List of
baseMoment
s that are combined to make beats.subdivideBeams
(boolean)If set, multiple beams will be subdivided at
baseMoment
positions by only drawing one beam over the beat.Properties (write)
forbidBreak
(boolean)If set to
#t
, prevent a line break at this point.This engraver creates the following layout object(s):
Beam.
Bend_engraver
Create fall spanners.
Music types accepted:
This engraver creates the following layout object(s):
Breathing_sign_engraver
Create a breathing sign.
Music types accepted:
This engraver creates the following layout object(s):
Chord_tremolo_engraver
Generate beams for tremolo repeats.
Music types accepted:
This engraver creates the following layout object(s):
Beam.
Cluster_spanner_engraver
Engrave a cluster using
Spanner
notation.Music types accepted:
This engraver creates the following layout object(s):
Dots_engraver
Create Dots objects for rhythmic-head-interfaces.
This engraver creates the following layout object(s):
Dots.
Double_percent_repeat_engraver
Make double measure repeats.
Music types accepted:
Properties (read)
countPercentRepeats
(boolean)If set, produce counters for percent repeats.
measureLength
(moment)Length of one measure in the current time signature.
repeatCountVisibility
(procedure)A procedure taking as arguments an integer and context, returning whether the corresponding percent repeat number should be printed when
countPercentRepeats
is set.Properties (write)
forbidBreak
(boolean)If set to
#t
, prevent a line break at this point.This engraver creates the following layout object(s):
Dynamic_align_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):
Dynamic_engraver
Create hairpins, dynamic texts and dynamic text spanners.
Music types accepted:
absolute-dynamic-event, break-span-event and span-dynamic-event
Properties (read)
crescendoSpanner
(symbol)The type of spanner to be used for crescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin crescendo is used.
crescendoText
(markup)The text to print at start of non-hairpin crescendo, i.e., ‘cresc.’.
currentMusicalColumn
(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
decrescendoSpanner
(symbol)The type of spanner to be used for decrescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin decrescendo is used.
decrescendoText
(markup)The text to print at start of non-hairpin decrescendo, i.e., ‘dim.’.
This engraver creates the following layout object(s):
Fingering_engraver
Create fingering scripts.
Music types accepted:
This engraver creates the following layout object(s):
Font_size_engraver
Put
fontSize
intofont-size
grob property.Properties (read)
fontSize
(number)The relative size of all grobs in a context.
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.Glissando_engraver
Engrave glissandi.
Music types accepted:
Properties (read)
glissandoMap
(list)A map in the form of ’((source1 . target1) (source2 . target2) (sourcen . targetn)) showing the glissandi to be drawn for note columns. The value ’() will default to ’((0 . 0) (1 . 1) (n . n)), where n is the minimal number of note-heads in the two note columns between which the glissandi occur.
This engraver creates the following layout object(s):
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:
Properties (read)
autoBeaming
(boolean)If set to true then beams are generated automatically.
This engraver creates the following layout object(s):
Beam.
Grace_beam_engraver
Handle
Beam
events by engraving beams. If omitted, then notes are printed with flags instead of beams. Only engraves beams when we are at grace points in time.Music types accepted:
Properties (read)
baseMoment
(moment)Smallest unit of time that will stand on its own as a subdivided section.
beamMelismaBusy
(boolean)Signal if a beam is present.
beatStructure
(list)List of
baseMoment
s that are combined to make beats.subdivideBeams
(boolean)If set, multiple beams will be subdivided at
baseMoment
positions by only drawing one beam over the beat.This engraver creates the following layout object(s):
Beam.
Grace_engraver
Set font size and other properties for grace notes.
Properties (read)
graceSettings
(list)Overrides for grace notes. This property should be manipulated through the
add-grace-property
function.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.).Instrument_switch_engraver
Create a cue text for taking instrument.
Properties (read)
instrumentCueName
(markup)The name to print if another instrument is to be taken.
This engraver creates the following layout object(s):
Laissez_vibrer_engraver
Create laissez vibrer items.
Music types accepted:
This engraver creates the following layout object(s):
Mensural_ligature_engraver
Handle
Mensural_ligature_events
by glueing special ligature heads together.Music types accepted:
This engraver creates the following layout object(s):
Multi_measure_rest_engraver
Engrave multi-measure rests that are produced with ‘R’. It reads
measurePosition
andinternalBarNumber
to determine what number to print over the MultiMeasureRest.Music types accepted:
multi-measure-articulation-event, multi-measure-rest-event and multi-measure-text-event
Properties (read)
currentCommandColumn
(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
internalBarNumber
(integer)Contains the current barnumber. This property is used for internal timekeeping, among others by the
Accidental_engraver
.measurePosition
(moment)How much of the current measure have we had. This can be set manually to create incomplete measures.
restNumberThreshold
(number)If a multimeasure rest has more measures than this, a number is printed.
whichBar
(string)This property is read to determine what type of bar line to create.
Example:
\set Staff.whichBar = ".|:"This will create a start-repeat bar in this staff only. Valid values are described in ‘scm/bar-line.scm’.
This engraver creates the following layout object(s):
MultiMeasureRest, MultiMeasureRestNumber, MultiMeasureRestScript and MultiMeasureRestText.
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.
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):
Note_heads_engraver
Generate note heads.
Music types accepted:
Properties (read)
middleCPosition
(number)The place of the middle C, measured in half staff-spaces. Usually determined by looking at
middleCClefPosition
andmiddleCOffset
.staffLineLayoutFunction
(procedure)Layout of staff lines,
traditional
, orsemitone
.This engraver creates the following layout object(s):
Note_spacing_engraver
Generate
NoteSpacing
, an object linking horizontal lines for use in spacing.This engraver creates the following layout object(s):
Output_property_engraver
Apply a procedure to any grob acknowledged.
Music types accepted:
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):
Percent_repeat_engraver
Make whole measure repeats.
Music types accepted:
Properties (read)
countPercentRepeats
(boolean)If set, produce counters for percent repeats.
currentCommandColumn
(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
repeatCountVisibility
(procedure)A procedure taking as arguments an integer and context, returning whether the corresponding percent repeat number should be printed when
countPercentRepeats
is set.This engraver creates the following layout object(s):
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):
Pitched_trill_engraver
Print the bracketed note head after a note head with trill.
This engraver creates the following layout object(s):
Repeat_tie_engraver
Create repeat ties.
Music types accepted:
This engraver creates the following layout object(s):
RepeatTie and RepeatTieColumn.
Rest_engraver
Engrave rests.
Music types accepted:
Properties (read)
middleCPosition
(number)The place of the middle C, measured in half staff-spaces. Usually determined by looking at
middleCClefPosition
andmiddleCOffset
.This engraver creates the following layout object(s):
Rest.
Rhythmic_column_engraver
Generate
NoteColumn
, an object that groups stems, note heads, and rests.This engraver creates the following layout object(s):
Script_column_engraver
Find potentially colliding scripts and put them into a
ScriptColumn
object; that will fix the collisions.This engraver creates the following layout object(s):
Script_engraver
Handle note scripted articulations.
Music types accepted:
Properties (read)
scriptDefinitions
(list)The description of scripts. This is used by the
Script_engraver
for typesetting note-superscripts and subscripts. See ‘scm/script.scm’ for more information.This engraver creates the following layout object(s):
Slash_repeat_engraver
Make beat repeats.
Music types accepted:
This engraver creates the following layout object(s):
Spanner_break_forbid_engraver
Forbid breaks in certain spanners.
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 and tuplet-span-event
Properties (read)
stemLeftBeamCount
(integer)Specify the number of beams to draw on the left side of the next note. Overrides automatic beaming. The value is only used once, and then it is erased.
stemRightBeamCount
(integer)See
stemLeftBeamCount
.whichBar
(string)This property is read to determine what type of bar line to create.
Example:
\set Staff.whichBar = ".|:"This will create a start-repeat bar in this staff only. Valid values are described in ‘scm/bar-line.scm’.
This engraver creates the following layout object(s):
Flag, Stem, StemStub and StemTremolo.
Text_engraver
Create text scripts.
Music types accepted:
This engraver creates the following layout object(s):
Text_spanner_engraver
Create text spanner from an event.
Music types accepted:
Properties (read)
currentMusicalColumn
(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
Tie_engraver
Generate ties between note heads of equal pitch.
Music types accepted:
Properties (read)
skipTypesetting
(boolean)If true, no typesetting is done, speeding up the interpretation phase. Useful for debugging large scores.
tieWaitForNote
(boolean)If true, tied notes do not have to follow each other directly. This can be used for writing out arpeggios.
Properties (write)
tieMelismaBusy
(boolean)Signal whether a tie is present.
This engraver creates the following layout object(s):
Trill_spanner_engraver
Create trill spanner from an event.
Music types accepted:
Properties (read)
currentCommandColumn
(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
currentMusicalColumn
(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
Tuplet_engraver
Catch tuplet events and generate appropriate bracket.
Music types accepted:
Properties (read)
tupletFullLength
(boolean)If set, the tuplet is printed up to the start of the next note.
tupletFullLengthNote
(boolean)If set, end at the next note, otherwise end on the matter (time signatures, etc.) before the note.
This engraver creates the following layout object(s):
[ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < MensuralVoice ] | [ Up : Contexts ] | [ NullVoice > ] |
2.1.19 NoteNames
A context for printing the names of notes.
This context also accepts commands for the following context(s):
Staff.
This context creates the following layout object(s):
NoteName, StaffSpacing, Tie, TieColumn and VerticalAxisGroup.
This context sets the following properties:
- Set grob-property
nonstaff-nonstaff-spacing
in VerticalAxisGroup to:'((basic-distance . 0) (minimum-distance . 2.8) (padding . 0.2) (stretchability . 0))
- Set grob-property
nonstaff-relatedstaff-spacing
in VerticalAxisGroup to:'((basic-distance . 5.5) (padding . 0.5) (stretchability . 1))
- Set grob-property
nonstaff-unrelatedstaff-spacing.padding
in VerticalAxisGroup to1.5
. - Set grob-property
staff-affinity
in VerticalAxisGroup to1
.
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_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 (clef, key signature, etc.) items.
hasAxisGroup
(boolean)True if the current context is contained in an axis group.
keepAliveInterfaces
(list)A list of symbols, signifying grob interfaces that are worth keeping a staff with
remove-empty
set around for.Properties (write)
hasAxisGroup
(boolean)True if the current context is contained in an axis group.
This engraver creates the following layout object(s):
Note_name_engraver
Print pitches as words.
Music types accepted:
Properties (read)
noteNameFunction
(procedure)Function used to convert pitches into strings and markups.
noteNameSeparator
(string)String used to separate simultaneous NoteName objects.
printAccidentalNames
(boolean or symbol)Print accidentals in the
NoteNames
context.printNotesLanguage
(string)Use a specific language in the
NoteNames
context.printOctaveNames
(boolean or symbol)Print octave marks in the
NoteNames
context.This engraver creates the following layout object(s):
Separating_line_group_engraver
Generate objects for computing spacing parameters.
Properties (read)
createSpacing
(boolean)Create
StaffSpacing
objects? Should be set for staves.Properties (write)
hasStaffSpacing
(boolean)True if the current
CommandColumn
contains items that will affect spacing.This engraver creates the following layout object(s):
Tie_engraver
Generate ties between note heads of equal pitch.
Music types accepted:
Properties (read)
skipTypesetting
(boolean)If true, no typesetting is done, speeding up the interpretation phase. Useful for debugging large scores.
tieWaitForNote
(boolean)If true, tied notes do not have to follow each other directly. This can be used for writing out arpeggios.
Properties (write)
tieMelismaBusy
(boolean)Signal whether a tie is present.
This engraver creates the following layout object(s):
[ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < NoteNames ] | [ Up : Contexts ] | [ OneStaff > ] |
2.1.20 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):
Beam, NoteHead, Slur, Tie and TieColumn.
This context sets the following properties:
- Set grob-property
no-ledgers
in NoteHead to#t
. - Set grob-property
stencil
in Beam to#f
. - Set grob-property
stencil
in NoteHead to#f
. - Set grob-property
stencil
in Slur to#f
. - Set grob-property
stencil
in Tie to#f
. - Set grob-property
X-extent
in NoteHead to#<procedure #f (g)>
. - Set translator property
nullAccidentals
to#t
. - Set translator property
squashedPosition
to0
.
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_engraver
Handle
Beam
events by engraving beams. If omitted, then notes are printed with flags instead of beams.Music types accepted:
Properties (read)
baseMoment
(moment)Smallest unit of time that will stand on its own as a subdivided section.
beamMelismaBusy
(boolean)Signal if a beam is present.
beatStructure
(list)List of
baseMoment
s that are combined to make beats.subdivideBeams
(boolean)If set, multiple beams will be subdivided at
baseMoment
positions by only drawing one beam over the beat.Properties (write)
forbidBreak
(boolean)If set to
#t
, prevent a line break at this point.This engraver creates the following layout object(s):
Beam.
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.).Note_heads_engraver
Generate note heads.
Music types accepted:
Properties (read)
middleCPosition
(number)The place of the middle C, measured in half staff-spaces. Usually determined by looking at
middleCClefPosition
andmiddleCOffset
.staffLineLayoutFunction
(procedure)Layout of staff lines,
traditional
, orsemitone
.This engraver creates the following layout object(s):
Pitch_squash_engraver
Set the vertical position of note heads to
squashedPosition
, if that property is set. This can be used to make a single-line staff demonstrating the rhythm of a melody.Properties (read)
squashedPosition
(integer)Vertical position of squashing for Pitch_squash_engraver.
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.
Tie_engraver
Generate ties between note heads of equal pitch.
Music types accepted:
Properties (read)
skipTypesetting
(boolean)If true, no typesetting is done, speeding up the interpretation phase. Useful for debugging large scores.
tieWaitForNote
(boolean)If true, tied notes do not have to follow each other directly. This can be used for writing out arpeggios.
Properties (write)
tieMelismaBusy
(boolean)Signal whether a tie is present.
This engraver creates the following layout object(s):
[ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < NullVoice ] | [ Up : Contexts ] | [ PetrucciStaff > ] |
2.1.21 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):
This is not a ‘Bottom’ context; search for such a one will commence after creating an implicit context of type Staff.
Context OneStaff can contain ChordNames, DrumStaff, Dynamics, FiguredBass, FretBoards, GregorianTranscriptionStaff, KievanStaff, Lyrics, MensuralStaff, NoteNames, PetrucciStaff, RhythmicStaff, Staff, TabStaff and VaticanaStaff.
This context is built from the following engraver(s):
Axis_group_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 (clef, key signature, etc.) items.
hasAxisGroup
(boolean)True if the current context is contained in an axis group.
keepAliveInterfaces
(list)A list of symbols, signifying grob interfaces that are worth keeping a staff with
remove-empty
set 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):
[ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < OneStaff ] | [ Up : Contexts ] | [ PetrucciVoice > ] |
2.1.22 PetrucciStaff
Same as Staff
context, except that it is
accommodated for typesetting a piece in Petrucci style.
This context also accepts commands for the following context(s):
Staff.
This context creates the following layout object(s):
Accidental, AccidentalCautionary, AccidentalPlacement, AccidentalSuggestion, BarLine, BassFigure, BassFigureAlignment, BassFigureAlignmentPositioning, BassFigureBracket, BassFigureContinuation, BassFigureLine, Clef, ClefModifier, CueClef, CueEndClef, Custos, DotColumn, FingeringColumn, InstrumentName, KeyCancellation, KeySignature, LedgerLineSpanner, NoteCollision, OttavaBracket, PianoPedalBracket, RestCollision, ScriptRow, SostenutoPedal, SostenutoPedalLineSpanner, StaffSpacing, StaffSymbol, SustainPedal, SustainPedalLineSpanner, TimeSignature, UnaCordaPedal, UnaCordaPedalLineSpanner and VerticalAxisGroup.
This context sets the following properties:
- Set grob-property
neutral-direction
in Custos to-1
. - Set grob-property
neutral-position
in Custos to3
. - Set grob-property
style
in Custos to'mensural
. - Set grob-property
thickness
in StaffSymbol to1.3
. - Set translator property
autoAccidentals
to:'(Staff #<procedure #f (context pitch barnum measurepos)> #<procedure neo-modern-accidental-rule (context pitch barnum measurepos)>)
- Set translator property
autoCautionaries
to'()
. - Set translator property
clefGlyph
to"clefs.petrucci.g"
. - Set translator property
clefPosition
to-2
. - Set translator property
clefTransposition
to0
. - Set translator property
createSpacing
to#t
. - Set translator property
extraNatural
to#f
. - Set translator property
ignoreFiguredBassRest
to#f
. - Set translator property
instrumentName
to'()
. - Set translator property
localAlterations
to'()
. - Set translator property
middleCClefPosition
to-6
. - Set translator property
middleCPosition
to-6
. - Set translator property
ottavationMarkups
to:'((4 . "29") (3 . "22") (2 . "15") (1 . "8") (-1 . "8") (-2 . "15") (-3 . "22") (-4 . "29"))
- Set translator property
printKeyCancellation
to#f
. - Set translator property
shortInstrumentName
to'()
.
This is not a ‘Bottom’ context; search for such a one will commence after creating an implicit context of type PetrucciVoice.
Context PetrucciStaff can contain CueVoice, NullVoice and PetrucciVoice.
This context is built from the following engraver(s):
Accidental_engraver
Make accidentals. Catch note heads, ties and notices key-change events. This engraver usually lives at Staff level, but reads the settings for Accidental at
Voice
level, so you can\override
them atVoice
.Properties (read)
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:
context
The current context to which the rule should be applied.
pitch
The pitch of the note to be evaluated.
barnum
The current bar number.
measurepos
The current measure position.
The procedure returns a pair of booleans. The first states whether an extra natural should be added. The second states whether an accidental should be printed.
(#t . #f)
does not make sense.autoCautionaries
(list)List similar to
autoAccidentals
, but it controls cautionary accidentals rather than normal ones. Both lists are tried, and the one giving the most accidentals wins. In case of draw, a normal accidental is typeset.extraNatural
(boolean)Whether to typeset an extra natural sign before accidentals that reduce the effect of a previous alteration.
harmonicAccidentals
(boolean)If set, harmonic notes in chords get accidentals.
internalBarNumber
(integer)Contains the current barnumber. This property is used for internal timekeeping, among others by the
Accidental_engraver
.keyAlterations
(list)The current key signature. This is an alist containing
(step . alter)
or((octave . step) . alter)
, where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.keyAlterations = #`((6 . ,FLAT))
.localAlterations
(list)The key signature at this point in the measure. The format is the same as for
keyAlterations
, but can also contain((octave . name) . (alter barnumber . measureposition))
pairs.Properties (write)
localAlterations
(list)The key signature at this point in the measure. The format is the same as for
keyAlterations
, but can also contain((octave . name) . (alter barnumber . measureposition))
pairs.This engraver creates the following layout object(s):
Accidental, AccidentalCautionary, AccidentalPlacement and AccidentalSuggestion.
Axis_group_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 (clef, key signature, etc.) items.
hasAxisGroup
(boolean)True if the current context is contained in an axis group.
keepAliveInterfaces
(list)A list of symbols, signifying grob interfaces that are worth keeping a staff with
remove-empty
set around for.Properties (write)
hasAxisGroup
(boolean)True if the current context is contained in an axis group.
This engraver creates the following layout object(s):
Bar_engraver
Create barlines. This engraver is controlled through the
whichBar
property. If it has no bar line to create, it will forbid a linebreak at this point. This engraver is required to trigger the creation of clefs at the start of systems.Properties (read)
whichBar
(string)This property is read to determine what type of bar line to create.
Example:
\set Staff.whichBar = ".|:"This will create a start-repeat bar in this staff only. Valid values are described in ‘scm/bar-line.scm’.
Properties (write)
forbidBreak
(boolean)If set to
#t
, prevent a line break at this point.This engraver creates the following layout object(s):
Clef_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. Values of 7 and -7 are common.
clefTranspositionStyle
(symbol)Determines the way the ClefModifier grob is displayed. Possible values are ‘default’, ‘parenthesized’ and ‘bracketed’.
explicitClefVisibility
(vector)‘break-visibility’ function for clef changes.
forceClef
(boolean)Show clef symbol, even if it has not changed. Only active for the first clef after the property is set, not for the full staff.
This engraver creates the following layout object(s):
Clef and ClefModifier.
Collision_engraver
Collect
NoteColumns
, and as soon as there are two or more, put them in aNoteCollision
object.This engraver creates the following layout object(s):
Cue_clef_engraver
Determine and set reference point for pitches in cued voices.
Properties (read)
clefTransposition
(integer)Add this much extra transposition. Values of 7 and -7 are common.
cueClefGlyph
(string)Name of the symbol within the music font.
cueClefPosition
(number)Where should the center of the clef symbol go, measured in half staff spaces from the center of the staff.
cueClefTransposition
(integer)Add this much extra transposition. Values of 7 and -7 are common.
cueClefTranspositionStyle
(symbol)Determines the way the ClefModifier grob is displayed. Possible values are ‘default’, ‘parenthesized’ and ‘bracketed’.
explicitCueClefVisibility
(vector)‘break-visibility’ function for cue clef changes.
middleCCuePosition
(number)The position of the middle C, as determined only by the clef of the cue notes. This can be calculated by looking at
cueClefPosition
andcueClefGlyph
.This engraver creates the following layout object(s):
ClefModifier, CueClef and CueEndClef.
Custos_engraver
Engrave custodes.
This engraver creates the following layout object(s):
Dot_column_engraver
Engrave dots on dotted notes shifted to the right of the note. If omitted, then dots appear on top of the notes.
This engraver creates the following layout object(s):
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_position_engraver
Position figured bass alignments over notes.
This engraver creates the following layout object(s):
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):
Font_size_engraver
Put
fontSize
intofont-size
grob property.Properties (read)
fontSize
(number)The relative size of all grobs in a context.
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.).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 (clef, key signature, etc.) items.
instrumentName
(markup)The name to print left of a staff. The
instrumentName
property labels the staff in the first system, and theshortInstrumentName
property labels following lines.shortInstrumentName
(markup)See
instrumentName
.shortVocalName
(markup)Name of a vocal line, short version.
vocalName
(markup)Name of a vocal line.
This engraver creates the following layout object(s):
Key_engraver
Engrave a key signature.
Music types accepted:
Properties (read)
createKeyOnClefChange
(boolean)Print a key signature whenever the clef is changed.
explicitKeySignatureVisibility
(vector)‘break-visibility’ function for explicit key changes. ‘\override’ of the
break-visibility
property will set the visibility for normal (i.e., at the start of the line) key signatures.extraNatural
(boolean)Whether to typeset an extra natural sign before accidentals that reduce the effect of a previous alteration.
keyAlterationOrder
(list)An alist that defines in what order alterations should be printed. The format is
(step . alter)
, where step is a number from 0 to 6 and alter from -2 (sharp) to 2 (flat).keyAlterations
(list)The current key signature. This is an alist containing
(step . alter)
or((octave . step) . alter)
, where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.keyAlterations = #`((6 . ,FLAT))
.lastKeyAlterations
(list)Last key signature before a key signature change.
middleCClefPosition
(number)The position of the middle C, as determined only by the clef. This can be calculated by looking at
clefPosition
andclefGlyph
.printKeyCancellation
(boolean)Print restoration alterations before a key signature change.
Properties (write)
keyAlterations
(list)The current key signature. This is an alist containing
(step . alter)
or((octave . step) . alter)
, where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.keyAlterations = #`((6 . ,FLAT))
.lastKeyAlterations
(list)Last key signature before a key signature change.
tonic
(pitch)The tonic of the current scale.
This engraver creates the following layout object(s):
Ledger_line_engraver
Create the spanner to draw ledger lines, and notices objects that need ledger lines.
This engraver creates the following layout object(s):
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.
Ottava_spanner_engraver
Create a text spanner when the ottavation property changes.
Properties (read)
currentMusicalColumn
(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
middleCOffset
(number)The offset of middle C from the position given by
middleCClefPosition
This is used for ottava brackets.ottavation
(markup)If set, the text for an ottava spanner. Changing this creates a new text spanner.
This engraver creates the following layout object(s):
Output_property_engraver
Apply a procedure to any grob acknowledged.
Music types accepted:
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 (clef, key signature, etc.) items.
This engraver creates the following layout object(s):
SostenutoPedalLineSpanner, SustainPedalLineSpanner and UnaCordaPedalLineSpanner.
Piano_pedal_engraver
Engrave piano pedal symbols and brackets.
Music types accepted:
sostenuto-event, sustain-event and una-corda-event
Properties (read)
currentCommandColumn
(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
pedalSostenutoStrings
(list)See
pedalSustainStrings
.pedalSostenutoStyle
(symbol)See
pedalSustainStyle
.pedalSustainStrings
(list)A list of strings to print for sustain-pedal. Format is
(up updown down)
, where each of the three is the string to print when this is done with the pedal.pedalSustainStyle
(symbol)A symbol that indicates how to print sustain pedals:
text
,bracket
ormixed
(both).pedalUnaCordaStrings
(list)See
pedalSustainStrings
.pedalUnaCordaStyle
(symbol)See
pedalSustainStyle
.This engraver creates the following layout object(s):
PianoPedalBracket, SostenutoPedal, SustainPedal and UnaCordaPedal.
Pure_from_neighbor_engraver
Coordinates items that get their pure heights from their neighbors.
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):
Script_row_engraver
Determine order in horizontal side position elements.
This engraver creates the following layout object(s):
Separating_line_group_engraver
Generate objects for computing spacing parameters.
Properties (read)
createSpacing
(boolean)Create
StaffSpacing
objects? Should be set for staves.Properties (write)
hasStaffSpacing
(boolean)True if the current
CommandColumn
contains items that will affect spacing.This engraver creates the following layout object(s):
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_symbol_engraver
Create the constellation of five (default) staff lines.
Music types accepted:
This engraver creates the following layout object(s):
Time_signature_engraver
Create a TimeSignature whenever
timeSignatureFraction
changes.Music types accepted:
Properties (read)
initialTimeSignatureVisibility
(vector)break visibility for the initial time signature.
partialBusy
(boolean)Signal that \partial acts at the current timestep.
timeSignatureFraction
(fraction, as pair)A pair of numbers, signifying the time signature. For example,
'(4 . 4)
is a 4/4 time signature.This engraver creates the following layout object(s):
[ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < PetrucciStaff ] | [ Up : Contexts ] | [ PianoStaff > ] |
2.1.23 PetrucciVoice
Same as Voice
context, except that it is
accommodated for typesetting a piece in Petrucci style.
This context also accepts commands for the following context(s):
Voice.
This context creates the following layout object(s):
Arpeggio, Beam, BendAfter, BreathingSign, ClusterSpanner, ClusterSpannerBeacon, CombineTextScript, Dots, DoublePercentRepeat, DoublePercentRepeatCounter, DoubleRepeatSlash, DynamicLineSpanner, DynamicText, DynamicTextSpanner, Fingering, Flag, Glissando, Hairpin, InstrumentSwitch, LaissezVibrerTie, LaissezVibrerTieColumn, MensuralLigature, MultiMeasureRest, MultiMeasureRestNumber, MultiMeasureRestScript, MultiMeasureRestText, NoteColumn, NoteHead, NoteSpacing, PercentRepeat, PercentRepeatCounter, PhrasingSlur, RepeatSlash, RepeatTie, RepeatTieColumn, Rest, Script, ScriptColumn, Slur, Stem, StemStub, StemTremolo, StringNumber, StrokeFinger, TextScript, TextSpanner, Tie, TieColumn, TrillPitchAccidental, TrillPitchGroup, TrillPitchHead, TrillSpanner, TupletBracket, TupletNumber and VoiceFollower.
This context sets the following properties:
- Set grob-property
length
in Stem to5
. - Set grob-property
style
in NoteHead to'petrucci
. - Set grob-property
style
in Rest to'mensural
. - Set grob-property
thickness
in Stem to1.7
. - Set translator property
autoBeaming
to#f
.
This is a ‘Bottom’ context; no contexts will be created implicitly from it.
This context cannot contain other contexts.
This context is built from the following engraver(s):
Arpeggio_engraver
Generate an Arpeggio symbol.
Music types accepted:
This engraver creates the following layout object(s):
Auto_beam_engraver
Generate beams based on measure characteristics and observed Stems. Uses
baseMoment
,beatStructure
,beamExceptions
,measureLength
, andmeasurePosition
to decide when to start and stop a beam. Overriding beaming is done through Stem_engraver propertiesstemLeftBeamCount
andstemRightBeamCount
.Music types accepted:
Properties (read)
autoBeaming
(boolean)If set to true then beams are generated automatically.
baseMoment
(moment)Smallest unit of time that will stand on its own as a subdivided section.
beamExceptions
(list)An alist of exceptions to autobeam rules that normally end on beats.
beamHalfMeasure
(boolean)Whether to allow a beam to begin halfway through the measure in triple time, which could look like 6/8.
beatStructure
(list)List of
baseMoment
s that are combined to make beats.subdivideBeams
(boolean)If set, multiple beams will be subdivided at
baseMoment
positions by only drawing one beam over the beat.This engraver creates the following layout object(s):
Beam.
Beam_engraver
Handle
Beam
events by engraving beams. If omitted, then notes are printed with flags instead of beams.Music types accepted:
Properties (read)
baseMoment
(moment)Smallest unit of time that will stand on its own as a subdivided section.
beamMelismaBusy
(boolean)Signal if a beam is present.
beatStructure
(list)List of
baseMoment
s that are combined to make beats.subdivideBeams
(boolean)If set, multiple beams will be subdivided at
baseMoment
positions by only drawing one beam over the beat.Properties (write)
forbidBreak
(boolean)If set to
#t
, prevent a line break at this point.This engraver creates the following layout object(s):
Beam.
Bend_engraver
Create fall spanners.
Music types accepted:
This engraver creates the following layout object(s):
Breathing_sign_engraver
Create a breathing sign.
Music types accepted:
This engraver creates the following layout object(s):
Chord_tremolo_engraver
Generate beams for tremolo repeats.
Music types accepted:
This engraver creates the following layout object(s):
Beam.
Cluster_spanner_engraver
Engrave a cluster using
Spanner
notation.Music types accepted:
This engraver creates the following layout object(s):
Dots_engraver
Create Dots objects for rhythmic-head-interfaces.
This engraver creates the following layout object(s):
Dots.
Double_percent_repeat_engraver
Make double measure repeats.
Music types accepted:
Properties (read)
countPercentRepeats
(boolean)If set, produce counters for percent repeats.
measureLength
(moment)Length of one measure in the current time signature.
repeatCountVisibility
(procedure)A procedure taking as arguments an integer and context, returning whether the corresponding percent repeat number should be printed when
countPercentRepeats
is set.Properties (write)
forbidBreak
(boolean)If set to
#t
, prevent a line break at this point.This engraver creates the following layout object(s):
Dynamic_align_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):
Dynamic_engraver
Create hairpins, dynamic texts and dynamic text spanners.
Music types accepted:
absolute-dynamic-event, break-span-event and span-dynamic-event
Properties (read)
crescendoSpanner
(symbol)The type of spanner to be used for crescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin crescendo is used.
crescendoText
(markup)The text to print at start of non-hairpin crescendo, i.e., ‘cresc.’.
currentMusicalColumn
(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
decrescendoSpanner
(symbol)The type of spanner to be used for decrescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin decrescendo is used.
decrescendoText
(markup)The text to print at start of non-hairpin decrescendo, i.e., ‘dim.’.
This engraver creates the following layout object(s):
Fingering_engraver
Create fingering scripts.
Music types accepted:
This engraver creates the following layout object(s):
Font_size_engraver
Put
fontSize
intofont-size
grob property.Properties (read)
fontSize
(number)The relative size of all grobs in a context.
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.Glissando_engraver
Engrave glissandi.
Music types accepted:
Properties (read)
glissandoMap
(list)A map in the form of ’((source1 . target1) (source2 . target2) (sourcen . targetn)) showing the glissandi to be drawn for note columns. The value ’() will default to ’((0 . 0) (1 . 1) (n . n)), where n is the minimal number of note-heads in the two note columns between which the glissandi occur.
This engraver creates the following layout object(s):
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:
Properties (read)
autoBeaming
(boolean)If set to true then beams are generated automatically.
This engraver creates the following layout object(s):
Beam.
Grace_beam_engraver
Handle
Beam
events by engraving beams. If omitted, then notes are printed with flags instead of beams. Only engraves beams when we are at grace points in time.Music types accepted:
Properties (read)
baseMoment
(moment)Smallest unit of time that will stand on its own as a subdivided section.
beamMelismaBusy
(boolean)Signal if a beam is present.
beatStructure
(list)List of
baseMoment
s that are combined to make beats.subdivideBeams
(boolean)If set, multiple beams will be subdivided at
baseMoment
positions by only drawing one beam over the beat.This engraver creates the following layout object(s):
Beam.
Grace_engraver
Set font size and other properties for grace notes.
Properties (read)
graceSettings
(list)Overrides for grace notes. This property should be manipulated through the
add-grace-property
function.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.).Instrument_switch_engraver
Create a cue text for taking instrument.
Properties (read)
instrumentCueName
(markup)The name to print if another instrument is to be taken.
This engraver creates the following layout object(s):
Laissez_vibrer_engraver
Create laissez vibrer items.
Music types accepted:
This engraver creates the following layout object(s):
Mensural_ligature_engraver
Handle
Mensural_ligature_events
by glueing special ligature heads together.Music types accepted:
This engraver creates the following layout object(s):
Multi_measure_rest_engraver
Engrave multi-measure rests that are produced with ‘R’. It reads
measurePosition
andinternalBarNumber
to determine what number to print over the MultiMeasureRest.Music types accepted:
multi-measure-articulation-event, multi-measure-rest-event and multi-measure-text-event
Properties (read)
currentCommandColumn
(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
internalBarNumber
(integer)Contains the current barnumber. This property is used for internal timekeeping, among others by the
Accidental_engraver
.measurePosition
(moment)How much of the current measure have we had. This can be set manually to create incomplete measures.
restNumberThreshold
(number)If a multimeasure rest has more measures than this, a number is printed.
whichBar
(string)This property is read to determine what type of bar line to create.
Example:
\set Staff.whichBar = ".|:"This will create a start-repeat bar in this staff only. Valid values are described in ‘scm/bar-line.scm’.
This engraver creates the following layout object(s):
MultiMeasureRest, MultiMeasureRestNumber, MultiMeasureRestScript and MultiMeasureRestText.
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.
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):
Note_heads_engraver
Generate note heads.
Music types accepted:
Properties (read)
middleCPosition
(number)The place of the middle C, measured in half staff-spaces. Usually determined by looking at
middleCClefPosition
andmiddleCOffset
.staffLineLayoutFunction
(procedure)Layout of staff lines,
traditional
, orsemitone
.This engraver creates the following layout object(s):
Note_spacing_engraver
Generate
NoteSpacing
, an object linking horizontal lines for use in spacing.This engraver creates the following layout object(s):
Output_property_engraver
Apply a procedure to any grob acknowledged.
Music types accepted:
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):
Percent_repeat_engraver
Make whole measure repeats.
Music types accepted:
Properties (read)
countPercentRepeats
(boolean)If set, produce counters for percent repeats.
currentCommandColumn
(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
repeatCountVisibility
(procedure)A procedure taking as arguments an integer and context, returning whether the corresponding percent repeat number should be printed when
countPercentRepeats
is set.This engraver creates the following layout object(s):
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):
Pitched_trill_engraver
Print the bracketed note head after a note head with trill.
This engraver creates the following layout object(s):
Repeat_tie_engraver
Create repeat ties.
Music types accepted:
This engraver creates the following layout object(s):
RepeatTie and RepeatTieColumn.
Rest_engraver
Engrave rests.
Music types accepted:
Properties (read)
middleCPosition
(number)The place of the middle C, measured in half staff-spaces. Usually determined by looking at
middleCClefPosition
andmiddleCOffset
.This engraver creates the following layout object(s):
Rest.
Rhythmic_column_engraver
Generate
NoteColumn
, an object that groups stems, note heads, and rests.This engraver creates the following layout object(s):
Script_column_engraver
Find potentially colliding scripts and put them into a
ScriptColumn
object; that will fix the collisions.This engraver creates the following layout object(s):
Script_engraver
Handle note scripted articulations.
Music types accepted:
Properties (read)
scriptDefinitions
(list)The description of scripts. This is used by the
Script_engraver
for typesetting note-superscripts and subscripts. See ‘scm/script.scm’ for more information.This engraver creates the following layout object(s):
Slash_repeat_engraver
Make beat repeats.
Music types accepted:
This engraver creates the following layout object(s):
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.
Spanner_break_forbid_engraver
Forbid breaks in certain spanners.
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 and tuplet-span-event
Properties (read)
stemLeftBeamCount
(integer)Specify the number of beams to draw on the left side of the next note. Overrides automatic beaming. The value is only used once, and then it is erased.
stemRightBeamCount
(integer)See
stemLeftBeamCount
.whichBar
(string)This property is read to determine what type of bar line to create.
Example:
\set Staff.whichBar = ".|:"This will create a start-repeat bar in this staff only. Valid values are described in ‘scm/bar-line.scm’.
This engraver creates the following layout object(s):
Flag, Stem, StemStub and StemTremolo.
Text_engraver
Create text scripts.
Music types accepted:
This engraver creates the following layout object(s):
Text_spanner_engraver
Create text spanner from an event.
Music types accepted:
Properties (read)
currentMusicalColumn
(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
Tie_engraver
Generate ties between note heads of equal pitch.
Music types accepted:
Properties (read)
skipTypesetting
(boolean)If true, no typesetting is done, speeding up the interpretation phase. Useful for debugging large scores.
tieWaitForNote
(boolean)If true, tied notes do not have to follow each other directly. This can be used for writing out arpeggios.
Properties (write)
tieMelismaBusy
(boolean)Signal whether a tie is present.
This engraver creates the following layout object(s):
Trill_spanner_engraver
Create trill spanner from an event.
Music types accepted:
Properties (read)
currentCommandColumn
(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
currentMusicalColumn
(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
Tuplet_engraver
Catch tuplet events and generate appropriate bracket.
Music types accepted:
Properties (read)
tupletFullLength
(boolean)If set, the tuplet is printed up to the start of the next note.
tupletFullLengthNote
(boolean)If set, end at the next note, otherwise end on the matter (time signatures, etc.) before the note.
This engraver creates the following layout object(s):
[ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < PetrucciVoice ] | [ Up : Contexts ] | [ RhythmicStaff > ] |
2.1.24 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, InstrumentName, SpanBar, SpanBarStub, SystemStartBar, SystemStartBrace, SystemStartBracket, SystemStartSquare and VerticalAlignment.
This context sets the following properties:
- Set grob-property
extra-spacing-width
in DynamicText to#f
. - Set translator property
instrumentName
to'()
. - Set translator property
instrumentName
to'()
. - Set translator property
localAlterations
to'()
. - Set translator property
shortInstrumentName
to'()
. - Set translator property
shortInstrumentName
to'()
. - Set translator property
systemStartDelimiter
to'SystemStartBrace
. - Set translator property
topLevelAlignment
to#f
. - Set translator property
topLevelAlignment
to#f
.
This is not a ‘Bottom’ context; search for such a one will commence after creating an implicit context of type Staff.
Context PianoStaff can contain ChordNames, DrumStaff, Dynamics, FiguredBass, Lyrics, RhythmicStaff, Staff and TabStaff.
This context is built from the following engraver(s):
Instrument_name_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 (clef, key signature, etc.) items.
instrumentName
(markup)The name to print left of a staff. The
instrumentName
property labels the staff in the first system, and theshortInstrumentName
property labels following lines.shortInstrumentName
(markup)See
instrumentName
.shortVocalName
(markup)Name of a vocal line, short version.
vocalName
(markup)Name of a vocal line.
This engraver creates the following layout object(s):
Keep_alive_together_engraver
This engraver collects all
Hara_kiri_group_spanner
s 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 aStaffGroup
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.Span_arpeggio_engraver
Make arpeggios that span multiple staves.
Properties (read)
connectArpeggios
(boolean)If set, connect arpeggios across piano staff.
This engraver creates the following layout object(s):
Span_bar_engraver
Make cross-staff bar lines: It catches all normal bar lines and draws a single span bar across them.
This engraver creates the following layout object(s):
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):
System_start_delimiter_engraver
Create a system start delimiter (i.e., a
SystemStartBar
,SystemStartBrace
,SystemStartBracket
orSystemStartSquare
spanner).Properties (read)
currentCommandColumn
(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
systemStartDelimiter
(symbol)Which grob to make for the start of the system/staff? Set to
SystemStartBrace
,SystemStartBracket
orSystemStartBar
.systemStartDelimiterHierarchy
(pair)A nested list, indicating the nesting of a start delimiters.
This engraver creates the following layout object(s):
SystemStartBar, SystemStartBrace, SystemStartBracket and SystemStartSquare.
Vertical_align_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):
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):
[ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < PianoStaff ] | [ Up : Contexts ] | [ Score > ] |
2.1.25 RhythmicStaff
A context like Staff
but for printing rhythms.
Pitches are ignored; the notes are printed on one line.
This context also accepts commands for the following context(s):
Staff.
This context creates the following layout object(s):
BarLine, DotColumn, InstrumentName, LedgerLineSpanner, StaffSpacing, StaffSymbol, TimeSignature and VerticalAxisGroup.
This context sets the following properties:
- Set grob-property
line-count
in StaffSymbol to1
. - Set grob-property
neutral-direction
in Beam to1
. - Set grob-property
neutral-direction
in Stem to1
. - Set grob-property
staff-padding
in VoltaBracket to3
. - Set translator property
createSpacing
to#t
. - Set translator property
instrumentName
to'()
. - Set translator property
localAlterations
to'()
. - Set translator property
shortInstrumentName
to'()
. - Set translator property
squashedPosition
to0
.
This is not a ‘Bottom’ context; search for such a one will commence after creating an implicit context of type Voice.
Context RhythmicStaff can contain CueVoice, NullVoice and Voice.
This context is built from the following engraver(s):
Axis_group_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 (clef, key signature, etc.) items.
hasAxisGroup
(boolean)True if the current context is contained in an axis group.
keepAliveInterfaces
(list)A list of symbols, signifying grob interfaces that are worth keeping a staff with
remove-empty
set around for.Properties (write)
hasAxisGroup
(boolean)True if the current context is contained in an axis group.
This engraver creates the following layout object(s):
Bar_engraver
Create barlines. This engraver is controlled through the
whichBar
property. If it has no bar line to create, it will forbid a linebreak at this point. This engraver is required to trigger the creation of clefs at the start of systems.Properties (read)
whichBar
(string)This property is read to determine what type of bar line to create.
Example:
\set Staff.whichBar = ".|:"This will create a start-repeat bar in this staff only. Valid values are described in ‘scm/bar-line.scm’.
Properties (write)
forbidBreak
(boolean)If set to
#t
, prevent a line break at this point.This engraver creates the following layout object(s):
Dot_column_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):
Font_size_engraver
Put
fontSize
intofont-size
grob property.Properties (read)
fontSize
(number)The relative size of all grobs in a context.
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 (clef, key signature, etc.) items.
instrumentName
(markup)The name to print left of a staff. The
instrumentName
property labels the staff in the first system, and theshortInstrumentName
property labels following lines.shortInstrumentName
(markup)See
instrumentName
.shortVocalName
(markup)Name of a vocal line, short version.
vocalName
(markup)Name of a vocal line.
This engraver creates the following layout object(s):
Ledger_line_engraver
Create the spanner to draw ledger lines, and notices objects that need ledger lines.
This engraver creates the following layout object(s):
Output_property_engraver
Apply a procedure to any grob acknowledged.
Music types accepted:
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.
Separating_line_group_engraver
Generate objects for computing spacing parameters.
Properties (read)
createSpacing
(boolean)Create
StaffSpacing
objects? Should be set for staves.Properties (write)
hasStaffSpacing
(boolean)True if the current
CommandColumn
contains items that will affect spacing.This engraver creates the following layout object(s):
Staff_symbol_engraver
Create the constellation of five (default) staff lines.
Music types accepted:
This engraver creates the following layout object(s):
Time_signature_engraver
Create a TimeSignature whenever
timeSignatureFraction
changes.Music types accepted:
Properties (read)
initialTimeSignatureVisibility
(vector)break visibility for the initial time signature.
partialBusy
(boolean)Signal that \partial acts at the current timestep.
timeSignatureFraction
(fraction, as pair)A pair of numbers, signifying the time signature. For example,
'(4 . 4)
is a 4/4 time signature.This engraver creates the following layout object(s):
[ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < RhythmicStaff ] | [ Up : Contexts ] | [ Staff > ] |
2.1.26 Score
This is the top level notation context. No
other context can contain a Score
context. This context
handles the administration of time signatures. It also makes sure
that items such as clefs, time signatures, and key-signatures are
aligned across staves.
You cannot explicitly instantiate a Score
context (since it
is not contained in any other context). It is instantiated
automatically when an output definition (a \score
or
\layout
block) is processed.
This context also accepts commands for the following context(s):
Timing.
This context creates the following layout object(s):
BarNumber, BreakAlignGroup, BreakAlignment, FootnoteItem, FootnoteSpanner, GraceSpacing, LeftEdge, MetronomeMark, NonMusicalPaperColumn, PaperColumn, ParenthesesItem, RehearsalMark, SpacingSpanner, SystemStartBar, SystemStartBrace, SystemStartBracket, SystemStartSquare, VerticalAlignment, VoltaBracket and VoltaBracketSpanner.
This context sets the following properties:
- Set translator property
additionalPitchPrefix
to""
. - Set translator property
aDueText
to"a2"
. - Set translator property
alternativeRestores
to:'(measurePosition measureLength lastChord)
- Set translator property
associatedVoiceType
to'Voice
. - Set translator property
autoAccidentals
to:'(Staff #<procedure #f (context pitch barnum measurepos)>)
- Set translator property
autoBeamCheck
todefault-auto-beam-check
. - Set translator property
autoBeaming
to#t
. - Set translator property
autoCautionaries
to'()
. - Set translator property
automaticBars
to#t
. - Set translator property
barCheckSynchronize
to#f
. - Set translator property
barNumberFormatter
torobust-bar-number-function
. - Set translator property
barNumberVisibility
tofirst-bar-number-invisible-and-no-parenthesized-bar-numbers
. - Set translator property
beamHalfMeasure
to#t
. - Set translator property
chordNameExceptions
to:'(((#<Pitch e' > #<Pitch gis' >) #<procedure line-markup (layout props args)> ("+")) ((#<Pitch ees' > #<Pitch ges' >) #<procedure line-markup (layout props args)> ((#<procedure line-markup (layout props args)> ((#<procedure fontsize-markup (layout props increment arg)> 2 "°"))))) ((#<Pitch ees' > #<Pitch ges' > #<Pitch bes' >) #<procedure line-markup (layout props args)> ((#<procedure super-markup (layout props arg)> "ø"))) ((#<Pitch ees' > #<Pitch ges' > #<Pitch beses' >) #<procedure concat-markup (layout props args)> ((#<procedure line-markup (layout props args)> ((#<procedure fontsize-markup (layout props increment arg)> 2 "°"))) (#<procedure super-markup (layout props arg)> "7"))) ((#<Pitch e' > #<Pitch g' > #<Pitch b' > #<Pitch fis'' >) #<procedure line-markup (layout props args)> ((#<procedure super-markup (layout props arg)> "lyd"))) ((#<Pitch e' > #<Pitch g' > #<Pitch bes' > #<Pitch des'' > #<Pitch ees'' > #<Pitch fis'' > #<Pitch aes'' >) #<procedure line-markup (layout props args)> ((#<procedure super-markup (layout props arg)> "alt"))) ((#<Pitch g' >) #<procedure line-markup (layout props args)> ((#<procedure super-markup (layout props arg)> "5"))) ((#<Pitch g' > #<Pitch c'' >) #<procedure line-markup (layout props args)> ((#<procedure super-markup (layout props arg)> "5"))))
- Set translator property
chordNameFunction
toignatzek-chord-names
. - Set translator property
chordNameLowercaseMinor
to#f
. - Set translator property
chordNameSeparator
to:'(#<procedure hspace-markup (layout props amount)> 0.5)
- Set translator property
chordNoteNamer
to'()
. - Set translator property
chordPrefixSpacer
to0
. - Set translator property
chordRootNamer
tonote-name->markup
. - Set translator property
clefGlyph
to"clefs.G"
. - Set translator property
clefPosition
to-2
. - Set translator property
clefTranspositionFormatter
toclef-transposition-markup
. - Set translator property
completionFactor
tounity-if-multimeasure
. - Set translator property
crescendoSpanner
to'hairpin
. - Set translator property
cueClefTranspositionFormatter
toclef-transposition-markup
. - Set translator property
decrescendoSpanner
to'hairpin
. - Set translator property
defaultBarType
to"|"
. - Set translator property
doubleRepeatType
to":..:"
. - Set translator property
drumStyleTable
to#<hash-table 29/61>
. - Set translator property
endRepeatType
to":|."
. - Set translator property
explicitClefVisibility
to:#(#t #t #t)
- Set translator property
explicitCueClefVisibility
to:#(#f #t #t)
- Set translator property
explicitKeySignatureVisibility
to:#(#t #t #t)
- Set translator property
extendersOverRests
to#t
. - Set translator property
extraNatural
to#t
. - Set translator property
figuredBassFormatter
toformat-bass-figure
. - Set translator property
fingeringOrientations
to:'(up down)
- Set translator property
firstClef
to#t
. - Set translator property
graceSettings
to:'((Voice Stem direction 1) (Voice Slur direction -1) (Voice Stem font-size -3) (Voice Flag font-size -3) (Voice NoteHead font-size -3) (Voice TabNoteHead font-size -4) (Voice Dots font-size -3) (Voice Stem length-fraction 0.8) (Voice Stem no-stem-extend #t) (Voice Beam beam-thickness 0.384) (Voice Beam length-fraction 0.8) (Voice Accidental font-size -4) (Voice AccidentalCautionary font-size -4) (Voice Script font-size -3) (Voice Fingering font-size -8) (Voice StringNumber font-size -8))
- Set translator property
harmonicAccidentals
to#t
. - Set translator property
highStringOne
to#t
. - Set translator property
initialTimeSignatureVisibility
to:#(#f #t #t)
- Set translator property
instrumentTransposition
to#<Pitch c' >
. - Set translator property
keepAliveInterfaces
to:'(bass-figure-interface chord-name-interface cluster-beacon-interface dynamic-interface fret-diagram-interface lyric-syllable-interface note-head-interface tab-note-head-interface lyric-interface percent-repeat-item-interface percent-repeat-interface stanza-number-interface)
- Set translator property
keyAlterationOrder
to:'((6 . -1/2) (2 . -1/2) (5 . -1/2) (1 . -1/2) (4 . -1/2) (0 . -1/2) (3 . -1/2) (3 . 1/2) (0 . 1/2) (4 . 1/2) (1 . 1/2) (5 . 1/2) (2 . 1/2) (6 . 1/2) (6 . -1) (2 . -1) (5 . -1) (1 . -1) (4 . -1) (0 . -1) (3 . -1) (3 . 1) (0 . 1) (4 . 1) (1 . 1) (5 . 1) (2 . 1) (6 . 1))
- Set translator property
lyricMelismaAlignment
to-1
. - Set translator property
majorSevenSymbol
to:'(#<procedure line-markup (layout props args)> ((#<procedure fontsize-markup (layout props increment arg)> -3 (#<procedure triangle-markup (layout props filled)> #f))))
- Set translator property
markFormatter
toformat-mark-letters
. - Set translator property
melismaBusyProperties
to:'(melismaBusy slurMelismaBusy tieMelismaBusy beamMelismaBusy completionBusy)
- Set translator property
metronomeMarkFormatter
toformat-metronome-markup
. - Set translator property
middleCClefPosition
to-6
. - Set translator property
middleCPosition
to-6
. - Set translator property
minorChordModifier
to:'(#<procedure simple-markup (layout props str)> "m")
- Set translator property
noChordSymbol
to:'(#<procedure simple-markup (layout props str)> "N.C.")
- Set translator property
noteNameFunction
tonote-name-markup
. - Set translator property
noteNameSeparator
to"/"
. - Set translator property
noteToFretFunction
todetermine-frets
. - Set translator property
partCombineTextsOnNote
to#t
. - Set translator property
pedalSostenutoStrings
to:'("Sost. Ped." "*Sost. Ped." "*")
- Set translator property
pedalSostenutoStyle
to'mixed
. - Set translator property
pedalSustainStrings
to:'("Ped." "*Ped." "*")
- Set translator property
pedalSustainStyle
to'text
. - Set translator property
pedalUnaCordaStrings
to:'("una corda" "" "tre corde")
- Set translator property
pedalUnaCordaStyle
to'text
. - Set translator property
predefinedDiagramTable
to#f
. - Set translator property
printAccidentalNames
to#t
. - Set translator property
printKeyCancellation
to#t
. - Set translator property
printOctaveNames
to#f
. - Set translator property
printPartCombineTexts
to#t
. - Set translator property
quotedCueEventTypes
to:'(note-event rest-event tie-event beam-event tuplet-span-event tremolo-event)
- Set translator property
quotedEventTypes
to:'(StreamEvent)
- Set translator property
rehearsalMark
to1
. - Set translator property
repeatCountVisibility
toall-repeat-counts-visible
. - Set translator property
restNumberThreshold
to1
. - Set translator property
scriptDefinitions
to:'(("accent" (avoid-slur . around) (padding . 0.2) (script-stencil feta "sforzato" . "sforzato") (side-relative-direction . -1)) ("accentus" (script-stencil feta "uaccentus" . "uaccentus") (side-relative-direction . -1) (avoid-slur . ignore) (padding . 0.2) (quantize-position . #t) (script-priority . -100) (direction . 1)) ("circulus" (script-stencil feta "circulus" . "circulus") (side-relative-direction . -1) (avoid-slur . ignore) (padding . 0.2) (quantize-position . #t) (script-priority . -100) (direction . 1)) ("coda" (script-stencil feta "coda" . "coda") (padding . 0.2) (avoid-slur . outside) (direction . 1)) ("comma" (script-stencil feta "lcomma" . "rcomma") (quantize-position . #t) (padding . 0.2) (avoid-slur . ignore) (direction . 1)) ("downbow" (script-stencil feta "downbow" . "downbow") (padding . 0.2) (skyline-horizontal-padding . 0.2) (avoid-slur . around) (direction . 1) (script-priority . 150)) ("downmordent" (script-stencil feta "downmordent" . "downmordent") (padding . 0.2) (avoid-slur . around) (direction . 1)) ("downprall" (script-stencil feta "downprall" . "downprall") (padding . 0.2) (avoid-slur . around) (direction . 1)) ("espressivo" (avoid-slur . around) (padding . 0.2) (script-stencil feta "espr" . "espr") (side-relative-direction . -1)) ("fermata" (script-stencil feta "dfermata" . "ufermata") (padding . 0.2) (avoid-slur . around) (script-priority . 4000) (direction . 1)) ("flageolet" (script-stencil feta "flageolet" . "flageolet") (padding . 0.2) (avoid-slur . around) (direction . 1)) ("halfopen" (avoid-slur . outside) (padding . 0.2) (script-stencil feta "halfopen" . "halfopen") (direction . 1)) ("halfopenvertical" (avoid-slur . outside) (padding . 0.2) (script-stencil feta "halfopenvertical" . "halfopenvertical") (direction . 1)) ("haydnturn" (script-stencil feta "haydnturn" . "haydnturn") (padding . 0.2) (avoid-slur . inside) (direction . 1)) ("henzelongfermata" (script-stencil feta "dhenzelongfermata" . "uhenzelongfermata") (padding . 0.2) (avoid-slur . around) (direction . 1)) ("henzeshortfermata" (script-stencil feta "dhenzeshortfermata" . "uhenzeshortfermata") (padding . 0.2) (avoid-slur . around) (direction . 1)) ("ictus" (script-stencil feta "ictus" . "ictus") (side-relative-direction . -1) (quantize-position . #t) (avoid-slur . ignore) (padding . 0.2) (script-priority . -100) (direction . -1)) ("lheel" (script-stencil feta "upedalheel" . "upedalheel") (padding . 0.2) (avoid-slur . around) (direction . -1)) ("lineprall" (script-stencil feta "lineprall" . "lineprall") (padding . 0.2) (avoid-slur . around) (direction . 1)) ("longfermata" (script-stencil feta "dlongfermata" . "ulongfermata") (padding . 0.2) (avoid-slur . around) (direction . 1)) ("ltoe" (script-stencil feta "upedaltoe" . "upedaltoe") (padding . 0.2) (avoid-slur . around) (direction . -1)) ("marcato" (script-stencil feta "dmarcato" . "umarcato") (padding . 0.2) (avoid-slur . inside) (quantize-position . #t) (side-relative-direction . -1)) ("mordent" (script-stencil feta "mordent" . "mordent") (padding . 0.2) (avoid-slur . around) (direction . 1)) ("open" (avoid-slur . outside) (padding . 0.2) (script-stencil feta "open" . "open") (direction . 1)) ("portato" (script-stencil feta "uportato" . "dportato") (avoid-slur . around) (padding . 0.45) (side-relative-direction . -1)) ("prall" (script-stencil feta "prall" . "prall") (padding . 0.2) (avoid-slur . around) (direction . 1)) ("pralldown" (script-stencil feta "pralldown" . "pralldown") (padding . 0.2) (avoid-slur . around) (direction . 1)) ("prallmordent" (script-stencil feta "prallmordent" . "prallmordent") (padding . 0.2) (avoid-slur . around) (direction . 1)) ("prallprall" (script-stencil feta "prallprall" . "prallprall") (padding . 0.2) (avoid-slur . around) (direction . 1)) ("prallup" (script-stencil feta "prallup" . "prallup") (padding . 0.2) (avoid-slur . around) (direction . 1)) ("reverseturn" (script-stencil feta "reverseturn" . "reverseturn") (padding . 0.2) (avoid-slur . inside) (direction . 1)) ("rheel" (script-stencil feta "dpedalheel" . "dpedalheel") (padding . 0.2) (avoid-slur . around) (direction . 1)) ("rtoe" (script-stencil feta "dpedaltoe" . "dpedaltoe") (padding . 0.2) (avoid-slur . around) (direction . 1)) ("segno" (script-stencil feta "segno" . "segno") (padding . 0.2) (avoid-slur . outside) (direction . 1)) ("semicirculus" (script-stencil feta "dsemicirculus" . "dsemicirculus") (side-relative-direction . -1) (quantize-position . #t) (avoid-slur . ignore) (padding . 0.2) (script-priority . -100) (direction . 1)) ("shortfermata" (script-stencil feta "dshortfermata" . "ushortfermata") (padding . 0.2) (avoid-slur . around) (direction . 1)) ("signumcongruentiae" (script-stencil feta "dsignumcongruentiae" . "usignumcongruentiae") (padding . 0.2) (avoid-slur . outside) (direction . 1)) ("slashturn" (script-stencil feta "slashturn" . "slashturn") (padding . 0.2) (avoid-slur . inside) (direction . 1)) ("snappizzicato" (script-stencil feta "snappizzicato" . "snappizzicato") (padding . 0.2) (avoid-slur . outside) (direction . 1)) ("staccatissimo" (avoid-slur . inside) (quantize-position . #t) (script-stencil feta "dstaccatissimo" . "ustaccatissimo") (padding . 0.2) (skyline-horizontal-padding . 0.1) (side-relative-direction . -1) (toward-stem-shift . 1.0) (toward-stem-shift-in-column . 0.0)) ("staccato" (script-stencil feta "staccato" . "staccato") (side-relative-direction . -1) (quantize-position . #t) (avoid-slur . inside) (toward-stem-shift . 1.0) (toward-stem-shift-in-column . 0.0) (padding . 0.2) (skyline-horizontal-padding . 0.1) (script-priority . -100)) ("stopped" (script-stencil feta "stopped" . "stopped") (avoid-slur . inside) (padding . 0.2) (direction . 1)) ("tenuto" (script-stencil feta "tenuto" . "tenuto") (quantize-position . #t) (avoid-slur . inside) (padding . 0.2) (side-relative-direction . -1)) ("trill" (script-stencil feta "trill" . "trill") (direction . 1) (padding . 0.2) (avoid-slur . outside) (script-priority . 2000)) ("turn" (script-stencil feta "turn" . "turn") (avoid-slur . inside) (padding . 0.2) (direction . 1)) ("upbow" (script-stencil feta "upbow" . "upbow") (avoid-slur . around) (padding . 0.2) (direction . 1) (script-priority . 150)) ("upmordent" (script-stencil feta "upmordent" . "upmordent") (padding . 0.2) (avoid-slur . around) (direction . 1)) ("upprall" (script-stencil feta "upprall" . "upprall") (padding . 0.2) (avoid-slur . around) (direction . 1)) ("varcoda" (script-stencil feta "varcoda" . "varcoda") (padding . 0.2) (avoid-slur . outside) (direction . 1)) ("varcomma" (script-stencil feta "lvarcomma" . "rvarcomma") (quantize-position . #t) (padding . 0.2) (avoid-slur . ignore) (direction . 1)) ("verylongfermata" (script-stencil feta "dverylongfermata" . "uverylongfermata") (padding . 0.2) (avoid-slur . around) (direction . 1)) ("veryshortfermata" (script-stencil feta "dveryshortfermata" . "uveryshortfermata") (padding . 0.2) (avoid-slur . around) (direction . 1)))
- Set translator property
slashChordSeparator
to:'(#<procedure simple-markup (layout props str)> "/")
- Set translator property
soloIIText
to"Solo II"
. - Set translator property
soloText
to"Solo"
. - Set translator property
startRepeatType
to".|:"
. - Set translator property
stringNumberOrientations
to:'(up down)
- Set translator property
stringOneTopmost
to#t
. - Set translator property
stringTunings
to:'(#<Pitch e' > #<Pitch b > #<Pitch g > #<Pitch d > #<Pitch a, > #<Pitch e, >)
- Set translator property
strokeFingerOrientations
to:'(right)
- Set translator property
subdivideBeams
to#f
. - Set translator property
systemStartDelimiter
to'SystemStartBar
. - Set translator property
tablatureFormat
tofret-number-tablature-format
. - Set translator property
tabStaffLineLayoutFunction
totablature-position-on-lines
. - Set translator property
tieWaitForNote
to#f
. - Set translator property
timeSignatureFraction
to:'(4 . 4)
- Set translator property
timeSignatureSettings
to:'(((2 . 2) (beamExceptions (end (1/32 8 8 8 8)))) ((3 . 2) (beamExceptions (end (1/32 8 8 8 8 8 8)))) ((3 . 4) (beamExceptions (end (1/8 6) (1/12 3 3 3)))) ((3 . 8) (beamExceptions (end (1/8 3)))) ((4 . 2) (beamExceptions (end (1/16 4 4 4 4 4 4 4 4)))) ((4 . 4) (beamExceptions (end (1/8 4 4) (1/12 3 3 3 3)))) ((4 . 8) (beatStructure 2 2)) ((6 . 4) (beamExceptions (end (1/16 4 4 4 4 4 4)))) ((9 . 4) (beamExceptions (end (1/32 8 8 8 8 8 8 8 8)))) ((12 . 4) (beamExceptions (end (1/32 8 8 8 8 8 8 8 8 8 8 8 8)))) ((5 . 8) (beatStructure 3 2)) ((8 . 8) (beatStructure 3 3 2)))
- Set translator property
timing
to#t
. - Set translator property
topLevelAlignment
to#t
.
This is not a ‘Bottom’ context; search for such a one will commence after creating an implicit context of type Staff.
Context Score can contain ChoirStaff, ChordNames, Devnull, DrumStaff, Dynamics, FiguredBass, FretBoards, GrandStaff, GregorianTranscriptionStaff, KievanStaff, Lyrics, MensuralStaff, NoteNames, OneStaff, PetrucciStaff, PianoStaff, RhythmicStaff, Staff, StaffGroup, TabStaff and VaticanaStaff.
This context is built from the following engraver(s):
Bar_number_engraver
A bar number is created whenever
measurePosition
is zero and when there is a bar line (i.e., whenwhichBar
is set). It is put on top of all staves, and appears only at the left side of the staff. The staves are taken fromstavesFound
, which is maintained by Staff_collecting_engraver.Music types accepted:
Properties (read)
alternativeNumberingStyle
(symbol)The style of an alternative’s bar numbers. Can be
numbers
for going back to the same number ornumbers-with-letters
for going back to the same number with letter suffixes. No setting will not go back in measure-number time.barNumberFormatter
(procedure)A procedure that takes a bar number, measure position, and alternative number and returns a markup of the bar number to print.
barNumberVisibility
(procedure)A procedure that takes a bar number and a measure position and returns whether the corresponding bar number should be printed. Note that the actual print-out of bar numbers is controlled with the
break-visibility
property.The following procedures are predefined:
all-bar-numbers-visible
Enable bar numbers for all bars, including the first one and broken bars (which get bar numbers in parentheses).
first-bar-number-invisible
Enable 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-bars
Enable 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-numbers
Enable bar numbers for all bars except the first bar and broken bars. This is the default.
(every-nth-bar-number-visible n)
Assuming n is value 2, for example, this enables bar numbers for bars 2, 4, 6, etc.
(modulo-bar-number-visible n m)
If bar numbers 1, 4, 7, etc., should be enabled, n (the modulo) must be set to 3 and m (the division remainder) to 1.
currentBarNumber
(integer)Contains the current barnumber. This property is incremented at every bar line.
stavesFound
(list of grobs)A list of all staff-symbols found.
whichBar
(string)This property is read to determine what type of bar line to create.
Example:
\set Staff.whichBar = ".|:"This will create a start-repeat bar in this staff only. Valid values are described in ‘scm/bar-line.scm’.
Properties (write)
currentBarNumber
(integer)Contains the current barnumber. This property is incremented at every bar line.
This engraver creates the following layout object(s):
Beam_collision_engraver
Help beams avoid colliding with notes and clefs in other voices.
Break_align_engraver
Align grobs with corresponding
break-align-symbols
into groups, and order the groups according tobreakAlignOrder
. The left edge of the alignment gets a separate group, with a symbolleft-edge
.This engraver creates the following layout object(s):
Concurrent_hairpin_engraver
Collect concurrent hairpins.
Default_bar_line_engraver
This engraver determines what kind of automatic bar lines should be produced, and sets
whichBar
accordingly. It should be at the same level as Timing_translator.Properties (read)
automaticBars
(boolean)If set to false then bar lines will not be printed automatically; they must be explicitly created with a
\bar
command. Unlike the\cadenzaOn
keyword, measures are still counted. Bar line generation will resume according to that count if this property is unset.barAlways
(boolean)If set to true a bar line is drawn after each note.
defaultBarType
(string)Set the default type of bar line. See
whichBar
for information on available bar types.This variable is read by Timing_translator at Score level.
measureLength
(moment)Length of one measure in the current time signature.
measurePosition
(moment)How much of the current measure have we had. This can be set manually to create incomplete measures.
timing
(boolean)Keep administration of measure length, position, bar number, etc.? Switch off for cadenzas.
whichBar
(string)This property is read to determine what type of bar line to create.
Example:
\set Staff.whichBar = ".|:"This will create a start-repeat bar in this staff only. Valid values are described in ‘scm/bar-line.scm’.
Footnote_engraver
Create footnote texts.
Properties (read)
currentMusicalColumn
(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
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):
Mark_engraver
Create
RehearsalMark
objects. It puts them on top of all staves (which is taken from the propertystavesFound
). If moving this engraver to a different context, Staff_collecting_engraver must move along, otherwise all marks end up on the same Y location.Music types accepted:
Properties (read)
markFormatter
(procedure)A procedure taking as arguments the context and the rehearsal mark. It should return the formatted mark as a markup object.
rehearsalMark
(integer)The last rehearsal mark printed.
stavesFound
(list of grobs)A list of all staff-symbols found.
This engraver creates the following layout object(s):
Metronome_mark_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 thestavesFound
property, which is maintained by Staff_collecting_engraver.Music types accepted:
Properties (read)
currentCommandColumn
(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
currentMusicalColumn
(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
metronomeMarkFormatter
(procedure)How to produce a metronome markup. Called with two arguments: a
TempoChangeEvent
and context.stavesFound
(list of grobs)A list of all staff-symbols found.
tempoHideNote
(boolean)Hide the note = count in tempo marks.
This engraver creates the following layout object(s):
Output_property_engraver
Apply a procedure to any grob acknowledged.
Music types accepted:
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 setforbidBreaks
in the score context to stop line breaks. In practice, this means that you can make a break point by creating a bar line (assuming that there are no beams or notes that prevent a break point).Music types accepted:
Properties (read)
forbidBreak
(boolean)If set to
#t
, prevent a line break at this point.Properties (write)
currentCommandColumn
(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
currentMusicalColumn
(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
forbidBreak
(boolean)If set to
#t
, prevent a line break at this point.This engraver creates the following layout object(s):
Parenthesis_engraver
Parenthesize objects whose music cause has the
parenthesize
property.This engraver creates the following layout object(s):
Repeat_acknowledge_engraver
Acknowledge repeated music, and convert the contents of
repeatCommands
into an appropriate setting forwhichBar
.Properties (read)
doubleRepeatSegnoType
(string)Set the default bar line for the combinations double repeat with segno. Default is ‘:|.S.|:’.
doubleRepeatType
(string)Set the default bar line for double repeats.
endRepeatSegnoType
(string)Set the default bar line for the combinations ending of repeat with segno. Default is ‘:|.S’.
endRepeatType
(string)Set the default bar line for the ending of repeats.
repeatCommands
(list)This property is a list of commands of the form
(list 'volta x)
, where x is a string or#f
.'end-repeat
is also accepted as a command.segnoType
(string)Set the default bar line for a requested segno. Default is ‘S’.
startRepeatSegnoType
(string)Set the default bar line for the combinations beginning of repeat with segno. Default is ‘S.|:’.
startRepeatType
(string)Set the default bar line for the beginning of repeats.
whichBar
(string)This property is read to determine what type of bar line to create.
Example:
\set Staff.whichBar = ".|:"This will create a start-repeat bar in this staff only. Valid values are described in ‘scm/bar-line.scm’.
Spacing_engraver
Make a
SpacingSpanner
and do bookkeeping of shortest starting and playing notes.Music types accepted:
Properties (read)
currentCommandColumn
(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
currentMusicalColumn
(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
proportionalNotationDuration
(moment)Global override for shortest-playing duration. This is used for switching on proportional notation.
This engraver creates the following layout object(s):
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.
Stanza_number_align_engraver
This engraver ensures that stanza numbers are neatly aligned.
System_start_delimiter_engraver
Create a system start delimiter (i.e., a
SystemStartBar
,SystemStartBrace
,SystemStartBracket
orSystemStartSquare
spanner).Properties (read)
currentCommandColumn
(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
systemStartDelimiter
(symbol)Which grob to make for the start of the system/staff? Set to
SystemStartBrace
,SystemStartBracket
orSystemStartBar
.systemStartDelimiterHierarchy
(pair)A nested list, indicating the nesting of a start delimiters.
This engraver creates the following layout object(s):
SystemStartBar, SystemStartBrace, SystemStartBracket and SystemStartSquare.
Timing_translator
This engraver adds the alias
Timing
to its containing context. Responsible for synchronizing timing information from staves. Normally inScore
. In order to create polyrhythmic music, this engraver should be removed fromScore
and placed inStaff
.Properties (read)
baseMoment
(moment)Smallest unit of time that will stand on its own as a subdivided section.
currentBarNumber
(integer)Contains the current barnumber. This property is incremented at every bar line.
internalBarNumber
(integer)Contains the current barnumber. This property is used for internal timekeeping, among others by the
Accidental_engraver
.measureLength
(moment)Length of one measure in the current time signature.
measurePosition
(moment)How much of the current measure have we had. This can be set manually to create incomplete measures.
timeSignatureFraction
(fraction, as pair)A pair of numbers, signifying the time signature. For example,
'(4 . 4)
is a 4/4 time signature.Properties (write)
baseMoment
(moment)Smallest unit of time that will stand on its own as a subdivided section.
currentBarNumber
(integer)Contains the current barnumber. This property is incremented at every bar line.
internalBarNumber
(integer)Contains the current barnumber. This property is used for internal timekeeping, among others by the
Accidental_engraver
.measureLength
(moment)Length of one measure in the current time signature.
measurePosition
(moment)How much of the current measure have we had. This can be set manually to create incomplete measures.
timeSignatureFraction
(fraction, as pair)A pair of numbers, signifying the time signature. For example,
'(4 . 4)
is a 4/4 time signature.Tweak_engraver
Read the
tweaks
property from the originating event, and set properties.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):
Volta_engraver
Make volta brackets.
Properties (read)
repeatCommands
(list)This property is a list of commands of the form
(list 'volta x)
, where x is a string or#f
.'end-repeat
is also accepted as a command.stavesFound
(list of grobs)A list of all staff-symbols found.
voltaSpannerDuration
(moment)This specifies the maximum duration to use for the brackets printed for
\alternative
. This can be used to shrink the length of brackets in the situation where one alternative is very large.This engraver creates the following layout object(s):
[ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Score ] | [ Up : Contexts ] | [ StaffGroup > ] |
2.1.27 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, Clef, ClefModifier, CueClef, CueEndClef, DotColumn, FingeringColumn, InstrumentName, KeyCancellation, KeySignature, LedgerLineSpanner, NoteCollision, OttavaBracket, PianoPedalBracket, RestCollision, ScriptRow, SostenutoPedal, SostenutoPedalLineSpanner, StaffSpacing, StaffSymbol, SustainPedal, SustainPedalLineSpanner, TimeSignature, UnaCordaPedal, UnaCordaPedalLineSpanner and VerticalAxisGroup.
This context sets the following properties:
- Set translator property
createSpacing
to#t
. - Set translator property
ignoreFiguredBassRest
to#f
. - Set translator property
instrumentName
to'()
. - Set translator property
localAlterations
to'()
. - Set translator property
ottavationMarkups
to:'((4 . "29") (3 . "22") (2 . "15") (1 . "8") (-1 . "8") (-2 . "15") (-3 . "22") (-4 . "29"))
- Set translator property
shortInstrumentName
to'()
.
This is not a ‘Bottom’ context; search for such a one will commence after creating an implicit context of type Voice.
Context Staff can contain CueVoice, NullVoice and Voice.
This context is built from the following engraver(s):
Accidental_engraver
Make accidentals. Catch note heads, ties and notices key-change events. This engraver usually lives at Staff level, but reads the settings for Accidental at
Voice
level, so you can\override
them atVoice
.Properties (read)
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:
context
The current context to which the rule should be applied.
pitch
The pitch of the note to be evaluated.
barnum
The current bar number.
measurepos
The current measure position.
The procedure returns a pair of booleans. The first states whether an extra natural should be added. The second states whether an accidental should be printed.
(#t . #f)
does not make sense.autoCautionaries
(list)List similar to
autoAccidentals
, but it controls cautionary accidentals rather than normal ones. Both lists are tried, and the one giving the most accidentals wins. In case of draw, a normal accidental is typeset.extraNatural
(boolean)Whether to typeset an extra natural sign before accidentals that reduce the effect of a previous alteration.
harmonicAccidentals
(boolean)If set, harmonic notes in chords get accidentals.
internalBarNumber
(integer)Contains the current barnumber. This property is used for internal timekeeping, among others by the
Accidental_engraver
.keyAlterations
(list)The current key signature. This is an alist containing
(step . alter)
or((octave . step) . alter)
, where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.keyAlterations = #`((6 . ,FLAT))
.localAlterations
(list)The key signature at this point in the measure. The format is the same as for
keyAlterations
, but can also contain((octave . name) . (alter barnumber . measureposition))
pairs.Properties (write)
localAlterations
(list)The key signature at this point in the measure. The format is the same as for
keyAlterations
, but can also contain((octave . name) . (alter barnumber . measureposition))
pairs.This engraver creates the following layout object(s):
Accidental, AccidentalCautionary, AccidentalPlacement and AccidentalSuggestion.
Axis_group_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 (clef, key signature, etc.) items.
hasAxisGroup
(boolean)True if the current context is contained in an axis group.
keepAliveInterfaces
(list)A list of symbols, signifying grob interfaces that are worth keeping a staff with
remove-empty
set around for.Properties (write)
hasAxisGroup
(boolean)True if the current context is contained in an axis group.
This engraver creates the following layout object(s):
Bar_engraver
Create barlines. This engraver is controlled through the
whichBar
property. If it has no bar line to create, it will forbid a linebreak at this point. This engraver is required to trigger the creation of clefs at the start of systems.Properties (read)
whichBar
(string)This property is read to determine what type of bar line to create.
Example:
\set Staff.whichBar = ".|:"This will create a start-repeat bar in this staff only. Valid values are described in ‘scm/bar-line.scm’.
Properties (write)
forbidBreak
(boolean)If set to
#t
, prevent a line break at this point.This engraver creates the following layout object(s):
Clef_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. Values of 7 and -7 are common.
clefTranspositionStyle
(symbol)Determines the way the ClefModifier grob is displayed. Possible values are ‘default’, ‘parenthesized’ and ‘bracketed’.
explicitClefVisibility
(vector)‘break-visibility’ function for clef changes.
forceClef
(boolean)Show clef symbol, even if it has not changed. Only active for the first clef after the property is set, not for the full staff.
This engraver creates the following layout object(s):
Clef and ClefModifier.
Collision_engraver
Collect
NoteColumns
, and as soon as there are two or more, put them in aNoteCollision
object.This engraver creates the following layout object(s):
Cue_clef_engraver
Determine and set reference point for pitches in cued voices.
Properties (read)
clefTransposition
(integer)Add this much extra transposition. Values of 7 and -7 are common.
cueClefGlyph
(string)Name of the symbol within the music font.
cueClefPosition
(number)Where should the center of the clef symbol go, measured in half staff spaces from the center of the staff.
cueClefTransposition
(integer)Add this much extra transposition. Values of 7 and -7 are common.
cueClefTranspositionStyle
(symbol)Determines the way the ClefModifier grob is displayed. Possible values are ‘default’, ‘parenthesized’ and ‘bracketed’.
explicitCueClefVisibility
(vector)‘break-visibility’ function for cue clef changes.
middleCCuePosition
(number)The position of the middle C, as determined only by the clef of the cue notes. This can be calculated by looking at
cueClefPosition
andcueClefGlyph
.This engraver creates the following layout object(s):
ClefModifier, CueClef and CueEndClef.
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):
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_position_engraver
Position figured bass alignments over notes.
This engraver creates the following layout object(s):
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):
Font_size_engraver
Put
fontSize
intofont-size
grob property.Properties (read)
fontSize
(number)The relative size of all grobs in a context.
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.).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 (clef, key signature, etc.) items.
instrumentName
(markup)The name to print left of a staff. The
instrumentName
property labels the staff in the first system, and theshortInstrumentName
property labels following lines.shortInstrumentName
(markup)See
instrumentName
.shortVocalName
(markup)Name of a vocal line, short version.
vocalName
(markup)Name of a vocal line.
This engraver creates the following layout object(s):
Key_engraver
Engrave a key signature.
Music types accepted:
Properties (read)
createKeyOnClefChange
(boolean)Print a key signature whenever the clef is changed.
explicitKeySignatureVisibility
(vector)‘break-visibility’ function for explicit key changes. ‘\override’ of the
break-visibility
property will set the visibility for normal (i.e., at the start of the line) key signatures.extraNatural
(boolean)Whether to typeset an extra natural sign before accidentals that reduce the effect of a previous alteration.
keyAlterationOrder
(list)An alist that defines in what order alterations should be printed. The format is
(step . alter)
, where step is a number from 0 to 6 and alter from -2 (sharp) to 2 (flat).keyAlterations
(list)The current key signature. This is an alist containing
(step . alter)
or((octave . step) . alter)
, where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.keyAlterations = #`((6 . ,FLAT))
.lastKeyAlterations
(list)Last key signature before a key signature change.
middleCClefPosition
(number)The position of the middle C, as determined only by the clef. This can be calculated by looking at
clefPosition
andclefGlyph
.printKeyCancellation
(boolean)Print restoration alterations before a key signature change.
Properties (write)
keyAlterations
(list)The current key signature. This is an alist containing
(step . alter)
or((octave . step) . alter)
, where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.keyAlterations = #`((6 . ,FLAT))
.lastKeyAlterations
(list)Last key signature before a key signature change.
tonic
(pitch)The tonic of the current scale.
This engraver creates the following layout object(s):
Ledger_line_engraver
Create the spanner to draw ledger lines, and notices objects that need ledger lines.
This engraver creates the following layout object(s):
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.
Ottava_spanner_engraver
Create a text spanner when the ottavation property changes.
Properties (read)
currentMusicalColumn
(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
middleCOffset
(number)The offset of middle C from the position given by
middleCClefPosition
This is used for ottava brackets.ottavation
(markup)If set, the text for an ottava spanner. Changing this creates a new text spanner.
This engraver creates the following layout object(s):
Output_property_engraver
Apply a procedure to any grob acknowledged.
Music types accepted:
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 (clef, key signature, etc.) items.
This engraver creates the following layout object(s):
SostenutoPedalLineSpanner, SustainPedalLineSpanner and UnaCordaPedalLineSpanner.
Piano_pedal_engraver
Engrave piano pedal symbols and brackets.
Music types accepted:
sostenuto-event, sustain-event and una-corda-event
Properties (read)
currentCommandColumn
(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
pedalSostenutoStrings
(list)See
pedalSustainStrings
.pedalSostenutoStyle
(symbol)See
pedalSustainStyle
.pedalSustainStrings
(list)A list of strings to print for sustain-pedal. Format is
(up updown down)
, where each of the three is the string to print when this is done with the pedal.pedalSustainStyle
(symbol)A symbol that indicates how to print sustain pedals:
text
,bracket
ormixed
(both).pedalUnaCordaStrings
(list)See
pedalSustainStrings
.pedalUnaCordaStyle
(symbol)See
pedalSustainStyle
.This engraver creates the following layout object(s):
PianoPedalBracket, SostenutoPedal, SustainPedal and UnaCordaPedal.
Pure_from_neighbor_engraver
Coordinates items that get their pure heights from their neighbors.
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):
Script_row_engraver
Determine order in horizontal side position elements.
This engraver creates the following layout object(s):
Separating_line_group_engraver
Generate objects for computing spacing parameters.
Properties (read)
createSpacing
(boolean)Create
StaffSpacing
objects? Should be set for staves.Properties (write)
hasStaffSpacing
(boolean)True if the current
CommandColumn
contains items that will affect spacing.This engraver creates the following layout object(s):
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_symbol_engraver
Create the constellation of five (default) staff lines.
Music types accepted:
This engraver creates the following layout object(s):
Time_signature_engraver
Create a TimeSignature whenever
timeSignatureFraction
changes.Music types accepted:
Properties (read)
initialTimeSignatureVisibility
(vector)break visibility for the initial time signature.
partialBusy
(boolean)Signal that \partial acts at the current timestep.
timeSignatureFraction
(fraction, as pair)A pair of numbers, signifying the time signature. For example,
'(4 . 4)
is a 4/4 time signature.This engraver creates the following layout object(s):
[ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < Staff ] | [ Up : Contexts ] | [ TabStaff > ] |
2.1.28 StaffGroup
Groups staves while adding a bracket on the left
side, grouping the staves together. The bar lines of the contained
staves are connected vertically. StaffGroup
only consists of
a collection of staves, with a bracket in front and spanning bar lines.
This context creates the following layout object(s):
Arpeggio, InstrumentName, SpanBar, SpanBarStub, SystemStartBar, SystemStartBrace, SystemStartBracket, SystemStartSquare and VerticalAlignment.
This context sets the following properties:
- Set grob-property
extra-spacing-width
in DynamicText to#f
. - Set translator property
instrumentName
to'()
. - Set translator property
shortInstrumentName
to'()
. - Set translator property
systemStartDelimiter
to'SystemStartBracket
. - Set translator property
topLevelAlignment
to#f
.
This is not a ‘Bottom’ context; search for such a one will commence after creating an implicit context of type Staff.
Context StaffGroup can contain ChoirStaff, ChordNames, DrumStaff, FiguredBass, FretBoards, GrandStaff, Lyrics, OneStaff, PianoStaff, RhythmicStaff, Staff, StaffGroup and TabStaff.
This context is built from the following engraver(s):
Instrument_name_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 (clef, key signature, etc.) items.
instrumentName
(markup)The name to print left of a staff. The
instrumentName
property labels the staff in the first system, and theshortInstrumentName
property labels following lines.shortInstrumentName
(markup)See
instrumentName
.shortVocalName
(markup)Name of a vocal line, short version.
vocalName
(markup)Name of a vocal line.
This engraver creates the following layout object(s):
Output_property_engraver
Apply a procedure to any grob acknowledged.
Music types accepted:
Span_arpeggio_engraver
Make arpeggios that span multiple staves.
Properties (read)
connectArpeggios
(boolean)If set, connect arpeggios across piano staff.
This engraver creates the following layout object(s):
Span_bar_engraver
Make cross-staff bar lines: It catches all normal bar lines and draws a single span bar across them.
This engraver creates the following layout object(s):
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):
System_start_delimiter_engraver
Create a system start delimiter (i.e., a
SystemStartBar
,SystemStartBrace
,SystemStartBracket
orSystemStartSquare
spanner).Properties (read)
currentCommandColumn
(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
systemStartDelimiter
(symbol)Which grob to make for the start of the system/staff? Set to
SystemStartBrace
,SystemStartBracket
orSystemStartBar
.systemStartDelimiterHierarchy
(pair)A nested list, indicating the nesting of a start delimiters.
This engraver creates the following layout object(s):
SystemStartBar, SystemStartBrace, SystemStartBracket and SystemStartSquare.
Vertical_align_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):
[ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < StaffGroup ] | [ Up : Contexts ] | [ TabVoice > ] |
2.1.29 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, Clef, ClefModifier, CueClef, CueEndClef, DotColumn, FingeringColumn, InstrumentName, LedgerLineSpanner, NoteCollision, PianoPedalBracket, RestCollision, ScriptRow, SostenutoPedal, SostenutoPedalLineSpanner, StaffSpacing, StaffSymbol, SustainPedal, SustainPedalLineSpanner, TimeSignature, UnaCordaPedal, UnaCordaPedalLineSpanner and VerticalAxisGroup.
This context sets the following properties:
- Set grob-property
after-line-breaking
in RepeatTie torepeat-tie::handle-tab-note-head
. - Set grob-property
after-line-breaking
in Tie totie::handle-tab-note-head
. - Set grob-property
avoid-note-head
in Stem to#t
. - Set grob-property
beam-thickness
in Beam to0.32
. - Set grob-property
beam-thickness
in StemTremolo to0.32
. - Set grob-property
beam-width
in StemTremolo tostem-tremolo::calc-tab-width
. - Set grob-property
bound-details.left
in Glissando to:'((attach-dir . 1) (padding . 0.3))
- Set grob-property
bound-details.right
in Glissando to:'((attach-dir . -1) (padding . 0.3))
- Set grob-property
details
in Stem to:'((lengths 0 0 0 0 0 0) (beamed-lengths 0 0 0) (beamed-minimum-free-lengths 0 0 0) (beamed-extreme-minimum-free-lengths 0 0) (stem-shorten 0 0))
- Set grob-property
extra-dy
in Glissando toglissando::calc-tab-extra-dy
. - Set grob-property
glyph-name
in TabNoteHead totab-note-head::calc-glyph-name
. - Set grob-property
ignore-collision
in NoteColumn to#t
. - Set grob-property
length-fraction
in Beam to0.62
. - Set grob-property
length-fraction
in StemTremolo to#<procedure #f (grob)>
. - Set grob-property
no-stem-extend
in Stem to#t
. - Set grob-property
staff-space
in StaffSymbol to1.5
. - Set grob-property
stencil
in Arpeggio to#f
. - Set grob-property
stencil
in Beam to#f
. - Set grob-property
stencil
in Clef toclef::print-modern-tab-if-set
. - Set grob-property
stencil
in Dots to#f
. - Set grob-property
stencil
in DynamicTextSpanner to#f
. - Set grob-property
stencil
in DynamicText to#f
. - Set grob-property
stencil
in Flag to#f
. - Set grob-property
stencil
in Glissando toglissando::draw-tab-glissando
. - Set grob-property
stencil
in Hairpin to#f
. - Set grob-property
stencil
in LaissezVibrerTie to#f
. - Set grob-property
stencil
in MultiMeasureRestNumber to#f
. - Set grob-property
stencil
in MultiMeasureRestScript to#f
. - Set grob-property
stencil
in MultiMeasureRestText to#f
. - Set grob-property
stencil
in MultiMeasureRest to#f
. - Set grob-property
stencil
in PhrasingSlur to#f
. - Set grob-property
stencil
in RepeatTie to#f
. - Set grob-property
stencil
in Rest to#f
. - Set grob-property
stencil
in Script to#f
. - Set grob-property
stencil
in Slur toslur::draw-tab-slur
. - Set grob-property
stencil
in StemTremolo to#f
. - Set grob-property
stencil
in Stem to#f
. - Set grob-property
stencil
in TabNoteHead totab-note-head::whiteout-if-style-set
. - Set grob-property
stencil
in TextScript to#f
. - Set grob-property
stencil
in TextSpanner to#f
. - Set grob-property
stencil
in Tie to#f
. - Set grob-property
stencil
in TimeSignature to#f
. - Set grob-property
stencil
in TupletBracket to#f
. - Set grob-property
stencil
in TupletNumber to#f
. - Set grob-property
style
in Flag to'no-flag
. - Set translator property
autoBeaming
to#f
. - Set translator property
clefGlyph
to"clefs.tab"
. - Set translator property
clefPosition
to0
. - Set translator property
createSpacing
to#t
. - Set translator property
handleNegativeFrets
to'recalculate
. - Set translator property
ignoreFiguredBassRest
to#f
. - Set translator property
instrumentName
to'()
. - Set translator property
localAlterations
to'()
. - Set translator property
ottavationMarkups
to:'((4 . "29") (3 . "22") (2 . "15") (1 . "8") (-1 . "8") (-2 . "15") (-3 . "22") (-4 . "29"))
- Set translator property
restrainOpenStrings
to#f
. - Set translator property
shortInstrumentName
to'()
.
This is not a ‘Bottom’ context; search for such a one will commence after creating an implicit context of type TabVoice.
Context TabStaff can contain CueVoice, NullVoice and TabVoice.
This context is built from the following engraver(s):
Axis_group_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 (clef, key signature, etc.) items.
hasAxisGroup
(boolean)True if the current context is contained in an axis group.
keepAliveInterfaces
(list)A list of symbols, signifying grob interfaces that are worth keeping a staff with
remove-empty
set around for.Properties (write)
hasAxisGroup
(boolean)True if the current context is contained in an axis group.
This engraver creates the following layout object(s):
Bar_engraver
Create barlines. This engraver is controlled through the
whichBar
property. If it has no bar line to create, it will forbid a linebreak at this point. This engraver is required to trigger the creation of clefs at the start of systems.Properties (read)
whichBar
(string)This property is read to determine what type of bar line to create.
Example:
\set Staff.whichBar = ".|:"This will create a start-repeat bar in this staff only. Valid values are described in ‘scm/bar-line.scm’.
Properties (write)
forbidBreak
(boolean)If set to
#t
, prevent a line break at this point.This engraver creates the following layout object(s):
Clef_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. Values of 7 and -7 are common.
clefTranspositionStyle
(symbol)Determines the way the ClefModifier grob is displayed. Possible values are ‘default’, ‘parenthesized’ and ‘bracketed’.
explicitClefVisibility
(vector)‘break-visibility’ function for clef changes.
forceClef
(boolean)Show clef symbol, even if it has not changed. Only active for the first clef after the property is set, not for the full staff.
This engraver creates the following layout object(s):
Clef and ClefModifier.
Collision_engraver
Collect
NoteColumns
, and as soon as there are two or more, put them in aNoteCollision
object.This engraver creates the following layout object(s):
Cue_clef_engraver
Determine and set reference point for pitches in cued voices.
Properties (read)
clefTransposition
(integer)Add this much extra transposition. Values of 7 and -7 are common.
cueClefGlyph
(string)Name of the symbol within the music font.
cueClefPosition
(number)Where should the center of the clef symbol go, measured in half staff spaces from the center of the staff.
cueClefTransposition
(integer)Add this much extra transposition. Values of 7 and -7 are common.
cueClefTranspositionStyle
(symbol)Determines the way the ClefModifier grob is displayed. Possible values are ‘default’, ‘parenthesized’ and ‘bracketed’.
explicitCueClefVisibility
(vector)‘break-visibility’ function for cue clef changes.
middleCCuePosition
(number)The position of the middle C, as determined only by the clef of the cue notes. This can be calculated by looking at
cueClefPosition
andcueClefGlyph
.This engraver creates the following layout object(s):
ClefModifier, CueClef and CueEndClef.
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):
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_position_engraver
Position figured bass alignments over notes.
This engraver creates the following layout object(s):
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):
Font_size_engraver
Put
fontSize
intofont-size
grob property.Properties (read)
fontSize
(number)The relative size of all grobs in a context.
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.).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 (clef, key signature, etc.) items.
instrumentName
(markup)The name to print left of a staff. The
instrumentName
property labels the staff in the first system, and theshortInstrumentName
property labels following lines.shortInstrumentName
(markup)See
instrumentName
.shortVocalName
(markup)Name of a vocal line, short version.
vocalName
(markup)Name of a vocal line.
This engraver creates the following layout object(s):
Ledger_line_engraver
Create the spanner to draw ledger lines, and notices objects that need ledger lines.
This engraver creates the following layout object(s):
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.
Output_property_engraver
Apply a procedure to any grob acknowledged.
Music types accepted:
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 (clef, key signature, etc.) items.
This engraver creates the following layout object(s):
SostenutoPedalLineSpanner, SustainPedalLineSpanner and UnaCordaPedalLineSpanner.
Piano_pedal_engraver
Engrave piano pedal symbols and brackets.
Music types accepted:
sostenuto-event, sustain-event and una-corda-event
Properties (read)
currentCommandColumn
(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
pedalSostenutoStrings
(list)See
pedalSustainStrings
.pedalSostenutoStyle
(symbol)See
pedalSustainStyle
.pedalSustainStrings
(list)A list of strings to print for sustain-pedal. Format is
(up updown down)
, where each of the three is the string to print when this is done with the pedal.pedalSustainStyle
(symbol)A symbol that indicates how to print sustain pedals:
text
,bracket
ormixed
(both).pedalUnaCordaStrings
(list)See
pedalSustainStrings
.pedalUnaCordaStyle
(symbol)See
pedalSustainStyle
.This engraver creates the following layout object(s):
PianoPedalBracket, SostenutoPedal, SustainPedal and UnaCordaPedal.
Pure_from_neighbor_engraver
Coordinates items that get their pure heights from their neighbors.
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):
Script_row_engraver
Determine order in horizontal side position elements.
This engraver creates the following layout object(s):
Separating_line_group_engraver
Generate objects for computing spacing parameters.
Properties (read)
createSpacing
(boolean)Create
StaffSpacing
objects? Should be set for staves.Properties (write)
hasStaffSpacing
(boolean)True if the current
CommandColumn
contains items that will affect spacing.This engraver creates the following layout object(s):
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_symbol_engraver
Create the constellation of five (default) staff lines.
Music types accepted:
This engraver creates the following layout object(s):
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):
Time_signature_engraver
Create a TimeSignature whenever
timeSignatureFraction
changes.Music types accepted:
Properties (read)
initialTimeSignatureVisibility
(vector)break visibility for the initial time signature.
partialBusy
(boolean)Signal that \partial acts at the current timestep.
timeSignatureFraction
(fraction, as pair)A pair of numbers, signifying the time signature. For example,
'(4 . 4)
is a 4/4 time signature.This engraver creates the following layout object(s):
[ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < TabStaff ] | [ Up : Contexts ] | [ VaticanaStaff > ] |
2.1.30 TabVoice
Context for drawing notes in a Tab staff.
This context also accepts commands for the following context(s):
Voice.
This context creates the following layout object(s):
Arpeggio, Beam, BendAfter, BreathingSign, ClusterSpanner, ClusterSpannerBeacon, CombineTextScript, Dots, DoublePercentRepeat, DoublePercentRepeatCounter, DoubleRepeatSlash, DynamicLineSpanner, DynamicText, DynamicTextSpanner, Flag, Glissando, Hairpin, InstrumentSwitch, LaissezVibrerTie, LaissezVibrerTieColumn, LigatureBracket, MultiMeasureRest, MultiMeasureRestNumber, MultiMeasureRestScript, MultiMeasureRestText, NoteColumn, NoteSpacing, PercentRepeat, PercentRepeatCounter, PhrasingSlur, RepeatSlash, RepeatTie, RepeatTieColumn, Rest, Script, ScriptColumn, Slur, Stem, StemStub, StemTremolo, TabNoteHead, TextScript, TextSpanner, Tie, TieColumn, TrillSpanner, TupletBracket, TupletNumber and VoiceFollower.
This is a ‘Bottom’ context; no contexts will be created implicitly from it.
This context cannot contain other contexts.
This context is built from the following engraver(s):
Arpeggio_engraver
Generate an Arpeggio symbol.
Music types accepted:
This engraver creates the following layout object(s):
Auto_beam_engraver
Generate beams based on measure characteristics and observed Stems. Uses
baseMoment
,beatStructure
,beamExceptions
,measureLength
, andmeasurePosition
to decide when to start and stop a beam. Overriding beaming is done through Stem_engraver propertiesstemLeftBeamCount
andstemRightBeamCount
.Music types accepted:
Properties (read)
autoBeaming
(boolean)If set to true then beams are generated automatically.
baseMoment
(moment)Smallest unit of time that will stand on its own as a subdivided section.
beamExceptions
(list)An alist of exceptions to autobeam rules that normally end on beats.
beamHalfMeasure
(boolean)Whether to allow a beam to begin halfway through the measure in triple time, which could look like 6/8.
beatStructure
(list)List of
baseMoment
s that are combined to make beats.subdivideBeams
(boolean)If set, multiple beams will be subdivided at
baseMoment
positions by only drawing one beam over the beat.This engraver creates the following layout object(s):
Beam.
Beam_engraver
Handle
Beam
events by engraving beams. If omitted, then notes are printed with flags instead of beams.Music types accepted:
Properties (read)
baseMoment
(moment)Smallest unit of time that will stand on its own as a subdivided section.
beamMelismaBusy
(boolean)Signal if a beam is present.
beatStructure
(list)List of
baseMoment
s that are combined to make beats.subdivideBeams
(boolean)If set, multiple beams will be subdivided at
baseMoment
positions by only drawing one beam over the beat.Properties (write)
forbidBreak
(boolean)If set to
#t
, prevent a line break at this point.This engraver creates the following layout object(s):
Beam.
Bend_engraver
Create fall spanners.
Music types accepted:
This engraver creates the following layout object(s):
Breathing_sign_engraver
Create a breathing sign.
Music types accepted:
This engraver creates the following layout object(s):
Chord_tremolo_engraver
Generate beams for tremolo repeats.
Music types accepted:
This engraver creates the following layout object(s):
Beam.
Cluster_spanner_engraver
Engrave a cluster using
Spanner
notation.Music types accepted:
This engraver creates the following layout object(s):
Dots_engraver
Create Dots objects for rhythmic-head-interfaces.
This engraver creates the following layout object(s):
Dots.
Double_percent_repeat_engraver
Make double measure repeats.
Music types accepted:
Properties (read)
countPercentRepeats
(boolean)If set, produce counters for percent repeats.
measureLength
(moment)Length of one measure in the current time signature.
repeatCountVisibility
(procedure)A procedure taking as arguments an integer and context, returning whether the corresponding percent repeat number should be printed when
countPercentRepeats
is set.Properties (write)
forbidBreak
(boolean)If set to
#t
, prevent a line break at this point.This engraver creates the following layout object(s):
Dynamic_align_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):
Dynamic_engraver
Create hairpins, dynamic texts and dynamic text spanners.
Music types accepted:
absolute-dynamic-event, break-span-event and span-dynamic-event
Properties (read)
crescendoSpanner
(symbol)The type of spanner to be used for crescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin crescendo is used.
crescendoText
(markup)The text to print at start of non-hairpin crescendo, i.e., ‘cresc.’.
currentMusicalColumn
(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
decrescendoSpanner
(symbol)The type of spanner to be used for decrescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin decrescendo is used.
decrescendoText
(markup)The text to print at start of non-hairpin decrescendo, i.e., ‘dim.’.
This engraver creates the following layout object(s):
Font_size_engraver
Put
fontSize
intofont-size
grob property.Properties (read)
fontSize
(number)The relative size of all grobs in a context.
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.Glissando_engraver
Engrave glissandi.
Music types accepted:
Properties (read)
glissandoMap
(list)A map in the form of ’((source1 . target1) (source2 . target2) (sourcen . targetn)) showing the glissandi to be drawn for note columns. The value ’() will default to ’((0 . 0) (1 . 1) (n . n)), where n is the minimal number of note-heads in the two note columns between which the glissandi occur.
This engraver creates the following layout object(s):
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:
Properties (read)
autoBeaming
(boolean)If set to true then beams are generated automatically.
This engraver creates the following layout object(s):
Beam.
Grace_beam_engraver
Handle
Beam
events by engraving beams. If omitted, then notes are printed with flags instead of beams. Only engraves beams when we are at grace points in time.Music types accepted:
Properties (read)
baseMoment
(moment)Smallest unit of time that will stand on its own as a subdivided section.
beamMelismaBusy
(boolean)Signal if a beam is present.
beatStructure
(list)List of
baseMoment
s that are combined to make beats.subdivideBeams
(boolean)If set, multiple beams will be subdivided at
baseMoment
positions by only drawing one beam over the beat.This engraver creates the following layout object(s):
Beam.
Grace_engraver
Set font size and other properties for grace notes.
Properties (read)
graceSettings
(list)Overrides for grace notes. This property should be manipulated through the
add-grace-property
function.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.).Instrument_switch_engraver
Create a cue text for taking instrument.
Properties (read)
instrumentCueName
(markup)The name to print if another instrument is to be taken.
This engraver creates the following layout object(s):
Laissez_vibrer_engraver
Create laissez vibrer items.
Music types accepted:
This engraver creates the following layout object(s):
Ligature_bracket_engraver
Handle
Ligature_events
by engravingLigature
brackets.Music types accepted:
This engraver creates the following layout object(s):
Multi_measure_rest_engraver
Engrave multi-measure rests that are produced with ‘R’. It reads
measurePosition
andinternalBarNumber
to determine what number to print over the MultiMeasureRest.Music types accepted:
multi-measure-articulation-event, multi-measure-rest-event and multi-measure-text-event
Properties (read)
currentCommandColumn
(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
internalBarNumber
(integer)Contains the current barnumber. This property is used for internal timekeeping, among others by the
Accidental_engraver
.measurePosition
(moment)How much of the current measure have we had. This can be set manually to create incomplete measures.
restNumberThreshold
(number)If a multimeasure rest has more measures than this, a number is printed.
whichBar
(string)This property is read to determine what type of bar line to create.
Example:
\set Staff.whichBar = ".|:"This will create a start-repeat bar in this staff only. Valid values are described in ‘scm/bar-line.scm’.
This engraver creates the following layout object(s):
MultiMeasureRest, MultiMeasureRestNumber, MultiMeasureRestScript and MultiMeasureRestText.
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):
Note_spacing_engraver
Generate
NoteSpacing
, an object linking horizontal lines for use in spacing.This engraver creates the following layout object(s):
Output_property_engraver
Apply a procedure to any grob acknowledged.
Music types accepted:
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):
Percent_repeat_engraver
Make whole measure repeats.
Music types accepted:
Properties (read)
countPercentRepeats
(boolean)If set, produce counters for percent repeats.
currentCommandColumn
(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
repeatCountVisibility
(procedure)A procedure taking as arguments an integer and context, returning whether the corresponding percent repeat number should be printed when
countPercentRepeats
is set.This engraver creates the following layout object(s):
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):
Repeat_tie_engraver
Create repeat ties.
Music types accepted:
This engraver creates the following layout object(s):
RepeatTie and RepeatTieColumn.
Rest_engraver
Engrave rests.
Music types accepted:
Properties (read)
middleCPosition
(number)The place of the middle C, measured in half staff-spaces. Usually determined by looking at
middleCClefPosition
andmiddleCOffset
.This engraver creates the following layout object(s):
Rest.
Rhythmic_column_engraver
Generate
NoteColumn
, an object that groups stems, note heads, and rests.This engraver creates the following layout object(s):
Script_column_engraver
Find potentially colliding scripts and put them into a
ScriptColumn
object; that will fix the collisions.This engraver creates the following layout object(s):
Script_engraver
Handle note scripted articulations.
Music types accepted:
Properties (read)
scriptDefinitions
(list)The description of scripts. This is used by the
Script_engraver
for typesetting note-superscripts and subscripts. See ‘scm/script.scm’ for more information.This engraver creates the following layout object(s):
Slash_repeat_engraver
Make beat repeats.
Music types accepted:
This engraver creates the following layout object(s):
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.
Spanner_break_forbid_engraver
Forbid breaks in certain spanners.
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 and tuplet-span-event
Properties (read)
stemLeftBeamCount
(integer)Specify the number of beams to draw on the left side of the next note. Overrides automatic beaming. The value is only used once, and then it is erased.
stemRightBeamCount
(integer)See
stemLeftBeamCount
.whichBar
(string)This property is read to determine what type of bar line to create.
Example:
\set Staff.whichBar = ".|:"This will create a start-repeat bar in this staff only. Valid values are described in ‘scm/bar-line.scm’.
This engraver creates the following layout object(s):
Flag, Stem, StemStub and StemTremolo.
Tab_note_heads_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
middleCClefPosition
andmiddleCOffset
.minimumFret
(number)The tablature auto string-selecting mechanism selects the highest string with a fret at least
minimumFret
.noteToFretFunction
(procedure)Convert list of notes and list of defined strings to full list of strings and fret numbers. Parameters: The context, a list of note events, a list of tabstring events, and the fretboard grob if a fretboard is desired.
stringOneTopmost
(boolean)Whether the first string is printed on the top line of the tablature.
stringTunings
(list)The tablature strings tuning. It is a list of the pitches of each string (starting with the lowest numbered one).
tablatureFormat
(procedure)A function formatting a tablature note head. Called with three arguments: context, string number and, fret number. It returns the text as a markup.
tabStaffLineLayoutFunction
(procedure)A function determining the staff position of a tablature note head. Called with two arguments: the context and the string.
This engraver creates the following layout object(s):
Tab_tie_follow_engraver
Adjust TabNoteHead properties when a tie is followed by a slur or glissando.
Text_engraver
Create text scripts.
Music types accepted:
This engraver creates the following layout object(s):
Text_spanner_engraver
Create text spanner from an event.
Music types accepted:
Properties (read)
currentMusicalColumn
(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
Tie_engraver
Generate ties between note heads of equal pitch.
Music types accepted:
Properties (read)
skipTypesetting
(boolean)If true, no typesetting is done, speeding up the interpretation phase. Useful for debugging large scores.
tieWaitForNote
(boolean)If true, tied notes do not have to follow each other directly. This can be used for writing out arpeggios.
Properties (write)
tieMelismaBusy
(boolean)Signal whether a tie is present.
This engraver creates the following layout object(s):
Trill_spanner_engraver
Create trill spanner from an event.
Music types accepted:
Properties (read)
currentCommandColumn
(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
currentMusicalColumn
(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
Tuplet_engraver
Catch tuplet events and generate appropriate bracket.
Music types accepted:
Properties (read)
tupletFullLength
(boolean)If set, the tuplet is printed up to the start of the next note.
tupletFullLengthNote
(boolean)If set, end at the next note, otherwise end on the matter (time signatures, etc.) before the note.
This engraver creates the following layout object(s):
[ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < TabVoice ] | [ Up : Contexts ] | [ VaticanaVoice > ] |
2.1.31 VaticanaStaff
Same as Staff
context, except that it is
accommodated for typesetting Gregorian Chant in the notational style
of Editio Vaticana.
This context also accepts commands for the following context(s):
Staff.
This context creates the following layout object(s):
Accidental, AccidentalCautionary, AccidentalPlacement, AccidentalSuggestion, BarLine, BassFigure, BassFigureAlignment, BassFigureAlignmentPositioning, BassFigureBracket, BassFigureContinuation, BassFigureLine, Clef, ClefModifier, CueClef, CueEndClef, Custos, DotColumn, FingeringColumn, InstrumentName, KeyCancellation, KeySignature, LedgerLineSpanner, NoteCollision, OttavaBracket, PianoPedalBracket, RestCollision, ScriptRow, SostenutoPedal, SostenutoPedalLineSpanner, StaffSpacing, StaffSymbol, SustainPedal, SustainPedalLineSpanner, UnaCordaPedal, UnaCordaPedalLineSpanner and VerticalAxisGroup.
This context sets the following properties:
- Set grob-property
glyph-name-alist
in Accidental to:'((-1/2 . "accidentals.vaticanaM1") (0 . "accidentals.vaticana0") (1/2 . "accidentals.mensural1"))
- Set grob-property
glyph-name-alist
in KeySignature to:'((-1/2 . "accidentals.vaticanaM1") (0 . "accidentals.vaticana0") (1/2 . "accidentals.mensural1"))
- Set grob-property
line-count
in StaffSymbol to4
. - Set grob-property
neutral-direction
in Custos to-1
. - Set grob-property
neutral-position
in Custos to3
. - Set grob-property
style
in Custos to'vaticana
. - Set grob-property
style
in Dots to'vaticana
. - Set grob-property
thickness
in StaffSymbol to0.6
. - Set grob-property
transparent
in BarLine to#t
. - Set translator property
clefGlyph
to"clefs.vaticana.do"
. - Set translator property
clefPosition
to1
. - Set translator property
clefTransposition
to0
. - Set translator property
createSpacing
to#t
. - Set translator property
ignoreFiguredBassRest
to#f
. - Set translator property
instrumentName
to'()
. - Set translator property
localAlterations
to'()
. - Set translator property
middleCClefPosition
to1
. - Set translator property
middleCPosition
to1
. - Set translator property
ottavationMarkups
to:'((4 . "29") (3 . "22") (2 . "15") (1 . "8") (-1 . "8") (-2 . "15") (-3 . "22") (-4 . "29"))
- Set translator property
shortInstrumentName
to'()
.
This is not a ‘Bottom’ context; search for such a one will commence after creating an implicit context of type VaticanaVoice.
Context VaticanaStaff can contain CueVoice, NullVoice and VaticanaVoice.
This context is built from the following engraver(s):
Accidental_engraver
Make accidentals. Catch note heads, ties and notices key-change events. This engraver usually lives at Staff level, but reads the settings for Accidental at
Voice
level, so you can\override
them atVoice
.Properties (read)
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:
context
The current context to which the rule should be applied.
pitch
The pitch of the note to be evaluated.
barnum
The current bar number.
measurepos
The current measure position.
The procedure returns a pair of booleans. The first states whether an extra natural should be added. The second states whether an accidental should be printed.
(#t . #f)
does not make sense.autoCautionaries
(list)List similar to
autoAccidentals
, but it controls cautionary accidentals rather than normal ones. Both lists are tried, and the one giving the most accidentals wins. In case of draw, a normal accidental is typeset.extraNatural
(boolean)Whether to typeset an extra natural sign before accidentals that reduce the effect of a previous alteration.
harmonicAccidentals
(boolean)If set, harmonic notes in chords get accidentals.
internalBarNumber
(integer)Contains the current barnumber. This property is used for internal timekeeping, among others by the
Accidental_engraver
.keyAlterations
(list)The current key signature. This is an alist containing
(step . alter)
or((octave . step) . alter)
, where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.keyAlterations = #`((6 . ,FLAT))
.localAlterations
(list)The key signature at this point in the measure. The format is the same as for
keyAlterations
, but can also contain((octave . name) . (alter barnumber . measureposition))
pairs.Properties (write)
localAlterations
(list)The key signature at this point in the measure. The format is the same as for
keyAlterations
, but can also contain((octave . name) . (alter barnumber . measureposition))
pairs.This engraver creates the following layout object(s):
Accidental, AccidentalCautionary, AccidentalPlacement and AccidentalSuggestion.
Axis_group_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 (clef, key signature, etc.) items.
hasAxisGroup
(boolean)True if the current context is contained in an axis group.
keepAliveInterfaces
(list)A list of symbols, signifying grob interfaces that are worth keeping a staff with
remove-empty
set around for.Properties (write)
hasAxisGroup
(boolean)True if the current context is contained in an axis group.
This engraver creates the following layout object(s):
Bar_engraver
Create barlines. This engraver is controlled through the
whichBar
property. If it has no bar line to create, it will forbid a linebreak at this point. This engraver is required to trigger the creation of clefs at the start of systems.Properties (read)
whichBar
(string)This property is read to determine what type of bar line to create.
Example:
\set Staff.whichBar = ".|:"This will create a start-repeat bar in this staff only. Valid values are described in ‘scm/bar-line.scm’.
Properties (write)
forbidBreak
(boolean)If set to
#t
, prevent a line break at this point.This engraver creates the following layout object(s):
Clef_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. Values of 7 and -7 are common.
clefTranspositionStyle
(symbol)Determines the way the ClefModifier grob is displayed. Possible values are ‘default’, ‘parenthesized’ and ‘bracketed’.
explicitClefVisibility
(vector)‘break-visibility’ function for clef changes.
forceClef
(boolean)Show clef symbol, even if it has not changed. Only active for the first clef after the property is set, not for the full staff.
This engraver creates the following layout object(s):
Clef and ClefModifier.
Collision_engraver
Collect
NoteColumns
, and as soon as there are two or more, put them in aNoteCollision
object.This engraver creates the following layout object(s):
Cue_clef_engraver
Determine and set reference point for pitches in cued voices.
Properties (read)
clefTransposition
(integer)Add this much extra transposition. Values of 7 and -7 are common.
cueClefGlyph
(string)Name of the symbol within the music font.
cueClefPosition
(number)Where should the center of the clef symbol go, measured in half staff spaces from the center of the staff.
cueClefTransposition
(integer)Add this much extra transposition. Values of 7 and -7 are common.
cueClefTranspositionStyle
(symbol)Determines the way the ClefModifier grob is displayed. Possible values are ‘default’, ‘parenthesized’ and ‘bracketed’.
explicitCueClefVisibility
(vector)‘break-visibility’ function for cue clef changes.
middleCCuePosition
(number)The position of the middle C, as determined only by the clef of the cue notes. This can be calculated by looking at
cueClefPosition
andcueClefGlyph
.This engraver creates the following layout object(s):
ClefModifier, CueClef and CueEndClef.
Custos_engraver
Engrave custodes.
This engraver creates the following layout object(s):
Dot_column_engraver
Engrave dots on dotted notes shifted to the right of the note. If omitted, then dots appear on top of the notes.
This engraver creates the following layout object(s):
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_position_engraver
Position figured bass alignments over notes.
This engraver creates the following layout object(s):
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):
Font_size_engraver
Put
fontSize
intofont-size
grob property.Properties (read)
fontSize
(number)The relative size of all grobs in a context.
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.).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 (clef, key signature, etc.) items.
instrumentName
(markup)The name to print left of a staff. The
instrumentName
property labels the staff in the first system, and theshortInstrumentName
property labels following lines.shortInstrumentName
(markup)See
instrumentName
.shortVocalName
(markup)Name of a vocal line, short version.
vocalName
(markup)Name of a vocal line.
This engraver creates the following layout object(s):
Key_engraver
Engrave a key signature.
Music types accepted:
Properties (read)
createKeyOnClefChange
(boolean)Print a key signature whenever the clef is changed.
explicitKeySignatureVisibility
(vector)‘break-visibility’ function for explicit key changes. ‘\override’ of the
break-visibility
property will set the visibility for normal (i.e., at the start of the line) key signatures.extraNatural
(boolean)Whether to typeset an extra natural sign before accidentals that reduce the effect of a previous alteration.
keyAlterationOrder
(list)An alist that defines in what order alterations should be printed. The format is
(step . alter)
, where step is a number from 0 to 6 and alter from -2 (sharp) to 2 (flat).keyAlterations
(list)The current key signature. This is an alist containing
(step . alter)
or((octave . step) . alter)
, where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.keyAlterations = #`((6 . ,FLAT))
.lastKeyAlterations
(list)Last key signature before a key signature change.
middleCClefPosition
(number)The position of the middle C, as determined only by the clef. This can be calculated by looking at
clefPosition
andclefGlyph
.printKeyCancellation
(boolean)Print restoration alterations before a key signature change.
Properties (write)
keyAlterations
(list)The current key signature. This is an alist containing
(step . alter)
or((octave . step) . alter)
, where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.keyAlterations = #`((6 . ,FLAT))
.lastKeyAlterations
(list)Last key signature before a key signature change.
tonic
(pitch)The tonic of the current scale.
This engraver creates the following layout object(s):
Ledger_line_engraver
Create the spanner to draw ledger lines, and notices objects that need ledger lines.
This engraver creates the following layout object(s):
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.
Ottava_spanner_engraver
Create a text spanner when the ottavation property changes.
Properties (read)
currentMusicalColumn
(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
middleCOffset
(number)The offset of middle C from the position given by
middleCClefPosition
This is used for ottava brackets.ottavation
(markup)If set, the text for an ottava spanner. Changing this creates a new text spanner.
This engraver creates the following layout object(s):
Output_property_engraver
Apply a procedure to any grob acknowledged.
Music types accepted:
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 (clef, key signature, etc.) items.
This engraver creates the following layout object(s):
SostenutoPedalLineSpanner, SustainPedalLineSpanner and UnaCordaPedalLineSpanner.
Piano_pedal_engraver
Engrave piano pedal symbols and brackets.
Music types accepted:
sostenuto-event, sustain-event and una-corda-event
Properties (read)
currentCommandColumn
(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
pedalSostenutoStrings
(list)See
pedalSustainStrings
.pedalSostenutoStyle
(symbol)See
pedalSustainStyle
.pedalSustainStrings
(list)A list of strings to print for sustain-pedal. Format is
(up updown down)
, where each of the three is the string to print when this is done with the pedal.pedalSustainStyle
(symbol)A symbol that indicates how to print sustain pedals:
text
,bracket
ormixed
(both).pedalUnaCordaStrings
(list)See
pedalSustainStrings
.pedalUnaCordaStyle
(symbol)See
pedalSustainStyle
.This engraver creates the following layout object(s):
PianoPedalBracket, SostenutoPedal, SustainPedal and UnaCordaPedal.
Pure_from_neighbor_engraver
Coordinates items that get their pure heights from their neighbors.
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):
Script_row_engraver
Determine order in horizontal side position elements.
This engraver creates the following layout object(s):
Separating_line_group_engraver
Generate objects for computing spacing parameters.
Properties (read)
createSpacing
(boolean)Create
StaffSpacing
objects? Should be set for staves.Properties (write)
hasStaffSpacing
(boolean)True if the current
CommandColumn
contains items that will affect spacing.This engraver creates the following layout object(s):
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_symbol_engraver
Create the constellation of five (default) staff lines.
Music types accepted:
This engraver creates the following layout object(s):
[ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < VaticanaStaff ] | [ Up : Contexts ] | [ Voice > ] |
2.1.32 VaticanaVoice
Same as Voice
context, except that it is
accommodated for typesetting Gregorian Chant in the notational style
of Editio Vaticana.
This context also accepts commands for the following context(s):
Voice.
This context creates the following layout object(s):
Arpeggio, Beam, BendAfter, BreathingSign, ClusterSpanner, ClusterSpannerBeacon, CombineTextScript, DotColumn, Dots, DoublePercentRepeat, DoublePercentRepeatCounter, DoubleRepeatSlash, DynamicLineSpanner, DynamicText, DynamicTextSpanner, Episema, Fingering, Glissando, Hairpin, InstrumentSwitch, LaissezVibrerTie, LaissezVibrerTieColumn, MultiMeasureRest, MultiMeasureRestNumber, MultiMeasureRestScript, MultiMeasureRestText, NoteColumn, NoteHead, NoteSpacing, PercentRepeat, PercentRepeatCounter, PhrasingSlur, RepeatSlash, RepeatTie, RepeatTieColumn, Rest, Script, ScriptColumn, StringNumber, StrokeFinger, TextScript, Tie, TieColumn, TrillPitchAccidental, TrillPitchGroup, TrillPitchHead, TrillSpanner, TupletBracket, TupletNumber, VaticanaLigature and VoiceFollower.
This context sets the following properties:
- Set grob-property
padding
in Script to0.5
. - Set grob-property
style
in NoteHead to'vaticana.punctum
. - Set translator property
autoBeaming
to#f
.
This is a ‘Bottom’ context; no contexts will be created implicitly from it.
This context cannot contain other contexts.
This context is built from the following engraver(s):
Arpeggio_engraver
Generate an Arpeggio symbol.
Music types accepted:
This engraver creates the following layout object(s):
Auto_beam_engraver
Generate beams based on measure characteristics and observed Stems. Uses
baseMoment
,beatStructure
,beamExceptions
,measureLength
, andmeasurePosition
to decide when to start and stop a beam. Overriding beaming is done through Stem_engraver propertiesstemLeftBeamCount
andstemRightBeamCount
.Music types accepted:
Properties (read)
autoBeaming
(boolean)If set to true then beams are generated automatically.
baseMoment
(moment)Smallest unit of time that will stand on its own as a subdivided section.
beamExceptions
(list)An alist of exceptions to autobeam rules that normally end on beats.
beamHalfMeasure
(boolean)Whether to allow a beam to begin halfway through the measure in triple time, which could look like 6/8.
beatStructure
(list)List of
baseMoment
s that are combined to make beats.subdivideBeams
(boolean)If set, multiple beams will be subdivided at
baseMoment
positions by only drawing one beam over the beat.This engraver creates the following layout object(s):
Beam.
Beam_engraver
Handle
Beam
events by engraving beams. If omitted, then notes are printed with flags instead of beams.Music types accepted:
Properties (read)
baseMoment
(moment)Smallest unit of time that will stand on its own as a subdivided section.
beamMelismaBusy
(boolean)Signal if a beam is present.
beatStructure
(list)List of
baseMoment
s that are combined to make beats.subdivideBeams
(boolean)If set, multiple beams will be subdivided at
baseMoment
positions by only drawing one beam over the beat.Properties (write)
forbidBreak
(boolean)If set to
#t
, prevent a line break at this point.This engraver creates the following layout object(s):
Beam.
Bend_engraver
Create fall spanners.
Music types accepted:
This engraver creates the following layout object(s):
Breathing_sign_engraver
Create a breathing sign.
Music types accepted:
This engraver creates the following layout object(s):
Chord_tremolo_engraver
Generate beams for tremolo repeats.
Music types accepted:
This engraver creates the following layout object(s):
Beam.
Cluster_spanner_engraver
Engrave a cluster using
Spanner
notation.Music types accepted:
This engraver creates the following layout object(s):
Dots_engraver
Create Dots objects for rhythmic-head-interfaces.
This engraver creates the following layout object(s):
Dots.
Double_percent_repeat_engraver
Make double measure repeats.
Music types accepted:
Properties (read)
countPercentRepeats
(boolean)If set, produce counters for percent repeats.
measureLength
(moment)Length of one measure in the current time signature.
repeatCountVisibility
(procedure)A procedure taking as arguments an integer and context, returning whether the corresponding percent repeat number should be printed when
countPercentRepeats
is set.Properties (write)
forbidBreak
(boolean)If set to
#t
, prevent a line break at this point.This engraver creates the following layout object(s):
Dynamic_align_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):
Dynamic_engraver
Create hairpins, dynamic texts and dynamic text spanners.
Music types accepted:
absolute-dynamic-event, break-span-event and span-dynamic-event
Properties (read)
crescendoSpanner
(symbol)The type of spanner to be used for crescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin crescendo is used.
crescendoText
(markup)The text to print at start of non-hairpin crescendo, i.e., ‘cresc.’.
currentMusicalColumn
(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
decrescendoSpanner
(symbol)The type of spanner to be used for decrescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin decrescendo is used.
decrescendoText
(markup)The text to print at start of non-hairpin decrescendo, i.e., ‘dim.’.
This engraver creates the following layout object(s):
Episema_engraver
Create an Editio Vaticana-style episema line.
Music types accepted:
This engraver creates the following layout object(s):
Fingering_engraver
Create fingering scripts.
Music types accepted:
This engraver creates the following layout object(s):
Font_size_engraver
Put
fontSize
intofont-size
grob property.Properties (read)
fontSize
(number)The relative size of all grobs in a context.
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.Glissando_engraver
Engrave glissandi.
Music types accepted:
Properties (read)
glissandoMap
(list)A map in the form of ’((source1 . target1) (source2 . target2) (sourcen . targetn)) showing the glissandi to be drawn for note columns. The value ’() will default to ’((0 . 0) (1 . 1) (n . n)), where n is the minimal number of note-heads in the two note columns between which the glissandi occur.
This engraver creates the following layout object(s):
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:
Properties (read)
autoBeaming
(boolean)If set to true then beams are generated automatically.
This engraver creates the following layout object(s):
Beam.
Grace_beam_engraver
Handle
Beam
events by engraving beams. If omitted, then notes are printed with flags instead of beams. Only engraves beams when we are at grace points in time.Music types accepted:
Properties (read)
baseMoment
(moment)Smallest unit of time that will stand on its own as a subdivided section.
beamMelismaBusy
(boolean)Signal if a beam is present.
beatStructure
(list)List of
baseMoment
s that are combined to make beats.subdivideBeams
(boolean)If set, multiple beams will be subdivided at
baseMoment
positions by only drawing one beam over the beat.This engraver creates the following layout object(s):
Beam.
Grace_engraver
Set font size and other properties for grace notes.
Properties (read)
graceSettings
(list)Overrides for grace notes. This property should be manipulated through the
add-grace-property
function.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.).Instrument_switch_engraver
Create a cue text for taking instrument.
Properties (read)
instrumentCueName
(markup)The name to print if another instrument is to be taken.
This engraver creates the following layout object(s):
Laissez_vibrer_engraver
Create laissez vibrer items.
Music types accepted:
This engraver creates the following layout object(s):
Multi_measure_rest_engraver
Engrave multi-measure rests that are produced with ‘R’. It reads
measurePosition
andinternalBarNumber
to determine what number to print over the MultiMeasureRest.Music types accepted:
multi-measure-articulation-event, multi-measure-rest-event and multi-measure-text-event
Properties (read)
currentCommandColumn
(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
internalBarNumber
(integer)Contains the current barnumber. This property is used for internal timekeeping, among others by the
Accidental_engraver
.measurePosition
(moment)How much of the current measure have we had. This can be set manually to create incomplete measures.
restNumberThreshold
(number)If a multimeasure rest has more measures than this, a number is printed.
whichBar
(string)This property is read to determine what type of bar line to create.
Example:
\set Staff.whichBar = ".|:"This will create a start-repeat bar in this staff only. Valid values are described in ‘scm/bar-line.scm’.
This engraver creates the following layout object(s):
MultiMeasureRest, MultiMeasureRestNumber, MultiMeasureRestScript and MultiMeasureRestText.
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.
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):
Note_heads_engraver
Generate note heads.
Music types accepted:
Properties (read)
middleCPosition
(number)The place of the middle C, measured in half staff-spaces. Usually determined by looking at
middleCClefPosition
andmiddleCOffset
.staffLineLayoutFunction
(procedure)Layout of staff lines,
traditional
, orsemitone
.This engraver creates the following layout object(s):
Note_spacing_engraver
Generate
NoteSpacing
, an object linking horizontal lines for use in spacing.This engraver creates the following layout object(s):
Output_property_engraver
Apply a procedure to any grob acknowledged.
Music types accepted:
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):
Percent_repeat_engraver
Make whole measure repeats.
Music types accepted:
Properties (read)
countPercentRepeats
(boolean)If set, produce counters for percent repeats.
currentCommandColumn
(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
repeatCountVisibility
(procedure)A procedure taking as arguments an integer and context, returning whether the corresponding percent repeat number should be printed when
countPercentRepeats
is set.This engraver creates the following layout object(s):
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):
Pitched_trill_engraver
Print the bracketed note head after a note head with trill.
This engraver creates the following layout object(s):
Repeat_tie_engraver
Create repeat ties.
Music types accepted:
This engraver creates the following layout object(s):
RepeatTie and RepeatTieColumn.
Rest_engraver