]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/topdocs/NEWS.texi
(ly:optimal-page-breaks): typo.
[lilypond.git] / Documentation / topdocs / NEWS.texi
index 1347d2791ec03a9c4a5b5276285db678a06adfe1..133d2f6f59646bbad3b995985c98f6198c5ccfd6 100644 (file)
@@ -8,14 +8,91 @@
 
 @itemize @bullet
 
+@item Key signature cancellations are now printed before the bar line,
+and their appearance has been improved.
+
+
+@item The automatic staff changer, which is invoked with
+@code{\autochange}, now creates the @code{up} and @code{down} staff
+automatically, and uses bass clef for the bottom staff.
+
+@item There is now support for putting two slurs on chords, both above
+and below. This is switched on with the @code{doubleSlurs} property.
+
+@item Running trills now have their own spanner and event,
+
+@example
+  c1\startTrillSpan c4\stopTrillSpan 
+@end example
+
+@item There is a new markup command @code{\postscript} that takes a
+string that is dumped as verbatim PostScript in the output.
+
+@item The melody  for a @code{\lyricsto} text can be changed during a
+melody by setting the @code{associatedVoice} property.
+
+@item The @code{\lyricsto} keyword now automatically switches on
+@code{\lyrics} mode.
+
+@item The LilyPond binary  now supports output options
+@code{--dvi} @code{--png} @code{--ps} @code{--pdf} and
+@code{--preview}.  The old wrapper script for La@TeX{} has been
+renamed to @code{lilypond-latex}.
+
+@item Support for ambitus has been rewritten. The Ambitus object is now
+a grouping object, composed of @code{AmbitusLine},
+@code{AmbitusAccidental} and @code{AmbitusNoteHead}. These objects may
+be tuned similar to accidentals and note heads.
+
+@item Ledger lines are now shortened when the spacing is tight. This
+prevents ledger lines from colliding with each other.
+
+@item Slur formatting has been rewritten. The new slur code
+works similar to the Beam formatter: scores are assigned for all
+esthetic components of a slur. A large number of combinations for
+begin and end points is then tried out.  Slurs will now also take into
+account collisions with staff lines, scripts (like staccato and
+accent) and accidentals.
+
+
+@item In the LilyPond  emacs mode, entering @code{|} will  display the
+  current beat within the measure.
+
+@item Colliding notes are now correctly aligned relative to notes in other staves.
+
+@item An experimental GNOME output backend is available for developers.
+It depends on several unreleased packages such as gnome-guile TLA and
+Pango CVS.  The output interface coverage is sparse, but it already
+does support point-and-click on the GNOME Canvas.  See also
+@file{scm/output-gnome.scm}.
+
+@item Context definitions are now stored in identifiers that match the
+context name, in other words, to modify a @code{Staff} context, the
+following code may be used.
+
+@example
+\context @{
+  \Staff
+  .. 
+@}
+@end example
+
 @item A new block, @code{\bookpaper} has been introduced to
-hold settings for paper size and output scaling.
+hold settings for paper size and output scaling. Further options
+include @code{raggedbottom} (if set, systems are not vertically filled
+to reach the bottom of the page), and @code{raggedlastbottom}.
+
+
 
 @item Support for fret diagrams  has been contributed by Carl
 D. Sorensen. @file{input/test/fret-diagram.ly} contains an example.
  
-@item The @code{--safe} mode has been revisited: it makes the basic
-@code{ly:} interface available, and stops malicious @TeX{} code.
+@item The @code{--safe-mode} has been revisited: GUILE evaluation
+is done in the R5RS safe module, with only the basic @code{ly:}
+interface available and malicious @TeX{} code is stopped.  However, to
+be reasonably safe, you are advised to use the PostScript backend
+rather than the @TeX{} backend anyway; and if possible use an UML
+sandbox to run gs or latex.
 
 @item Music syntax can now be extended seamlessly. As an example,
 here is the new implementation @code{\applymusic},
