LilyPond Internals Reference: 2.1.23 NoteNames

### 2.1.23 `NoteNames`

A context for printing the names of notes.

This context also accepts commands for the following context(s): `Staff`.

This context creates the following layout object(s): `NoteName`, `StaffSpacing`, `Tie`, `TieColumn` and `VerticalAxisGroup`.

This context sets the following properties:

- Set grob property `nonstaff-nonstaff-spacing` in `VerticalAxisGroup` to :

      '((basic-distance . 0)
        (minimum-distance . 2.8)
        (padding . 0.2)
        (stretchability . 0))

- Set grob property `nonstaff-relatedstaff-spacing` in `VerticalAxisGroup` to :

      '((basic-distance . 5.5)
        (padding . 0.5)
        (stretchability . 1))

- Set grob property `nonstaff-unrelatedstaff-spacing.padding` in `VerticalAxisGroup` to `1.5`.
- Set grob property `staff-affinity` in `VerticalAxisGroup` to `1`.

This is a ‘Bottom’ context; no contexts will be created implicitly from it.

This context cannot contain other contexts.

This context is built from the following engraver(s):

`Alteration_glyph_engraver`

  Set the `glyph-name-alist` of all grobs having the `accidental-switch-interface` to the value of the context’s `alterationGlyphs` property, when defined.

  Properties (read)

  `alterationGlyphs` (list)

    Alist mapping alterations to accidental glyphs. Alterations are given as exact numbers, e.g., -1/2 for flat. This applies to all grobs that can print accidentals.

`Axis_group_engraver`

  Group all objects created in this context in a `VerticalAxisGroup` spanner.

  Properties (read)

  `currentCommandColumn` (graphical (layout) object)

    Grob that is X-parent to all current breakable items (clef, key signature, etc.).

  `hasAxisGroup` (boolean)

    True if the current context is contained in an axis group.

  `keepAliveInterfaces` (list)

    A list of symbols, signifying grob interfaces that are worth keeping a staff with `remove-empty` set around for.

  Properties (write)

  `hasAxisGroup` (boolean)

    True if the current context is contained in an axis group.

  This engraver creates the following layout object(s): `VerticalAxisGroup`.

`Note_name_engraver`

  Print pitches as words.

  Music types accepted: `note-event`

  Properties (read)

  `noteNameFunction` (procedure)

    Function used to convert pitches into strings and markups.

  `noteNameSeparator` (string)

    String used to separate simultaneous NoteName objects.

  `printAccidentalNames` (boolean or symbol)

    Print accidentals in the `NoteNames` context.

  `printNotesLanguage` (string)

    Use a specific language in the `NoteNames` context.

  `printOctaveNames` (boolean or symbol)

    Print octave marks in the `NoteNames` context.

  This engraver creates the following layout object(s): `NoteName`.

`Separating_line_group_engraver`

  Generate objects for computing spacing parameters.

  Properties (read)

  `createSpacing` (boolean)

    Create `StaffSpacing` objects? Should be set for staves.

  Properties (write)

  `hasStaffSpacing` (boolean)

    True if `currentCommandColumn` contains items that will affect spacing.

  This engraver creates the following layout object(s): `StaffSpacing`.

`Tie_engraver`

  Generate ties between note heads of equal pitch.

  Music types accepted: `tie-event`

  Properties (read)

  `skipTypesetting` (boolean)

    If true, no typesetting is done, speeding up the interpretation phase. Useful for debugging large scores.

  `tieWaitForNote` (boolean)

    If true, tied notes do not have to follow each other directly. This can be used for writing out arpeggios.

  Properties (write)

  `tieMelismaBusy` (boolean)

    Signal whether a tie is present.

  This engraver creates the following layout object(s): `Tie` and `TieColumn`.

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