]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/changes.tely
lilypond-book: avoid subprocess for mingw
[lilypond.git] / Documentation / changes.tely
index 8728b7331480ccf2db7b3fdc7cfe86ae0da970a5..50f2022cb29c087161107d3d1c074a52f692e37e 100644 (file)
@@ -60,11 +60,69 @@ which scares away people.
 * only show user-visible changes.
 
 @end ignore
+
+@item
+Two alternative methods for bar numbering can be set, especially for
+when using repeated music;
+
+@lilypond[fragment,quote,relative=1,noragged-right]
+\relative c'{
+  \set Score.alternativeNumberingStyle = #'numbers
+  \repeat volta 3 { c4 d e f | }
+    \alternative {
+      { c4 d e f | c2 d \break }
+      { f4 g a b | f4 g a b | f2 a | \break }
+      { c4 d e f | c2 d }
+    }
+  c1 \break
+  \set Score.alternativeNumberingStyle = #'numbers-with-letters
+  \repeat volta 3 { c,4 d e f | }
+    \alternative {
+      { c4 d e f | c2 d \break }
+      { f4 g a b | f4 g a b | f2 a | \break }
+      { c4 d e f | c2 d }
+    }
+  c1
+}
+@end lilypond
+
+@item
+Scheme expressions inside of embedded Lilypond (@code{#@{@dots{}#@}})
+are now executed in lexical closure of the surrounding Scheme code.
+@code{$} is no longer special in embedded Lilypond.  It can be used
+unconditionally in Lilypond code for immediate evaluation, similar to
+how @code{ly:export} could previously be used.  @code{ly:export} has
+been removed.  As a consequence, @code{#} is now free to delay
+evaluation of its argument until the parser actually reduces the
+containing expression, greatly reducing the potential for premature
+evaluation.
+
+@item
+Support for jazz-like chords has been improved: Lydian and altered
+chords are recognised; separators between chord modifiers are now
+treated independently of separators between ``slash'' chords and their
+bass notes (and by default, slashes are now only used for the latter
+type of separator); additional pitches are no longer prefixed with
+``add'' by default; and the ``m'' in minor chords can be customized.
+@ruser{Customizing chord names} for more information.
+
+@item
+The @code{\markuplines} command has been renamed to @code{\markuplist}
+for a better match with its semantics and general Lilypond
+nomenclature.
+
+@item
+The interface for specifying string tunings in tablature has been
+simplified considerably.
+
 @item
 Beams can now have their slopes preserved over line breaks.
 @lilypond[fragment,quote,relative=2]
 \override Beam #'breakable = ##t
-\override Beam #'consistent-broken-slope = ##t
+a8[ b c d e f g \bar "" \break f e d c b a]
+\once \override Beam #'positions = #beam::align-with-broken-parts
+a8[ b c d e f g \bar "" \break f e d c b a]
+\once \override Beam #'positions = #beam::slope-like-broken-parts
 a8[ b c d e f g \bar "" \break f e d c b a]
 @end lilypond
 To do this, several callback functions are now deprecated.
@@ -73,20 +131,30 @@ To do this, several callback functions are now deprecated.
 @item @code{ly:beam::slope-damping}
 @item @code{ly:beam::shift-region-to-valid}
 @end itemize
-All of these functions are now automatically called via @code{ly:beam::quanting}.
-Furthermore, @code{ly:beam::quanting} now only takes one argument -
-the beam grob.
+Furthermore, @code{ly:beam::quanting} now takes an additional argument
+to help calculations over line breaks.  All of these functions are now
+automatically called when setting the @code{positions} parameter.
 
 @item
-Music, event, and scheme functions can now be defined with optional
-arguments before mandatory arguments.
+In function arguments music, markups and Scheme expressions (as well
+as several other syntactic entities) have become mostly
+interchangeable and are told apart only by evaluating the respective
+predicate.
+
+@item
+Music functions (and their close relatives) can now be defined with
+optional arguments.
+
+@item
+For defining commands executed only for their side-effects,
+@code{define-void-function} is now available.
 
 @item
 There is a new @code{define-event-function} command in analogy to
 @code{define-music-function} that can be used for defining music
 functions acting as events without requiring a direction specifier
 (@code{-}, @code{^}, or @code{_}) placed before them.
-@lilypond[quote,verbatim,raggedright]
+@lilypond[quote,verbatim,ragged-right]
 dyn=#(define-event-function (parser location arg) (markup?)
          (make-dynamic-script arg))
 \relative c' { c\dyn pfsss }
@@ -131,7 +199,6 @@ LilyPond creates. Possible values are ERROR, WARN, BASIC_PROGRESS, PROGRESS, DEB
   <e-1>-"left"
 @end lilypond
 
-
 @item
 The alignment of dynamic spanners (hairpins, text crescendo, etc.) is now
 automatically broken if a different direction is explicitly given.