1 \input texinfo @c -*-texinfo-*-
8 @chapter New features in 2.1 since 2.0
12 Spacing following barlines was improved for widely stretched lines.
15 Lyric hyphens now conform to standard typesetting practice.
18 Lyrics are now aligned under note heads conforming engraving
19 standards. The responsible code has been rewritten, and is drastically
20 simpler from the previous version. To aid this rewrite, the syntactic
21 function of the extender line ( __ ) is been changed: it is now attached
22 to the lyric syllable.
25 When redefining a context, the associated identifier is also
26 updated. For example, after reading following the snippet,
33 the definition of @code{ScoreContext} is updated to include the changed
38 The weight of the stafflines is now heavier at smaller staff sizes.
39 The font has been modified to match this look: at smaller sizes, the
40 font is heavier and the note heads are more rounded.
42 @item Processing scores is now done while parsing the file. New
43 Scheme functions give more flexibility: for example, it is now possible
44 interpret a score, collecting synchronized musical events in a list, and
45 manipulate that information using inline Scheme. For an example, see
46 @file{input/no-notation/recording.ly}.
48 @item Font sizes can now truly be scaled continuously: the @code{font-size}
49 is similar to the old @code{font-relative-size}, but may be set to
50 fractional values; the closest design size will be scaled to achieve
51 the desired size. As a side-effect, there are now no longer
52 limitations in using smaller fonts (eg. grace notes) at small staff
55 @item The appearance of stem tips is now also engraved with rounded corners.
58 The placement of accidentals on chords and ledgered notes is improved.
63 @chapter New features in 2.0 since 1.8
68 Crescendos can now be drawn dotted or dashed.
71 Quarter tones are now supported. They are entered by suffixing
72 @code{ih} for a half-sharp and @code{eh} for a half-flat. Hence, the
73 following is an ascending list of pitches:
76 ceses ceseh ces ceh c cih cis cisih cisis
80 The following constructs have been removed from the syntax:
83 \duration #SCHEME-DURATION
85 \outputproperty @var{func} @var{symbol} = @var{value}
88 For @code{\outputproperty}, the following may be substituted:
91 \applyoutput #(outputproperty-compatibility @var{func}
92 @var{symbol} @var{value})
96 Clefs may now be transposed arbitrarily, for example
106 The syntax for chords and simultaneous music have changed.
107 Chords are entered as
113 while simultaneous music is entered as
116 <<@var{..music list..}>>
119 In effect, the meanings of both have been swapped relative to their 1.8
120 definition. The syntax for lists in @code{\markup} has changed
121 alongside, but figured bass mode was not changed, i.e.:
124 \markup @{ \center <@var{..list of markups..}> @}
125 \figure @{ <@var{figures}> @}
128 As chords the more often used than simultaneous music, this change will
132 Each music expression can now be tagged, to make different printed
133 versions from the same music expression. In the following example,
134 we see two versions of a piece of music, one for the full score, and
135 one with cue notes for the instrumental part:
139 @{ c4 f2 g4 @} % in the part, we have cue-notes
141 \tag #'score R1 % in the score: only a rest
145 The same can be applied to articulations, texts, etc.: they are
149 -\tag #@var{your-tags}
152 to an articulation, for example,
155 c4-\tag #'with-fingerings -4 -\tag #'with-strings \6
158 This defines a note, which has a conditional fingering and a
159 string-number indication.
162 The settings for chord-fingering are more flexible. You can specify a
163 list where fingerings may be placed, eg.
166 \property Voice.fingeringOrientations = #'(left down)
169 This will put the fingering for the lowest note below the chord, and the
173 The script previously known as @code{ly2dvi} has been renamed to
174 @code{lilypond}. The binary itself is now installed as
178 Markup text (ie. general text formatting) may now be used for lyrics too.
181 Two new commands for grace notes have been added, @code{\acciaccatura}
182 and @code{\appoggiatura},
189 Both reflect the traditional meanings of acciaccatura and appogiatura,
190 and both insert insert a slur from the first grace note to the main
194 Layout options for grace notes are now stored in a context property,
195 and may now be set separately from musical content.
198 The @code{\new} command will create a context with a unique
199 name automatically. Hence, for multi-staff scores, it is no longer
200 necessary to invent arbitrary context names. For example, a two-staff
201 score may be created by
205 \new Staff @{ @var{notes for 1st staff} @}
206 \new Staff @{ @var{notes for 2nd staff} @}
213 Octave checks make octave errors easier to correct.
220 This checks that @var{pitch} (without octave) yields @var{pitch} (with
221 octave) in \relative mode. If not, a warning is printed, and the
225 All articulations must now be entered postfix. For example,
232 is a pair of beamed slurred eighth notes.
235 The definition of @code{\relative} has been simplified. Octaves are
236 now always propagated in the order that music is entered. In the
241 \repeat "unfold" 3 BODY \alternative @{ ALT1 ALT2 @}
246 the octave of BODY is based on PRE, the starting octave of ALT1 on
247 BODY, the starting octave of ALT2 on ALT1, and the starting octave of
250 The same mechanism is used for all other music expressions, except the
251 chord. Backwards compatibility is retained through a special program option,
255 #(ly:set-option 'old-relative)
259 Windows users can double click a @code{.ly} file to process and view
260 it automagically through the new @code{lily-wins} frontend.
267 @chapter New features in 1.8 since 1.6
272 The chord entry code has been completely rewritten. It is now
273 cleaner and more flexible.
276 A new syntax has been added for text entry. This syntax is more
277 friendly than the old mechanism, and it is implemented in a more
278 robust and modular way. For more information, refer to the section on
279 "Text markup" in the notation manual.
282 The integration of the input language and Scheme has been made deeper:
283 you can now use LilyPond identifiers in Scheme, and use Scheme
284 expressions instead of LilyPond identifiers.
287 The internal representation of music has been cleaned up completely
288 and converted to Scheme data structures. The representation may be
292 A new uniform postfix syntax for articulation has been introduced.
293 A beamed slurred pair of eighth notes can be entered as
299 In version 2.0, postfix syntax will be the only syntax
300 available, and the dashes will become optional.
302 This will simplify the language: all articulations can be entered as
303 postfix, in any order.
306 A new syntax has been added for chords:
313 It is not necessary to update files to this syntax, but it will be for
314 using LilyPond version 2.0. In version 2.0, this syntax will be
324 \simultaneous @{ .. @}
327 for simultaneous music.
329 To convert your files from <PITCHES> to <<PITCHES>>, use the script
330 included in buildscripts/convert-new-chords.py
332 This change was introduced for the following reasons
336 It solves the "start score with chord" problem, where you have to
337 state \context Voice explicitly when a chord was the start of a
340 With the new syntax, it is possible to distinguish between
341 articulations (or fingerings) which are for a single chord note,
342 and which are for the entire chord. This allows for per-note
343 fingerings, and is more logical on the whole.
347 User code may now be executed during interpreting. The syntax for
351 \applycontext #SCHEME-FUNCTION
355 User code may now be executed on arbitrary grobs during interpreting.
356 The syntax for this feature is
359 \applyoutput #SCHEME-FUNCTION
363 SCHEME-FUNCTION takes a single argument, and is called for every grob
364 that is created in the current context.
367 New algorithms for chord-name formatting have been installed. They
368 can be tuned and have ergonomic syntax for entering exceptions.
371 Texts may now be put on multimeasure rests, e.g.
374 R1*20^\markup @{ "GP" @}
378 Ancient notation now prints ligatures in Gregorian square neumes
379 notation, roughly following the typographical style of the Liber
380 hymnarius of Solesmes, published in 1983. Ligatures are still printed
381 without the proper line breaking and horizontal spacing.
384 Glissandi can now be printed using the zigzag style.
387 LilyPond can now print clusters. The syntax is
390 \apply #notes-to-clusters @{ NOTE NOTE .. @}
394 For irregular meters, beat grouping marks can be printed. The
398 #(set-time-signature 7 8 '(3 2 2))
403 Nested horizontal brackets for music analysis can now be printed:
412 @item Ottava brackets are now fully supported as a feature. The syntax
420 @item Metronome markings are printed when a \tempo command is processed.
424 @item Fingerings can be put on chords horizontally.
428 @item The appearance of various glyphs has been fine-tuned.
432 @item Different types of percent style repeats may now be nested.
436 @item The emacs support has been extended.
440 The manual has been completely revised and extended.
444 @chapter New features in 1.6 since 1.4
450 Support for figured bass and tablature.
453 Completely rewritten beam formatting: provides much better output
458 Completely revised and improved music font.
462 Completely rewritten MIDI import support.
465 Completely rewritten grace note support. Practically speaking this
466 means that grace notes can be slurred to normal normal notes.
470 Improved accidental handling and formatting: styles for producing
471 cautionaries may vary, and complex collisions between accidentals of a
472 chord are handled much better.
475 Better spacing: both globally and locally. This includes subtle
476 details like optical stem spacing.
479 More support for ancient notation: mensural ligatures, ambitus
480 (pitch range) of voices, more shapes, etc.
483 More support for piano notation: bracket pedals, directed arpeggios,
487 Easier music polyphonic music entry.
490 More extensibility, many speedups and bugfixes
493 The manual has been thoroughly revised.
496 Development is now hosted at http://savannah.gnu.org, and sources
497 can be downloaded through anonymous CVS.
500 Support for windows: LilyPond is part of the cygwin distribution,
501 which comes with a user-friendly installer.