]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/changes.tely
Merge branch 'master' into translation
[lilypond.git] / Documentation / changes.tely
1 \input texinfo @c -*- coding: utf-8; mode: texinfo; -*-
2 @setfilename lilypond-changes.info
3 @settitle LilyPond Changes
4
5 @include macros.itexi
6
7 @ifhtml
8 @macro inputfileref{DIR,NAME}
9 @uref{../../\DIR\/collated-files.html#\NAME\,@file{\DIR\/\NAME\}}@c
10 @end macro
11 @macro usermanref{NAME}
12 @inforef{\NAME\,,../user/lilypond/lilypond}@c
13 @end macro
14 @end ifhtml
15
16 @ifnothtml
17 @macro inputfileref{DIR,NAME}
18 @file{\DIR\/\NAME\}@c
19 @end macro
20 @macro usermanref{NAME}
21 See user manual, \NAME\
22 @end macro
23 @end ifnothtml
24
25 @macro textanchor{NAME}
26 @html
27 <a name="\NAME\"></a>
28 @end html
29 @end macro
30
31
32 @documentencoding utf-8
33 @documentlanguage en
34 @afourpaper
35
36 @finalout
37
38 @node Top
39 @top New features in 2.18 since 2.16
40
41 @allowcodebreaks false
42
43 @itemize
44
45 @ignore
46
47 HINTS
48
49 * add new items at the top
50
51 * only show verbatim input for syntax/input changes
52
53 * try to be as brief possible in those cases
54
55 * don't try to provide real-world examples, they often get too big,
56 which scares away people.
57
58 * Write complete sentences.
59
60 * only show user-visible changes.
61
62 @end ignore
63
64 @item
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.
70
71 @item
72 The meaning of @code{instrumentTransposition} has been reversed.
73 After
74 @example
75 \set instrumentTransposition = #@{ b #@}
76 @end example
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
80 straightforward.
81
82 @item
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,
88 @example
89 \transpose c' f' \transposition bes'
90 @end example
91 was equivalent to @code{\transposition f'}.  Now it stays
92 equivalent to @code{\transposition bes'}.
93
94 @item
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
103 @end lilypond
104 The @code{\times} command with its inverted fraction order
105 @code{@var{n}/@var{t}} is still available.
106
107 @item
108 Introducing two new markup-commands; @code{\draw-dashed-line} and
109 @code{\draw-dotted-line}.
110
111 @noindent
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.
118
119 @noindent
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
124 line-length.
125
126 @lilypond[verbatim,quote]
127 \markup {
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)
136 }
137 @end lilypond
138
139 @item
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.
145
146 @item
147 The @code{\clef} command supports optional octavation:
148 @lilypond[verbatim,quote,relative=1]
149 \clef "treble_(8)"
150 c2 c
151 \clef "bass^[15]"
152 c2 c
153 @end lilypond
154
155 @item
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
159 @example
160 \override Voice.TextSpanner #'(bound-details left text) = "rit."
161 @end example
162 is now equivalent to
163 @example
164 \override Voice.TextSpanner bound-details.left.text = "rit."
165 @end example
166 or even
167 @example
168 \override #'(Voice TextSpanner) bound-details.left.text = "rit."
169 @end example
170
171 @item
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
175 @example
176 \override Voice.TextSpanner.bound-details.left.text = "rit."
177 @end example
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.
184
185 @item
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.
191
192 @item
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}.
198
199 @item
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.
204
205 @item
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
215 @end lilypond
216
217 @end itemize
218
219 @ifhtml
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.
224
225
226 @end ifhtml
227
228 @bye