]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/topdocs/NEWS.tely
* Documentation/topdocs/NEWS.tely (Top): remove TODOs.
[lilypond.git] / Documentation / topdocs / NEWS.tely
1 \input texinfo @c -*- coding: utf-8; mode: texinfo; -*-
2 @setfilename NEWS.info
3 @settitle NEWS
4
5 @ifhtml
6 @macro inputfileref{DIR,NAME}
7 @uref{../../\DIR\/collated-files.html#\NAME\,@file{\DIR\/\NAME\}}@c
8 @end macro
9 @macro usermanref{NAME}
10 @inforef{\NAME\,,../user/lilypond/lilypond}@c
11 @end macro
12 @end ifhtml
13
14 @ifnothtml
15 @macro inputfileref{DIR,NAME}
16 @file{\DIR\/\NAME\}@c
17 @end macro
18 @macro usermanref{NAME}
19 See user manual, \NAME\
20 @end macro
21 @end ifnothtml
22
23
24 @macro textanchor{NAME}
25 @html
26 <a name="\NAME\"></a>
27 @end html
28 @end macro
29
30
31 @documentencoding utf-8
32 @documentlanguage en
33
34 @finalout
35
36 @ifnottex
37 @node Top
38 @top
39 @end ifnottex
40 @unnumbered New features in 2.9 since 2.8
41
42 @ifhtml
43 This document is also available in @uref{NEWS.pdf,PDF}. It's part of
44 the @uref{../,LilyPond Documentation} 
45 @end ifhtml
46
47
48
49
50 @itemize @bullet
51
52 @ignore
53
54 HINTS
55
56 * only show verbatim input for syntax/input changes
57
58 * try to be as brief possible in those cases
59
60 * don't try to provide real-world examples, they often get too big,
61 which scares away people.
62
63 * Write complete sentences.
64
65 * only show user-visible changes. 
66
67 @end ignore
68
69
70
71 @c Insert any new material above this line.  -gp
72
73 @item Guitar right hand fingerings may
74 now also be added,
75
76 @lilypond[fragment,relative=1,ragged-right]
77 \relative 
78 {
79   \set strokeFingerOrientations = #'(right) % up left down
80   \set fingeringOrientations = #'(down left up) % up left down
81   \set stringNumberOrientations = #'(down up left) % (up right down)
82   <c-1\4
83    -\rightHandFinger #1
84    e-2\5
85    -\rightHandFinger #2
86    g-3\6
87    -\rightHandFinger #3
88    >
89 }
90 @end lilypond
91
92 This feature was sponsored by William Wilson.
93
94 @item By defining a clip region, a cutout EPS file of a number of measures
95 may be generated from the complete score.  Hence, it is no longer
96 necessary to create separate files to create extracts of (long)
97 scores.  An example is shown in
98 @file{input/regression/clip-systems.ly}.
99
100 This feature was sponsored by Rick Hansen.
101
102
103 @item Lyric texts may include tie symbols by using the @code{~}
104 symbol,
105
106 @lilypond[relative=1,fragment,ragged-right]
107   { c4 f2 g4 }
108   \addlyrics {
109     o la~oo ah
110   } 
111 @end lilypond
112
113 @item Calculation of note head durations is now softcoded. 
114
115 @lilypond[relative=1,fragment,ragged-right]
116   %% use half heads for whole notes.
117   \override NoteHead #'duration-log = 1                                         
118   c1 c2 c4 c8[ c16 c]
119 @end lilypond
120
121 @item Chords can now be partially tied,
122
123 @lilypond[ragged-right,relative,fragment]
124 <c~ e g~ b>  <c e g b>
125 @end lilypond
126
127 This feature was sponsored by Steve Doonan.
128
129 @item Lyric extenders now have tunable padding.
130
131 This feature was sponsored by David Griffel.
132
133 @item
134 Instrument changes are better supported: names in the margin can be
135 changed half-way during a staff, and cues are printed automatically.
136
137 This feature was sponsored by Kieren MacMillan.
138
139 @item
140 Barlines can be dashed now,
141
142 @lilypond[relative,ragged-right,fragment]
143 c4 \bar "dashed" c4
144 @end lilypond
145
146 This feature was sponsored by Kieren MacMillan.
147
148 @item
149 Grace notes may be forced to use floating spacing, 
150
151 @lilypond[relative=2,ragged-right]
152 <<
153   \override Score.SpacingSpanner  #'strict-grace-spacing = ##t
154   \new Staff {
155      c'4
156      \afterGrace
157      c'4
158      { c'16[ c'8 c'16] }
159      c'4
160   }
161   \new Staff {
162      c'16[ c'16 c'16 c'16]
163      c'16[ c'16 c'16 c'16]
164      c'4
165   }
166 >>
167 @end lilypond
168
169 This feature was sponsored by Trevor Bača.
170
171
172 @item
173 Durations of grace notes are taken into account for spacing,
174
175 @lilypond[relative=2,ragged-right,fragment]
176   c
177   \grace { c8[ c16 d c8]  }
178   c
179 @end lilypond
180
181 This feature was sponsored by Trevor Bača.
182
183 @item
184 Tuplet brackets can be made to run to prefatory matter or
185 the next note
186
187 @lilypond[ragged-right]
188 \new RhythmicStaff {
189   \set tupletFullLength = ##t
190   \time 4/4
191   \times 4/5 {
192     c4 c1
193   }
194   \set tupletFullLengthNote = ##t
195   \time 2/4
196   \times 2/3 {
197     c4 c c 
198   }
199   \time 3/4
200   c4 
201 }
202 @end lilypond
203
204
205 This feature was sponsored by Trevor Bača.
206
207 @item
208 Falls and doits can be added to notes
209
210 @lilypond[fragment,ragged-right,relative=2]
211 \override Score.SpacingSpanner #'shortest-duration-space = #3.0
212 c4-\bendAfter #+5
213 c4-\bendAfter #-3
214 @end lilypond
215
216 This feature was sponsored by Anthony Youngman and Paul Scott.
217
218 @item
219 @code{lilypond-book} now includes support for PDF@TeX{}.
220
221 This feature was sponsored by David Roundy. 
222
223 @item
224 Nested tuplets can have different formatting for each nesting level,
225
226 @lilypond[ragged-right]
227 \new Staff {
228   \time 5/4
229   \tweak #'text #tuplet-number::calc-fraction-text
230   \times 5/3 {
231      \tweak #'text  #tuplet-number::calc-denominator-text
232      \times 2/3 {
233         c'8[ c'8 c'8]
234      }
235      \times 2/3 {
236         c'8[ c'8 c'8]
237      }
238      \times 2/3 {
239         c'8[ c'8 c'8]
240      }
241   }
242 }
243 @end lilypond
244
245 This feature was sponsored by Trevor Bača.
246
247
248 @item
249 New sections with different spacing parameters can be started with
250 @code{newSpacingSection}.  This is useful when there are  
251 sections with a different notions of long and short notes.
252
253 In the following example, the time signature change introduces a new
254 section, and hence the 16ths notes are spaced wider.
255
256 @lilypond[relative,fragment]
257   \time 2/4
258   c4 c8 c 
259   c8 c c4 c16[ c c8] c4
260
261   \newSpacingSection
262   \time 4/16
263   c16[ c  c8]
264 @end lilypond
265
266 This feature was sponsored by Trevor Bača, Michael Meixner and Vivian
267 Barty-Taylor.
268
269 @item
270 A new, automated testing technique has been added. It will detect
271 changes in the formatting automatically, which will make it easier to
272 spot regression errors in the future.
273
274 View @uref{../../test-results.html,test results}.
275
276 @item
277 Figured bass can also be added to @code{Staff} contexts directly. In
278 this case, their vertical position is adjusted automatically.
279
280 @lilypond[ragged-right,fragment]
281 <<
282   \new Staff = someUniqueName
283   \relative c'' {
284     c4 c'8 r8 c,4 c'
285   }
286
287   %% send to existing Staff.
288   \context Staff = someUniqueName 
289   \figuremode {
290     <4>4 <6 10>8 s8
291     
292     \set Staff.useBassFigureExtenders = ##t
293     <4 6>4 <4 6>
294   }
295 >>
296 @end lilypond
297
298 This feature was sponsored by Trent Johnston.
299
300 @item
301 Beams may be put on isolated stems, and beamlets may be paired by
302 setting the @code{max-beam-connect} property,
303
304 @lilypond[ragged-right,relative=2,fragment]
305   \override Stem #'max-beam-connect = #1
306   c16[ c16]   c32[] 
307 @end lilypond
308
309 This feature was sponsored by Trevor Bača.
310
311 @item
312 Beaming patterns obey the @code{beatGrouping} property.
313
314 @lilypond[ragged-right,relative=2,fragment]
315   \time 5/16
316   \set beatGrouping = #'(2 3)
317   c8[^"(2+3)" c16 c8]
318   \set beatGrouping = #'(3 2)
319   c8[^"(3+2)" c16 c8]
320 @end lilypond
321
322 This feature was sponsored by Trevor Bača.
323
324 @item
325 With the command @code{\transposedCueDuring} a cue's transposition can
326 be changed locally.  This can be used to prevent excessive ledger
327 lines on cues.
328
329 This feature was contributed by Werner Lemberg 
330
331 @item
332 By setting @code{hairpinToBarline}, hairpins will stop at
333 the barline preceding the ending note.
334
335 @lilypond[relative=2,fragment,ragged-right]
336 \set hairpinToBarline = ##t
337 \override Hairpin #'bound-padding = #1.0
338 c4\< c2. c4\!
339 @end lilypond
340
341 This feature was sponsored by Andrew Sidwell and Trevor Bača.
342
343 @item
344 Objects may be rotated using the @code{rotation} property.
345 @lilypond[ragged-right,fragment,relative=1]
346 {
347   \override Hairpin #'rotation = #'(20 -1 0)
348   g4\<^\markup { \rotate #180 "test" } b d f'\!
349 }
350 @end lilypond
351
352 This feature was contributed by Erlend Aasland.
353
354 @item
355 Hairpins now support circled tips (al niente notation).
356 @lilypond[ragged-right,fragment,relative=2]
357 {
358   \override Hairpin #'circled-tip = ##t
359   c2\< c\!
360   c4\> c\< c2\!
361 }
362 @end lilypond
363
364 This feature was contributed by Erlend Aasland.
365
366 @item 
367 The MusicXML convertor has been sped up, and has rudimentary support
368 for percussion notation.  It will also condense multi-bar rests to
369 enable part extraction.
370
371 @item
372 The beam printing code has been completely rewritten, and now includes
373 support for feathered beaming,
374
375 @lilypond[ragged-right,fragment,relative=2]
376 \featherDurations #(ly:make-moment 5 4) 
377 {
378   \override Beam #'grow-direction = #LEFT
379   c16[
380     c c c
381     c c c ]
382 }
383 @end lilypond 
384
385 Known bug: the \featherDuration command only works with very short music
386 snippets.
387
388 This feature was sponsored by Jamie Bullock.
389
390 @item
391 The @code{\note} markup command now also accepts note head styles.
392
393 @lilypond[ragged-right,fragment,relative=2]
394 c4^\markup {
395   \override #'(style . triangle) \note-by-number #2 #1 #1 = 100
396 }
397 @end lilypond
398
399 This feature was sponsored by Jamie Bullock.
400
401 @item
402 Tie chord formatting also works with arpegiated
403 ties.
404
405 @lilypond[ragged-right]
406 \relative c'' {
407   <e c a f>2~ <e c a f> |
408   \set tieWaitForNote = ##t
409   e8~ c~ a~ f~ <e' c a f>2 |
410   f,8~ a~ c~ e~ <f, a c e>2 |
411 }
412 @end lilypond
413
414
415 This feature was sponsored by Steve Doonan.
416
417
418 @end itemize
419
420
421
422 @ifhtml
423 For older news, go to
424 @uref{http://lilypond.org/doc/v2.8/Documentation/topdocs/NEWS.html},
425 or @uref{../,go back} to the Documentation index.
426
427
428 @end ifhtml
429
430 @bye