]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/topdocs/NEWS.tely
a2e06d516bc1c8c0a86eda32ccd1fc1763dd44d4
[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 @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 Ties in chords are also formatted using a scoring based
50 formatting. This reduces the number of collisions for ties in
51 chords, 
52
53 @lilypond[raggedright,fragment,relative=2]
54   <b  d f g> ~  <b  d f g> 
55 @end lilypond
56
57 Here, the tie for the F is flipped, in spite the default rule for
58 directions in chords.
59
60 This rewrite was sponsored by Steve Doonan.
61
62 @item With the @code{\tweak} music function, layout objects that are directly
63 connected to input may be tuned easily,
64
65 @lilypond[relative=2,fragment,verbatim,raggedright]
66 <
67   \tweak #'font-size #3  c
68   \tweak #'color #red d
69   \tweak #'style #'cross  g
70   \tweak #'duration-log #1  a
71 >4
72 @end lilypond
73
74 This feature was sponsored by Sean Reed and Bertalan Fodor.
75
76 @item Generic music functions may now also be used on articulations
77 and chord elements, eg.
78
79 @verbatim
80   < \displayMusic c
81     e-\keepWithTag #'bla -\tag #'bla ^2 >
82 @end verbatim
83
84 This feature was sponsored by Sean Reed and Bertalan Fodor.
85
86
87 @item Spaces between lyrics and distance between syllables with
88 hyphens may now be separately tuned through the
89 @code{LyricSpace} grob.
90
91 This feature has been sponsored by Bertalan Fodor.
92
93 @item A MusicXML importer is included now.
94
95 @item Texts set in a TrueType font are now kerned. This requires CVS
96 Pango or Pango 1.12.
97
98 @item Using the @TeX{}  no longer requires linking or dynamically
99 opening the kpathsea library, making the backend more easily usable on
100 various systems.
101
102 This fix was sponsored by Black Trash Productions.
103
104 @item The horizontal location of rehearsal marks can be adjusted by
105 setting the @code{rehearsalMarkAlignSymbol} property,
106
107 @lilypond[raggedright]
108 \relative {
109   c1
110   \key cis \major
111   \clef alto
112   \set Score.rehearsalMarkAlignSymbol = #'key-signature
113   \mark "on-key"
114   cis
115  \key ces \major
116   \set Score.rehearsalMarkAlignSymbol = #'clef
117   \clef treble
118   \mark "on clef"
119   ces
120 }
121 @end lilypond 
122
123
124 This feature was sponsored by Trevor Bača.
125
126
127 @item
128 It's now possible to easily create deeply nested system start
129 delimiters,
130
131 @lilypond[raggedright]
132 \new StaffGroup 
133 \relative <<
134   \set StaffGroup.systemStartDelimiterHierarchy
135     = #'(SystemStartSquare (SystemStartBracket a (SystemStartSquare b)) d)
136   \new Staff { c1 }
137   \new Staff { c1 }
138   \new Staff { c1 }
139   \new Staff { c1 }
140   \new Staff { c1 }
141 >>
142 @end lilypond
143
144
145 In addition, there is now also support for ``square'' system start
146 brackets.
147
148 This feature was sponsored by Trevor Bača.
149
150 @item
151 Tie formatting now uses scoring. This opens the road to formatting
152 which handles complex situations require tradeoffs between different
153 beauty factors.
154
155 This refactoring has been sponsored by Steve Doonan.
156  
157 @item
158 Each grob property may also be a ``grob closure.'' This means that it
159 is possible to combine functions. For example, the @code{Y-offset} of
160 a @code{InstrumentName} grob is defined to be 
161
162 @verbatim
163 ,(ly:make-simple-closure
164   `(,+
165     ,(ly:make-simple-closure
166       (,Self_alignment_interface::y_aligned_on_self))
167     ,(ly:make-simple-closure
168       (,Side_position_interface::y_aligned_on_support_refpoints)))
169 @end verbatim
170
171 @noindent
172 During execution, the @code{Y-offset} of an @code{InstrumentName} is computed
173 as
174
175 @example
176 (+ (Self_alignment_interface::y_aligned_on_self @var{grob})
177    (Self_alignment_interface::y_aligned_on_support_refpoints @var{grob}))
178 @end example
179
180
181 @item
182 Calculation of extent and offset of grob is now controlled via the
183 @code{X-extent}, @code{Y-extent}, @code{X-offset} and @code{Y-offset}
184 properties, for example
185
186 @verbatim
187 \override TextScript #'Y-offset = #-6
188 @end verbatim
189
190 @noindent
191 hard codes @code{TextScript} grobs to be 6 spaces below their Y-parent
192 grobs.
193
194 @item
195 Each grob property can be a procedure. If this is the case, it is
196 assumed to be a routine that calculates said property.  This is a
197 major internal cleanup, which also provides advanced tweakability for
198 power users. For example,
199
200 @verbatim
201 \override Beam #'direction
202   = #(lambda (grob)
203       (if (> 4 (ly:grob-array-length (ly:grob-object grob 'stems)))
204           DOWN
205           UP))
206 @end verbatim 
207
208 @noindent
209 With this code fragment, the direction of a beam is decided to be up
210 or down, depending on the number of stems in the beam.
211
212
213 @item
214 Support for figured bass has been rewritten. Now it supports
215 continuation lines, slashed figures, and its figures, brackets, and alignments may
216 tuned separately.
217
218 @lilypond[raggedright,fragment]
219 <<
220 \relative { c4 c c c }
221 \figures {
222   \set useBassFigureExtenders = ##t
223   <6+ 4 3> <6 4 3> <4 3+> <5/ 7/\+>
224 } >>
225 @end lilypond
226
227 This rewrite was sponsored by Trent Johnston and John Mandereau.
228
229 @item
230 Subproperties, like the @code{details} field of @code{Slur} and
231 @code{Tie} may now be tuned with @code{\override}. For example, 
232
233 @verbatim
234 \override Stem #'details #'beamed-lengths = #'(4 4 3) 
235 @end verbatim
236
237 @noindent
238 shortens the stems in beams.
239
240 @item
241 The default paper size may now be set from the command line using
242 @code{-dpaper-size}.
243
244 @item
245 Beamlets may stick out of the side of beams.
246
247
248 @lilypond[fragment,raggedright,relative=2]
249 {
250   \override Beam #'break-overshoot = #'(-0.5 . 0.5) 
251   \set stemLeftBeamCount = #2
252   c8[
253     c16
254     \set stemRightBeamCount = #3
255     c ]  
256 }
257 @end lilypond
258
259 This feature was sponsored by Trevor Bača.
260  
261
262
263 @item  
264 Vertical alignments of staves can now be tuned easily for individual
265 systems.
266
267 @lilypond[raggedright]
268 #(set-global-staff-size 13)
269 \relative c'' <<
270   \new PianoStaff <<
271     \new Voice  {
272       c1
273       
274       \overrideProperty
275       #"Score.NonMusicalPaperColumn"
276       #'line-break-system-details
277       #'((fixed-alignment-extra-space . 15))
278       c
279
280     }
281     { 
282         c1\break 
283         c\break 
284     }
285   >>
286 >>
287 @end lilypond
288
289 This feature was sponsored by Nicolas Sceaux.
290
291 @item 
292 Vertical spacing for page layout can now be tuned for each system
293 individually.  The dimensions that can be tuned can be visualized.
294
295 @lilypond[verbatim]
296 #(set-default-paper-size "a7" 'landscape)
297 \book {
298  \score { { c4 } }
299  \paper { annotatespacing = ##t }
300 }
301 @end lilypond
302
303 These features were sponsored by Trevor Bača and Nicolas Sceaux.
304
305 @item
306 The slope of a stem-tremolo may be set manually
307
308 @lilypond[fragment,relative=1,raggedright]
309 c8:16[ 
310 \once \override StemTremolo #'slope = #0.45
311 c:16 c:16 c:16 ]
312 @end lilypond 
313
314 This feature was sponsored by Sven Axelsson.
315
316 @item
317 Laissez vibrer ties can be created with @code{\laissezVibrer},
318
319 @lilypond[fragment,raggedright,relative=1]
320   <c e g>\laissezVibrer r  <d f>\laissezVibrer
321 @end lilypond
322
323 This feature was sponsored by Henrik Frisk.
324
325 @item
326 The order of words in @code{\markup} commands may now be reversed by
327 setting the @code{text-direction} property. This is useful for
328 Right-to-Left languages like Hebrew.
329
330 This feature was sponsored by Aaron Mehl.
331
332 @item
333 Texts over multi measure rests can stretch the corresponding measure,
334 if the appropriate @code{spring-and-rods} callback is set.
335
336 @lilypond[relative=2,fragment,raggedright]
337 \override MultiMeasureRestText #'springs-and-rods
338   = #Multi_measure_rest::set_text_rods
339 c1 R1 R1^"Very long long long text" 
340 @end lilypond
341
342 This feature was sponsored by Kris Shaffer.
343
344
345 @item @textanchor{tie-chords}
346 Formatting of ties in chords has been improved. Ties no longer collide
347 with note heads and stems. In addition, it is possible to manually
348 specify tie formatting
349
350 @lilypond[relative=2, fragment,raggedright]
351   <a c d f> ~ <a c d f>
352   
353   \override TieColumn #'tie-configuration =
354   #'((0 . -1)  (2 . -1) (5.5 . 1) (7 . 1))
355   <b d f g> ~ <b d f g>
356 @end lilypond
357
358 This improvement has been sponsored by Bertalan Fodor, Jay Hamilton,
359 Kieren MacMillan, Steve Doonan, Trevor Bača, and Vicente Solsona
360 Dell¡.
361
362 @item
363 Formatting of isolated, single ties has been improved. Now, ties avoid
364 staff lines, flags and dots, without compromising their shape.
365
366 @lilypond[fragment,raggedright]
367 \relative c'' {
368   \stemUp
369   c16 c2...~ c16 ~ c2... |
370   c4~c8 c8~c16 c16~c32 c16.~[ c64]~ c64[ c8..] |
371 }
372 @end lilypond
373
374 This improvement has been sponsored by Bertalan Fodor, Jay Hamilton,
375 Kieren MacMillan, Steve Doonan, Trevor Bača, and Vicente Solsona
376 Dell¡.
377  
378
379 @item  @textanchor{repeat-counter}
380 With the @code{countPercentRepeats} property,
381 percent repeats get incremental numbers to indicate the accumulated repeat count.
382
383 @lilypond[relative=2,fragment,raggedright]
384 \set countPercentRepeats = ##t
385 \repeat percent 4 { c1 }
386 \time 2/4
387 \repeat percent 4 { c2 c2 }
388 @end lilypond
389
390 This feature was sponsored by Yoshinobu Ishizaki
391                   
392 @item
393 Text scripts such as fingering instructions and dynamics avoid
394 collisions with slurs
395
396 @lilypond[fragment,relative=1]
397 {
398   b_1( f'_1_2_3 c_3_4_5 a)
399   b( f'\p b,)
400   c-2_\markup { \italic {"cresc."}} ( f_\markup {x} c)
401 }
402 @end lilypond
403
404 @item
405 Tuplets can be made to reach the next non-tuplet note by setting the
406 @code{tupletFullLength}  property,
407
408 @lilypond[fragment,relative=2]
409 \new Voice \with {
410   \remove Forbid_line_break_engraver
411   allowBeamBreak = ##t
412 }
413 {
414   \set Score.proportionalNotationDuration = #(ly:make-moment 1 32)
415   \set tupletFullLength = ##t
416   \times 2/3 { c8[ c c] }
417   c4
418 }
419 @end lilypond  
420
421 This feature was sponsored by Trevor Bača. 
422
423 @item
424 When @code{strict-note-spacing} is set, notes are spaced without regard
425 for clefs, bar lines, and grace notes. For example,
426
427 @lilypond[fragment,relative=2]
428 \override Score.SpacingSpanner #'strict-note-spacing = ##t 
429 \new Staff { c8[ c \clef alto c \grace { c16[ c] } c8 c c]  c32[ c32] }
430 @end lilypond
431
432 This feature was sponsored by Trevor Bača. 
433
434 @item
435 Beams support the @code{break-overshoot} property, for example
436
437 @lilypond[relative=2,fragment]
438 \set allowBeamBreak = ##t
439 \override Beam #'break-overshoot = #'(1.0 . 2.0)
440 c2.. c8[ \break c]
441 @end lilypond
442  
443 This feature was sponsored by Trevor Bača. 
444
445 @item
446 Proportional notation is supported.  Notes can be spaced proportional
447 to their time-difference by assigning a duration to
448 @code{proportionalNotationDuration}. For example,
449
450 @lilypond[relative=2,fragment,raggedright]
451 <<
452   \set Score.proportionalNotationDuration = #(ly:make-moment 1 16)
453   \new Staff { c8[ c c c c c]  c4 c2 r2 }
454   \new Staff { c2  \times 2/3 { c8 c c } c4 c1 }
455 >>
456 @end lilypond
457
458 This feature was sponsored by Trevor Bača.
459
460 @item 
461 Symbol sizes (e.g. accidentals) are disregarded for spacing if
462 @code{uniform-stretching} of the @code{SpacingSpanner} grob is set,
463
464
465 @lilypond[relative=2,fragment]
466 <<
467   \override  Score.SpacingSpanner #'uniform-stretching = ##t 
468   \new Staff { c16[ c c c c c c c c c16]  }
469   \new Staff {
470     \times 6/7 { c16 c c cis c c c }
471     c8[ c32 c32 c16]
472   }
473 >>
474 @end lilypond
475
476 This feature was sponsored by Trevor Bača.
477  
478 @item
479 Endings of broken tuplet brackets can be tuned.  For example, you can
480 add arrows to the brackets,
481
482 @lilypond[fragment,raggedright,relative=2]
483 \override TupletBracket
484  #'edge-text = #(cons
485              (markup #:arrow-head X LEFT #f)
486              (markup #:arrow-head X RIGHT #f))
487 \times 4/5 {
488  c c c \bar "empty" \break c c
489 }
490 @end lilypond
491
492 This feature was sponsored by Trevor Bača.
493
494
495 @item @textanchor{arrow-glyph}
496 Arrow heads were added to the Feta font.
497
498 @lilypond[]
499 \lyrics {
500   \markup {
501     filled, to the right:  \hspace #2.0 \fontsize #6 \arrow-head #0 #1 ##t
502     open, down: \hspace #2.0 \fontsize #6 \arrow-head #1 #-1 ##f
503   }
504 }
505 @end lilypond
506
507 These glyphs have been sponsored by Trevor Bača.
508
509
510 @item
511 Nested tuplets are automatically positioned,
512
513 @lilypond[fragment,raggedright,relative=2]
514 \set tupletNumberFormatFunction = #fraction-tuplet-formatter
515 \times 4/6 {
516   a4 a 
517   \times 3/5 { a a a a a }
518 }
519 @end lilypond
520
521 This feature was sponsored by Trevor Bača.
522
523 @item
524 Music expressions can be displayed, in LilyPond notation, using the
525 new @code{\displayLilyMusic} function. For instance:
526 @verbatim
527 \displayLilyMusic \transpose c a, { c d e f }
528 @end verbatim
529 will print:
530 @verbatim
531 { a, b, cis d }
532 @end verbatim
533
534 This feature was contributed by Nicolas Sceaux.
535
536 @item
537 The current bar number may be checked with @code{\barNumberCheck}, eg.
538
539 @verbatim
540 \barNumberCheck #22
541 @end verbatim
542
543 @noindent
544 will print a warning if it doesn't happen in measure 22.
545  
546 @item
547 If @code{showLastLength} is set, only the last few measures of a piece
548 are rendered, which speeds up correcting scores. For example, setting
549
550 @verbatim
551 showLastLength = R1*5
552 \score { ... }
553 @end verbatim
554
555 @noindent
556 will render only the last five measures (assuming 4/4 time signature)
557 of a piece.
558
559 @item @textanchor{simple-melismata}
560 Melismata can be specified simply in the lyrics now, eg.
561
562 @lilypond[relative=1,verbatim,fragment]
563 {
564   c d( e) f e d
565 } \addlyrics {
566   Ky -- _ _ ri e
567 }
568 @end lilypond 
569
570 This feature was sponsored by Nancho Alvarez 
571
572 @item
573 Suggested accidentals (for notating musica ficta) may be switched on
574 with @code{suggestAccidentals}
575
576 @lilypond[verbatim,fragment,relative=2]
577 \set suggestAccidentals = ##t
578 ais bis
579 @end lilypond 
580
581 This feature was sponsored by Nancho Alvarez.
582
583 @item
584 The setting @code{whichBar} and time-bookkeeping is now split into a
585 @code{Default_bar_line_engraver} and @code{Timing_translator}
586 respectively.
587
588 @item @textanchor{pitched-trill}
589 Explicit pitches may be added to trills,
590
591 @lilypond[relative,verbatim,fragment]
592   \pitchedTrill c4\startTrillSpan fis f\stopTrillSpan
593 @end lilypond 
594
595 This feature was sponsored by D. Josiah Boothby and Jamie Bullock
596
597 @item
598 Markup now supports formatting of text paragraphs, using
599 @code{\wordwrap} and @code{\justify}.
600
601 This feature was sponsored by Sven Axelsson.
602 @end itemize
603
604 @ifhtml
605 For older news, go to
606 @uref{http://lilypond.org/doc/v2.6/Documentation/topdocs/NEWS.html}.
607 @end ifhtml
608
609 @bye