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