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]
54 \new StaffGroup \with {
55 \remove "System_start_delimiter_engraver"
56 \consists "Nested_system_start_delimiter_engraver"
59 \override StaffGroup.NestedSystemStartDelimiter #'styles
60 = #'(line-bracket bracket line-bracket)
61 \set StaffGroup.systemStartDelimiterHierarchy = #'((a (b)) c)
71 In addition, there is now also support for ``square'' system start
74 This feature was sponsored by Trevor Bača.
77 Tie formatting now uses scoring. This opens the road to formatting
78 which handles complex situations require tradeoffs between different
81 This refactoring has been sponsored by Steve Doonan.
84 Each grob property may also be a ``grob closure.'' This means that it
85 is possible to combine functions. For example, the @code{Y-offset} of
86 a @code{InstrumentName} grob is defined to be
89 ,(ly:make-simple-closure
91 ,(ly:make-simple-closure (list Self_alignment_interface::y_aligned_on_self))
92 ,(ly:make-simple-closure (list Side_position_interface::y_aligned_on_support_refpoints)))
96 During execution, the @code{Y-offset} of an @code{InstrumentName} is computed
100 (+ (Self_alignment_interface::y_aligned_on_self @var{grob})
101 (Self_alignment_interface::y_aligned_on_support_refpoints @var{grob}))
106 Calculation of extent and offset of grob is now controlled via the
107 @code{X-extent}, @code{Y-extent}, @code{X-offset} and @code{Y-offset}
108 properties, for example
111 \override TextScript #'Y-offset = #-6
115 hard codes @code{TextScript} grobs to be 6 spaces below their Y-parent
119 Each grob property can be a procedure. If this is the case, it is
120 assumed to be a routine that calculates said property. This is a
121 major internal cleanup, which also provides advanced tweakability for
122 power users. For example,
125 \override Beam #'direction
127 (if (> 4 (ly:grob-array-length (ly:grob-object grob 'stems)))
133 With this code fragment, the direction of a beam is decided to be up
134 or down, depending on the number of stems in the beam.
138 Support for figured bass has been rewritten. Now it supports
139 continuation lines, slashed figures, and its figures, brackets, and alignments may
142 @lilypond[raggedright,fragment]
144 \relative { c4 c c c }
146 \set useBassFigureExtenders = ##t
147 <6+ 4 3> <6 4 3> <4 3+> <5/ 7/\+>
151 This rewrite was sponsored by Trent Johnston and John Mandereau.
154 Subproperties, like the @code{details} field of @code{Slur} and
155 @code{Tie} may now be tuned with @code{\override}. For example,
158 \override Stem #'details #'beamed-lengths = #'(4 4 3)
162 shortens the stems in beams.
165 The default paper size may now be set from the command line using
169 Beamlets may stick out of the side of beams.
172 @lilypond[fragment,raggedright,relative=2]
174 \override Beam #'break-overshoot = #'(-0.5 . 0.5)
175 \set stemLeftBeamCount = #2
178 \set stemRightBeamCount = #3
183 This feature was sponsored by Trevor Bača.
188 Vertical alignments of staves can now be tuned easily for individual
191 @lilypond[raggedright]
192 #(set-global-staff-size 13)
199 #"Score.NonMusicalPaperColumn"
200 #'line-break-system-details
201 #'((fixed-alignment-extra-space . 15))
213 This feature was sponsored by Nicolas Sceaux.
216 Vertical spacing for page layout can now be tuned for each system
217 individually. The dimensions that can be tuned can be visualized.
220 #(set-default-paper-size "a7" 'landscape)
223 \paper { annotatespacing = ##t }
227 These features were sponsored by Trevor Bača and Nicolas Sceaux.
230 The slope of a stem-tremolo may be set manually
232 @lilypond[fragment,relative=1,raggedright]
234 \once \override StemTremolo #'slope = #0.45
238 This feature was sponsored by Sven Axelsson.
241 Laissez vibrer ties can be created with @code{\laissezVibrer},
243 @lilypond[fragment,raggedright,relative=1]
244 <c e g>\laissezVibrer r <d f>\laissezVibrer
247 This feature was sponsored by Henrik Frisk.
250 The order of words in @code{\markup} commands may now be reversed by
251 setting the @code{text-direction} property. This is useful for
252 Right-to-Left languages like Hebrew.
254 This feature was sponsored by Aaron Mehl.
257 Texts over multi measure rests can stretch the corresponding measure,
258 if the appropriate @code{spring-and-rods} callback is set.
260 @lilypond[relative=2,fragment,raggedright]
261 \override MultiMeasureRestText #'springs-and-rods
262 = #Multi_measure_rest::set_text_rods
263 c1 R1 R1^"Very long long long text"
266 This feature was sponsored by Kris Shaffer.
269 @item @textanchor{tie-chords}
270 Formatting of ties in chords has been improved. Ties no longer collide
271 with note heads and stems. In addition, it is possible to manually
272 specify tie formatting
274 @lilypond[relative=2, fragment,raggedright]
275 <a c d f> ~ <a c d f>
277 \override TieColumn #'tie-configuration =
278 #'((0 . -1) (2 . -1) (5.5 . 1) (7 . 1))
279 <b d f g> ~ <b d f g>
282 This improvement has been sponsored by Bertalan Fodor, Jay Hamilton,
283 Kieren MacMillan, Steve Doonan, Trevor Bača, and Vicente Solsona
287 Formatting of isolated, single ties has been improved. Now, ties avoid
288 staff lines, flags and dots, without compromising their shape.
290 @lilypond[fragment,raggedright]
293 c16 c2...~ c16 ~ c2... |
294 c4~c8 c8~c16 c16~c32 c16.~[ c64]~ c64[ c8..] |
298 This improvement has been sponsored by Bertalan Fodor, Jay Hamilton,
299 Kieren MacMillan, Steve Doonan, Trevor Bača, and Vicente Solsona
303 @item @textanchor{repeat-counter}
304 With the @code{countPercentRepeats} property,
305 percent repeats get incremental numbers to indicate the accumulated repeat count.
307 @lilypond[relative=2,fragment,raggedright]
308 \set countPercentRepeats = ##t
309 \repeat percent 4 { c1 }
311 \repeat percent 4 { c2 c2 }
314 This feature was sponsored by Yoshinobu Ishizaki
317 Text scripts such as fingering instructions and dynamics avoid
318 collisions with slurs
320 @lilypond[fragment,relative=1]
322 b_1( f'_1_2_3 c_3_4_5 a)
324 c-2_\markup { \italic {"cresc."}} ( f_\markup {x} c)
329 Tuplets can be made to reach the next non-tuplet note by setting the
330 @code{tupletFullLength} property,
332 @lilypond[fragment,relative=2]
334 \remove Forbid_line_break_engraver
338 \set Score.proportionalNotationDuration = #(ly:make-moment 1 32)
339 \set tupletFullLength = ##t
340 \times 2/3 { c8[ c c] }
345 This feature was sponsored by Trevor Bača.
348 When @code{strict-note-spacing} is set, notes are spaced without regard
349 for clefs, bar lines, and grace notes. For example,
351 @lilypond[fragment,relative=2]
352 \override Score.SpacingSpanner #'strict-note-spacing = ##t
353 \new Staff { c8[ c \clef alto c \grace { c16[ c] } c8 c c] c32[ c32] }
356 This feature was sponsored by Trevor Bača.
359 Beams support the @code{break-overshoot} property, for example
361 @lilypond[relative=2,fragment]
362 \set allowBeamBreak = ##t
363 \override Beam #'break-overshoot = #'(1.0 . 2.0)
367 This feature was sponsored by Trevor Bača.
370 Proportional notation is supported. Notes can be spaced proportional
371 to their time-difference by assigning a duration to
372 @code{proportionalNotationDuration}. For example,
374 @lilypond[relative=2,fragment,raggedright]
376 \set Score.proportionalNotationDuration = #(ly:make-moment 1 16)
377 \new Staff { c8[ c c c c c] c4 c2 r2 }
378 \new Staff { c2 \times 2/3 { c8 c c } c4 c1 }
382 This feature was sponsored by Trevor Bača.
385 Symbol sizes (e.g. accidentals) are disregarded for spacing if
386 @code{uniform-stretching} of the @code{SpacingSpanner} grob is set,
389 @lilypond[relative=2,fragment]
391 \override Score.SpacingSpanner #'uniform-stretching = ##t
392 \new Staff { c16[ c c c c c c c c c16] }
394 \times 6/7 { c16 c c cis c c c }
400 This feature was sponsored by Trevor Bača.
403 Endings of broken tuplet brackets can be tuned. For example, you can
404 add arrows to the brackets,
406 @lilypond[fragment,raggedright,relative=2]
407 \override TupletBracket
409 (markup #:arrow-head X LEFT #f)
410 (markup #:arrow-head X RIGHT #f))
412 c c c \bar "empty" \break c c
416 This feature was sponsored by Trevor Bača.
419 @item @textanchor{arrow-glyph}
420 Arrow heads were added to the Feta font.
425 filled, to the right: \hspace #2.0 \fontsize #6 \arrow-head #0 #1 ##t
426 open, down: \hspace #2.0 \fontsize #6 \arrow-head #1 #-1 ##f
431 These glyphs have been sponsored by Trevor Bača.
435 Nested tuplets are automatically positioned,
437 @lilypond[fragment,raggedright,relative=2]
438 \set tupletNumberFormatFunction = #fraction-tuplet-formatter
441 \times 3/5 { a a a a a }
445 This feature was sponsored by Trevor Bača.
448 Music expressions can be displayed, in LilyPond notation, using the
449 new @code{\displayLilyMusic} function. For instance:
451 \displayLilyMusic \transpose c a, { c d e f }
458 This feature was contributed by Nicolas Sceaux.
461 The current bar number may be checked with @code{\barNumberCheck}, eg.
468 will print a warning if it doesn't happen in measure 22.
471 If @code{showLastLength} is set, only the last few measures of a piece
472 are rendered, which speeds up correcting scores. For example, setting
475 showLastLength = R1*5
480 will render only the last five measures (assuming 4/4 time signature)
483 @item @textanchor{simple-melismata}
484 Melismata can be specified simply in the lyrics now, eg.
486 @lilypond[relative=1,verbatim,fragment]
494 This feature was sponsored by Nancho Alvarez
497 Suggested accidentals (for notating musica ficta) may be switched on
498 with @code{suggestAccidentals}
500 @lilypond[verbatim,fragment,relative=2]
501 \set suggestAccidentals = ##t
505 This feature was sponsored by Nancho Alvarez.
508 The setting @code{whichBar} and time-bookkeeping is now split into a
509 @code{Default_bar_line_engraver} and @code{Timing_translator}
512 @item @textanchor{pitched-trill}
513 Explicit pitches may be added to trills,
515 @lilypond[relative,verbatim,fragment]
516 \pitchedTrill c4\startTrillSpan fis f\stopTrillSpan
519 This feature was sponsored by D. Josiah Boothby and Jamie Bullock
522 Markup now supports formatting of text paragraphs, using
523 @code{\wordwrap} and @code{\justify}.
525 This feature was sponsored by Sven Axelsson.
529 For older news, go to
530 @uref{http://lilypond.org/doc/v2.6/Documentation/topdocs/out-www/NEWS.html}.