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 Lilypond typesets woodwind fingering charts.
70 \woodwind-diagram #'bassoon #'((lh . (thumb-cis))
71 (cc . (one two three five six))
75 \woodwind-diagram #'oboe #'((rh . (c))
77 (cc . (one two three four five six)))
84 MIDI-import through Midi2ly is improved
86 @item Midi2ly now also works on Windows systems
87 @item MIDI-files with more than 32 tracks are now handled
88 @item notes on certain simultaneous voices no longer ignored
89 @item notes overrunning a bar line are no longer truncated
90 @item initial key signature and time signature are respected
91 @item a problem with octaves in subsequent tracks/voices is fixed
92 @item initial support for multiple voices notated on one staff
93 @item the instrumentName is set from track data
94 @item new --skip option, rests are displayed by default
95 @item rests overrunning a bar line are not truncated
96 @item new --include-header option for setting titles
97 @item new --preview option for big MIDI-files
99 The first feature was sponsored by Valentin Villenave,
100 the other features were sponsored by Image-Line Software for FL Studio.
103 A new @code{Completion_rest_engraver} is available for automatically
104 converting long rests which overrun bar lines, matching the
105 @code{Completion_heads_engraver} for notes
110 \remove "Note_heads_engraver"
111 \consists "Completion_heads_engraver"
112 \remove "Rest_engraver"
113 \consists "Completion_rest_engraver"
117 This feature was sponsored by Image-Line Software for FL Studio.
120 Dots can be added to the table of contents items using:
123 tocItemMarkup = \tocItemWithDotsMarkup
128 New markup commands @code{\pattern} and @code{\fill-with-pattern} are available.
131 \pattern #3 #Y #0.3 \flat
133 \pattern #7 #X #2 \flat
134 \override #'(line-width . 40) \fill-with-pattern #1 #CENTER . left right
139 A minimal composer toolkit of modal transformations is provided.
140 A motif may be @notation{transposed}, @notation{inverted} and/or
141 converted to its @notation{retrograde} within any scale.
144 pentatonicScale = \relative a' { a c d f g }
145 motif = \relative c'' { d8 c f,4 <a f'> <a f'> }
152 \modalTranspose c a, \pentatonicScale \motif
153 \modalInversion d'' a' \pentatonicScale \motif
158 s4^"pentatonic scale"
169 Black mensural notation has minimal support.
172 Support for obliqua shapes within white mensural ligatures enhanced.
174 \context MensuralStaff
178 \override NoteHead #'style = #'semipetrucci
180 \override NoteHead #'style = #'blackpetrucci
182 \revert NoteHead #'style
183 \override NoteHead #'ligature-flexa = ##t
184 \override NoteHead #'flexa-width = #3
187 \override NoteHead #'flexa-width = #5
190 \revert NoteHead #'style
197 Compound time signatures are now supported by the @code{\compoundMeter} command,
198 which can be used instead of @code{\time}:
201 \compoundMeter #'(3 1 8)
203 \compoundMeter #'((2 8) (5 8))
205 \compoundMeter #'((1 2 3 8) (1 4) (3 8))
206 c8 c c c c c c4 c8 c c
211 Lyrics above a staff must have their @code{staff-affinity} set to
212 @code{DOWN} or must have their @code{alignAboveContext} property
213 set in order to be properly aligned. For more information, see
214 @ruser{Placing lyrics vertically}.
217 @code{stringTunings} property values have changed from a list of
218 semitones above middle C to a list of LilyPond pitch values.
219 convert-ly will handle the change automatically where the value
220 of @code{stringTunings} is set to a Scheme constant value.
222 New commands @code{makeStringTuning} and @code{contextStringTuning}
223 allow the creation of string tunings in the form of a Lilypond
227 By using @code{\cueDuringWithClef}, cue notes can now also have their own
228 clef, which is correctly reset at the end of the cue notes. At the begin
229 of each line, the standard clef is still displayed, but the cue clef is
230 shown after the time/key signature in smaller size.
232 vI = \relative c'' { \clef "treble" \repeat unfold 40 g4 }
233 \addQuote vIQuote { \vI }
237 \cueDuringWithClef #"vIQuote" #DOWN #"treble" { R1 } |
238 c4 \cueDuringWithClef #"vIQuote" #DOWN #"treble" {
242 \cueDuringWithClef #"vIQuote" #DOWN "soprano" { R1*2 \break R1 } |
248 \new Staff \new Voice \Solo
255 Note names can be selected with a new
256 @code{@bs{}language "italiano"} command, which
257 can be used in safe mode. The old
258 @code{@bs{}include "italiano.ly"} syntax is
259 still supported for now, but will be deprecated
263 autobeaming is now disabled by @code{\cadenzaOn} and enabled by
264 @code{\cadenzaOff}. Beaming in cadenzas should be indicated manually.
265 Also, if a cadenza is used in a piece with autobeaming disabled, it
266 will need to be disabled again after the cadenza.
269 The user is now able to specify the name of the predefined fretboard
270 table. This allows the use of multiple tables, with switching between them
274 The part-combiner's decision to combine/not combine notes can now be customized
275 @lilypond[quote,relative=2]
277 \relative c' { c2 \partcombineApart c | \partcombineChordsOnce e' e }
278 \relative c' { c2 \partcombineApart c | c c }
282 Tablature staves show fret numbers only by default. To get the
283 former style, @code{\tabFullNotation} is provided.
286 Funk-style and Walker-style shape notes have been added.
289 Rests will no longer keep a staff alive if @code{\RemoveEmptyStaffContext}
293 New option @code{-dinclude-settings=INCLUDEFILE.ly}, which causes lilypond
294 to include the given file before the score is processed. This allows the
295 user to change global settings without the need to change the score itself.
296 That way, several different editions/version (e.g. different page sizes)
297 can be generated from a file without having to modify the score for each
301 The autobeaming settings syntax has been changed. beatLength,
302 beatGrouping, beamSettings, and measureGrouping have all been eliminated.
303 Autobeaming is now controlled by baseMoment, beatStructure, and
304 beamExceptions. Default settings for each of these properties can be
305 stored for any time signature in time-signature-settings, so that
306 when the time signature is changed, the autobeaming will automatically
307 change. The new syntax should be much easier and require fewer
311 The SVG backend has optional support for
312 @uref{http://www.w3.org/Submission/WOFF, WOFF fonts}. Using the Scheme
313 option @code{-d svg-woff} together with the SVG backend selection
314 @code{-d backend=svg}, produces SVG output with CSS WOFF font selection.
317 The LilyPond G clef has been rotated 1.5 degrees clockwise for improved
318 balance. The old and new versions can be compared by looking at the
320 @uref{http://lilypond.org/doc/v2.12/Documentation/user/lilypond/The-Feta-font.html#Clef-glyphs,
322 @uref{http://lilypond.org/doc/v2.13/Documentation/notation/the-feta-font.html#Clef-glyphs,
327 Text crescendo spanners can now be added directly using @code{\cresc},
328 @code{\dim} and @code{\decresc}.
329 @lilypond[quote,relative=2]
336 The documented syntax of @samp{lilypond} environments in the @LaTeX{}
337 mode of @command{lilypond-book} has been changed to conform with
338 standard @LaTeX{} syntax: options now come after the environment name:
340 \begin@{lilypond@}[@var{options}] @dots{}
343 The previous syntax with options after @samp{\begin} is still accepted
344 by @command{lilypond-book} but deprecated. Something like
346 sed -i '/begin\[/s/begin\(\[[^]]*]\)\(@{lilypond@}\)/begin\2\1/'
349 might do the trick for conversion.
352 Aesthetics of shape note heads have been enhanced. Variable line thicknesses
353 have been implemented. All note widths have been made consistent.
354 Minor shape note commands that use the relative major key for scale steps
358 A variant of the Segno sign is provided:
359 @lilypond[quote,relative=2]
365 Context modifications (@code{\with} blocks) can be stored in variables and
366 inserted into contexts or other @code{\with} blocks:
367 @lilypond[quote,verbatim]
368 coloredheads = \with { \override NoteHead #'color = #red }
369 noclef = \with { \remove "Clef_engraver" }
372 \new Voice \with { \coloredheads } \relative c' { c4 e g c }
384 A half-open articulation was added:
385 @lilypond[quote,relative=2]
388 This is sometimes used to indicate half-open hi-hats.
391 The Unicode Bidirectional Algorithm is now fully supported for
392 single-line markup due to enhanced integration with Pango.
395 LilyPond is now licensed under the GNU GPL v3+.
398 In tablature, frets can be indicated with labels other than numbers:
400 @lilypond[verbatim,quote,relative=1]
403 stringTunings = #`(,(ly:make-pitch 1 3 NATURAL)
404 ,(ly:make-pitch 1 1 NATURAL)
405 ,(ly:make-pitch 0 5 NATURAL)
406 ,(ly:make-pitch 0 3 NATURAL)
407 ,(ly:make-pitch 0 1 NATURAL)
408 ,(ly:make-pitch -1 5 NATURAL))
409 tablatureFormat = #fret-letter-tablature-format
412 \set fretLabels = #`(,(markup #:with-color red "a")
414 ,(markup #:italic #:smaller "c"))
415 <f d>4. <bes>8 <g e>4
420 Layout objects can be printed over a white background, which whites-out objects
421 in lower layers which lie beneath:
423 @lilypond[verbatim,quote,relative=1]
425 \override Staff.StaffSymbol #'layer = #4
426 \once \override Tie #'layer = #2
428 \once \override Staff.TimeSignature #'whiteout = ##t
429 \once \override Staff.TimeSignature #'layer = #3
435 Chords can be repeated using the @code{q} shortcut:
437 @lilypond[verbatim,quote,relative=2]
442 With two-sided mode, margins for odd and even pages can be set using
443 @code{inner-margin} and @code{outer-margin}:
448 inner-margin = 10 \mm
449 outer-margin = 20 \mm
454 Paper margin defaults, as specified in @file{ly/paper@/-defaults-init.ly}, apply
455 to the default paper size (a4) and are automatically scaled according to the
459 All combinations of @code{left-margin}, @code{right-margin} and
460 @code{line-width} work now. There is no more need to set @code{line-width}
461 manually unless you explicitly want to.
464 Support for using an alternative music font, such as Gonville, is now
468 In addition to the existing @code{\hspace} markup command,
469 a new @code{\vspace} command has been added to provide an easy
470 and flexible way to add vertical space in markups.
473 The direction of manual beams can be set with @code{^[} and @code{_[}.
476 A version of the breve note head has been added with two vertical lines on each side.
477 @lilypond[quote,relative=2]
479 \override Staff.NoteHead #'style = #'altdefault
484 Instrument names and vocal names now take into account the extent of
485 system start delimiters in other staves for their positioning,
486 resulting in improved default alignment for left-, center- and
488 @lilypond[quote,indent=18\mm]
493 \set Staff.instrumentName = #"Piccolo"
497 \set Staff.instrumentName = #"Flute"
502 \set Staff.instrumentName = #"Bassoon"
508 \set PianoStaff.instrumentName = #"Piano"
509 \context Staff = "up" {
512 \context Staff = "down" {
521 Braces in markup can now be selected by point size using the markup commands
522 @code{\left-brace} and @code{\right-brace}.
532 Intermediate .ps files which are created by LilyPond
533 during compilation are now deleted by default. To keep them,
534 add the following line to your input files:
536 #(ly:set-option 'delete-intermediate-files #f)
540 Dashed and dotted slurs, phrasing slurs, and ties
541 have been made variable thickness, and
542 partially dashed slurs are now available:
543 @lilypond[quote,relative=2]
553 An eyeglasses markup was added, indicating strongly to look at the
554 conductor for instructions:
555 @lilypond[quote,relative=2]
556 \mark \markup { \eyeglasses }
557 c4_\markup { \eyeglasses }
561 A snap-pizzicato (also known as Bartok-pizzicato) articulation was added:
562 @lilypond[quote,relative=2]
567 Tuplet number formatting functions are now available to print other fractions
568 and to add notes to the number or fraction:
569 @lilypond[quote,relative=2]
570 \once \override TupletNumber #'text =
571 #(tuplet-number::non-default-tuplet-denominator-text 7)
572 \times 2/3 { c4. c4. c4. c4. }
574 \once \override TupletNumber #'text =
575 #(tuplet-number::non-default-tuplet-fraction-text 12 7)
576 \times 2/3 { c4. c4. c4. c4. }
577 \once \override TupletNumber #'text =
578 #(tuplet-number::append-note-wrapper
579 (tuplet-number::non-default-tuplet-fraction-text 12 7) "8")
580 \times 2/3 { c4. c4. c4. c4. }
582 \once \override TupletNumber #'text =
583 #(tuplet-number::append-note-wrapper tuplet-number::calc-denominator-text "4")
584 \times 2/3 { c8 c8 c8 c8 c8 c8 }
585 \once \override TupletNumber #'text =
586 #(tuplet-number::append-note-wrapper tuplet-number::calc-fraction-text "4")
587 \times 2/3 { c8 c8 c8 c8 c8 c8 }
589 \once \override TupletNumber #'text =
590 #(tuplet-number::fraction-with-notes "4." "8")
591 \times 2/3 { c4. c4. c4. c4. }
592 \once \override TupletNumber #'text =
593 #(tuplet-number::non-default-fraction-with-notes 12 "8" 4 "4")
594 \times 2/3 { c4. c4. c4. c4. }
598 FretBoards now have a chordChanges property to keep repeated FretBoard objects
602 The vertical spacing engine has been drastically changed, making
603 it more flexible and easier to control.
604 The spacing between staves within a system can now change
605 to better use the space on the page.
606 User-defined contexts may participate in this flexible spacing,
607 depending on how their @code{staff-affinity} is defined.
608 Some page formatting variables (@code{page-top-space},
609 @code{between-system-space -padding}, and
610 @code{before- between- after-title-space}) have been replaced
611 by flexible vertical dimensions.
618 For older news, go to
619 @uref{http://lilypond.org/doc/v2.12/Documentation/topdocs/NEWS.html},
620 @uref{http://lilypond.org/doc/v2.10/Documentation/topdocs/NEWS.html},
621 or @uref{../,go back} to the Documentation index.