2.1.19 KievanStaff (LilyPond Internals Reference)

#### 2.1.19 `KievanStaff`

Same as `Staff` context, except that it is accommodated for typesetting a piece in Kievan style.

This context also accepts commands for the following context(s): `Staff`.

This context creates the following layout object(s): `Accidental`, `AccidentalCautionary`, `AccidentalPlacement`, `AccidentalSuggestion`, `BarLine`, `BassFigure`, `BassFigureAlignment`, `BassFigureAlignmentPositioning`, `BassFigureBracket`, `BassFigureContinuation`, `BassFigureLine`, `BreathingSign`, `CaesuraScript`, `Clef`, `ClefModifier`, `CueClef`, `CueEndClef`, `DotColumn`, `FingeringColumn`, `InstrumentName`, `KeyCancellation`, `KeySignature`, `LedgerLineSpanner`, `NoteCollision`, `OptionalMaterialBracket`, `OttavaBracket`, `PianoPedalBracket`, `RestCollision`, `ScriptColumn`, `ScriptRow`, `SostenutoPedal`, `SostenutoPedalLineSpanner`, `StaffEllipsis`, `StaffHighlight`, `StaffSpacing`, `StaffSymbol`, `SustainPedal`, `SustainPedalLineSpanner`, `UnaCordaPedal`, `UnaCordaPedalLineSpanner` and `VerticalAxisGroup`.

This context sets the following properties:

- Set context property `alterationGlyphs` to:

      '((-1/2 . "accidentals.kievanM1")
        (1/2 . "accidentals.kievan1"))

- Set context property `autoAccidentals` to:

      '(Staff #<procedure at lily/music-functions.scm:1756:0 (context pitch barnum)>)

- Set context property `autoCautionaries` to `'()`.
- Set context property `caesuraType` to:

      '((bar-line . "."))

- Set context property `clefGlyph` to `"clefs.kievan.do"`.
- Set context property `clefPosition` to `0`.
- Set context property `clefTransposition` to `0`.
- Set context property `createSpacing` to `#t`.
- Set context property `doubleRepeatBarType` to `"k"`.
- Set context property `endRepeatBarType` to `"k"`.
- Set context property `extraNatural` to `#f`.
- Set context property `fineBarType` to `"k"`.
- Set context property `forbidBreakBetweenBarLines` to `#f`.
- Set context property `ignoreFiguredBassRest` to `#f`.
- Set context property `instrumentName` to `'()`.
- Set context property `localAlterations` to `'()`.
- Set context property `measureBarType` to `'()`.
- Set context property `middleCClefPosition` to `0`.
- Set context property `middleCPosition` to `0`.
- Set context property `ottavationMarkups` to:

      '((4 . "29")
        (3 . "22")
        (2 . "15")
        (1 . "8")
        (-1 . "8")
        (-2 . "15")
        (-3 . "22")
        (-4 . "29"))

- Set context property `printKeyCancellation` to `#f`.
- Set context property `sectionBarType` to `"k"`.
- Set context property `shortInstrumentName` to `'()`.
- Set context property `startRepeatBarType` to `"k"`.
- Set context property `submeasureBarType` to `'()`.
- Set context property `underlyingRepeatBarType` to `"k"`.
- Set grob property `positions` in `OptionalMaterialBracket` to :

      '(-1.75 . 1.75)

- Set grob property `protrusion` in `OptionalMaterialBracket` to `0.5`.
- Set grob property `thick-thickness` in `BarLine` to `3`.

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 at `Voice`.

>   Properties (read)

>   > `accidentalGrouping` (symbol)

>   >   If set to `'voice`, accidentals on the same note in different octaves may be horizontally staggered if in different voices.

>   > `autoAccidentals` (list)

>   >   List of different ways to typeset an accidental.

>   >   For determining when to print an accidental, several different rules are tried. The rule that gives the highest number of accidentals is used.

>   >   Each entry in the list is either a symbol or a procedure.

>   >   symbol

>   >     The symbol is the name of the context in which the following rules are to be applied. For example, if context is Score then all staves share accidentals, and if context is Staff then all voices in the same staff share accidentals, but staves do not.

>   >   procedure

>   >     The procedure represents an accidental rule to be applied to the previously specified context.

>   >     The procedure takes the following arguments:

>   >     `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.

>   >     The procedure returns a pair of Booleans. The first states whether an extra natural should be added. The second states whether an accidental should be printed. `(#t . #f)` does not make sense.

>   > `autoCautionaries` (list)

>   >   List similar to `autoAccidentals`, but it controls cautionary accidentals rather than normal ones. Both lists are tried, and the one giving the most accidentals wins. In case of draw, a normal accidental is typeset.

>   > `extraNatural` (boolean)

>   >   Whether to typeset an extra natural sign before accidentals that reduce the effect of a previous alteration.

>   > `harmonicAccidentals` (boolean)

>   >   If set, harmonic notes in chords get accidentals.

>   > `internalBarNumber` (integer)

>   >   Contains the current bar number. This property is used for internal timekeeping, among others by the `Accidental_engraver`.

>   > `keyAlterations` (list)

>   >   The current key signature. This is an alist containing `(step . alter)` or `((octave . step) . alter)`, where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g., `keyAlterations = #`((6 . ,FLAT))`.

>   > `localAlterations` (list)

>   >   The key signature at this point in the measure. The format is the same as for `keyAlterations`, but can also contain `((octave . name) . (alter barnumber . measureposition))` pairs.

>   Properties (write)

>   > `localAlterations` (list)

>   >   The key signature at this point in the measure. The format is the same as for `keyAlterations`, but can also contain `((octave . name) . (alter barnumber . measureposition))` pairs.

>   This engraver creates the following layout object(s): `Accidental`, `AccidentalCautionary`, `AccidentalPlacement` and `AccidentalSuggestion`.

> `Alteration_glyph_engraver`

>   Set the `glyph-name-alist` of all grobs having the `accidental-switch-interface` to the value of the context’s `alterationGlyphs` property, when defined.

>   Properties (read)

>   > `alterationGlyphs` (list)

>   >   Alist mapping alterations to accidental glyphs. Alterations are given as exact numbers, e.g., -1/2 for flat. This applies to all grobs that can print accidentals.

> `Apply_output_engraver`

>   Apply a procedure to any grob acknowledged.

>   Music types accepted: `apply-output-event`

> `Axis_group_engraver`

>   Group all objects created in this context in a `VerticalAxisGroup` spanner.

>   Properties (read)

>   > `currentCommandColumn` (graphical (layout) object)

>   >   Grob that is X-parent to all current breakable items (clef, key signature, etc.).

>   > `hasAxisGroup` (boolean)

>   >   True if the current context is contained in an axis group.

>   > `keepAliveInterfaces` (list)

>   >   A list of symbols, signifying grob interfaces that are worth keeping a staff with `remove-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): `VerticalAxisGroup`.

> `Bar_engraver`

>   Create bar lines for various commands, including `\\bar`.

>   If `forbidBreakBetweenBarLines` is true, allow line breaks at bar lines only.

>   Music types accepted: `ad-hoc-jump-event`, `caesura-event`, `coda-mark-event`, `dal-segno-event`, `fine-event`, `section-event` and `segno-mark-event`

>   Properties (read)

>   > `caesuraType` (list)

>   >   An alist

>   >       ((bar-line . bar-type)
>   >        (breath . breath-type)
>   >        (scripts . script-type…)
>   >        (underlying-bar-line . bar-type))

>   >   specifying which breath mark, bar line, and scripts to create at `\caesura`. All entries are optional.

>   >   `bar-line` has higher priority than a measure bar line and `underlying-bar-line` has lower priority than a measure bar line.

>   > `caesuraTypeTransform` (procedure)

>   >   An engraver callback taking three arguments and returning an alist of the same kind as `caesuraType`.

>   >   The first argument is the context.

