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}. It's part of
42 the @uref{../,LilyPond Documentation}
50 Stem direction on the center staff line are now interpolated between
51 neighbors. This results in less stem direction changes, leading to a
52 more even appearance. For example,
54 @lilypond[raggedright]
62 This feature was sponsored by Mike Rolish and Basil Crow.
65 Slurs now avoid @code{TupletNumber}s, and tuplet numbers may enter the
68 @lilypond[raggedright]
71 \override TupletBracket #'bracket-visibility = ##f
72 \override TupletBracket #'staff-padding = ##f
73 \override Slur #'details #'region-size = #6
77 c( \stemDown g' \stemNeutral c,)
82 This feature was sponsored by Trent Johnston.
85 @item Tuplet brackets and numbers are implemented as separate grobs,
86 @code{TupletBracket} and @code{TupletNumber}.
88 This rewrite was sponsored by Trent Johnston.
90 @item String arguments for music functions may be specified without
91 @code{#} marks. This allows syntactical constructs (like \clef and
92 \bar) to be expressed in generic music functions.
94 @item Ties in chords are also formatted using a scoring based
95 formatting. This reduces the number of collisions for ties in chords,
97 @lilypond[raggedright,fragment,relative=2]
101 Here, the tie for the D is flipped, in spite the default rule for
104 This rewrite was sponsored by Steve Doonan.
106 @item With the @code{\tweak} music function, layout objects that are directly
107 connected to input may be tuned easily,
109 @lilypond[relative=2,fragment,verbatim,raggedright]
111 \tweak #'font-size #3 c
112 \tweak #'color #red d
113 \tweak #'style #'cross g
114 \tweak #'duration-log #1 a
118 This feature was sponsored by Sean Reed and Bertalan Fodor.
120 @item Generic music functions may now also be used on articulations
121 and chord elements, eg.
125 e-\keepWithTag #'bla -\tag #'bla ^2 >
128 This feature was sponsored by Sean Reed and Bertalan Fodor.
131 @item Spaces between lyrics and distance between syllables with
132 hyphens may now be separately tuned through the
133 @code{LyricSpace} grob.
135 This feature has been sponsored by Bertalan Fodor.
137 @item A MusicXML importer is included now.
139 @item Texts set in a TrueType font are now kerned. This requires CVS
142 @item Using the @TeX{} no longer requires linking or dynamically
143 opening the kpathsea library, making the backend more easily usable on
146 This fix was sponsored by Black Trash Productions.
148 @item The horizontal location of rehearsal marks can be adjusted by
149 setting the @code{rehearsalMarkAlignSymbol} property,
151 @lilypond[raggedright]
156 \set Score.rehearsalMarkAlignSymbol = #'key-signature
160 \set Score.rehearsalMarkAlignSymbol = #'clef
168 This feature was sponsored by Trevor Bača.
172 It's now possible to easily create deeply nested system start
175 @lilypond[raggedright]
178 \set StaffGroup.systemStartDelimiterHierarchy
179 = #'(SystemStartSquare (SystemStartBracket a (SystemStartSquare b)) d)
189 In addition, there is now also support for ``square'' system start
192 This feature was sponsored by Trevor Bača.
195 Tie formatting now uses scoring. This opens the road to formatting
196 which handles complex situations require tradeoffs between different
199 This refactoring has been sponsored by Steve Doonan.
202 Each grob property may also be a ``grob closure.'' This means that it
203 is possible to combine functions. For example, the @code{Y-offset} of
204 a @code{InstrumentName} grob is defined to be
207 ,(ly:make-simple-closure
209 ,(ly:make-simple-closure
210 (,Self_alignment_interface::y_aligned_on_self))
211 ,(ly:make-simple-closure
212 (,Side_position_interface::y_aligned_on_support_refpoints)))
216 During execution, the @code{Y-offset} of an @code{InstrumentName} is computed
220 (+ (Self_alignment_interface::y_aligned_on_self @var{grob})
221 (Self_alignment_interface::y_aligned_on_support_refpoints @var{grob}))
226 Calculation of extent and offset of grob is now controlled via the
227 @code{X-extent}, @code{Y-extent}, @code{X-offset} and @code{Y-offset}
228 properties, for example
231 \override TextScript #'Y-offset = #-6
235 hard codes @code{TextScript} grobs to be 6 spaces below their Y-parent
239 Each grob property can be a procedure. If this is the case, it is
240 assumed to be a routine that calculates said property. This is a
241 major internal cleanup, which also provides advanced tweakability for
242 power users. For example,
245 \override Beam #'direction
247 (if (> 4 (ly:grob-array-length (ly:grob-object grob 'stems)))
253 With this code fragment, the direction of a beam is decided to be up
254 or down, depending on the number of stems in the beam.
258 Support for figured bass has been rewritten. Now it supports
259 continuation lines, slashed figures, and its figures, brackets, and alignments may
262 @lilypond[raggedright,fragment]
264 \relative { c4 c c c }
266 \set useBassFigureExtenders = ##t
267 <6+ 4 3> <6 4 3> <4 3+> <5/ 7/\+>
271 This rewrite was sponsored by Trent Johnston and John Mandereau.
274 Subproperties, like the @code{details} field of @code{Slur} and
275 @code{Tie} may now be tuned with @code{\override}. For example,
278 \override Stem #'details #'beamed-lengths = #'(4 4 3)
282 shortens the stems in beams.
285 The default paper size may now be set from the command line using
289 Beamlets may stick out of the side of beams.
292 @lilypond[fragment,raggedright,relative=2]
294 \override Beam #'break-overshoot = #'(-0.5 . 0.5)
295 \set stemLeftBeamCount = #2
298 \set stemRightBeamCount = #3
303 This feature was sponsored by Trevor Bača.
308 Vertical alignments of staves can now be tuned easily for individual
311 @lilypond[raggedright]
312 #(set-global-staff-size 13)
319 #"Score.NonMusicalPaperColumn"
320 #'line-break-system-details
321 #'((fixed-alignment-extra-space . 15))
333 This feature was sponsored by Nicolas Sceaux.
336 Vertical spacing for page layout can now be tuned for each system
337 individually. The dimensions that can be tuned can be visualized.
340 #(set-default-paper-size "a7" 'landscape)
343 \paper { annotatespacing = ##t }
347 These features were sponsored by Trevor Bača and Nicolas Sceaux.
350 The slope of a stem-tremolo may be set manually
352 @lilypond[fragment,relative=1,raggedright]
354 \once \override StemTremolo #'slope = #0.45
358 This feature was sponsored by Sven Axelsson.
361 Laissez vibrer ties can be created with @code{\laissezVibrer},
363 @lilypond[fragment,raggedright,relative=1]
364 <c e g>\laissezVibrer r <d f>\laissezVibrer
367 This feature was sponsored by Henrik Frisk.
370 The order of words in @code{\markup} commands may now be reversed by
371 setting the @code{text-direction} property. This is useful for
372 Right-to-Left languages like Hebrew.
374 This feature was sponsored by Aaron Mehl.
377 Texts over multi measure rests can stretch the corresponding measure,
378 if the appropriate @code{spring-and-rods} callback is set.
380 @lilypond[relative=2,fragment,raggedright]
381 \override MultiMeasureRestText #'springs-and-rods
382 = #Multi_measure_rest::set_text_rods
383 c1 R1 R1^"Very long long long text"
386 This feature was sponsored by Kris Shaffer.
389 @item @textanchor{tie-chords}
390 Formatting of ties in chords has been improved. Ties no longer collide
391 with note heads and stems. In addition, it is possible to manually
392 specify tie formatting
394 @lilypond[relative=2, fragment,raggedright]
395 <a c d f> ~ <a c d f>
397 \override TieColumn #'tie-configuration =
398 #'((0 . -1) (2 . -1) (5.5 . 1) (7 . 1))
399 <b d f g> ~ <b d f g>
402 This improvement has been sponsored by Bertalan Fodor, Jay Hamilton,
403 Kieren MacMillan, Steve Doonan, Trevor Bača, and Vicente Solsona
407 Formatting of isolated, single ties has been improved. Now, ties avoid
408 staff lines, flags and dots, without compromising their shape.
410 @lilypond[fragment,raggedright]
413 c16 c2...~ c16 ~ c2... |
414 c4~c8 c8~c16 c16~c32 c16.~[ c64]~ c64[ c8..] |
418 This improvement has been sponsored by Bertalan Fodor, Jay Hamilton,
419 Kieren MacMillan, Steve Doonan, Trevor Bača, and Vicente Solsona
423 @item @textanchor{repeat-counter}
424 With the @code{countPercentRepeats} property,
425 percent repeats get incremental numbers to indicate the accumulated repeat count.
427 @lilypond[relative=2,fragment,raggedright]
428 \set countPercentRepeats = ##t
429 \repeat percent 4 { c1 }
431 \repeat percent 4 { c2 c2 }
434 This feature was sponsored by Yoshinobu Ishizaki
437 Text scripts such as fingering instructions and dynamics avoid
438 collisions with slurs
440 @lilypond[fragment,relative=1]
442 b_1( f'_1_2_3 c_3_4_5 a)
444 c-2_\markup { \italic {"cresc."}} ( f_\markup {x} c)
449 Tuplets can be made to reach the next non-tuplet note by setting the
450 @code{tupletFullLength} property,
452 @lilypond[fragment,relative=2]
454 \remove Forbid_line_break_engraver
458 \set Score.proportionalNotationDuration = #(ly:make-moment 1 32)
459 \set tupletFullLength = ##t
460 \times 2/3 { c8[ c c] }
465 This feature was sponsored by Trevor Bača.
468 When @code{strict-note-spacing} is set, notes are spaced without regard
469 for clefs, bar lines, and grace notes. For example,
471 @lilypond[fragment,relative=2]
472 \override Score.SpacingSpanner #'strict-note-spacing = ##t
473 \new Staff { c8[ c \clef alto c \grace { c16[ c] } c8 c c] c32[ c32] }
476 This feature was sponsored by Trevor Bača.
479 Beams support the @code{break-overshoot} property, for example
481 @lilypond[relative=2,fragment]
482 \set allowBeamBreak = ##t
483 \override Beam #'break-overshoot = #'(1.0 . 2.0)
487 This feature was sponsored by Trevor Bača.
490 Proportional notation is supported. Notes can be spaced proportional
491 to their time-difference by assigning a duration to
492 @code{proportionalNotationDuration}. For example,
494 @lilypond[relative=2,fragment,raggedright]
496 \set Score.proportionalNotationDuration = #(ly:make-moment 1 16)
497 \new Staff { c8[ c c c c c] c4 c2 r2 }
498 \new Staff { c2 \times 2/3 { c8 c c } c4 c1 }
502 This feature was sponsored by Trevor Bača.
505 Symbol sizes (e.g. accidentals) are disregarded for spacing if
506 @code{uniform-stretching} of the @code{SpacingSpanner} grob is set,
509 @lilypond[relative=2,fragment]
511 \override Score.SpacingSpanner #'uniform-stretching = ##t
512 \new Staff { c16[ c c c c c c c c c16] }
514 \times 6/7 { c16 c c cis c c c }
520 This feature was sponsored by Trevor Bača.
523 Endings of broken tuplet brackets can be tuned. For example, you can
524 add arrows to the brackets,
526 @lilypond[fragment,raggedright,relative=2]
527 \override TupletBracket
529 (markup #:arrow-head X LEFT #f)
530 (markup #:arrow-head X RIGHT #f))
532 c c c \bar "empty" \break c c
536 This feature was sponsored by Trevor Bača.
539 @item @textanchor{arrow-glyph}
540 Arrow heads were added to the Feta font.
545 filled, to the right: \hspace #2.0 \fontsize #6 \arrow-head #0 #1 ##t
546 open, down: \hspace #2.0 \fontsize #6 \arrow-head #1 #-1 ##f
551 These glyphs have been sponsored by Trevor Bača.
555 Nested tuplets are automatically positioned,
557 @lilypond[fragment,raggedright,relative=2]
558 \set tupletNumberFormatFunction = #fraction-tuplet-formatter
561 \times 3/5 { a a a a a }
565 This feature was sponsored by Trevor Bača.
568 Music expressions can be displayed, in LilyPond notation, using the
569 new @code{\displayLilyMusic} function. For instance:
571 \displayLilyMusic \transpose c a, { c d e f }
578 This feature was contributed by Nicolas Sceaux.
581 The current bar number may be checked with @code{\barNumberCheck}, eg.
588 will print a warning if it doesn't happen in measure 22.
591 If @code{showLastLength} is set, only the last few measures of a piece
592 are rendered, which speeds up correcting scores. For example, setting
595 showLastLength = R1*5
600 will render only the last five measures (assuming 4/4 time signature)
603 @item @textanchor{simple-melismata}
604 Melismata can be specified simply in the lyrics now, eg.
606 @lilypond[relative=1,verbatim,fragment]
614 This feature was sponsored by Nancho Alvarez
617 Suggested accidentals (for notating musica ficta) may be switched on
618 with @code{suggestAccidentals}
620 @lilypond[verbatim,fragment,relative=2]
621 \set suggestAccidentals = ##t
625 This feature was sponsored by Nancho Alvarez.
628 The setting @code{whichBar} and time-bookkeeping is now split into a
629 @code{Default_bar_line_engraver} and @code{Timing_translator}
632 @item @textanchor{pitched-trill}
633 Explicit pitches may be added to trills,
635 @lilypond[relative,verbatim,fragment]
636 \pitchedTrill c4\startTrillSpan fis f\stopTrillSpan
639 This feature was sponsored by D. Josiah Boothby and Jamie Bullock
642 Markup now supports formatting of text paragraphs, using
643 @code{\wordwrap} and @code{\justify}.
645 This feature was sponsored by Sven Axelsson.
649 For older news, go to
650 @uref{http://lilypond.org/doc/v2.6/Documentation/topdocs/NEWS.html},
651 or @uref{../,go back} to the Documentation index.