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}. It's part of
42 the @uref{../,LilyPond Documentation}
50 @item Systems individual systems may be positioned manually.
54 tagline = "lily was here"
57 #(set-default-paper-size "a7" 'landscape)
67 #"Score.NonMusicalPaperColumn"
68 #'line-break-system-details
81 This feature was sponsored by Trevor Bača and Nicolas Sceaux.
83 @item A linebreaking configuration can now be saved as a @file{.ly}
84 file automatically. This allows vertical alignments to be stretched to
85 fit pages in a second formatting run. This feature was sponsored by
86 Trevor Bača and Nicolas Sceaux.
88 @item The tie formatting for chords has been further polished. More
89 cases are handled gracefully, and all scoring parameters may now be
90 changed through the @code{details} property of the @code{Tie} grob.
92 This refinement was sponsored by Steve Doonan.
94 @item Positions of staff lines may now be set individually, for
97 @lilypond[raggedright]
98 \new Staff \relative c' {
99 \override Staff.StaffSymbol #'line-positions = #'(-7 -2 0 7)
104 This feature was sponsored by Andrea Valle.
107 @item A MusicXML importer is included now.
109 It was sponsored by among others, Mark van den Borre,
110 and Muziekacademie Lede.
113 Stem direction on the center staff line are now interpolated between
114 neighbors. This results in less stem direction changes, leading to a
115 more even appearance. For example,
117 @lilypond[raggedright]
125 This feature was sponsored by Mike Rolish and Basil Crow.
128 Slurs now avoid @code{TupletNumber}s, and tuplet numbers may enter the
131 @lilypond[raggedright]
134 \override TupletBracket #'bracket-visibility = ##f
135 \override TupletBracket #'staff-padding = ##f
136 \override Slur #'details #'region-size = #6
140 c( \stemDown g' \stemNeutral c,)
145 This feature was sponsored by Trent Johnston.
148 @item Tuplet brackets and numbers are implemented as separate grobs,
149 @code{TupletBracket} and @code{TupletNumber}.
151 This rewrite was sponsored by Trent Johnston.
153 @item String arguments for music functions may be specified without
154 @code{#} marks. This allows syntactical constructs (like \clef and
155 \bar) to be expressed in generic music functions.
157 @item Ties in chords are also formatted using a scoring based
158 formatting. This reduces the number of collisions for ties in chords,
160 @lilypond[raggedright,fragment,relative=2]
161 <b d f g> ~ <b d f g>
164 Here, the tie for the D is flipped, in spite the default rule for
167 This rewrite was sponsored by Steve Doonan.
169 @item With the @code{\tweak} music function, layout objects that are directly
170 connected to input may be tuned easily,
172 @lilypond[relative=2,fragment,verbatim,raggedright]
174 \tweak #'font-size #3 c
175 \tweak #'color #red d
176 \tweak #'style #'cross g
177 \tweak #'duration-log #1 a
181 This feature was sponsored by Sean Reed and Bertalan Fodor.
183 @item Generic music functions may now also be used on articulations
184 and chord elements, eg.
188 e-\keepWithTag #'bla -\tag #'bla ^2 >
191 This feature was sponsored by Sean Reed and Bertalan Fodor.
194 @item Spaces between lyrics and distance between syllables with
195 hyphens may now be separately tuned through the
196 @code{LyricSpace} grob.
198 This feature has been sponsored by Bertalan Fodor.
200 @item Texts set in a TrueType font are now kerned. This requires CVS
203 @lilypond[relative=2,fragment,raggedright]
208 @item Using the @TeX{} no longer requires linking or dynamically
209 opening the kpathsea library, making the backend more easily usable on
212 This fix was sponsored by Black Trash Productions.
214 @item The horizontal location of rehearsal marks can be adjusted by
215 setting the @code{rehearsalMarkAlignSymbol} property,
217 @lilypond[raggedright]
222 \set Score.rehearsalMarkAlignSymbol = #'key-signature
226 \set Score.rehearsalMarkAlignSymbol = #'clef
234 This feature was sponsored by Trevor Bača.
238 It's now possible to easily create deeply nested system start
241 @lilypond[raggedright]
244 \set StaffGroup.systemStartDelimiterHierarchy
245 = #'(SystemStartSquare (SystemStartBracket a (SystemStartSquare b)) d)
255 In addition, there is now also support for ``square'' system start
258 This feature was sponsored by Trevor Bača.
261 Tie formatting now uses scoring. This opens the road to formatting
262 which handles complex situations require tradeoffs between different
265 This refactoring has been sponsored by Steve Doonan.
268 Each grob property may also be a ``grob closure.'' This means that it
269 is possible to combine functions. For example, the @code{Y-offset} of
270 a @code{InstrumentName} grob is defined to be
273 ,(ly:make-simple-closure
275 ,(ly:make-simple-closure
276 (,Self_alignment_interface::y_aligned_on_self))
277 ,(ly:make-simple-closure
278 (,Side_position_interface::y_aligned_on_support_refpoints)))
282 During execution, the @code{Y-offset} of an @code{InstrumentName} is computed
286 (+ (Self_alignment_interface::y_aligned_on_self @var{grob})
287 (Self_alignment_interface::y_aligned_on_support_refpoints @var{grob}))
292 Calculation of extent and offset of grob is now controlled via the
293 @code{X-extent}, @code{Y-extent}, @code{X-offset} and @code{Y-offset}
294 properties, for example
297 \override TextScript #'Y-offset = #-6
301 hard codes @code{TextScript} grobs to be 6 spaces below their Y-parent
305 Each grob property can be a procedure. If this is the case, it is
306 assumed to be a routine that calculates said property. This is a
307 major internal cleanup, which also provides advanced tweakability for
308 power users. For example,
311 \override Beam #'direction
313 (if (> 4 (ly:grob-array-length (ly:grob-object grob 'stems)))
319 With this code fragment, the direction of a beam is decided to be up
320 or down, depending on the number of stems in the beam.
324 Support for figured bass has been rewritten. Now it supports
325 continuation lines, slashed figures, and its figures, brackets, and alignments may
328 @lilypond[raggedright,fragment]
330 \relative { c4 c c c }
332 \set useBassFigureExtenders = ##t
333 <6+ 4 3> <6 4 3> <4 3+> <5/ 7/\+>
337 This rewrite was sponsored by Trent Johnston and John Mandereau.
340 Subproperties, like the @code{details} field of @code{Slur} and
341 @code{Tie} may now be tuned with @code{\override}. For example,
344 \override Stem #'details #'beamed-lengths = #'(4 4 3)
348 shortens the stems in beams.
351 The default paper size may now be set from the command line using
355 Beamlets may stick out of the side of beams.
358 @lilypond[fragment,raggedright,relative=2]
360 \override Beam #'break-overshoot = #'(-0.5 . 0.5)
361 \set stemLeftBeamCount = #2
364 \set stemRightBeamCount = #3
369 This feature was sponsored by Trevor Bača.
374 Vertical alignments of staves can now be tuned easily for individual
377 @lilypond[raggedright]
378 #(set-global-staff-size 13)
385 #"Score.NonMusicalPaperColumn"
386 #'line-break-system-details
387 #'((fixed-alignment-extra-space . 15))
399 This feature was sponsored by Nicolas Sceaux.
402 Vertical spacing for page layout can now be tuned for each system
403 individually. The dimensions that can be tuned can be visualized.
406 #(set-default-paper-size "a7" 'landscape)
409 \paper { annotatespacing = ##t }
413 These features were sponsored by Trevor Bača and Nicolas Sceaux.
416 The slope of a stem-tremolo may be set manually
418 @lilypond[fragment,relative=1,raggedright]
420 \once \override StemTremolo #'slope = #0.45
424 This feature was sponsored by Sven Axelsson.
427 Laissez vibrer ties can be created with @code{\laissezVibrer},
429 @lilypond[fragment,raggedright,relative=1]
430 <c e g>\laissezVibrer r <d f>\laissezVibrer
433 This feature was sponsored by Henrik Frisk.
436 The order of words in @code{\markup} commands may now be reversed by
437 setting the @code{text-direction} property. This is useful for
438 Right-to-Left languages like Hebrew.
440 This feature was sponsored by Aaron Mehl.
443 Texts over multi measure rests can stretch the corresponding measure,
444 if the appropriate @code{spring-and-rods} callback is set.
446 @lilypond[relative=2,fragment,raggedright]
447 \override MultiMeasureRestText #'springs-and-rods
448 = #Multi_measure_rest::set_text_rods
449 c1 R1 R1^"Very long long long text"
452 This feature was sponsored by Kris Shaffer.
455 @item @textanchor{tie-chords}
456 Formatting of ties in chords has been improved. Ties no longer collide
457 with note heads and stems. In addition, it is possible to manually
458 specify tie formatting
460 @lilypond[relative=2, fragment,raggedright]
461 <a c d f> ~ <a c d f>
463 \override TieColumn #'tie-configuration =
464 #'((0 . -1) '() (5.5 . 1) (7 . 1))
465 <b d f g> ~ <b d f g>
468 This improvement has been sponsored by Bertalan Fodor, Jay Hamilton,
469 Kieren MacMillan, Steve Doonan, Trevor Bača, and Vicente Solsona
473 Formatting of isolated, single ties has been improved. Now, ties avoid
474 staff lines, flags and dots, without compromising their shape.
476 @lilypond[fragment,raggedright]
479 c16 c2...~ c16 ~ c2... |
480 c4~c8 c8~c16 c16~c32 c16.~[ c64]~ c64[ c8..] |
484 This improvement has been sponsored by Bertalan Fodor, Jay Hamilton,
485 Kieren MacMillan, Steve Doonan, Trevor Bača, and Vicente Solsona
489 @item @textanchor{repeat-counter}
490 With the @code{countPercentRepeats} property,
491 percent repeats get incremental numbers to indicate the accumulated repeat count.
493 @lilypond[relative=2,fragment,raggedright]
494 \set countPercentRepeats = ##t
495 \repeat percent 4 { c1 }
497 \repeat percent 4 { c2 c2 }
500 This feature was sponsored by Yoshinobu Ishizaki
503 Text scripts such as fingering instructions and dynamics avoid
504 collisions with slurs
506 @lilypond[fragment,relative=1]
508 b_1( f'_1_2_3 c_3_4_5 a)
510 c-2_\markup { \italic {"cresc."}} ( f_\markup {x} c)
515 Tuplets can be made to reach the next non-tuplet note by setting the
516 @code{tupletFullLength} property,
518 @lilypond[fragment,relative=2]
520 \remove Forbid_line_break_engraver
524 \set Score.proportionalNotationDuration = #(ly:make-moment 1 32)
525 \set tupletFullLength = ##t
526 \times 2/3 { c8[ c c] }
531 This feature was sponsored by Trevor Bača.
534 When @code{strict-note-spacing} is set, notes are spaced without regard
535 for clefs, bar lines, and grace notes. For example,
537 @lilypond[fragment,relative=2]
538 \override Score.SpacingSpanner #'strict-note-spacing = ##t
539 \new Staff { c8[ c \clef alto c \grace { c16[ c] } c8 c c] c32[ c32] }
542 This feature was sponsored by Trevor Bača.
545 Beams support the @code{break-overshoot} property, for example
547 @lilypond[relative=2,fragment]
548 \set allowBeamBreak = ##t
549 \override Beam #'break-overshoot = #'(1.0 . 2.0)
553 This feature was sponsored by Trevor Bača.
556 Proportional notation is supported. Notes can be spaced proportional
557 to their time-difference by assigning a duration to
558 @code{proportionalNotationDuration}. For example,
560 @lilypond[relative=2,fragment,raggedright]
562 \set Score.proportionalNotationDuration = #(ly:make-moment 1 16)
563 \new Staff { c8[ c c c c c] c4 c2 r2 }
564 \new Staff { c2 \times 2/3 { c8 c c } c4 c1 }
568 This feature was sponsored by Trevor Bača.
571 Symbol sizes (e.g. accidentals) are disregarded for spacing if
572 @code{uniform-stretching} of the @code{SpacingSpanner} grob is set,
575 @lilypond[relative=2,fragment]
577 \override Score.SpacingSpanner #'uniform-stretching = ##t
578 \new Staff { c16[ c c c c c c c c c16] }
580 \times 6/7 { c16 c c cis c c c }
586 This feature was sponsored by Trevor Bača.
589 Endings of broken tuplet brackets can be tuned. For example, you can
590 add arrows to the brackets,
592 @lilypond[fragment,raggedright,relative=2]
593 \override TupletBracket
595 (markup #:arrow-head X LEFT #f)
596 (markup #:arrow-head X RIGHT #f))
598 c c c \bar "empty" \break c c
602 This feature was sponsored by Trevor Bača.
605 @item @textanchor{arrow-glyph}
606 Arrow heads were added to the Feta font.
611 filled, to the right: \hspace #2.0 \fontsize #6 \arrow-head #0 #1 ##t
612 open, down: \hspace #2.0 \fontsize #6 \arrow-head #1 #-1 ##f
617 These glyphs have been sponsored by Trevor Bača.
621 Nested tuplets are automatically positioned,
623 @lilypond[fragment,raggedright,relative=2]
624 \set tupletNumberFormatFunction = #fraction-tuplet-formatter
627 \times 3/5 { a a a a a }
631 This feature was sponsored by Trevor Bača.
634 Music expressions can be displayed, in LilyPond notation, using the
635 new @code{\displayLilyMusic} function. For instance:
637 \displayLilyMusic \transpose c a, { c d e f }
644 This feature was contributed by Nicolas Sceaux.
647 The current bar number may be checked with @code{\barNumberCheck}, eg.
654 will print a warning if it doesn't happen in measure 22.
657 If @code{showLastLength} is set, only the last few measures of a piece
658 are rendered, which speeds up correcting scores. For example, setting
661 showLastLength = R1*5
666 will render only the last five measures (assuming 4/4 time signature)
669 @item @textanchor{simple-melismata}
670 Melismata can be specified simply in the lyrics now, eg.
672 @lilypond[relative=1,verbatim,fragment]
680 This feature was sponsored by Nancho Alvarez
683 Suggested accidentals (for notating musica ficta) may be switched on
684 with @code{suggestAccidentals}
686 @lilypond[verbatim,fragment,relative=2]
687 \set suggestAccidentals = ##t
691 This feature was sponsored by Nancho Alvarez.
694 The setting @code{whichBar} and time-bookkeeping is now split into a
695 @code{Default_bar_line_engraver} and @code{Timing_translator}
698 @item @textanchor{pitched-trill}
699 Explicit pitches may be added to trills,
701 @lilypond[relative,verbatim,fragment]
702 \pitchedTrill c4\startTrillSpan fis f\stopTrillSpan
705 This feature was sponsored by D. Josiah Boothby and Jamie Bullock
708 Markup now supports formatting of text paragraphs, using
709 @code{\wordwrap} and @code{\justify}.
711 This feature was sponsored by Sven Axelsson.
715 For older news, go to
716 @uref{http://lilypond.org/doc/v2.6/Documentation/topdocs/NEWS.html},
717 or @uref{../,go back} to the Documentation index.