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 \override StaffGroup.systemStartDelimiters
57 = #'(SystemStartSquare SystemStartBracket SystemStartSquare)
58 \set StaffGroup.systemStartDelimiterHierarchy = #'((a (b)) c)
68 In addition, there is now also support for ``square'' system start
71 This feature was sponsored by Trevor Bača.
74 Tie formatting now uses scoring. This opens the road to formatting
75 which handles complex situations require tradeoffs between different
78 This refactoring has been sponsored by Steve Doonan.
81 Each grob property may also be a ``grob closure.'' This means that it
82 is possible to combine functions. For example, the @code{Y-offset} of
83 a @code{InstrumentName} grob is defined to be
86 ,(ly:make-simple-closure
88 ,(ly:make-simple-closure (list Self_alignment_interface::y_aligned_on_self))
89 ,(ly:make-simple-closure (list Side_position_interface::y_aligned_on_support_refpoints)))
93 During execution, the @code{Y-offset} of an @code{InstrumentName} is computed
97 (+ (Self_alignment_interface::y_aligned_on_self @var{grob})
98 (Self_alignment_interface::y_aligned_on_support_refpoints @var{grob}))
103 Calculation of extent and offset of grob is now controlled via the
104 @code{X-extent}, @code{Y-extent}, @code{X-offset} and @code{Y-offset}
105 properties, for example
108 \override TextScript #'Y-offset = #-6
112 hard codes @code{TextScript} grobs to be 6 spaces below their Y-parent
116 Each grob property can be a procedure. If this is the case, it is
117 assumed to be a routine that calculates said property. This is a
118 major internal cleanup, which also provides advanced tweakability for
119 power users. For example,
122 \override Beam #'direction
124 (if (> 4 (ly:grob-array-length (ly:grob-object grob 'stems)))
130 With this code fragment, the direction of a beam is decided to be up
131 or down, depending on the number of stems in the beam.
135 Support for figured bass has been rewritten. Now it supports
136 continuation lines, slashed figures, and its figures, brackets, and alignments may
139 @lilypond[raggedright,fragment]
141 \relative { c4 c c c }
143 \set useBassFigureExtenders = ##t
144 <6+ 4 3> <6 4 3> <4 3+> <5/ 7/\+>
148 This rewrite was sponsored by Trent Johnston and John Mandereau.
151 Subproperties, like the @code{details} field of @code{Slur} and
152 @code{Tie} may now be tuned with @code{\override}. For example,
155 \override Stem #'details #'beamed-lengths = #'(4 4 3)
159 shortens the stems in beams.
162 The default paper size may now be set from the command line using
166 Beamlets may stick out of the side of beams.
169 @lilypond[fragment,raggedright,relative=2]
171 \override Beam #'break-overshoot = #'(-0.5 . 0.5)
172 \set stemLeftBeamCount = #2
175 \set stemRightBeamCount = #3
180 This feature was sponsored by Trevor Bača.
185 Vertical alignments of staves can now be tuned easily for individual
188 @lilypond[raggedright]
189 #(set-global-staff-size 13)
196 #"Score.NonMusicalPaperColumn"
197 #'line-break-system-details
198 #'((fixed-alignment-extra-space . 15))
210 This feature was sponsored by Nicolas Sceaux.
213 Vertical spacing for page layout can now be tuned for each system
214 individually. The dimensions that can be tuned can be visualized.
217 #(set-default-paper-size "a7" 'landscape)
220 \paper { annotatespacing = ##t }
224 These features were sponsored by Trevor Bača and Nicolas Sceaux.
227 The slope of a stem-tremolo may be set manually
229 @lilypond[fragment,relative=1,raggedright]
231 \once \override StemTremolo #'slope = #0.45
235 This feature was sponsored by Sven Axelsson.
238 Laissez vibrer ties can be created with @code{\laissezVibrer},
240 @lilypond[fragment,raggedright,relative=1]
241 <c e g>\laissezVibrer r <d f>\laissezVibrer
244 This feature was sponsored by Henrik Frisk.
247 The order of words in @code{\markup} commands may now be reversed by
248 setting the @code{text-direction} property. This is useful for
249 Right-to-Left languages like Hebrew.
251 This feature was sponsored by Aaron Mehl.
254 Texts over multi measure rests can stretch the corresponding measure,
255 if the appropriate @code{spring-and-rods} callback is set.
257 @lilypond[relative=2,fragment,raggedright]
258 \override MultiMeasureRestText #'springs-and-rods
259 = #Multi_measure_rest::set_text_rods
260 c1 R1 R1^"Very long long long text"
263 This feature was sponsored by Kris Shaffer.
266 @item @textanchor{tie-chords}
267 Formatting of ties in chords has been improved. Ties no longer collide
268 with note heads and stems. In addition, it is possible to manually
269 specify tie formatting
271 @lilypond[relative=2, fragment,raggedright]
272 <a c d f> ~ <a c d f>
274 \override TieColumn #'tie-configuration =
275 #'((0 . -1) (2 . -1) (5.5 . 1) (7 . 1))
276 <b d f g> ~ <b d f g>
279 This improvement has been sponsored by Bertalan Fodor, Jay Hamilton,
280 Kieren MacMillan, Steve Doonan, Trevor Bača, and Vicente Solsona
284 Formatting of isolated, single ties has been improved. Now, ties avoid
285 staff lines, flags and dots, without compromising their shape.
287 @lilypond[fragment,raggedright]
290 c16 c2...~ c16 ~ c2... |
291 c4~c8 c8~c16 c16~c32 c16.~[ c64]~ c64[ c8..] |
295 This improvement has been sponsored by Bertalan Fodor, Jay Hamilton,
296 Kieren MacMillan, Steve Doonan, Trevor Bača, and Vicente Solsona
300 @item @textanchor{repeat-counter}
301 With the @code{countPercentRepeats} property,
302 percent repeats get incremental numbers to indicate the accumulated repeat count.
304 @lilypond[relative=2,fragment,raggedright]
305 \set countPercentRepeats = ##t
306 \repeat percent 4 { c1 }
308 \repeat percent 4 { c2 c2 }
311 This feature was sponsored by Yoshinobu Ishizaki
314 Text scripts such as fingering instructions and dynamics avoid
315 collisions with slurs
317 @lilypond[fragment,relative=1]
319 b_1( f'_1_2_3 c_3_4_5 a)
321 c-2_\markup { \italic {"cresc."}} ( f_\markup {x} c)
326 Tuplets can be made to reach the next non-tuplet note by setting the
327 @code{tupletFullLength} property,
329 @lilypond[fragment,relative=2]
331 \remove Forbid_line_break_engraver
335 \set Score.proportionalNotationDuration = #(ly:make-moment 1 32)
336 \set tupletFullLength = ##t
337 \times 2/3 { c8[ c c] }
342 This feature was sponsored by Trevor Bača.
345 When @code{strict-note-spacing} is set, notes are spaced without regard
346 for clefs, bar lines, and grace notes. For example,
348 @lilypond[fragment,relative=2]
349 \override Score.SpacingSpanner #'strict-note-spacing = ##t
350 \new Staff { c8[ c \clef alto c \grace { c16[ c] } c8 c c] c32[ c32] }
353 This feature was sponsored by Trevor Bača.
356 Beams support the @code{break-overshoot} property, for example
358 @lilypond[relative=2,fragment]
359 \set allowBeamBreak = ##t
360 \override Beam #'break-overshoot = #'(1.0 . 2.0)
364 This feature was sponsored by Trevor Bača.
367 Proportional notation is supported. Notes can be spaced proportional
368 to their time-difference by assigning a duration to
369 @code{proportionalNotationDuration}. For example,
371 @lilypond[relative=2,fragment,raggedright]
373 \set Score.proportionalNotationDuration = #(ly:make-moment 1 16)
374 \new Staff { c8[ c c c c c] c4 c2 r2 }
375 \new Staff { c2 \times 2/3 { c8 c c } c4 c1 }
379 This feature was sponsored by Trevor Bača.
382 Symbol sizes (e.g. accidentals) are disregarded for spacing if
383 @code{uniform-stretching} of the @code{SpacingSpanner} grob is set,
386 @lilypond[relative=2,fragment]
388 \override Score.SpacingSpanner #'uniform-stretching = ##t
389 \new Staff { c16[ c c c c c c c c c16] }
391 \times 6/7 { c16 c c cis c c c }
397 This feature was sponsored by Trevor Bača.
400 Endings of broken tuplet brackets can be tuned. For example, you can
401 add arrows to the brackets,
403 @lilypond[fragment,raggedright,relative=2]
404 \override TupletBracket
406 (markup #:arrow-head X LEFT #f)
407 (markup #:arrow-head X RIGHT #f))
409 c c c \bar "empty" \break c c
413 This feature was sponsored by Trevor Bača.
416 @item @textanchor{arrow-glyph}
417 Arrow heads were added to the Feta font.
422 filled, to the right: \hspace #2.0 \fontsize #6 \arrow-head #0 #1 ##t
423 open, down: \hspace #2.0 \fontsize #6 \arrow-head #1 #-1 ##f
428 These glyphs have been sponsored by Trevor Bača.
432 Nested tuplets are automatically positioned,
434 @lilypond[fragment,raggedright,relative=2]
435 \set tupletNumberFormatFunction = #fraction-tuplet-formatter
438 \times 3/5 { a a a a a }
442 This feature was sponsored by Trevor Bača.
445 Music expressions can be displayed, in LilyPond notation, using the
446 new @code{\displayLilyMusic} function. For instance:
448 \displayLilyMusic \transpose c a, { c d e f }
455 This feature was contributed by Nicolas Sceaux.
458 The current bar number may be checked with @code{\barNumberCheck}, eg.
465 will print a warning if it doesn't happen in measure 22.
468 If @code{showLastLength} is set, only the last few measures of a piece
469 are rendered, which speeds up correcting scores. For example, setting
472 showLastLength = R1*5
477 will render only the last five measures (assuming 4/4 time signature)
480 @item @textanchor{simple-melismata}
481 Melismata can be specified simply in the lyrics now, eg.
483 @lilypond[relative=1,verbatim,fragment]
491 This feature was sponsored by Nancho Alvarez
494 Suggested accidentals (for notating musica ficta) may be switched on
495 with @code{suggestAccidentals}
497 @lilypond[verbatim,fragment,relative=2]
498 \set suggestAccidentals = ##t
502 This feature was sponsored by Nancho Alvarez.
505 The setting @code{whichBar} and time-bookkeeping is now split into a
506 @code{Default_bar_line_engraver} and @code{Timing_translator}
509 @item @textanchor{pitched-trill}
510 Explicit pitches may be added to trills,
512 @lilypond[relative,verbatim,fragment]
513 \pitchedTrill c4\startTrillSpan fis f\stopTrillSpan
516 This feature was sponsored by D. Josiah Boothby and Jamie Bullock
519 Markup now supports formatting of text paragraphs, using
520 @code{\wordwrap} and @code{\justify}.
522 This feature was sponsored by Sven Axelsson.
526 For older news, go to
527 @uref{http://lilypond.org/doc/v2.6/Documentation/topdocs/out-www/NEWS.html}.