]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/topdocs/NEWS.texi
* mf/GNUmakefile: always trace pfa fonts.
[lilypond.git] / Documentation / topdocs / NEWS.texi
index e305a17fdd11db8356fb419dc1a50a0b12e02c1b..bae8da8d130bd2b6d4cf942c4592702e169db74f 100644 (file)
@@ -5,8 +5,212 @@
 @node Top, , , 
 @top
 
+@chapter New features in 2.0 since 1.8
 
-@chapter        New features in 1.8 since 1.6
+@itemize
+
+@item
+@c dotted or dashed?
+Crescendos can now be drawn dotted or stippled.
+
+@item
+Quarter tones are now supported. They are entered by suffixing
+@code{ih} for a half-sharp and @code{eh} for a half-flat. Hence, the
+following is an ascending list of pitches:
+
+@example
+  ceses ceseh ces ceh c cih cis cisih cisis
+@end example
+
+@item
+The following constructs have been removed from the syntax:
+
+@example
+  \duration #SCHEME-DURATION
+  \pitch #SCHEME-PITCH
+  \outputproperty @var{func} @var{symbol} = @var{value}
+@end example
+
+For @code{\outputproperty}, the following may be substituted:
+
+@example
+   \applyoutput #(outputproperty-compatibility @var{func}
+                  @var{symbol} @var{value}) 
+@end example 
+
+@item
+Clefs may now be transposed arbitrarily, for example
+
+@example
+  \clef "G_8"
+  \clef "G_15"
+  \clef "G_9"
+@end example
+
+
+@item
+The syntax for chords and simultaneous music have changed.
+Chords are entered as
+
+@example
+   <@var{pitches}>
+@end example
+
+while simultaneous music is entered as
+
+@example
+   <<@var{..music list..}>>
+@end example
+
+In effect, the meanings of both have been swapped relative to their 1.8
+definition.  The syntax for lists in @code{\markup} has changed
+alongside, but figured bass mode was not  changed, i.e.:
+
+@example
+  \markup @{ \center <@var{..list of markups..}> @}
+  \figure @{ <@var{figures> @}
+@end example
+
+As chords the more often used than simultaneous music, this change will
+save keystrokes.
+
+@item
+Each music expression can now be tagged, to make different printed
+versions from the same music expression.  In the following example,
+we see two versions of a piece of music, one for the full score, and
+one with cue notes for the instrumental part:
+
+@example
+< \tag #'part <
+  @{ c4 f2 g4 @}      % in the part, we have cue-notes  
+  \\ R1 >
+  \tag #'score R1  % in the score: only a rest
+>
+@end example
+The same can be applied to articulations, texts, etc.: they are
+made by prepending
+
+@example
+        -\tag #@var{your-tags} 
+@end example
+
+to an articulation, for example, 
+
+@example
+        c4-\tag #'with-fingerings -4 -\tag #'with-strings \6
+@end example
+
+This defines a note, which has a conditional fingering and a
+string-number indication.
+
+@item
+The settings for chord-fingering are more flexible. You can specify a
+list where fingerings may be placed, eg.
+
+@example
+       \property Voice.fingeringOrientations = #'(left down)
+@end example
+
+This will put the fingering for the lowest note below the chord, and the
+rest to the left.
+
+@item
+The script previously known as @file{ly2dvi} has been renamed to
+@file{lilypond}. The binary itself is now installed as
+@file{lilypond-bin}.
+
+@item
+Markup text (ie. general text formatting) may now be used for lyrics too. 
+
+@item
+Two new commands for grace notes have been added, @code{\acciaccatura}
+and @code{\appoggiatura},
+
+@example
+  \appoggiatura f8 e4
+  \acciaccatura g8 f4
+@end example
+
+Both reflect the traditional meanings of acciaccatura and appogiatura,
+and both insert insert a slur from the first grace note to the main
+note.
+
+@item 
+Layout options for grace notes are now stored in a context property,
+and may now be set separately from musical content.
+
+@item
+The @code{\new} command will create a context with a unique
+name automatically. Hence, for multi-staff scores, it is no longer
+necessary to invent arbitrary context names. For example, a two-staff
+score may be created by
+
+@example
+  \simultaneous @{
+    \new Staff @{ @var{notes for 1st staff} @}
+    \new Staff @{ @var{notes for 2nd staff} @}
+  @}
+@end example
+
+
+
+@item
+Octave checks make octave errors easier to correct.
+The syntax is 
+
+@example
+  \octave @var{pitch}
+@end example
+
+This checks that @var{pitch} (without octave) yields @var{pitch} (with
+octave) in \relative mode. If not, a warning is printed, and the
+octave is corrected.
+
+@item
+All articulations must now be entered postfix. For example,
+
+@example
+       c8[( d8]) 
+@end example
+
+@noindent
+is a pair of beamed slurred eighth notes.
+
+@item
+The definition of @code{\relative} has been simplified.  Octaves are
+now always propagated in the order that music is entered. In the
+following example,  
+
+@example
+  PRE
+  \repeat "unfold" 3  BODY \alternative @{ ALT1 ALT2 @}
+  POST
+@end example
+
+@noindent
+the octave of BODY is based on PRE, the starting octave of ALT1 on
+BODY, the starting octave of ALT2 on ALT1, and the starting octave of
+POST on ALT2.
+
+The same mechanism is used for all other music expressions, except the
+chord. Backwards compatibility is retained through a special program option,
+which is set through 
+
+@example
+  #(ly:set-option 'old-relative)
+@end example
+
+@item
+Windows users can double click a @code{.ly} file to process and view
+it automagically through the new @code{lily-wins} frontend.
+
+@end itemize
+
+
+
+
+@chapter New features in 1.8 since 1.6
 
 @itemize
 
@@ -57,13 +261,13 @@ using LilyPond version 2.0.  In version 2.0, this syntax will be
 changed to
 
 @example
-  < PITCHES >  for chords
+       < PITCHES >
 @end example
 
-and
+for chords, and
 
 @example
-  \simultaneous @{ .. @} 
+       \simultaneous @{ .. @} 
 @end example
 
 for simultaneous music.
@@ -100,6 +304,8 @@ The syntax for this feature is
 @example
        \applyoutput #SCHEME-FUNCTION
 @end example
+
+@noindent
 SCHEME-FUNCTION takes a single argument, and is called for every grob
 that is created in the current context.
 
@@ -108,7 +314,7 @@ New algorithms for chord-name formatting have been installed. They
 can be tuned and have ergonomic syntax for entering exceptions.
 
 @item 
-Texts may now be put on multimeasure rests, eg.
+Texts may now be put on multimeasure rests, e.g.
 
 @example
        R1*20^\markup @{ "GP" @}
@@ -124,7 +330,7 @@ without the proper line breaking and horizontal spacing.
 Glissandi can now be printed using the zigzag style.
 
 @item 
-LilyPond can now print clusters. The syntax is:
+LilyPond can now print clusters. The syntax is
 
 @example
        \apply #notes-to-clusters @{ NOTE NOTE .. @}
@@ -140,7 +346,7 @@ syntax for this is
 
 
 @item 
-Nested horizontal brackets for music analysis can now be printed.
+Nested horizontal brackets for music analysis can now be printed:
 
 @example
        NOTE-\startGroup
@@ -184,41 +390,60 @@ The manual has been completely revised and extended.
 @chapter New features in 1.6 since 1.4
 
 
+@itemize @bullet
 
+@item
 Support for figured bass and tablature.
 
+@item
 Completely rewritten beam formatting: provides much better output
 now.
 
+
+@item
 Completely revised and improved music font.
 
+
+@item
 Completely rewritten MIDI import support.
 
+@item
 Completely rewritten grace note support. Practically speaking this
 means that grace notes can be slurred to normal normal notes.
 
+
+@item
 Improved accidental handling and formatting: styles for producing
 cautionaries may vary, and complex collisions between accidentals of a
 chord are handled much better.
 
+@item
 Better spacing: both globally and locally. This includes subtle
 details like optical stem spacing.
 
+@item
 More support for ancient notation: mensural ligatures, ambitus
 (pitch range) of voices, more shapes, etc.
 
+@item
 More support for piano notation: bracket pedals, directed arpeggios,
 arpeggio brackets.
 
+@item
 Easier music polyphonic music entry.
 
+@item
 More extensibility, many speedups and bugfixes
 
+@item
 The manual has been thoroughly revised.
 
+@item
 Development is now hosted at http://savannah.gnu.org, and sources
 can be downloaded through anonymous CVS.
 
+@item
 Support for windows: LilyPond is part of the cygwin distribution,
 which comes with a user-friendly installer.
 
+@end itemize