]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/topdocs/NEWS.tely
release commit
[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\/out-www/collated-files.html#\NAME\,@file{\DIR\/\NAME\}}@c
8 @end macro
9 @macro usermanref{NAME}
10 @inforef{\NAME\,,../../user/out-www/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 @ifnottex
35 @node Top
36 @top
37 @end ifnottex
38 @unnumbered New features in 2.7 since 2.6
39
40 @ifhtml
41 This document is also available in @uref{NEWS.pdf,PDF}.
42 @end ifhtml
43
44
45
46
47 @itemize @bullet
48 @item
49 Support for figured bass has been rewritten. Now it supports
50 continuation lines, slashed figures, and its figures, brackets, and alignments may
51 tuned separately.
52
53 @lilypond[raggedright,fragment]
54 <<
55 \relative { c4 c c c }
56 \figures {
57   \set useBassFigureExtenders = ##t
58   <6+ 4 3> <6 4 3> <4 3+> <5/ 7/\+>
59 } >>
60 @end lilypond
61
62 This rewrite was sponsored by Trent Johnston and John Mandereau.
63
64 @item
65 For each grob, a subproperty in @code{callbacks} property defines the
66 procedure which computes it. This is major internal cleanup, which
67 also provides advanced tweakability for power users. For example,
68
69 @verbatim
70 \override Beam #'callbacks #'direction
71   = #(lambda (grob)
72       (if (> 4 (ly:grob-array-length (ly:grob-object grob 'stems)))
73           DOWN
74           UP))
75 @end verbatim 
76
77 @noindent
78 With this code fragment, the direction of a beam is decided to be up
79 or down, depending on the number of stems in the beam.
80
81 @item
82 Subproperties, like the @code{details} field of @code{Slur} and
83 @code{Tie} may now be tuned with @code{\override}. For example, 
84
85 @verbatim
86 \override Stem #'details #'beamed-lengths = #'(4 4 3) 
87 @end verbatim
88
89 @noindent
90 shortens the stems in beams.
91
92 @item
93 The default paper size may now be set from the command line using
94 @code{-dpaper-size}.
95
96 @item
97 Beamlets may stick out of the side of beams.
98
99
100 @lilypond[fragment,raggedright,relative=2]
101 {
102   \override Beam #'break-overshoot = #'(-0.5 . 0.5) 
103   \set stemLeftBeamCount = #2
104   c8[
105     c16
106     \set stemRightBeamCount = #3
107     c ]  
108 }
109 @end lilypond
110
111 This feature was sponsored by Trevor Bača.
112  
113
114
115 @item  
116 Vertical alignments of staves can now be tuned easily for individual
117 systems.
118
119 @lilypond[raggedright]
120 #(set-global-staff-size 13)
121 \relative c'' <<
122   \new PianoStaff <<
123     \new Voice  {
124       c1
125       
126       \overrideProperty
127       #"Score.NonMusicalPaperColumn"
128       #'line-break-system-details
129       #'((fixed-alignment-extra-space . 15))
130       c
131
132     }
133     { 
134         c1\break 
135         c\break 
136     }
137   >>
138 >>
139 @end lilypond
140
141 This feature was sponsored by Nicolas Sceaux.
142
143 @item 
144 Vertical spacing for page layout can now be tuned for each system
145 individually.  The dimensions that can be tuned can be visualized.
146
147 @lilypond[verbatim]
148 #(set-default-paper-size "a7" 'landscape)
149 \book {
150  \score { { c4 } }
151  \paper { annotatespacing = ##t }
152 }
153 @end lilypond
154
155 These features were sponsored by Trevor Bača and Nicolas Sceaux.
156
157 @item
158 The slope of a stem-tremolo may be set manually
159
160 @lilypond[fragment,relative=1,raggedright]
161 c8:16[ 
162 \once \override StemTremolo #'slope = #0.45
163 c:16 c:16 c:16 ]
164 @end lilypond 
165
166 This feature was sponsored by Sven Axelsson.
167
168 @item
169 Laissez vibrer ties can be created with @code{\laissezVibrer},
170
171 @lilypond[fragment,raggedright,relative=1]
172   <c e g>\laissezVibrer r  <d f>\laissezVibrer
173 @end lilypond
174
175 This feature was sponsored by Henrik Frisk.
176
177 @item
178 The order of words in @code{\markup} commands may now be reversed by
179 setting the @code{text-direction} property. This is useful for
180 Right-to-Left languages like Hebrew.
181
182 This feature was sponsored by Aaron Mehl.
183
184 @item
185 Texts over multi measure rests can stretch the corresponding measure,
186 if the appropriate @code{spring-and-rods} callback is set.
187
188 @lilypond[relative=2,fragment,raggedright]
189 \override MultiMeasureRestText #'callbacks #'springs-and-rods
190   = #Multi_measure_rest::set_text_rods
191 c1 R1 R1^"Very long long long text" 
192 @end lilypond
193
194 This feature was sponsored by Kris Shaffer.
195
196
197 @item @textanchor{tie-chords}
198 Formatting of ties in chords has been improved. Ties no longer collide
199 with note heads and stems. In addition, it is possible to manually
200 specify tie formatting
201
202 @lilypond[relative=2, fragment,raggedright]
203   <a c d f> ~ <a c d f>
204   
205   \override TieColumn #'tie-configuration =
206   #'((0 . -1)  (2 . -1) (5.5 . 1) (7 . 1))
207   <b d f g> ~ <b d f g>
208 @end lilypond
209
210 This improvement has been sponsored by Bertalan Fodor, Jay Hamilton,
211 Kieren MacMillan, Steve Doonan, Trevor Bača, and Vicente Solsona
212 Dell¡.
213
214 @item
215 Formatting of isolated, single ties has been improved. Now, ties avoid
216 staff lines, flags and dots, without compromising their shape.
217
218 @lilypond[fragment,raggedright]
219 \relative c'' {
220   \stemUp
221   c16 c2...~ c16 ~ c2... |
222   c4~c8 c8~c16 c16~c32 c16.~[ c64]~ c64[ c8..] |
223 }
224 @end lilypond
225
226 This improvement has been sponsored by Bertalan Fodor, Jay Hamilton,
227 Kieren MacMillan, Steve Doonan, Trevor Bača, and Vicente Solsona
228 Dell¡.
229  
230
231 @item  @textanchor{repeat-counter}
232 With the @code{countPercentRepeats} property,
233 percent repeats get incremental numbers to indicate the accumulated repeat count.
234
235 @lilypond[relative=2,fragment,raggedright]
236 \set countPercentRepeats = ##t
237 \repeat percent 4 { c1 }
238 \time 2/4
239 \repeat percent 4 { c2 c2 }
240 @end lilypond
241
242 This feature was sponsored by Yoshinobu Ishizaki
243                   
244 @item
245 Text scripts such as fingering instructions and dynamics avoid
246 collisions with slurs
247
248 @lilypond[fragment,relative=1]
249 {
250   b_1( f'_1_2_3 c_3_4_5 a)
251   b( f'\p b,)
252   c-2_\markup { \italic {"cresc."}} ( f_\markup {x} c)
253 }
254 @end lilypond
255
256 @item
257 Tuplets can be made to reach the next non-tuplet note by setting the
258 @code{tupletFullLength}  property,
259
260 @lilypond[fragment,relative=2]
261 \new Voice \with {
262   \remove Forbid_line_break_engraver
263   allowBeamBreak = ##t
264 }
265 {
266   \set Score.proportionalNotationDuration = #(ly:make-moment 1 32)
267   \set tupletFullLength = ##t
268   \times 2/3 { c8[ c c] }
269   c4
270 }
271 @end lilypond  
272
273 This feature was sponsored by Trevor Bača. 
274
275 @item
276 When @code{strict-note-spacing} is set, notes are spaced without regard
277 for clefs, bar lines, and grace notes. For example,
278
279 @lilypond[fragment,relative=2]
280 \override Score.SpacingSpanner #'strict-note-spacing = ##t 
281 \new Staff { c8[ c \clef alto c \grace { c16[ c] } c8 c c]  c32[ c32] }
282 @end lilypond
283
284 This feature was sponsored by Trevor Bača. 
285
286 @item
287 Beams support the @code{break-overshoot} property, for example
288
289 @lilypond[relative=2,fragment]
290 \set allowBeamBreak = ##t
291 \override Beam #'break-overshoot = #'(1.0 . 2.0)
292 c2.. c8[ \break c]
293 @end lilypond
294  
295 This feature was sponsored by Trevor Bača. 
296
297 @item
298 Proportional notation is supported.  Notes can be spaced proportional
299 to their time-difference by assigning a duration to
300 @code{proportionalNotationDuration}. For example,
301
302 @lilypond[relative=2,fragment,raggedright]
303 <<
304   \set Score.proportionalNotationDuration = #(ly:make-moment 1 16)
305   \new Staff { c8[ c c c c c]  c4 c2 r2 }
306   \new Staff { c2  \times 2/3 { c8 c c } c4 c1 }
307 >>
308 @end lilypond
309
310 This feature was sponsored by Trevor Bača.
311
312 @item 
313 Symbol sizes (e.g. accidentals) are disregarded for spacing if
314 @code{uniform-stretching} of the @code{SpacingSpanner} grob is set,
315
316
317 @lilypond[relative=2,fragment]
318 <<
319   \override  Score.SpacingSpanner #'uniform-stretching = ##t 
320   \new Staff { c16[ c c c c c c c c c16]  }
321   \new Staff {
322     \times 6/7 { c16 c c cis c c c }
323     c8[ c32 c32 c16]
324   }
325 >>
326 @end lilypond
327
328 This feature was sponsored by Trevor Bača.
329  
330 @item
331 Endings of broken tuplet brackets can be tuned.  For example, you can
332 add arrows to the brackets,
333
334 @lilypond[fragment,raggedright,relative=2]
335 \override TupletBracket
336  #'edge-text = #(cons
337              (markup #:arrow-head X LEFT #f)
338              (markup #:arrow-head X RIGHT #f))
339 \times 4/5 {
340  c c c \bar "empty" \break c c
341 }
342 @end lilypond
343
344 This feature was sponsored by Trevor Bača.
345
346
347 @item @textanchor{arrow-glyph}
348 Arrow heads were added to the Feta font.
349
350 @lilypond[]
351 \lyrics {
352   \markup {
353     filled, to the right:  \hspace #2.0 \fontsize #6 \arrow-head #0 #1 ##t
354     open, down: \hspace #2.0 \fontsize #6 \arrow-head #1 #-1 ##f
355   }
356 }
357 @end lilypond
358
359 These glyphs have been sponsored by Trevor Bača.
360
361
362 @item
363 Nested tuplets are automatically positioned,
364
365 @lilypond[fragment,raggedright,relative=2]
366 \set tupletNumberFormatFunction = #fraction-tuplet-formatter
367 \times 4/6 {
368   a4 a 
369   \times 3/5 { a a a a a }
370 }
371 @end lilypond
372
373 This feature was sponsored by Trevor Bača.
374
375 @item
376 Music expressions can be displayed, in LilyPond notation, using the
377 new @code{\displayLilyMusic} function. For instance:
378 @verbatim
379 \displayLilyMusic \transpose c a, { c d e f }
380 @end verbatim
381 will print:
382 @verbatim
383 { a, b, cis d }
384 @end verbatim
385
386 This feature was contributed by Nicolas Sceaux.
387
388 @item
389 The current bar number may be checked with @code{\barNumberCheck}, eg.
390
391 @verbatim
392 \barNumberCheck #22
393 @end verbatim
394
395 @noindent
396 will print a warning if it doesn't happen in measure 22.
397  
398 @item
399 If @code{showLastLength} is set, only the last few measures of a piece
400 are rendered, which speeds up correcting scores. For example, setting
401
402 @verbatim
403 showLastLength = R1*5
404 \score { ... }
405 @end verbatim
406
407 @noindent
408 will render only the last five measures (assuming 4/4 time signature)
409 of a piece.
410
411 @item @textanchor{simple-melismata}
412 Melismata can be specified simply in the lyrics now, eg.
413
414 @lilypond[relative=1,verbatim,fragment]
415 {
416   c d( e) f e d
417 } \addlyrics {
418   Ky -- _ _ ri e
419 }
420 @end lilypond 
421
422 This feature was sponsored by Nancho Alvarez 
423
424 @item
425 Suggested accidentals (for notating musica ficta) may be switched on
426 with @code{suggestAccidentals}
427
428 @lilypond[verbatim,fragment,relative=2]
429 \set suggestAccidentals = ##t
430 ais bis
431 @end lilypond 
432
433 This feature was sponsored by Nancho Alvarez.
434
435 @item
436 The setting @code{whichBar} and time-bookkeeping is now split into a
437 @code{Default_bar_line_engraver} and @code{Timing_translator}
438 respectively.
439
440 @item @textanchor{pitched-trill}
441 Explicit pitches may be added to trills,
442
443 @lilypond[relative,verbatim,fragment]
444   \pitchedTrill c4\startTrillSpan fis f\stopTrillSpan
445 @end lilypond 
446
447 This feature was sponsored by D. Josiah Boothby and Jamie Bullock
448
449 @item
450 Markup now supports formatting of text paragraphs, using
451 @code{\wordwrap} and @code{\justify}.
452
453 This feature was sponsored by Sven Axelsson.
454 @end itemize
455
456 @ifhtml
457 For older news, go to
458 @uref{http://lilypond.org/doc/v2.6/Documentation/topdocs/out-www/NEWS.html}.
459 @end ifhtml
460
461 @bye