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 With the @code{\tweak} music function, layout objects that are directly
49 connected to input may be tuned,
51 @lilypond[relative=2,fragment,raggedright]
53 \tweak #'font-size #3 c
55 \tweak #'style #cross g
56 \tweak #'duration-log #1 a
60 This feature was sponsored by Sean Reed and Bertalan Fodor.
62 @item Generic music functions may now also be used on articulations
63 and chord elements, eg.
67 e-\keepWithTag #'bla -\tag #'bla ^2 >
70 This feature was sponsored by Sean Reed and Bertalan Fodor.
73 @item Spaces between lyrics and distance between syllables with
74 hyphens may now be separately tuned through the
75 @code{LyricSpace} grob.
77 This feature has been sponsored by Bertalan Fodor.
79 @item A MusicXML importer is included now.
81 @item Texts set in a TrueType font are now kerned. This requires CVS
84 @item Using the @TeX{} no longer requires linking or dynamically
85 opening the kpathsea library, making the backend more easily usable on
88 This fix was sponsored by Black Trash Productions.
90 @item The horizontal location of rehearsal marks can be adjusted by
91 setting the @code{rehearsalMarkAlignSymbol} property,
93 @lilypond[raggedright]
98 \set Score.rehearsalMarkAlignSymbol = #'key-signature
102 \set Score.rehearsalMarkAlignSymbol = #'clef
110 This feature was sponsored by Trevor Bača.
114 It's now possible to easily create deeply nested system start
117 @lilypond[raggedright]
120 \set StaffGroup.systemStartDelimiterHierarchy
121 = #'(SystemStartSquare (SystemStartBracket a (SystemStartSquare b)) d)
131 In addition, there is now also support for ``square'' system start
134 This feature was sponsored by Trevor Bača.
137 Tie formatting now uses scoring. This opens the road to formatting
138 which handles complex situations require tradeoffs between different
141 This refactoring has been sponsored by Steve Doonan.
144 Each grob property may also be a ``grob closure.'' This means that it
145 is possible to combine functions. For example, the @code{Y-offset} of
146 a @code{InstrumentName} grob is defined to be
149 ,(ly:make-simple-closure
151 ,(ly:make-simple-closure
152 (,Self_alignment_interface::y_aligned_on_self))
153 ,(ly:make-simple-closure
154 (,Side_position_interface::y_aligned_on_support_refpoints)))
158 During execution, the @code{Y-offset} of an @code{InstrumentName} is computed
162 (+ (Self_alignment_interface::y_aligned_on_self @var{grob})
163 (Self_alignment_interface::y_aligned_on_support_refpoints @var{grob}))
168 Calculation of extent and offset of grob is now controlled via the
169 @code{X-extent}, @code{Y-extent}, @code{X-offset} and @code{Y-offset}
170 properties, for example
173 \override TextScript #'Y-offset = #-6
177 hard codes @code{TextScript} grobs to be 6 spaces below their Y-parent
181 Each grob property can be a procedure. If this is the case, it is
182 assumed to be a routine that calculates said property. This is a
183 major internal cleanup, which also provides advanced tweakability for
184 power users. For example,
187 \override Beam #'direction
189 (if (> 4 (ly:grob-array-length (ly:grob-object grob 'stems)))
195 With this code fragment, the direction of a beam is decided to be up
196 or down, depending on the number of stems in the beam.
200 Support for figured bass has been rewritten. Now it supports
201 continuation lines, slashed figures, and its figures, brackets, and alignments may
204 @lilypond[raggedright,fragment]
206 \relative { c4 c c c }
208 \set useBassFigureExtenders = ##t
209 <6+ 4 3> <6 4 3> <4 3+> <5/ 7/\+>
213 This rewrite was sponsored by Trent Johnston and John Mandereau.
216 Subproperties, like the @code{details} field of @code{Slur} and
217 @code{Tie} may now be tuned with @code{\override}. For example,
220 \override Stem #'details #'beamed-lengths = #'(4 4 3)
224 shortens the stems in beams.
227 The default paper size may now be set from the command line using
231 Beamlets may stick out of the side of beams.
234 @lilypond[fragment,raggedright,relative=2]
236 \override Beam #'break-overshoot = #'(-0.5 . 0.5)
237 \set stemLeftBeamCount = #2
240 \set stemRightBeamCount = #3
245 This feature was sponsored by Trevor Bača.
250 Vertical alignments of staves can now be tuned easily for individual
253 @lilypond[raggedright]
254 #(set-global-staff-size 13)
261 #"Score.NonMusicalPaperColumn"
262 #'line-break-system-details
263 #'((fixed-alignment-extra-space . 15))
275 This feature was sponsored by Nicolas Sceaux.
278 Vertical spacing for page layout can now be tuned for each system
279 individually. The dimensions that can be tuned can be visualized.
282 #(set-default-paper-size "a7" 'landscape)
285 \paper { annotatespacing = ##t }
289 These features were sponsored by Trevor Bača and Nicolas Sceaux.
292 The slope of a stem-tremolo may be set manually
294 @lilypond[fragment,relative=1,raggedright]
296 \once \override StemTremolo #'slope = #0.45
300 This feature was sponsored by Sven Axelsson.
303 Laissez vibrer ties can be created with @code{\laissezVibrer},
305 @lilypond[fragment,raggedright,relative=1]
306 <c e g>\laissezVibrer r <d f>\laissezVibrer
309 This feature was sponsored by Henrik Frisk.
312 The order of words in @code{\markup} commands may now be reversed by
313 setting the @code{text-direction} property. This is useful for
314 Right-to-Left languages like Hebrew.
316 This feature was sponsored by Aaron Mehl.
319 Texts over multi measure rests can stretch the corresponding measure,
320 if the appropriate @code{spring-and-rods} callback is set.
322 @lilypond[relative=2,fragment,raggedright]
323 \override MultiMeasureRestText #'springs-and-rods
324 = #Multi_measure_rest::set_text_rods
325 c1 R1 R1^"Very long long long text"
328 This feature was sponsored by Kris Shaffer.
331 @item @textanchor{tie-chords}
332 Formatting of ties in chords has been improved. Ties no longer collide
333 with note heads and stems. In addition, it is possible to manually
334 specify tie formatting
336 @lilypond[relative=2, fragment,raggedright]
337 <a c d f> ~ <a c d f>
339 \override TieColumn #'tie-configuration =
340 #'((0 . -1) (2 . -1) (5.5 . 1) (7 . 1))
341 <b d f g> ~ <b d f g>
344 This improvement has been sponsored by Bertalan Fodor, Jay Hamilton,
345 Kieren MacMillan, Steve Doonan, Trevor Bača, and Vicente Solsona
349 Formatting of isolated, single ties has been improved. Now, ties avoid
350 staff lines, flags and dots, without compromising their shape.
352 @lilypond[fragment,raggedright]
355 c16 c2...~ c16 ~ c2... |
356 c4~c8 c8~c16 c16~c32 c16.~[ c64]~ c64[ c8..] |
360 This improvement has been sponsored by Bertalan Fodor, Jay Hamilton,
361 Kieren MacMillan, Steve Doonan, Trevor Bača, and Vicente Solsona
365 @item @textanchor{repeat-counter}
366 With the @code{countPercentRepeats} property,
367 percent repeats get incremental numbers to indicate the accumulated repeat count.
369 @lilypond[relative=2,fragment,raggedright]
370 \set countPercentRepeats = ##t
371 \repeat percent 4 { c1 }
373 \repeat percent 4 { c2 c2 }
376 This feature was sponsored by Yoshinobu Ishizaki
379 Text scripts such as fingering instructions and dynamics avoid
380 collisions with slurs
382 @lilypond[fragment,relative=1]
384 b_1( f'_1_2_3 c_3_4_5 a)
386 c-2_\markup { \italic {"cresc."}} ( f_\markup {x} c)
391 Tuplets can be made to reach the next non-tuplet note by setting the
392 @code{tupletFullLength} property,
394 @lilypond[fragment,relative=2]
396 \remove Forbid_line_break_engraver
400 \set Score.proportionalNotationDuration = #(ly:make-moment 1 32)
401 \set tupletFullLength = ##t
402 \times 2/3 { c8[ c c] }
407 This feature was sponsored by Trevor Bača.
410 When @code{strict-note-spacing} is set, notes are spaced without regard
411 for clefs, bar lines, and grace notes. For example,
413 @lilypond[fragment,relative=2]
414 \override Score.SpacingSpanner #'strict-note-spacing = ##t
415 \new Staff { c8[ c \clef alto c \grace { c16[ c] } c8 c c] c32[ c32] }
418 This feature was sponsored by Trevor Bača.
421 Beams support the @code{break-overshoot} property, for example
423 @lilypond[relative=2,fragment]
424 \set allowBeamBreak = ##t
425 \override Beam #'break-overshoot = #'(1.0 . 2.0)
429 This feature was sponsored by Trevor Bača.
432 Proportional notation is supported. Notes can be spaced proportional
433 to their time-difference by assigning a duration to
434 @code{proportionalNotationDuration}. For example,
436 @lilypond[relative=2,fragment,raggedright]
438 \set Score.proportionalNotationDuration = #(ly:make-moment 1 16)
439 \new Staff { c8[ c c c c c] c4 c2 r2 }
440 \new Staff { c2 \times 2/3 { c8 c c } c4 c1 }
444 This feature was sponsored by Trevor Bača.
447 Symbol sizes (e.g. accidentals) are disregarded for spacing if
448 @code{uniform-stretching} of the @code{SpacingSpanner} grob is set,
451 @lilypond[relative=2,fragment]
453 \override Score.SpacingSpanner #'uniform-stretching = ##t
454 \new Staff { c16[ c c c c c c c c c16] }
456 \times 6/7 { c16 c c cis c c c }
462 This feature was sponsored by Trevor Bača.
465 Endings of broken tuplet brackets can be tuned. For example, you can
466 add arrows to the brackets,
468 @lilypond[fragment,raggedright,relative=2]
469 \override TupletBracket
471 (markup #:arrow-head X LEFT #f)
472 (markup #:arrow-head X RIGHT #f))
474 c c c \bar "empty" \break c c
478 This feature was sponsored by Trevor Bača.
481 @item @textanchor{arrow-glyph}
482 Arrow heads were added to the Feta font.
487 filled, to the right: \hspace #2.0 \fontsize #6 \arrow-head #0 #1 ##t
488 open, down: \hspace #2.0 \fontsize #6 \arrow-head #1 #-1 ##f
493 These glyphs have been sponsored by Trevor Bača.
497 Nested tuplets are automatically positioned,
499 @lilypond[fragment,raggedright,relative=2]
500 \set tupletNumberFormatFunction = #fraction-tuplet-formatter
503 \times 3/5 { a a a a a }
507 This feature was sponsored by Trevor Bača.
510 Music expressions can be displayed, in LilyPond notation, using the
511 new @code{\displayLilyMusic} function. For instance:
513 \displayLilyMusic \transpose c a, { c d e f }
520 This feature was contributed by Nicolas Sceaux.
523 The current bar number may be checked with @code{\barNumberCheck}, eg.
530 will print a warning if it doesn't happen in measure 22.
533 If @code{showLastLength} is set, only the last few measures of a piece
534 are rendered, which speeds up correcting scores. For example, setting
537 showLastLength = R1*5
542 will render only the last five measures (assuming 4/4 time signature)
545 @item @textanchor{simple-melismata}
546 Melismata can be specified simply in the lyrics now, eg.
548 @lilypond[relative=1,verbatim,fragment]
556 This feature was sponsored by Nancho Alvarez
559 Suggested accidentals (for notating musica ficta) may be switched on
560 with @code{suggestAccidentals}
562 @lilypond[verbatim,fragment,relative=2]
563 \set suggestAccidentals = ##t
567 This feature was sponsored by Nancho Alvarez.
570 The setting @code{whichBar} and time-bookkeeping is now split into a
571 @code{Default_bar_line_engraver} and @code{Timing_translator}
574 @item @textanchor{pitched-trill}
575 Explicit pitches may be added to trills,
577 @lilypond[relative,verbatim,fragment]
578 \pitchedTrill c4\startTrillSpan fis f\stopTrillSpan
581 This feature was sponsored by D. Josiah Boothby and Jamie Bullock
584 Markup now supports formatting of text paragraphs, using
585 @code{\wordwrap} and @code{\justify}.
587 This feature was sponsored by Sven Axelsson.
591 For older news, go to
592 @uref{http://lilypond.org/doc/v2.6/Documentation/topdocs/out-www/NEWS.html}.