* GNUmakefile.in (local-WWW-post): footify build fix.
[lilypond.git] / Documentation / topdocs / NEWS.texi
blob9dc10dc2aa913f966d31568205bb518d70a80099
1 \input texinfo @c -*-texinfo-*-
2 @setfilename NEWS.info
3 @settitle NEWS
5 @node Top, , , 
6 @top
9 @chapter        New features in 1.8 since 1.6
11 @itemize
13 @item 
14 The chord entry code has been completely rewritten. It is now
15 cleaner and more flexible.
17 @item 
18 A new syntax has been added for text entry.  This syntax is more
19 friendly than the old mechanism, and it is implemented in a more
20 robust and modular way. For more information, refer to the section on
21 "Text markup" in the notation manual.
23 @item 
24 The integration of the input language and Scheme has been made deeper:
25 you can now use LilyPond identifiers in Scheme, and use Scheme
26 expressions instead of LilyPond identifiers.
28 @item 
29 The internal representation of music has been cleaned up completely
30 and converted to Scheme data structures.  The representation may be
31 exported as XML.
33 @item 
34 A new uniform postfix syntax for articulation has been introduced.
35 A beamed slurred pair of eighth notes can be entered as
37 @example
38         c8-[-( d8-]-) 
39 @end example
41 In version 2.0, postfix syntax will be the only syntax
42 available, and the dashes will become optional.
44 This will simplify the language: all articulations can be entered as
45 postfix, in any order.
47 @item 
48 A new syntax has been added for chords:
51 @example
52         << PITCHES >>
53 @end example 
55 It is not necessary to update files to this syntax, but it will be for
56 using LilyPond version 2.0.  In version 2.0, this syntax will be
57 changed to
59 @example
60   < PITCHES >  for chords
61 @end example
63 and
65 @example
66   \simultaneous @{ .. @} 
67 @end example
69 for simultaneous music.
71 To convert your files from <PITCHES> to <<PITCHES>>, use the script
72 included in buildscripts/convert-new-chords.py
74 This change was introduced for the following reasons
76 @itemize @bullet
77 @item
78 It solves the "start score with chord" problem, where you have to
79   state \context Voice explicitly when a chord was the start of a
80   Staff or Score.
81 @item
82 With the new syntax, it is possible to distinguish between
83   articulations (or fingerings) which are for a single chord note,
84   and which are for the entire chord. This allows for per-note
85   fingerings, and is more logical on the whole.
86 @end itemize
88 @item 
89 User code may now be executed during interpreting.  The syntax for
90 this code is
92 @example
93         \applycontext #SCHEME-FUNCTION
94 @end example
96 @item 
97 User code may now be executed on arbitrary grobs during interpreting.
98 The syntax for this feature is
100 @example
101         \applyoutput #SCHEME-FUNCTION
102 @end example
104 @noindent
105 SCHEME-FUNCTION takes a single argument, and is called for every grob
106 that is created in the current context.
108 @item 
109 New algorithms for chord-name formatting have been installed. They
110 can be tuned and have ergonomic syntax for entering exceptions.
112 @item 
113 Texts may now be put on multimeasure rests, eg.
115 @example
116         R1*20^\markup @{ "GP" @}
117 @end example
119 @item
120 Ancient notation now prints ligatures in Gregorian square neumes
121 notation, roughly following the typographical style of the Liber
122 hymnarius of Solesmes, published in 1983.  Ligatures are still printed
123 without the proper line breaking and horizontal spacing.
125 @item 
126 Glissandi can now be printed using the zigzag style.
128 @item 
129 LilyPond can now print clusters. The syntax is:
131 @example
132         \apply #notes-to-clusters @{ NOTE NOTE .. @}
133 @end example
135 @item
136 For irregular meters, beat grouping marks can be printed. The
137 syntax for this is
139 @example
140         #(set-time-signature 7 8 '(3 2 2))
141 @end example
144 @item 
145 Nested horizontal brackets for music analysis can now be printed.
147 @example
148         NOTE-\startGroup
149                 ..
150         NOTE-\stopGroup
151 @end example
154 @item  Ottava brackets are now fully supported as a feature.  The syntax
157 @example
158         #(set-octavation 1)
159 @end example
162 @item  Metronome markings are printed when a \tempo command is processed.
166 @item Fingerings can be put on chords horizontally.
170 @item  The appearance of various glyphs has been fine-tuned.
174 @item  Different types of percent style repeats may now be nested.
178 @item  The emacs support has been extended.
181 @item 
182 The manual has been completely revised and extended.
184 @end itemize
186 @chapter New features in 1.6 since 1.4
189 @itemize @bullet
191 @item
192 Support for figured bass and tablature.
194 @item
195 Completely rewritten beam formatting: provides much better output
196 now.
199 @item
200 Completely revised and improved music font.
203 @item
204 Completely rewritten MIDI import support.
206 @item
207 Completely rewritten grace note support. Practically speaking this
208 means that grace notes can be slurred to normal normal notes.
211 @item
212 Improved accidental handling and formatting: styles for producing
213 cautionaries may vary, and complex collisions between accidentals of a
214 chord are handled much better.
216 @item
217 Better spacing: both globally and locally. This includes subtle
218 details like optical stem spacing.
220 @item
221 More support for ancient notation: mensural ligatures, ambitus
222 (pitch range) of voices, more shapes, etc.
224 @item
225 More support for piano notation: bracket pedals, directed arpeggios,
226 arpeggio brackets.
228 @item
229 Easier music polyphonic music entry.
231 @item
232 More extensibility, many speedups and bugfixes
234 @item
235 The manual has been thoroughly revised.
237 @item
238 Development is now hosted at http://savannah.gnu.org, and sources
239 can be downloaded through anonymous CVS.
241 @item
242 Support for windows: LilyPond is part of the cygwin distribution,
243 which comes with a user-friendly installer.
245 @end itemize