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 Black mensural notation has minimal support.
68 Support for obliqua shapes within white mensural ligatures enhanced.
70 \context MensuralStaff
74 \override NoteHead #'style = #'semipetrucci
76 \override NoteHead #'style = #'blackpetrucci
78 \revert NoteHead #'style
79 \override NoteHead #'ligature-flexa = ##t
80 \override NoteHead #'flexa-width = #3
83 \override NoteHead #'flexa-width = #5
86 \revert NoteHead #'style
93 Compound time signatures are now supported by the @code{\compoundMeter} command,
94 which can be used instead of @code{\time}:
97 \compoundMeter #'(3 1 8)
99 \compoundMeter #'((2 8) (5 8))
101 \compoundMeter #'((1 2 3 8) (1 4) (3 8))
102 c8 c c c c c c4 c8 c c
107 Lyrics above a staff must have their @code{staff-affinity} set to
108 @code{DOWN} or must have their @code{alignAboveContext} property
109 set in order to be properly aligned. For more information, see
110 @ruser{Placing lyrics vertically}.
113 @code{stringTunings} property values have changed from a list of
114 semitones above middle C to a list of LilyPond pitch values.
115 convert-ly will handle the change automatically where the value
116 of @code{stringTunings} is set to a Scheme constant value.
118 New commands @code{makeStringTuning} and @code{contextStringTuning}
119 allow the creation of string tunings in the form of a Lilypond
123 By using @code{\cueDuringWithClef}, cue notes can now also have their own
124 clef, which is correctly reset at the end of the cue notes. At the begin
125 of each line, the standard clef is still displayed, but the cue clef is
126 shown after the time/key signature in smaller size.
128 vI = \relative c'' { \clef "treble" \repeat unfold 40 g4 }
129 \addQuote vIQuote { \vI }
133 \cueDuringWithClef #"vIQuote" #DOWN #"treble" { R1 } |
134 c4 \cueDuringWithClef #"vIQuote" #DOWN #"treble" {
138 \cueDuringWithClef #"vIQuote" #DOWN "soprano" { R1*2 \break R1 } |
144 \new Staff \new Voice \Solo
151 Note names can be selected with a new
152 @code{@bs{}language "italiano"} command, which
153 can be used in safe mode. The old
154 @code{@bs{}include "italiano.ly"} syntax is
155 still supported for now, but will be deprecated
159 autobeaming is now disabled by @code{\cadenzaOn} and enabled by
160 @code{\cadenzaOff}. Beaming in cadenzas should be indicated manually.
161 Also, if a cadenza is used in a piece with autobeaming disabled, it
162 will need to be disabled again after the cadenza.
165 The user is now able to specify the name of the predefined fretboard
166 table. This allows the use of multiple tables, with switching between them
170 The part-combiner's decision to combine/not combine notes can now be customized
171 @lilypond[quote,relative=2]
173 \relative c' { c2 \partcombineApart c | \partcombineChordsOnce e' e }
174 \relative c' { c2 \partcombineApart c | c c }
178 Tablature staves show fret numbers only by default. To get the
179 former style, @code{\tabFullNotation} is provided.
182 Funk-style and Walker-style shape notes have been added.
185 Rests will no longer keep a staff alive if @code{\RemoveEmptyStaffContext}
189 New option @code{-dinclude-settings=INCLUDEFILE.ly}, which causes lilypond
190 to include the given file before the score is processed. This allows the
191 user to change global settings without the need to change the score itself.
192 That way, several different editions/version (e.g. different page sizes)
193 can be generated from a file without having to modify the score for each
197 The autobeaming settings syntax has been changed. beatLength,
198 beatGrouping, beamSettings, and measureGrouping have all been eliminated.
199 Autobeaming is now controlled by baseMoment, beatStructure, and
200 beamExceptions. Default settings for each of these properties can be
201 stored for any time signature in time-signature-settings, so that
202 when the time signature is changed, the autobeaming will automatically
203 change. The new syntax should be much easier and require fewer
207 The SVG backend has optional support for
208 @uref{http://www.w3.org/Submission/WOFF, WOFF fonts}. Using the Scheme
209 option @code{-d svg-woff} together with the SVG backend selection
210 @code{-d backend=svg}, produces SVG output with CSS WOFF font selection.
213 The LilyPond G clef has been rotated 1.5 degrees clockwise for improved
214 balance. The old and new versions can be compared by looking at the
216 @uref{http://lilypond.org/doc/v2.12/Documentation/user/lilypond/The-Feta-font.html#Clef-glyphs,
218 @uref{http://lilypond.org/doc/v2.13/Documentation/notation/the-feta-font.html#Clef-glyphs,
223 Text crescendo spanners can now be added directly using @code{\cresc},
224 @code{\dim} and @code{\decresc}.
225 @lilypond[quote,relative=2]
232 The documented syntax of @samp{lilypond} environments in the @LaTeX{}
233 mode of @command{lilypond-book} has been changed to conform with
234 standard @LaTeX{} syntax: options now come after the environment name:
236 \begin@{lilypond@}[@var{options}] @dots{}
239 The previous syntax with options after @samp{\begin} is still accepted
240 by @command{lilypond-book} but deprecated. Something like
242 sed -i '/begin\[/s/begin\(\[[^]]*]\)\(@{lilypond@}\)/begin\2\1/'
245 might do the trick for conversion.
248 Aesthetics of shape note heads have been enhanced. Variable line thicknesses
249 have been implemented. All note widths have been made consistent.
250 Minor shape note commands that use the relative major key for scale steps
254 A variant of the Segno sign is provided:
255 @lilypond[quote,relative=2]
261 Context modifications (@code{\with} blocks) can be stored in variables and
262 inserted into contexts or other @code{\with} blocks:
263 @lilypond[quote,verbatim]
264 coloredheads = \with { \override NoteHead #'color = #red }
265 noclef = \with { \remove "Clef_engraver" }
268 \new Voice \with { \coloredheads } \relative c' { c4 e g c }
280 A half-open articulation was added:
281 @lilypond[quote,relative=2]
284 This is sometimes used to indicate half-open hi-hats.
287 The Unicode Bidirectional Algorithm is now fully supported for
288 single-line markup due to enhanced integration with Pango.
291 LilyPond is now licensed under the GNU GPL v3+.
294 In tablature, frets can be indicated with labels other than numbers:
296 @lilypond[verbatim,quote,relative=1]
299 stringTunings = #`(,(ly:make-pitch 1 3 NATURAL)
300 ,(ly:make-pitch 1 1 NATURAL)
301 ,(ly:make-pitch 0 5 NATURAL)
302 ,(ly:make-pitch 0 3 NATURAL)
303 ,(ly:make-pitch 0 1 NATURAL)
304 ,(ly:make-pitch -1 5 NATURAL))
305 tablatureFormat = #fret-letter-tablature-format
308 \set fretLabels = #`(,(markup #:with-color red "a")
310 ,(markup #:italic #:smaller "c"))
311 <f d>4. <bes>8 <g e>4
316 Layout objects can be printed over a white background, which whites-out objects
317 in lower layers which lie beneath:
319 @lilypond[verbatim,quote,relative=1]
321 \override Staff.StaffSymbol #'layer = #4
322 \once \override Tie #'layer = #2
324 \once \override Staff.TimeSignature #'whiteout = ##t
325 \once \override Staff.TimeSignature #'layer = #3
331 Chords can be repeated using the @code{q} shortcut:
333 @lilypond[verbatim,quote,relative=2]
338 With two-sided mode, margins for odd and even pages can be set using
339 @code{inner-margin} and @code{outer-margin}:
344 inner-margin = 10 \mm
345 outer-margin = 20 \mm
350 Paper margin defaults, as specified in @file{ly/paper@/-defaults-init.ly}, apply
351 to the default paper size (a4) and are automatically scaled according to the
355 All combinations of @code{left-margin}, @code{right-margin} and
356 @code{line-width} work now. There is no more need to set @code{line-width}
357 manually unless you explicitly want to.
360 Support for using an alternative music font, such as Gonville, is now
364 In addition to the existing @code{\hspace} markup command,
365 a new @code{\vspace} command has been added to provide an easy
366 and flexible way to add vertical space in markups.
369 The direction of manual beams can be set with @code{^[} and @code{_[}.
372 A version of the breve note head has been added with two vertical lines on each side.
373 @lilypond[quote,relative=2]
375 \override Staff.NoteHead #'style = #'altdefault
380 Instrument names and vocal names now take into account the extent of
381 system start delimiters in other staves for their positioning,
382 resulting in improved default alignment for left-, center- and
384 @lilypond[quote,indent=18\mm]
389 \set Staff.instrumentName = #"Piccolo"
393 \set Staff.instrumentName = #"Flute"
398 \set Staff.instrumentName = #"Bassoon"
404 \set PianoStaff.instrumentName = #"Piano"
405 \context Staff = "up" {
408 \context Staff = "down" {
417 Braces in markup can now be selected by point size using the markup commands
418 @code{\left-brace} and @code{\right-brace}.
428 Intermediate .ps files which are created by LilyPond
429 during compilation are now deleted by default. To keep them,
430 add the following line to your input files:
432 #(ly:set-option 'delete-intermediate-files #f)
436 Dashed and dotted slurs, phrasing slurs, and ties
437 have been made variable thickness, and
438 partially dashed slurs are now available:
439 @lilypond[quote,relative=2]
449 An eyeglasses markup was added, indicating strongly to look at the
450 conductor for instructions:
451 @lilypond[quote,relative=2]
452 \mark \markup { \eyeglasses }
453 c4_\markup { \eyeglasses }
457 A snap-pizzicato (also known as Bartok-pizzicato) articulation was added:
458 @lilypond[quote,relative=2]
463 Tuplet number formatting functions are now available to print other fractions
464 and to add notes to the number or fraction:
465 @lilypond[quote,relative=2]
466 \once \override TupletNumber #'text =
467 #(tuplet-number::non-default-tuplet-denominator-text 7)
468 \times 2/3 { c4. c4. c4. c4. }
470 \once \override TupletNumber #'text =
471 #(tuplet-number::non-default-tuplet-fraction-text 12 7)
472 \times 2/3 { c4. c4. c4. c4. }
473 \once \override TupletNumber #'text =
474 #(tuplet-number::append-note-wrapper
475 (tuplet-number::non-default-tuplet-fraction-text 12 7) "8")
476 \times 2/3 { c4. c4. c4. c4. }
478 \once \override TupletNumber #'text =
479 #(tuplet-number::append-note-wrapper tuplet-number::calc-denominator-text "4")
480 \times 2/3 { c8 c8 c8 c8 c8 c8 }
481 \once \override TupletNumber #'text =
482 #(tuplet-number::append-note-wrapper tuplet-number::calc-fraction-text "4")
483 \times 2/3 { c8 c8 c8 c8 c8 c8 }
485 \once \override TupletNumber #'text =
486 #(tuplet-number::fraction-with-notes "4." "8")
487 \times 2/3 { c4. c4. c4. c4. }
488 \once \override TupletNumber #'text =
489 #(tuplet-number::non-default-fraction-with-notes 12 "8" 4 "4")
490 \times 2/3 { c4. c4. c4. c4. }
494 FretBoards now have a chordChanges property to keep repeated FretBoard objects
498 The vertical spacing engine has been drastically changed, making
499 it more flexible and easier to control.
500 The spacing between staves within a system can now change
501 to better use the space on the page.
502 User-defined contexts may participate in this flexible spacing,
503 depending on how their @code{staff-affinity} is defined.
504 Some page formatting variables (@code{page-top-space},
505 @code{between-system-space -padding}, and
506 @code{before- between- after-title-space}) have been replaced
507 by flexible vertical dimensions.
514 For older news, go to
515 @uref{http://lilypond.org/doc/v2.12/Documentation/topdocs/NEWS.html},
516 @uref{http://lilypond.org/doc/v2.10/Documentation/topdocs/NEWS.html},
517 or @uref{../,go back} to the Documentation index.