LilyPond Internals Reference: 3.1.67 MetronomeMark

### 3.1.67 MetronomeMark

MetronomeMark objects are created by: Metronome_mark_engraver.

Standard settings:

> `after-line-breaking` (boolean):

>   `ly:side-position-interface::move-to-extremal-staff`

>   Dummy property, used to trigger callback for `after-line-breaking`.

> `break-align-symbols` (list):

>   `'(time-signature)`

>   A list of symbols that determine which break-aligned grobs to align this to. If the grob selected by the first symbol in the list is invisible due to break-visibility, we will align to the next grob (and so on). Choices are `left-edge`, `ambitus`, `breathing-sign`, `clef`, `staff-bar`, `key-cancellation`, `key-signature`, `time-signature`, and `custos`.

> `break-visibility` (vector):

>   `#(#f #t #t)`

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

> `direction` (direction):

>   `1`

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

> `extra-spacing-width` (pair of numbers):

>   `'(+inf.0 . -inf.0)`

>   In the horizontal spacing problem, we pad each item by this amount (by adding the ‘car’ on the left side of the item and adding the ‘cdr’ on the right side of the item). In order to make a grob take up no horizontal space at all, set this to `(+inf.0 . -inf.0)`.

> `non-break-align-symbols` (list):

>   `'(multi-measure-rest-interface)`

>   A list of symbols that determine which NON-break-aligned interfaces to align this to.

> `outside-staff-priority` (number):

>   `1000`

>   If set, the grob is positioned outside the staff in such a way as to avoid all collisions. In case of a potential collision, the grob with the smaller `outside-staff-priority` is closer to the staff.

> `padding` (dimension, in staff space):

>   `0.8`

>   Add this much extra space between objects that are next to each other.

> `self-alignment-X` (number):

>   `-1`

>   Specify alignment of an object. The value `-1` means left aligned, `0` centered, and `1` right-aligned in X direction. Other numerical values may also be specified.

> `side-axis` (number):

>   `1`

>   If the value is `#X` (or equivalently `0`), the object is placed horizontally next to the other object. If the value is `#Y` or `1`, it is placed vertically.

> `stencil` (stencil):

>   `ly:text-interface::print`

>   The symbol to print.

> `X-offset` (number):

>   `#<simple-closure (#<primitive-generic +> #<simple-closure (#<primitive-procedure ly:break-alignable-interface::self-align-callback>) > #<simple-closure (#<primitive-procedure ly:self-alignment-interface::x-aligned-on-self>) >) >`

>   The horizontal amount that this object is moved relative to its X-parent.

> `Y-offset` (number):

>   `ly:side-position-interface::y-aligned-side`

>   The vertical amount that this object is moved relative to its Y-parent.

This object supports the following interface(s): break-alignable-interface, font-interface, grob-interface, item-interface, metronome-mark-interface, self-alignment-interface, side-position-interface and text-interface.

#### Internals Reference