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}.
48 @item Texts set in a TrueType font are now kerned.
50 @item Using the @TeX{} no longer requires linking or dynamically
51 opening the kpathsea library, making the backend more easily usable on
54 This fix was sponsored by Christian Ebert.
56 @item The horizontal location of rehearsal marks can be adjusted by
57 setting the @code{rehearsalMarkAlignSymbol} property,
59 @lilypond[raggedright]
64 \set Score.rehearsalMarkAlignSymbol = #'key-signature
68 \set Score.rehearsalMarkAlignSymbol = #'clef
76 This feature was sponsored by Trevor Bača.
80 It's now possible to easily create deeply nested system start
83 @lilypond[raggedright]
86 \set StaffGroup.systemStartDelimiterHierarchy
87 = #'(SystemStartSquare (SystemStartBracket a (SystemStartSquare b)) d)
97 In addition, there is now also support for ``square'' system start
100 This feature was sponsored by Trevor Bača.
103 Tie formatting now uses scoring. This opens the road to formatting
104 which handles complex situations require tradeoffs between different
107 This refactoring has been sponsored by Steve Doonan.
110 Each grob property may also be a ``grob closure.'' This means that it
111 is possible to combine functions. For example, the @code{Y-offset} of
112 a @code{InstrumentName} grob is defined to be
115 ,(ly:make-simple-closure
117 ,(ly:make-simple-closure
118 (,Self_alignment_interface::y_aligned_on_self))
119 ,(ly:make-simple-closure
120 (,Side_position_interface::y_aligned_on_support_refpoints)))
124 During execution, the @code{Y-offset} of an @code{InstrumentName} is computed
128 (+ (Self_alignment_interface::y_aligned_on_self @var{grob})
129 (Self_alignment_interface::y_aligned_on_support_refpoints @var{grob}))
134 Calculation of extent and offset of grob is now controlled via the
135 @code{X-extent}, @code{Y-extent}, @code{X-offset} and @code{Y-offset}
136 properties, for example
139 \override TextScript #'Y-offset = #-6
143 hard codes @code{TextScript} grobs to be 6 spaces below their Y-parent
147 Each grob property can be a procedure. If this is the case, it is
148 assumed to be a routine that calculates said property. This is a
149 major internal cleanup, which also provides advanced tweakability for
150 power users. For example,
153 \override Beam #'direction
155 (if (> 4 (ly:grob-array-length (ly:grob-object grob 'stems)))
161 With this code fragment, the direction of a beam is decided to be up
162 or down, depending on the number of stems in the beam.
166 Support for figured bass has been rewritten. Now it supports
167 continuation lines, slashed figures, and its figures, brackets, and alignments may
170 @lilypond[raggedright,fragment]
172 \relative { c4 c c c }
174 \set useBassFigureExtenders = ##t
175 <6+ 4 3> <6 4 3> <4 3+> <5/ 7/\+>
179 This rewrite was sponsored by Trent Johnston and John Mandereau.
182 Subproperties, like the @code{details} field of @code{Slur} and
183 @code{Tie} may now be tuned with @code{\override}. For example,
186 \override Stem #'details #'beamed-lengths = #'(4 4 3)
190 shortens the stems in beams.
193 The default paper size may now be set from the command line using
197 Beamlets may stick out of the side of beams.
200 @lilypond[fragment,raggedright,relative=2]
202 \override Beam #'break-overshoot = #'(-0.5 . 0.5)
203 \set stemLeftBeamCount = #2
206 \set stemRightBeamCount = #3
211 This feature was sponsored by Trevor Bača.
216 Vertical alignments of staves can now be tuned easily for individual
219 @lilypond[raggedright]
220 #(set-global-staff-size 13)
227 #"Score.NonMusicalPaperColumn"
228 #'line-break-system-details
229 #'((fixed-alignment-extra-space . 15))
241 This feature was sponsored by Nicolas Sceaux.
244 Vertical spacing for page layout can now be tuned for each system
245 individually. The dimensions that can be tuned can be visualized.
248 #(set-default-paper-size "a7" 'landscape)
251 \paper { annotatespacing = ##t }
255 These features were sponsored by Trevor Bača and Nicolas Sceaux.
258 The slope of a stem-tremolo may be set manually
260 @lilypond[fragment,relative=1,raggedright]
262 \once \override StemTremolo #'slope = #0.45
266 This feature was sponsored by Sven Axelsson.
269 Laissez vibrer ties can be created with @code{\laissezVibrer},
271 @lilypond[fragment,raggedright,relative=1]
272 <c e g>\laissezVibrer r <d f>\laissezVibrer
275 This feature was sponsored by Henrik Frisk.
278 The order of words in @code{\markup} commands may now be reversed by
279 setting the @code{text-direction} property. This is useful for
280 Right-to-Left languages like Hebrew.
282 This feature was sponsored by Aaron Mehl.
285 Texts over multi measure rests can stretch the corresponding measure,
286 if the appropriate @code{spring-and-rods} callback is set.
288 @lilypond[relative=2,fragment,raggedright]
289 \override MultiMeasureRestText #'springs-and-rods
290 = #Multi_measure_rest::set_text_rods
291 c1 R1 R1^"Very long long long text"
294 This feature was sponsored by Kris Shaffer.
297 @item @textanchor{tie-chords}
298 Formatting of ties in chords has been improved. Ties no longer collide
299 with note heads and stems. In addition, it is possible to manually
300 specify tie formatting
302 @lilypond[relative=2, fragment,raggedright]
303 <a c d f> ~ <a c d f>
305 \override TieColumn #'tie-configuration =
306 #'((0 . -1) (2 . -1) (5.5 . 1) (7 . 1))
307 <b d f g> ~ <b d f g>
310 This improvement has been sponsored by Bertalan Fodor, Jay Hamilton,
311 Kieren MacMillan, Steve Doonan, Trevor Bača, and Vicente Solsona
315 Formatting of isolated, single ties has been improved. Now, ties avoid
316 staff lines, flags and dots, without compromising their shape.
318 @lilypond[fragment,raggedright]
321 c16 c2...~ c16 ~ c2... |
322 c4~c8 c8~c16 c16~c32 c16.~[ c64]~ c64[ c8..] |
326 This improvement has been sponsored by Bertalan Fodor, Jay Hamilton,
327 Kieren MacMillan, Steve Doonan, Trevor Bača, and Vicente Solsona
331 @item @textanchor{repeat-counter}
332 With the @code{countPercentRepeats} property,
333 percent repeats get incremental numbers to indicate the accumulated repeat count.
335 @lilypond[relative=2,fragment,raggedright]
336 \set countPercentRepeats = ##t
337 \repeat percent 4 { c1 }
339 \repeat percent 4 { c2 c2 }
342 This feature was sponsored by Yoshinobu Ishizaki
345 Text scripts such as fingering instructions and dynamics avoid
346 collisions with slurs
348 @lilypond[fragment,relative=1]
350 b_1( f'_1_2_3 c_3_4_5 a)
352 c-2_\markup { \italic {"cresc."}} ( f_\markup {x} c)
357 Tuplets can be made to reach the next non-tuplet note by setting the
358 @code{tupletFullLength} property,
360 @lilypond[fragment,relative=2]
362 \remove Forbid_line_break_engraver
366 \set Score.proportionalNotationDuration = #(ly:make-moment 1 32)
367 \set tupletFullLength = ##t
368 \times 2/3 { c8[ c c] }
373 This feature was sponsored by Trevor Bača.
376 When @code{strict-note-spacing} is set, notes are spaced without regard
377 for clefs, bar lines, and grace notes. For example,
379 @lilypond[fragment,relative=2]
380 \override Score.SpacingSpanner #'strict-note-spacing = ##t
381 \new Staff { c8[ c \clef alto c \grace { c16[ c] } c8 c c] c32[ c32] }
384 This feature was sponsored by Trevor Bača.
387 Beams support the @code{break-overshoot} property, for example
389 @lilypond[relative=2,fragment]
390 \set allowBeamBreak = ##t
391 \override Beam #'break-overshoot = #'(1.0 . 2.0)
395 This feature was sponsored by Trevor Bača.
398 Proportional notation is supported. Notes can be spaced proportional
399 to their time-difference by assigning a duration to
400 @code{proportionalNotationDuration}. For example,
402 @lilypond[relative=2,fragment,raggedright]
404 \set Score.proportionalNotationDuration = #(ly:make-moment 1 16)
405 \new Staff { c8[ c c c c c] c4 c2 r2 }
406 \new Staff { c2 \times 2/3 { c8 c c } c4 c1 }
410 This feature was sponsored by Trevor Bača.
413 Symbol sizes (e.g. accidentals) are disregarded for spacing if
414 @code{uniform-stretching} of the @code{SpacingSpanner} grob is set,
417 @lilypond[relative=2,fragment]
419 \override Score.SpacingSpanner #'uniform-stretching = ##t
420 \new Staff { c16[ c c c c c c c c c16] }
422 \times 6/7 { c16 c c cis c c c }
428 This feature was sponsored by Trevor Bača.
431 Endings of broken tuplet brackets can be tuned. For example, you can
432 add arrows to the brackets,
434 @lilypond[fragment,raggedright,relative=2]
435 \override TupletBracket
437 (markup #:arrow-head X LEFT #f)
438 (markup #:arrow-head X RIGHT #f))
440 c c c \bar "empty" \break c c
444 This feature was sponsored by Trevor Bača.
447 @item @textanchor{arrow-glyph}
448 Arrow heads were added to the Feta font.
453 filled, to the right: \hspace #2.0 \fontsize #6 \arrow-head #0 #1 ##t
454 open, down: \hspace #2.0 \fontsize #6 \arrow-head #1 #-1 ##f
459 These glyphs have been sponsored by Trevor Bača.
463 Nested tuplets are automatically positioned,
465 @lilypond[fragment,raggedright,relative=2]
466 \set tupletNumberFormatFunction = #fraction-tuplet-formatter
469 \times 3/5 { a a a a a }
473 This feature was sponsored by Trevor Bača.
476 Music expressions can be displayed, in LilyPond notation, using the
477 new @code{\displayLilyMusic} function. For instance:
479 \displayLilyMusic \transpose c a, { c d e f }
486 This feature was contributed by Nicolas Sceaux.
489 The current bar number may be checked with @code{\barNumberCheck}, eg.
496 will print a warning if it doesn't happen in measure 22.
499 If @code{showLastLength} is set, only the last few measures of a piece
500 are rendered, which speeds up correcting scores. For example, setting
503 showLastLength = R1*5
508 will render only the last five measures (assuming 4/4 time signature)
511 @item @textanchor{simple-melismata}
512 Melismata can be specified simply in the lyrics now, eg.
514 @lilypond[relative=1,verbatim,fragment]
522 This feature was sponsored by Nancho Alvarez
525 Suggested accidentals (for notating musica ficta) may be switched on
526 with @code{suggestAccidentals}
528 @lilypond[verbatim,fragment,relative=2]
529 \set suggestAccidentals = ##t
533 This feature was sponsored by Nancho Alvarez.
536 The setting @code{whichBar} and time-bookkeeping is now split into a
537 @code{Default_bar_line_engraver} and @code{Timing_translator}
540 @item @textanchor{pitched-trill}
541 Explicit pitches may be added to trills,
543 @lilypond[relative,verbatim,fragment]
544 \pitchedTrill c4\startTrillSpan fis f\stopTrillSpan
547 This feature was sponsored by D. Josiah Boothby and Jamie Bullock
550 Markup now supports formatting of text paragraphs, using
551 @code{\wordwrap} and @code{\justify}.
553 This feature was sponsored by Sven Axelsson.
557 For older news, go to
558 @uref{http://lilypond.org/doc/v2.6/Documentation/topdocs/out-www/NEWS.html}.