]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/changes.tely
Merge remote branch 'origin/release/unstable'
[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.13 since 2.12
40
41 @ifhtml
42 This document is also available in @uref{changes.pdf,PDF}. It is part of
43 the @uref{lilypond/manuals.html,LilyPond Documentation}.
44 @end ifhtml
45
46 @allowcodebreaks false
47
48 @itemize @bullet
49
50 @ignore
51
52 HINTS
53
54 * add new items at the top
55
56 * only show verbatim input for syntax/input changes
57
58 * try to be as brief possible in those cases
59
60 * don't try to provide real-world examples, they often get too big,
61 which scares away people.
62
63 * Write complete sentences.
64
65 * only show user-visible changes.
66
67 @end ignore
68
69 @item
70 Tablature staves show fret numbers only by default. To get the
71 former style, @code{\tabFullNotation} is provided.
72
73 @item
74 Funk-style and Walker-style shape notes have been added.
75
76 @item
77 Rests will no longer keep a staff alive if @code{\RemoveEmptyStaffContext}
78 is used.
79
80 @item
81 New option @code{-dinclude-settings=INCLUDEFILE.ly}, which causes lilypond
82 to include the given file before the score is processed. This allows the
83 user to change global settings without the need to change the score itself.
84 That way, several different editions/version (e.g. different page sizes)
85 can be generated from a file without having to modify the score for each
86 version.
87
88 @item
89 The autobeaming settings syntax has been changed.  beatLength,
90 beatGrouping, beamSettings, and measureGrouping have all been eliminated.
91 Autobeaming is now controlled by baseMoment, beatStructure, and
92 beamExceptions.  Default settings for each of these properties can be
93 stored for any time signature in time-signature-settings, so that
94 when the time signature is changed, the autobeaming will automatically
95 change.  The new syntax should be much easier and require fewer
96 overrides.
97
98 @item
99 The SVG backend has optional support for
100 @uref{http://www.w3.org/Submission/WOFF, WOFF fonts}.  Using the Scheme
101 option @code{-d svg-woff} together with the SVG backend selection
102 @code{-d backend=svg}, produces SVG output with CSS WOFF font selection.
103
104 @item
105 The LilyPond G clef has been rotated 1.5 degrees clockwise for improved
106 balance.  The old and new versions can be compared by looking at the
107 documentation:
108 @uref{http://lilypond.org/doc/v2.12/Documentation/user/lilypond/The-Feta-font.html#Clef-glyphs,
109 old version},
110 @uref{http://lilypond.org/doc/v2.13/Documentation/notation/the-feta-font.html#Clef-glyphs,
111 new version}.
112
113
114 @item
115 Text crescendo spanners can now be added directly using @code{\cresc},
116 @code{\dim} and @code{\decresc}.
117 @lilypond[quote,relative=2]
118 c4\cresc c c c\f |
119 c4\dim c c c\!
120 @end lilypond
121
122
123 @item
124 The documented syntax of @samp{lilypond} environments in the @LaTeX{}
125 mode of @command{lilypond-book} has been changed to conform with
126 standard @LaTeX{} syntax: options now come after the environment name:
127 @example
128 \begin@{lilypond@}[@var{options}] @dots{}
129 @end example
130
131 The previous syntax with options after @samp{\begin} is still accepted
132 by @command{lilypond-book} but deprecated.  Something like
133 @example
134 sed -i '/begin\[/s/begin\(\[[^]]*]\)\(@{lilypond@}\)/begin\2\1/'
135 @end example
136
137 might do the trick for conversion.
138
139 @item
140 Aesthetics of shape note heads have been enhanced.  Variable line thicknesses
141 have been implemented.  All note widths have been made consistent.
142 Minor shape note commands that use the relative major key for scale steps
143 have been added.
144
145 @item
146 A variant of the segno sign is provided:
147 @lilypond[quote,relative=2]
148 c4 d e f \bar "S"
149 g4 f e d
150 @end lilypond
151
152 @item
153 Context modifications (@code{\with} blocks) can be stored in variables and
154 inserted into contexts or other @code{\with} blocks:
155 @lilypond[quote,verbatim]
156 coloredheads = \with { \override NoteHead #'color = #red }
157 noclef = \with { \remove "Clef_engraver" }
158 \score {
159   \new Staff {
160     \new Voice \with { \coloredheads } \relative c' { c4 e g c }
161   }
162   \layout {
163     \context {
164       \Staff
165       \noclef
166     }
167   }
168 }
169 @end lilypond
170
171 @item
172 A half-open articulation was added:
173 @lilypond[quote,relative=2]
174 c4\halfopen
175 @end lilypond
176 This is sometimes used to indicate half-open hi-hats.
177
178 @item
179 The Unicode Bidirectional Algorithm is now fully supported for
180 single-line markup due to enhanced integration with Pango.
181
182 @item
183 LilyPond is now licensed under the GNU GPL v3+.
184
185 @item
186 In tablature, frets can be indicated with labels other than numbers:
187
188 @lilypond[verbatim,quote,relative=1]
189 \new TabStaff
190 \with {
191   stringTunings = #'(17 14 9 5 2 -3)
192   tablatureFormat = #fret-letter-tablature-format
193 }
194 \new TabVoice {
195   \set fretLabels = #`(,(markup #:with-color red "a")
196                        "b"
197                        ,(markup #:italic #:smaller "c"))
198   <f d>4. <bes>8 <g e>4
199 }
200 @end lilypond
201
202 @item
203 Layout objects can be printed over a white background, which whites-out objects
204 in lower layers which lie beneath:
205
206 @lilypond[verbatim,quote,relative=1]
207 \time 3/4
208 \override Staff.StaffSymbol #'layer = #4
209 \once \override Tie #'layer = #2
210 b'2.~
211 \once \override Staff.TimeSignature #'whiteout = ##t
212 \once \override Staff.TimeSignature #'layer = #3
213 \time 5/4
214 b4
215 @end lilypond
216
217 @item
218 Chords can be repeated using the @code{q} shortcut:
219
220 @lilypond[verbatim,quote,relative=2]
221 <c e g>8.-^ q16 q4-^
222 @end lilypond
223
224 @item
225 With two-sided mode, margins for odd and even pages can be set using
226 @code{inner-margin} and @code{outer-margin}:
227
228 @example
229 \paper @{
230   two-sided = ##t
231   inner-margin = 10 \mm
232   outer-margin = 20 \mm
233 @}
234 @end example
235
236 @item
237 Paper margin defaults, as specified in @file{ly/@/paper@/-defaults@/-init@/.ly}, apply
238 to the default paper size (a4) and are automatically scaled according to the
239 paper size chosen.
240
241 @item
242 All combinations of @code{left-margin}, @code{right-margin} and
243 @code{line-width} work now.  There is no more need to set @code{line-width}
244 manually unless you explicitly want to.
245
246 @item
247 Support for using an alternative music font, such as Gonville, is now
248 added.
249
250 @item
251 In addition to the existing @code{\hspace} markup command,
252 a new @code{\vspace} command has been added to provide an easy
253 and flexible way to add vertical space in markups.
254
255 @item
256 The direction of manual beams can be set with @code{^[} and @code{_[}.
257
258 @item
259 A version of the breve note head has been added with two vertical lines on each side.
260 @lilypond[quote,relative=2]
261 \time 4/2
262 \override Staff.NoteHead #'style = #'altdefault
263 c\breve | b\breve
264 @end lilypond
265
266 @item
267 Instrument names and vocal names now take into account the extent of
268 system start delimiters in other staves for their positioning,
269 resulting in improved default alignment for left-, center- and
270 right-aligned names.
271 @lilypond[quote,indent=18\mm]
272 <<
273   \new StaffGroup <<
274     \new GrandStaff <<
275       \new Staff {
276         \set Staff.instrumentName = #"Piccolo"
277         c''1
278       }
279       \new Staff {
280         \set Staff.instrumentName = #"Flute"
281         c''1
282       }
283     >>
284     \new Staff {
285       \set Staff.instrumentName = #"Bassoon"
286       \clef tenor
287       c'1
288     }
289   >>
290   \new PianoStaff <<
291     \set PianoStaff.instrumentName = #"Piano"
292     \context Staff = "up" {
293       c'1
294     }
295     \context Staff = "down" {
296       \clef bass
297       c1
298     }
299   >>
300 >>
301 @end lilypond
302
303 @item
304 Braces in markup can now be selected by point size using the markup commands
305 @code{\left-brace} and @code{\right-brace}.
306 @lilypond[quote]
307 \markup {
308   \left-brace #35
309   \hspace #2
310   \right-brace #45
311 }
312 @end lilypond
313
314 @item
315 Intermediate .ps files which are created by LilyPond
316 during compilation are now deleted by default.  To keep them,
317 add the following line to your input files:
318 @example
319 #(ly:set-option 'delete-intermediate-files #f)
320 @end example
321
322 @item
323 Dashed and dotted slurs, phrasing slurs, and ties
324 have been made variable thickness, and
325 partially dashed slurs are now available:
326 @lilypond[quote,relative=2]
327 \slurDashed
328 c4( d e f) |
329 \slurDotted
330 g4( f e d) |
331 \slurHalfDashed
332 c4( d e f)
333 @end lilypond
334
335 @item
336 An eyeglasses markup was added, indicating strongly to look at the
337 conductor for instructions:
338 @lilypond[quote,relative=2]
339 \mark \markup { \eyeglasses }
340 c4_\markup { \eyeglasses }
341 @end lilypond
342
343 @item
344 A snap-pizzicato (also known as Bartok-pizzicato) articulation was added:
345 @lilypond[quote,relative=2]
346 c4\snappizzicato
347 @end lilypond
348
349 @item
350 Tuplet number formatting functions are now available to print other fractions
351 and to add notes to the number or fraction:
352 @lilypond[quote,relative=2]
353 \once \override TupletNumber #'text =
354   #(tuplet-number::non-default-tuplet-denominator-text 7)
355 \times 2/3 { c4. c4. c4. c4. }
356
357 \once \override TupletNumber #'text =
358   #(tuplet-number::non-default-tuplet-fraction-text 12 7)
359 \times 2/3 { c4. c4. c4. c4. }
360 \once \override TupletNumber #'text =
361   #(tuplet-number::append-note-wrapper
362     (tuplet-number::non-default-tuplet-fraction-text 12 7) "8")
363 \times 2/3 { c4. c4. c4. c4. }
364
365 \once \override TupletNumber #'text =
366   #(tuplet-number::append-note-wrapper tuplet-number::calc-denominator-text "4")
367 \times 2/3 { c8 c8 c8 c8 c8 c8 }
368 \once \override TupletNumber #'text =
369   #(tuplet-number::append-note-wrapper tuplet-number::calc-fraction-text "4")
370 \times 2/3 { c8 c8 c8 c8 c8 c8 }
371
372 \once \override TupletNumber #'text =
373   #(tuplet-number::fraction-with-notes "4." "8")
374 \times 2/3 { c4. c4. c4. c4. }
375 \once \override TupletNumber #'text =
376   #(tuplet-number::non-default-fraction-with-notes 12 "8" 4 "4")
377 \times 2/3  { c4. c4. c4. c4. }
378 @end lilypond
379
380 @item
381 FretBoards now have a chordChanges property to keep repeated FretBoard objects
382 from being typeset.
383
384 @item
385 The vertical spacing engine has been drastically changed, making
386 it more flexible and easier to control.
387
388 @end itemize
389
390
391
392 @ifhtml
393 For older news, go to
394 @uref{http://lilypond.org/doc/v2.12/Documentation/topdocs/NEWS.html},
395 @uref{http://lilypond.org/doc/v2.10/Documentation/topdocs/NEWS.html},
396 or @uref{../,go back} to the Documentation index.
397
398
399 @end ifhtml
400
401 @bye