1 \input texinfo @c -*- coding: utf-8; mode: texinfo; -*-
2 @setfilename lilypond-changes.info
3 @settitle LilyPond Changes
8 @macro inputfileref{DIR,NAME}
9 @uref{../../\DIR\/collated-files.html#\NAME\,@file{\DIR\/\NAME\}}@c
11 @macro usermanref{NAME}
12 @inforef{\NAME\,,../user/lilypond/lilypond}@c
17 @macro inputfileref{DIR,NAME}
20 @macro usermanref{NAME}
21 See user manual, \NAME\
25 @macro textanchor{NAME}
32 @documentencoding utf-8
39 @top New features in 2.13 since 2.12
41 @allowcodebreaks false
49 * add new items at the top
51 * only show verbatim input for syntax/input changes
53 * try to be as brief possible in those cases
55 * don't try to provide real-world examples, they often get too big,
56 which scares away people.
58 * Write complete sentences.
60 * only show user-visible changes.
65 Dots can be added to the table of contents items using:
68 tocItemMarkup = \tocItemWithDotsMarkup
73 New markup commands @code{\pattern} and @code{\fill-with-pattern} are available.
76 \pattern #3 #Y #0.3 \flat
78 \pattern #7 #X #2 \flat
79 \override #'(line-width . 40) \fill-with-pattern #1 #CENTER . left right
84 A minimal composer toolkit of modal transformations is provided.
85 A motif may be @notation{transposed}, @notation{inverted} and/or
86 converted to its @notation{retrograde} within any scale.
89 pentatonicScale = \relative a' { a c d f g }
90 motif = \relative c'' { d8 c f,4 <a f'> <a f'> }
97 \modalTranspose c a, \pentatonicScale \motif
98 \modalInversion d'' a' \pentatonicScale \motif
103 s4^"pentatonic scale"
114 Black mensural notation has minimal support.
117 Support for obliqua shapes within white mensural ligatures enhanced.
119 \context MensuralStaff
123 \override NoteHead #'style = #'semipetrucci
125 \override NoteHead #'style = #'blackpetrucci
127 \revert NoteHead #'style
128 \override NoteHead #'ligature-flexa = ##t
129 \override NoteHead #'flexa-width = #3
132 \override NoteHead #'flexa-width = #5
135 \revert NoteHead #'style
142 Compound time signatures are now supported by the @code{\compoundMeter} command,
143 which can be used instead of @code{\time}:
146 \compoundMeter #'(3 1 8)
148 \compoundMeter #'((2 8) (5 8))
150 \compoundMeter #'((1 2 3 8) (1 4) (3 8))
151 c8 c c c c c c4 c8 c c
156 Lyrics above a staff must have their @code{staff-affinity} set to
157 @code{DOWN} or must have their @code{alignAboveContext} property
158 set in order to be properly aligned. For more information, see
159 @ruser{Placing lyrics vertically}.
162 @code{stringTunings} property values have changed from a list of
163 semitones above middle C to a list of LilyPond pitch values.
164 convert-ly will handle the change automatically where the value
165 of @code{stringTunings} is set to a Scheme constant value.
167 New commands @code{makeStringTuning} and @code{contextStringTuning}
168 allow the creation of string tunings in the form of a Lilypond
172 By using @code{\cueDuringWithClef}, cue notes can now also have their own
173 clef, which is correctly reset at the end of the cue notes. At the begin
174 of each line, the standard clef is still displayed, but the cue clef is
175 shown after the time/key signature in smaller size.
177 vI = \relative c'' { \clef "treble" \repeat unfold 40 g4 }
178 \addQuote vIQuote { \vI }
182 \cueDuringWithClef #"vIQuote" #DOWN #"treble" { R1 } |
183 c4 \cueDuringWithClef #"vIQuote" #DOWN #"treble" {
187 \cueDuringWithClef #"vIQuote" #DOWN "soprano" { R1*2 \break R1 } |
193 \new Staff \new Voice \Solo
200 Note names can be selected with a new
201 @code{@bs{}language "italiano"} command, which
202 can be used in safe mode. The old
203 @code{@bs{}include "italiano.ly"} syntax is
204 still supported for now, but will be deprecated
208 autobeaming is now disabled by @code{\cadenzaOn} and enabled by
209 @code{\cadenzaOff}. Beaming in cadenzas should be indicated manually.
210 Also, if a cadenza is used in a piece with autobeaming disabled, it
211 will need to be disabled again after the cadenza.
214 The user is now able to specify the name of the predefined fretboard
215 table. This allows the use of multiple tables, with switching between them
219 The part-combiner's decision to combine/not combine notes can now be customized
220 @lilypond[quote,relative=2]
222 \relative c' { c2 \partcombineApart c | \partcombineChordsOnce e' e }
223 \relative c' { c2 \partcombineApart c | c c }
227 Tablature staves show fret numbers only by default. To get the
228 former style, @code{\tabFullNotation} is provided.
231 Funk-style and Walker-style shape notes have been added.
234 Rests will no longer keep a staff alive if @code{\RemoveEmptyStaffContext}
238 New option @code{-dinclude-settings=INCLUDEFILE.ly}, which causes lilypond
239 to include the given file before the score is processed. This allows the
240 user to change global settings without the need to change the score itself.
241 That way, several different editions/version (e.g. different page sizes)
242 can be generated from a file without having to modify the score for each
246 The autobeaming settings syntax has been changed. beatLength,
247 beatGrouping, beamSettings, and measureGrouping have all been eliminated.
248 Autobeaming is now controlled by baseMoment, beatStructure, and
249 beamExceptions. Default settings for each of these properties can be
250 stored for any time signature in time-signature-settings, so that
251 when the time signature is changed, the autobeaming will automatically
252 change. The new syntax should be much easier and require fewer
256 The SVG backend has optional support for
257 @uref{http://www.w3.org/Submission/WOFF, WOFF fonts}. Using the Scheme
258 option @code{-d svg-woff} together with the SVG backend selection
259 @code{-d backend=svg}, produces SVG output with CSS WOFF font selection.
262 The LilyPond G clef has been rotated 1.5 degrees clockwise for improved
263 balance. The old and new versions can be compared by looking at the
265 @uref{http://lilypond.org/doc/v2.12/Documentation/user/lilypond/The-Feta-font.html#Clef-glyphs,
267 @uref{http://lilypond.org/doc/v2.13/Documentation/notation/the-feta-font.html#Clef-glyphs,
272 Text crescendo spanners can now be added directly using @code{\cresc},
273 @code{\dim} and @code{\decresc}.
274 @lilypond[quote,relative=2]
281 The documented syntax of @samp{lilypond} environments in the @LaTeX{}
282 mode of @command{lilypond-book} has been changed to conform with
283 standard @LaTeX{} syntax: options now come after the environment name:
285 \begin@{lilypond@}[@var{options}] @dots{}
288 The previous syntax with options after @samp{\begin} is still accepted
289 by @command{lilypond-book} but deprecated. Something like
291 sed -i '/begin\[/s/begin\(\[[^]]*]\)\(@{lilypond@}\)/begin\2\1/'
294 might do the trick for conversion.
297 Aesthetics of shape note heads have been enhanced. Variable line thicknesses
298 have been implemented. All note widths have been made consistent.
299 Minor shape note commands that use the relative major key for scale steps
303 A variant of the Segno sign is provided:
304 @lilypond[quote,relative=2]
310 Context modifications (@code{\with} blocks) can be stored in variables and
311 inserted into contexts or other @code{\with} blocks:
312 @lilypond[quote,verbatim]
313 coloredheads = \with { \override NoteHead #'color = #red }
314 noclef = \with { \remove "Clef_engraver" }
317 \new Voice \with { \coloredheads } \relative c' { c4 e g c }
329 A half-open articulation was added:
330 @lilypond[quote,relative=2]
333 This is sometimes used to indicate half-open hi-hats.
336 The Unicode Bidirectional Algorithm is now fully supported for
337 single-line markup due to enhanced integration with Pango.
340 LilyPond is now licensed under the GNU GPL v3+.
343 In tablature, frets can be indicated with labels other than numbers:
345 @lilypond[verbatim,quote,relative=1]
348 stringTunings = #`(,(ly:make-pitch 1 3 NATURAL)
349 ,(ly:make-pitch 1 1 NATURAL)
350 ,(ly:make-pitch 0 5 NATURAL)
351 ,(ly:make-pitch 0 3 NATURAL)
352 ,(ly:make-pitch 0 1 NATURAL)
353 ,(ly:make-pitch -1 5 NATURAL))
354 tablatureFormat = #fret-letter-tablature-format
357 \set fretLabels = #`(,(markup #:with-color red "a")
359 ,(markup #:italic #:smaller "c"))
360 <f d>4. <bes>8 <g e>4
365 Layout objects can be printed over a white background, which whites-out objects
366 in lower layers which lie beneath:
368 @lilypond[verbatim,quote,relative=1]
370 \override Staff.StaffSymbol #'layer = #4
371 \once \override Tie #'layer = #2
373 \once \override Staff.TimeSignature #'whiteout = ##t
374 \once \override Staff.TimeSignature #'layer = #3
380 Chords can be repeated using the @code{q} shortcut:
382 @lilypond[verbatim,quote,relative=2]
387 With two-sided mode, margins for odd and even pages can be set using
388 @code{inner-margin} and @code{outer-margin}:
393 inner-margin = 10 \mm
394 outer-margin = 20 \mm
399 Paper margin defaults, as specified in @file{ly/paper@/-defaults-init.ly}, apply
400 to the default paper size (a4) and are automatically scaled according to the
404 All combinations of @code{left-margin}, @code{right-margin} and
405 @code{line-width} work now. There is no more need to set @code{line-width}
406 manually unless you explicitly want to.
409 Support for using an alternative music font, such as Gonville, is now
413 In addition to the existing @code{\hspace} markup command,
414 a new @code{\vspace} command has been added to provide an easy
415 and flexible way to add vertical space in markups.
418 The direction of manual beams can be set with @code{^[} and @code{_[}.
421 A version of the breve note head has been added with two vertical lines on each side.
422 @lilypond[quote,relative=2]
424 \override Staff.NoteHead #'style = #'altdefault
429 Instrument names and vocal names now take into account the extent of
430 system start delimiters in other staves for their positioning,
431 resulting in improved default alignment for left-, center- and
433 @lilypond[quote,indent=18\mm]
438 \set Staff.instrumentName = #"Piccolo"
442 \set Staff.instrumentName = #"Flute"
447 \set Staff.instrumentName = #"Bassoon"
453 \set PianoStaff.instrumentName = #"Piano"
454 \context Staff = "up" {
457 \context Staff = "down" {
466 Braces in markup can now be selected by point size using the markup commands
467 @code{\left-brace} and @code{\right-brace}.
477 Intermediate .ps files which are created by LilyPond
478 during compilation are now deleted by default. To keep them,
479 add the following line to your input files:
481 #(ly:set-option 'delete-intermediate-files #f)
485 Dashed and dotted slurs, phrasing slurs, and ties
486 have been made variable thickness, and
487 partially dashed slurs are now available:
488 @lilypond[quote,relative=2]
498 An eyeglasses markup was added, indicating strongly to look at the
499 conductor for instructions:
500 @lilypond[quote,relative=2]
501 \mark \markup { \eyeglasses }
502 c4_\markup { \eyeglasses }
506 A snap-pizzicato (also known as Bartok-pizzicato) articulation was added:
507 @lilypond[quote,relative=2]
512 Tuplet number formatting functions are now available to print other fractions
513 and to add notes to the number or fraction:
514 @lilypond[quote,relative=2]
515 \once \override TupletNumber #'text =
516 #(tuplet-number::non-default-tuplet-denominator-text 7)
517 \times 2/3 { c4. c4. c4. c4. }
519 \once \override TupletNumber #'text =
520 #(tuplet-number::non-default-tuplet-fraction-text 12 7)
521 \times 2/3 { c4. c4. c4. c4. }
522 \once \override TupletNumber #'text =
523 #(tuplet-number::append-note-wrapper
524 (tuplet-number::non-default-tuplet-fraction-text 12 7) "8")
525 \times 2/3 { c4. c4. c4. c4. }
527 \once \override TupletNumber #'text =
528 #(tuplet-number::append-note-wrapper tuplet-number::calc-denominator-text "4")
529 \times 2/3 { c8 c8 c8 c8 c8 c8 }
530 \once \override TupletNumber #'text =
531 #(tuplet-number::append-note-wrapper tuplet-number::calc-fraction-text "4")
532 \times 2/3 { c8 c8 c8 c8 c8 c8 }
534 \once \override TupletNumber #'text =
535 #(tuplet-number::fraction-with-notes "4." "8")
536 \times 2/3 { c4. c4. c4. c4. }
537 \once \override TupletNumber #'text =
538 #(tuplet-number::non-default-fraction-with-notes 12 "8" 4 "4")
539 \times 2/3 { c4. c4. c4. c4. }
543 FretBoards now have a chordChanges property to keep repeated FretBoard objects
547 The vertical spacing engine has been drastically changed, making
548 it more flexible and easier to control.
549 The spacing between staves within a system can now change
550 to better use the space on the page.
551 User-defined contexts may participate in this flexible spacing,
552 depending on how their @code{staff-affinity} is defined.
553 Some page formatting variables (@code{page-top-space},
554 @code{between-system-space -padding}, and
555 @code{before- between- after-title-space}) have been replaced
556 by flexible vertical dimensions.
563 For older news, go to
564 @uref{http://lilypond.org/doc/v2.12/Documentation/topdocs/NEWS.html},
565 @uref{http://lilypond.org/doc/v2.10/Documentation/topdocs/NEWS.html},
566 or @uref{../,go back} to the Documentation index.