New features in 2.12 since 2.10
*******************************

   * Unbeamed 128th notes are now supported:

          [image of music]


   * Extending LilyPond's existing support for microtones, there are
     now arrowed accidentals for the notation of microtonal alterations.
     To use them, redefine the `glyph-name-alist' property of
     `Accidental' as in the following example which uses quartertones
     to typeset arrowed accidentals. Alternatively, it is possible to
     define separate names for all notes with arrowed accidentals (see
     `ly/makam.ly' for boilerplate code).

          [image of music]


   * Straight flags (used in old scores of e.g. Bach, but also in
     different form in modern scores of e.g. Stockhausen) are now
     implemented:

          [image of music]


   * `\bookpart' blocks may be used to split a book into several parts,
     separated by a page break, in order to ease the page breaking, or
     to use different `\paper' settings in different parts.

          \bookpart {
            \header {
              title = "Book title"
              subtitle = "First part"
            }
            \score { ... }
            ...
          }
          \bookpart {
            \header {
              subtitle = "Second part"
            }
            \score { ... }
            ...
          }

   * Nested contexts of the same type are now allowed.  This deprecates
     `InnerStaffGroup' and `InnerChoirStaff'.

          [image of music]


   * Percent repeat counters can be shown at regular intervals using the
     context property `repeatCountVisibility'.

          [image of music]


   * In addition to the already existing `showLastLength' property,
     `showFirstLength' can now be set as well, rendering only the first
     measures of a piece.  Both properties may be set at the same time:

          [image of music]


   * The file extension for MIDI can be set using the command-line
     program default `midi-extension'.  For Windows, the default
     extension has been changed to `.mid'.

   * Two variations on the default double repeat bar line are now
     available.

          [image of music]


   * Four automatic accidentals rules have been added: `neo-modern',
     `neo-modern-cautionary', `dodecaphonic' and `teaching'.  The
     following example illustrates `neo-modern' rule.

          [image of music]


   * Flags can now be generated with Scheme-code using the `'flag'
     `Stem' grob property.  Existing scores will work without change.

          [image of music]


   * Harp pedalling diagrams were added:

          [image of music]


   * Predefined, user-configurable, transposable fret diagrams are now
     available in the `FretBoards' context:

          [image of music]


   * The following syntax changes were made, in chronological order. In
     addition, fret diagram properties have been moved to
     `fret-diagram-details', and the `#'style' property is used to
     select solid/dashed lines instead of `#'dash-fraction'.

          'break-align-symbol -> 'break-align-symbols
          scripts.caesura -> scripts.caesura.curved
          \setEasyHeads -> \easyHeadsOn
          \easyHeadsOff (new command)
          \fatText -> \textLengthOn
          \emptyText -> \textLengthOff
          \set hairpinToBarline -> \override Hairpin #'to-barline
          \compressMusic -> \scaleDurations
          \octave -> \octaveCheck
          \arpeggioUp -> \arpeggioArrowUp
          \arpeggioDown -> \arpeggioArrowDown
          \arpeggioNeutral -> \arpeggioNormal
          \setTextCresc -> \crescTextCresc
          \setTextDecresc -> \dimTextDecresc
          \setTextDecr -> \dimTextDecr
          \setTextDim -> \dimTextDim
          \setHairpinCresc -> \crescHairpin
          \setHairpinDecresc -> \dimHairpin
          \sustainUp -> \sustainOff
          \sustainDown -> \sustainOn
          \sostenutoDown -> \sostenutoOn
          \sostenutoUp -> \sostenutoOff
          'infinite-spacing-height -> 'extra-spacing-height
          #(set-octavation oct) -> \ottava #oct
          \put-adjacent markup axis dir markup -> \put-adjacent axis dir markup markup
          \pointAndClickOn (new command)
          \pointAndClickOff (new command)
          \center-align -> \center-column
          \hcenter -> \center-align
          printallheaders -> print-all-headers
          \bigger -> \larger (already existing command)
          systemSeparatorMarkup -> system-separator-markup

     Moreover, some files in the `ly/' directory have been renamed; the
     *-init.ly filenames are now only used for files that are
     automatically included, while such files as `makam-init.ly' or
     `gregorian-init.ly' have been renamed to `makam.ly' or
     `gregorian.ly'.

   * The "tex" and "texstr" backends have been removed.  Font are now
     accessed via the fontconfig library; the Pango library is used to
     display text strings.

   * Metronome marks can now also contain a textual description.  The
     duration and count (if given) are shown in parentheses after the
     text.

          [image of music]


   * In figured bass you can now also use a backslash through a number
     to indicate a raised 6th step.

          [image of music]


   * Arpeggios may now use "parenthesis" style brackets:

          [image of music]


   * Single-system scores are now naturally spaced instead of being
     stretched to fill the line width.  This can be changed by setting
     `ragged-right = ##f'.

   * Enclosing text within boxes with rounded corners is now possible,
     using the `\rounded-box' markup command.

   * `lilypond-book' can run any program instead of `latex' to guess
     the line width, thanks to `--latex-program' command line option.

   * Underlining is now possible with the `\underline' markup command.

   * It is now possible to specify, using the `page-count' variable in
     the paper block, the number of pages that will be used.

   * A new page breaking function, `ly:minimal-breaking', is dedicated
     to books with many pages or a lot of text.

   * A table of contents is included using `\markuplines
     \table-of-contents'.  Elements are added to it using the
     `\tocItem' command.

   * Text spreading over several pages is entered using the
     `\markuplines' keyword.  Builtin markup list commands, such as
     `\justified-lines' or `\wordwrap-lines' may be used, and new ones
     created using the `define-markup-list-command' Scheme macro.

   * Particular points of a book may be marked with the `\label'
     command.  Then, the page where these points are placed can be
     referred to using the `\page-ref' markup command.

   * Page breaking and page turning commands (`\pageBreak',
     `\noPageBreak', etc.) can be used at top-level, between scores and
     top-level markups.

   * The following options are now changed as a `-d' sub-option:
     `--backend', `--safe', `--preview' and `--no-pages' (which became
     `-dno-print-pages').  The `-b' option does not exist any more.

   * Improved testing procedures now catch changes in CPU and memory
     performance, page layout, MIDI results and warnings.  This helps to
     reduce the number of regression errors during development,
     resulting in more stable releases.

     See `INSTALL.html#Testing-LilyPond' for more information.

   * Nested properties, such as `'details' in `Slur', can be reverted
     as well.  The syntax for this is

          \revert Slur #'(details closeness-factor)

   * All line spanners are more flexible now in the configuration of
     their end points.  This includes glissando, voice followers, text
     crescendos and other text spanners.  The old syntax for setting
     text on line spanners is no longer valid.

          [image of music]


     This feature was sponsored by Trevor Bača.

   * The environment variable `LILYPONDPREFIX' has been renamed
     `LILYPOND_DATADIR'.

   * Notes or rests, such as a typical end note, that fill an entire
     measure are preceded by some more space.

          [image of music]


   * All `\score's in a lilypond-book fragment are now inserted into
     the document.  Also, toplevel markups don't result in an entire
     page.

   * Alterations (such as a sharp or flat) may now be arbitrary
     fractions.  This allows some forms of microtonal music.  For
     example, Turkish makam music uses 1/9th tone alterations.

          [image of music]


   * Tie directions may be set with `^~' and `_~'.

   * Tablature now supports harmonics and slides:

          [image of music]


     This feature was sponsored by Mike Amundsen

   * Horizontal spacing now follows object outlines more accurately.
     This allows tighter horizontal spacing.

          [image of music]


   * Objects that belong outside of the staff are now positioned
     automatically to avoid collisions.

          [image of music]


   * Staves are spaced vertically using a skyline algorithm.  This helps
     prevent uneven vertical spacing.

          [image of music]





Local Variables:
coding: utf-8
End:
