LilyPond Internals Reference: 3.4 Internal backend properties

## 3.4 Internal backend properties

`accidental-grob` (graphical (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-pure-heights` (pair)

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

`adjacent-spanners` (array of grobs)

  An array of directly neighboring dynamic spanners.

`all-elements` (array of grobs)

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

`arpeggio` (graphical (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` (graphical (layout) object)

  Containing X axis group.

`axis-group-parent-Y` (graphical (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` (array of grobs)

  An array of bar line pointers.

`beam` (graphical (layout) object)

  A pointer to the beam, if applicable.

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

  Set to make `ChordName` or `FretBoard` be visible only at beginning of line or at chord changes.

`bounded-by-me` (array of grobs)

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

`bracket` (graphical (layout) object)

  The bracket for a number.

`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` (array of grobs)

  An array of grobs, typically containing `PaperColumn` or `NoteColumn` objects.

`conditional-elements` (array of grobs)

  Internal use only.

`context-info` (integer)

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

`covered-grobs` (array of grobs)

  Grobs that could potentially collide with a beam.

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

`direction-source` (graphical (layout) object)

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

`display-cautionary` (boolean)

  Should the grob be displayed as a cautionary grob?

`dot` (graphical (layout) object)

  A reference to a `Dots` object.

`dots` (array of grobs)

  Multiple `Dots` objects.

`elements` (array of grobs)

  An array of grobs; the type is depending on the grob where this is set in.

`encompass-objects` (array of grobs)

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

`figures` (array of grobs)

  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-interval` (integer)

  The interval spanned by the two notes of a flexa shape (1 is a second, 7 is an octave).

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

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

`font` (font metric)

  A cached font metric object.

`forced` (boolean)

  Manually forced accidental.

`glissando-index` (integer)

  The index of a glissando in its note column.

`grace-spacing` (graphical (layout) object)

  A run of grace notes.

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

  The width of this ligature head.

`heads` (array of grobs)

  An array of note heads.

`ideal-distances` (list)

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

`important-column-ranks` (vector)

  A cache of columns that contain `items-worth-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` (array of grobs)

  An array of interesting items. If empty in a particular staff, then that staff is erased.

`keep-alive-with` (array of grobs)

  An array of other `VerticalAxisGroup`s. If any of them are alive, then we will stay alive.

`least-squares-dy` (number)

  The ideal beam slope, without damping.

`left-items` (array of grobs)

  DOCME

`left-neighbor` (graphical (layout) object)

  The right-most column that has a spacing-wish for this column.

`ligature-flexa` (boolean)

  request joining note to the previous one in a flexa.

`linea` (boolean)

  Attach vertical lines to this neume?

`maybe-loose` (boolean)

  Used to mark a breakable column that is loose if and only if it is in the middle of a line.

`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` (array of grobs)

  An array of visible stems.

`note-columns` (array of grobs)

  An array of `NoteColumn` grobs.

`note-head` (graphical (layout) object)

  A single note head.

`note-heads` (array of grobs)

  An array of note head grobs.

`oriscus` (boolean)

  Is this neume an oriscus?

`pedal-text` (graphical (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-relevant-grobs` (array of grobs)

  All the grobs (items and spanners) that are relevant for finding the `pure-Y-extent`

`pure-relevant-items` (array of grobs)

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

`pure-relevant-spanners` (array of grobs)

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

`pure-Y-common` (graphical (layout) object)

  A cache of the `common_refpoint_of_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.

`quantize-position` (boolean)

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

`quantized-positions` (pair of numbers)

  The beam positions after quanting.

`quilisma` (boolean)

  Is this neume a quilisma?

`rest` (graphical (layout) object)

  A pointer to a `Rest` object.

`rest-collision` (graphical (layout) object)

  A rest collision that a rest is in.

`rests` (array of grobs)

  An array of rest objects.

`right-items` (array of grobs)

  DOCME

`right-neighbor` (graphical (layout) object)

  See `left-neighbor`.

`script-stencil` (pair)

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

`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` (array of grobs)

  The side support, an array of grobs.

`slur` (graphical (layout) object)

  A pointer to a `Slur` object.

`spacing` (graphical (layout) object)

  The spacing spanner governing this section.

`spacing-wishes` (array of grobs)

  An array of note spacing or staff spacing objects.

`span-start` (boolean)

  Is the note head at the start of a spanner?

`spanner-placement` (direction)

  The place of an annotation on a spanner. LEFT is for the first spanner, and RIGHT is for the last. CENTER will place it on the broken spanner that falls closest to the center of the length of the entire spanner, although this behavior is unpredictable in situations with lots of rhythmic diversity. For predictable results, use LEFT and RIGHT.

`staff-grouper` (graphical (layout) object)

  The staff grouper we belong to.

`staff-symbol` (graphical (layout) object)

  The staff symbol grob that we are in.

`stem` (graphical (layout) object)

  A pointer to a `Stem` object.

`stem-info` (pair)

  A cache of stem parameters.

`stems` (array of grobs)

  An array of stem objects.

`stropha` (boolean)

  Is this neume a stropha?

`system-Y-offset` (number)

  The Y-offset (relative to the bottom of the top-margin of the page) of the system to which this staff belongs.

`tie` (graphical (layout) object)

  A pointer to a `Tie` object.

`tremolo-flag` (graphical (layout) object)

  The tremolo object on a stem.

`tuplet-number` (graphical (layout) object)

  The number for a bracket.

`tuplets` (array of grobs)

  An array of smaller tuplet brackets.

`use-breve-rest` (boolean)

  Use breve rests for measures longer than a whole rest.

`virga` (boolean)

  Is this neume a virga?

`X-common` (graphical (layout) object)

  Common reference point for axis group.

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

  Extra horizontal offset for ligature heads.

`Y-common` (graphical (layout) object)

  See `X-common`.

#### Internals Reference