X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=Documentation%2Fchanges.tely;h=db242294592be90e4dbb9b00c6033c02965555fc;hb=f114e3c33f9c37c39c7a3fedf66ca5a074785118;hp=d680057e50ec7ca44700492f9daff1813acb7b51;hpb=27a4d9354effb09c696925881ec4df007da8a0db;p=lilypond.git diff --git a/Documentation/changes.tely b/Documentation/changes.tely index d680057e50..db24229459 100644 --- a/Documentation/changes.tely +++ b/Documentation/changes.tely @@ -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 @@ -36,11 +38,6 @@ See user manual, \NAME\ @node Top @top New features in 2.13 since 2.12 -@ifhtml -This document is also available in @uref{changes.pdf,PDF}. It is part of -the @uref{lilypond/manuals.html,LilyPond Documentation}. -@end ifhtml - @allowcodebreaks false @itemize @bullet @@ -49,6 +46,8 @@ the @uref{lilypond/manuals.html,LilyPond Documentation}. HINTS +* add new items at the top + * only show verbatim input for syntax/input changes * try to be as brief possible in those cases @@ -62,6 +61,331 @@ which scares away people. @end ignore +@item +Single beat repeats for sixteenth or shorter notes and beat repeats for +measures containing notes of varying durations are now supported. + +@lilypond[fragment,relative=2] +\repeat percent 2 { c16 d } +\repeat percent 2 { c32 e } +\repeat percent 2 { c64 f } +\repeat percent 2 { c128 g' } +@end lilypond + + +@item +Lilypond now engraves woodwind fingering charts. + +@lilypond +\relative c' { + \textLengthOn + des1^\markup { + \woodwind-diagram #'bassoon #'((lh . (thumb-cis)) + (cc . (one two three five six)) + (rh . (f))) + } _"bassoon" + c1^\markup { + \woodwind-diagram #'oboe #'((rh . (c)) + (lh . ()) + (cc . (one two three four five six))) + } _"oboe" + +} +@end lilypond + +@item +MIDI output has been improved +@itemize @bullet +@item voices are kept separated, which makes the MIDI much more useful for postprocessing +@item optimal channel distribution: identical instruments share the same channel. This means that e.g. for a full orchestral score there are always 16 (15 plus percussion) diffently sounding instruments available, unrestricted by the number of staves or voices. +@item dynamics are now rendered as note velocities, no longer as midi dynamics. This improves the sound on [high end] midi renderers. +@end itemize + +@item +MIDI-import through Midi2ly is improved +@itemize @bullet +@item Midi2ly now also works on Windows systems +@item MIDI-files with more than 32 tracks are now handled +@item notes on certain simultaneous voices no longer ignored +@item notes overrunning a bar line are no longer truncated +@item initial key signature and time signature are respected +@item a problem with octaves in subsequent tracks/voices is fixed +@item initial support for multiple voices notated on one staff +@item the instrumentName is set from track data +@item new --skip option, rests are displayed by default +@item rests overrunning a bar line are not truncated +@item new --include-header option for setting titles +@item new --preview option for big MIDI-files +@end itemize +The first feature was sponsored by Valentin Villenave, +the other features were sponsored by Image-Line Software for FL Studio. + +@item +A new @code{Completion_rest_engraver} is available for automatically +converting long rests which overrun bar lines, matching the +@code{Completion_heads_engraver} for notes +@example +\layout @{ + \context @{ + \Voice + \remove "Note_heads_engraver" + \consists "Completion_heads_engraver" + \remove "Rest_engraver" + \consists "Completion_rest_engraver" + @} +@} +@end example +This feature was sponsored by Image-Line Software for FL Studio. + +@item +Dots can be added to the table of contents items using: +@example +\paper @{ + tocItemMarkup = \tocItemWithDotsMarkup +@} +@end example + +@item +New markup commands @code{\pattern} and @code{\fill-with-pattern} are available. +@lilypond +\markup \column { + \pattern #3 #Y #0.3 \flat + \null + \pattern #7 #X #2 \flat + \override #'(line-width . 40) \fill-with-pattern #1 #CENTER . left right +} +@end lilypond + +@item +A minimal composer toolkit of modal transformations is provided. +A motif may be @notation{transposed}, @notation{inverted} and/or +converted to its @notation{retrograde} within any scale. + +@lilypond +pentatonicScale = \relative a' { a c d f g } +motif = \relative c'' { d8 c f,4 } + +\new Staff << + { + \partial 4 + \pentatonicScale + \motif + \modalTranspose c a, \pentatonicScale \motif + \modalInversion d'' a' \pentatonicScale \motif + \retrograde \motif + } + { + \partial 4 + s4^"pentatonic scale" + s1 + s1^"motif" + s1^"transposition" + s1^"inversion" + s1^"retrograde" + } +>> +@end lilypond + +@item +Added minimal support for black mensural notation. + +@item +Enhanced support for obliqua shapes within white mensural ligatures. + +@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}. +@lilypond[quote,relative=2] +c4\cresc c c c\f | +c4\dim c c c\! +@end lilypond + + +@item +The documented syntax of @samp{lilypond} environments in the @LaTeX{} +mode of @command{lilypond-book} has been changed to conform with +standard @LaTeX{} syntax: options now come after the environment name: +@example +\begin@{lilypond@}[@var{options}] @dots{} +@end example + +The previous syntax with options after @samp{\begin} is still accepted +by @command{lilypond-book} but deprecated. Something like +@example +sed -i '/begin\[/s/begin\(\[[^]]*]\)\(@{lilypond@}\)/begin\2\1/' +@end example + +might do the trick for conversion. + +@item +Aesthetics of shape note heads have been enhanced. Variable line thicknesses +have been implemented. All note widths have been made consistent. +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: +@lilypond[quote,relative=2] +c4 d e f \bar "S" +g4 f e d +@end lilypond + @item Context modifications (@code{\with} blocks) can be stored in variables and inserted into contexts or other @code{\with} blocks: @@ -73,7 +397,8 @@ noclef = \with { \remove "Clef_engraver" } \new Voice \with { \coloredheads } \relative c' { c4 e g c } } \layout { - \context { \Staff + \context { + \Staff \noclef } } @@ -100,7 +425,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 { @@ -134,7 +464,19 @@ Chords can be repeated using the @code{q} shortcut: @end lilypond @item -Paper margin defaults, as specified in @file{ly/@/paper@/-defaults@/-init@/.ly}, apply +With two-sided mode, margins for odd and even pages can be set using +@code{inner-margin} and @code{outer-margin}: + +@example +\paper @{ + two-sided = ##t + inner-margin = 10 \mm + outer-margin = 20 \mm +@} +@end example + +@item +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. @@ -282,11 +624,16 @@ FretBoards now have a chordChanges property to keep repeated FretBoard objects from being typeset. @item -A variant of the segno sign is provided: -@lilypond[quote,relative=2] -c4 d e f \bar "S" -g4 f e d -@end lilypond +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