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 The Articulate script by Peter Chubb, which is GPLv3 licensed, is now
66 a part of the distribution. It allows easy generation of improved
67 MIDI files that perform non-legato by default, legato slurs, staccato,
68 tempo markings, trills, etc.
71 \include "articulate.ly"
73 all the rest of the score...
78 Single beat repeats for sixteenth or shorter notes and beat repeats for
79 measures containing notes of varying durations are now supported.
81 @lilypond[fragment,relative=2]
82 \repeat percent 2 { c16 d }
83 \repeat percent 2 { c32 e }
84 \repeat percent 2 { c64 f }
85 \repeat percent 2 { c128 g' }
90 Lilypond now engraves woodwind fingering charts.
96 \woodwind-diagram #'bassoon #'((lh . (thumb-cis))
97 (cc . (one two three five six))
101 \woodwind-diagram #'oboe #'((rh . (c))
103 (cc . (one two three four five six)))
110 MIDI output has been improved
112 @item voices are kept separated, which makes the MIDI much more useful for postprocessing
113 @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.
114 @item dynamics are now rendered as note velocities, no longer as midi dynamics. This improves the sound on [high end] midi renderers.
118 MIDI-import through Midi2ly is improved
120 @item Midi2ly now also works on Windows systems
121 @item MIDI-files with more than 32 tracks are now handled
122 @item notes on certain simultaneous voices no longer ignored
123 @item notes overrunning a bar line are no longer truncated
124 @item initial key signature and time signature are respected
125 @item a problem with octaves in subsequent tracks/voices is fixed
126 @item initial support for multiple voices notated on one staff
127 @item the instrumentName is set from track data
128 @item new --skip option, rests are displayed by default
129 @item rests overrunning a bar line are not truncated
130 @item new --include-header option for setting titles
131 @item new --preview option for big MIDI-files
133 The first feature was sponsored by Valentin Villenave,
134 the other features were sponsored by Image-Line Software for FL Studio.
137 A new @code{Completion_rest_engraver} is available for automatically
138 converting long rests which overrun bar lines, matching the
139 @code{Completion_heads_engraver} for notes
144 \remove "Note_heads_engraver"
145 \consists "Completion_heads_engraver"
146 \remove "Rest_engraver"
147 \consists "Completion_rest_engraver"
151 This feature was sponsored by Image-Line Software for FL Studio.
154 Dots can be added to the table of contents items using:
157 tocItemMarkup = \tocItemWithDotsMarkup
162 New markup commands @code{\pattern} and @code{\fill-with-pattern} are available.
165 \pattern #3 #Y #0.3 \flat
167 \pattern #7 #X #2 \flat
168 \override #'(line-width . 40) \fill-with-pattern #1 #CENTER . left right
173 A minimal composer toolkit of modal transformations is provided.
174 A motif may be @notation{transposed}, @notation{inverted} and/or
175 converted to its @notation{retrograde} within any scale.
178 pentatonicScale = \relative a' { a c d f g }
179 motif = \relative c'' { d8 c f,4 <a f'> <a f'> }
186 \modalTranspose c a, \pentatonicScale \motif
187 \modalInversion d'' a' \pentatonicScale \motif
192 s4^"pentatonic scale"
203 Added minimal support for black mensural notation.
206 Enhanced support for obliqua shapes within white mensural ligatures.
209 \context MensuralStaff
213 \override NoteHead #'style = #'semipetrucci
215 \override NoteHead #'style = #'blackpetrucci
217 \revert NoteHead #'style
218 \override NoteHead #'ligature-flexa = ##t
219 \override NoteHead #'flexa-width = #3
222 \override NoteHead #'flexa-width = #5
225 \revert NoteHead #'style
232 Compound time signatures are now supported by the @code{\compoundMeter} command,
233 which can be used instead of @code{\time}:
237 \compoundMeter #'(3 1 8)
239 \compoundMeter #'((2 8) (5 8))
241 \compoundMeter #'((1 2 3 8) (1 4) (3 8))
242 c8 c c c c c c4 c8 c c
247 Lyrics above a staff must have their @code{staff-affinity} set to
248 @code{DOWN} or must have their @code{alignAboveContext} property
249 set in order to be properly aligned. For more information, see
250 @ruser{Placing lyrics vertically}.
253 @code{stringTunings} property values have changed from a list of
254 semitones above middle C to a list of LilyPond pitch values.
255 convert-ly will handle the change automatically where the value
256 of @code{stringTunings} is set to a Scheme constant value.
258 New commands @code{makeStringTuning} and @code{contextStringTuning}
259 allow the creation of string tunings in the form of a Lilypond
263 By using @code{\cueDuringWithClef}, cue notes can now also have their own
264 clef, which is correctly reset at the end of the cue notes. At the begin
265 of each line, the standard clef is still displayed, but the cue clef is
266 shown after the time/key signature in smaller size.
269 vI = \relative c'' { \clef "treble" \repeat unfold 40 g4 }
270 \addQuote vIQuote { \vI }
274 \cueDuringWithClef #"vIQuote" #DOWN #"treble" { R1 } |
275 c4 \cueDuringWithClef #"vIQuote" #DOWN #"treble" {
279 \cueDuringWithClef #"vIQuote" #DOWN "soprano" { R1*2 \break R1 } |
285 \new Staff \new Voice \Solo
292 Note names can be selected with a new
293 @code{@bs{}language "italiano"} command, which
294 can be used in safe mode. The old
295 @code{@bs{}include "italiano.ly"} syntax is
296 still supported for now, but will be deprecated
300 autobeaming is now disabled by @code{\cadenzaOn} and enabled by
301 @code{\cadenzaOff}. Beaming in cadenzas should be indicated manually.
302 Also, if a cadenza is used in a piece with autobeaming disabled, it
303 will need to be disabled again after the cadenza.
306 The user is now able to specify the name of the predefined fretboard
307 table. This allows the use of multiple tables, with switching between them
311 The part-combiner's decision to combine/not combine notes can now be customized
313 @lilypond[quote,relative=2]
315 \relative c' { c2 \partcombineApart c | \partcombineChordsOnce e' e }
316 \relative c' { c2 \partcombineApart c | c c }
320 Tablature staves show fret numbers only by default. To get the
321 former style, @code{\tabFullNotation} is provided.
324 Funk-style and Walker-style shape notes have been added.
327 Rests will no longer keep a staff alive if @code{\RemoveEmptyStaffContext}
331 New option @code{-dinclude-settings=INCLUDEFILE.ly}, which causes lilypond
332 to include the given file before the score is processed. This allows the
333 user to change global settings without the need to change the score itself.
334 That way, several different editions/version (e.g. different page sizes)
335 can be generated from a file without having to modify the score for each
339 The autobeaming settings syntax has been changed. beatLength,
340 beatGrouping, beamSettings, and measureGrouping have all been eliminated.
341 Autobeaming is now controlled by baseMoment, beatStructure, and
342 beamExceptions. Default settings for each of these properties can be
343 stored for any time signature in time-signature-settings, so that
344 when the time signature is changed, the autobeaming will automatically
345 change. The new syntax should be much easier and require fewer
349 The SVG backend has optional support for
350 @uref{http://www.w3.org/Submission/WOFF, WOFF fonts}. Using the Scheme
351 option @code{-d svg-woff} together with the SVG backend selection
352 @code{-d backend=svg}, produces SVG output with CSS WOFF font selection.
355 The LilyPond G clef has been rotated 1.5 degrees clockwise for improved
356 balance. The old and new versions can be compared by looking at the
358 @uref{http://lilypond.org/doc/v2.12/Documentation/user/lilypond/The-Feta-font.html#Clef-glyphs,
360 @uref{http://lilypond.org/doc/v2.13/Documentation/notation/the-feta-font.html#Clef-glyphs,
365 Text crescendo spanners can now be added directly using @code{\cresc},
366 @code{\dim} and @code{\decresc}.
367 @lilypond[quote,relative=2]
374 The documented syntax of @samp{lilypond} environments in the @LaTeX{}
375 mode of @command{lilypond-book} has been changed to conform with
376 standard @LaTeX{} syntax: options now come after the environment name:
378 \begin@{lilypond@}[@var{options}] @dots{}
381 The previous syntax with options after @samp{\begin} is still accepted
382 by @command{lilypond-book} but deprecated. Something like
384 sed -i '/begin\[/s/begin\(\[[^]]*]\)\(@{lilypond@}\)/begin\2\1/'
387 might do the trick for conversion.
390 Aesthetics of shape note heads have been enhanced. Variable line thicknesses
391 have been implemented. All note widths have been made consistent.
392 Minor shape note commands that use the relative major key for scale steps
396 A variant of the Segno sign is provided:
397 @lilypond[quote,relative=2]
403 Context modifications (@code{\with} blocks) can be stored in variables and
404 inserted into contexts or other @code{\with} blocks:
405 @lilypond[quote,verbatim]
406 coloredheads = \with { \override NoteHead #'color = #red }
407 noclef = \with { \remove "Clef_engraver" }
410 \new Voice \with { \coloredheads } \relative c' { c4 e g c }
422 A half-open articulation was added:
423 @lilypond[quote,relative=2]
426 This is sometimes used to indicate half-open hi-hats.
429 The Unicode Bidirectional Algorithm is now fully supported for
430 single-line markup due to enhanced integration with Pango.
433 LilyPond is now licensed under the GNU GPL v3+.
436 In tablature, frets can be indicated with labels other than numbers:
438 @lilypond[verbatim,quote,relative=1]
441 stringTunings = #`(,(ly:make-pitch 1 3 NATURAL)
442 ,(ly:make-pitch 1 1 NATURAL)
443 ,(ly:make-pitch 0 5 NATURAL)
444 ,(ly:make-pitch 0 3 NATURAL)
445 ,(ly:make-pitch 0 1 NATURAL)
446 ,(ly:make-pitch -1 5 NATURAL))
447 tablatureFormat = #fret-letter-tablature-format
450 \set fretLabels = #`(,(markup #:with-color red "a")
452 ,(markup #:italic #:smaller "c"))
453 <f d>4. <bes>8 <g e>4
458 Layout objects can be printed over a white background, which whites-out objects
459 in lower layers which lie beneath:
461 @lilypond[verbatim,quote,relative=1]
463 \override Staff.StaffSymbol #'layer = #4
464 \once \override Tie #'layer = #2
466 \once \override Staff.TimeSignature #'whiteout = ##t
467 \once \override Staff.TimeSignature #'layer = #3
473 Chords can be repeated using the @code{q} shortcut:
475 @lilypond[verbatim,quote,relative=2]
480 With two-sided mode, margins for odd and even pages can be set using
481 @code{inner-margin} and @code{outer-margin}:
486 inner-margin = 10 \mm
487 outer-margin = 20 \mm
492 Paper margin defaults, as specified in @file{ly/paper@/-defaults-init.ly}, apply
493 to the default paper size (a4) and are automatically scaled according to the
497 All combinations of @code{left-margin}, @code{right-margin} and
498 @code{line-width} work now. There is no more need to set @code{line-width}
499 manually unless you explicitly want to.
502 Support for using an alternative music font, such as Gonville, is now
506 In addition to the existing @code{\hspace} markup command,
507 a new @code{\vspace} command has been added to provide an easy
508 and flexible way to add vertical space in markups.
511 The direction of manual beams can be set with @code{^[} and @code{_[}.
514 A version of the breve note head has been added with two vertical lines on each side.
515 @lilypond[quote,relative=2]
517 \override Staff.NoteHead #'style = #'altdefault
522 Instrument names and vocal names now take into account the extent of
523 system start delimiters in other staves for their positioning,
524 resulting in improved default alignment for left-, center- and
526 @lilypond[quote,indent=18\mm]
531 \set Staff.instrumentName = #"Piccolo"
535 \set Staff.instrumentName = #"Flute"
540 \set Staff.instrumentName = #"Bassoon"
546 \set PianoStaff.instrumentName = #"Piano"
547 \context Staff = "up" {
550 \context Staff = "down" {
559 Braces in markup can now be selected by point size using the markup commands
560 @code{\left-brace} and @code{\right-brace}.
570 Intermediate .ps files which are created by LilyPond
571 during compilation are now deleted by default. To keep them,
572 add the following line to your input files:
574 #(ly:set-option 'delete-intermediate-files #f)
578 Dashed and dotted slurs, phrasing slurs, and ties
579 have been made variable thickness, and
580 partially dashed slurs are now available:
581 @lilypond[quote,relative=2]
591 An eyeglasses markup was added, indicating strongly to look at the
592 conductor for instructions:
593 @lilypond[quote,relative=2]
594 \mark \markup { \eyeglasses }
595 c4_\markup { \eyeglasses }
599 A snap-pizzicato (also known as Bartok-pizzicato) articulation was added:
600 @lilypond[quote,relative=2]
605 Tuplet number formatting functions are now available to print other fractions
606 and to add notes to the number or fraction:
607 @lilypond[quote,relative=2]
608 \once \override TupletNumber #'text =
609 #(tuplet-number::non-default-tuplet-denominator-text 7)
610 \times 2/3 { c4. c4. c4. c4. }
612 \once \override TupletNumber #'text =
613 #(tuplet-number::non-default-tuplet-fraction-text 12 7)
614 \times 2/3 { c4. c4. c4. c4. }
615 \once \override TupletNumber #'text =
616 #(tuplet-number::append-note-wrapper
617 (tuplet-number::non-default-tuplet-fraction-text 12 7) "8")
618 \times 2/3 { c4. c4. c4. c4. }
620 \once \override TupletNumber #'text =
621 #(tuplet-number::append-note-wrapper tuplet-number::calc-denominator-text "4")
622 \times 2/3 { c8 c8 c8 c8 c8 c8 }
623 \once \override TupletNumber #'text =
624 #(tuplet-number::append-note-wrapper tuplet-number::calc-fraction-text "4")
625 \times 2/3 { c8 c8 c8 c8 c8 c8 }
627 \once \override TupletNumber #'text =
628 #(tuplet-number::fraction-with-notes "4." "8")
629 \times 2/3 { c4. c4. c4. c4. }
630 \once \override TupletNumber #'text =
631 #(tuplet-number::non-default-fraction-with-notes 12 "8" 4 "4")
632 \times 2/3 { c4. c4. c4. c4. }
636 FretBoards now have a chordChanges property to keep repeated FretBoard objects
640 The vertical spacing engine has been drastically changed, making
641 it more flexible and easier to control.
642 The spacing between staves within a system can now change
643 to better use the space on the page.
644 User-defined contexts may participate in this flexible spacing,
645 depending on how their @code{staff-affinity} is defined.
646 Some page formatting variables (@code{page-top-space},
647 @code{between-system-space -padding}, and
648 @code{before- between- after-title-space}) have been replaced
649 by flexible vertical dimensions.
656 For older news, go to
657 @uref{http://lilypond.org/doc/v2.12/Documentation/topdocs/NEWS.html},
658 @uref{http://lilypond.org/doc/v2.10/Documentation/topdocs/NEWS.html},
659 or @uref{../,go back} to the Documentation index.