>   >   The second argument is the value of `caesuraType` with an additional entry `(articulations . symbol-list)` identifying the articulations attached to the caesura in the music. If the transform function returns this second argument unmodified, it is as if no transform function were set; the function is free to return a different value. The transform function can remove articulations, but any added articulations are ignored.

>   >   The third argument is a symbol-list identifying certain things the engraver has observed. `bar-line` indicates that the engraver has observed a `BarLine` at the current moment.

>   > `doubleRepeatBarType` (string)

>   >   Bar line to insert where the end of one `\repeat volta` coincides with the start of another. The default is ‘`:..:`’.

>   > `doubleRepeatSegnoBarType` (string)

>   >   Bar line to insert where an in-staff segno coincides with the end of one `\repeat volta` and the beginning of another. The default is ‘`:|.S.|:`’.

>   > `endRepeatBarType` (string)

>   >   Bar line to insert at the end of a `\repeat volta`. The default is ‘`:|.`’.

>   > `endRepeatSegnoBarType` (string)

>   >   Bar line to insert where an in-staff segno coincides with the end of a `\repeat volta`. The default is ‘`:|.S`’.

>   > `fineBarType` (string)

>   >   Bar line to insert at `\fine`. Where there is also a repeat bar line, the repeat bar line takes precedence and this value is appended to it as an annotation. The default is ‘`|.`’.

>   > `fineSegnoBarType` (string)

>   >   Bar line to insert where an in-staff segno coincides with `\fine`. The default is ‘`|.S`’.

>   > `fineStartRepeatSegnoBarType` (string)

>   >   Bar line to insert where an in-staff segno coincides with `\fine` and the start of a `\repeat volta`. The default is ‘`|.S.|:`’.

>   > `forbidBreakBetweenBarLines` (boolean)

>   >   If set to `#t`, `Bar_engraver` forbids line breaks where there is no bar line.

>   > `measureBarType` (string)

>   >   Bar line to insert at a measure boundary.

>   > `printInitialRepeatBar` (boolean)

>   >   Use a special bar line at the start of a volta repeat even at the beginning of the piece.

>   > `printTrivialVoltaRepeats` (boolean)

>   >   Notate volta-style repeats even when the repeat count is 1.

>   > `repeatCommands` (list)

>   >   A list of commands related to volta-style repeats. In general, each element is a list, `'(command args…)`, but a command with no arguments may be abbreviated to a symbol; e.g., `'((start-repeat))` may be given as `'(start-repeat)`.

>   >   `end-repeat return-count`

>   >     End a repeated section. return-count is the number of times to go back from this point to the beginning of the section.

>   >   `start-repeat repeat-count`

>   >     Start a repeated section. repeat-count is the number of times to perform this section.

>   >   `volta text`

>   >     If text is markup, start a volta bracket with that label; if text is `#f`, end a volta bracket.

>   > `sectionBarType` (string)

>   >   Bar line to insert at `\section`. Where there is also a repeat bar line, the repeat bar line takes precedence and this value is appended to it as an annotation. The default is ‘`||`’.

>   > `segnoBarType` (string)

>   >   Bar line to insert at an in-staff segno. The default is ‘`S`’.

>   > `segnoStyle` (symbol)

>   >   A symbol that indicates how to print a segno: `bar-line` or `mark`.

>   > `startRepeatBarType` (string)

>   >   Bar line to insert at the start of a `\repeat volta`. The default is ‘`.|:`’.

>   > `startRepeatSegnoBarType` (string)

>   >   Bar line to insert where an in-staff segno coincides with the start of a `\repeat volta`. The default is ‘`S.|:`’.

>   > `submeasureBarsEnabled` (boolean)

>   >   Whether to insert submeasure bar lines at boundaries specified by `submeasureStructure`. They are typically enabled selectively to clarify complex rhythms.

>   > `submeasureBarType` (string)

>   >   Bar line to insert at submeasure boundaries specified by `submeasureStructure`, when `submeasureBarsEnabled` allows.

>   > `submeasureStructure` (number list)

>   >   A sequence describing subdivisions of a measure. Each element tells the distance from the previous division in units of `beatBase`.

>   > `underlyingRepeatBarType` (string)

>   >   Bar line to insert at points of repetition or departure where no bar line would normally appear, for example at the end of a system broken in mid measure where the next system begins with a segno. Where there is also a repeat bar line, the repeat bar line takes precedence and this value is appended to it as an annotation. The default is ‘`||`’.

>   > `whichBar` (string)

>   >   The current bar line type, or `'()` if there is no bar line. Setting this explicitly in user code is deprecated. Use `\bar` or related commands to set it.

>   Properties (write)

>   > `currentBarLine` (graphical (layout) object)

>   >   Set to the `BarLine` that `Bar_engraver` has created in the current time step.

>   > `forbidBreak` (boolean)

>   >   If set to `#t`, prevent a line break at this point, except if explicitly requested by the user.

>   This engraver creates the following layout object(s): `BarLine`.

> `Caesura_engraver`

>   Notate a short break in sound that does not shorten the previous note.

>   Depending on the result of passing the value of `caesuraType` through `caesuraTypeTransform`, this engraver may create a `BreathingSign` with `CaesuraScript` grobs aligned to it, or it may create `CaesuraScript` grobs and align them to a `BarLine`.

>   If this engraver observes a `BarLine`, it calls `caesuraTypeTransform` again with the new information, and if necessary, recreates its grobs.

>   Music types accepted: `caesura-event`

>   Properties (read)

>   > `breathMarkDefinitions` (list)

>   >   The description of breath marks. This is used by the `Breathing_sign_engraver`. See `scm/breath.scm` for more information.

>   > `caesuraType` (list)

>   >   An alist

>   >       ((bar-line . bar-type)
>   >        (breath . breath-type)
>   >        (scripts . script-type…)
>   >        (underlying-bar-line . bar-type))

>   >   specifying which breath mark, bar line, and scripts to create at `\caesura`. All entries are optional.

>   >   `bar-line` has higher priority than a measure bar line and `underlying-bar-line` has lower priority than a measure bar line.

>   > `caesuraTypeTransform` (procedure)

>   >   An engraver callback taking three arguments and returning an alist of the same kind as `caesuraType`.

>   >   The first argument is the context.

>   >   The second argument is the value of `caesuraType` with an additional entry `(articulations . symbol-list)` identifying the articulations attached to the caesura in the music. If the transform function returns this second argument unmodified, it is as if no transform function were set; the function is free to return a different value. The transform function can remove articulations, but any added articulations are ignored.

>   >   The third argument is a symbol-list identifying certain things the engraver has observed. `bar-line` indicates that the engraver has observed a `BarLine` at the current moment.

>   > `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): `BreathingSign` and `CaesuraScript`.

> `Clef_engraver`

>   Determine and set reference point for pitches.

>   Properties (read)

>   > `clefGlyph` (string)

>   >   Name of the symbol within the music font.

>   > `clefPosition` (number)

>   >   Where should the center of the clef symbol go, measured in half staff spaces from the center of the staff.

>   > `clefTransposition` (integer)

>   >   Add this much extra transposition to a clef. Values of 7 and -7 are common.

>   > `clefTranspositionStyle` (symbol)

>   >   Determines the way the `ClefModifier` grob of a clef is displayed. Possible values are `'default`, `'parenthesized`, and `'bracketed`.

>   > `explicitClefVisibility` (vector)

>   >   ‘`break-visibility`’ function for clef changes.

>   > `forbidBreak` (boolean)

>   >   If set to `#t`, prevent a line break at this point, except if explicitly requested by the user.

>   > `forceBreak` (boolean)

>   >   Set to `#t` when an event forcing a line break was heard.

>   > `forceClef` (boolean)

>   >   Show clef symbol, even if it has not changed. Only active for the first clef after the property is set, not for the full staff.

>   This engraver creates the following layout object(s): `Clef` and `ClefModifier`.

> `Collision_engraver`

