1 \input texinfo @c -*- coding: utf-8; mode: texinfo; -*-
6 @macro inputfileref{DIR,NAME}
7 @uref{../../../\DIR\/collated-files.html#\NAME\,@file{\DIR\/\NAME\}}@c
9 @macro usermanref{NAME}
10 @inforef{\NAME\,,../../user/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}.
49 Slurs now avoid @code{TupletNumber}s, and tuplet numbers may enter the
52 @lilypond[raggedright]
55 \override TupletBracket #'bracket-visibility = ##f
56 \override TupletBracket #'staff-padding = ##f
57 \override Slur #'details #'region-size = #6
61 c( \stemDown g' \stemNeutral c,)
66 This feature was sponsored by Trent Johnston.
68 @item Tuplet brackets and numbers are implemented as separate grobs,
69 @code{TupletBracket} and @code{TupletNumber}.
71 This rewrite was sponsored by Trent Johnston.
73 @item String arguments for music functions may be specified without
74 @code{#} marks. This allows syntactical constructs (like \clef and
75 \bar) to be expressed in generic music functions.
77 @item Ties in chords are also formatted using a scoring based
78 formatting. This reduces the number of collisions for ties in chords,
80 @lilypond[raggedright,fragment,relative=2]
84 Here, the tie for the D is flipped, in spite the default rule for
87 This rewrite was sponsored by Steve Doonan.
89 @item With the @code{\tweak} music function, layout objects that are directly
90 connected to input may be tuned easily,
92 @lilypond[relative=2,fragment,verbatim,raggedright]
94 \tweak #'font-size #3 c
96 \tweak #'style #'cross g
97 \tweak #'duration-log #1 a
101 This feature was sponsored by Sean Reed and Bertalan Fodor.
103 @item Generic music functions may now also be used on articulations
104 and chord elements, eg.
108 e-\keepWithTag #'bla -\tag #'bla ^2 >
111 This feature was sponsored by Sean Reed and Bertalan Fodor.
114 @item Spaces between lyrics and distance between syllables with
115 hyphens may now be separately tuned through the
116 @code{LyricSpace} grob.
118 This feature has been sponsored by Bertalan Fodor.
120 @item A MusicXML importer is included now.
122 @item Texts set in a TrueType font are now kerned. This requires CVS
125 @item Using the @TeX{} no longer requires linking or dynamically
126 opening the kpathsea library, making the backend more easily usable on
129 This fix was sponsored by Black Trash Productions.
131 @item The horizontal location of rehearsal marks can be adjusted by
132 setting the @code{rehearsalMarkAlignSymbol} property,
134 @lilypond[raggedright]
139 \set Score.rehearsalMarkAlignSymbol = #'key-signature
143 \set Score.rehearsalMarkAlignSymbol = #'clef
151 This feature was sponsored by Trevor Bača.
155 It's now possible to easily create deeply nested system start
158 @lilypond[raggedright]
161 \set StaffGroup.systemStartDelimiterHierarchy
162 = #'(SystemStartSquare (SystemStartBracket a (SystemStartSquare b)) d)
172 In addition, there is now also support for ``square'' system start
175 This feature was sponsored by Trevor Bača.
178 Tie formatting now uses scoring. This opens the road to formatting
179 which handles complex situations require tradeoffs between different
182 This refactoring has been sponsored by Steve Doonan.
185 Each grob property may also be a ``grob closure.'' This means that it
186 is possible to combine functions. For example, the @code{Y-offset} of
187 a @code{InstrumentName} grob is defined to be
190 ,(ly:make-simple-closure
192 ,(ly:make-simple-closure
193 (,Self_alignment_interface::y_aligned_on_self))
194 ,(ly:make-simple-closure
195 (,Side_position_interface::y_aligned_on_support_refpoints)))
199 During execution, the @code{Y-offset} of an @code{InstrumentName} is computed
203 (+ (Self_alignment_interface::y_aligned_on_self @var{grob})
204 (Self_alignment_interface::y_aligned_on_support_refpoints @var{grob}))
209 Calculation of extent and offset of grob is now controlled via the
210 @code{X-extent}, @code{Y-extent}, @code{X-offset} and @code{Y-offset}
211 properties, for example
214 \override TextScript #'Y-offset = #-6
218 hard codes @code{TextScript} grobs to be 6 spaces below their Y-parent
222 Each grob property can be a procedure. If this is the case, it is
223 assumed to be a routine that calculates said property. This is a
224 major internal cleanup, which also provides advanced tweakability for
225 power users. For example,
228 \override Beam #'direction
230 (if (> 4 (ly:grob-array-length (ly:grob-object grob 'stems)))
236 With this code fragment, the direction of a beam is decided to be up
237 or down, depending on the number of stems in the beam.
241 Support for figured bass has been rewritten. Now it supports
242 continuation lines, slashed figures, and its figures, brackets, and alignments may
245 @lilypond[raggedright,fragment]
247 \relative { c4 c c c }
249 \set useBassFigureExtenders = ##t
250 <6+ 4 3> <6 4 3> <4 3+> <5/ 7/\+>
254 This rewrite was sponsored by Trent Johnston and John Mandereau.
257 Subproperties, like the @code{details} field of @code{Slur} and
258 @code{Tie} may now be tuned with @code{\override}. For example,
261 \override Stem #'details #'beamed-lengths = #'(4 4 3)
265 shortens the stems in beams.
268 The default paper size may now be set from the command line using
272 Beamlets may stick out of the side of beams.
275 @lilypond[fragment,raggedright,relative=2]
277 \override Beam #'break-overshoot = #'(-0.5 . 0.5)
278 \set stemLeftBeamCount = #2
281 \set stemRightBeamCount = #3
286 This feature was sponsored by Trevor Bača.
291 Vertical alignments of staves can now be tuned easily for individual
294 @lilypond[raggedright]
295 #(set-global-staff-size 13)
302 #"Score.NonMusicalPaperColumn"
303 #'line-break-system-details
304 #'((fixed-alignment-extra-space . 15))
316 This feature was sponsored by Nicolas Sceaux.
319 Vertical spacing for page layout can now be tuned for each system
320 individually. The dimensions that can be tuned can be visualized.
323 #(set-default-paper-size "a7" 'landscape)
326 \paper { annotatespacing = ##t }
330 These features were sponsored by Trevor Bača and Nicolas Sceaux.
333 The slope of a stem-tremolo may be set manually
335 @lilypond[fragment,relative=1,raggedright]
337 \once \override StemTremolo #'slope = #0.45
341 This feature was sponsored by Sven Axelsson.
344 Laissez vibrer ties can be created with @code{\laissezVibrer},
346 @lilypond[fragment,raggedright,relative=1]
347 <c e g>\laissezVibrer r <d f>\laissezVibrer
350 This feature was sponsored by Henrik Frisk.
353 The order of words in @code{\markup} commands may now be reversed by
354 setting the @code{text-direction} property. This is useful for
355 Right-to-Left languages like Hebrew.
357 This feature was sponsored by Aaron Mehl.
360 Texts over multi measure rests can stretch the corresponding measure,
361 if the appropriate @code{spring-and-rods} callback is set.
363 @lilypond[relative=2,fragment,raggedright]
364 \override MultiMeasureRestText #'springs-and-rods
365 = #Multi_measure_rest::set_text_rods
366 c1 R1 R1^"Very long long long text"
369 This feature was sponsored by Kris Shaffer.
372 @item @textanchor{tie-chords}
373 Formatting of ties in chords has been improved. Ties no longer collide
374 with note heads and stems. In addition, it is possible to manually
375 specify tie formatting
377 @lilypond[relative=2, fragment,raggedright]
378 <a c d f> ~ <a c d f>
380 \override TieColumn #'tie-configuration =
381 #'((0 . -1) (2 . -1) (5.5 . 1) (7 . 1))
382 <b d f g> ~ <b d f g>
385 This improvement has been sponsored by Bertalan Fodor, Jay Hamilton,
386 Kieren MacMillan, Steve Doonan, Trevor Bača, and Vicente Solsona
390 Formatting of isolated, single ties has been improved. Now, ties avoid
391 staff lines, flags and dots, without compromising their shape.
393 @lilypond[fragment,raggedright]
396 c16 c2...~ c16 ~ c2... |
397 c4~c8 c8~c16 c16~c32 c16.~[ c64]~ c64[ c8..] |
401 This improvement has been sponsored by Bertalan Fodor, Jay Hamilton,
402 Kieren MacMillan, Steve Doonan, Trevor Bača, and Vicente Solsona
406 @item @textanchor{repeat-counter}
407 With the @code{countPercentRepeats} property,
408 percent repeats get incremental numbers to indicate the accumulated repeat count.
410 @lilypond[relative=2,fragment,raggedright]
411 \set countPercentRepeats = ##t
412 \repeat percent 4 { c1 }
414 \repeat percent 4 { c2 c2 }
417 This feature was sponsored by Yoshinobu Ishizaki
420 Text scripts such as fingering instructions and dynamics avoid
421 collisions with slurs
423 @lilypond[fragment,relative=1]
425 b_1( f'_1_2_3 c_3_4_5 a)
427 c-2_\markup { \italic {"cresc."}} ( f_\markup {x} c)
432 Tuplets can be made to reach the next non-tuplet note by setting the
433 @code{tupletFullLength} property,
435 @lilypond[fragment,relative=2]
437 \remove Forbid_line_break_engraver
441 \set Score.proportionalNotationDuration = #(ly:make-moment 1 32)
442 \set tupletFullLength = ##t
443 \times 2/3 { c8[ c c] }
448 This feature was sponsored by Trevor Bača.
451 When @code{strict-note-spacing} is set, notes are spaced without regard
452 for clefs, bar lines, and grace notes. For example,
454 @lilypond[fragment,relative=2]
455 \override Score.SpacingSpanner #'strict-note-spacing = ##t
456 \new Staff { c8[ c \clef alto c \grace { c16[ c] } c8 c c] c32[ c32] }
459 This feature was sponsored by Trevor Bača.
462 Beams support the @code{break-overshoot} property, for example
464 @lilypond[relative=2,fragment]
465 \set allowBeamBreak = ##t
466 \override Beam #'break-overshoot = #'(1.0 . 2.0)
470 This feature was sponsored by Trevor Bača.
473 Proportional notation is supported. Notes can be spaced proportional
474 to their time-difference by assigning a duration to
475 @code{proportionalNotationDuration}. For example,
477 @lilypond[relative=2,fragment,raggedright]
479 \set Score.proportionalNotationDuration = #(ly:make-moment 1 16)
480 \new Staff { c8[ c c c c c] c4 c2 r2 }
481 \new Staff { c2 \times 2/3 { c8 c c } c4 c1 }
485 This feature was sponsored by Trevor Bača.
488 Symbol sizes (e.g. accidentals) are disregarded for spacing if
489 @code{uniform-stretching} of the @code{SpacingSpanner} grob is set,
492 @lilypond[relative=2,fragment]
494 \override Score.SpacingSpanner #'uniform-stretching = ##t
495 \new Staff { c16[ c c c c c c c c c16] }
497 \times 6/7 { c16 c c cis c c c }
503 This feature was sponsored by Trevor Bača.
506 Endings of broken tuplet brackets can be tuned. For example, you can
507 add arrows to the brackets,
509 @lilypond[fragment,raggedright,relative=2]
510 \override TupletBracket
512 (markup #:arrow-head X LEFT #f)
513 (markup #:arrow-head X RIGHT #f))
515 c c c \bar "empty" \break c c
519 This feature was sponsored by Trevor Bača.
522 @item @textanchor{arrow-glyph}
523 Arrow heads were added to the Feta font.
528 filled, to the right: \hspace #2.0 \fontsize #6 \arrow-head #0 #1 ##t
529 open, down: \hspace #2.0 \fontsize #6 \arrow-head #1 #-1 ##f
534 These glyphs have been sponsored by Trevor Bača.
538 Nested tuplets are automatically positioned,
540 @lilypond[fragment,raggedright,relative=2]
541 \set tupletNumberFormatFunction = #fraction-tuplet-formatter
544 \times 3/5 { a a a a a }
548 This feature was sponsored by Trevor Bača.
551 Music expressions can be displayed, in LilyPond notation, using the
552 new @code{\displayLilyMusic} function. For instance:
554 \displayLilyMusic \transpose c a, { c d e f }
561 This feature was contributed by Nicolas Sceaux.
564 The current bar number may be checked with @code{\barNumberCheck}, eg.
571 will print a warning if it doesn't happen in measure 22.
574 If @code{showLastLength} is set, only the last few measures of a piece
575 are rendered, which speeds up correcting scores. For example, setting
578 showLastLength = R1*5
583 will render only the last five measures (assuming 4/4 time signature)
586 @item @textanchor{simple-melismata}
587 Melismata can be specified simply in the lyrics now, eg.
589 @lilypond[relative=1,verbatim,fragment]
597 This feature was sponsored by Nancho Alvarez
600 Suggested accidentals (for notating musica ficta) may be switched on
601 with @code{suggestAccidentals}
603 @lilypond[verbatim,fragment,relative=2]
604 \set suggestAccidentals = ##t
608 This feature was sponsored by Nancho Alvarez.
611 The setting @code{whichBar} and time-bookkeeping is now split into a
612 @code{Default_bar_line_engraver} and @code{Timing_translator}
615 @item @textanchor{pitched-trill}
616 Explicit pitches may be added to trills,
618 @lilypond[relative,verbatim,fragment]
619 \pitchedTrill c4\startTrillSpan fis f\stopTrillSpan
622 This feature was sponsored by D. Josiah Boothby and Jamie Bullock
625 Markup now supports formatting of text paragraphs, using
626 @code{\wordwrap} and @code{\justify}.
628 This feature was sponsored by Sven Axelsson.
632 For older news, go to
633 @uref{http://lilypond.org/doc/v2.6/Documentation/topdocs/NEWS.html}.