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