>   Collect `NoteColumns`, and as soon as there are two or more, put them in a `NoteCollision` object.

>   This engraver creates the following layout object(s): `NoteCollision`.

> `Cue_clef_engraver`

>   Determine and set reference point for pitches in cued voices.

>   Properties (read)

>   > `clefTransposition` (integer)

>   >   Add this much extra transposition to a clef. Values of 7 and -7 are common.

>   > `cueClefGlyph` (string)

>   >   Name of the symbol within the music font.

>   > `cueClefPosition` (number)

>   >   Where should the center of the clef symbol go, measured in half staff spaces from the center of the staff.

>   > `cueClefTransposition` (integer)

>   >   Add this much extra transposition to a cue clef. Values of 7 and -7 are common.

>   > `cueClefTranspositionStyle` (symbol)

>   >   Determines the way the `ClefModifier` grob of a cue clef is displayed. Possible values are `'default`, `'parenthesized`, and `'bracketed`.

>   > `explicitCueClefVisibility` (vector)

>   >   ‘`break-visibility`’ function for cue clef changes.

>   > `forbidBreak` (boolean)

>   >   If set to `#t`, prevent a line break at this point, except if explicitly requested by the user.

>   > `forceBreak` (boolean)

>   >   Set to `#t` when an event forcing a line break was heard.

>   > `middleCCuePosition` (number)

>   >   The position of the middle C, as determined only by the clef of the cue notes. This can be calculated by looking at `cueClefPosition` and `cueClefGlyph`.

>   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): `DotColumn`.

> `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): `BassFigureAlignmentPositioning`.

> `Fingering_column_engraver`

>   Find potentially colliding scripts and put them into a `FingeringColumn` object; that will fix the collisions.

>   This engraver creates the following layout object(s): `FingeringColumn`.

> `Font_size_engraver`

>   Put `fontSize` into `font-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.).

> `Horizontal_script_engraver`

>   Aligns `Script` horizontally

> `Instrument_name_engraver`

>   Create a system start text for instrument or vocal names.

>   Properties (read)

>   > `currentCommandColumn` (graphical (layout) object)

>   >   Grob that is X-parent to all current breakable items (clef, key signature, etc.).

>   > `instrumentName` (markup)

>   >   The name to print left of a staff. The `instrumentName` property labels the staff in the first system, and the `shortInstrumentName` 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): `InstrumentName`.

> `Key_engraver`

>   Engrave a key signature.

>   Music types accepted: `key-change-event`

>   Properties (read)

>   > `createKeyOnClefChange` (boolean)

>   >   Print a key signature whenever the clef is changed.

>   > `explicitKeySignatureVisibility` (vector)

>   >   ‘`break-visibility`’ function for explicit key changes. ‘`\override`’ of the `break-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.

>   > `forbidBreak` (boolean)

>   >   If set to `#t`, prevent a line break at this point, except if explicitly requested by the user.

>   > `forceBreak` (boolean)

>   >   Set to `#t` when an event forcing a line break was heard.

>   > `keyAlterationOrder` (list)

>   >   A list of pairs that defines in what order alterations should be printed. The format of an entry is `(step . alter)`, where step is a number from 0 to 6 and alter from -1 (double flat) to 1 (double sharp), with exact rationals for alterations in between, e.g., 1/2 for sharp.

>   > `keyAlterations` (list)

>   >   The current key signature. This is an alist containing `(step . alter)` or `((octave . step) . alter)`, where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g., `keyAlterations = #`((6 . ,FLAT))`.

>   > `lastKeyAlterations` (list)

>   >   Last key signature before a key signature change.

>   > `middleCClefPosition` (number)

>   >   The position of the middle C, as determined only by the clef. This can be calculated by looking at `clefPosition` and `clefGlyph`.

>   > `printKeyCancellation` (boolean)

>   >   Print restoration alterations before a key signature change.

>   Properties (write)

>   > `keyAlterations` (list)

>   >   The current key signature. This is an alist containing `(step . alter)` or `((octave . step) . alter)`, where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g., `keyAlterations = #`((6 . ,FLAT))`.

>   > `lastKeyAlterations` (list)

>   >   Last key signature before a key signature change.

>   > `tonic` (pitch)

>   >   The tonic of the current scale.

>   This engraver creates the following layout object(s): `KeyCancellation` and `KeySignature`.

> `Ledger_line_engraver`

>   Create the spanner to draw ledger lines, and notices objects that need ledger lines.

>   This engraver creates the following layout object(s): `LedgerLineSpanner`.

> `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.

> `Non_musical_script_column_engraver`

>   Find potentially colliding non-musical scripts and put them into a `ScriptColumn` object; that will fix the collisions.

>   This engraver creates the following layout object(s): `ScriptColumn`.

> `Optional_material_bracket_engraver`

>   Notate in-staff brackets for optional material.

>   Music types accepted: `optional-material-event`

>   This engraver creates the following layout object(s): `OptionalMaterialBracket`.

> `Ottava_spanner_engraver`

>   Create a text spanner when the ottavation property changes.

>   Music types accepted: `ottava-event`

>   Properties (read)

>   > `currentMusicalColumn` (graphical (layout) object)

>   >   Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).

>   > `middleCOffset` (number)

>   >   The offset of middle C from the position given by `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): `OttavaBracket`.

> `Piano_pedal_align_engraver`

>   Align piano pedal symbols and brackets.

>   Properties (read)

>   > `currentCommandColumn` (graphical (layout) object)

>   >   Grob that is X-parent to all current breakable items (clef, key signature, etc.).

>   This engraver creates the following layout object(s): `SostenutoPedalLineSpanner`, `SustainPedalLineSpanner` and `UnaCordaPedalLineSpanner`.

> `Piano_pedal_engraver`

>   Engrave piano pedal symbols and brackets.

>   Music types accepted: `sostenuto-event`, `sustain-event` and `una-corda-event`

>   Properties (read)

>   > `currentCommandColumn` (graphical (layout) object)

>   >   Grob that is X-parent to all current breakable items (clef, key signature, etc.).

>   > `pedalSostenutoStrings` (list)

>   >   See `pedalSustainStrings`.

>   > `pedalSostenutoStyle` (symbol)

>   >   See `pedalSustainStyle`.

>   > `pedalSustainStrings` (list)

>   >   A list of strings to print for sustain-pedal. Format is `(up updown down)`, where each of the three is the string to print when this is done with the pedal.

>   > `pedalSustainStyle` (symbol)

>   >   A symbol that indicates how to print sustain pedals: `text`, `bracket` or `mixed` (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): `RestCollision`.

> `Script_row_engraver`

>   Determine order in horizontal side position elements.

>   This engraver creates the following layout object(s): `ScriptRow`.

