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