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 Single beat repeats for sixteenth or shorter notes and beat repeats for
66 measures containing notes of varying durations are now supported.
68 @lilypond[fragment,relative=2]
69 \repeat percent 2 { c16 d }
70 \repeat percent 2 { c32 e }
71 \repeat percent 2 { c64 f }
72 \repeat percent 2 { c128 g' }
77 Lilypond now engraves woodwind fingering charts.
83 \woodwind-diagram #'bassoon #'((lh . (thumb-cis))
84 (cc . (one two three five six))
88 \woodwind-diagram #'oboe #'((rh . (c))
90 (cc . (one two three four five six)))
97 MIDI output has been improved
99 @item voices are kept separated, which makes the MIDI much more useful for postprocessing
100 @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.
101 @item dynamics are now rendered as note velocities, no longer as midi dynamics. This improves the sound on [high end] midi renderers.
105 MIDI-import through Midi2ly is improved
107 @item Midi2ly now also works on Windows systems
108 @item MIDI-files with more than 32 tracks are now handled
109 @item notes on certain simultaneous voices no longer ignored
110 @item notes overrunning a bar line are no longer truncated
111 @item initial key signature and time signature are respected
112 @item a problem with octaves in subsequent tracks/voices is fixed
113 @item initial support for multiple voices notated on one staff
114 @item the instrumentName is set from track data
115 @item new --skip option, rests are displayed by default
116 @item rests overrunning a bar line are not truncated
117 @item new --include-header option for setting titles
118 @item new --preview option for big MIDI-files
120 The first feature was sponsored by Valentin Villenave,
121 the other features were sponsored by Image-Line Software for FL Studio.
124 A new @code{Completion_rest_engraver} is available for automatically
125 converting long rests which overrun bar lines, matching the
126 @code{Completion_heads_engraver} for notes
131 \remove "Note_heads_engraver"
132 \consists "Completion_heads_engraver"
133 \remove "Rest_engraver"
134 \consists "Completion_rest_engraver"
138 This feature was sponsored by Image-Line Software for FL Studio.
141 Dots can be added to the table of contents items using:
144 tocItemMarkup = \tocItemWithDotsMarkup
149 New markup commands @code{\pattern} and @code{\fill-with-pattern} are available.
152 \pattern #3 #Y #0.3 \flat
154 \pattern #7 #X #2 \flat
155 \override #'(line-width . 40) \fill-with-pattern #1 #CENTER . left right
160 A minimal composer toolkit of modal transformations is provided.
161 A motif may be @notation{transposed}, @notation{inverted} and/or
162 converted to its @notation{retrograde} within any scale.
165 pentatonicScale = \relative a' { a c d f g }
166 motif = \relative c'' { d8 c f,4 <a f'> <a f'> }
173 \modalTranspose c a, \pentatonicScale \motif
174 \modalInversion d'' a' \pentatonicScale \motif
179 s4^"pentatonic scale"
190 Added minimal support for black mensural notation.
193 Enhanced support for obliqua shapes within white mensural ligatures.
196 \context MensuralStaff
200 \override NoteHead #'style = #'semipetrucci
202 \override NoteHead #'style = #'blackpetrucci
204 \revert NoteHead #'style
205 \override NoteHead #'ligature-flexa = ##t
206 \override NoteHead #'flexa-width = #3
209 \override NoteHead #'flexa-width = #5
212 \revert NoteHead #'style
219 Compound time signatures are now supported by the @code{\compoundMeter} command,
220 which can be used instead of @code{\time}:
224 \compoundMeter #'(3 1 8)
226 \compoundMeter #'((2 8) (5 8))
228 \compoundMeter #'((1 2 3 8) (1 4) (3 8))
229 c8 c c c c c c4 c8 c c
234 Lyrics above a staff must have their @code{staff-affinity} set to
235 @code{DOWN} or must have their @code{alignAboveContext} property
236 set in order to be properly aligned. For more information, see
237 @ruser{Placing lyrics vertically}.
240 @code{stringTunings} property values have changed from a list of
241 semitones above middle C to a list of LilyPond pitch values.
242 convert-ly will handle the change automatically where the value
243 of @code{stringTunings} is set to a Scheme constant value.
245 New commands @code{makeStringTuning} and @code{contextStringTuning}
246 allow the creation of string tunings in the form of a Lilypond
250 By using @code{\cueDuringWithClef}, cue notes can now also have their own
251 clef, which is correctly reset at the end of the cue notes. At the begin
252 of each line, the standard clef is still displayed, but the cue clef is
253 shown after the time/key signature in smaller size.
256 vI = \relative c'' { \clef "treble" \repeat unfold 40 g4 }
257 \addQuote vIQuote { \vI }
261 \cueDuringWithClef #"vIQuote" #DOWN #"treble" { R1 } |
262 c4 \cueDuringWithClef #"vIQuote" #DOWN #"treble" {
266 \cueDuringWithClef #"vIQuote" #DOWN "soprano" { R1*2 \break R1 } |
272 \new Staff \new Voice \Solo
279 Note names can be selected with a new
280 @code{@bs{}language "italiano"} command, which
281 can be used in safe mode. The old
282 @code{@bs{}include "italiano.ly"} syntax is
283 still supported for now, but will be deprecated
287 autobeaming is now disabled by @code{\cadenzaOn} and enabled by
288 @code{\cadenzaOff}. Beaming in cadenzas should be indicated manually.
289 Also, if a cadenza is used in a piece with autobeaming disabled, it
290 will need to be disabled again after the cadenza.
293 The user is now able to specify the name of the predefined fretboard
294 table. This allows the use of multiple tables, with switching between them
298 The part-combiner's decision to combine/not combine notes can now be customized
300 @lilypond[quote,relative=2]
302 \relative c' { c2 \partcombineApart c | \partcombineChordsOnce e' e }
303 \relative c' { c2 \partcombineApart c | c c }
307 Tablature staves show fret numbers only by default. To get the
308 former style, @code{\tabFullNotation} is provided.
311 Funk-style and Walker-style shape notes have been added.
314 Rests will no longer keep a staff alive if @code{\RemoveEmptyStaffContext}
318 New option @code{-dinclude-settings=INCLUDEFILE.ly}, which causes lilypond
319 to include the given file before the score is processed. This allows the
320 user to change global settings without the need to change the score itself.
321 That way, several different editions/version (e.g. different page sizes)
322 can be generated from a file without having to modify the score for each
326 The autobeaming settings syntax has been changed. beatLength,
327 beatGrouping, beamSettings, and measureGrouping have all been eliminated.
328 Autobeaming is now controlled by baseMoment, beatStructure, and
329 beamExceptions. Default settings for each of these properties can be
330 stored for any time signature in time-signature-settings, so that
331 when the time signature is changed, the autobeaming will automatically
332 change. The new syntax should be much easier and require fewer
336 The SVG backend has optional support for
337 @uref{http://www.w3.org/Submission/WOFF, WOFF fonts}. Using the Scheme
338 option @code{-d svg-woff} together with the SVG backend selection
339 @code{-d backend=svg}, produces SVG output with CSS WOFF font selection.
342 The LilyPond G clef has been rotated 1.5 degrees clockwise for improved
343 balance. The old and new versions can be compared by looking at the
345 @uref{http://lilypond.org/doc/v2.12/Documentation/user/lilypond/The-Feta-font.html#Clef-glyphs,
347 @uref{http://lilypond.org/doc/v2.13/Documentation/notation/the-feta-font.html#Clef-glyphs,
352 Text crescendo spanners can now be added directly using @code{\cresc},
353 @code{\dim} and @code{\decresc}.
354 @lilypond[quote,relative=2]
361 The documented syntax of @samp{lilypond} environments in the @LaTeX{}
362 mode of @command{lilypond-book} has been changed to conform with
363 standard @LaTeX{} syntax: options now come after the environment name:
365 \begin@{lilypond@}[@var{options}] @dots{}
368 The previous syntax with options after @samp{\begin} is still accepted
369 by @command{lilypond-book} but deprecated. Something like
371 sed -i '/begin\[/s/begin\(\[[^]]*]\)\(@{lilypond@}\)/begin\2\1/'
374 might do the trick for conversion.
377 Aesthetics of shape note heads have been enhanced. Variable line thicknesses
378 have been implemented. All note widths have been made consistent.
379 Minor shape note commands that use the relative major key for scale steps
383 A variant of the Segno sign is provided:
384 @lilypond[quote,relative=2]
390 Context modifications (@code{\with} blocks) can be stored in variables and
391 inserted into contexts or other @code{\with} blocks:
392 @lilypond[quote,verbatim]
393 coloredheads = \with { \override NoteHead #'color = #red }
394 noclef = \with { \remove "Clef_engraver" }
397 \new Voice \with { \coloredheads } \relative c' { c4 e g c }
409 A half-open articulation was added:
410 @lilypond[quote,relative=2]
413 This is sometimes used to indicate half-open hi-hats.
416 The Unicode Bidirectional Algorithm is now fully supported for
417 single-line markup due to enhanced integration with Pango.
420 LilyPond is now licensed under the GNU GPL v3+.
423 In tablature, frets can be indicated with labels other than numbers:
425 @lilypond[verbatim,quote,relative=1]
428 stringTunings = #`(,(ly:make-pitch 1 3 NATURAL)
429 ,(ly:make-pitch 1 1 NATURAL)
430 ,(ly:make-pitch 0 5 NATURAL)
431 ,(ly:make-pitch 0 3 NATURAL)
432 ,(ly:make-pitch 0 1 NATURAL)
433 ,(ly:make-pitch -1 5 NATURAL))
434 tablatureFormat = #fret-letter-tablature-format
437 \set fretLabels = #`(,(markup #:with-color red "a")
439 ,(markup #:italic #:smaller "c"))
440 <f d>4. <bes>8 <g e>4
445 Layout objects can be printed over a white background, which whites-out objects
446 in lower layers which lie beneath:
448 @lilypond[verbatim,quote,relative=1]
450 \override Staff.StaffSymbol #'layer = #4
451 \once \override Tie #'layer = #2
453 \once \override Staff.TimeSignature #'whiteout = ##t
454 \once \override Staff.TimeSignature #'layer = #3
460 Chords can be repeated using the @code{q} shortcut:
462 @lilypond[verbatim,quote,relative=2]
467 With two-sided mode, margins for odd and even pages can be set using
468 @code{inner-margin} and @code{outer-margin}:
473 inner-margin = 10 \mm
474 outer-margin = 20 \mm
479 Paper margin defaults, as specified in @file{ly/paper@/-defaults-init.ly}, apply
480 to the default paper size (a4) and are automatically scaled according to the
484 All combinations of @code{left-margin}, @code{right-margin} and
485 @code{line-width} work now. There is no more need to set @code{line-width}
486 manually unless you explicitly want to.
489 Support for using an alternative music font, such as Gonville, is now
493 In addition to the existing @code{\hspace} markup command,
494 a new @code{\vspace} command has been added to provide an easy
495 and flexible way to add vertical space in markups.
498 The direction of manual beams can be set with @code{^[} and @code{_[}.
501 A version of the breve note head has been added with two vertical lines on each side.
502 @lilypond[quote,relative=2]
504 \override Staff.NoteHead #'style = #'altdefault
509 Instrument names and vocal names now take into account the extent of
510 system start delimiters in other staves for their positioning,
511 resulting in improved default alignment for left-, center- and
513 @lilypond[quote,indent=18\mm]
518 \set Staff.instrumentName = #"Piccolo"
522 \set Staff.instrumentName = #"Flute"
527 \set Staff.instrumentName = #"Bassoon"
533 \set PianoStaff.instrumentName = #"Piano"
534 \context Staff = "up" {
537 \context Staff = "down" {
546 Braces in markup can now be selected by point size using the markup commands
547 @code{\left-brace} and @code{\right-brace}.
557 Intermediate .ps files which are created by LilyPond
558 during compilation are now deleted by default. To keep them,
559 add the following line to your input files:
561 #(ly:set-option 'delete-intermediate-files #f)
565 Dashed and dotted slurs, phrasing slurs, and ties
566 have been made variable thickness, and
567 partially dashed slurs are now available:
568 @lilypond[quote,relative=2]
578 An eyeglasses markup was added, indicating strongly to look at the
579 conductor for instructions:
580 @lilypond[quote,relative=2]
581 \mark \markup { \eyeglasses }
582 c4_\markup { \eyeglasses }
586 A snap-pizzicato (also known as Bartok-pizzicato) articulation was added:
587 @lilypond[quote,relative=2]
592 Tuplet number formatting functions are now available to print other fractions
593 and to add notes to the number or fraction:
594 @lilypond[quote,relative=2]
595 \once \override TupletNumber #'text =
596 #(tuplet-number::non-default-tuplet-denominator-text 7)
597 \times 2/3 { c4. c4. c4. c4. }
599 \once \override TupletNumber #'text =
600 #(tuplet-number::non-default-tuplet-fraction-text 12 7)
601 \times 2/3 { c4. c4. c4. c4. }
602 \once \override TupletNumber #'text =
603 #(tuplet-number::append-note-wrapper
604 (tuplet-number::non-default-tuplet-fraction-text 12 7) "8")
605 \times 2/3 { c4. c4. c4. c4. }
607 \once \override TupletNumber #'text =
608 #(tuplet-number::append-note-wrapper tuplet-number::calc-denominator-text "4")
609 \times 2/3 { c8 c8 c8 c8 c8 c8 }
610 \once \override TupletNumber #'text =
611 #(tuplet-number::append-note-wrapper tuplet-number::calc-fraction-text "4")
612 \times 2/3 { c8 c8 c8 c8 c8 c8 }
614 \once \override TupletNumber #'text =
615 #(tuplet-number::fraction-with-notes "4." "8")
616 \times 2/3 { c4. c4. c4. c4. }
617 \once \override TupletNumber #'text =
618 #(tuplet-number::non-default-fraction-with-notes 12 "8" 4 "4")
619 \times 2/3 { c4. c4. c4. c4. }
623 FretBoards now have a chordChanges property to keep repeated FretBoard objects
627 The vertical spacing engine has been drastically changed, making
628 it more flexible and easier to control.
629 The spacing between staves within a system can now change
630 to better use the space on the page.
631 User-defined contexts may participate in this flexible spacing,
632 depending on how their @code{staff-affinity} is defined.
633 Some page formatting variables (@code{page-top-space},
634 @code{between-system-space -padding}, and
635 @code{before- between- after-title-space}) have been replaced
636 by flexible vertical dimensions.
643 For older news, go to
644 @uref{http://lilypond.org/doc/v2.12/Documentation/topdocs/NEWS.html},
645 @uref{http://lilypond.org/doc/v2.10/Documentation/topdocs/NEWS.html},
646 or @uref{../,go back} to the Documentation index.