1 \input texinfo @c -*- coding: utf-8; mode: texinfo; -*-
6 @macro inputfileref{DIR,NAME}
7 @uref{../../\DIR\/collated-files.html#\NAME\,@file{\DIR\/\NAME\}}@c
9 @macro usermanref{NAME}
10 @inforef{\NAME\,,../user/lilypond/lilypond}@c
15 @macro inputfileref{DIR,NAME}
18 @macro usermanref{NAME}
19 See user manual, \NAME\
23 @macro textanchor{NAME}
30 @documentencoding utf-8
36 @top New features in 2.11 since 2.10
39 This document is also available in @uref{NEWS.pdf,PDF}. It's part of
40 the @uref{../,LilyPond Documentation} .
52 * only show verbatim input for syntax/input changes
54 * try to be as brief possible in those cases
56 * don't try to provide real-world examples, they often get too big,
57 which scares away people.
59 * Write complete sentences.
61 * only show user-visible changes.
66 In addition to the already existing @code{showLastLength} property,
67 @code{showFirstLength} can now be set as well, rendering only the first
68 measures of a piece. Both properties may be set at the same time:
70 showFirstLength = R1*2
72 \relative c' { c1 d e f g a b c }
76 The file extension for MIDI can be set using the command-line
77 program default @code{midi-extension}. For Windows, the default
78 extension has been changed to @code{.mid}.
81 Two variations on the default double repeat bar line are now available.
84 \set Score.doubleRepeatType = #":|.:"
97 Four automatic accidentals rules have been added: @code{neo-modern},
98 @code{neo-modern-cautionary}, @code{dodecaphonic} and @code{teaching}.
99 The following example illustrates @code{neo-modern} rule.
104 cis'8 fis, d'4 <a cis>8 f bis4 |
116 #(set-accidental-style 'neo-modern)
122 Flags can now be generated with Scheme-code using the @code{'flag}
123 @code{Stem} grob property. Existing scores will work without change.
130 #(define (inverted-flag stem-grob)
131 (let* ((dir (if (eqv? (ly:grob-property stem-grob 'direction) UP) "d" "u"))
132 (flag (retrieve-glyph-flag "" dir "" stem-grob))
133 (line-thickness (ly:staff-symbol-line-thickness stem-grob))
134 (stem-thickness (ly:grob-property stem-grob 'thickness))
135 (stem-width (* line-thickness stem-thickness))
136 (stroke-style (ly:grob-property stem-grob 'stroke-style))
137 (stencil (if (null? stroke-style) flag
138 (add-stroke-glyph flag stem-grob dir stroke-style "")))
139 (rotated-flag (ly:stencil-rotate-absolute stencil 180 0 0)))
140 (ly:stencil-translate rotated-flag (cons (- (/ stem-width 2)) 0))))
142 #(define-public (weight-flag stem-grob)
143 (let* ((log (- (ly:grob-property stem-grob 'duration-log) 2))
144 (is-up (eqv? (ly:grob-property stem-grob 'direction) UP))
145 (yext (if is-up (cons (* log -0.8) 0) (cons 0 (* log 0.8))))
146 (flag-stencil (make-filled-box-stencil '(-0.4 . 0.4) yext))
147 (stroke-style (ly:grob-property stem-grob 'stroke-style))
148 (stroke-stencil (if (equal? stroke-style "grace") (make-line-stencil 0.2 -0.9 -0.4 0.9 -0.4) empty-stencil)))
149 (ly:stencil-add flag-stencil stroke-stencil)))
153 \override Stem #'flag = #weight-flag
156 \override Stem #'flag = #inverted-flag
162 Harp pedalling diagrams were added:
165 \markup { \harp-pedal #"^v-|vv-o^" }
169 Predefined, user-configurable, transposable fret diagrams
170 are now available in the @code{FretBoards} context:
172 \include "predefined-guitar-fretboards.ly"
190 The following syntax changes were made, in chronological order. In
191 addition, fret diagram properties have been moved to
192 @code{fret-diagram-details}, and the @code{#'style} property is
193 used to select solid/dashed lines instead of @code{#'dash-fraction}.
196 'break-align-symbol -> 'break-align-symbols
197 scripts.caesura -> scripts.caesura.curved
198 \setEasyHeads -> \easyHeadsOn
199 \easyHeadsOff (new command)
200 \fatText -> \textLengthOn
201 \emptyText -> \textLengthOff
202 \set hairpinToBarline -> \override Hairpin #'to-barline
203 \compressMusic -> \scaleDurations
204 \octave -> \octaveCheck
205 \arpeggioUp -> \arpeggioArrowUp
206 \arpeggioDown -> \arpeggioArrowDown
207 \arpeggioNeutral -> \arpeggioNormal
208 \setTextCresc -> \crescTextCresc
209 \setTextDecresc -> \dimTextDecresc
210 \setTextDecr -> \dimTextDecr
211 \setTextDim -> \dimTextDim
212 \setHairpinCresc -> \crescHairpin
213 \setHairpinDecresc -> \dimHairpin
214 \sustainUp -> \sustainOff
215 \sustainDown -> \sustainOn
216 \sostenutoDown -> \sostenutoOn
217 \sostenutoUp -> \sostenutoOff
218 'infinite-spacing-height -> 'extra-spacing-height
219 #(set-octavation oct) -> \ottava #oct
220 \put-adjacent markup axis dir markup -> \put-adjacent axis dir markup markup
221 \pointAndClickOn (new command)
222 \pointAndClickOff (new command)
223 \center-align -> \center-column
224 \hcenter -> \center-align
225 printallheaders -> print-all-headers
226 \bigger -> \larger (already existing command)
230 Moreover, some files in the @code{ly/} directory have been renamed;
231 the *-init.ly filenames are now only used for files that are automatically
232 included, while such files as @code{makam-init.ly} or @code{gregorian-init.ly}
233 have been renamed to @code{makam.ly} or @code{gregorian.ly}.
236 Metronome marks can now also contain a textual description. The
237 duration and count (if given) are shown in parentheses after the text.
244 \tempo "Andante" 4 = 120
257 In figured bass you can now also use a backslash through a number to
258 indicate a raised 6th step.
261 \new FiguredBass \figuremode { < 6\\ 5\\ > < 6/ > }
265 Arpeggios may now use ``parenthesis'' style brackets:
267 @lilypond[relative=1]
268 \override Arpeggio #'stencil = #ly:arpeggio::brew-chord-slur
270 % Note: does not work for cross-staff arpeggios.
271 \override Arpeggio #'X-extent = #ly:grob::stencil-width
272 <c g' c>2\arpeggio ~ c
276 Single-system scores are now naturally spaced instead of being
277 stretched to fill the line width. This can be changed by setting
278 @code{ragged-right = ##f}.
281 Enclosing text within boxes with rounded corners is now possible,
282 using the @code{\rounded-box} markup command.
285 @command{lilypond-book} can run any program instead of @command{latex}
286 to guess the line width, thanks to @code{--latex-program} command line
290 Underlining is now possible with the @code{\underline} markup command.
293 It is now possible to specify, using the @code{page-count} variable in
294 the paper block, the number of pages that will be used.
297 A new page breaking function, @code{ly:minimal-breaking}, is dedicated
298 to books with many pages or a lot of text.
301 A table of contents is included using @code{\markuplines \table-of-contents}.
302 Elements are added to it using the @code{\tocItem} command.
305 Text spreading over several pages is entered using the
306 @code{\markuplines} keyword. Builtin markup list commands, such as
307 @code{\justified-lines} or @code{\wordwrap-lines} may be used, and new
308 ones created using the @code{define-markup-list-command} Scheme macro.
311 Particular points of a book may be marked with the @code{\label}
312 command. Then, the page where these points are placed can be
313 referred to using the @code{\page-ref} markup command.
316 Page breaking and page turning commands (@code{\pageBreak},
317 @code{\noPageBreak}, etc.) can be used at top-level, between scores and
321 The following options are now changed as a @code{-d} sub-option:
322 @code{--backend}, @code{--safe}, @code{--preview} and
323 @code{--no-pages} (which became @code{-dno-print-pages}). The @code{-b}
324 option does not exist any more.
327 Improved testing procedures now catch changes in CPU and memory
328 performance, page layout, MIDI results and warnings. This helps to
329 reduce the number of regression errors during development, resulting
330 in more stable releases.
332 See @uref{INSTALL.html#Testing-LilyPond} for more information.
335 Nested properties, such as @code{'details} in @code{Slur}, can be
336 reverted as well. The syntax for this is
339 \revert Slur #'(details closeness-factor)
343 All line spanners are more flexible now in the configuration of
344 their end points. This includes glissando, voice followers, text
345 crescendos and other text spanners. The old syntax for setting
346 text on line spanners is no longer valid.
350 \override Glissando #'bound-details #'right #'text = \markup { \center-align \bold down }
351 \override Glissando #'bound-details #'right #'Y = #-4
352 \override Glissando #'bound-details #'right #'padding = #0.0
353 \override Glissando #'bound-details #'left #'arrow = ##t
354 \override Glissando #'bound-details #'left #'padding = #3.0
355 \override Glissando #'style = #'trill
356 \override Glissando #'springs-and-rods = #ly:spanner::set-spacing-rods
357 \override Glissando #'minimum-length = #12
363 This feature was sponsored by Trevor Bača.
366 The environment variable @code{LILYPONDPREFIX} has been renamed
367 @code{LILYPOND_DATADIR}.
370 Notes or rests, such as a typical end note, that fill an entire
371 measure are preceded by some more space.
384 All @code{\score}s in a lilypond-book fragment are now inserted
385 into the document. Also, toplevel markups don't result in an entire
389 Alterations (such as a sharp or flat) may now be arbitrary
390 fractions. This allows some forms of microtonal music. For example,
391 Turkish makam music uses 1/9th tone alterations.
393 @lilypondfile{makam-example.ly}
396 Tie directions may be set with @code{^~} and @code{_~}.
399 Tablature now supports harmonics and slides:
401 @lilypond[relative=1]
403 <c g'\harmonic>4 d\2\glissando e2\2
407 This feature was sponsored by Mike Amundsen
410 Horizontal spacing now follows object outlines more accurately.
411 This allows tighter horizontal spacing.
421 Objects that belong outside of the staff are now positioned
422 automatically to avoid collisions.
424 @lilypond[relative=1]
426 \once \override TextScript #'self-alignment-X = #CENTER
427 a,4^"this doesn't collide with the c"
428 b4^"this goes above the previous markup"
429 a8_"this goes below the dynamic"
434 Staves are spaced vertically using a skyline algorithm. This helps
435 prevent uneven vertical spacing.
437 @lilypond[ragged-right]
439 %% todo: fix 'landscape PDF.
440 #(set-default-paper-size "a6")
449 a'4 b' c'' d'' \break
450 \repeat unfold 2 { a'4 b' c'' d''}
462 For older news, go to
463 @uref{http://lilypond.org/doc/v2.10/Documentation/topdocs/NEWS.html},
464 or @uref{../,go back} to the Documentation index.