1 \input texinfo @c -*- coding: utf-8; mode: texinfo; -*-
6 @macro inputfileref{DIR,NAME}
7 @uref{../../\DIR\/collated-files.html#\NAME\,@file{\DIR\/\NAME\}}@c
9 @macro usermanref{NAME}
10 @inforef{\NAME\,,../user/lilypond/lilypond}@c
15 @macro inputfileref{DIR,NAME}
18 @macro usermanref{NAME}
19 See user manual, \NAME\
24 @macro textanchor{NAME}
31 @documentencoding utf-8
40 @unnumbered New features in 2.9 since 2.8
43 This document is also available in @uref{NEWS.pdf,PDF}. It's part of
44 the @uref{../,LilyPond Documentation}
56 * only show verbatim input for syntax/input changes
58 * try to be as brief possible in those cases
60 * don't try to provide real-world examples, they often get too big,
61 which scares away people.
63 * Write complete sentences.
65 * only show user-visible changes.
68 @item Balloon texts can be entered more ergonomically, and are no
69 longer clipped from the output.
71 @lilypond[fragment,ragged-right,relative=1]
72 \new Voice \with {\consists "Balloon_engraver" }
74 \balloonGrobText #'Stem #'(3 . 4) \markup { "I'm a Stem" }
75 <c-\balloonText #'(-2 . -2) \markup { \simple #"hoi" } >8
80 @item Slurs now avoid clefs and key changes.
82 @lilypond[fragment,ragged-right]
83 \new Staff { \clef bass c^( \clef "G" g') }
86 @item The @code{FretBoards} context will generate guitar frettings
89 @lilypond[fragment,relative=0,verbatim,ragged-right]
90 \new FretBoards { <d\5 fis a d fis> }
93 This feature was sponsored by Rick Hansen.
95 @item Horizontal and vertical spacing are now done at the same time
96 so that pages are filled more evenly.
98 @item The page breaking algorithm is capable of detecting page turns
99 and formatting the music accordingly.
101 @c Insert any new material above this line. -gp
103 @item Guitar right hand fingerings may
106 @lilypond[fragment,relative=1,ragged-right]
109 \set strokeFingerOrientations = #'(right) % up left down
110 \set fingeringOrientations = #'(down left up) % up left down
111 \set stringNumberOrientations = #'(down up left) % (up right down)
122 This feature was sponsored by William Wilson.
124 @item By defining a clip region, a cutout EPS file of a number of measures
125 may be generated from the complete score. Hence, it is no longer
126 necessary to create separate files to create extracts of (long)
127 scores. An example is shown in
128 @file{input/regression/clip-systems.ly}.
130 This feature was sponsored by Rick Hansen.
133 @item Lyric texts may include tie symbols by using the @code{~}
136 @lilypond[relative=1,fragment,ragged-right]
143 @item Calculation of note head durations is now softcoded.
145 @lilypond[relative=1,fragment,ragged-right]
146 %% use half heads for whole notes.
147 \override NoteHead #'duration-log = 1
151 @item Chords can now be partially tied,
153 @lilypond[ragged-right,relative,fragment]
154 <c~ e g~ b> <c e g b>
157 This feature was sponsored by Steve Doonan.
159 @item Lyric extenders now have tunable padding.
161 This feature was sponsored by David Griffel.
164 Instrument changes are better supported: names in the margin can be
165 changed half-way during a staff, and cues are printed automatically.
167 This feature was sponsored by Kieren MacMillan.
170 Barlines can be dashed now,
172 @lilypond[relative,ragged-right,fragment]
176 This feature was sponsored by Kieren MacMillan.
179 Grace notes may be forced to use floating spacing,
181 @lilypond[relative=2,ragged-right]
183 \override Score.SpacingSpanner #'strict-grace-spacing = ##t
192 c'16[ c'16 c'16 c'16]
193 c'16[ c'16 c'16 c'16]
199 This feature was sponsored by Trevor Bača.
203 Durations of grace notes are taken into account for spacing,
205 @lilypond[relative=2,ragged-right,fragment]
207 \grace { c8[ c16 d c8] }
211 This feature was sponsored by Trevor Bača.
214 Tuplet brackets can be made to run to prefatory matter or
217 @lilypond[ragged-right]
219 \set tupletFullLength = ##t
224 \set tupletFullLengthNote = ##t
235 This feature was sponsored by Trevor Bača.
238 Falls and doits can be added to notes
240 @lilypond[fragment,ragged-right,relative=2]
241 \override Score.SpacingSpanner #'shortest-duration-space = #3.0
246 This feature was sponsored by Anthony Youngman and Paul Scott.
249 @code{lilypond-book} now includes support for PDF@TeX{}.
251 This feature was sponsored by David Roundy.
254 Nested tuplets can have different formatting for each nesting level,
256 @lilypond[ragged-right]
259 \tweak #'text #tuplet-number::calc-fraction-text
261 \tweak #'text #tuplet-number::calc-denominator-text
275 This feature was sponsored by Trevor Bača.
279 New sections with different spacing parameters can be started with
280 @code{newSpacingSection}. This is useful when there are
281 sections with a different notions of long and short notes.
283 In the following example, the time signature change introduces a new
284 section, and hence the 16ths notes are spaced wider.
286 @lilypond[relative,fragment]
289 c8 c c4 c16[ c c8] c4
296 This feature was sponsored by Trevor Bača, Michael Meixner and Vivian
300 A new, automated testing technique has been added. It will detect
301 changes in the formatting automatically, which will make it easier to
302 spot regression errors in the future.
304 View @uref{../../test-results.html,test results}.
307 Figured bass can also be added to @code{Staff} contexts directly. In
308 this case, their vertical position is adjusted automatically.
310 @lilypond[ragged-right,fragment]
312 \new Staff = someUniqueName
317 %% send to existing Staff.
318 \context Staff = someUniqueName
322 \set Staff.useBassFigureExtenders = ##t
328 This feature was sponsored by Trent Johnston.
331 Beams may be put on isolated stems, and beamlets may be paired by
332 setting the @code{max-beam-connect} property,
334 @lilypond[ragged-right,relative=2,fragment]
335 \override Stem #'max-beam-connect = #1
339 This feature was sponsored by Trevor Bača.
342 Beaming patterns obey the @code{beatGrouping} property.
344 @lilypond[ragged-right,relative=2,fragment]
346 \set beatGrouping = #'(2 3)
348 \set beatGrouping = #'(3 2)
352 This feature was sponsored by Trevor Bača.
355 With the command @code{\transposedCueDuring} a cue's transposition can
356 be changed locally. This can be used to prevent excessive ledger
359 This feature was contributed by Werner Lemberg
362 By setting @code{hairpinToBarline}, hairpins will stop at
363 the barline preceding the ending note.
365 @lilypond[relative=2,fragment,ragged-right]
366 \set hairpinToBarline = ##t
367 \override Hairpin #'bound-padding = #1.0
371 This feature was sponsored by Andrew Sidwell and Trevor Bača.
374 Objects may be rotated using the @code{rotation} property.
375 @lilypond[ragged-right,fragment,relative=1]
377 \override Hairpin #'rotation = #'(20 -1 0)
378 g4\<^\markup { \rotate #180 "test" } b d f'\!
382 This feature was contributed by Erlend Aasland.
385 Hairpins now support circled tips (al niente notation).
386 @lilypond[ragged-right,fragment,relative=2]
388 \override Hairpin #'circled-tip = ##t
394 This feature was contributed by Erlend Aasland.
397 The MusicXML convertor has been sped up, and has rudimentary support
398 for percussion notation. It will also condense multi-bar rests to
399 enable part extraction.
402 The beam printing code has been completely rewritten, and now includes
403 support for feathered beaming,
405 @lilypond[ragged-right,fragment,relative=2]
406 \featherDurations #(ly:make-moment 5 4)
408 \override Beam #'grow-direction = #LEFT
415 Known bug: the \featherDuration command only works with very short music
418 This feature was sponsored by Jamie Bullock.
421 The @code{\note} markup command now also accepts note head styles.
423 @lilypond[ragged-right,fragment,relative=2]
425 \override #'(style . triangle) \note-by-number #2 #1 #1 = 100
429 This feature was sponsored by Jamie Bullock.
432 Tie chord formatting also works with arpegiated
435 @lilypond[ragged-right]
437 <e c a f>2~ <e c a f> |
438 \set tieWaitForNote = ##t
439 e8~ c~ a~ f~ <e' c a f>2 |
440 f,8~ a~ c~ e~ <f, a c e>2 |
445 This feature was sponsored by Steve Doonan.
453 For older news, go to
454 @uref{http://lilypond.org/doc/v2.8/Documentation/topdocs/NEWS.html},
455 or @uref{../,go back} to the Documentation index.