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