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-extents 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)


least-squares-dy (number)

The ideal beam slope, without damping.

left-items (unknown)


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)


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