1 \input texinfo @c -*- coding: utf-8; mode: texinfo; -*-
2 @setfilename lilypond-changes.info
3 @settitle LilyPond Changes
8 @macro inputfileref{DIR,NAME}
9 @uref{../../\DIR\/collated-files.html#\NAME\,@file{\DIR\/\NAME\}}@c
11 @macro usermanref{NAME}
12 @inforef{\NAME\,,../user/lilypond/lilypond}@c
17 @macro inputfileref{DIR,NAME}
20 @macro usermanref{NAME}
21 See user manual, \NAME\
25 @macro textanchor{NAME}
32 @documentencoding utf-8
39 @top New features in 2.16 since 2.14
41 @allowcodebreaks false
49 * add new items at the top
51 * only show verbatim input for syntax/input changes
53 * try to be as brief possible in those cases
55 * don't try to provide real-world examples, they often get too big,
56 which scares away people.
58 * Write complete sentences.
60 * only show user-visible changes.
64 The @code{\markuplines} command has been renamed to @code{\markuplist}
65 for a better match with its semantics and general Lilypond
69 The interface for specifying string tunings in tablature has been
70 simplified considerably.
73 Beams can now have their slopes preserved over line breaks.
74 @lilypond[fragment,quote,relative=2]
75 \override Beam #'breakable = ##t
76 \override Beam #'consistent-broken-slope = ##t
77 a8[ b c d e f g \bar "" \break f e d c b a]
79 To do this, several callback functions are now deprecated.
81 @item @code{ly:beam::calc-least-squares-positions}
82 @item @code{ly:beam::slope-damping}
83 @item @code{ly:beam::shift-region-to-valid}
85 All of these functions are now automatically called via @code{ly:beam::quanting}.
86 Furthermore, @code{ly:beam::quanting} now only takes one argument -
90 In function arguments music, markups and Scheme expressions (as well
91 as several other syntactic entities) have become mostly
92 interchangeable and are told apart only by evaluating the respective
96 Music functions (and their close relatives) can now be defined with
100 For defining commands executed only for their side-effects,
101 @code{define-void-function} is now available.
104 There is a new @code{define-event-function} command in analogy to
105 @code{define-music-function} that can be used for defining music
106 functions acting as events without requiring a direction specifier
107 (@code{-}, @code{^}, or @code{_}) placed before them.
108 @lilypond[quote,verbatim,raggedright]
109 dyn=#(define-event-function (parser location arg) (markup?)
110 (make-dynamic-script arg))
111 \relative c' { c\dyn pfsss }
115 A list of ASCII aliases for special characters can be included.
116 @lilypond[quote,verbatim]
118 #(include-special-characters)
120 \markup "• † ©right; &OE; &ss; ¶"
124 There is a new @code{define-scheme-function} command in analogy to
125 @code{define-music-function} that can be used to define functions
126 evaluating to Scheme expressions while accepting arguments in Lilypond
130 The construct @code{#@{ @dots{} #@}} can now be used not just for
131 constructing sequential music lists, but also for single music events,
132 void music expressions, post events, markups (mostly freeing users from
133 having to use the @code{markup} macro), markup lists, number
134 expressions, context definitions and modifications, and a few other
135 things. If it encloses nothing or only a single music event, it no
136 longer returns a sequential music list but rather a void music
137 expression or just the music event itself, respectively.
140 New command-line option @option{--loglevel=@var{level}} to control how much output
141 LilyPond creates. Possible values are ERROR, WARN, BASIC_PROGRESS, PROGRESS, DEBUG.
144 @code{\set \once} now correctly resets the property value to the previous value.
145 @lilypond[fragment,quote,relative=2]
146 \set fingeringOrientations = #'(left)
148 \once \set fingeringOrientations = #'(right)
155 The alignment of dynamic spanners (hairpins, text crescendo, etc.) is now
156 automatically broken if a different direction is explicitly given.
157 @lilypond[fragment,quote,relative=2]
163 Appoggiaturas and acciaccaturas now also work inside a slur, not only inside
164 a phrasing slur. Also, a function @code{\slashedGrace} was added that does
165 does not use a slur from the acciaccatura note.
166 @lilypond[fragment,quote,relative=2]
167 c4( \appoggiatura e8 d4 \acciaccatura e8 d4 \slashedGrace e8 c4)
172 To suppress the line on a crescendo text spanner (and other similar spanners),
173 LilyPond now fully supports the @code{#'style = #'none} property.
174 @lilypond[fragment,quote,relative=2]
175 \override DynamicTextSpanner #'style = #'none
180 LilyPond.app now supports MacOS X 10.7, thanks Christian Hitz!
183 Glissandi can now span multiple lines.
188 For older news, go to
189 @uref{http://lilypond.org/doc/v2.14/Documentation/changes/},
190 @uref{http://lilypond.org/doc/v2.12/Documentation/topdocs/NEWS.html},
191 or @uref{../,go back} to the Documentation index.