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.18 since 2.16
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 @samp{-d old-relative} option has been removed. Not actually
66 accessible from the command line any more, its remaining use was
67 for interpretating @code{\relative} in LilyPond files converted
68 automatically from version@tie{}1.8 or older. It is unclear how
69 much of this was actually still operative.
72 The meaning of @code{instrumentTransposition} has been reversed.
75 \set instrumentTransposition = #@{ b #@}
77 a written @code{c'} now sounds like @code{b}. Previously, this
78 would have been the other way round. This and the following change
79 should make dealing with transposing instruments more
83 The music generated by @code{\set} and @code{\override} commands
84 is no longer affected by @code{\transpose}. The main consequence
85 is that @code{\transpose} will transpose audible/@/concert pitch and
86 printed pitch by the same amount even when the transposed music
87 contains @code{\transposition}. Previously,
89 \transpose c' f' \transposition bes'
91 was equivalent to @code{\transposition f'}. Now it stays
92 equivalent to @code{\transposition bes'}.
95 Tuplets are now created with the @code{\tuplet} command, which
96 takes a fraction @code{@var{t}/@var{n}} to specify that @var{t}
97 notes are played in the time usually allowed for @var{n}. One
98 @code{\tuplet} command can create several tuplet groups if their
99 duration is typed after the fraction.
100 @lilypond[quote,verbatim,relative=2]
101 \tuplet 3/2 { c8 d e } \tuplet 3/2 { f e d } c2
102 \tuplet 3/2 4 { c8 d e f e d } c2
104 The @code{\times} command with its inverted fraction order
105 @code{@var{n}/@var{t}} is still available.
108 Introducing two new markup-commands; @code{\draw-dashed-line} and
109 @code{\draw-dotted-line}.
112 The dashed-line extends to the whole length given by @var{dest}, if
113 @code{full-length} is set to @code{#t} (this is the default) without any
114 space at the beginning or end. @code{off} will then be altered to fit.
115 To insist on the given (or default) values of @code{on}, @code{off} use
116 @code{\override #'(full-length . #f)}. Manual settings for @code{on},
117 @code{off} and @code{phase} are possible.
120 The dotted-line always extends to the whole length given by @var{dest},
121 without any space at the beginning or end. Manual settings for
122 @code{off} are possible to get larger or smaller space between the dots.
123 The given (or default) value of @code{off} will be altered to fit the
126 @lilypond[verbatim,quote]
128 \draw-dashed-line #'(5.1 . 2.3)
129 \override #'(on . 0.3)
130 \override #'(off . 0.5)
131 \draw-dashed-line #'(5.1 . 2.3)
132 \draw-dotted-line #'(5.1 . 2.3)
133 \override #'(thickness . 2)
134 \override #'(off . 0.2)
135 \draw-dotted-line #'(5.1 . 2.3)
140 Starting with version@tie{}2.17.10, error messages or the
141 @code{textedit} @acronym{URI} used for point-and-click
142 functionality specify column numbers starting with@tie{}1 rather
143 than@tie{}0. The byte offset (also part of @code{textedit}
144 @acronym{URI}s) still starts at@tie{}0.
147 The @code{\clef} command supports optional octavation:
148 @lilypond[verbatim,quote,relative=1]
156 The LilyPond syntax of dot-separated words @code{Voice.Accidental}
157 has been made interchangeable with @code{#'(Voice Accidental)}, a
158 Scheme list of symbols. As one result, code like
160 \override Voice.TextSpanner #'(bound-details left text) = "rit."
164 \override Voice.TextSpanner bound-details.left.text = "rit."
168 \override #'(Voice TextSpanner) bound-details.left.text = "rit."
172 Grob and grob property path no longer need to be specified as two
173 separate arguments to commands like @samp{\override} and
174 @code{\revert}, allowing for the syntax
176 \override Voice.TextSpanner.bound-details.left.text = "rit."
178 Since complementary music functions like @samp{\overrideProperty}
179 cannot support forms with and without separating space at the same
180 time, using a single dotted path is now the preferred form.
181 Specifying grob path and grob property path separately, currently
182 still supported with @samp{\override} and @samp{\revert} for
183 compatibility reasons, is deprecated.
186 Due to words now being accepted as symbol function arguments, the
187 interfaces of @samp{\accidentalStyle}, @samp{\alterBroken},
188 @samp{\footnote} and @samp{\tweak} had to be redesigned where
189 optional symbol arguments were involved. Please check the
190 respective music function documentation for details.
193 Several commands now accept symbol lists (conveniently entered as
194 dot-separated words) for various kinds of arguments. These
195 include @samp{\accidentalStyle}, @samp{\alterBroken},
196 @samp{\footnote}, @samp{\hide}, @samp{\omit},
197 @samp{\overrideProperty}, @samp{\shape}, and @samp{\tweak}.
200 The bar line user interface has changed. Bar glyphs now resemble the
201 appearance of the bar line, so a left repeat sign has to be coded
202 as @code{.|:}. The command @code{\defineBarLine} provides an easy way
203 to define additional bar line styles.
206 Accidentals in the key signature may be printed in octaves other
207 than their traditional positions, or in multiple octaves.
208 @lilypond[quote,relative=0]
209 \override Staff.KeySignature #'flat-positions = #'((-5 . 5))
210 \override Staff.KeyCancellation #'flat-positions = #'((-5 . 5))
211 \clef bass \key es\major es g bes d
212 \clef treble \bar "||" \key es\major es g bes d
213 \override Staff.KeySignature #'sharp-positions = #'(2)
214 \bar "||" \key d\major b fis b2
220 For older news, go to
221 @uref{http://lilypond.org/doc/v2.16/Documentation/changes/},
222 @uref{http://lilypond.org/doc/v2.14/Documentation/changes/},
223 or @uref{../,go back} to the Documentation index.