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