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. This requires CVS
51 @item Using the @TeX{} no longer requires linking or dynamically
52 opening the kpathsea library, making the backend more easily usable on
55 This fix was sponsored by Black Trash Productions.
57 @item The horizontal location of rehearsal marks can be adjusted by
58 setting the @code{rehearsalMarkAlignSymbol} property,
60 @lilypond[raggedright]
65 \set Score.rehearsalMarkAlignSymbol = #'key-signature
69 \set Score.rehearsalMarkAlignSymbol = #'clef
77 This feature was sponsored by Trevor Bača.
81 It's now possible to easily create deeply nested system start
84 @lilypond[raggedright]
87 \set StaffGroup.systemStartDelimiterHierarchy
88 = #'(SystemStartSquare (SystemStartBracket a (SystemStartSquare b)) d)
98 In addition, there is now also support for ``square'' system start
101 This feature was sponsored by Trevor Bača.
104 Tie formatting now uses scoring. This opens the road to formatting
105 which handles complex situations require tradeoffs between different
108 This refactoring has been sponsored by Steve Doonan.
111 Each grob property may also be a ``grob closure.'' This means that it
112 is possible to combine functions. For example, the @code{Y-offset} of
113 a @code{InstrumentName} grob is defined to be
116 ,(ly:make-simple-closure
118 ,(ly:make-simple-closure
119 (,Self_alignment_interface::y_aligned_on_self))
120 ,(ly:make-simple-closure
121 (,Side_position_interface::y_aligned_on_support_refpoints)))
125 During execution, the @code{Y-offset} of an @code{InstrumentName} is computed
129 (+ (Self_alignment_interface::y_aligned_on_self @var{grob})
130 (Self_alignment_interface::y_aligned_on_support_refpoints @var{grob}))
135 Calculation of extent and offset of grob is now controlled via the
136 @code{X-extent}, @code{Y-extent}, @code{X-offset} and @code{Y-offset}
137 properties, for example
140 \override TextScript #'Y-offset = #-6
144 hard codes @code{TextScript} grobs to be 6 spaces below their Y-parent
148 Each grob property can be a procedure. If this is the case, it is
149 assumed to be a routine that calculates said property. This is a
150 major internal cleanup, which also provides advanced tweakability for
151 power users. For example,
154 \override Beam #'direction
156 (if (> 4 (ly:grob-array-length (ly:grob-object grob 'stems)))
162 With this code fragment, the direction of a beam is decided to be up
163 or down, depending on the number of stems in the beam.
167 Support for figured bass has been rewritten. Now it supports
168 continuation lines, slashed figures, and its figures, brackets, and alignments may
171 @lilypond[raggedright,fragment]
173 \relative { c4 c c c }
175 \set useBassFigureExtenders = ##t
176 <6+ 4 3> <6 4 3> <4 3+> <5/ 7/\+>
180 This rewrite was sponsored by Trent Johnston and John Mandereau.
183 Subproperties, like the @code{details} field of @code{Slur} and
184 @code{Tie} may now be tuned with @code{\override}. For example,
187 \override Stem #'details #'beamed-lengths = #'(4 4 3)
191 shortens the stems in beams.
194 The default paper size may now be set from the command line using
198 Beamlets may stick out of the side of beams.
201 @lilypond[fragment,raggedright,relative=2]
203 \override Beam #'break-overshoot = #'(-0.5 . 0.5)
204 \set stemLeftBeamCount = #2
207 \set stemRightBeamCount = #3
212 This feature was sponsored by Trevor Bača.
217 Vertical alignments of staves can now be tuned easily for individual
220 @lilypond[raggedright]
221 #(set-global-staff-size 13)
228 #"Score.NonMusicalPaperColumn"
229 #'line-break-system-details
230 #'((fixed-alignment-extra-space . 15))
242 This feature was sponsored by Nicolas Sceaux.
245 Vertical spacing for page layout can now be tuned for each system
246 individually. The dimensions that can be tuned can be visualized.
249 #(set-default-paper-size "a7" 'landscape)
252 \paper { annotatespacing = ##t }
256 These features were sponsored by Trevor Bača and Nicolas Sceaux.
259 The slope of a stem-tremolo may be set manually
261 @lilypond[fragment,relative=1,raggedright]
263 \once \override StemTremolo #'slope = #0.45
267 This feature was sponsored by Sven Axelsson.
270 Laissez vibrer ties can be created with @code{\laissezVibrer},
272 @lilypond[fragment,raggedright,relative=1]
273 <c e g>\laissezVibrer r <d f>\laissezVibrer
276 This feature was sponsored by Henrik Frisk.
279 The order of words in @code{\markup} commands may now be reversed by
280 setting the @code{text-direction} property. This is useful for
281 Right-to-Left languages like Hebrew.
283 This feature was sponsored by Aaron Mehl.
286 Texts over multi measure rests can stretch the corresponding measure,
287 if the appropriate @code{spring-and-rods} callback is set.
289 @lilypond[relative=2,fragment,raggedright]
290 \override MultiMeasureRestText #'springs-and-rods
291 = #Multi_measure_rest::set_text_rods
292 c1 R1 R1^"Very long long long text"
295 This feature was sponsored by Kris Shaffer.
298 @item @textanchor{tie-chords}
299 Formatting of ties in chords has been improved. Ties no longer collide
300 with note heads and stems. In addition, it is possible to manually
301 specify tie formatting
303 @lilypond[relative=2, fragment,raggedright]
304 <a c d f> ~ <a c d f>
306 \override TieColumn #'tie-configuration =
307 #'((0 . -1) (2 . -1) (5.5 . 1) (7 . 1))
308 <b d f g> ~ <b d f g>
311 This improvement has been sponsored by Bertalan Fodor, Jay Hamilton,
312 Kieren MacMillan, Steve Doonan, Trevor Bača, and Vicente Solsona
316 Formatting of isolated, single ties has been improved. Now, ties avoid
317 staff lines, flags and dots, without compromising their shape.
319 @lilypond[fragment,raggedright]
322 c16 c2...~ c16 ~ c2... |
323 c4~c8 c8~c16 c16~c32 c16.~[ c64]~ c64[ c8..] |
327 This improvement has been sponsored by Bertalan Fodor, Jay Hamilton,
328 Kieren MacMillan, Steve Doonan, Trevor Bača, and Vicente Solsona
332 @item @textanchor{repeat-counter}
333 With the @code{countPercentRepeats} property,
334 percent repeats get incremental numbers to indicate the accumulated repeat count.
336 @lilypond[relative=2,fragment,raggedright]
337 \set countPercentRepeats = ##t
338 \repeat percent 4 { c1 }
340 \repeat percent 4 { c2 c2 }
343 This feature was sponsored by Yoshinobu Ishizaki
346 Text scripts such as fingering instructions and dynamics avoid
347 collisions with slurs
349 @lilypond[fragment,relative=1]
351 b_1( f'_1_2_3 c_3_4_5 a)
353 c-2_\markup { \italic {"cresc."}} ( f_\markup {x} c)
358 Tuplets can be made to reach the next non-tuplet note by setting the
359 @code{tupletFullLength} property,
361 @lilypond[fragment,relative=2]
363 \remove Forbid_line_break_engraver
367 \set Score.proportionalNotationDuration = #(ly:make-moment 1 32)
368 \set tupletFullLength = ##t
369 \times 2/3 { c8[ c c] }
374 This feature was sponsored by Trevor Bača.
377 When @code{strict-note-spacing} is set, notes are spaced without regard
378 for clefs, bar lines, and grace notes. For example,
380 @lilypond[fragment,relative=2]
381 \override Score.SpacingSpanner #'strict-note-spacing = ##t
382 \new Staff { c8[ c \clef alto c \grace { c16[ c] } c8 c c] c32[ c32] }
385 This feature was sponsored by Trevor Bača.
388 Beams support the @code{break-overshoot} property, for example
390 @lilypond[relative=2,fragment]
391 \set allowBeamBreak = ##t
392 \override Beam #'break-overshoot = #'(1.0 . 2.0)
396 This feature was sponsored by Trevor Bača.
399 Proportional notation is supported. Notes can be spaced proportional
400 to their time-difference by assigning a duration to
401 @code{proportionalNotationDuration}. For example,
403 @lilypond[relative=2,fragment,raggedright]
405 \set Score.proportionalNotationDuration = #(ly:make-moment 1 16)
406 \new Staff { c8[ c c c c c] c4 c2 r2 }
407 \new Staff { c2 \times 2/3 { c8 c c } c4 c1 }
411 This feature was sponsored by Trevor Bača.
414 Symbol sizes (e.g. accidentals) are disregarded for spacing if
415 @code{uniform-stretching} of the @code{SpacingSpanner} grob is set,
418 @lilypond[relative=2,fragment]
420 \override Score.SpacingSpanner #'uniform-stretching = ##t
421 \new Staff { c16[ c c c c c c c c c16] }
423 \times 6/7 { c16 c c cis c c c }
429 This feature was sponsored by Trevor Bača.
432 Endings of broken tuplet brackets can be tuned. For example, you can
433 add arrows to the brackets,
435 @lilypond[fragment,raggedright,relative=2]
436 \override TupletBracket
438 (markup #:arrow-head X LEFT #f)
439 (markup #:arrow-head X RIGHT #f))
441 c c c \bar "empty" \break c c
445 This feature was sponsored by Trevor Bača.
448 @item @textanchor{arrow-glyph}
449 Arrow heads were added to the Feta font.
454 filled, to the right: \hspace #2.0 \fontsize #6 \arrow-head #0 #1 ##t
455 open, down: \hspace #2.0 \fontsize #6 \arrow-head #1 #-1 ##f
460 These glyphs have been sponsored by Trevor Bača.
464 Nested tuplets are automatically positioned,
466 @lilypond[fragment,raggedright,relative=2]
467 \set tupletNumberFormatFunction = #fraction-tuplet-formatter
470 \times 3/5 { a a a a a }
474 This feature was sponsored by Trevor Bača.
477 Music expressions can be displayed, in LilyPond notation, using the
478 new @code{\displayLilyMusic} function. For instance:
480 \displayLilyMusic \transpose c a, { c d e f }
487 This feature was contributed by Nicolas Sceaux.
490 The current bar number may be checked with @code{\barNumberCheck}, eg.
497 will print a warning if it doesn't happen in measure 22.
500 If @code{showLastLength} is set, only the last few measures of a piece
501 are rendered, which speeds up correcting scores. For example, setting
504 showLastLength = R1*5
509 will render only the last five measures (assuming 4/4 time signature)
512 @item @textanchor{simple-melismata}
513 Melismata can be specified simply in the lyrics now, eg.
515 @lilypond[relative=1,verbatim,fragment]
523 This feature was sponsored by Nancho Alvarez
526 Suggested accidentals (for notating musica ficta) may be switched on
527 with @code{suggestAccidentals}
529 @lilypond[verbatim,fragment,relative=2]
530 \set suggestAccidentals = ##t
534 This feature was sponsored by Nancho Alvarez.
537 The setting @code{whichBar} and time-bookkeeping is now split into a
538 @code{Default_bar_line_engraver} and @code{Timing_translator}
541 @item @textanchor{pitched-trill}
542 Explicit pitches may be added to trills,
544 @lilypond[relative,verbatim,fragment]
545 \pitchedTrill c4\startTrillSpan fis f\stopTrillSpan
548 This feature was sponsored by D. Josiah Boothby and Jamie Bullock
551 Markup now supports formatting of text paragraphs, using
552 @code{\wordwrap} and @code{\justify}.
554 This feature was sponsored by Sven Axelsson.
558 For older news, go to
559 @uref{http://lilypond.org/doc/v2.6/Documentation/topdocs/out-www/NEWS.html}.