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 Spaces between lyrics and distance between syllables with
49 hyphens may now be separately tuned through the
50 @internalsref{LyricSpace} grob.
52 This feature has been sponsored by Bertalan Fodor.
54 @item A MusicXML importer is included now.
56 @item Texts set in a TrueType font are now kerned. This requires CVS
59 @item Using the @TeX{} no longer requires linking or dynamically
60 opening the kpathsea library, making the backend more easily usable on
63 This fix was sponsored by Black Trash Productions.
65 @item The horizontal location of rehearsal marks can be adjusted by
66 setting the @code{rehearsalMarkAlignSymbol} property,
68 @lilypond[raggedright]
73 \set Score.rehearsalMarkAlignSymbol = #'key-signature
77 \set Score.rehearsalMarkAlignSymbol = #'clef
85 This feature was sponsored by Trevor Bača.
89 It's now possible to easily create deeply nested system start
92 @lilypond[raggedright]
95 \set StaffGroup.systemStartDelimiterHierarchy
96 = #'(SystemStartSquare (SystemStartBracket a (SystemStartSquare b)) d)
106 In addition, there is now also support for ``square'' system start
109 This feature was sponsored by Trevor Bača.
112 Tie formatting now uses scoring. This opens the road to formatting
113 which handles complex situations require tradeoffs between different
116 This refactoring has been sponsored by Steve Doonan.
119 Each grob property may also be a ``grob closure.'' This means that it
120 is possible to combine functions. For example, the @code{Y-offset} of
121 a @code{InstrumentName} grob is defined to be
124 ,(ly:make-simple-closure
126 ,(ly:make-simple-closure
127 (,Self_alignment_interface::y_aligned_on_self))
128 ,(ly:make-simple-closure
129 (,Side_position_interface::y_aligned_on_support_refpoints)))
133 During execution, the @code{Y-offset} of an @code{InstrumentName} is computed
137 (+ (Self_alignment_interface::y_aligned_on_self @var{grob})
138 (Self_alignment_interface::y_aligned_on_support_refpoints @var{grob}))
143 Calculation of extent and offset of grob is now controlled via the
144 @code{X-extent}, @code{Y-extent}, @code{X-offset} and @code{Y-offset}
145 properties, for example
148 \override TextScript #'Y-offset = #-6
152 hard codes @code{TextScript} grobs to be 6 spaces below their Y-parent
156 Each grob property can be a procedure. If this is the case, it is
157 assumed to be a routine that calculates said property. This is a
158 major internal cleanup, which also provides advanced tweakability for
159 power users. For example,
162 \override Beam #'direction
164 (if (> 4 (ly:grob-array-length (ly:grob-object grob 'stems)))
170 With this code fragment, the direction of a beam is decided to be up
171 or down, depending on the number of stems in the beam.
175 Support for figured bass has been rewritten. Now it supports
176 continuation lines, slashed figures, and its figures, brackets, and alignments may
179 @lilypond[raggedright,fragment]
181 \relative { c4 c c c }
183 \set useBassFigureExtenders = ##t
184 <6+ 4 3> <6 4 3> <4 3+> <5/ 7/\+>
188 This rewrite was sponsored by Trent Johnston and John Mandereau.
191 Subproperties, like the @code{details} field of @code{Slur} and
192 @code{Tie} may now be tuned with @code{\override}. For example,
195 \override Stem #'details #'beamed-lengths = #'(4 4 3)
199 shortens the stems in beams.
202 The default paper size may now be set from the command line using
206 Beamlets may stick out of the side of beams.
209 @lilypond[fragment,raggedright,relative=2]
211 \override Beam #'break-overshoot = #'(-0.5 . 0.5)
212 \set stemLeftBeamCount = #2
215 \set stemRightBeamCount = #3
220 This feature was sponsored by Trevor Bača.
225 Vertical alignments of staves can now be tuned easily for individual
228 @lilypond[raggedright]
229 #(set-global-staff-size 13)
236 #"Score.NonMusicalPaperColumn"
237 #'line-break-system-details
238 #'((fixed-alignment-extra-space . 15))
250 This feature was sponsored by Nicolas Sceaux.
253 Vertical spacing for page layout can now be tuned for each system
254 individually. The dimensions that can be tuned can be visualized.
257 #(set-default-paper-size "a7" 'landscape)
260 \paper { annotatespacing = ##t }
264 These features were sponsored by Trevor Bača and Nicolas Sceaux.
267 The slope of a stem-tremolo may be set manually
269 @lilypond[fragment,relative=1,raggedright]
271 \once \override StemTremolo #'slope = #0.45
275 This feature was sponsored by Sven Axelsson.
278 Laissez vibrer ties can be created with @code{\laissezVibrer},
280 @lilypond[fragment,raggedright,relative=1]
281 <c e g>\laissezVibrer r <d f>\laissezVibrer
284 This feature was sponsored by Henrik Frisk.
287 The order of words in @code{\markup} commands may now be reversed by
288 setting the @code{text-direction} property. This is useful for
289 Right-to-Left languages like Hebrew.
291 This feature was sponsored by Aaron Mehl.
294 Texts over multi measure rests can stretch the corresponding measure,
295 if the appropriate @code{spring-and-rods} callback is set.
297 @lilypond[relative=2,fragment,raggedright]
298 \override MultiMeasureRestText #'springs-and-rods
299 = #Multi_measure_rest::set_text_rods
300 c1 R1 R1^"Very long long long text"
303 This feature was sponsored by Kris Shaffer.
306 @item @textanchor{tie-chords}
307 Formatting of ties in chords has been improved. Ties no longer collide
308 with note heads and stems. In addition, it is possible to manually
309 specify tie formatting
311 @lilypond[relative=2, fragment,raggedright]
312 <a c d f> ~ <a c d f>
314 \override TieColumn #'tie-configuration =
315 #'((0 . -1) (2 . -1) (5.5 . 1) (7 . 1))
316 <b d f g> ~ <b d f g>
319 This improvement has been sponsored by Bertalan Fodor, Jay Hamilton,
320 Kieren MacMillan, Steve Doonan, Trevor Bača, and Vicente Solsona
324 Formatting of isolated, single ties has been improved. Now, ties avoid
325 staff lines, flags and dots, without compromising their shape.
327 @lilypond[fragment,raggedright]
330 c16 c2...~ c16 ~ c2... |
331 c4~c8 c8~c16 c16~c32 c16.~[ c64]~ c64[ c8..] |
335 This improvement has been sponsored by Bertalan Fodor, Jay Hamilton,
336 Kieren MacMillan, Steve Doonan, Trevor Bača, and Vicente Solsona
340 @item @textanchor{repeat-counter}
341 With the @code{countPercentRepeats} property,
342 percent repeats get incremental numbers to indicate the accumulated repeat count.
344 @lilypond[relative=2,fragment,raggedright]
345 \set countPercentRepeats = ##t
346 \repeat percent 4 { c1 }
348 \repeat percent 4 { c2 c2 }
351 This feature was sponsored by Yoshinobu Ishizaki
354 Text scripts such as fingering instructions and dynamics avoid
355 collisions with slurs
357 @lilypond[fragment,relative=1]
359 b_1( f'_1_2_3 c_3_4_5 a)
361 c-2_\markup { \italic {"cresc."}} ( f_\markup {x} c)
366 Tuplets can be made to reach the next non-tuplet note by setting the
367 @code{tupletFullLength} property,
369 @lilypond[fragment,relative=2]
371 \remove Forbid_line_break_engraver
375 \set Score.proportionalNotationDuration = #(ly:make-moment 1 32)
376 \set tupletFullLength = ##t
377 \times 2/3 { c8[ c c] }
382 This feature was sponsored by Trevor Bača.
385 When @code{strict-note-spacing} is set, notes are spaced without regard
386 for clefs, bar lines, and grace notes. For example,
388 @lilypond[fragment,relative=2]
389 \override Score.SpacingSpanner #'strict-note-spacing = ##t
390 \new Staff { c8[ c \clef alto c \grace { c16[ c] } c8 c c] c32[ c32] }
393 This feature was sponsored by Trevor Bača.
396 Beams support the @code{break-overshoot} property, for example
398 @lilypond[relative=2,fragment]
399 \set allowBeamBreak = ##t
400 \override Beam #'break-overshoot = #'(1.0 . 2.0)
404 This feature was sponsored by Trevor Bača.
407 Proportional notation is supported. Notes can be spaced proportional
408 to their time-difference by assigning a duration to
409 @code{proportionalNotationDuration}. For example,
411 @lilypond[relative=2,fragment,raggedright]
413 \set Score.proportionalNotationDuration = #(ly:make-moment 1 16)
414 \new Staff { c8[ c c c c c] c4 c2 r2 }
415 \new Staff { c2 \times 2/3 { c8 c c } c4 c1 }
419 This feature was sponsored by Trevor Bača.
422 Symbol sizes (e.g. accidentals) are disregarded for spacing if
423 @code{uniform-stretching} of the @code{SpacingSpanner} grob is set,
426 @lilypond[relative=2,fragment]
428 \override Score.SpacingSpanner #'uniform-stretching = ##t
429 \new Staff { c16[ c c c c c c c c c16] }
431 \times 6/7 { c16 c c cis c c c }
437 This feature was sponsored by Trevor Bača.
440 Endings of broken tuplet brackets can be tuned. For example, you can
441 add arrows to the brackets,
443 @lilypond[fragment,raggedright,relative=2]
444 \override TupletBracket
446 (markup #:arrow-head X LEFT #f)
447 (markup #:arrow-head X RIGHT #f))
449 c c c \bar "empty" \break c c
453 This feature was sponsored by Trevor Bača.
456 @item @textanchor{arrow-glyph}
457 Arrow heads were added to the Feta font.
462 filled, to the right: \hspace #2.0 \fontsize #6 \arrow-head #0 #1 ##t
463 open, down: \hspace #2.0 \fontsize #6 \arrow-head #1 #-1 ##f
468 These glyphs have been sponsored by Trevor Bača.
472 Nested tuplets are automatically positioned,
474 @lilypond[fragment,raggedright,relative=2]
475 \set tupletNumberFormatFunction = #fraction-tuplet-formatter
478 \times 3/5 { a a a a a }
482 This feature was sponsored by Trevor Bača.
485 Music expressions can be displayed, in LilyPond notation, using the
486 new @code{\displayLilyMusic} function. For instance:
488 \displayLilyMusic \transpose c a, { c d e f }
495 This feature was contributed by Nicolas Sceaux.
498 The current bar number may be checked with @code{\barNumberCheck}, eg.
505 will print a warning if it doesn't happen in measure 22.
508 If @code{showLastLength} is set, only the last few measures of a piece
509 are rendered, which speeds up correcting scores. For example, setting
512 showLastLength = R1*5
517 will render only the last five measures (assuming 4/4 time signature)
520 @item @textanchor{simple-melismata}
521 Melismata can be specified simply in the lyrics now, eg.
523 @lilypond[relative=1,verbatim,fragment]
531 This feature was sponsored by Nancho Alvarez
534 Suggested accidentals (for notating musica ficta) may be switched on
535 with @code{suggestAccidentals}
537 @lilypond[verbatim,fragment,relative=2]
538 \set suggestAccidentals = ##t
542 This feature was sponsored by Nancho Alvarez.
545 The setting @code{whichBar} and time-bookkeeping is now split into a
546 @code{Default_bar_line_engraver} and @code{Timing_translator}
549 @item @textanchor{pitched-trill}
550 Explicit pitches may be added to trills,
552 @lilypond[relative,verbatim,fragment]
553 \pitchedTrill c4\startTrillSpan fis f\stopTrillSpan
556 This feature was sponsored by D. Josiah Boothby and Jamie Bullock
559 Markup now supports formatting of text paragraphs, using
560 @code{\wordwrap} and @code{\justify}.
562 This feature was sponsored by Sven Axelsson.
566 For older news, go to
567 @uref{http://lilypond.org/doc/v2.6/Documentation/topdocs/out-www/NEWS.html}.