]> 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 meaning of @code{instrumentTransposition} has been reversed.
66 After
67 @example
68 \set instrumentTransposition = #@{ b #@}
69 @end example
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
73 straightforward.
74
75 @item
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,
81 @example
82 \transpose c' f' \transposition bes'
83 @end example
84 was equivalent to @code{\transposition f'}.  Now it stays
85 equivalent to @code{\transposition bes'}.
86
87 @item
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
96 @end lilypond
97 The @code{\times} command with its inverted fraction order
98 @code{@var{n}/@var{t}} is still available.
99
100 @item
101 Introducing two new markup-commands; @code{\draw-dashed-line} and
102 @code{\draw-dotted-line}.
103
104 @noindent
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.
111
112 @noindent
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
117 line-length.
118
119 @lilypond[verbatim,quote]
120 \markup {
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)
129 }
130 @end lilypond
131
132 @item
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.
138
139 @item
140 The @code{\clef} command supports optional octavation:
141 @lilypond[verbatim,quote,relative=1]
142 \clef "treble_(8)"
143 c2 c
144 \clef "bass^[15]"
145 c2 c
146 @end lilypond
147
148 @item
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
152 @example
153 \override Voice.TextSpanner #'(bound-details left text) = "rit."
154 @end example
155 is now equivalent to
156 @example
157 \override Voice.TextSpanner bound-details.left.text = "rit."
158 @end example
159 or even
160 @example
161 \override #'(Voice TextSpanner) bound-details.left.text = "rit."
162 @end example
163
164 @item
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
168 @example
169 \override Voice.TextSpanner.bound-details.left.text = "rit."
170 @end example
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.
177
178 @item
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.
184
185 @item
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}.
191
192 @item
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.
197
198 @item
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
208 @end lilypond
209
210 @end itemize
211
212 @ifhtml
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.
217
218
219 @end ifhtml
220
221 @bye