LilyPond Internals Reference: 3.1.63 Hairpin

### 3.1.63 `Hairpin`

A hairpin. See also `DynamicLineSpanner`.

`Hairpin` objects are created by: `Dynamic_engraver`.

Standard settings:

`after-line-breaking` (boolean):

  `ly:spanner::kill-zero-spanned-time`

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

`bound-padding` (number):

  `1.0`

  The amount of padding to insert around spanner bounds.

`broken-bound-padding` (number):

  `ly:hairpin::broken-bound-padding`

  The amount of padding to insert when a spanner is broken at a line break.

`circled-tip` (boolean):

  `#f`

  Put a circle at start/end of hairpins (al/del niente).

`endpoint-alignments` (pair of numbers):

      '(-1 . 1)

  A pair of numbers representing the alignments of an object’s endpoints. E.g., the ends of a hairpin relative to `NoteColumn` grobs.

`grow-direction` (direction):

  `hairpin::calc-grow-direction`

  Crescendo or decrescendo?

`height` (dimension, in staff space):

  `0.6666`

  Height of an object in `staff-space` units.

`minimum-length` (dimension, in staff space):

  `2.0`

  Try to make a spanner at least this long, normally in the horizontal direction. This requires an appropriate callback for the `springs-and-rods` property. If added to a `Tie`, this sets the minimum distance between noteheads.

`self-alignment-Y` (number):

  `0`

  Like `self-alignment-X` but for the Y axis.

`springs-and-rods` (boolean):

  `ly:spanner::set-spacing-rods`

  Dummy variable for triggering spacing routines.

`stencil` (stencil):

  `ly:hairpin::print`

  The symbol to print.

`thickness` (number):

  `1.0`

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

  `#t`

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

`vertical-skylines` (pair of skylines):

  `#<unpure-pure-container #<procedure ly:grob::vertical-skylines-from-stencil (_)> #<procedure ly:grob::pure-simple-vertical-skylines-from-extents (_ _ _)> >`

  Two skylines, one above and one below this grob.

`Y-extent` (pair of numbers):

  `#<unpure-pure-container #<procedure ly:grob::stencil-height (_)> #<procedure ly:hairpin::pure-height (_ _ _)> >`

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

`Y-offset` (number):

  `#<unpure-pure-container #<procedure ly:self-alignment-interface::y-aligned-on-self (_)> #<procedure ly:self-alignment-interface::pure-y-aligned-on-self (_ _ _)> >`

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

This object supports the following interface(s): `dynamic-interface`, `grob-interface`, `hairpin-interface`, `line-interface`, `outside-staff-interface`, `self-alignment-interface` and `spanner-interface`.

This object is of class Spanner (characterized by `spanner-interface`).

#### LilyPond – Internals Reference v2.24.4 (stable-branch).