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