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 A MusicXML importer is included now.
50 @item Texts set in a TrueType font are now kerned. This requires CVS
53 @item Using the @TeX{} no longer requires linking or dynamically
54 opening the kpathsea library, making the backend more easily usable on
57 This fix was sponsored by Black Trash Productions.
59 @item The horizontal location of rehearsal marks can be adjusted by
60 setting the @code{rehearsalMarkAlignSymbol} property,
62 @lilypond[raggedright]
67 \set Score.rehearsalMarkAlignSymbol = #'key-signature
71 \set Score.rehearsalMarkAlignSymbol = #'clef
79 This feature was sponsored by Trevor Bača.
83 It's now possible to easily create deeply nested system start
86 @lilypond[raggedright]
89 \set StaffGroup.systemStartDelimiterHierarchy
90 = #'(SystemStartSquare (SystemStartBracket a (SystemStartSquare b)) d)
100 In addition, there is now also support for ``square'' system start
103 This feature was sponsored by Trevor Bača.
106 Tie formatting now uses scoring. This opens the road to formatting
107 which handles complex situations require tradeoffs between different
110 This refactoring has been sponsored by Steve Doonan.
113 Each grob property may also be a ``grob closure.'' This means that it
114 is possible to combine functions. For example, the @code{Y-offset} of
115 a @code{InstrumentName} grob is defined to be
118 ,(ly:make-simple-closure
120 ,(ly:make-simple-closure
121 (,Self_alignment_interface::y_aligned_on_self))
122 ,(ly:make-simple-closure
123 (,Side_position_interface::y_aligned_on_support_refpoints)))
127 During execution, the @code{Y-offset} of an @code{InstrumentName} is computed
131 (+ (Self_alignment_interface::y_aligned_on_self @var{grob})
132 (Self_alignment_interface::y_aligned_on_support_refpoints @var{grob}))
137 Calculation of extent and offset of grob is now controlled via the
138 @code{X-extent}, @code{Y-extent}, @code{X-offset} and @code{Y-offset}
139 properties, for example
142 \override TextScript #'Y-offset = #-6
146 hard codes @code{TextScript} grobs to be 6 spaces below their Y-parent
150 Each grob property can be a procedure. If this is the case, it is
151 assumed to be a routine that calculates said property. This is a
152 major internal cleanup, which also provides advanced tweakability for
153 power users. For example,
156 \override Beam #'direction
158 (if (> 4 (ly:grob-array-length (ly:grob-object grob 'stems)))
164 With this code fragment, the direction of a beam is decided to be up
165 or down, depending on the number of stems in the beam.
169 Support for figured bass has been rewritten. Now it supports
170 continuation lines, slashed figures, and its figures, brackets, and alignments may
173 @lilypond[raggedright,fragment]
175 \relative { c4 c c c }
177 \set useBassFigureExtenders = ##t
178 <6+ 4 3> <6 4 3> <4 3+> <5/ 7/\+>
182 This rewrite was sponsored by Trent Johnston and John Mandereau.
185 Subproperties, like the @code{details} field of @code{Slur} and
186 @code{Tie} may now be tuned with @code{\override}. For example,
189 \override Stem #'details #'beamed-lengths = #'(4 4 3)
193 shortens the stems in beams.
196 The default paper size may now be set from the command line using
200 Beamlets may stick out of the side of beams.
203 @lilypond[fragment,raggedright,relative=2]
205 \override Beam #'break-overshoot = #'(-0.5 . 0.5)
206 \set stemLeftBeamCount = #2
209 \set stemRightBeamCount = #3
214 This feature was sponsored by Trevor Bača.
219 Vertical alignments of staves can now be tuned easily for individual
222 @lilypond[raggedright]
223 #(set-global-staff-size 13)
230 #"Score.NonMusicalPaperColumn"
231 #'line-break-system-details
232 #'((fixed-alignment-extra-space . 15))
244 This feature was sponsored by Nicolas Sceaux.
247 Vertical spacing for page layout can now be tuned for each system
248 individually. The dimensions that can be tuned can be visualized.
251 #(set-default-paper-size "a7" 'landscape)
254 \paper { annotatespacing = ##t }
258 These features were sponsored by Trevor Bača and Nicolas Sceaux.
261 The slope of a stem-tremolo may be set manually
263 @lilypond[fragment,relative=1,raggedright]
265 \once \override StemTremolo #'slope = #0.45
269 This feature was sponsored by Sven Axelsson.
272 Laissez vibrer ties can be created with @code{\laissezVibrer},
274 @lilypond[fragment,raggedright,relative=1]
275 <c e g>\laissezVibrer r <d f>\laissezVibrer
278 This feature was sponsored by Henrik Frisk.
281 The order of words in @code{\markup} commands may now be reversed by
282 setting the @code{text-direction} property. This is useful for
283 Right-to-Left languages like Hebrew.
285 This feature was sponsored by Aaron Mehl.
288 Texts over multi measure rests can stretch the corresponding measure,
289 if the appropriate @code{spring-and-rods} callback is set.
291 @lilypond[relative=2,fragment,raggedright]
292 \override MultiMeasureRestText #'springs-and-rods
293 = #Multi_measure_rest::set_text_rods
294 c1 R1 R1^"Very long long long text"
297 This feature was sponsored by Kris Shaffer.
300 @item @textanchor{tie-chords}
301 Formatting of ties in chords has been improved. Ties no longer collide
302 with note heads and stems. In addition, it is possible to manually
303 specify tie formatting
305 @lilypond[relative=2, fragment,raggedright]
306 <a c d f> ~ <a c d f>
308 \override TieColumn #'tie-configuration =
309 #'((0 . -1) (2 . -1) (5.5 . 1) (7 . 1))
310 <b d f g> ~ <b d f g>
313 This improvement has been sponsored by Bertalan Fodor, Jay Hamilton,
314 Kieren MacMillan, Steve Doonan, Trevor Bača, and Vicente Solsona
318 Formatting of isolated, single ties has been improved. Now, ties avoid
319 staff lines, flags and dots, without compromising their shape.
321 @lilypond[fragment,raggedright]
324 c16 c2...~ c16 ~ c2... |
325 c4~c8 c8~c16 c16~c32 c16.~[ c64]~ c64[ c8..] |
329 This improvement has been sponsored by Bertalan Fodor, Jay Hamilton,
330 Kieren MacMillan, Steve Doonan, Trevor Bača, and Vicente Solsona
334 @item @textanchor{repeat-counter}
335 With the @code{countPercentRepeats} property,
336 percent repeats get incremental numbers to indicate the accumulated repeat count.
338 @lilypond[relative=2,fragment,raggedright]
339 \set countPercentRepeats = ##t
340 \repeat percent 4 { c1 }
342 \repeat percent 4 { c2 c2 }
345 This feature was sponsored by Yoshinobu Ishizaki
348 Text scripts such as fingering instructions and dynamics avoid
349 collisions with slurs
351 @lilypond[fragment,relative=1]
353 b_1( f'_1_2_3 c_3_4_5 a)
355 c-2_\markup { \italic {"cresc."}} ( f_\markup {x} c)
360 Tuplets can be made to reach the next non-tuplet note by setting the
361 @code{tupletFullLength} property,
363 @lilypond[fragment,relative=2]
365 \remove Forbid_line_break_engraver
369 \set Score.proportionalNotationDuration = #(ly:make-moment 1 32)
370 \set tupletFullLength = ##t
371 \times 2/3 { c8[ c c] }
376 This feature was sponsored by Trevor Bača.
379 When @code{strict-note-spacing} is set, notes are spaced without regard
380 for clefs, bar lines, and grace notes. For example,
382 @lilypond[fragment,relative=2]
383 \override Score.SpacingSpanner #'strict-note-spacing = ##t
384 \new Staff { c8[ c \clef alto c \grace { c16[ c] } c8 c c] c32[ c32] }
387 This feature was sponsored by Trevor Bača.
390 Beams support the @code{break-overshoot} property, for example
392 @lilypond[relative=2,fragment]
393 \set allowBeamBreak = ##t
394 \override Beam #'break-overshoot = #'(1.0 . 2.0)
398 This feature was sponsored by Trevor Bača.
401 Proportional notation is supported. Notes can be spaced proportional
402 to their time-difference by assigning a duration to
403 @code{proportionalNotationDuration}. For example,
405 @lilypond[relative=2,fragment,raggedright]
407 \set Score.proportionalNotationDuration = #(ly:make-moment 1 16)
408 \new Staff { c8[ c c c c c] c4 c2 r2 }
409 \new Staff { c2 \times 2/3 { c8 c c } c4 c1 }
413 This feature was sponsored by Trevor Bača.
416 Symbol sizes (e.g. accidentals) are disregarded for spacing if
417 @code{uniform-stretching} of the @code{SpacingSpanner} grob is set,
420 @lilypond[relative=2,fragment]
422 \override Score.SpacingSpanner #'uniform-stretching = ##t
423 \new Staff { c16[ c c c c c c c c c16] }
425 \times 6/7 { c16 c c cis c c c }
431 This feature was sponsored by Trevor Bača.
434 Endings of broken tuplet brackets can be tuned. For example, you can
435 add arrows to the brackets,
437 @lilypond[fragment,raggedright,relative=2]
438 \override TupletBracket
440 (markup #:arrow-head X LEFT #f)
441 (markup #:arrow-head X RIGHT #f))
443 c c c \bar "empty" \break c c
447 This feature was sponsored by Trevor Bača.
450 @item @textanchor{arrow-glyph}
451 Arrow heads were added to the Feta font.
456 filled, to the right: \hspace #2.0 \fontsize #6 \arrow-head #0 #1 ##t
457 open, down: \hspace #2.0 \fontsize #6 \arrow-head #1 #-1 ##f
462 These glyphs have been sponsored by Trevor Bača.
466 Nested tuplets are automatically positioned,
468 @lilypond[fragment,raggedright,relative=2]
469 \set tupletNumberFormatFunction = #fraction-tuplet-formatter
472 \times 3/5 { a a a a a }
476 This feature was sponsored by Trevor Bača.
479 Music expressions can be displayed, in LilyPond notation, using the
480 new @code{\displayLilyMusic} function. For instance:
482 \displayLilyMusic \transpose c a, { c d e f }
489 This feature was contributed by Nicolas Sceaux.
492 The current bar number may be checked with @code{\barNumberCheck}, eg.
499 will print a warning if it doesn't happen in measure 22.
502 If @code{showLastLength} is set, only the last few measures of a piece
503 are rendered, which speeds up correcting scores. For example, setting
506 showLastLength = R1*5
511 will render only the last five measures (assuming 4/4 time signature)
514 @item @textanchor{simple-melismata}
515 Melismata can be specified simply in the lyrics now, eg.
517 @lilypond[relative=1,verbatim,fragment]
525 This feature was sponsored by Nancho Alvarez
528 Suggested accidentals (for notating musica ficta) may be switched on
529 with @code{suggestAccidentals}
531 @lilypond[verbatim,fragment,relative=2]
532 \set suggestAccidentals = ##t
536 This feature was sponsored by Nancho Alvarez.
539 The setting @code{whichBar} and time-bookkeeping is now split into a
540 @code{Default_bar_line_engraver} and @code{Timing_translator}
543 @item @textanchor{pitched-trill}
544 Explicit pitches may be added to trills,
546 @lilypond[relative,verbatim,fragment]
547 \pitchedTrill c4\startTrillSpan fis f\stopTrillSpan
550 This feature was sponsored by D. Josiah Boothby and Jamie Bullock
553 Markup now supports formatting of text paragraphs, using
554 @code{\wordwrap} and @code{\justify}.
556 This feature was sponsored by Sven Axelsson.
560 For older news, go to
561 @uref{http://lilypond.org/doc/v2.6/Documentation/topdocs/out-www/NEWS.html}.