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