New features in 2.16 since 2.14
*******************************

   * Beams can now have their slopes preserved over line breaks.

          [image of music]


     To do this, several callback functions are now deprecated.
        * `ly:beam::calc-least-squares-positions'

        * `ly:beam::slope-damping'

        * `ly:beam::shift-region-to-valid'
     All of these functions are now automatically called via
     `ly:beam::quanting'.  Furthermore, `ly:beam::quanting' now only
     takes one argument - the beam grob.

   * Music, event, and scheme functions can now be defined with optional
     arguments before mandatory arguments.

   * There is a new `define-event-function' command in analogy to
     `define-music-function' that can be used for defining music
     functions acting as events without requiring a direction specifier
     (`-', `^', or `_') placed before them.

          dyn=#(define-event-function (parser location arg) (markup?)
                   (make-dynamic-script arg))
          \relative c' { c\dyn pfsss }
           [image of music]


   * A list of ASCII aliases for special characters can be included.

          \paper {
            #(include-special-characters)
          }
          \markup "&bull; &dagger; &copyright; &OE; &ss; &para;"
           [image of music]


   * There is a new `define-scheme-function' command in analogy to
     `define-music-function' that can be used to define functions
     evaluating to Scheme expressions while accepting arguments in
     Lilypond syntax.

   * The construct `#{ ... #}' can now be used not just for
     constructing sequential music lists, but also for single music
     events, void music expressions, post events, markups (mostly
     freeing users from having to use the `markup' macro), markup
     lists, number expressions, context definitions and modifications,
     and a few other things.  If it encloses nothing or only a single
     music event, it no longer returns a sequential music list but
     rather a void music expression or just the music event itself,
     respectively.

   * New command-line option `--loglevel=LEVEL' to control how much
     output LilyPond creates. Possible values are ERROR, WARN,
     BASIC_PROGRESS, PROGRESS, DEBUG.

   * `\set \once' now correctly resets the property value to the
     previous value.

          [image of music]


   * The alignment of dynamic spanners (hairpins, text crescendo, etc.)
     is now automatically broken if a different direction is explicitly
     given.

          [image of music]


   * Appoggiaturas and acciaccaturas now also work inside a slur, not
     only inside a phrasing slur. Also, a function `\slashedGrace' was
     added that does does not use a slur from the acciaccatura note.

          [image of music]


   * To suppress the line on a crescendo text spanner (and other
     similar spanners), LilyPond now fully supports the `#'style =
     #'none' property.

          [image of music]


   * LilyPond.app now supports MacOS X 10.7, thanks Christian Hitz!

   * Glissandi can now span multiple lines.




Local Variables:
coding: utf-8
End:
