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