LilyPond — Changes
******************

This document lists changes and new features in LilyPond version 2.23.1
since 2.22.

   • In the Emmentaler font, identical-looking noteheads whose only
     difference was stem direction have been consolidated into a single
     glyph.  For instance, the glyphs ‘noteheads.u2triangle’ and
     ‘noteheads.d2triangle’ have been replaced by a single glyph,
     ‘noteheads.s2triangle’.  Notehead pairs that look visually
     different depending on the direction remain distinct.

     In addition, the ‘stem-attachment’ property of ‘NoteHead’ grobs now
     returns its actual, direction-dependent stem attachment point
     instead of a hypothetical upwards-stem attachment point.

   • Repeat alternatives may appear in places other than the end of the
     repeated section.

          \repeat volta 3 { c'1 \alternative { d' e' } f' }
          [[image of music]]

   • The volta numbers for repeat alternatives may be set with the
     ‘\volta’ command.

          \repeat volta 3 c'1 \alternative { \volta 1 d' \volta 2,3 e' }
          [[image of music]]

   • The ‘\volta’ command removes music when a repeat is unfolded.

   • The ‘\unfolded’ command adds music when a repeat is unfolded.

   • The ends of hairpins may now be aligned to the ‘LEFT’, ‘CENTER’ or
     ‘RIGHT’ of ‘NoteColumn’ grobs by overriding the property
     ‘endpoint-alignments’.

          [[image of music]]

   • The ‘lilypond-book’ script now allows braces in the argument of the
     commands ‘\lilypond’ (for LaTeX) and ‘@lilypond’ (for Texinfo).

   • With the new markup list command ‘string-lines’ it is now possible
     to split a string at a given character.  The default is to split at
     line break.  Surrounding white space gets dropped.  The resulting
     list of markups may be further formatted.  This is a very
     convenient way of entering additional stanzas for songs.

          [[image of music]]

   • Color transparency is supported when generating Postscript and PDF
     files.  To use this new feature, it is necessary to use Ghostscript
     version 9.53 or later.

   • A new grob ‘FingerGlideSpanner’ is now available, indicating a
     finger gliding on a string from one to another position.  Several
     appearances are possible, depending on the setting of ‘style’.
     Shown in the image are ‘line’, ‘stub-left’, ‘stub-right’ and
     ‘stub-both’.

          [[image of music]]

     Also possible is ‘dashed-line’, ‘dotted-line’, ‘zigzag’, ‘trill’,
     ‘bow’ and ‘none’.

   • A new grob ‘BendSpanner’ is now available for ‘TabStaff’,
     indicating a bent string.  Apart from the default three styles are
     possible: ‘'hold’, ‘'pre-bend’ and ‘'pre-bend-hold’.

          [[image of music]]

   • A new grob callback function ‘break-alignment-list’ is now
     available for returning different values depending on a grob’s
     break direction.  As an example, use it to provide different
     alignments of a grob depending on whether it is positioned at the
     beginning, the middle, or the end of a line.

          [[image of music]]

   • The alignment of bar numbers appearing in the middle or end of a
     system has been changed to align them on their left edge.  This is
     in keeping with the advice of Elaine Gould (‘Behind Bars’, p. 237),
     and was mostly the consensus reached in a discussion of the issue
     by developers.  The alignment of bars at the beginning of a system
     remains unchanged.