@@ -37,7 +114,7 @@ produces a rendered markup of the music.  An example is in
 @item LilyPond expressions can be embedded into Scheme. The syntax for
 this is @code{#@{ ... #@}}. Within such a block, Scheme forms can be
 introduced using a @code{$} character (@code{$$} results in a single
-`$' character).  These forms are then printed in the pattern.
+`$' character).  These forms are then inserted in the pattern.
 
 @example
 #(define (textoffset dx dy)
@@ -63,7 +140,7 @@ result is that
 @{ a b c @}
 @end example
 
-is the same as
+is interpreted as
 
 @example
 \header @{ title = "The Title" @}
@@ -74,31 +151,29 @@ is the same as
 @}    
 @end example
 
-Actually, a toplevel music list is now handled quite flexibly by
-@code{default-toplevel-music-handler}.  Similarly, a @code{\score}
-block at toplevel is handled by @code{default-toplevel-score-handler}
-and a @code{book} at toplevel is handled by
-@code{default-toplevel-book-handler}.  The default behavior of these
-handlers produces the results described above.
+This is handled by the function defined in
+@code{toplevel-music-handler}.  Similarly, @code{\score} and
+@code{\book} are handled by @code{toplevel-score-handler} and a
+@code{toplevel-book-handler}.  By changing these variables, different
+results can be obtained.
 
-@ignore
+This required a small change in the syntax. Mode changing commands,
+such as @code{\chords} and @code{\figures} now be directly followed by
+delimeters. The following example demonstrates the new behavior,
 
-@c FIXME: un-geekify
-These default handlers have the following effect.  A Music list at
-toplevel is encapsulated in a @code{score} block, and a @code{score}
-block at toplevel is encapsulated in a @code{book} block.  A
-@code{book} block at toplevel generates printed output.
-@end ignore
+@verbatim
+  \figures \context Figures { .. } % wrong
+  \context Figures \figures { .. } % right
+@end verbatim 
 
 
 @item Start pitch for @code{relative} music is optional for music lists.
-The default value is one octave below middle C.
+The default value is middle C.
 
 @c update-me?  formal definition of newaddlyrics, once it works
-@item Combining lyrics with music can be @code{\newlyrics}
+@item Combining lyrics with music can be done with @code{\newlyrics}
 
 @example
-<<
     \relative @{
        \clef bass
        d2 d c4 bes a2 \break
@@ -109,7 +184,6 @@ The default value is one octave below middle C.
     \newlyrics @{
        Not much can go wrong!
     @}
->>
 @end example
 
 Syntactically, @code{\newlyrics} acts like an infix operator.
@@ -132,24 +206,26 @@ package installed to function properly.
 @code{\encoding}. The strings for markup texts are translated
 automatically.
 
-@item The toplevel block @code{book} introduces page layout.
-A @code{book} groups @code{score} blocks into one page layout entity.
-Page layout consists of markup titles, headers and footers, and page
-breaking.  Two page breaking algorithms are available, the classic
-ragged pages (the default), and optimal page breaking
+@item The toplevel block @code{\book} introduces page layout.
+A @code{\book} groups @code{\score} blocks into one page layout
+entity. For example, two scores are combined in one book with   
 
 @example
-\paper @{
-    %% Select page breaking function.
-    %% #(define page-breaking ly:ragged-page-breaks)
-    #(define page-breaking ly:optimal-page-breaks)
-@}
 \book @{
      \score @{ ... @}
      \score @{ ... @}
 @}
 @end example
 
+Titling and page breaks are handled by LilyPond.  For automatic page
+breaking, two algorithms are available, the classic ragged pages (the
+default), and optimal page breaking.  
+Page  breaks may be inserted manually with
+@example
+  \pageBreak
+@end example
+
+@item
 The @code{lilypond} program does not generate La@TeX{} titles or page
 layout.  If you need La@TeX{} titles, you can use the
 @code{lilypond-book} program.