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