NEWS
****

New features in 2.7 since 2.6
*****************************

   * A MusicXML importer is included now.

     It was sponsored by among others, Mark van den Borre, and
     Muziekacademie Lede.

   * Stem direction on the center staff line are now interpolated
     between neighbors. This results in less stem direction changes,
     leading to a more even appearance. For example,

     [image of music]

     This feature was sponsored by Mike Rolish and Basil Crow.

   * Slurs now avoid `TupletNumber's, and tuplet numbers may enter the
     staff.

     [image of music]

     This feature was sponsored by Trent Johnston.

   * Tuplet brackets and numbers  are implemented as separate grobs,
     `TupletBracket' and `TupletNumber'.

     This rewrite was sponsored by Trent Johnston.

   * String arguments for music functions may be specified without `#'
     marks. This allows syntactical constructs (like \clef and \bar) to
     be expressed in generic music functions.

   * Ties in chords are also formatted using a scoring based
     formatting. This reduces the number of collisions for ties in
     chords,

     [image of music]

     Here, the tie for the D is flipped, in spite the default rule for
     tie directions.

     This rewrite was sponsored by Steve Doonan.

   * With the `\tweak' music function, layout objects that are directly
     connected to input may be tuned easily,

     <
       \tweak #'font-size #3  c
       \tweak #'color #red d
       \tweak #'style #'cross  g
       \tweak #'duration-log #1  a
     >4
     [image of music]

     This feature was sponsored by Sean Reed and Bertalan Fodor.

   * Generic music functions may now also be used on articulations and
     chord elements, eg.


       < \displayMusic c
         e-\keepWithTag #'bla -\tag #'bla ^2 >

     This feature was sponsored by Sean Reed and Bertalan Fodor.

   * Spaces between lyrics and distance between syllables with hyphens
     may now be separately tuned through the `LyricSpace' grob.

     This feature has been sponsored by Bertalan Fodor.

   * Texts set in a TrueType font are now kerned. This requires CVS
     Pango or Pango 1.12.

   * Using the TeX  no longer requires linking or dynamically opening
     the kpathsea library, making the backend more easily usable on
     various systems.

     This fix was sponsored by Black Trash Productions.

   * The horizontal location of rehearsal marks can be adjusted by
     setting the `rehearsalMarkAlignSymbol' property,

     [image of music]

     This feature was sponsored by Trevor Bača.

   * It's now possible to easily create deeply nested system start
     delimiters,

     [image of music]

     In addition, there is now also support for "square" system start
     brackets.

     This feature was sponsored by Trevor Bača.

   * Tie formatting now uses scoring. This opens the road to formatting
     which handles complex situations require tradeoffs between
     different beauty factors.

     This refactoring has been sponsored by Steve Doonan.

   * Each grob property may also be a "grob closure." This means that it
     is possible to combine functions. For example, the `Y-offset' of a
     `InstrumentName' grob is defined to be


     ,(ly:make-simple-closure
       `(,+
         ,(ly:make-simple-closure
           (,Self_alignment_interface::y_aligned_on_self))
         ,(ly:make-simple-closure
           (,Side_position_interface::y_aligned_on_support_refpoints)))

     During execution, the `Y-offset' of an `InstrumentName' is computed
     as

     (+ (Self_alignment_interface::y_aligned_on_self GROB)
        (Self_alignment_interface::y_aligned_on_support_refpoints GROB))

   * Calculation of extent and offset of grob is now controlled via the
     `X-extent', `Y-extent', `X-offset' and `Y-offset' properties, for
     example


     \override TextScript #'Y-offset = #-6

     hard codes `TextScript' grobs to be 6 spaces below their Y-parent
     grobs.

   * Each grob property can be a procedure. If this is the case, it is
     assumed to be a routine that calculates said property.  This is a
     major internal cleanup, which also provides advanced tweakability
     for power users. For example,


     \override Beam #'direction
       = #(lambda (grob)
           (if (> 4 (ly:grob-array-length (ly:grob-object grob 'stems)))
               DOWN
               UP))

     With this code fragment, the direction of a beam is decided to be
     up or down, depending on the number of stems in the beam.

   * Support for figured bass has been rewritten. Now it supports
     continuation lines, slashed figures, and its figures, brackets,
     and alignments may tuned separately.

     [image of music]

     This rewrite was sponsored by Trent Johnston and John Mandereau.

   * Subproperties, like the `details' field of `Slur' and `Tie' may
     now be tuned with `\override'. For example,


     \override Stem #'details #'beamed-lengths = #'(4 4 3)

     shortens the stems in beams.

   * The default paper size may now be set from the command line using
     `-dpaper-size'.

   * Beamlets may stick out of the side of beams.

     [image of music]

     This feature was sponsored by Trevor Bača.

   * Vertical alignments of staves can now be tuned easily for
     individual systems.

     [image of music]

     This feature was sponsored by Nicolas Sceaux.

   * Vertical spacing for page layout can now be tuned for each system
     individually.  The dimensions that can be tuned can be visualized.

     #(set-default-paper-size "a7" 'landscape)
     \book {
      \score { { c4 } }
      \paper { annotatespacing = ##t }
     }
     [image of music]

     These features were sponsored by Trevor Bača and Nicolas Sceaux.

   * The slope of a stem-tremolo may be set manually

     [image of music]

     This feature was sponsored by Sven Axelsson.

   * Laissez vibrer ties can be created with `\laissezVibrer',

     [image of music]

     This feature was sponsored by Henrik Frisk.

   * The order of words in `\markup' commands may now be reversed by
     setting the `text-direction' property. This is useful for
     Right-to-Left languages like Hebrew.

     This feature was sponsored by Aaron Mehl.

   * Texts over multi measure rests can stretch the corresponding
     measure, if the appropriate `spring-and-rods' callback is set.

     [image of music]

     This feature was sponsored by Kris Shaffer.

   *  Formatting of ties in chords has been improved. Ties no longer
     collide with note heads and stems. In addition, it is possible to
     manually specify tie formatting

     [image of music]

     This improvement has been sponsored by Bertalan Fodor, Jay
     Hamilton, Kieren MacMillan, Steve Doonan, Trevor Bača, and
     Vicente Solsona Dell¡.

   * Formatting of isolated, single ties has been improved. Now, ties
     avoid staff lines, flags and dots, without compromising their
     shape.

     [image of music]

     This improvement has been sponsored by Bertalan Fodor, Jay
     Hamilton, Kieren MacMillan, Steve Doonan, Trevor Bača, and
     Vicente Solsona Dell¡.

   *  With the `countPercentRepeats' property, percent repeats get
     incremental numbers to indicate the accumulated repeat count.

     [image of music]

     This feature was sponsored by Yoshinobu Ishizaki

   * Text scripts such as fingering instructions and dynamics avoid
     collisions with slurs

     [image of music]

   * Tuplets can be made to reach the next non-tuplet note by setting
     the `tupletFullLength'  property,

     [image of music]

     This feature was sponsored by Trevor Bača.

   * When `strict-note-spacing' is set, notes are spaced without regard
     for clefs, bar lines, and grace notes. For example,

     [image of music]

     This feature was sponsored by Trevor Bača.

   * Beams support the `break-overshoot' property, for example

     [image of music]

     This feature was sponsored by Trevor Bača.

   * Proportional notation is supported.  Notes can be spaced
     proportional to their time-difference by assigning a duration to
     `proportionalNotationDuration'. For example,

     [image of music]

     This feature was sponsored by Trevor Bača.

   * Symbol sizes (e.g. accidentals) are disregarded for spacing if
     `uniform-stretching' of the `SpacingSpanner' grob is set,

     [image of music]

     This feature was sponsored by Trevor Bača.

   * Endings of broken tuplet brackets can be tuned.  For example, you
     can add arrows to the brackets,

     [image of music]

     This feature was sponsored by Trevor Bača.

   *  Arrow heads were added to the Feta font.

     [image of music]

     These glyphs have been sponsored by Trevor Bača.

   * Nested tuplets are automatically positioned,

     [image of music]

     This feature was sponsored by Trevor Bača.

   * Music expressions can be displayed, in LilyPond notation, using the
     new `\displayLilyMusic' function. For instance:
     \displayLilyMusic \transpose c a, { c d e f }
      will print:
     { a, b, cis d }

     This feature was contributed by Nicolas Sceaux.

   * The current bar number may be checked with `\barNumberCheck', eg.


     \barNumberCheck #22

     will print a warning if it doesn't happen in measure 22.

   * If `showLastLength' is set, only the last few measures of a piece
     are rendered, which speeds up correcting scores. For example,
     setting


     showLastLength = R1*5
     \score { ... }

     will render only the last five measures (assuming 4/4 time
     signature) of a piece.

   *  Melismata can be specified simply in the lyrics now, eg.

     {
       c d( e) f e d
     } \addlyrics {
       Ky -- _ _ ri e
     }
     [image of music]

     This feature was sponsored by Nancho Alvarez

   * Suggested accidentals (for notating musica ficta) may be switched
     on with `suggestAccidentals'

     \set suggestAccidentals = ##t
     ais bis
     [image of music]

     This feature was sponsored by Nancho Alvarez.

   * The setting `whichBar' and time-bookkeeping is now split into a
     `Default_bar_line_engraver' and `Timing_translator' respectively.

   *  Explicit pitches may be added to trills,

       \pitchedTrill c4\startTrillSpan fis f\stopTrillSpan
     [image of music]

     This feature was sponsored by D. Josiah Boothby and Jamie Bullock

   * Markup now supports formatting of text paragraphs, using
     `\wordwrap' and `\justify'.

     This feature was sponsored by Sven Axelsson.



Local Variables:
coding: utf-8
End:
