3.1.98 OptionalMaterialBracket

An in-staff bracket delimiting an optional passage.

OptionalMaterialBracket objects are created by the following engraver(s): Optional_material_bracket_engraver.

Standard settings:

break-align-symbol (symbol):

#<procedure at lily/output-lib.scm:1705:0 (grob)>

This key is used for aligning, ordering, and spacing breakable items. See break-alignment-interface.

break-visibility (vector):

#<procedure at lily/output-lib.scm:1733:0 (grob)>

A vector of 3 booleans, #(end-of-line unbroken begin-of-line). #t means visible, #f means killed.

break-visibility-passage-default (vector):
#(#t #t #f)

The value to use for break-visibility when the item does not specifically mark the start or end of a passage. (It might be both or neither, depending on the type of item.)

break-visibility-passage-end (vector):
#(#t #t #f)

The value to use for break-visibility when the item marks the end of a passage.

break-visibility-passage-start (vector):
#(#f #t #t)

The value to use for break-visibility when the item marks the start of a passage.

direction (direction):

#<procedure at lily/output-lib.scm:1761:0 (grob)>

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.

non-musical (boolean):

#t

True if the grob belongs to a NonMusicalPaperColumn.

positions (pair of numbers):

optional-material-bracket::positions

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.

protrusion (number):

0.75

In a bracket indicating non-arpeggio or optional material, the length of the horizontal edges.

space-alist (alist, with symbols as keys):
'((ambitus extra-space . 2.0)
  (breathing-sign minimum-space . 1.0)
  (custos minimum-space . 1.0)
  (key-signature minimum-space . 1.5)
  (time-signature minimum-space . 1.5)
  (signum-repetitionis minimum-space . 1.5)
  (staff-bar minimum-space . 1.0)
  (clef minimum-space . 2.0)
  (cue-clef minimum-space . 2.0)
  (cue-end-clef minimum-space . 2.0)
  (optional-material-end-bracket extra-space . 1.0)
  (optional-material-start-bracket
    extra-space
    .
    1.0)
  (first-note extra-space . 0.5)
  (next-note extra-space . 0.5)
  (right-edge extra-space . 0.1))

An alist that specifies distances from this grob to other breakable items, using the format:

'((break-align-symbol . (spacing-style . space))
  (break-align-symbol . (spacing-style . space))
  ...)

Standard choices for break-align-symbol are listed in break-alignment-interface. Additionally, three special break-align symbols available to space-alist are:

first-note

used when the grob is just left of the first note on a line

next-note

used when the grob is just left of any other note; if not set, the value of first-note gets used

right-edge

used when the grob is the last item on the line (only compatible with the extra-space spacing style)

If space-alist is defined for a grob that gets spaced in a staff, an entry for first-note must be present. If there is no next-note entry, the value of first-note is used instead.

Choices for spacing-style are:

extra-space

Put this much space between the two grobs. The space is stretchable and shrinkable when paired with first-note or next-note; otherwise it is fixed.

minimum-space

Put at least this much space between the left sides of both grobs, without allowing them to collide. The space is stretchable and shrinkable when paired with first-note or next-note; otherwise it is fixed. Not compatible with right-edge.

fixed-space

Only compatible with first-note and next-note. Put this much fixed space between the grob and the note.

minimum-fixed-space

Only compatible with first-note and next-note. Put at least this much fixed space between the left side of the grob and the left side of the note, without allowing them to collide.

semi-fixed-space

Only compatible with first-note and next-note. Put this much space between the grob and the note, such that half of the space is fixed and half is stretchable and shrinkable.

shrink-space

Only compatible with first-note and next-note. Put this much space between the two grobs. The space is only shrinkable.

semi-shrink-space

Only compatible with first-note and next-note. Put this much space between the grob and the note, such that half of the space is fixed and half is shrinkable.

Rules for this spacing are much more complicated than this. See [Wanske] page 126–134, [Ross] page 143–147.

stencil (stencil):

ly:arpeggio::brew-chord-bracket

The symbol to print.

thickness (number):

1.5

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

Y-extent (pair of numbers):

#<unpure-pure-container ly:grob::stencil-height ly:arpeggio::pure-height >

Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.

This object supports the following interface(s): break-aligned-interface, grob-interface, item-interface, optional-material-bracket-interface and passage-delimiter-interface.

This object is of class Item (characterized by item-interface).


LilyPond Internals Reference v2.25.25 (development-branch).