3.2.135 slur-interface (LilyPond Internals Reference)

#### 3.2.135 `slur-interface`

A slur. Slurs are formatted by trying a number of combinations of left/right end point, and then picking the slur with the lowest demerit score. The combinations are generated by going from the base attachments (i.e., note heads) in the direction in half space increments until we have covered `region-size` staff spaces.

The following properties may be set in the `details` list.

`absolute-closeness-measure`

  Factor to calculate demerit for variance between a note head and slur.

`accidental-collision`

  Factor to calculate demerit for `Accidental` objects that the slur encompasses. This property value replaces the value of `extra-object-collision-penalty`.

`close-to-edge-length`

  Threshold to decide whether an object to avoid is horizontally close to the slur’s edge. If it is, it doesn’t influence the slur’s height.

`edge-attraction-factor`

  Factor used to calculate the demerit for distances between slur endpoints and their corresponding base attachments.

`edge-slope-exponent`

  Factor used to calculate the demerit for the slope of a slur near its endpoints; a larger value yields a larger demerit.

`encompass-object-range-overshoot`

  Widen the range of `encompass-object` positions by this amount for computing the slur.

`extra-encompass-collision-distance`

  This detail is currently unused.

`extra-encompass-free-distance`

  The amount of vertical free space that must exist between a slur and various objects it encompasses, including accidentals, fingerings, and tuplet numbers.

`extra-object-collision-penalty`

  Factor to calculate demerit for extra objects that the slur encompasses, including accidentals, fingerings, and tuplet numbers.

`free-head-distance`

  The amount of vertical free space that must exist between a slur and note heads.

`free-slur-distance`

  The amount of vertical free space that must exist between adjacent slurs. This subproperty only works for `PhrasingSlur`.

`gap-to-staffline-inside`

  Minimum gap inside the curve of the slur where the slur is parallel to a staffline.

`gap-to-staffline-outside`

  Minimum gap outside the curve of the slur where the slur is parallel to a staffline.

`head-encompass-penalty`

  Demerit to apply when note heads collide with a slur.

`head-slur-distance-factor`

  Factor to calculate demerit for variance between a note head and slur.

`head-slur-distance-max-ratio`

  The maximum value for the ratio of distance between a note head and slur.

`max-slope`

  The maximum slope allowed for this slur.

`max-slope-factor`

  Factor that calculates demerit based on the max slope. Notice that there exists a homonymous property for tuplet brackets.

`non-horizontal-penalty`

  Demerit for slurs with attachment points that are not horizontally aligned.

`region-size`

  Size of region (in staff spaces) for determining potential endpoints in the Y-direction.

`same-slope-penalty`

  Demerit for slurs with attachment points that are horizontally aligned.

`slur-tie-extrema-min-distance`

  If a slur starts or ends very near to or at the same position as a tie, check this threshold whether slur and tie are too close.

`slur-tie-extrema-min-distance-penalty`

  Demerit to apply if `slur-tie-extrema-min-distance` gets triggered.

`steeper-slope-factor`

  Factor used to calculate demerit only if this slur is not broken.

`stem-encompass-penalty`

  Demerit to apply when stems collide with a slur.

#### User-settable properties:

> `avoid-slur` (symbol)

>   Method of handling slur collisions. Choices are `inside`, `outside`, `around`, and `ignore`. `inside` adjusts the slur if needed to keep the grob inside the slur. `outside` moves the grob vertically to the outside of the slur. `around` moves the grob vertically to the outside of the slur only if there is a collision. `ignore` does not move either. In grobs whose notational significance depends on vertical position (such as accidentals, clefs, etc.), `outside` and `around` behave like `ignore`.

> `control-points` (list of number pairs)

>   List of offsets (number pairs) that form control points for the tie, slur, or bracket shape. For Béziers, this should list the control points of a third-order Bézier curve.

> `dash-definition` (pair)

>   List of `dash-elements` defining the dash structure. Each `dash-element` has a starting t value, an ending t-value, a `dash-fraction`, and a `dash-period`.

> `details` (alist, with symbols as keys)

>   An alist of parameters for detailed grob behavior. See All layout objects for more information on the available parameters and their default values of a particular grob’s `details` property. See Graphical Object Interfaces for documentation of the available parameters. Supporting interfaces can be found at the bottom of a grob’s description section.

> `direction` (direction)

>   If `side-axis` is `0` (or `X`), then this property determines whether the object is placed `LEFT`, `CENTER` or `RIGHT` with respect to the other object. Otherwise, it determines whether the object is placed `UP`, `CENTER` or `DOWN`. Numerical values may also be used: `UP`=`1`, `DOWN`=`-1`, `LEFT`=`-1`, `RIGHT`=`1`, `CENTER`=`0`.

> `eccentricity` (number)

>   How asymmetrical to make a slur. Positive means move the center to the right.

> `height-limit` (dimension, in staff space)

>   Maximum slur height: The longer the slur, the closer it is to this height.

> `inspect-quants` (pair of numbers)

>   If debugging is set, set beam and slur position to a (quantized) position that is as close as possible to this value, and print the demerits for the inspected position in the output.

> `line-thickness` (number)

>   For slurs and ties, this is the diameter of the virtual “pen” that draws the two arcs of the curve’s outline, which intersect at the endpoints. This property is expressed as a multiple of the current staff-line thickness (i.e., the visual output is influenced by changes to `Staff.StaffSymbol.thickness`).

> `positions` (pair of numbers)

>   Pair of staff coordinates `(start . end)`, where start and end are vertical positions in `staff-space` units of the current staff. For slurs, this value selects which slur candidate to use; if extreme positions are requested, the closest one is taken.

> `ratio` (number)

>   Parameter for slur shape. The higher this number, the quicker the slur attains its `height-limit`.

> `thickness` (number)

>   For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e., the visual output is influenced by changes to `Staff.StaffSymbol.thickness`).

#### Internal properties:

> `annotation` (string)

>   Annotate a grob for debug purposes.

> `encompass-objects` (array of grobs)

>   Objects that a slur should avoid in addition to notes and stems.

> `note-columns` (array of grobs)

>   An array of `NoteColumn` grobs.

This grob interface is used in the following graphical object(s): `PhrasingSlur` and `Slur`.

#### 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