\input texinfo @c -*- coding: utf-8; mode: texinfo; -*-
@setfilename NEWS.info
@settitle NEWS

@ifhtml
@macro inputfileref{DIR,NAME}
@uref{../../\DIR\/collated-files.html#\NAME\,@file{\DIR\/\NAME\}}@c
@end macro
@macro usermanref{NAME}
@inforef{\NAME\,,../user/lilypond/lilypond}@c
@end macro
@end ifhtml

@ifnothtml
@macro inputfileref{DIR,NAME}
@file{\DIR\/\NAME\}@c
@end macro
@macro usermanref{NAME}
See user manual, \NAME\
@end macro
@end ifnothtml


@macro textanchor{NAME}
@html
<a name="\NAME\"></a>
@end html
@end macro


@documentencoding utf-8
@documentlanguage en

@finalout

@ifnottex
@node Top
@top
@end ifnottex
@unnumbered New features in 2.9 since 2.8

@ifhtml
This document is also available in @uref{NEWS.pdf,PDF}. It's part of
the @uref{../,LilyPond Documentation} 
@end ifhtml




@itemize @bullet

@ignore

HINTS

* only show verbatim input for syntax/input changes

* try to be as brief possible in those cases

* don't try to provide real-world examples, they often get too big,
which scares away people.

* Write complete sentences.

* only show user-visible changes. 

@end ignore

@item Calculation of note head durations is now softcoded. This means
that they can be changed on the fly

@lilypond[relative=1,fragment,ragged-right]
  %% use half heads for whole notes.
  \override NoteHead #'duration-log = #(lambda (grob)
					(min 3 (max 1 (ly:duration-log
					 (ly:event-property (event-cause grob) 'duration)))))
                                         
  c1 c2 c4 c8[ c16 c]
@end lilypond


@c Please insert any new material above this line.  -gp

@item Chords can now be partially tied,

@lilypond[ragged-right,relative,fragment]
<c~ e g~ b>  <c e g b>
@end lilypond

This feature was sponsored by Steve Doonan.

@item Lyric extenders now have tunable padding.

This feature was sponsored by David Griffel.

@item
Instrument changes are better supported: names in the margin can be
changed half-way during a staff, and cues are printed automatically.

This feature was sponsored by Kieren MacMillan.

@item
Barlines can be dashed now,

@lilypond[relative,ragged-right,fragment]
c4 \bar "dashed" c4
@end lilypond

This feature was sponsored by Kieren MacMillan.

@item
Grace notes may be forced to use floating spacing, 

@lilypond[relative=2,ragged-right]
<<
  \override Score.SpacingSpanner  #'strict-grace-spacing = ##t
  \new Staff {
     c'4
     \afterGrace
     c'4
     { c'16[ c'8 c'16] }
     c'4
  }
  \new Staff {
     c'16[ c'16 c'16 c'16]
     c'16[ c'16 c'16 c'16]
     c'4
  }
>>
@end lilypond

This feature was sponsored by Trevor Bača.


@item
Durations of grace notes are taken into account for spacing,

@lilypond[relative=2,ragged-right,fragment]
  c
  \grace { c8[ c16 d c8]  }
  c
@end lilypond

This feature was sponsored by Trevor Bača.

@item
Tuplet brackets can be made to run to prefatory matter or
the next note

@lilypond[ragged-right]
\new RhythmicStaff {
  \set tupletFullLength = ##t
  \time 4/4
  \times 4/5 {
    c4 c1
  }
  \set tupletFullLengthNote = ##t
  \time 2/4
  \times 2/3 {
    c4 c c 
  }
  \time 3/4
  c4 
}
@end lilypond


This feature was sponsored by Trevor Bača.

@item
Falls and doits can be added to notes

@lilypond[fragment,ragged-right,relative=2]
\override Score.SpacingSpanner #'shortest-duration-space = #3.0
c4-\bendAfter #+5
c4-\bendAfter #-3
@end lilypond

This feature was sponsored by Anthony Youngman and Paul Scott.

@item
@code{lilypond-book} now includes support for PDF@TeX{}.

This feature was sponsored by David Roundy. 

@item
Nested tuplets can have different formatting for each nesting level,

@lilypond[ragged-right]
\new Staff {
  \time 5/4
  \tweak #'text #tuplet-number::calc-fraction-text
  \times 5/3 {
     \tweak #'text  #tuplet-number::calc-denominator-text
     \times 2/3 {
        c'8[ c'8 c'8]
     }
     \times 2/3 {
        c'8[ c'8 c'8]
     }
     \times 2/3 {
        c'8[ c'8 c'8]
     }
  }
}
@end lilypond

This feature was sponsored by Trevor Bača.


@item
New sections with different spacing parameters can be started with
@code{newSpacingSection}.  This is useful when there are  
sections with a different notions of long and short notes.

In the following example, the time signature change introduces a new
section, and hence the 16ths notes are spaced wider.

@lilypond[relative,fragment]
  \time 2/4
  c4 c8 c 
  c8 c c4 c16[ c c8] c4

  \newSpacingSection
  \time 4/16
  c16[ c  c8]
@end lilypond

This feature was sponsored by Trevor Bača, Michael Meixner and Vivian
Barty-Taylor.

@item
A new, automated testing technique has been added. It will detect
changes in the formatting automatically, which will make it easier to
spot regression errors in the future.

View @uref{../../test-results.html,test results}.

@item
Figured bass can also be added to @code{Staff} contexts directly. In
this case, their vertical position is adjusted automatically.

@lilypond[ragged-right,fragment]
<<
  \new Staff = someUniqueName
  \relative c'' {
    c4 c'8 r8 c,4 c'
  }

  %% send to existing Staff.
  \context Staff = someUniqueName 
  \figuremode {
    <4>4 <6 10>8 s8
    
    \set Staff.useBassFigureExtenders = ##t
    <4 6>4 <4 6>
  }
>>
@end lilypond

This feature was sponsored by Trent Johnston.

@item
Beams may be put on isolated stems, and beamlets may be paired by
setting the @code{max-beam-connect} property,

@lilypond[ragged-right,relative=2,fragment]
  \override Stem #'max-beam-connect = #1
  c16[ c16]   c32[] 
@end lilypond

This feature was sponsored by Trevor Bača.

@item
Beaming patterns obey the @code{beatGrouping} property.

@lilypond[ragged-right,relative=2,fragment]
  \time 5/16
  \set beatGrouping = #'(2 3)
  c8[^"(2+3)" c16 c8]
  \set beatGrouping = #'(3 2)
  c8[^"(3+2)" c16 c8]
@end lilypond

This feature was sponsored by Trevor Bača.

@item
With the command @code{\transposedCueDuring} a cue's transposition can
be changed locally.  This can be used to prevent excessive ledger
lines on cues.

This feature was contributed by Werner Lemberg 

@item
By setting @code{hairpinToBarline}, hairpins will stop at
the barline preceding the ending note.

@lilypond[relative=2,fragment,ragged-right]
\set hairpinToBarline = ##t
\override Hairpin #'bound-padding = #1.0
c4\< c2. c4\!
@end lilypond

This feature was sponsored by Andrew Sidwell and Trevor Bača.

@item
Objects may be rotated using the @code{rotation} property.
@lilypond[ragged-right,fragment,relative=1]
{
  \override Hairpin #'rotation = #'(20 -1 0)
  g4\<^\markup { \rotate #180 "test" } b d f'\!
}
@end lilypond

This feature was contributed by Erlend Aasland.

@item
Hairpins now support circled tips (al niente notation).
@lilypond[ragged-right,fragment,relative=2]
{
  \override Hairpin #'circled-tip = ##t
  c2\< c\!
  c4\> c\< c2\!
}
@end lilypond

This feature was contributed by Erlend Aasland.

@item 
The MusicXML convertor has been sped up, and has rudimentary support
for percussion notation.  It will also condense multi-bar rests to
enable part extraction.

@item
The beam printing code has been completely rewritten, and now includes
support for feathered beaming,

@lilypond[ragged-right,fragment,relative=2]
\featherDurations #(ly:make-moment 5 4) 
{
  \override Beam #'grow-direction = #LEFT
  c16[
    c c c
    c c c ]
}
@end lilypond 

Known bug: the \featherDuration command only works with very short music
snippets.

This feature was sponsored by Jamie Bullock.

@item
The @code{\note} markup command now also accepts note head styles.

@lilypond[ragged-right,fragment,relative=2]
c4^\markup {
  \override #'(style . triangle) \note-by-number #2 #1 #1 = 100
}
@end lilypond

This feature was sponsored by Jamie Bullock.

@item
Tie chord formatting also works with arpegiated
ties.

@lilypond[ragged-right]
\relative c'' {
  <e c a f>2~ <e c a f> |
  \set tieWaitForNote = ##t
  e8~ c~ a~ f~ <e' c a f>2 |
  f,8~ a~ c~ e~ <f, a c e>2 |
}
@end lilypond


This feature was sponsored by Steve Doonan.


@end itemize



@ifhtml
For older news, go to
@uref{http://lilypond.org/doc/v2.8/Documentation/topdocs/NEWS.html},
or @uref{../,go back} to the Documentation index.


@end ifhtml

@bye
