1 \input texinfo @c -*- coding: utf-8; mode: texinfo; -*-
6 @macro inputfileref{DIR,NAME}
7 @uref{../../../\DIR\/collated-files.html#\NAME\,@file{\DIR\/\NAME\}}@c
9 @macro usermanref{NAME}
10 @inforef{\NAME\,,../../user/lilypond/lilypond}@c
15 @macro inputfileref{DIR,NAME}
18 @macro usermanref{NAME}
19 See user manual, \NAME\
24 @macro textanchor{NAME}
31 @documentencoding utf-8
38 @unnumbered New features in 2.7 since 2.6
41 This document is also available in @uref{NEWS.pdf,PDF}.
49 Stem direction on the center staff line are now interpolated between
50 neighbors. This results in less stem direction changes, leading to a
51 more even typography. For example,
56 Slurs now avoid @code{TupletNumber}s, and tuplet numbers may enter the
59 @lilypond[raggedright]
62 \override TupletBracket #'bracket-visibility = ##f
63 \override TupletBracket #'staff-padding = ##f
64 \override Slur #'details #'region-size = #6
68 c( \stemDown g' \stemNeutral c,)
73 This feature was sponsored by Trent Johnston.
75 @item Tuplet brackets and numbers are implemented as separate grobs,
76 @code{TupletBracket} and @code{TupletNumber}.
78 This rewrite was sponsored by Trent Johnston.
80 @item String arguments for music functions may be specified without
81 @code{#} marks. This allows syntactical constructs (like \clef and
82 \bar) to be expressed in generic music functions.
84 @item Ties in chords are also formatted using a scoring based
85 formatting. This reduces the number of collisions for ties in chords,
87 @lilypond[raggedright,fragment,relative=2]
91 Here, the tie for the D is flipped, in spite the default rule for
94 This rewrite was sponsored by Steve Doonan.
96 @item With the @code{\tweak} music function, layout objects that are directly
97 connected to input may be tuned easily,
99 @lilypond[relative=2,fragment,verbatim,raggedright]
101 \tweak #'font-size #3 c
102 \tweak #'color #red d
103 \tweak #'style #'cross g
104 \tweak #'duration-log #1 a
108 This feature was sponsored by Sean Reed and Bertalan Fodor.
110 @item Generic music functions may now also be used on articulations
111 and chord elements, eg.
115 e-\keepWithTag #'bla -\tag #'bla ^2 >
118 This feature was sponsored by Sean Reed and Bertalan Fodor.
121 @item Spaces between lyrics and distance between syllables with
122 hyphens may now be separately tuned through the
123 @code{LyricSpace} grob.
125 This feature has been sponsored by Bertalan Fodor.
127 @item A MusicXML importer is included now.
129 @item Texts set in a TrueType font are now kerned. This requires CVS
132 @item Using the @TeX{} no longer requires linking or dynamically
133 opening the kpathsea library, making the backend more easily usable on
136 This fix was sponsored by Black Trash Productions.
138 @item The horizontal location of rehearsal marks can be adjusted by
139 setting the @code{rehearsalMarkAlignSymbol} property,
141 @lilypond[raggedright]
146 \set Score.rehearsalMarkAlignSymbol = #'key-signature
150 \set Score.rehearsalMarkAlignSymbol = #'clef
158 This feature was sponsored by Trevor Bača.
162 It's now possible to easily create deeply nested system start
165 @lilypond[raggedright]
168 \set StaffGroup.systemStartDelimiterHierarchy
169 = #'(SystemStartSquare (SystemStartBracket a (SystemStartSquare b)) d)
179 In addition, there is now also support for ``square'' system start
182 This feature was sponsored by Trevor Bača.
185 Tie formatting now uses scoring. This opens the road to formatting
186 which handles complex situations require tradeoffs between different
189 This refactoring has been sponsored by Steve Doonan.
192 Each grob property may also be a ``grob closure.'' This means that it
193 is possible to combine functions. For example, the @code{Y-offset} of
194 a @code{InstrumentName} grob is defined to be
197 ,(ly:make-simple-closure
199 ,(ly:make-simple-closure
200 (,Self_alignment_interface::y_aligned_on_self))
201 ,(ly:make-simple-closure
202 (,Side_position_interface::y_aligned_on_support_refpoints)))
206 During execution, the @code{Y-offset} of an @code{InstrumentName} is computed
210 (+ (Self_alignment_interface::y_aligned_on_self @var{grob})
211 (Self_alignment_interface::y_aligned_on_support_refpoints @var{grob}))
216 Calculation of extent and offset of grob is now controlled via the
217 @code{X-extent}, @code{Y-extent}, @code{X-offset} and @code{Y-offset}
218 properties, for example
221 \override TextScript #'Y-offset = #-6
225 hard codes @code{TextScript} grobs to be 6 spaces below their Y-parent
229 Each grob property can be a procedure. If this is the case, it is
230 assumed to be a routine that calculates said property. This is a
231 major internal cleanup, which also provides advanced tweakability for
232 power users. For example,
235 \override Beam #'direction
237 (if (> 4 (ly:grob-array-length (ly:grob-object grob 'stems)))
243 With this code fragment, the direction of a beam is decided to be up
244 or down, depending on the number of stems in the beam.
248 Support for figured bass has been rewritten. Now it supports
249 continuation lines, slashed figures, and its figures, brackets, and alignments may
252 @lilypond[raggedright,fragment]
254 \relative { c4 c c c }
256 \set useBassFigureExtenders = ##t
257 <6+ 4 3> <6 4 3> <4 3+> <5/ 7/\+>
261 This rewrite was sponsored by Trent Johnston and John Mandereau.
264 Subproperties, like the @code{details} field of @code{Slur} and
265 @code{Tie} may now be tuned with @code{\override}. For example,
268 \override Stem #'details #'beamed-lengths = #'(4 4 3)
272 shortens the stems in beams.
275 The default paper size may now be set from the command line using
279 Beamlets may stick out of the side of beams.
282 @lilypond[fragment,raggedright,relative=2]
284 \override Beam #'break-overshoot = #'(-0.5 . 0.5)
285 \set stemLeftBeamCount = #2
288 \set stemRightBeamCount = #3
293 This feature was sponsored by Trevor Bača.
298 Vertical alignments of staves can now be tuned easily for individual
301 @lilypond[raggedright]
302 #(set-global-staff-size 13)
309 #"Score.NonMusicalPaperColumn"
310 #'line-break-system-details
311 #'((fixed-alignment-extra-space . 15))
323 This feature was sponsored by Nicolas Sceaux.
326 Vertical spacing for page layout can now be tuned for each system
327 individually. The dimensions that can be tuned can be visualized.
330 #(set-default-paper-size "a7" 'landscape)
333 \paper { annotatespacing = ##t }
337 These features were sponsored by Trevor Bača and Nicolas Sceaux.
340 The slope of a stem-tremolo may be set manually
342 @lilypond[fragment,relative=1,raggedright]
344 \once \override StemTremolo #'slope = #0.45
348 This feature was sponsored by Sven Axelsson.
351 Laissez vibrer ties can be created with @code{\laissezVibrer},
353 @lilypond[fragment,raggedright,relative=1]
354 <c e g>\laissezVibrer r <d f>\laissezVibrer
357 This feature was sponsored by Henrik Frisk.
360 The order of words in @code{\markup} commands may now be reversed by
361 setting the @code{text-direction} property. This is useful for
362 Right-to-Left languages like Hebrew.
364 This feature was sponsored by Aaron Mehl.
367 Texts over multi measure rests can stretch the corresponding measure,
368 if the appropriate @code{spring-and-rods} callback is set.
370 @lilypond[relative=2,fragment,raggedright]
371 \override MultiMeasureRestText #'springs-and-rods
372 = #Multi_measure_rest::set_text_rods
373 c1 R1 R1^"Very long long long text"
376 This feature was sponsored by Kris Shaffer.
379 @item @textanchor{tie-chords}
380 Formatting of ties in chords has been improved. Ties no longer collide
381 with note heads and stems. In addition, it is possible to manually
382 specify tie formatting
384 @lilypond[relative=2, fragment,raggedright]
385 <a c d f> ~ <a c d f>
387 \override TieColumn #'tie-configuration =
388 #'((0 . -1) (2 . -1) (5.5 . 1) (7 . 1))
389 <b d f g> ~ <b d f g>
392 This improvement has been sponsored by Bertalan Fodor, Jay Hamilton,
393 Kieren MacMillan, Steve Doonan, Trevor Bača, and Vicente Solsona
397 Formatting of isolated, single ties has been improved. Now, ties avoid
398 staff lines, flags and dots, without compromising their shape.
400 @lilypond[fragment,raggedright]
403 c16 c2...~ c16 ~ c2... |
404 c4~c8 c8~c16 c16~c32 c16.~[ c64]~ c64[ c8..] |
408 This improvement has been sponsored by Bertalan Fodor, Jay Hamilton,
409 Kieren MacMillan, Steve Doonan, Trevor Bača, and Vicente Solsona
413 @item @textanchor{repeat-counter}
414 With the @code{countPercentRepeats} property,
415 percent repeats get incremental numbers to indicate the accumulated repeat count.
417 @lilypond[relative=2,fragment,raggedright]
418 \set countPercentRepeats = ##t
419 \repeat percent 4 { c1 }
421 \repeat percent 4 { c2 c2 }
424 This feature was sponsored by Yoshinobu Ishizaki
427 Text scripts such as fingering instructions and dynamics avoid
428 collisions with slurs
430 @lilypond[fragment,relative=1]
432 b_1( f'_1_2_3 c_3_4_5 a)
434 c-2_\markup { \italic {"cresc."}} ( f_\markup {x} c)
439 Tuplets can be made to reach the next non-tuplet note by setting the
440 @code{tupletFullLength} property,
442 @lilypond[fragment,relative=2]
444 \remove Forbid_line_break_engraver
448 \set Score.proportionalNotationDuration = #(ly:make-moment 1 32)
449 \set tupletFullLength = ##t
450 \times 2/3 { c8[ c c] }
455 This feature was sponsored by Trevor Bača.
458 When @code{strict-note-spacing} is set, notes are spaced without regard
459 for clefs, bar lines, and grace notes. For example,
461 @lilypond[fragment,relative=2]
462 \override Score.SpacingSpanner #'strict-note-spacing = ##t
463 \new Staff { c8[ c \clef alto c \grace { c16[ c] } c8 c c] c32[ c32] }
466 This feature was sponsored by Trevor Bača.
469 Beams support the @code{break-overshoot} property, for example
471 @lilypond[relative=2,fragment]
472 \set allowBeamBreak = ##t
473 \override Beam #'break-overshoot = #'(1.0 . 2.0)
477 This feature was sponsored by Trevor Bača.
480 Proportional notation is supported. Notes can be spaced proportional
481 to their time-difference by assigning a duration to
482 @code{proportionalNotationDuration}. For example,
484 @lilypond[relative=2,fragment,raggedright]
486 \set Score.proportionalNotationDuration = #(ly:make-moment 1 16)
487 \new Staff { c8[ c c c c c] c4 c2 r2 }
488 \new Staff { c2 \times 2/3 { c8 c c } c4 c1 }
492 This feature was sponsored by Trevor Bača.
495 Symbol sizes (e.g. accidentals) are disregarded for spacing if
496 @code{uniform-stretching} of the @code{SpacingSpanner} grob is set,
499 @lilypond[relative=2,fragment]
501 \override Score.SpacingSpanner #'uniform-stretching = ##t
502 \new Staff { c16[ c c c c c c c c c16] }
504 \times 6/7 { c16 c c cis c c c }
510 This feature was sponsored by Trevor Bača.
513 Endings of broken tuplet brackets can be tuned. For example, you can
514 add arrows to the brackets,
516 @lilypond[fragment,raggedright,relative=2]
517 \override TupletBracket
519 (markup #:arrow-head X LEFT #f)
520 (markup #:arrow-head X RIGHT #f))
522 c c c \bar "empty" \break c c
526 This feature was sponsored by Trevor Bača.
529 @item @textanchor{arrow-glyph}
530 Arrow heads were added to the Feta font.
535 filled, to the right: \hspace #2.0 \fontsize #6 \arrow-head #0 #1 ##t
536 open, down: \hspace #2.0 \fontsize #6 \arrow-head #1 #-1 ##f
541 These glyphs have been sponsored by Trevor Bača.
545 Nested tuplets are automatically positioned,
547 @lilypond[fragment,raggedright,relative=2]
548 \set tupletNumberFormatFunction = #fraction-tuplet-formatter
551 \times 3/5 { a a a a a }
555 This feature was sponsored by Trevor Bača.
558 Music expressions can be displayed, in LilyPond notation, using the
559 new @code{\displayLilyMusic} function. For instance:
561 \displayLilyMusic \transpose c a, { c d e f }
568 This feature was contributed by Nicolas Sceaux.
571 The current bar number may be checked with @code{\barNumberCheck}, eg.
578 will print a warning if it doesn't happen in measure 22.
581 If @code{showLastLength} is set, only the last few measures of a piece
582 are rendered, which speeds up correcting scores. For example, setting
585 showLastLength = R1*5
590 will render only the last five measures (assuming 4/4 time signature)
593 @item @textanchor{simple-melismata}
594 Melismata can be specified simply in the lyrics now, eg.
596 @lilypond[relative=1,verbatim,fragment]
604 This feature was sponsored by Nancho Alvarez
607 Suggested accidentals (for notating musica ficta) may be switched on
608 with @code{suggestAccidentals}
610 @lilypond[verbatim,fragment,relative=2]
611 \set suggestAccidentals = ##t
615 This feature was sponsored by Nancho Alvarez.
618 The setting @code{whichBar} and time-bookkeeping is now split into a
619 @code{Default_bar_line_engraver} and @code{Timing_translator}
622 @item @textanchor{pitched-trill}
623 Explicit pitches may be added to trills,
625 @lilypond[relative,verbatim,fragment]
626 \pitchedTrill c4\startTrillSpan fis f\stopTrillSpan
629 This feature was sponsored by D. Josiah Boothby and Jamie Bullock
632 Markup now supports formatting of text paragraphs, using
633 @code{\wordwrap} and @code{\justify}.
635 This feature was sponsored by Sven Axelsson.
639 For older news, go to
640 @uref{http://lilypond.org/doc/v2.6/Documentation/topdocs/NEWS.html}.