]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/changes.tely
Implement minmax()
[lilypond.git] / Documentation / changes.tely
index 09ac3678e37ba0b1cb69894f96337dc686a5418f..6b08879084d9a379abf2b58731f7602b573b58ea 100644 (file)
@@ -2,6 +2,8 @@
 @setfilename lilypond-changes.info
 @settitle LilyPond Changes
 
+@include macros.itexi
+
 @ifhtml
 @macro inputfileref{DIR,NAME}
 @uref{../../\DIR\/collated-files.html#\NAME\,@file{\DIR\/\NAME\}}@c
@@ -64,6 +66,164 @@ which scares away people.
 
 @end ignore
 
+@item
+Black mensural notation has minimal support.
+
+@item
+Support for obliqua shapes within white mensural ligatures enhanced.
+@lilypond
+\context MensuralStaff
+{
+  \clef "petrucci-c3"
+  \[
+    \override NoteHead #'style = #'semipetrucci
+    c'\maxima
+    \override NoteHead #'style = #'blackpetrucci
+    a\breve
+    \revert NoteHead #'style
+    \override NoteHead #'ligature-flexa = ##t
+    \override NoteHead #'flexa-width = #3
+    g
+    g'
+    \override NoteHead #'flexa-width = #5
+    c'
+    d'
+    \revert NoteHead #'style
+    c'\longa
+  \]
+}
+@end lilypond
+
+@item
+Compound time signatures are now supported by the @code{\compoundMeter} command,
+which can be used instead of @code{\time}:
+@lilypond
+\relative c'' {
+  \compoundMeter #'(3 1 8)
+  c8 c c c
+  \compoundMeter #'((2 8) (5 8))
+  c8 c c c c c c
+  \compoundMeter #'((1 2 3 8) (1 4) (3 8))
+  c8 c c c c c c4 c8 c c
+}
+@end lilypond
+
+@item
+Lyrics above a staff must have their @code{staff-affinity} set to
+@code{DOWN} or must have their @code{alignAboveContext} property
+set in order to be properly aligned.  For more information, see
+@ruser{Placing lyrics vertically}.
+
+@item
+@code{stringTunings} property values have changed from a list of
+semitones above middle C to a list of LilyPond pitch values.
+convert-ly will handle the change automatically where the value
+of @code{stringTunings} is set to a Scheme constant value.
+
+New commands @code{makeStringTuning} and @code{contextStringTuning}
+allow the creation of string tunings in the form of a Lilypond
+chord construct.
+
+@item
+By using @code{\cueDuringWithClef}, cue notes can now also have their own
+clef, which is correctly reset at the end of the cue notes.  At the begin
+of each line, the standard clef is still displayed, but the cue clef is
+shown after the time/key signature in smaller size.
+@lilypond
+vI = \relative c'' { \clef "treble" \repeat unfold 40 g4 }
+\addQuote vIQuote { \vI }
+
+Solo = \relative c {
+  \clef "bass"
+  \cueDuringWithClef #"vIQuote" #DOWN #"treble" { R1 } |
+  c4 \cueDuringWithClef #"vIQuote" #DOWN #"treble" {
+    r4 r2 |
+    r4
+  } c4 c2 |
+  \cueDuringWithClef #"vIQuote" #DOWN "soprano" { R1*2 \break R1 } |
+  c1
+}
+
+\score {
+  <<
+    \new Staff \new Voice \Solo
+  >>
+}
+@end lilypond
+
+
+@item
+Note names can be selected with a new
+@code{@bs{}language "italiano"} command, which
+can be used in safe mode.  The old
+@code{@bs{}include "italiano.ly"} syntax is
+still supported for now, but will be deprecated
+in the future.
+
+@item
+autobeaming is now disabled by @code{\cadenzaOn} and enabled by
+@code{\cadenzaOff}.  Beaming in cadenzas should be indicated manually.
+Also, if a cadenza is used in a piece with autobeaming disabled, it
+will need to be disabled again after the cadenza.
+
+@item
+The user is now able to specify the name of the predefined fretboard
+table.  This allows the use of multiple tables, with switching between them
+based on user input.
+
+@item
+The part-combiner's decision to combine/not combine notes can now be customized
+@lilypond[quote,relative=2]
+\partcombine
+\relative c' { c2 \partcombineApart c | \partcombineChordsOnce e' e }
+\relative c' { c2 \partcombineApart c | c c }
+@end lilypond
+
+@item
+Tablature staves show fret numbers only by default. To get the
+former style, @code{\tabFullNotation} is provided.
+
+@item
+Funk-style and Walker-style shape notes have been added.
+
+@item
+Rests will no longer keep a staff alive if @code{\RemoveEmptyStaffContext}
+is used.
+
+@item
+New option @code{-dinclude-settings=INCLUDEFILE.ly}, which causes lilypond
+to include the given file before the score is processed. This allows the
+user to change global settings without the need to change the score itself.
+That way, several different editions/version (e.g. different page sizes)
+can be generated from a file without having to modify the score for each
+version.
+
+@item
+The autobeaming settings syntax has been changed.  beatLength,
+beatGrouping, beamSettings, and measureGrouping have all been eliminated.
+Autobeaming is now controlled by baseMoment, beatStructure, and
+beamExceptions.  Default settings for each of these properties can be
+stored for any time signature in time-signature-settings, so that
+when the time signature is changed, the autobeaming will automatically
+change.  The new syntax should be much easier and require fewer
+overrides.
+
+@item
+The SVG backend has optional support for
+@uref{http://www.w3.org/Submission/WOFF, WOFF fonts}.  Using the Scheme
+option @code{-d svg-woff} together with the SVG backend selection
+@code{-d backend=svg}, produces SVG output with CSS WOFF font selection.
+
+@item
+The LilyPond G clef has been rotated 1.5 degrees clockwise for improved
+balance.  The old and new versions can be compared by looking at the
+documentation:
+@uref{http://lilypond.org/doc/v2.12/Documentation/user/lilypond/The-Feta-font.html#Clef-glyphs,
+old version},
+@uref{http://lilypond.org/doc/v2.13/Documentation/notation/the-feta-font.html#Clef-glyphs,
+new version}.
+
+
 @item
 Text crescendo spanners can now be added directly using @code{\cresc},
 @code{\dim} and @code{\decresc}.
@@ -96,7 +256,7 @@ Minor shape note commands that use the relative major key for scale steps
 have been added.
 
 @item
-A variant of the segno sign is provided:
+A variant of the Segno sign is provided:
 @lilypond[quote,relative=2]
 c4 d e f \bar "S"
 g4 f e d
@@ -141,7 +301,12 @@ In tablature, frets can be indicated with labels other than numbers:
 @lilypond[verbatim,quote,relative=1]
 \new TabStaff
 \with {
-  stringTunings = #'(17 14 9 5 2 -3)
+  stringTunings = #`(,(ly:make-pitch 1 3 NATURAL)
+                     ,(ly:make-pitch 1 1 NATURAL)
+                    ,(ly:make-pitch 0 5 NATURAL)
+                    ,(ly:make-pitch 0 3 NATURAL)
+                    ,(ly:make-pitch 0 1 NATURAL)
+                    ,(ly:make-pitch -1 5 NATURAL))
   tablatureFormat = #fret-letter-tablature-format
 }
 \new TabVoice {
@@ -187,7 +352,7 @@ With two-sided mode, margins for odd and even pages can be set using
 @end example
 
 @item
-Paper margin defaults, as specified in @file{ly/@/paper@/-defaults@/-init@/.ly}, apply
+Paper margin defaults, as specified in @file{ly/paper@/-defaults-init.ly}, apply
 to the default paper size (a4) and are automatically scaled according to the
 paper size chosen.
 
@@ -334,6 +499,18 @@ and to add notes to the number or fraction:
 FretBoards now have a chordChanges property to keep repeated FretBoard objects
 from being typeset.
 
+@item
+The vertical spacing engine has been drastically changed, making
+it more flexible and easier to control.
+The spacing between staves within a system can now change
+to better use the space on the page.
+User-defined contexts may participate in this flexible spacing,
+depending on how their @code{staff-affinity} is defined.
+Some page formatting variables (@code{page-top-space},
+@code{between-system-space -padding}, and
+@code{before- between- after-title-space}) have been replaced
+by flexible vertical dimensions.
+
 @end itemize