X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=Documentation%2Fchanges.tely;h=635984362fd40e6a85f41de5ccdc6e9959d5f000;hb=0e48c075bce7d60693c5324dab175a650d477f0a;hp=ba222abccd7570796d5d6526998006786f124574;hpb=17bbb6c41ea42252d7eacc1d2be2da8fdf6d9d37;p=lilypond.git diff --git a/Documentation/changes.tely b/Documentation/changes.tely index ba222abccd..635984362f 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 @@ -41,8 +43,7 @@ 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 @@ -50,6 +51,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 @@ -63,6 +66,180 @@ which scares away people. @end ignore +@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: +@lilypond[quote,verbatim] +coloredheads = \with { \override NoteHead #'color = #red } +noclef = \with { \remove "Clef_engraver" } +\score { + \new Staff { + \new Voice \with { \coloredheads } \relative c' { c4 e g c } + } + \layout { + \context { + \Staff + \noclef + } + } +} +@end lilypond + +@item +A half-open articulation was added: +@lilypond[quote,relative=2] +c4\halfopen +@end lilypond +This is sometimes used to indicate half-open hi-hats. + @item The Unicode Bidirectional Algorithm is now fully supported for single-line markup due to enhanced integration with Pango. @@ -76,7 +253,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 { @@ -110,7 +292,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. @@ -257,6 +451,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