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