]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/topdocs/NEWS.texi
* scripts/convert-ly.py (FatalConversionError.figures_replace):
[lilypond.git] / Documentation / topdocs / NEWS.texi
1 \input texinfo @c -*-texinfo-*-
2 @setfilename NEWS.info
3 @settitle NEWS
4
5 @node Top, , , 
6 @top
7
8 @chapter New features in 1.9 since 1.8
9
10 @itemize
11
12 @item
13 The syntax for chords and simultaneous music have changed.
14 Chords are entered as
15
16 @example
17    <@var{pitches}>
18 @end example
19
20 while simultaneous music is entered
21
22 @example
23    <<@var{..music list..}>>
24 @end example
25
26 In effect, the meanings of both have been swapped relative to their 1.8
27 definition.  The syntax for lists in @code{\markup} has changed
28 alongside, but figured bass mode was not  changed, i.e.:
29
30 @example
31   \markup @{ \center <@var{..list of markups..}> @}
32   \figure @{ <@var{figures> @}
33 @end example
34
35 As chords the more often used than simultaneous music, this change will
36 save keystrokes.
37
38 @item
39 Each music expression can now be tagged, to make different printed
40 versions from the same music expression.  In the following example,
41 we see two versions of a piece of music, one for the full score, and
42 one with cue notes for the instrumental part:
43
44 @example
45 < \tag #'part <
46   @{ c4 f2 g @}      % in the part, we have cue-notes  
47   \\ R1 >
48   \tag #'score R1  % in the score: only a rest
49 >
50 @end example
51  
52 The same can be applied to articulations, texts, etc.: they are
53 made by prepending
54
55 @example
56         -\tag #@var{your-tags} 
57 @end example
58
59 to an articulation, for example, 
60
61 @example
62         c4-\tag #'with-fingerings -4 -\tag #'with-strings \6
63 @end example
64
65 This defines a note, which has a conditional fingering and a
66 string-number indication.
67
68 @item
69 The settings for chord-fingering are more flexible. You can specify a
70 list where fingerings may be placed, eg.
71
72 @example
73         \property Voice.fingeringOrientations = #'(left down)
74 @end example
75
76 This will put the fingering for the lowest note below the chord, and the
77 rest to the left.
78
79 @item
80 The script previously known as @file{ly2dvi} has been renamed to
81 @file{lilypond}. The binary itself is now installed as
82 @file{lilypond-bin}.
83
84 @item
85 Markup text (ie. general text formatting) may now be used for lyrics too. 
86
87 @item
88 Two new commands for grace notes have been added, @code{\acciaccatura}
89 and @code{\appoggiatura},
90
91 @example
92   \appoggiatura f8 e4
93   \acciaccatura g8 f4
94 @end example
95
96 Both reflect the traditional meanings of acciaccatura and appogiatura,
97 and both insert insert a slur from the first grace note to the main
98 note.
99
100 @item 
101 Layout options for grace notes are now stored in a context property,
102 and may now be set separately from musical content.
103
104 @item
105 The @code{\new} command will create a context with a unique
106 name automatically. Hence, for multi-staff scores, it is no longer
107 necessary to invent arbitrary context names. For example, a two-staff
108 score may be created by
109
110 @example
111   \simultaneous @{
112     \new Staff @{ @var{notes for 1st staff} @}
113     \new Staff @{ @var{notes for 2nd staff} @}
114   @}
115 @end example
116
117
118
119 @item
120 Octave checks make octave errors easier to correct.
121 The syntax is 
122
123 @example
124   \octave @var{pitch}
125 @end example
126
127 This checks that @var{pitch} (without octave) yields @var{pitch} (with
128 octave) in \relative mode. If not, a warning is printed, and the
129 octave is corrected.
130
131 @item
132 All articulations must now be entered postfix. For example,
133
134 @example
135         c8[( d8]) 
136 @end example
137
138 @noindent
139 is a pair of beamed slurred eighth notes.
140
141 @item
142 The definition of @code{\relative} has been simplified.  Octaves are
143 now always propagated in the order that music is entered. In the
144 following example,  
145
146 @example
147   PRE
148   \repeat "unfold" 3  BODY \alternative @{ ALT1 ALT2 @}
149   POST
150 @end example
151
152 @noindent
153 the octave of BODY is based on PRE, the starting octave of ALT1 on
154 BODY, the starting octave of ALT2 on ALT1, and the starting octave of
155 POST on ALT2.
156
157 The same mechanism is used for all other music expressions, except the
158 chord. Backwards compatibility is retained through a special program option,
159 which is set through 
160
161 @example
162   #(ly:set-option 'old-relative)
163 @end example
164
165 @end itemize
166
167
168
169
170 @chapter New features in 1.8 since 1.6
171
172 @itemize
173
174 @item 
175 The chord entry code has been completely rewritten. It is now
176 cleaner and more flexible.
177
178 @item 
179 A new syntax has been added for text entry.  This syntax is more
180 friendly than the old mechanism, and it is implemented in a more
181 robust and modular way. For more information, refer to the section on
182 "Text markup" in the notation manual.
183
184 @item 
185 The integration of the input language and Scheme has been made deeper:
186 you can now use LilyPond identifiers in Scheme, and use Scheme
187 expressions instead of LilyPond identifiers.
188
189 @item 
190 The internal representation of music has been cleaned up completely
191 and converted to Scheme data structures.  The representation may be
192 exported as XML.
193
194 @item 
195 A new uniform postfix syntax for articulation has been introduced.
196 A beamed slurred pair of eighth notes can be entered as
197
198 @example
199         c8-[-( d8-]-) 
200 @end example
201
202 In version 2.0, postfix syntax will be the only syntax
203 available, and the dashes will become optional.
204
205 This will simplify the language: all articulations can be entered as
206 postfix, in any order.
207
208 @item 
209 A new syntax has been added for chords:
210
211
212 @example
213         << PITCHES >>
214 @end example 
215
216 It is not necessary to update files to this syntax, but it will be for
217 using LilyPond version 2.0.  In version 2.0, this syntax will be
218 changed to
219
220 @example
221         < PITCHES >
222 @end example
223
224 for chords, and
225
226 @example
227         \simultaneous @{ .. @} 
228 @end example
229
230 for simultaneous music.
231
232 To convert your files from <PITCHES> to <<PITCHES>>, use the script
233 included in buildscripts/convert-new-chords.py
234
235 This change was introduced for the following reasons
236
237 @itemize @bullet
238 @item
239 It solves the "start score with chord" problem, where you have to
240   state \context Voice explicitly when a chord was the start of a
241   Staff or Score.
242 @item
243 With the new syntax, it is possible to distinguish between
244   articulations (or fingerings) which are for a single chord note,
245   and which are for the entire chord. This allows for per-note
246   fingerings, and is more logical on the whole.
247 @end itemize
248
249 @item 
250 User code may now be executed during interpreting.  The syntax for
251 this code is
252
253 @example
254         \applycontext #SCHEME-FUNCTION
255 @end example
256
257 @item 
258 User code may now be executed on arbitrary grobs during interpreting.
259 The syntax for this feature is
260
261 @example
262         \applyoutput #SCHEME-FUNCTION
263 @end example
264
265 @noindent
266 SCHEME-FUNCTION takes a single argument, and is called for every grob
267 that is created in the current context.
268
269 @item 
270 New algorithms for chord-name formatting have been installed. They
271 can be tuned and have ergonomic syntax for entering exceptions.
272
273 @item 
274 Texts may now be put on multimeasure rests, e.g.
275
276 @example
277         R1*20^\markup @{ "GP" @}
278 @end example
279
280 @item
281 Ancient notation now prints ligatures in Gregorian square neumes
282 notation, roughly following the typographical style of the Liber
283 hymnarius of Solesmes, published in 1983.  Ligatures are still printed
284 without the proper line breaking and horizontal spacing.
285
286 @item 
287 Glissandi can now be printed using the zigzag style.
288
289 @item 
290 LilyPond can now print clusters. The syntax is
291
292 @example
293         \apply #notes-to-clusters @{ NOTE NOTE .. @}
294 @end example
295
296 @item
297 For irregular meters, beat grouping marks can be printed. The
298 syntax for this is
299
300 @example
301         #(set-time-signature 7 8 '(3 2 2))
302 @end example
303
304
305 @item 
306 Nested horizontal brackets for music analysis can now be printed:
307
308 @example
309         NOTE-\startGroup
310                 ..
311         NOTE-\stopGroup
312 @end example
313
314
315 @item  Ottava brackets are now fully supported as a feature.  The syntax
316 is
317
318 @example
319         #(set-octavation 1)
320 @end example
321
322
323 @item  Metronome markings are printed when a \tempo command is processed.
324
325
326
327 @item Fingerings can be put on chords horizontally.
328
329
330
331 @item  The appearance of various glyphs has been fine-tuned.
332
333
334
335 @item  Different types of percent style repeats may now be nested.
336
337
338
339 @item  The emacs support has been extended.
340
341
342 @item 
343 The manual has been completely revised and extended.
344
345 @end itemize
346
347 @chapter New features in 1.6 since 1.4
348
349
350 @itemize @bullet
351
352 @item
353 Support for figured bass and tablature.
354
355 @item
356 Completely rewritten beam formatting: provides much better output
357 now.
358
359
360 @item
361 Completely revised and improved music font.
362
363
364 @item
365 Completely rewritten MIDI import support.
366
367 @item
368 Completely rewritten grace note support. Practically speaking this
369 means that grace notes can be slurred to normal normal notes.
370
371
372 @item
373 Improved accidental handling and formatting: styles for producing
374 cautionaries may vary, and complex collisions between accidentals of a
375 chord are handled much better.
376
377 @item
378 Better spacing: both globally and locally. This includes subtle
379 details like optical stem spacing.
380
381 @item
382 More support for ancient notation: mensural ligatures, ambitus
383 (pitch range) of voices, more shapes, etc.
384
385 @item
386 More support for piano notation: bracket pedals, directed arpeggios,
387 arpeggio brackets.
388
389 @item
390 Easier music polyphonic music entry.
391
392 @item
393 More extensibility, many speedups and bugfixes
394
395 @item
396 The manual has been thoroughly revised.
397
398 @item
399 Development is now hosted at http://savannah.gnu.org, and sources
400 can be downloaded through anonymous CVS.
401
402 @item
403 Support for windows: LilyPond is part of the cygwin distribution,
404 which comes with a user-friendly installer.
405
406 @end itemize