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