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 appearance. For example,
53 @lilypond[raggedright]
61 This feature was sponsored by Mike Rolish and Basil Crow.
64 Slurs now avoid @code{TupletNumber}s, and tuplet numbers may enter the
67 @lilypond[raggedright]
70 \override TupletBracket #'bracket-visibility = ##f
71 \override TupletBracket #'staff-padding = ##f
72 \override Slur #'details #'region-size = #6
76 c( \stemDown g' \stemNeutral c,)
81 This feature was sponsored by Trent Johnston.
84 @item Tuplet brackets and numbers are implemented as separate grobs,
85 @code{TupletBracket} and @code{TupletNumber}.
87 This rewrite was sponsored by Trent Johnston.
89 @item String arguments for music functions may be specified without
90 @code{#} marks. This allows syntactical constructs (like \clef and
91 \bar) to be expressed in generic music functions.
93 @item Ties in chords are also formatted using a scoring based
94 formatting. This reduces the number of collisions for ties in chords,
96 @lilypond[raggedright,fragment,relative=2]
100 Here, the tie for the D is flipped, in spite the default rule for
103 This rewrite was sponsored by Steve Doonan.
105 @item With the @code{\tweak} music function, layout objects that are directly
106 connected to input may be tuned easily,
108 @lilypond[relative=2,fragment,verbatim,raggedright]
110 \tweak #'font-size #3 c
111 \tweak #'color #red d
112 \tweak #'style #'cross g
113 \tweak #'duration-log #1 a
117 This feature was sponsored by Sean Reed and Bertalan Fodor.
119 @item Generic music functions may now also be used on articulations
120 and chord elements, eg.
124 e-\keepWithTag #'bla -\tag #'bla ^2 >
127 This feature was sponsored by Sean Reed and Bertalan Fodor.
130 @item Spaces between lyrics and distance between syllables with
131 hyphens may now be separately tuned through the
132 @code{LyricSpace} grob.
134 This feature has been sponsored by Bertalan Fodor.
136 @item A MusicXML importer is included now.
138 @item Texts set in a TrueType font are now kerned. This requires CVS
141 @item Using the @TeX{} no longer requires linking or dynamically
142 opening the kpathsea library, making the backend more easily usable on
145 This fix was sponsored by Black Trash Productions.
147 @item The horizontal location of rehearsal marks can be adjusted by
148 setting the @code{rehearsalMarkAlignSymbol} property,
150 @lilypond[raggedright]
155 \set Score.rehearsalMarkAlignSymbol = #'key-signature
159 \set Score.rehearsalMarkAlignSymbol = #'clef
167 This feature was sponsored by Trevor Bača.
171 It's now possible to easily create deeply nested system start
174 @lilypond[raggedright]
177 \set StaffGroup.systemStartDelimiterHierarchy
178 = #'(SystemStartSquare (SystemStartBracket a (SystemStartSquare b)) d)
188 In addition, there is now also support for ``square'' system start
191 This feature was sponsored by Trevor Bača.
194 Tie formatting now uses scoring. This opens the road to formatting
195 which handles complex situations require tradeoffs between different
198 This refactoring has been sponsored by Steve Doonan.
201 Each grob property may also be a ``grob closure.'' This means that it
202 is possible to combine functions. For example, the @code{Y-offset} of
203 a @code{InstrumentName} grob is defined to be
206 ,(ly:make-simple-closure
208 ,(ly:make-simple-closure
209 (,Self_alignment_interface::y_aligned_on_self))
210 ,(ly:make-simple-closure
211 (,Side_position_interface::y_aligned_on_support_refpoints)))
215 During execution, the @code{Y-offset} of an @code{InstrumentName} is computed
219 (+ (Self_alignment_interface::y_aligned_on_self @var{grob})
220 (Self_alignment_interface::y_aligned_on_support_refpoints @var{grob}))
225 Calculation of extent and offset of grob is now controlled via the
226 @code{X-extent}, @code{Y-extent}, @code{X-offset} and @code{Y-offset}
227 properties, for example
230 \override TextScript #'Y-offset = #-6
234 hard codes @code{TextScript} grobs to be 6 spaces below their Y-parent
238 Each grob property can be a procedure. If this is the case, it is
239 assumed to be a routine that calculates said property. This is a
240 major internal cleanup, which also provides advanced tweakability for
241 power users. For example,
244 \override Beam #'direction
246 (if (> 4 (ly:grob-array-length (ly:grob-object grob 'stems)))
252 With this code fragment, the direction of a beam is decided to be up
253 or down, depending on the number of stems in the beam.
257 Support for figured bass has been rewritten. Now it supports
258 continuation lines, slashed figures, and its figures, brackets, and alignments may
261 @lilypond[raggedright,fragment]
263 \relative { c4 c c c }
265 \set useBassFigureExtenders = ##t
266 <6+ 4 3> <6 4 3> <4 3+> <5/ 7/\+>
270 This rewrite was sponsored by Trent Johnston and John Mandereau.
273 Subproperties, like the @code{details} field of @code{Slur} and
274 @code{Tie} may now be tuned with @code{\override}. For example,
277 \override Stem #'details #'beamed-lengths = #'(4 4 3)
281 shortens the stems in beams.
284 The default paper size may now be set from the command line using
288 Beamlets may stick out of the side of beams.
291 @lilypond[fragment,raggedright,relative=2]
293 \override Beam #'break-overshoot = #'(-0.5 . 0.5)
294 \set stemLeftBeamCount = #2
297 \set stemRightBeamCount = #3
302 This feature was sponsored by Trevor Bača.
307 Vertical alignments of staves can now be tuned easily for individual
310 @lilypond[raggedright]
311 #(set-global-staff-size 13)
318 #"Score.NonMusicalPaperColumn"
319 #'line-break-system-details
320 #'((fixed-alignment-extra-space . 15))
332 This feature was sponsored by Nicolas Sceaux.
335 Vertical spacing for page layout can now be tuned for each system
336 individually. The dimensions that can be tuned can be visualized.
339 #(set-default-paper-size "a7" 'landscape)
342 \paper { annotatespacing = ##t }
346 These features were sponsored by Trevor Bača and Nicolas Sceaux.
349 The slope of a stem-tremolo may be set manually
351 @lilypond[fragment,relative=1,raggedright]
353 \once \override StemTremolo #'slope = #0.45
357 This feature was sponsored by Sven Axelsson.
360 Laissez vibrer ties can be created with @code{\laissezVibrer},
362 @lilypond[fragment,raggedright,relative=1]
363 <c e g>\laissezVibrer r <d f>\laissezVibrer
366 This feature was sponsored by Henrik Frisk.
369 The order of words in @code{\markup} commands may now be reversed by
370 setting the @code{text-direction} property. This is useful for
371 Right-to-Left languages like Hebrew.
373 This feature was sponsored by Aaron Mehl.
376 Texts over multi measure rests can stretch the corresponding measure,
377 if the appropriate @code{spring-and-rods} callback is set.
379 @lilypond[relative=2,fragment,raggedright]
380 \override MultiMeasureRestText #'springs-and-rods
381 = #Multi_measure_rest::set_text_rods
382 c1 R1 R1^"Very long long long text"
385 This feature was sponsored by Kris Shaffer.
388 @item @textanchor{tie-chords}
389 Formatting of ties in chords has been improved. Ties no longer collide
390 with note heads and stems. In addition, it is possible to manually
391 specify tie formatting
393 @lilypond[relative=2, fragment,raggedright]
394 <a c d f> ~ <a c d f>
396 \override TieColumn #'tie-configuration =
397 #'((0 . -1) (2 . -1) (5.5 . 1) (7 . 1))
398 <b d f g> ~ <b d f g>
401 This improvement has been sponsored by Bertalan Fodor, Jay Hamilton,
402 Kieren MacMillan, Steve Doonan, Trevor Bača, and Vicente Solsona
406 Formatting of isolated, single ties has been improved. Now, ties avoid
407 staff lines, flags and dots, without compromising their shape.
409 @lilypond[fragment,raggedright]
412 c16 c2...~ c16 ~ c2... |
413 c4~c8 c8~c16 c16~c32 c16.~[ c64]~ c64[ c8..] |
417 This improvement has been sponsored by Bertalan Fodor, Jay Hamilton,
418 Kieren MacMillan, Steve Doonan, Trevor Bača, and Vicente Solsona
422 @item @textanchor{repeat-counter}
423 With the @code{countPercentRepeats} property,
424 percent repeats get incremental numbers to indicate the accumulated repeat count.
426 @lilypond[relative=2,fragment,raggedright]
427 \set countPercentRepeats = ##t
428 \repeat percent 4 { c1 }
430 \repeat percent 4 { c2 c2 }
433 This feature was sponsored by Yoshinobu Ishizaki
436 Text scripts such as fingering instructions and dynamics avoid
437 collisions with slurs
439 @lilypond[fragment,relative=1]
441 b_1( f'_1_2_3 c_3_4_5 a)
443 c-2_\markup { \italic {"cresc."}} ( f_\markup {x} c)
448 Tuplets can be made to reach the next non-tuplet note by setting the
449 @code{tupletFullLength} property,
451 @lilypond[fragment,relative=2]
453 \remove Forbid_line_break_engraver
457 \set Score.proportionalNotationDuration = #(ly:make-moment 1 32)
458 \set tupletFullLength = ##t
459 \times 2/3 { c8[ c c] }
464 This feature was sponsored by Trevor Bača.
467 When @code{strict-note-spacing} is set, notes are spaced without regard
468 for clefs, bar lines, and grace notes. For example,
470 @lilypond[fragment,relative=2]
471 \override Score.SpacingSpanner #'strict-note-spacing = ##t
472 \new Staff { c8[ c \clef alto c \grace { c16[ c] } c8 c c] c32[ c32] }
475 This feature was sponsored by Trevor Bača.
478 Beams support the @code{break-overshoot} property, for example
480 @lilypond[relative=2,fragment]
481 \set allowBeamBreak = ##t
482 \override Beam #'break-overshoot = #'(1.0 . 2.0)
486 This feature was sponsored by Trevor Bača.
489 Proportional notation is supported. Notes can be spaced proportional
490 to their time-difference by assigning a duration to
491 @code{proportionalNotationDuration}. For example,
493 @lilypond[relative=2,fragment,raggedright]
495 \set Score.proportionalNotationDuration = #(ly:make-moment 1 16)
496 \new Staff { c8[ c c c c c] c4 c2 r2 }
497 \new Staff { c2 \times 2/3 { c8 c c } c4 c1 }
501 This feature was sponsored by Trevor Bača.
504 Symbol sizes (e.g. accidentals) are disregarded for spacing if
505 @code{uniform-stretching} of the @code{SpacingSpanner} grob is set,
508 @lilypond[relative=2,fragment]
510 \override Score.SpacingSpanner #'uniform-stretching = ##t
511 \new Staff { c16[ c c c c c c c c c16] }
513 \times 6/7 { c16 c c cis c c c }
519 This feature was sponsored by Trevor Bača.
522 Endings of broken tuplet brackets can be tuned. For example, you can
523 add arrows to the brackets,
525 @lilypond[fragment,raggedright,relative=2]
526 \override TupletBracket
528 (markup #:arrow-head X LEFT #f)
529 (markup #:arrow-head X RIGHT #f))
531 c c c \bar "empty" \break c c
535 This feature was sponsored by Trevor Bača.
538 @item @textanchor{arrow-glyph}
539 Arrow heads were added to the Feta font.
544 filled, to the right: \hspace #2.0 \fontsize #6 \arrow-head #0 #1 ##t
545 open, down: \hspace #2.0 \fontsize #6 \arrow-head #1 #-1 ##f
550 These glyphs have been sponsored by Trevor Bača.
554 Nested tuplets are automatically positioned,
556 @lilypond[fragment,raggedright,relative=2]
557 \set tupletNumberFormatFunction = #fraction-tuplet-formatter
560 \times 3/5 { a a a a a }
564 This feature was sponsored by Trevor Bača.
567 Music expressions can be displayed, in LilyPond notation, using the
568 new @code{\displayLilyMusic} function. For instance:
570 \displayLilyMusic \transpose c a, { c d e f }
577 This feature was contributed by Nicolas Sceaux.
580 The current bar number may be checked with @code{\barNumberCheck}, eg.
587 will print a warning if it doesn't happen in measure 22.
590 If @code{showLastLength} is set, only the last few measures of a piece
591 are rendered, which speeds up correcting scores. For example, setting
594 showLastLength = R1*5
599 will render only the last five measures (assuming 4/4 time signature)
602 @item @textanchor{simple-melismata}
603 Melismata can be specified simply in the lyrics now, eg.
605 @lilypond[relative=1,verbatim,fragment]
613 This feature was sponsored by Nancho Alvarez
616 Suggested accidentals (for notating musica ficta) may be switched on
617 with @code{suggestAccidentals}
619 @lilypond[verbatim,fragment,relative=2]
620 \set suggestAccidentals = ##t
624 This feature was sponsored by Nancho Alvarez.
627 The setting @code{whichBar} and time-bookkeeping is now split into a
628 @code{Default_bar_line_engraver} and @code{Timing_translator}
631 @item @textanchor{pitched-trill}
632 Explicit pitches may be added to trills,
634 @lilypond[relative,verbatim,fragment]
635 \pitchedTrill c4\startTrillSpan fis f\stopTrillSpan
638 This feature was sponsored by D. Josiah Boothby and Jamie Bullock
641 Markup now supports formatting of text paragraphs, using
642 @code{\wordwrap} and @code{\justify}.
644 This feature was sponsored by Sven Axelsson.
648 For older news, go to
649 @uref{http://lilypond.org/doc/v2.6/Documentation/topdocs/NEWS.html}.