LilyPond program-reference: 3.4 Internal backend properties

## 3.4 Internal backend properties

`X-common` (layout object)

  Common reference point for axis group.

`Y-common` (layout object)

  See `X-common`.

`accidental-grob` (layout object)

  The accidental for this note.

`accidental-grobs` (list)

  An alist with `(notename . groblist)` entries.

`add-cauda` (boolean)

  Does this flexa require an additional cauda on the left side?

`add-join` (boolean)

  Is this ligature head-joined with the next one by a vertical line?

`add-stem` (boolean)

  Is this ligature head a virga and therefore needs an additional stem on the right side?

`adjacent-hairpins` (unknown)

  A list of directly neighboring hairpins.

`adjacent-pure-heights` (vector)

  Used by a `VerticalAxisGroup` to cache the `Y-extent`s of different column ranges.

`all-elements` (unknown)

  A list of all grobs in this line. Its function is to protect objects from being garbage collected.

`arpeggio` (layout object)

  A pointer to an `Arpeggio` object.

`ascendens` (boolean)

  Is this neume of ascending type?

`auctum` (boolean)

  Is this neume liquescentically augmented?

`axis-group-parent-X` (layout object)

  Containing X axis group.

`axis-group-parent-Y` (layout object)

  Containing Y axis group.

`bar-extent` (pair of numbers)

  The Y-extent of the actual bar line. This may differ from `Y-extent` because it does not include the dots in a repeat bar line.

`bars` (unknown)

  A list of bar line pointers.

`beam` (layout object)

  A pointer to the beam, if applicable.

`begin-of-line-visible` (boolean)

  Used for marking `ChordNames` that should only show changes.

`bounded-by-me` (unknown)

  A list of spanners that have this column as start/begin point. Only columns that have grobs or act as bounds are spaced.

`bracket` (layout object)

  The bracket for a number.

`cause` (any type)

  Any kind of causation objects (i.e., music, or perhaps translator) that was the cause for this grob.

`cavum` (boolean)

  Is this neume outlined?

`columns` (unknown)

  A list of grobs, typically containing `PaperColumn` or `NoteColumn` objects.

`conditional-elements` (unknown)

  Internal use only.

`context-info` (integer)

  Within a ligature, the final glyph or shape of a head may be affected by the left and/or right neighbour head. `context-info` holds for each head such information about the left and right neighbour, encoded as a bit mask.

`cross-staff` (boolean)

  For a beam or a stem, this is true if we depend on inter-staff spacing.

`delta-position` (number)

  The vertical position difference.

`deminutum` (boolean)

  Is this neume deminished?

`descendens` (boolean)

  Is this neume of descendent type?

`details` (list)

  Alist of parameters for detailed grob behavior.

  More information on the allowed parameters can be found by inspecting ‘`lily/slur-scoring.cc`’, ‘`lily/beam-quanting.cc`’, and ‘`lily/tie-formatting-problem.cc`’. Setting `debug-tie-scoring`, `debug-beam-scoring` or `debug-slur-scoring` also provides useful clues.

`direction-source` (layout object)

  In case `side-relative-direction` is set, which grob to get the direction from.

`dot` (layout object)

  A reference to a `Dots` object.

`dots` (unknown)

  Multiple `Dots` objects.

`elements` (unknown)

  A list of grobs; the type is depending on the grob where this is set in.

`encompass-objects` (unknown)

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

`figures` (unknown)

  Figured bass objects for continuation line.

`flexa-height` (dimension, in staff space)

  The height of a flexa shape in a ligature grob (in `staff-space` units).

`flexa-width` (dimension, in staff space)

  The width of a flexa shape in a ligature grob in (in `staff-space` units).

`font` (font metric)

  A cached font metric object.

`forced` (boolean)

  Manually forced accidental.

`glyph-name` (string)

  The glyph name within the font.

`grace-spacing` (layout object)

  A run of grace notes.

`head-width` (dimension, in staff space)

  The width of this ligature head.

`heads` (unknown)

  A list of note heads.

`ideal-distances` (list)

  `(obj . (dist . strength))` pairs.

`important-column-ranks` (vector)

  A cache of columns that contain `items-worth-living` data.

`inclinatum` (boolean)

  Is this neume an inclinatum?

`interfaces` (list)

  A list of symbols indicating the interfaces supported by this object. It is initialized from the `meta` field.

