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.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
89 (,Self_alignment_interface::y_aligned_on_self))
90 ,(ly:make-simple-closure
91 (,Side_position_interface::y_aligned_on_support_refpoints)))
95 During execution, the @code{Y-offset} of an @code{InstrumentName} is computed
99 (+ (Self_alignment_interface::y_aligned_on_self @var{grob})
100 (Self_alignment_interface::y_aligned_on_support_refpoints @var{grob}))
105 Calculation of extent and offset of grob is now controlled via the
106 @code{X-extent}, @code{Y-extent}, @code{X-offset} and @code{Y-offset}
107 properties, for example
110 \override TextScript #'Y-offset = #-6
114 hard codes @code{TextScript} grobs to be 6 spaces below their Y-parent
118 Each grob property can be a procedure. If this is the case, it is
119 assumed to be a routine that calculates said property. This is a
120 major internal cleanup, which also provides advanced tweakability for
121 power users. For example,
124 \override Beam #'direction
126 (if (> 4 (ly:grob-array-length (ly:grob-object grob 'stems)))
132 With this code fragment, the direction of a beam is decided to be up
133 or down, depending on the number of stems in the beam.
137 Support for figured bass has been rewritten. Now it supports
138 continuation lines, slashed figures, and its figures, brackets, and alignments may
141 @lilypond[raggedright,fragment]
143 \relative { c4 c c c }
145 \set useBassFigureExtenders = ##t
146 <6+ 4 3> <6 4 3> <4 3+> <5/ 7/\+>
150 This rewrite was sponsored by Trent Johnston and John Mandereau.
153 Subproperties, like the @code{details} field of @code{Slur} and
154 @code{Tie} may now be tuned with @code{\override}. For example,
157 \override Stem #'details #'beamed-lengths = #'(4 4 3)
161 shortens the stems in beams.
164 The default paper size may now be set from the command line using
168 Beamlets may stick out of the side of beams.
171 @lilypond[fragment,raggedright,relative=2]
173 \override Beam #'break-overshoot = #'(-0.5 . 0.5)
174 \set stemLeftBeamCount = #2
177 \set stemRightBeamCount = #3
182 This feature was sponsored by Trevor Bača.
187 Vertical alignments of staves can now be tuned easily for individual
190 @lilypond[raggedright]
191 #(set-global-staff-size 13)
198 #"Score.NonMusicalPaperColumn"
199 #'line-break-system-details
200 #'((fixed-alignment-extra-space . 15))
212 This feature was sponsored by Nicolas Sceaux.
215 Vertical spacing for page layout can now be tuned for each system
216 individually. The dimensions that can be tuned can be visualized.
219 #(set-default-paper-size "a7" 'landscape)
222 \paper { annotatespacing = ##t }
226 These features were sponsored by Trevor Bača and Nicolas Sceaux.
229 The slope of a stem-tremolo may be set manually
231 @lilypond[fragment,relative=1,raggedright]
233 \once \override StemTremolo #'slope = #0.45
237 This feature was sponsored by Sven Axelsson.
240 Laissez vibrer ties can be created with @code{\laissezVibrer},
242 @lilypond[fragment,raggedright,relative=1]
243 <c e g>\laissezVibrer r <d f>\laissezVibrer
246 This feature was sponsored by Henrik Frisk.
249 The order of words in @code{\markup} commands may now be reversed by
250 setting the @code{text-direction} property. This is useful for
251 Right-to-Left languages like Hebrew.
253 This feature was sponsored by Aaron Mehl.
256 Texts over multi measure rests can stretch the corresponding measure,
257 if the appropriate @code{spring-and-rods} callback is set.
259 @lilypond[relative=2,fragment,raggedright]
260 \override MultiMeasureRestText #'springs-and-rods
261 = #Multi_measure_rest::set_text_rods
262 c1 R1 R1^"Very long long long text"
265 This feature was sponsored by Kris Shaffer.
268 @item @textanchor{tie-chords}
269 Formatting of ties in chords has been improved. Ties no longer collide
270 with note heads and stems. In addition, it is possible to manually
271 specify tie formatting
273 @lilypond[relative=2, fragment,raggedright]
274 <a c d f> ~ <a c d f>
276 \override TieColumn #'tie-configuration =
277 #'((0 . -1) (2 . -1) (5.5 . 1) (7 . 1))
278 <b d f g> ~ <b d f g>
281 This improvement has been sponsored by Bertalan Fodor, Jay Hamilton,
282 Kieren MacMillan, Steve Doonan, Trevor Bača, and Vicente Solsona
286 Formatting of isolated, single ties has been improved. Now, ties avoid
287 staff lines, flags and dots, without compromising their shape.
289 @lilypond[fragment,raggedright]
292 c16 c2...~ c16 ~ c2... |
293 c4~c8 c8~c16 c16~c32 c16.~[ c64]~ c64[ c8..] |
297 This improvement has been sponsored by Bertalan Fodor, Jay Hamilton,
298 Kieren MacMillan, Steve Doonan, Trevor Bača, and Vicente Solsona
302 @item @textanchor{repeat-counter}
303 With the @code{countPercentRepeats} property,
304 percent repeats get incremental numbers to indicate the accumulated repeat count.
306 @lilypond[relative=2,fragment,raggedright]
307 \set countPercentRepeats = ##t
308 \repeat percent 4 { c1 }
310 \repeat percent 4 { c2 c2 }
313 This feature was sponsored by Yoshinobu Ishizaki
316 Text scripts such as fingering instructions and dynamics avoid
317 collisions with slurs
319 @lilypond[fragment,relative=1]
321 b_1( f'_1_2_3 c_3_4_5 a)
323 c-2_\markup { \italic {"cresc."}} ( f_\markup {x} c)
328 Tuplets can be made to reach the next non-tuplet note by setting the
329 @code{tupletFullLength} property,
331 @lilypond[fragment,relative=2]
333 \remove Forbid_line_break_engraver
337 \set Score.proportionalNotationDuration = #(ly:make-moment 1 32)
338 \set tupletFullLength = ##t
339 \times 2/3 { c8[ c c] }
344 This feature was sponsored by Trevor Bača.
347 When @code{strict-note-spacing} is set, notes are spaced without regard
348 for clefs, bar lines, and grace notes. For example,
350 @lilypond[fragment,relative=2]
351 \override Score.SpacingSpanner #'strict-note-spacing = ##t
352 \new Staff { c8[ c \clef alto c \grace { c16[ c] } c8 c c] c32[ c32] }
355 This feature was sponsored by Trevor Bača.
358 Beams support the @code{break-overshoot} property, for example
360 @lilypond[relative=2,fragment]
361 \set allowBeamBreak = ##t
362 \override Beam #'break-overshoot = #'(1.0 . 2.0)
366 This feature was sponsored by Trevor Bača.
369 Proportional notation is supported. Notes can be spaced proportional
370 to their time-difference by assigning a duration to
371 @code{proportionalNotationDuration}. For example,
373 @lilypond[relative=2,fragment,raggedright]
375 \set Score.proportionalNotationDuration = #(ly:make-moment 1 16)
376 \new Staff { c8[ c c c c c] c4 c2 r2 }
377 \new Staff { c2 \times 2/3 { c8 c c } c4 c1 }
381 This feature was sponsored by Trevor Bača.
384 Symbol sizes (e.g. accidentals) are disregarded for spacing if
385 @code{uniform-stretching} of the @code{SpacingSpanner} grob is set,
388 @lilypond[relative=2,fragment]
390 \override Score.SpacingSpanner #'uniform-stretching = ##t
391 \new Staff { c16[ c c c c c c c c c16] }
393 \times 6/7 { c16 c c cis c c c }
399 This feature was sponsored by Trevor Bača.
402 Endings of broken tuplet brackets can be tuned. For example, you can
403 add arrows to the brackets,
405 @lilypond[fragment,raggedright,relative=2]
406 \override TupletBracket
408 (markup #:arrow-head X LEFT #f)
409 (markup #:arrow-head X RIGHT #f))
411 c c c \bar "empty" \break c c
415 This feature was sponsored by Trevor Bača.
418 @item @textanchor{arrow-glyph}
419 Arrow heads were added to the Feta font.
424 filled, to the right: \hspace #2.0 \fontsize #6 \arrow-head #0 #1 ##t
425 open, down: \hspace #2.0 \fontsize #6 \arrow-head #1 #-1 ##f
430 These glyphs have been sponsored by Trevor Bača.
434 Nested tuplets are automatically positioned,
436 @lilypond[fragment,raggedright,relative=2]
437 \set tupletNumberFormatFunction = #fraction-tuplet-formatter
440 \times 3/5 { a a a a a }
444 This feature was sponsored by Trevor Bača.
447 Music expressions can be displayed, in LilyPond notation, using the
448 new @code{\displayLilyMusic} function. For instance:
450 \displayLilyMusic \transpose c a, { c d e f }
457 This feature was contributed by Nicolas Sceaux.
460 The current bar number may be checked with @code{\barNumberCheck}, eg.
467 will print a warning if it doesn't happen in measure 22.
470 If @code{showLastLength} is set, only the last few measures of a piece
471 are rendered, which speeds up correcting scores. For example, setting
474 showLastLength = R1*5
479 will render only the last five measures (assuming 4/4 time signature)
482 @item @textanchor{simple-melismata}
483 Melismata can be specified simply in the lyrics now, eg.
485 @lilypond[relative=1,verbatim,fragment]
493 This feature was sponsored by Nancho Alvarez
496 Suggested accidentals (for notating musica ficta) may be switched on
497 with @code{suggestAccidentals}
499 @lilypond[verbatim,fragment,relative=2]
500 \set suggestAccidentals = ##t
504 This feature was sponsored by Nancho Alvarez.
507 The setting @code{whichBar} and time-bookkeeping is now split into a
508 @code{Default_bar_line_engraver} and @code{Timing_translator}
511 @item @textanchor{pitched-trill}
512 Explicit pitches may be added to trills,
514 @lilypond[relative,verbatim,fragment]
515 \pitchedTrill c4\startTrillSpan fis f\stopTrillSpan
518 This feature was sponsored by D. Josiah Boothby and Jamie Bullock
521 Markup now supports formatting of text paragraphs, using
522 @code{\wordwrap} and @code{\justify}.
524 This feature was sponsored by Sven Axelsson.
528 For older news, go to
529 @uref{http://lilypond.org/doc/v2.6/Documentation/topdocs/out-www/NEWS.html}.