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.
51 This feature has been sponsored by Bertalan Fodor.
53 @item A MusicXML importer is included now.
55 @item Texts set in a TrueType font are now kerned. This requires CVS
58 @item Using the @TeX{} no longer requires linking or dynamically
59 opening the kpathsea library, making the backend more easily usable on
62 This fix was sponsored by Black Trash Productions.
64 @item The horizontal location of rehearsal marks can be adjusted by
65 setting the @code{rehearsalMarkAlignSymbol} property,
67 @lilypond[raggedright]
72 \set Score.rehearsalMarkAlignSymbol = #'key-signature
76 \set Score.rehearsalMarkAlignSymbol = #'clef
84 This feature was sponsored by Trevor Bača.
88 It's now possible to easily create deeply nested system start
91 @lilypond[raggedright]
94 \set StaffGroup.systemStartDelimiterHierarchy
95 = #'(SystemStartSquare (SystemStartBracket a (SystemStartSquare b)) d)
105 In addition, there is now also support for ``square'' system start
108 This feature was sponsored by Trevor Bača.
111 Tie formatting now uses scoring. This opens the road to formatting
112 which handles complex situations require tradeoffs between different
115 This refactoring has been sponsored by Steve Doonan.
118 Each grob property may also be a ``grob closure.'' This means that it
119 is possible to combine functions. For example, the @code{Y-offset} of
120 a @code{InstrumentName} grob is defined to be
123 ,(ly:make-simple-closure
125 ,(ly:make-simple-closure
126 (,Self_alignment_interface::y_aligned_on_self))
127 ,(ly:make-simple-closure
128 (,Side_position_interface::y_aligned_on_support_refpoints)))
132 During execution, the @code{Y-offset} of an @code{InstrumentName} is computed
136 (+ (Self_alignment_interface::y_aligned_on_self @var{grob})
137 (Self_alignment_interface::y_aligned_on_support_refpoints @var{grob}))
142 Calculation of extent and offset of grob is now controlled via the
143 @code{X-extent}, @code{Y-extent}, @code{X-offset} and @code{Y-offset}
144 properties, for example
147 \override TextScript #'Y-offset = #-6
151 hard codes @code{TextScript} grobs to be 6 spaces below their Y-parent
155 Each grob property can be a procedure. If this is the case, it is
156 assumed to be a routine that calculates said property. This is a
157 major internal cleanup, which also provides advanced tweakability for
158 power users. For example,
161 \override Beam #'direction
163 (if (> 4 (ly:grob-array-length (ly:grob-object grob 'stems)))
169 With this code fragment, the direction of a beam is decided to be up
170 or down, depending on the number of stems in the beam.
174 Support for figured bass has been rewritten. Now it supports
175 continuation lines, slashed figures, and its figures, brackets, and alignments may
178 @lilypond[raggedright,fragment]
180 \relative { c4 c c c }
182 \set useBassFigureExtenders = ##t
183 <6+ 4 3> <6 4 3> <4 3+> <5/ 7/\+>
187 This rewrite was sponsored by Trent Johnston and John Mandereau.
190 Subproperties, like the @code{details} field of @code{Slur} and
191 @code{Tie} may now be tuned with @code{\override}. For example,
194 \override Stem #'details #'beamed-lengths = #'(4 4 3)
198 shortens the stems in beams.
201 The default paper size may now be set from the command line using
205 Beamlets may stick out of the side of beams.
208 @lilypond[fragment,raggedright,relative=2]
210 \override Beam #'break-overshoot = #'(-0.5 . 0.5)
211 \set stemLeftBeamCount = #2
214 \set stemRightBeamCount = #3
219 This feature was sponsored by Trevor Bača.
224 Vertical alignments of staves can now be tuned easily for individual
227 @lilypond[raggedright]
228 #(set-global-staff-size 13)
235 #"Score.NonMusicalPaperColumn"
236 #'line-break-system-details
237 #'((fixed-alignment-extra-space . 15))
249 This feature was sponsored by Nicolas Sceaux.
252 Vertical spacing for page layout can now be tuned for each system
253 individually. The dimensions that can be tuned can be visualized.
256 #(set-default-paper-size "a7" 'landscape)
259 \paper { annotatespacing = ##t }
263 These features were sponsored by Trevor Bača and Nicolas Sceaux.
266 The slope of a stem-tremolo may be set manually
268 @lilypond[fragment,relative=1,raggedright]
270 \once \override StemTremolo #'slope = #0.45
274 This feature was sponsored by Sven Axelsson.
277 Laissez vibrer ties can be created with @code{\laissezVibrer},
279 @lilypond[fragment,raggedright,relative=1]
280 <c e g>\laissezVibrer r <d f>\laissezVibrer
283 This feature was sponsored by Henrik Frisk.
286 The order of words in @code{\markup} commands may now be reversed by
287 setting the @code{text-direction} property. This is useful for
288 Right-to-Left languages like Hebrew.
290 This feature was sponsored by Aaron Mehl.
293 Texts over multi measure rests can stretch the corresponding measure,
294 if the appropriate @code{spring-and-rods} callback is set.
296 @lilypond[relative=2,fragment,raggedright]
297 \override MultiMeasureRestText #'springs-and-rods
298 = #Multi_measure_rest::set_text_rods
299 c1 R1 R1^"Very long long long text"
302 This feature was sponsored by Kris Shaffer.
305 @item @textanchor{tie-chords}
306 Formatting of ties in chords has been improved. Ties no longer collide
307 with note heads and stems. In addition, it is possible to manually
308 specify tie formatting
310 @lilypond[relative=2, fragment,raggedright]
311 <a c d f> ~ <a c d f>
313 \override TieColumn #'tie-configuration =
314 #'((0 . -1) (2 . -1) (5.5 . 1) (7 . 1))
315 <b d f g> ~ <b d f g>
318 This improvement has been sponsored by Bertalan Fodor, Jay Hamilton,
319 Kieren MacMillan, Steve Doonan, Trevor Bača, and Vicente Solsona
323 Formatting of isolated, single ties has been improved. Now, ties avoid
324 staff lines, flags and dots, without compromising their shape.
326 @lilypond[fragment,raggedright]
329 c16 c2...~ c16 ~ c2... |
330 c4~c8 c8~c16 c16~c32 c16.~[ c64]~ c64[ c8..] |
334 This improvement has been sponsored by Bertalan Fodor, Jay Hamilton,
335 Kieren MacMillan, Steve Doonan, Trevor Bača, and Vicente Solsona
339 @item @textanchor{repeat-counter}
340 With the @code{countPercentRepeats} property,
341 percent repeats get incremental numbers to indicate the accumulated repeat count.
343 @lilypond[relative=2,fragment,raggedright]
344 \set countPercentRepeats = ##t
345 \repeat percent 4 { c1 }
347 \repeat percent 4 { c2 c2 }
350 This feature was sponsored by Yoshinobu Ishizaki
353 Text scripts such as fingering instructions and dynamics avoid
354 collisions with slurs
356 @lilypond[fragment,relative=1]
358 b_1( f'_1_2_3 c_3_4_5 a)
360 c-2_\markup { \italic {"cresc."}} ( f_\markup {x} c)
365 Tuplets can be made to reach the next non-tuplet note by setting the
366 @code{tupletFullLength} property,
368 @lilypond[fragment,relative=2]
370 \remove Forbid_line_break_engraver
374 \set Score.proportionalNotationDuration = #(ly:make-moment 1 32)
375 \set tupletFullLength = ##t
376 \times 2/3 { c8[ c c] }
381 This feature was sponsored by Trevor Bača.
384 When @code{strict-note-spacing} is set, notes are spaced without regard
385 for clefs, bar lines, and grace notes. For example,
387 @lilypond[fragment,relative=2]
388 \override Score.SpacingSpanner #'strict-note-spacing = ##t
389 \new Staff { c8[ c \clef alto c \grace { c16[ c] } c8 c c] c32[ c32] }
392 This feature was sponsored by Trevor Bača.
395 Beams support the @code{break-overshoot} property, for example
397 @lilypond[relative=2,fragment]
398 \set allowBeamBreak = ##t
399 \override Beam #'break-overshoot = #'(1.0 . 2.0)
403 This feature was sponsored by Trevor Bača.
406 Proportional notation is supported. Notes can be spaced proportional
407 to their time-difference by assigning a duration to
408 @code{proportionalNotationDuration}. For example,
410 @lilypond[relative=2,fragment,raggedright]
412 \set Score.proportionalNotationDuration = #(ly:make-moment 1 16)
413 \new Staff { c8[ c c c c c] c4 c2 r2 }
414 \new Staff { c2 \times 2/3 { c8 c c } c4 c1 }
418 This feature was sponsored by Trevor Bača.
421 Symbol sizes (e.g. accidentals) are disregarded for spacing if
422 @code{uniform-stretching} of the @code{SpacingSpanner} grob is set,
425 @lilypond[relative=2,fragment]
427 \override Score.SpacingSpanner #'uniform-stretching = ##t
428 \new Staff { c16[ c c c c c c c c c16] }
430 \times 6/7 { c16 c c cis c c c }
436 This feature was sponsored by Trevor Bača.
439 Endings of broken tuplet brackets can be tuned. For example, you can
440 add arrows to the brackets,
442 @lilypond[fragment,raggedright,relative=2]
443 \override TupletBracket
445 (markup #:arrow-head X LEFT #f)
446 (markup #:arrow-head X RIGHT #f))
448 c c c \bar "empty" \break c c
452 This feature was sponsored by Trevor Bača.
455 @item @textanchor{arrow-glyph}
456 Arrow heads were added to the Feta font.
461 filled, to the right: \hspace #2.0 \fontsize #6 \arrow-head #0 #1 ##t
462 open, down: \hspace #2.0 \fontsize #6 \arrow-head #1 #-1 ##f
467 These glyphs have been sponsored by Trevor Bača.
471 Nested tuplets are automatically positioned,
473 @lilypond[fragment,raggedright,relative=2]
474 \set tupletNumberFormatFunction = #fraction-tuplet-formatter
477 \times 3/5 { a a a a a }
481 This feature was sponsored by Trevor Bača.
484 Music expressions can be displayed, in LilyPond notation, using the
485 new @code{\displayLilyMusic} function. For instance:
487 \displayLilyMusic \transpose c a, { c d e f }
494 This feature was contributed by Nicolas Sceaux.
497 The current bar number may be checked with @code{\barNumberCheck}, eg.
504 will print a warning if it doesn't happen in measure 22.
507 If @code{showLastLength} is set, only the last few measures of a piece
508 are rendered, which speeds up correcting scores. For example, setting
511 showLastLength = R1*5
516 will render only the last five measures (assuming 4/4 time signature)
519 @item @textanchor{simple-melismata}
520 Melismata can be specified simply in the lyrics now, eg.
522 @lilypond[relative=1,verbatim,fragment]
530 This feature was sponsored by Nancho Alvarez
533 Suggested accidentals (for notating musica ficta) may be switched on
534 with @code{suggestAccidentals}
536 @lilypond[verbatim,fragment,relative=2]
537 \set suggestAccidentals = ##t
541 This feature was sponsored by Nancho Alvarez.
544 The setting @code{whichBar} and time-bookkeeping is now split into a
545 @code{Default_bar_line_engraver} and @code{Timing_translator}
548 @item @textanchor{pitched-trill}
549 Explicit pitches may be added to trills,
551 @lilypond[relative,verbatim,fragment]
552 \pitchedTrill c4\startTrillSpan fis f\stopTrillSpan
555 This feature was sponsored by D. Josiah Boothby and Jamie Bullock
558 Markup now supports formatting of text paragraphs, using
559 @code{\wordwrap} and @code{\justify}.
561 This feature was sponsored by Sven Axelsson.
565 For older news, go to
566 @uref{http://lilypond.org/doc/v2.6/Documentation/topdocs/out-www/NEWS.html}.