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