** A new syntax has been added for text entry. This syntax is more
friendly than the old mechanism, and it is implemented in a more
-robust and modular way.
+robust and modular way. For more information, refer to the section on
+"Text markup" in the notation manual.
** Deeper integration of the input language and Scheme. You can now use
LilyPond identifiers in Scheme, and use Scheme expressions instead of
and converted to Scheme data structures. The representation may be
exported as XML.
+** A new uniform postfix syntax for articulation has been introduced.
+A beamed slurred pair of eighth notes can be entered as
+
+ c8-[-( d8-]-)
+
+In version 2.0, postfix syntax will be the only syntax
+available, and the dashes will become optional.
+
+This will simplify the language: all articulations can be entered as
+postfix, in any order.
+
** A new syntax has been added for chords:
<< PITCHES >>
-In version 2.0, this syntax will be changed to
+It is not necessary to update files to this syntax, but it will be for
+using LilyPond version 2.0. In version 2.0, this syntax will be
+changed to
< PITCHES > for chords
\simultaneous { .. } for simultaneous music.
-** A new uniform postfix syntax for articulation has been introduced.
-A beamed slurred pair of eighth notes can be entered as
+To convert your files from <PITCHES> to <<PITCHES>>, use the script
+included in buildscripts/convert-new-chords.py
- c8-[-( d8-]-)
+This change was introduced for the following reasons
+
+ * It solves the "start score with chord" problem, where you have to
+ state \context Voice explicitly when a chord was the start of a
+ Staff or Score.
+
+ * With the new syntax, it is possible to distinguish between
+ articulations (or fingerings) which are for a single chord note,
+ and which are for the entire chord. This allows for per-note
+ fingerings, and is more logical on the whole.
-In version 2.0, postfix syntax will be the only syntax
-available, and the dashes will become optional.
** User code may now be executed during interpreting. The syntax for
this code is
\applycontext #SCHEME-FUNCTION
+
+** User code may now be executed on arbitrary grobs during interpreting.
+The syntax for this feature is
+
+ \applyoutput #SCHEME-FUNCTION
+
+SCHEME-FUNCTION takes a single argument, and is called for every grob
+that is created in the current context.
+
** New algorithms for chord-name formatting have been installed. They
can be tuned and have ergonomic syntax for entering exceptions.
** Clusters may now be printed. The syntax is:
- NOTE-\startCluster
-
- ..
- NOTE-\stopCluster
+ \apply #clusters-to-notes { NOTE NOTE .. }
** For irregular meters, beat grouping marks can be printed. The
syntax for this is