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