3.2.77 line-spanner-interface

Generic line drawn between two objects, e.g., for use with glissandi.

bound-details is a nested alist. It’s possible to specify settings for the sub-properties: left, left-broken, right and right-broken.

Values for the following keys may be set:

Y

Sets the Y coordinate of the end point, in staff-spaces offset from the staff center line. By default, it is the center of the bound object, so a glissando points to the vertical center of the note head. Not relevant for grobs having the horizontal-line-spanner-interface.

attach-dir

Determines where the line starts and ends in the X direction, relative to the bound object. So, a value of -1 (or LEFT) makes the line start/end at the left side of the note head it is attached to.

X

This is the absolute X coordinate of the end point. Usually computed on the fly.

end-on-note

If set to true, when the line spanner is broken, each broken piece only extends to the furthest note, not to the end of the staff, on sides where it is broken.

end-on-accidental

Only meaningful in bound-details.right. If set to true, the line spanner stops before the accidentals if its right bound is a note column or a grob contained in a note column, and this note column has accidentals.

start-at-dot

Only meaningful in bound-details.left. If true, the line spanner starts after dots, in a fashion similar to end-on-accidental.

adjust-on-neighbor

If true, the left-neighbor or right-neighbor object is read, and if it exists, the line spanner starts after it or stops before it.

stencil

Line spanners may have symbols at the beginning or end, which is contained in this sub-property. For internal use.

text

This is a markup that is evaluated to yield the stencil.

stencil-align-dir-y
stencil-offset

Without setting one of these, the stencil is simply put at the end-point, centered on the line, as defined by the X and Y sub-properties. Setting stencil-align-dir-y moves the symbol at the edge vertically relative to the end point of the line. With stencil-offset, expecting a number pair, the stencil is moved along the X axis according to the first value, the second value moves the stencil along the Y axis.

arrow

Produces an arrowhead at the end-points of the line.

padding

Controls the space between the specified end point of the line and the actual end. Without padding, a glissando would start and end in the center of each note head.

User settable properties:

bound-details (alist, with symbols as keys)

An alist of properties for determining attachments of spanners to edges.

extra-dy (number)

Slope glissandi this much extra.

gap (dimension, in staff space)

Size of a gap in a variable symbol.

left-bound-info (alist, with symbols as keys)

An alist of properties for determining attachments of spanners to edges.

right-bound-info (alist, with symbols as keys)

An alist of properties for determining attachments of spanners to edges.

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

to-barline (boolean)

If true, the spanner will stop at the bar line just before it would otherwise stop.

Internal properties:

left-neighbor (graphical (layout) object)

A grob similar to this one, on its left. For columns, the right-most column that has a spacing wish for this column.

note-columns (array of grobs)

An array of NoteColumn grobs.

right-neighbor (graphical (layout) object)

See left-neighbor.

This grob interface is used in the following graphical object(s): BendSpanner, DurationLine, DynamicTextSpanner, Episema, FingerGlideSpanner, Glissando, TextSpanner, TrillSpanner, VoiceFollower and VowelTransition.


Internals Reference v2.23.10 (development-branch).