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