1 \input texinfo @c -*- coding: utf-8; mode: texinfo; -*-
6 @macro inputfileref{DIR,NAME}
7 @uref{../../../\DIR\/out-www/collated-files.html#\NAME\,@file{\DIR\/\NAME\}}@c
9 @macro usermanref{NAME}
10 @inforef{\NAME\,,../../user/out-www/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}.
50 It's now possible to easily create deeply nested system start
53 @lilypond[raggedright]
56 \set StaffGroup.systemStartDelimiterHierarchy
57 = #'(SystemStartSquare (SystemStartBracket a (SystemStartSquare b)) d)
67 In addition, there is now also support for ``square'' system start
70 This feature was sponsored by Trevor Bača.
73 Tie formatting now uses scoring. This opens the road to formatting
74 which handles complex situations require tradeoffs between different
77 This refactoring has been sponsored by Steve Doonan.
80 Each grob property may also be a ``grob closure.'' This means that it
81 is possible to combine functions. For example, the @code{Y-offset} of
82 a @code{InstrumentName} grob is defined to be
85 ,(ly:make-simple-closure
87 ,(ly:make-simple-closure
88 (,Self_alignment_interface::y_aligned_on_self))
89 ,(ly:make-simple-closure
90 (,Side_position_interface::y_aligned_on_support_refpoints)))
94 During execution, the @code{Y-offset} of an @code{InstrumentName} is computed
98 (+ (Self_alignment_interface::y_aligned_on_self @var{grob})
99 (Self_alignment_interface::y_aligned_on_support_refpoints @var{grob}))
104 Calculation of extent and offset of grob is now controlled via the
105 @code{X-extent}, @code{Y-extent}, @code{X-offset} and @code{Y-offset}
106 properties, for example
109 \override TextScript #'Y-offset = #-6
113 hard codes @code{TextScript} grobs to be 6 spaces below their Y-parent
117 Each grob property can be a procedure. If this is the case, it is
118 assumed to be a routine that calculates said property. This is a
119 major internal cleanup, which also provides advanced tweakability for
120 power users. For example,
123 \override Beam #'direction
125 (if (> 4 (ly:grob-array-length (ly:grob-object grob 'stems)))
131 With this code fragment, the direction of a beam is decided to be up
132 or down, depending on the number of stems in the beam.
136 Support for figured bass has been rewritten. Now it supports
137 continuation lines, slashed figures, and its figures, brackets, and alignments may
140 @lilypond[raggedright,fragment]
142 \relative { c4 c c c }
144 \set useBassFigureExtenders = ##t
145 <6+ 4 3> <6 4 3> <4 3+> <5/ 7/\+>
149 This rewrite was sponsored by Trent Johnston and John Mandereau.
152 Subproperties, like the @code{details} field of @code{Slur} and
153 @code{Tie} may now be tuned with @code{\override}. For example,
156 \override Stem #'details #'beamed-lengths = #'(4 4 3)
160 shortens the stems in beams.
163 The default paper size may now be set from the command line using
167 Beamlets may stick out of the side of beams.
170 @lilypond[fragment,raggedright,relative=2]
172 \override Beam #'break-overshoot = #'(-0.5 . 0.5)
173 \set stemLeftBeamCount = #2
176 \set stemRightBeamCount = #3
181 This feature was sponsored by Trevor Bača.
186 Vertical alignments of staves can now be tuned easily for individual
189 @lilypond[raggedright]
190 #(set-global-staff-size 13)
197 #"Score.NonMusicalPaperColumn"
198 #'line-break-system-details
199 #'((fixed-alignment-extra-space . 15))
211 This feature was sponsored by Nicolas Sceaux.
214 Vertical spacing for page layout can now be tuned for each system
215 individually. The dimensions that can be tuned can be visualized.
218 #(set-default-paper-size "a7" 'landscape)
221 \paper { annotatespacing = ##t }
225 These features were sponsored by Trevor Bača and Nicolas Sceaux.
228 The slope of a stem-tremolo may be set manually
230 @lilypond[fragment,relative=1,raggedright]
232 \once \override StemTremolo #'slope = #0.45
236 This feature was sponsored by Sven Axelsson.
239 Laissez vibrer ties can be created with @code{\laissezVibrer},
241 @lilypond[fragment,raggedright,relative=1]
242 <c e g>\laissezVibrer r <d f>\laissezVibrer
245 This feature was sponsored by Henrik Frisk.
248 The order of words in @code{\markup} commands may now be reversed by
249 setting the @code{text-direction} property. This is useful for
250 Right-to-Left languages like Hebrew.
252 This feature was sponsored by Aaron Mehl.
255 Texts over multi measure rests can stretch the corresponding measure,
256 if the appropriate @code{spring-and-rods} callback is set.
258 @lilypond[relative=2,fragment,raggedright]
259 \override MultiMeasureRestText #'springs-and-rods
260 = #Multi_measure_rest::set_text_rods
261 c1 R1 R1^"Very long long long text"
264 This feature was sponsored by Kris Shaffer.
267 @item @textanchor{tie-chords}
268 Formatting of ties in chords has been improved. Ties no longer collide
269 with note heads and stems. In addition, it is possible to manually
270 specify tie formatting
272 @lilypond[relative=2, fragment,raggedright]
273 <a c d f> ~ <a c d f>
275 \override TieColumn #'tie-configuration =
276 #'((0 . -1) (2 . -1) (5.5 . 1) (7 . 1))
277 <b d f g> ~ <b d f g>
280 This improvement has been sponsored by Bertalan Fodor, Jay Hamilton,
281 Kieren MacMillan, Steve Doonan, Trevor Bača, and Vicente Solsona
285 Formatting of isolated, single ties has been improved. Now, ties avoid
286 staff lines, flags and dots, without compromising their shape.
288 @lilypond[fragment,raggedright]
291 c16 c2...~ c16 ~ c2... |
292 c4~c8 c8~c16 c16~c32 c16.~[ c64]~ c64[ c8..] |
296 This improvement has been sponsored by Bertalan Fodor, Jay Hamilton,
297 Kieren MacMillan, Steve Doonan, Trevor Bača, and Vicente Solsona
301 @item @textanchor{repeat-counter}
302 With the @code{countPercentRepeats} property,
303 percent repeats get incremental numbers to indicate the accumulated repeat count.
305 @lilypond[relative=2,fragment,raggedright]
306 \set countPercentRepeats = ##t
307 \repeat percent 4 { c1 }
309 \repeat percent 4 { c2 c2 }
312 This feature was sponsored by Yoshinobu Ishizaki
315 Text scripts such as fingering instructions and dynamics avoid
316 collisions with slurs
318 @lilypond[fragment,relative=1]
320 b_1( f'_1_2_3 c_3_4_5 a)
322 c-2_\markup { \italic {"cresc."}} ( f_\markup {x} c)
327 Tuplets can be made to reach the next non-tuplet note by setting the
328 @code{tupletFullLength} property,
330 @lilypond[fragment,relative=2]
332 \remove Forbid_line_break_engraver
336 \set Score.proportionalNotationDuration = #(ly:make-moment 1 32)
337 \set tupletFullLength = ##t
338 \times 2/3 { c8[ c c] }
343 This feature was sponsored by Trevor Bača.
346 When @code{strict-note-spacing} is set, notes are spaced without regard
347 for clefs, bar lines, and grace notes. For example,
349 @lilypond[fragment,relative=2]
350 \override Score.SpacingSpanner #'strict-note-spacing = ##t
351 \new Staff { c8[ c \clef alto c \grace { c16[ c] } c8 c c] c32[ c32] }
354 This feature was sponsored by Trevor Bača.
357 Beams support the @code{break-overshoot} property, for example
359 @lilypond[relative=2,fragment]
360 \set allowBeamBreak = ##t
361 \override Beam #'break-overshoot = #'(1.0 . 2.0)
365 This feature was sponsored by Trevor Bača.
368 Proportional notation is supported. Notes can be spaced proportional
369 to their time-difference by assigning a duration to
370 @code{proportionalNotationDuration}. For example,
372 @lilypond[relative=2,fragment,raggedright]
374 \set Score.proportionalNotationDuration = #(ly:make-moment 1 16)
375 \new Staff { c8[ c c c c c] c4 c2 r2 }
376 \new Staff { c2 \times 2/3 { c8 c c } c4 c1 }
380 This feature was sponsored by Trevor Bača.
383 Symbol sizes (e.g. accidentals) are disregarded for spacing if
384 @code{uniform-stretching} of the @code{SpacingSpanner} grob is set,
387 @lilypond[relative=2,fragment]
389 \override Score.SpacingSpanner #'uniform-stretching = ##t
390 \new Staff { c16[ c c c c c c c c c16] }
392 \times 6/7 { c16 c c cis c c c }
398 This feature was sponsored by Trevor Bača.
401 Endings of broken tuplet brackets can be tuned. For example, you can
402 add arrows to the brackets,
404 @lilypond[fragment,raggedright,relative=2]
405 \override TupletBracket
407 (markup #:arrow-head X LEFT #f)
408 (markup #:arrow-head X RIGHT #f))
410 c c c \bar "empty" \break c c
414 This feature was sponsored by Trevor Bača.
417 @item @textanchor{arrow-glyph}
418 Arrow heads were added to the Feta font.
423 filled, to the right: \hspace #2.0 \fontsize #6 \arrow-head #0 #1 ##t
424 open, down: \hspace #2.0 \fontsize #6 \arrow-head #1 #-1 ##f
429 These glyphs have been sponsored by Trevor Bača.
433 Nested tuplets are automatically positioned,
435 @lilypond[fragment,raggedright,relative=2]
436 \set tupletNumberFormatFunction = #fraction-tuplet-formatter
439 \times 3/5 { a a a a a }
443 This feature was sponsored by Trevor Bača.
446 Music expressions can be displayed, in LilyPond notation, using the
447 new @code{\displayLilyMusic} function. For instance:
449 \displayLilyMusic \transpose c a, { c d e f }
456 This feature was contributed by Nicolas Sceaux.
459 The current bar number may be checked with @code{\barNumberCheck}, eg.
466 will print a warning if it doesn't happen in measure 22.
469 If @code{showLastLength} is set, only the last few measures of a piece
470 are rendered, which speeds up correcting scores. For example, setting
473 showLastLength = R1*5
478 will render only the last five measures (assuming 4/4 time signature)
481 @item @textanchor{simple-melismata}
482 Melismata can be specified simply in the lyrics now, eg.
484 @lilypond[relative=1,verbatim,fragment]
492 This feature was sponsored by Nancho Alvarez
495 Suggested accidentals (for notating musica ficta) may be switched on
496 with @code{suggestAccidentals}
498 @lilypond[verbatim,fragment,relative=2]
499 \set suggestAccidentals = ##t
503 This feature was sponsored by Nancho Alvarez.
506 The setting @code{whichBar} and time-bookkeeping is now split into a
507 @code{Default_bar_line_engraver} and @code{Timing_translator}
510 @item @textanchor{pitched-trill}
511 Explicit pitches may be added to trills,
513 @lilypond[relative,verbatim,fragment]
514 \pitchedTrill c4\startTrillSpan fis f\stopTrillSpan
517 This feature was sponsored by D. Josiah Boothby and Jamie Bullock
520 Markup now supports formatting of text paragraphs, using
521 @code{\wordwrap} and @code{\justify}.
523 This feature was sponsored by Sven Axelsson.
527 For older news, go to
528 @uref{http://lilypond.org/doc/v2.6/Documentation/topdocs/out-www/NEWS.html}.