]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/changes.tely
Doc-de: updates for notation manual
[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.16 since 2.14
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 Two alternative methods for bar numbering can be set, especially for
66 when using repeated music;
67
68 @lilypond[fragment,quote,relative=1,noragged-right]
69 \relative c'{
70   \set Score.alternativeNumberingStyle = #'numbers
71   \repeat volta 3 { c4 d e f | }
72     \alternative {
73       { c4 d e f | c2 d \break }
74       { f4 g a b | f4 g a b | f2 a | \break }
75       { c4 d e f | c2 d }
76     }
77   c1 \break
78   \set Score.alternativeNumberingStyle = #'numbers-with-letters
79   \repeat volta 3 { c,4 d e f | }
80     \alternative {
81       { c4 d e f | c2 d \break }
82       { f4 g a b | f4 g a b | f2 a | \break }
83       { c4 d e f | c2 d }
84     }
85   c1
86 }
87 @end lilypond
88
89 @item
90 Scheme expressions inside of embedded Lilypond (@code{#@{@dots{}#@}})
91 are now executed in lexical closure of the surrounding Scheme code.
92 @code{$} is no longer special in embedded Lilypond.  It can be used
93 unconditionally in Lilypond code for immediate evaluation, similar to
94 how @code{ly:export} could previously be used.  @code{ly:export} has
95 been removed.  As a consequence, @code{#} is now free to delay
96 evaluation of its argument until the parser actually reduces the
97 containing expression, greatly reducing the potential for premature
98 evaluation.
99
100 @item
101 Support for jazz-like chords has been improved: Lydian and altered
102 chords are recognised; separators between chord modifiers are now
103 treated independently of separators between ``slash'' chords and their
104 bass notes (and by default, slashes are now only used for the latter
105 type of separator); additional pitches are no longer prefixed with
106 ``add'' by default; and the ``m'' in minor chords can be customized.
107 @ruser{Customizing chord names} for more information.
108
109 @item
110 The @code{\markuplines} command has been renamed to @code{\markuplist}
111 for a better match with its semantics and general Lilypond
112 nomenclature.
113
114 @item
115 The interface for specifying string tunings in tablature has been
116 simplified considerably.
117
118 @item
119 Beams can now have their slopes preserved over line breaks.
120 @lilypond[fragment,quote,relative=2]
121 \override Beam #'breakable = ##t
122 a8[ b c d e f g \bar "" \break f e d c b a]
123 \once \override Beam #'positions = #beam::align-with-broken-parts
124 a8[ b c d e f g \bar "" \break f e d c b a]
125 \once \override Beam #'positions = #beam::slope-like-broken-parts
126 a8[ b c d e f g \bar "" \break f e d c b a]
127 @end lilypond
128 To do this, several callback functions are now deprecated.
129 @itemize
130 @item @code{ly:beam::calc-least-squares-positions}
131 @item @code{ly:beam::slope-damping}
132 @item @code{ly:beam::shift-region-to-valid}
133 @end itemize
134 Furthermore, @code{ly:beam::quanting} now takes an additional argument
135 to help calculations over line breaks.  All of these functions are now
136 automatically called when setting the @code{positions} parameter.
137
138 @item
139 In function arguments music, markups and Scheme expressions (as well
140 as several other syntactic entities) have become mostly
141 interchangeable and are told apart only by evaluating the respective
142 predicate.
143
144 @item
145 Music functions (and their close relatives) can now be defined with
146 optional arguments.
147
148 @item
149 For defining commands executed only for their side-effects,
150 @code{define-void-function} is now available.
151
152 @item
153 There is a new @code{define-event-function} command in analogy to
154 @code{define-music-function} that can be used for defining music
155 functions acting as events without requiring a direction specifier
156 (@code{-}, @code{^}, or @code{_}) placed before them.
157 @lilypond[quote,verbatim,ragged-right]
158 dyn=#(define-event-function (parser location arg) (markup?)
159          (make-dynamic-script arg))
160 \relative c' { c\dyn pfsss }
161 @end lilypond
162
163 @item
164 A list of ASCII aliases for special characters can be included.
165 @lilypond[quote,verbatim]
166 \paper {
167   #(include-special-characters)
168 }
169 \markup "&bull; &dagger; &copyright; &OE; &ss; &para;"
170 @end lilypond
171
172 @item
173 There is a new @code{define-scheme-function} command in analogy to
174 @code{define-music-function} that can be used to define functions
175 evaluating to Scheme expressions while accepting arguments in Lilypond
176 syntax.
177
178 @item
179 The construct @code{#@{ @dots{} #@}} can now be used not just for
180 constructing sequential music lists, but also for single music events,
181 void music expressions, post events, markups (mostly freeing users from
182 having to use the @code{markup} macro), markup lists, number
183 expressions, context definitions and modifications, and a few other
184 things.  If it encloses nothing or only a single music event, it no
185 longer returns a sequential music list but rather a void music
186 expression or just the music event itself, respectively.
187
188 @item
189 New command-line option @option{--loglevel=@var{level}} to control how much output
190 LilyPond creates. Possible values are ERROR, WARN, BASIC_PROGRESS, PROGRESS, DEBUG.
191
192 @item
193 @code{\set \once} now correctly resets the property value to the previous value.
194 @lilypond[fragment,quote,relative=2]
195   \set fingeringOrientations = #'(left)
196   <e-1>4
197   \once \set fingeringOrientations = #'(right)
198   <e-1>
199   <e-1>-"left"
200 @end lilypond
201
202 @item
203 The alignment of dynamic spanners (hairpins, text crescendo, etc.) is now
204 automatically broken if a different direction is explicitly given.
205 @lilypond[fragment,quote,relative=2]
206 c4_\< c c^\> c c1_\p
207 @end lilypond
208
209
210 @item
211 Appoggiaturas and acciaccaturas now also work inside a slur, not only inside
212 a phrasing slur. Also, a function @code{\slashedGrace} was added that does
213 does not use a slur from the acciaccatura note.
214 @lilypond[fragment,quote,relative=2]
215 c4( \appoggiatura e8 d4 \acciaccatura e8 d4 \slashedGrace e8 c4)
216 @end lilypond
217
218
219 @item
220 To suppress the line on a crescendo text spanner (and other similar spanners),
221 LilyPond now fully supports the @code{#'style = #'none} property.
222 @lilypond[fragment,quote,relative=2]
223 \override DynamicTextSpanner #'style = #'none
224 c4\cresc c c g, c'\p
225 @end lilypond
226
227 @item
228 LilyPond.app now supports MacOS X 10.7, thanks Christian Hitz!
229
230 @item
231 Glissandi can now span multiple lines.
232
233 @end itemize
234
235 @ifhtml
236 For older news, go to
237 @uref{http://lilypond.org/doc/v2.14/Documentation/changes/},
238 @uref{http://lilypond.org/doc/v2.12/Documentation/topdocs/NEWS.html},
239 or @uref{../,go back} to the Documentation index.
240
241
242 @end ifhtml
243
244 @bye