]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/changes.tely
Change lilypond-book's LaTeX environment option placement
[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 @ifhtml
6 @macro inputfileref{DIR,NAME}
7 @uref{../../\DIR\/collated-files.html#\NAME\,@file{\DIR\/\NAME\}}@c
8 @end macro
9 @macro usermanref{NAME}
10 @inforef{\NAME\,,../user/lilypond/lilypond}@c
11 @end macro
12 @end ifhtml
13
14 @ifnothtml
15 @macro inputfileref{DIR,NAME}
16 @file{\DIR\/\NAME\}@c
17 @end macro
18 @macro usermanref{NAME}
19 See user manual, \NAME\
20 @end macro
21 @end ifnothtml
22
23 @macro textanchor{NAME}
24 @html
25 <a name="\NAME\"></a>
26 @end html
27 @end macro
28
29
30 @documentencoding utf-8
31 @documentlanguage en
32 @afourpaper
33
34 @finalout
35
36 @node Top
37 @top New features in 2.13 since 2.12
38
39 @ifhtml
40 This document is also available in @uref{changes.pdf,PDF}. It is part of
41 the @uref{lilypond/manuals.html,LilyPond Documentation}.
42 @end ifhtml
43
44 @allowcodebreaks false
45
46 @itemize @bullet
47
48 @ignore
49
50 HINTS
51
52 * add new items at the top
53
54 * only show verbatim input for syntax/input changes
55
56 * try to be as brief possible in those cases
57
58 * don't try to provide real-world examples, they often get too big,
59 which scares away people.
60
61 * Write complete sentences.
62
63 * only show user-visible changes.
64
65 @end ignore
66
67 @item
68 The documented syntax of @samp{lilypond} environments in the @LaTeX{}
69 mode of @command{lilypond-book} has been changed to conform with
70 standard @LaTeX{} syntax: options now come after the environment name:
71 @example
72 \begin@{lilypond@}[@var{options}] @dots{}
73 @end example
74
75 The previous syntax with options after @samp{\begin} is still accepted
76 by @command{lilypond-book} but deprecated.  Something like
77 @example
78 sed -i '/begin\[/s/begin\(\[[^]]*]\)\(@{lilypond@}\)/begin\2\1/'
79 @end example
80
81 might do the trick for conversion.
82
83 @item
84 Aesthetics of shape note heads have been enhanced.  Variable line thicknesses
85 have been implemented.  All note widths have been made consistent.
86 Minor shape note commands that use the relative major key for scale steps
87 have been added.
88
89 @item
90 A variant of the segno sign is provided:
91 @lilypond[quote,relative=2]
92 c4 d e f \bar "S"
93 g4 f e d
94 @end lilypond
95
96 @item
97 Context modifications (@code{\with} blocks) can be stored in variables and
98 inserted into contexts or other @code{\with} blocks:
99 @lilypond[quote,verbatim]
100 coloredheads = \with { \override NoteHead #'color = #red }
101 noclef = \with { \remove "Clef_engraver" }
102 \score {
103   \new Staff {
104     \new Voice \with { \coloredheads } \relative c' { c4 e g c }
105   }
106   \layout {
107     \context { \Staff
108       \noclef
109     }
110   }
111 }
112 @end lilypond
113
114 @item
115 A half-open articulation was added:
116 @lilypond[quote,relative=2]
117 c4\halfopen
118 @end lilypond
119 This is sometimes used to indicate half-open hi-hats.
120
121 @item
122 The Unicode Bidirectional Algorithm is now fully supported for
123 single-line markup due to enhanced integration with Pango.
124
125 @item
126 LilyPond is now licensed under the GNU GPL v3+.
127
128 @item
129 In tablature, frets can be indicated with labels other than numbers:
130
131 @lilypond[verbatim,quote,relative=1]
132 \new TabStaff
133 \with {
134   stringTunings = #'(17 14 9 5 2 -3)
135   tablatureFormat = #fret-letter-tablature-format
136 }
137 \new TabVoice {
138   \set fretLabels = #`(,(markup #:with-color red "a")
139                        "b"
140                        ,(markup #:italic #:smaller "c"))
141   <f d>4. <bes>8 <g e>4
142 }
143 @end lilypond
144
145 @item
146 Layout objects can be printed over a white background, which whites-out objects
147 in lower layers which lie beneath:
148
149 @lilypond[verbatim,quote,relative=1]
150 \time 3/4
151 \override Staff.StaffSymbol #'layer = #4
152 \once \override Tie #'layer = #2
153 b'2.~
154 \once \override Staff.TimeSignature #'whiteout = ##t
155 \once \override Staff.TimeSignature #'layer = #3
156 \time 5/4
157 b4
158 @end lilypond
159
160 @item
161 Chords can be repeated using the @code{q} shortcut:
162
163 @lilypond[verbatim,quote,relative=2]
164 <c e g>8.-^ q16 q4-^
165 @end lilypond
166
167 @item
168 Paper margin defaults, as specified in @file{ly/@/paper@/-defaults@/-init@/.ly}, apply
169 to the default paper size (a4) and are automatically scaled according to the
170 paper size chosen.
171
172 @item
173 All combinations of @code{left-margin}, @code{right-margin} and
174 @code{line-width} work now.  There is no more need to set @code{line-width}
175 manually unless you explicitly want to.
176
177 @item
178 Support for using an alternative music font, such as Gonville, is now
179 added.
180
181 @item
182 In addition to the existing @code{\hspace} markup command,
183 a new @code{\vspace} command has been added to provide an easy
184 and flexible way to add vertical space in markups.
185
186 @item
187 The direction of manual beams can be set with @code{^[} and @code{_[}.
188
189 @item
190 A version of the breve note head has been added with two vertical lines on each side.
191 @lilypond[quote,relative=2]
192 \time 4/2
193 \override Staff.NoteHead #'style = #'altdefault
194 c\breve | b\breve
195 @end lilypond
196
197 @item
198 Instrument names and vocal names now take into account the extent of
199 system start delimiters in other staves for their positioning,
200 resulting in improved default alignment for left-, center- and
201 right-aligned names.
202 @lilypond[quote,indent=18\mm]
203 <<
204   \new StaffGroup <<
205     \new GrandStaff <<
206       \new Staff {
207         \set Staff.instrumentName = #"Piccolo"
208         c''1
209       }
210       \new Staff {
211         \set Staff.instrumentName = #"Flute"
212         c''1
213       }
214     >>
215     \new Staff {
216       \set Staff.instrumentName = #"Bassoon"
217       \clef tenor
218       c'1
219     }
220   >>
221   \new PianoStaff <<
222     \set PianoStaff.instrumentName = #"Piano"
223     \context Staff = "up" {
224       c'1
225     }
226     \context Staff = "down" {
227       \clef bass
228       c1
229     }
230   >>
231 >>
232 @end lilypond
233
234 @item
235 Braces in markup can now be selected by point size using the markup commands
236 @code{\left-brace} and @code{\right-brace}.
237 @lilypond[quote]
238 \markup {
239   \left-brace #35
240   \hspace #2
241   \right-brace #45
242 }
243 @end lilypond
244
245 @item
246 Intermediate .ps files which are created by LilyPond
247 during compilation are now deleted by default.  To keep them,
248 add the following line to your input files:
249 @example
250 #(ly:set-option 'delete-intermediate-files #f)
251 @end example
252
253 @item
254 Dashed and dotted slurs, phrasing slurs, and ties
255 have been made variable thickness, and
256 partially dashed slurs are now available:
257 @lilypond[quote,relative=2]
258 \slurDashed
259 c4( d e f) |
260 \slurDotted
261 g4( f e d) |
262 \slurHalfDashed
263 c4( d e f)
264 @end lilypond
265
266 @item
267 An eyeglasses markup was added, indicating strongly to look at the
268 conductor for instructions:
269 @lilypond[quote,relative=2]
270 \mark \markup { \eyeglasses }
271 c4_\markup { \eyeglasses }
272 @end lilypond
273
274 @item
275 A snap-pizzicato (also known as Bartok-pizzicato) articulation was added:
276 @lilypond[quote,relative=2]
277 c4\snappizzicato
278 @end lilypond
279
280 @item
281 Tuplet number formatting functions are now available to print other fractions
282 and to add notes to the number or fraction:
283 @lilypond[quote,relative=2]
284 \once \override TupletNumber #'text =
285   #(tuplet-number::non-default-tuplet-denominator-text 7)
286 \times 2/3 { c4. c4. c4. c4. }
287
288 \once \override TupletNumber #'text =
289   #(tuplet-number::non-default-tuplet-fraction-text 12 7)
290 \times 2/3 { c4. c4. c4. c4. }
291 \once \override TupletNumber #'text =
292   #(tuplet-number::append-note-wrapper
293     (tuplet-number::non-default-tuplet-fraction-text 12 7) "8")
294 \times 2/3 { c4. c4. c4. c4. }
295
296 \once \override TupletNumber #'text =
297   #(tuplet-number::append-note-wrapper tuplet-number::calc-denominator-text "4")
298 \times 2/3 { c8 c8 c8 c8 c8 c8 }
299 \once \override TupletNumber #'text =
300   #(tuplet-number::append-note-wrapper tuplet-number::calc-fraction-text "4")
301 \times 2/3 { c8 c8 c8 c8 c8 c8 }
302
303 \once \override TupletNumber #'text =
304   #(tuplet-number::fraction-with-notes "4." "8")
305 \times 2/3 { c4. c4. c4. c4. }
306 \once \override TupletNumber #'text =
307   #(tuplet-number::non-default-fraction-with-notes 12 "8" 4 "4")
308 \times 2/3  { c4. c4. c4. c4. }
309 @end lilypond
310
311 @item
312 FretBoards now have a chordChanges property to keep repeated FretBoard objects
313 from being typeset.
314
315 @end itemize
316
317
318
319 @ifhtml
320 For older news, go to
321 @uref{http://lilypond.org/doc/v2.12/Documentation/topdocs/NEWS.html},
322 @uref{http://lilypond.org/doc/v2.10/Documentation/topdocs/NEWS.html},
323 or @uref{../,go back} to the Documentation index.
324
325
326 @end ifhtml
327
328 @bye