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