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