`items-worth-living` (unknown)

  A list of interesting items. If empty in a particular staff, then that staff is erased.

`join-heads` (boolean)

  Whether to join the note heads of an ambitus grob with a vertical line.

`join-right-amount` (number)

  DOCME

`least-squares-dy` (number)

  The ideal beam slope, without damping.

`left-items` (unknown)

  DOCME

`left-neighbors` (unknown)

  A list of `spacing-wishes` grobs that are close to the current column.

  The closest `spacing-wishes` determine the actual distances between the columns.

`linea` (boolean)

  Attach vertical lines to this neume?

`meta` (list)

  Provide meta information. It is an alist with the entries `name` and `interfaces`.

`minimum-distances` (list)

  A list of rods that have the format `(obj . dist)`.

`normal-stems` (unknown)

  An array of visible stems.

`note-columns` (pair)

  A list of `NoteColumn` grobs.

`note-head` (layout object)

  A single note head.

`note-heads` (unknown)

  A list of note head grobs.

`oriscus` (boolean)

  Is this neume an oriscus?

`pedal-text` (layout object)

  A pointer to the text of a mixed-style piano pedal.

`pes-or-flexa` (boolean)

  Shall this neume be joined with the previous head?

`positioning-done` (boolean)

  Used to signal that a positioning element did its job. This ensures that a positioning is only done once.

`prefix-set` (number)

  A bit mask that holds all Gregorian head prefixes, such as `\virga` or `\quilisma`.

`primitive` (integer)

  A pointer to a ligature primitive, i.e., an item similar to a note head that is part of a ligature.

`pure-Y-common` (layout object)

  A cache of the `common_refpoint_of_array` of the `elements` grob set.

`pure-Y-extent` (pair of numbers)

  The estimated height of a system.

`pure-Y-offset-in-progress` (boolean)

  A debugging aid for catching cyclic dependencies.

`pure-relevant-items` (unknown)

  A subset of elements that are relevant for finding the `pure-Y-extent`.

`pure-relevant-spanners` (unknown)

  A subset of elements that are relevant for finding the `pure-Y-extent`.

`quant-score` (string)

  The beam quanting score; stored for debugging.

`quantize-position` (boolean)

  If set, a vertical alignment is aligned to be within staff spaces.

`quantized-positions` (pair of numbers)

  The beam positions after quanting.

`quilisma` (boolean)

  Is this neume a quilisma?

`rest` (layout object)

  A pointer to a `Rest` object.

`rest-collision` (layout object)

  A rest collision that a rest is in.

`rests` (unknown)

  A list of rest objects.

`right-items` (unknown)

  DOCME

`right-neighbors` (unknown)

  See `left-neighbors`.

`script-stencil` (pair)

  A pair `(type . arg)` which acts as an index for looking up a `Stencil` object.

`separation-item` (layout object)

  A separation item.

`shorten` (dimension, in staff space)

  The amount of space that a stem is shortened. Internally used to distribute beam shortening over stems.

`side-support-elements` (unknown)

  The side support, a list of grobs.

`skyline-distance` (number)

  The distance between this staff and the next one, as determined by a skyline algorithm.

`slur` (layout object)

  A pointer to a `Slur` object.

`spaceable-staves` (unknown)

  Objects to be spaced during page layout.

`spacing` (layout object)

  The spacing spanner governing this section.

`spacing-wishes` (unknown)

  List of note spacing or staff spacing objects.

`staff-symbol` (layout object)

  The staff symbol grob that we are in.

`stem` (layout object)

  A pointer to a `Stem` object.

`stem-info` (pair)

  A cache of stem parameters.

`stems` (unknown)

  A list of stem objects, corresponding to the notes that the arpeggio has to be before.

`stropha` (boolean)

  Is this neume a stropha?

`tie` (layout object)

  A pointer to a `Tie` object.

`tremolo-flag` (layout object)

  The tremolo object on a stem.

`tuplet-number` (layout object)

  The number for a bracket.

`tuplets` (unknown)

  A list of smaller tuplet brackets.

`use-breve-rest` (boolean)

  Use breve rests for measures longer than a whole rest.

`virga` (boolean)

  Is this neume a virga?

`x-offset` (dimension, in staff space)

  Extra horizontal offset for ligature heads.

#### Internals Reference