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 output has been improved
86 @item voices are kept separated, which makes the MIDI much more useful for postprocessing
87 @item optimal channel distribution: identical instruments share the same channel. This means that e.g. for a full orchestral score there are always 16 (15 plus percussion) diffently sounding instruments available, unrestricted by the number of staves or voices.
88 @item dynamics are now rendered as note velocities, no longer as midi dynamics. This improves the sound on [high end] midi renderers.
92 MIDI-import through Midi2ly is improved
94 @item Midi2ly now also works on Windows systems
95 @item MIDI-files with more than 32 tracks are now handled
96 @item notes on certain simultaneous voices no longer ignored
97 @item notes overrunning a bar line are no longer truncated
98 @item initial key signature and time signature are respected
99 @item a problem with octaves in subsequent tracks/voices is fixed
100 @item initial support for multiple voices notated on one staff
101 @item the instrumentName is set from track data
102 @item new --skip option, rests are displayed by default
103 @item rests overrunning a bar line are not truncated
104 @item new --include-header option for setting titles
105 @item new --preview option for big MIDI-files
107 The first feature was sponsored by Valentin Villenave,
108 the other features were sponsored by Image-Line Software for FL Studio.
111 A new @code{Completion_rest_engraver} is available for automatically
112 converting long rests which overrun bar lines, matching the
113 @code{Completion_heads_engraver} for notes
118 \remove "Note_heads_engraver"
119 \consists "Completion_heads_engraver"
120 \remove "Rest_engraver"
121 \consists "Completion_rest_engraver"
125 This feature was sponsored by Image-Line Software for FL Studio.
128 Dots can be added to the table of contents items using:
131 tocItemMarkup = \tocItemWithDotsMarkup
136 New markup commands @code{\pattern} and @code{\fill-with-pattern} are available.
139 \pattern #3 #Y #0.3 \flat
141 \pattern #7 #X #2 \flat
142 \override #'(line-width . 40) \fill-with-pattern #1 #CENTER . left right
147 A minimal composer toolkit of modal transformations is provided.
148 A motif may be @notation{transposed}, @notation{inverted} and/or
149 converted to its @notation{retrograde} within any scale.
152 pentatonicScale = \relative a' { a c d f g }
153 motif = \relative c'' { d8 c f,4 <a f'> <a f'> }
160 \modalTranspose c a, \pentatonicScale \motif
161 \modalInversion d'' a' \pentatonicScale \motif
166 s4^"pentatonic scale"
177 Black mensural notation has minimal support.
180 Support for obliqua shapes within white mensural ligatures enhanced.
182 \context MensuralStaff
186 \override NoteHead #'style = #'semipetrucci
188 \override NoteHead #'style = #'blackpetrucci
190 \revert NoteHead #'style
191 \override NoteHead #'ligature-flexa = ##t
192 \override NoteHead #'flexa-width = #3
195 \override NoteHead #'flexa-width = #5
198 \revert NoteHead #'style
205 Compound time signatures are now supported by the @code{\compoundMeter} command,
206 which can be used instead of @code{\time}:
209 \compoundMeter #'(3 1 8)
211 \compoundMeter #'((2 8) (5 8))
213 \compoundMeter #'((1 2 3 8) (1 4) (3 8))
214 c8 c c c c c c4 c8 c c
219 Lyrics above a staff must have their @code{staff-affinity} set to
220 @code{DOWN} or must have their @code{alignAboveContext} property
221 set in order to be properly aligned. For more information, see
222 @ruser{Placing lyrics vertically}.
225 @code{stringTunings} property values have changed from a list of
226 semitones above middle C to a list of LilyPond pitch values.
227 convert-ly will handle the change automatically where the value
228 of @code{stringTunings} is set to a Scheme constant value.
230 New commands @code{makeStringTuning} and @code{contextStringTuning}
231 allow the creation of string tunings in the form of a Lilypond
235 By using @code{\cueDuringWithClef}, cue notes can now also have their own
236 clef, which is correctly reset at the end of the cue notes. At the begin
237 of each line, the standard clef is still displayed, but the cue clef is
238 shown after the time/key signature in smaller size.
240 vI = \relative c'' { \clef "treble" \repeat unfold 40 g4 }
241 \addQuote vIQuote { \vI }
245 \cueDuringWithClef #"vIQuote" #DOWN #"treble" { R1 } |
246 c4 \cueDuringWithClef #"vIQuote" #DOWN #"treble" {
250 \cueDuringWithClef #"vIQuote" #DOWN "soprano" { R1*2 \break R1 } |
256 \new Staff \new Voice \Solo
263 Note names can be selected with a new
264 @code{@bs{}language "italiano"} command, which
265 can be used in safe mode. The old
266 @code{@bs{}include "italiano.ly"} syntax is
267 still supported for now, but will be deprecated
271 autobeaming is now disabled by @code{\cadenzaOn} and enabled by
272 @code{\cadenzaOff}. Beaming in cadenzas should be indicated manually.
273 Also, if a cadenza is used in a piece with autobeaming disabled, it
274 will need to be disabled again after the cadenza.
277 The user is now able to specify the name of the predefined fretboard
278 table. This allows the use of multiple tables, with switching between them
282 The part-combiner's decision to combine/not combine notes can now be customized
283 @lilypond[quote,relative=2]
285 \relative c' { c2 \partcombineApart c | \partcombineChordsOnce e' e }
286 \relative c' { c2 \partcombineApart c | c c }
290 Tablature staves show fret numbers only by default. To get the
291 former style, @code{\tabFullNotation} is provided.
294 Funk-style and Walker-style shape notes have been added.
297 Rests will no longer keep a staff alive if @code{\RemoveEmptyStaffContext}
301 New option @code{-dinclude-settings=INCLUDEFILE.ly}, which causes lilypond
302 to include the given file before the score is processed. This allows the
303 user to change global settings without the need to change the score itself.
304 That way, several different editions/version (e.g. different page sizes)
305 can be generated from a file without having to modify the score for each
309 The autobeaming settings syntax has been changed. beatLength,
310 beatGrouping, beamSettings, and measureGrouping have all been eliminated.
311 Autobeaming is now controlled by baseMoment, beatStructure, and
312 beamExceptions. Default settings for each of these properties can be
313 stored for any time signature in time-signature-settings, so that
314 when the time signature is changed, the autobeaming will automatically
315 change. The new syntax should be much easier and require fewer
319 The SVG backend has optional support for
320 @uref{http://www.w3.org/Submission/WOFF, WOFF fonts}. Using the Scheme
321 option @code{-d svg-woff} together with the SVG backend selection
322 @code{-d backend=svg}, produces SVG output with CSS WOFF font selection.
325 The LilyPond G clef has been rotated 1.5 degrees clockwise for improved
326 balance. The old and new versions can be compared by looking at the
328 @uref{http://lilypond.org/doc/v2.12/Documentation/user/lilypond/The-Feta-font.html#Clef-glyphs,
330 @uref{http://lilypond.org/doc/v2.13/Documentation/notation/the-feta-font.html#Clef-glyphs,
335 Text crescendo spanners can now be added directly using @code{\cresc},
336 @code{\dim} and @code{\decresc}.
337 @lilypond[quote,relative=2]
344 The documented syntax of @samp{lilypond} environments in the @LaTeX{}
345 mode of @command{lilypond-book} has been changed to conform with
346 standard @LaTeX{} syntax: options now come after the environment name:
348 \begin@{lilypond@}[@var{options}] @dots{}
351 The previous syntax with options after @samp{\begin} is still accepted
352 by @command{lilypond-book} but deprecated. Something like
354 sed -i '/begin\[/s/begin\(\[[^]]*]\)\(@{lilypond@}\)/begin\2\1/'
357 might do the trick for conversion.
360 Aesthetics of shape note heads have been enhanced. Variable line thicknesses
361 have been implemented. All note widths have been made consistent.
362 Minor shape note commands that use the relative major key for scale steps
366 A variant of the Segno sign is provided:
367 @lilypond[quote,relative=2]
373 Context modifications (@code{\with} blocks) can be stored in variables and
374 inserted into contexts or other @code{\with} blocks:
375 @lilypond[quote,verbatim]
376 coloredheads = \with { \override NoteHead #'color = #red }
377 noclef = \with { \remove "Clef_engraver" }
380 \new Voice \with { \coloredheads } \relative c' { c4 e g c }
392 A half-open articulation was added:
393 @lilypond[quote,relative=2]
396 This is sometimes used to indicate half-open hi-hats.
399 The Unicode Bidirectional Algorithm is now fully supported for
400 single-line markup due to enhanced integration with Pango.
403 LilyPond is now licensed under the GNU GPL v3+.
406 In tablature, frets can be indicated with labels other than numbers:
408 @lilypond[verbatim,quote,relative=1]
411 stringTunings = #`(,(ly:make-pitch 1 3 NATURAL)
412 ,(ly:make-pitch 1 1 NATURAL)
413 ,(ly:make-pitch 0 5 NATURAL)
414 ,(ly:make-pitch 0 3 NATURAL)
415 ,(ly:make-pitch 0 1 NATURAL)
416 ,(ly:make-pitch -1 5 NATURAL))
417 tablatureFormat = #fret-letter-tablature-format
420 \set fretLabels = #`(,(markup #:with-color red "a")
422 ,(markup #:italic #:smaller "c"))
423 <f d>4. <bes>8 <g e>4
428 Layout objects can be printed over a white background, which whites-out objects
429 in lower layers which lie beneath:
431 @lilypond[verbatim,quote,relative=1]
433 \override Staff.StaffSymbol #'layer = #4
434 \once \override Tie #'layer = #2
436 \once \override Staff.TimeSignature #'whiteout = ##t
437 \once \override Staff.TimeSignature #'layer = #3
443 Chords can be repeated using the @code{q} shortcut:
445 @lilypond[verbatim,quote,relative=2]
450 With two-sided mode, margins for odd and even pages can be set using
451 @code{inner-margin} and @code{outer-margin}:
456 inner-margin = 10 \mm
457 outer-margin = 20 \mm
462 Paper margin defaults, as specified in @file{ly/paper@/-defaults-init.ly}, apply
463 to the default paper size (a4) and are automatically scaled according to the
467 All combinations of @code{left-margin}, @code{right-margin} and
468 @code{line-width} work now. There is no more need to set @code{line-width}
469 manually unless you explicitly want to.
472 Support for using an alternative music font, such as Gonville, is now
476 In addition to the existing @code{\hspace} markup command,
477 a new @code{\vspace} command has been added to provide an easy
478 and flexible way to add vertical space in markups.
481 The direction of manual beams can be set with @code{^[} and @code{_[}.
484 A version of the breve note head has been added with two vertical lines on each side.
485 @lilypond[quote,relative=2]
487 \override Staff.NoteHead #'style = #'altdefault
492 Instrument names and vocal names now take into account the extent of
493 system start delimiters in other staves for their positioning,
494 resulting in improved default alignment for left-, center- and
496 @lilypond[quote,indent=18\mm]
501 \set Staff.instrumentName = #"Piccolo"
505 \set Staff.instrumentName = #"Flute"
510 \set Staff.instrumentName = #"Bassoon"
516 \set PianoStaff.instrumentName = #"Piano"
517 \context Staff = "up" {
520 \context Staff = "down" {
529 Braces in markup can now be selected by point size using the markup commands
530 @code{\left-brace} and @code{\right-brace}.
540 Intermediate .ps files which are created by LilyPond
541 during compilation are now deleted by default. To keep them,
542 add the following line to your input files:
544 #(ly:set-option 'delete-intermediate-files #f)
548 Dashed and dotted slurs, phrasing slurs, and ties
549 have been made variable thickness, and
550 partially dashed slurs are now available:
551 @lilypond[quote,relative=2]
561 An eyeglasses markup was added, indicating strongly to look at the
562 conductor for instructions:
563 @lilypond[quote,relative=2]
564 \mark \markup { \eyeglasses }
565 c4_\markup { \eyeglasses }
569 A snap-pizzicato (also known as Bartok-pizzicato) articulation was added:
570 @lilypond[quote,relative=2]
575 Tuplet number formatting functions are now available to print other fractions
576 and to add notes to the number or fraction:
577 @lilypond[quote,relative=2]
578 \once \override TupletNumber #'text =
579 #(tuplet-number::non-default-tuplet-denominator-text 7)
580 \times 2/3 { c4. c4. c4. c4. }
582 \once \override TupletNumber #'text =
583 #(tuplet-number::non-default-tuplet-fraction-text 12 7)
584 \times 2/3 { c4. c4. c4. c4. }
585 \once \override TupletNumber #'text =
586 #(tuplet-number::append-note-wrapper
587 (tuplet-number::non-default-tuplet-fraction-text 12 7) "8")
588 \times 2/3 { c4. c4. c4. c4. }
590 \once \override TupletNumber #'text =
591 #(tuplet-number::append-note-wrapper tuplet-number::calc-denominator-text "4")
592 \times 2/3 { c8 c8 c8 c8 c8 c8 }
593 \once \override TupletNumber #'text =
594 #(tuplet-number::append-note-wrapper tuplet-number::calc-fraction-text "4")
595 \times 2/3 { c8 c8 c8 c8 c8 c8 }
597 \once \override TupletNumber #'text =
598 #(tuplet-number::fraction-with-notes "4." "8")
599 \times 2/3 { c4. c4. c4. c4. }
600 \once \override TupletNumber #'text =
601 #(tuplet-number::non-default-fraction-with-notes 12 "8" 4 "4")
602 \times 2/3 { c4. c4. c4. c4. }
606 FretBoards now have a chordChanges property to keep repeated FretBoard objects
610 The vertical spacing engine has been drastically changed, making
611 it more flexible and easier to control.
612 The spacing between staves within a system can now change
613 to better use the space on the page.
614 User-defined contexts may participate in this flexible spacing,
615 depending on how their @code{staff-affinity} is defined.
616 Some page formatting variables (@code{page-top-space},
617 @code{between-system-space -padding}, and
618 @code{before- between- after-title-space}) have been replaced
619 by flexible vertical dimensions.
626 For older news, go to
627 @uref{http://lilypond.org/doc/v2.12/Documentation/topdocs/NEWS.html},
628 @uref{http://lilypond.org/doc/v2.10/Documentation/topdocs/NEWS.html},
629 or @uref{../,go back} to the Documentation index.