> `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 `currentCommandColumn` contains items that will affect spacing.

>   This engraver creates the following layout object(s): `StaffSpacing`.

> `Skip_typesetting_engraver`

>   Create a `StaffEllipsis` when `skipTypesetting` is used.

>   Properties (read)

>   > `skipTypesetting` (boolean)

>   >   If true, no typesetting is done, speeding up the interpretation phase. Useful for debugging large scores.

>   This engraver creates the following layout object(s): `StaffEllipsis`.

> `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_highlight_engraver`

>   Highlights music passages.

>   Music types accepted: `staff-highlight-event`

>   Properties (read)

>   > `currentCommandColumn` (graphical (layout) object)

>   >   Grob that is X-parent to all current breakable items (clef, key signature, etc.).

>   This engraver creates the following layout object(s): `StaffHighlight`.

> `Staff_symbol_engraver`

>   Create the constellation of five (default) staff lines.

>   Music types accepted: `staff-span-event`

>   This engraver creates the following layout object(s): `StaffSymbol`.

#### LilyPond Internals Reference v2.26.0 (stable-branch).

- 1 Music definitions
  - 1.1 Music expressions
    - 1.1.1 `AbsoluteDynamicEvent`
    - 1.1.2 `AdHocJumpEvent`
    - 1.1.3 `AdHocMarkEvent`
    - 1.1.4 `AlternativeEvent`
    - 1.1.5 `AnnotateOutputEvent`
    - 1.1.6 `ApplyContext`
    - 1.1.7 `ApplyOutputEvent`
    - 1.1.8 `ArpeggioEvent`
    - 1.1.9 `ArticulationEvent`
    - 1.1.10 `BarCheckEvent`
    - 1.1.11 `BarEvent`
    - 1.1.12 `BassFigureEvent`
    - 1.1.13 `BeamEvent`
    - 1.1.14 `BeamForbidEvent`
    - 1.1.15 `BendAfterEvent`
    - 1.1.16 `BendSpanEvent`
    - 1.1.17 `BreakDynamicSpanEvent`
    - 1.1.18 `BreathingEvent`
    - 1.1.19 `CaesuraEvent`
    - 1.1.20 `ChordSlurEvent`
    - 1.1.21 `ClusterNoteEvent`
    - 1.1.22 `CodaMarkEvent`
    - 1.1.23 `CompletizeExtenderEvent`
    - 1.1.24 `ContextChange`
    - 1.1.25 `ContextSpeccedMusic`
    - 1.1.26 `CrescendoEvent`
    - 1.1.27 `DalSegnoEvent`
    - 1.1.28 `DecrescendoEvent`
    - 1.1.29 `DoublePercentEvent`
    - 1.1.30 `DurationLineEvent`
    - 1.1.31 `EpisemaEvent`
    - 1.1.32 `Event`
    - 1.1.33 `EventChord`
    - 1.1.34 `ExtenderEvent`
    - 1.1.35 `FineEvent`
    - 1.1.36 `FingerGlideEvent`
    - 1.1.37 `FingeringEvent`
    - 1.1.38 `FootnoteEvent`
    - 1.1.39 `GlissandoEvent`
    - 1.1.40 `GraceMusic`
    - 1.1.41 `HarmonicEvent`
    - 1.1.42 `HyphenEvent`
    - 1.1.43 `InitialContextMusic`
    - 1.1.44 `KeyChangeEvent`
    - 1.1.45 `LabelEvent`
    - 1.1.46 `LaissezVibrerEvent`
    - 1.1.47 `LigatureEvent`
    - 1.1.48 `LineBreakEvent`
    - 1.1.49 `LyricCombineMusic`
    - 1.1.50 `LyricEvent`
    - 1.1.51 `MeasureCounterEvent`
    - 1.1.52 `MeasureSpannerEvent`
    - 1.1.53 `MultiMeasureArticulationEvent`
    - 1.1.54 `MultiMeasureRestEvent`
    - 1.1.55 `MultiMeasureRestMusic`
    - 1.1.56 `MultiMeasureTextEvent`
    - 1.1.57 `Music`
    - 1.1.58 `NonArpeggiatoEvent`
    - 1.1.59 `NoteEvent`
    - 1.1.60 `NoteGroupingEvent`
    - 1.1.61 `OptionalMaterialEvent`
    - 1.1.62 `OttavaEvent`
    - 1.1.63 `OverrideProperty`
    - 1.1.64 `PageBreakEvent`
    - 1.1.65 `PageTurnEvent`
    - 1.1.66 `PartCombineEvent`
    - 1.1.67 `PartCombineMusic`
    - 1.1.68 `PartialEvent`
    - 1.1.69 `PartialSet`
    - 1.1.70 `PercentEvent`
    - 1.1.71 `PercentRepeatedMusic`
    - 1.1.72 `PesOrFlexaEvent`
    - 1.1.73 `PhrasingSlurEvent`
    - 1.1.74 `PolymetricTimeSignatureEvent`
    - 1.1.75 `PolymetricTimeSignatureMusic`
    - 1.1.76 `PostEvents`
    - 1.1.77 `PropertySet`
    - 1.1.78 `PropertyUnset`
    - 1.1.79 `QuoteMusic`
    - 1.1.80 `ReferenceTimeSignatureEvent`
    - 1.1.81 `ReferenceTimeSignatureMusic`
    - 1.1.82 `RehearsalMarkEvent`
    - 1.1.83 `RelativeOctaveCheck`
    - 1.1.84 `RelativeOctaveMusic`
    - 1.1.85 `RepeatSlashEvent`
    - 1.1.86 `RepeatTieEvent`
    - 1.1.87 `RestEvent`
    - 1.1.88 `RevertProperty`
    - 1.1.89 `ScriptEvent`
    - 1.1.90 `SectionEvent`
    - 1.1.91 `SectionLabelEvent`
    - 1.1.92 `SegnoMarkEvent`
    - 1.1.93 `SegnoRepeatedMusic`
    - 1.1.94 `SequentialAlternativeMusic`
    - 1.1.95 `SequentialMusic`
    - 1.1.96 `SimultaneousMusic`
    - 1.1.97 `SkipEvent`
    - 1.1.98 `SkipMusic`
    - 1.1.99 `SkippedMusic`
    - 1.1.100 `SlurEvent`
    - 1.1.101 `SostenutoEvent`
    - 1.1.102 `SpacingSectionEvent`
    - 1.1.103 `SpanEvent`
    - 1.1.104 `StaffHighlightEvent`
    - 1.1.105 `StaffSpanEvent`
    - 1.1.106 `StringNumberEvent`
    - 1.1.107 `StrokeFingerEvent`
    - 1.1.108 `SustainEvent`
    - 1.1.109 `TempoChangeEvent`
    - 1.1.110 `TextMarkEvent`
    - 1.1.111 `TextScriptEvent`
    - 1.1.112 `TextSpanEvent`
    - 1.1.113 `TieEvent`
    - 1.1.114 `TimeScaledMusic`
    - 1.1.115 `TransposedMusic`
    - 1.1.116 `TremoloEvent`
    - 1.1.117 `TremoloRepeatedMusic`
    - 1.1.118 `TremoloSpanEvent`
    - 1.1.119 `TrillSpanEvent`
    - 1.1.120 `TupletSpanEvent`
    - 1.1.121 `UnaCordaEvent`
    - 1.1.122 `UnfoldedRepeatedMusic`
    - 1.1.123 `UnfoldedSpeccedMusic`
    - 1.1.124 `UnrelativableMusic`
    - 1.1.125 `VoiceSeparator`
    - 1.1.126 `VoltaRepeatEndEvent`
    - 1.1.127 `VoltaRepeatStartEvent`
    - 1.1.128 `VoltaRepeatedMusic`
    - 1.1.129 `VoltaSpanEvent`
    - 1.1.130 `VoltaSpeccedMusic`
    - 1.1.131 `VowelTransitionEvent`
  - 1.2 Music classes
    - 1.2.1 `absolute-dynamic-event`
    - 1.2.2 `ad-hoc-jump-event`
    - 1.2.3 `ad-hoc-mark-event`
    - 1.2.4 `alternative-event`
    - 1.2.5 `annotate-output-event`
    - 1.2.6 `apply-output-event`
    - 1.2.7 `arpeggio-event`
    - 1.2.8 `articulation-event`
    - 1.2.9 `bar-check-event`
    - 1.2.10 `bar-event`
    - 1.2.11 `bass-figure-event`
    - 1.2.12 `beam-event`
    - 1.2.13 `beam-forbid-event`
    - 1.2.14 `bend-after-event`
    - 1.2.15 `bend-span-event`
    - 1.2.16 `break-dynamic-span-event`
    - 1.2.17 `break-event`
    - 1.2.18 `break-span-event`
    - 1.2.19 `breathing-event`
    - 1.2.20 `caesura-event`
    - 1.2.21 `chord-slur-event`
    - 1.2.22 `cluster-note-event`
    - 1.2.23 `coda-mark-event`
    - 1.2.24 `completize-extender-event`
    - 1.2.25 `crescendo-event`
    - 1.2.26 `dal-segno-event`
    - 1.2.27 `decrescendo-event`
    - 1.2.28 `double-percent-event`
    - 1.2.29 `duration-line-event`
    - 1.2.30 `dynamic-event`
    - 1.2.31 `episema-event`
    - 1.2.32 `extender-event`
    - 1.2.33 `fine-event`
    - 1.2.34 `finger-glide-event`
    - 1.2.35 `fingering-event`
    - 1.2.36 `footnote-event`
    - 1.2.37 `general-rest-event`
    - 1.2.38 `glissando-event`
    - 1.2.39 `harmonic-event`
    - 1.2.40 `hyphen-event`
    - 1.2.41 `key-change-event`
    - 1.2.42 `label-event`
    - 1.2.43 `laissez-vibrer-event`
    - 1.2.44 `layout-instruction-event`
    - 1.2.45 `ligature-event`
    - 1.2.46 `line-break-event`
    - 1.2.47 `lyric-event`
    - 1.2.48 `mark-event`
    - 1.2.49 `measure-counter-event`
    - 1.2.50 `measure-spanner-event`
    - 1.2.51 `melodic-event`
    - 1.2.52 `multi-measure-articulation-event`
    - 1.2.53 `multi-measure-rest-event`
    - 1.2.54 `multi-measure-text-event`
    - 1.2.55 `music-event`
    - 1.2.56 `non-arpeggiato-event`
    - 1.2.57 `note-event`
    - 1.2.58 `note-grouping-event`
    - 1.2.59 `optional-material-event`
    - 1.2.60 `ottava-event`
    - 1.2.61 `page-break-event`
    - 1.2.62 `page-turn-event`
    - 1.2.63 `part-combine-event`
    - 1.2.64 `partial-event`
    - 1.2.65 `pedal-event`
    - 1.2.66 `percent-event`
    - 1.2.67 `pes-or-flexa-event`
    - 1.2.68 `phrasing-slur-event`
    - 1.2.69 `polymetric-time-signature-event`
    - 1.2.70 `reference-time-signature-event`
    - 1.2.71 `rehearsal-mark-event`
    - 1.2.72 `repeat-slash-event`
    - 1.2.73 `repeat-tie-event`
    - 1.2.74 `rest-event`
    - 1.2.75 `rhythmic-event`
    - 1.2.76 `script-event`
    - 1.2.77 `section-event`
    - 1.2.78 `section-label-event`
    - 1.2.79 `segno-mark-event`
    - 1.2.80 `skip-event`
    - 1.2.81 `slur-event`
    - 1.2.82 `sostenuto-event`
    - 1.2.83 `spacing-section-event`
    - 1.2.84 `span-dynamic-event`
    - 1.2.85 `span-event`
    - 1.2.86 `staff-highlight-event`
    - 1.2.87 `staff-span-event`
    - 1.2.88 `StreamEvent`
    - 1.2.89 `string-number-event`
    - 1.2.90 `stroke-finger-event`
    - 1.2.91 `structural-event`
    - 1.2.92 `sustain-event`
    - 1.2.93 `tempo-change-event`
    - 1.2.94 `text-mark-event`
    - 1.2.95 `text-script-event`
    - 1.2.96 `text-span-event`
    - 1.2.97 `tie-event`
    - 1.2.98 `time-signature-event`
    - 1.2.99 `tremolo-event`
    - 1.2.100 `tremolo-span-event`
    - 1.2.101 `trill-span-event`
    - 1.2.102 `tuplet-span-event`
    - 1.2.103 `una-corda-event`
    - 1.2.104 `volta-repeat-end-event`
    - 1.2.105 `volta-repeat-start-event`
    - 1.2.106 `volta-span-event`
    - 1.2.107 `vowel-transition-event`
  - 1.3 Music properties
- 2 Translation
  - 2.1 Contexts
    - 2.1.1 `ChoirStaff`
    - 2.1.2 `ChordGrid`
    - 2.1.3 `ChordGridScore`
    - 2.1.4 `ChordNames`
    - 2.1.5 `CueVoice`
    - 2.1.6 `Devnull`
    - 2.1.7 `DrumStaff`
    - 2.1.8 `DrumVoice`
    - 2.1.9 `Dynamics`
    - 2.1.10 `FiguredBass`
    - 2.1.11 `FretBoards`
    - 2.1.12 `Global`
    - 2.1.13 `GrandStaff`
    - 2.1.14 `GregorianTranscriptionLyrics`
    - 2.1.15 `GregorianTranscriptionStaff`
    - 2.1.16 `GregorianTranscriptionVoice`
    - 2.1.17 `InternalGregorianStaff`
    - 2.1.18 `InternalMensuralStaff`
    - 2.1.19 `KievanStaff`
    - 2.1.20 `KievanVoice`
    - 2.1.21 `Lyrics`
    - 2.1.22 `MensuralStaff`
    - 2.1.23 `MensuralVoice`
    - 2.1.24 `NoteNames`
    - 2.1.25 `NullVoice`
    - 2.1.26 `OneStaff`
    - 2.1.27 `PetrucciStaff`
    - 2.1.28 `PetrucciVoice`
    - 2.1.29 `PianoStaff`
    - 2.1.30 `RhythmicStaff`
    - 2.1.31 `Score`
    - 2.1.32 `Staff`
    - 2.1.33 `StaffGroup`
    - 2.1.34 `StandaloneRhythmScore`
    - 2.1.35 `StandaloneRhythmStaff`
    - 2.1.36 `StandaloneRhythmVoice`
    - 2.1.37 `TabStaff`
    - 2.1.38 `TabVoice`
    - 2.1.39 `VaticanaLyrics`
    - 2.1.40 `VaticanaScore`
    - 2.1.41 `VaticanaStaff`
    - 2.1.42 `VaticanaVoice`
    - 2.1.43 `Voice`
  - 2.2 Engravers and Performers
    - 2.2.1 `Accidental_engraver`
    - 2.2.2 `Alteration_glyph_engraver`
    - 2.2.3 `Ambitus_engraver`
    - 2.2.4 `Apply_output_engraver`
    - 2.2.5 `Arpeggio_engraver`
    - 2.2.6 `Auto_beam_engraver`
    - 2.2.7 `Axis_group_engraver`
    - 2.2.8 `Balloon_engraver`
    - 2.2.9 `Bar_engraver`
    - 2.2.10 `Bar_number_engraver`
    - 2.2.11 `Beam_collision_engraver`
    - 2.2.12 `Beam_engraver`
    - 2.2.13 `Beam_performer`
    - 2.2.14 `Beat_engraver`
    - 2.2.15 `Beat_performer`
    - 2.2.16 `Bend_engraver`
    - 2.2.17 `Bend_spanner_engraver`
    - 2.2.18 `Break_align_engraver`
    - 2.2.19 `Breathing_sign_engraver`
    - 2.2.20 `Caesura_engraver`
    - 2.2.21 `Centered_bar_number_align_engraver`
    - 2.2.22 `Chord_name_engraver`
    - 2.2.23 `Chord_square_engraver`
    - 2.2.24 `Chord_tremolo_engraver`
    - 2.2.25 `Clef_engraver`
    - 2.2.26 `Cluster_spanner_engraver`
    - 2.2.27 `Collision_engraver`
    - 2.2.28 `Completion_heads_engraver`
    - 2.2.29 `Completion_rest_engraver`
    - 2.2.30 `Concurrent_hairpin_engraver`
    - 2.2.31 `Control_track_performer`
    - 2.2.32 `Cue_clef_engraver`
    - 2.2.33 `Current_chord_text_engraver`
    - 2.2.34 `Custos_engraver`
    - 2.2.35 `Divisio_engraver`
    - 2.2.36 `Dot_column_engraver`
    - 2.2.37 `Dots_engraver`
    - 2.2.38 `Double_percent_repeat_engraver`
    - 2.2.39 `Drum_note_performer`
    - 2.2.40 `Drum_notes_engraver`
    - 2.2.41 `Duration_line_engraver`
    - 2.2.42 `Dynamic_align_engraver`
    - 2.2.43 `Dynamic_engraver`
    - 2.2.44 `Dynamic_performer`
    - 2.2.45 `Episema_engraver`
    - 2.2.46 `Extender_engraver`
    - 2.2.47 `Figured_bass_engraver`
    - 2.2.48 `Figured_bass_position_engraver`
    - 2.2.49 `Finger_glide_engraver`
    - 2.2.50 `Fingering_column_engraver`
    - 2.2.51 `Fingering_engraver`
    - 2.2.52 `Font_size_engraver`
    - 2.2.53 `Footnote_engraver`
    - 2.2.54 `Forbid_line_break_engraver`
    - 2.2.55 `Fretboard_engraver`
    - 2.2.56 `Glissando_engraver`
    - 2.2.57 `Grace_auto_beam_engraver`
    - 2.2.58 `Grace_beam_engraver`
    - 2.2.59 `Grace_engraver`
    - 2.2.60 `Grace_spacing_engraver`
    - 2.2.61 `Grid_chord_name_engraver`
    - 2.2.62 `Grid_line_span_engraver`
    - 2.2.63 `Grid_point_engraver`
    - 2.2.64 `Grob_pq_engraver`
    - 2.2.65 `Horizontal_bracket_engraver`
    - 2.2.66 `Horizontal_script_engraver`
    - 2.2.67 `Hyphen_engraver`
    - 2.2.68 `Instrument_name_engraver`
    - 2.2.69 `Instrument_switch_engraver`
    - 2.2.70 `Jump_engraver`
    - 2.2.71 `Keep_alive_together_engraver`
    - 2.2.72 `Key_engraver`
    - 2.2.73 `Key_performer`
    - 2.2.74 `Kievan_ligature_engraver`
    - 2.2.75 `Laissez_vibrer_engraver`
    - 2.2.76 `Ledger_line_engraver`
    - 2.2.77 `Ligature_bracket_engraver`
    - 2.2.78 `Lyric_engraver`
    - 2.2.79 `Lyric_performer`
    - 2.2.80 `Lyric_repeat_count_engraver`
    - 2.2.81 `Mark_engraver`
    - 2.2.82 `Mark_performer`
    - 2.2.83 `Mark_tracking_translator`
    - 2.2.84 `Measure_counter_engraver`
    - 2.2.85 `Measure_grouping_engraver`
    - 2.2.86 `Measure_spanner_engraver`
    - 2.2.87 `Melody_engraver`
    - 2.2.88 `Mensural_ligature_engraver`
    - 2.2.89 `Merge_mmrest_numbers_engraver`
    - 2.2.90 `Merge_rests_engraver`
    - 2.2.91 `Metronome_mark_engraver`
    - 2.2.92 `Midi_control_change_performer`
    - 2.2.93 `Multi_measure_rest_engraver`
    - 2.2.94 `New_fingering_engraver`
    - 2.2.95 `Non_musical_script_column_engraver`
    - 2.2.96 `Note_head_line_engraver`
    - 2.2.97 `Note_heads_engraver`
    - 2.2.98 `Note_name_engraver`
    - 2.2.99 `Note_performer`
    - 2.2.100 `Note_spacing_engraver`
    - 2.2.101 `Optional_material_bracket_engraver`
    - 2.2.102 `Ottava_spanner_engraver`
    - 2.2.103 `Page_turn_engraver`
    - 2.2.104 `Paper_column_engraver`
    - 2.2.105 `Parenthesis_engraver`
    - 2.2.106 `Part_combine_engraver`
    - 2.2.107 `Percent_repeat_engraver`
    - 2.2.108 `Phrasing_slur_engraver`
    - 2.2.109 `Piano_pedal_align_engraver`
    - 2.2.110 `Piano_pedal_engraver`
    - 2.2.111 `Piano_pedal_performer`
    - 2.2.112 `Pitch_squash_engraver`
    - 2.2.113 `Pitched_trill_engraver`
    - 2.2.114 `Pure_from_neighbor_engraver`
    - 2.2.115 `Repeat_acknowledge_engraver`
    - 2.2.116 `Repeat_tie_engraver`
    - 2.2.117 `Rest_collision_engraver`
    - 2.2.118 `Rest_engraver`
    - 2.2.119 `Rhythmic_column_engraver`
    - 2.2.120 `Script_column_engraver`
    - 2.2.121 `Script_engraver`
    - 2.2.122 `Script_row_engraver`
    - 2.2.123 `Separating_line_group_engraver`
    - 2.2.124 `Show_control_points_engraver`
    - 2.2.125 `Signum_repetitionis_engraver`
    - 2.2.126 `Skip_typesetting_engraver`
    - 2.2.127 `Slash_repeat_engraver`
    - 2.2.128 `Slur_engraver`
    - 2.2.129 `Slur_performer`
    - 2.2.130 `Spacing_engraver`
    - 2.2.131 `Span_arpeggio_engraver`
    - 2.2.132 `Span_bar_engraver`
    - 2.2.133 `Span_bar_stub_engraver`
    - 2.2.134 `Span_stem_engraver`
    - 2.2.135 `Spanner_break_forbid_engraver`
    - 2.2.136 `Spanner_tracking_engraver`
    - 2.2.137 `Staff_collecting_engraver`
    - 2.2.138 `Staff_highlight_engraver`
    - 2.2.139 `Staff_performer`
    - 2.2.140 `Staff_symbol_engraver`
    - 2.2.141 `Stanza_number_align_engraver`
    - 2.2.142 `Stanza_number_engraver`
    - 2.2.143 `Stem_engraver`
    - 2.2.144 `System_start_delimiter_engraver`
    - 2.2.145 `Tab_note_heads_engraver`
    - 2.2.146 `Tab_staff_symbol_engraver`
    - 2.2.147 `Tab_tie_follow_engraver`
    - 2.2.148 `Tempo_performer`
    - 2.2.149 `Text_engraver`
    - 2.2.150 `Text_mark_engraver`
    - 2.2.151 `Text_spanner_engraver`
    - 2.2.152 `Tie_engraver`
    - 2.2.153 `Tie_performer`
    - 2.2.154 `Time_signature_engraver`
    - 2.2.155 `Time_signature_performer`
    - 2.2.156 `Timing_translator`
    - 2.2.157 `Toe_heel_engraver`
    - 2.2.158 `Trill_spanner_engraver`
    - 2.2.159 `Tuplet_engraver`
    - 2.2.160 `Tweak_engraver`
    - 2.2.161 `Vaticana_ligature_engraver`
    - 2.2.162 `Vertical_align_engraver`
    - 2.2.163 `Volta_engraver`
  - 2.3 Tunable context properties
  - 2.4 Internal context properties
- 3 Backend
  - 3.1 All layout objects
    - 3.1.1 `Accidental`
    - 3.1.2 `AccidentalCautionary`
    - 3.1.3 `AccidentalPlacement`
    - 3.1.4 `AccidentalSuggestion`
    - 3.1.5 `Ambitus`
    - 3.1.6 `AmbitusAccidental`
    - 3.1.7 `AmbitusLine`
    - 3.1.8 `AmbitusNoteHead`
    - 3.1.9 `ApproximatePitchNoteHead`
    - 3.1.10 `Arpeggio`
    - 3.1.11 `BalloonText`
    - 3.1.12 `BarLine`
    - 3.1.13 `BarNumber`
    - 3.1.14 `BassFigure`
    - 3.1.15 `BassFigureAlignment`
    - 3.1.16 `BassFigureAlignmentPositioning`
    - 3.1.17 `BassFigureBracket`
    - 3.1.18 `BassFigureContinuation`
    - 3.1.19 `BassFigureLine`
    - 3.1.20 `Beam`
    - 3.1.21 `BendAfter`
    - 3.1.22 `BendSpanner`
    - 3.1.23 `BreakAlignGroup`
    - 3.1.24 `BreakAlignment`
    - 3.1.25 `BreathingSign`
    - 3.1.26 `CaesuraScript`
    - 3.1.27 `CenteredBarNumber`
    - 3.1.28 `CenteredBarNumberLineSpanner`
    - 3.1.29 `ChordBracket`
    - 3.1.30 `ChordName`
    - 3.1.31 `ChordSlur`
    - 3.1.32 `ChordSquare`
    - 3.1.33 `Clef`
    - 3.1.34 `ClefModifier`
    - 3.1.35 `ClusterSpanner`
    - 3.1.36 `ClusterSpannerBeacon`
    - 3.1.37 `CodaMark`
    - 3.1.38 `CombineTextScript`
    - 3.1.39 `ControlPoint`
    - 3.1.40 `ControlPolygon`
    - 3.1.41 `CueClef`
    - 3.1.42 `CueEndClef`
    - 3.1.43 `Custos`
    - 3.1.44 `Divisio`
    - 3.1.45 `DotColumn`
    - 3.1.46 `Dots`
    - 3.1.47 `DoublePercentRepeat`
    - 3.1.48 `DoublePercentRepeatCounter`
    - 3.1.49 `DoubleRepeatSlash`
    - 3.1.50 `DurationLine`
    - 3.1.51 `DynamicLineSpanner`
    - 3.1.52 `DynamicText`
    - 3.1.53 `DynamicTextSpanner`
    - 3.1.54 `Episema`
    - 3.1.55 `FingerGlideSpanner`
    - 3.1.56 `Fingering`
    - 3.1.57 `FingeringColumn`
    - 3.1.58 `Flag`
    - 3.1.59 `Footnote`
    - 3.1.60 `FretBoard`
    - 3.1.61 `Glissando`
    - 3.1.62 `GraceSpacing`
    - 3.1.63 `GridChordName`
    - 3.1.64 `GridLine`
    - 3.1.65 `GridPoint`
    - 3.1.66 `Hairpin`
    - 3.1.67 `HorizontalBracket`
    - 3.1.68 `HorizontalBracketText`
    - 3.1.69 `InstrumentName`
    - 3.1.70 `InstrumentSwitch`
    - 3.1.71 `JumpScript`
    - 3.1.72 `KeyCancellation`
    - 3.1.73 `KeySignature`
    - 3.1.74 `KievanLigature`
    - 3.1.75 `LaissezVibrerTie`
    - 3.1.76 `LaissezVibrerTieColumn`
    - 3.1.77 `LedgerLineSpanner`
    - 3.1.78 `LeftEdge`
    - 3.1.79 `LigatureBracket`
    - 3.1.80 `LyricExtender`
    - 3.1.81 `LyricHyphen`
    - 3.1.82 `LyricRepeatCount`
    - 3.1.83 `LyricSpace`
    - 3.1.84 `LyricText`
    - 3.1.85 `MeasureCounter`
    - 3.1.86 `MeasureGrouping`
    - 3.1.87 `MeasureSpanner`
    - 3.1.88 `MelodyItem`
    - 3.1.89 `MensuralLigature`
    - 3.1.90 `MetronomeMark`
    - 3.1.91 `MultiMeasureRest`
    - 3.1.92 `MultiMeasureRestNumber`
    - 3.1.93 `MultiMeasureRestScript`
    - 3.1.94 `MultiMeasureRestText`
    - 3.1.95 `NonMusicalPaperColumn`
    - 3.1.96 `NoteCollision`
    - 3.1.97 `NoteColumn`
    - 3.1.98 `NoteHead`
    - 3.1.99 `NoteName`
    - 3.1.100 `NoteSpacing`
    - 3.1.101 `OptionalMaterialBracket`
    - 3.1.102 `OttavaBracket`
    - 3.1.103 `PaperColumn`
    - 3.1.104 `Parentheses`
    - 3.1.105 `PercentRepeat`
    - 3.1.106 `PercentRepeatCounter`
    - 3.1.107 `PhrasingSlur`
    - 3.1.108 `PianoPedalBracket`
    - 3.1.109 `RehearsalMark`
    - 3.1.110 `RepeatSlash`
    - 3.1.111 `RepeatTie`
    - 3.1.112 `RepeatTieColumn`
    - 3.1.113 `Rest`
    - 3.1.114 `RestCollision`
    - 3.1.115 `Script`
    - 3.1.116 `ScriptColumn`
    - 3.1.117 `ScriptRow`
    - 3.1.118 `SectionLabel`
    - 3.1.119 `SegnoMark`
    - 3.1.120 `SignumRepetitionis`
    - 3.1.121 `Slur`
    - 3.1.122 `SostenutoPedal`
    - 3.1.123 `SostenutoPedalLineSpanner`
    - 3.1.124 `SpacingSpanner`
    - 3.1.125 `SpanBar`
    - 3.1.126 `SpanBarStub`
    - 3.1.127 `StaffEllipsis`
    - 3.1.128 `StaffGrouper`
    - 3.1.129 `StaffHighlight`
    - 3.1.130 `StaffSpacing`
    - 3.1.131 `StaffSymbol`
    - 3.1.132 `StanzaNumber`
    - 3.1.133 `Stem`
    - 3.1.134 `StemStub`
    - 3.1.135 `StemTremolo`
    - 3.1.136 `StringNumber`
    - 3.1.137 `StrokeFinger`
    - 3.1.138 `SustainPedal`
    - 3.1.139 `SustainPedalLineSpanner`
    - 3.1.140 `System`
    - 3.1.141 `SystemStartBar`
    - 3.1.142 `SystemStartBrace`
    - 3.1.143 `SystemStartBracket`
    - 3.1.144 `SystemStartSquare`
    - 3.1.145 `TabNoteHead`
    - 3.1.146 `TextMark`
    - 3.1.147 `TextScript`
    - 3.1.148 `TextSpanner`
    - 3.1.149 `Tie`
    - 3.1.150 `TieColumn`
    - 3.1.151 `TimeSignature`
    - 3.1.152 `TrillPitchAccidental`
    - 3.1.153 `TrillPitchGroup`
    - 3.1.154 `TrillPitchHead`
    - 3.1.155 `TrillPitchParentheses`
    - 3.1.156 `TrillSpanner`
    - 3.1.157 `TupletBracket`
    - 3.1.158 `TupletNumber`
    - 3.1.159 `UnaCordaPedal`
    - 3.1.160 `UnaCordaPedalLineSpanner`
    - 3.1.161 `VaticanaLigature`
    - 3.1.162 `VerticalAlignment`
    - 3.1.163 `VerticalAxisGroup`
    - 3.1.164 `VoiceFollower`
    - 3.1.165 `VoltaBracket`
    - 3.1.166 `VoltaBracketSpanner`
    - 3.1.167 `VowelTransition`
  - 3.2 Graphical Object Interfaces
    - 3.2.1 `accidental-interface`
    - 3.2.2 `accidental-participating-head-interface`
    - 3.2.3 `accidental-placement-interface`
    - 3.2.4 `accidental-suggestion-interface`
    - 3.2.5 `accidental-switch-interface`
    - 3.2.6 `align-interface`
    - 3.2.7 `ambitus-interface`
    - 3.2.8 `arpeggio-interface`
    - 3.2.9 `axis-group-interface`
    - 3.2.10 `balloon-interface`
    - 3.2.11 `bar-line-interface`
    - 3.2.12 `bar-number-interface`
    - 3.2.13 `bass-figure-alignment-interface`
    - 3.2.14 `bass-figure-interface`
    - 3.2.15 `beam-interface`
    - 3.2.16 `bend-after-interface`
    - 3.2.17 `bend-interface`
    - 3.2.18 `bezier-curve-interface`
    - 3.2.19 `break-alignable-interface`
    - 3.2.20 `break-aligned-interface`
    - 3.2.21 `break-alignment-interface`
    - 3.2.22 `breathing-sign-interface`
    - 3.2.23 `caesura-script-interface`
    - 3.2.24 `centered-bar-number-interface`
    - 3.2.25 `centered-bar-number-line-spanner-interface`
    - 3.2.26 `centered-spanner-interface`
    - 3.2.27 `chord-bracket-interface`
    - 3.2.28 `chord-name-interface`
    - 3.2.29 `chord-slur-interface`
    - 3.2.30 `chord-square-interface`
    - 3.2.31 `clef-interface`
    - 3.2.32 `clef-modifier-interface`
    - 3.2.33 `cluster-beacon-interface`
    - 3.2.34 `cluster-interface`
    - 3.2.35 `coda-mark-interface`
    - 3.2.36 `control-point-interface`
    - 3.2.37 `control-polygon-interface`
    - 3.2.38 `custos-interface`
    - 3.2.39 `dot-column-interface`
    - 3.2.40 `dots-interface`
    - 3.2.41 `duration-line-interface`
    - 3.2.42 `dynamic-interface`
    - 3.2.43 `dynamic-line-spanner-interface`
    - 3.2.44 `dynamic-text-interface`
    - 3.2.45 `dynamic-text-spanner-interface`
    - 3.2.46 `enclosing-bracket-interface`
    - 3.2.47 `episema-interface`
    - 3.2.48 `figured-bass-continuation-interface`
    - 3.2.49 `finger-glide-interface`
    - 3.2.50 `finger-interface`
    - 3.2.51 `fingering-column-interface`
    - 3.2.52 `flag-interface`
    - 3.2.53 `font-interface`
    - 3.2.54 `footnote-interface`
    - 3.2.55 `fret-diagram-interface`
    - 3.2.56 `glissando-interface`
    - 3.2.57 `grace-spacing-interface`
    - 3.2.58 `gregorian-ligature-interface`
    - 3.2.59 `grid-chord-name-interface`
    - 3.2.60 `grid-line-interface`
    - 3.2.61 `grid-point-interface`
    - 3.2.62 `grob-interface`
    - 3.2.63 `hairpin-interface`
    - 3.2.64 `hara-kiri-group-spanner-interface`
    - 3.2.65 `horizontal-bracket-interface`
    - 3.2.66 `horizontal-bracket-text-interface`
    - 3.2.67 `horizontal-line-spanner-interface`
    - 3.2.68 `inline-accidental-interface`
    - 3.2.69 `instrument-specific-markup-interface`
    - 3.2.70 `item-interface`
    - 3.2.71 `jump-script-interface`
    - 3.2.72 `key-cancellation-interface`
    - 3.2.73 `key-signature-interface`
    - 3.2.74 `kievan-ligature-interface`
    - 3.2.75 `ledger-line-spanner-interface`
    - 3.2.76 `ledgered-grob-interface`
    - 3.2.77 `ledgered-interface`
    - 3.2.78 `ligature-bracket-interface`
    - 3.2.79 `ligature-head-interface`
    - 3.2.80 `ligature-interface`
    - 3.2.81 `line-interface`
    - 3.2.82 `line-spanner-interface`
    - 3.2.83 `lyric-extender-interface`
    - 3.2.84 `lyric-hyphen-interface`
    - 3.2.85 `lyric-interface`
    - 3.2.86 `lyric-repeat-count-interface`
    - 3.2.87 `lyric-space-interface`
    - 3.2.88 `lyric-syllable-interface`
    - 3.2.89 `mark-interface`
    - 3.2.90 `measure-counter-interface`
    - 3.2.91 `measure-grouping-interface`
    - 3.2.92 `measure-spanner-interface`
    - 3.2.93 `melody-spanner-interface`
    - 3.2.94 `mensural-ligature-interface`
    - 3.2.95 `metronome-mark-interface`
    - 3.2.96 `multi-measure-interface`
    - 3.2.97 `multi-measure-rest-interface`
    - 3.2.98 `multi-measure-rest-number-interface`
    - 3.2.99 `musical-paper-column-interface`
    - 3.2.100 `non-musical-paper-column-interface`
    - 3.2.101 `note-collision-interface`
    - 3.2.102 `note-column-interface`
    - 3.2.103 `note-head-interface`
    - 3.2.104 `note-name-interface`
    - 3.2.105 `note-spacing-interface`
    - 3.2.106 `number-interface`
    - 3.2.107 `optional-material-bracket-interface`
    - 3.2.108 `ottava-bracket-interface`
    - 3.2.109 `outside-staff-axis-group-interface`
    - 3.2.110 `outside-staff-interface`
    - 3.2.111 `paper-column-interface`
    - 3.2.112 `parentheses-interface`
    - 3.2.113 `passage-delimiter-interface`
    - 3.2.114 `percent-repeat-interface`
    - 3.2.115 `piano-pedal-bracket-interface`
    - 3.2.116 `piano-pedal-interface`
    - 3.2.117 `piano-pedal-script-interface`
    - 3.2.118 `pitched-trill-interface`
    - 3.2.119 `pure-from-neighbor-interface`
    - 3.2.120 `rehearsal-mark-interface`
    - 3.2.121 `rest-collision-interface`
    - 3.2.122 `rest-interface`
    - 3.2.123 `rhythmic-grob-interface`
    - 3.2.124 `rhythmic-head-interface`
    - 3.2.125 `script-column-interface`
    - 3.2.126 `script-interface`
    - 3.2.127 `section-label-interface`
    - 3.2.128 `segno-mark-interface`
    - 3.2.129 `self-alignment-interface`
    - 3.2.130 `semi-tie-column-interface`
    - 3.2.131 `semi-tie-interface`
    - 3.2.132 `separation-item-interface`
    - 3.2.133 `side-position-interface`
    - 3.2.134 `signum-repetitionis-interface`
    - 3.2.135 `slur-interface`
    - 3.2.136 `spaceable-grob-interface`
    - 3.2.137 `spacing-interface`
    - 3.2.138 `spacing-options-interface`
    - 3.2.139 `spacing-spanner-interface`
    - 3.2.140 `span-bar-interface`
    - 3.2.141 `span-bar-stub-interface`
    - 3.2.142 `spanner-interface`
    - 3.2.143 `staff-ellipsis-interface`
    - 3.2.144 `staff-grouper-interface`
    - 3.2.145 `staff-highlight-interface`
    - 3.2.146 `staff-spacing-interface`
    - 3.2.147 `staff-symbol-interface`
    - 3.2.148 `staff-symbol-referencer-interface`
    - 3.2.149 `stanza-number-interface`
    - 3.2.150 `stem-interface`
    - 3.2.151 `stem-tremolo-interface`
    - 3.2.152 `sticky-grob-interface`
    - 3.2.153 `string-number-interface`
    - 3.2.154 `stroke-finger-interface`
    - 3.2.155 `system-interface`
    - 3.2.156 `system-start-delimiter-interface`
    - 3.2.157 `system-start-text-interface`
    - 3.2.158 `tab-note-head-interface`
    - 3.2.159 `text-interface`
    - 3.2.160 `text-mark-interface`
    - 3.2.161 `text-script-interface`
    - 3.2.162 `tie-column-interface`
    - 3.2.163 `tie-interface`
    - 3.2.164 `time-signature-interface`
    - 3.2.165 `trill-pitch-accidental-interface`
    - 3.2.166 `trill-spanner-interface`
    - 3.2.167 `tuplet-bracket-interface`
    - 3.2.168 `tuplet-number-interface`
    - 3.2.169 `unbreakable-spanner-interface`
    - 3.2.170 `vaticana-ligature-interface`
    - 3.2.171 `volta-bracket-interface`
    - 3.2.172 `volta-interface`
  - 3.3 User backend properties
  - 3.4 Internal backend properties
- 4 Scheme functions
- Appendix A Indices
  - A.1 Function index