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