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 Nested contexts of the same type are now allowed.
67 This deprecates @code{InnerStaffGroup} and @code{InnerChoirStaff}.
79 In addition to the already existing @code{showLastLength} property,
80 @code{showFirstLength} can now be set as well, rendering only the first
81 measures of a piece. Both properties may be set at the same time:
83 showFirstLength = R1*2
85 \relative c' { c1 d e f g a b c }
89 The file extension for MIDI can be set using the command-line
90 program default @code{midi-extension}. For Windows, the default
91 extension has been changed to @code{.mid}.
94 Two variations on the default double repeat bar line are now available.
97 \set Score.doubleRepeatType = #":|.:"
110 Four automatic accidentals rules have been added: @code{neo-modern},
111 @code{neo-modern-cautionary}, @code{dodecaphonic} and @code{teaching}.
112 The following example illustrates @code{neo-modern} rule.
117 cis'8 fis, d'4 <a cis>8 f bis4 |
129 #(set-accidental-style 'neo-modern)
135 Flags can now be generated with Scheme-code using the @code{'flag}
136 @code{Stem} grob property. Existing scores will work without change.
143 #(define (inverted-flag stem-grob)
144 (let* ((dir (if (eqv? (ly:grob-property stem-grob 'direction) UP) "d" "u"))
145 (flag (retrieve-glyph-flag "" dir "" stem-grob))
146 (line-thickness (ly:staff-symbol-line-thickness stem-grob))
147 (stem-thickness (ly:grob-property stem-grob 'thickness))
148 (stem-width (* line-thickness stem-thickness))
149 (stroke-style (ly:grob-property stem-grob 'stroke-style))
150 (stencil (if (null? stroke-style) flag
151 (add-stroke-glyph flag stem-grob dir stroke-style "")))
152 (rotated-flag (ly:stencil-rotate-absolute stencil 180 0 0)))
153 (ly:stencil-translate rotated-flag (cons (- (/ stem-width 2)) 0))))
155 #(define-public (weight-flag stem-grob)
156 (let* ((log (- (ly:grob-property stem-grob 'duration-log) 2))
157 (is-up (eqv? (ly:grob-property stem-grob 'direction) UP))
158 (yext (if is-up (cons (* log -0.8) 0) (cons 0 (* log 0.8))))
159 (flag-stencil (make-filled-box-stencil '(-0.4 . 0.4) yext))
160 (stroke-style (ly:grob-property stem-grob 'stroke-style))
161 (stroke-stencil (if (equal? stroke-style "grace")
162 (make-line-stencil 0.2 -0.9 -0.4 0.9 -0.4)
164 (ly:stencil-add flag-stencil stroke-stencil)))
168 \override Stem #'flag = #weight-flag
171 \override Stem #'flag = #inverted-flag
177 Harp pedalling diagrams were added:
180 \markup { \harp-pedal #"^v-|vv-o^" }
184 Predefined, user-configurable, transposable fret diagrams
185 are now available in the @code{FretBoards} context:
187 \include "predefined-guitar-fretboards.ly"
205 The following syntax changes were made, in chronological order. In
206 addition, fret diagram properties have been moved to
207 @code{fret-diagram-details}, and the @code{#'style} property is
208 used to select solid/dashed lines instead of @code{#'dash-fraction}.
211 'break-align-symbol -> 'break-align-symbols
212 scripts.caesura -> scripts.caesura.curved
213 \setEasyHeads -> \easyHeadsOn
214 \easyHeadsOff (new command)
215 \fatText -> \textLengthOn
216 \emptyText -> \textLengthOff
217 \set hairpinToBarline -> \override Hairpin #'to-barline
218 \compressMusic -> \scaleDurations
219 \octave -> \octaveCheck
220 \arpeggioUp -> \arpeggioArrowUp
221 \arpeggioDown -> \arpeggioArrowDown
222 \arpeggioNeutral -> \arpeggioNormal
223 \setTextCresc -> \crescTextCresc
224 \setTextDecresc -> \dimTextDecresc
225 \setTextDecr -> \dimTextDecr
226 \setTextDim -> \dimTextDim
227 \setHairpinCresc -> \crescHairpin
228 \setHairpinDecresc -> \dimHairpin
229 \sustainUp -> \sustainOff
230 \sustainDown -> \sustainOn
231 \sostenutoDown -> \sostenutoOn
232 \sostenutoUp -> \sostenutoOff
233 'infinite-spacing-height -> 'extra-spacing-height
234 #(set-octavation oct) -> \ottava #oct
235 \put-adjacent markup axis dir markup -> \put-adjacent axis dir markup markup
236 \pointAndClickOn (new command)
237 \pointAndClickOff (new command)
238 \center-align -> \center-column
239 \hcenter -> \center-align
240 printallheaders -> print-all-headers
241 \bigger -> \larger (already existing command)
242 systemSeparatorMarkup -> system-separator-markup
246 Moreover, some files in the @code{ly/} directory have been renamed;
247 the *-init.ly filenames are now only used for files that are automatically
248 included, while such files as @code{makam-init.ly} or @code{gregorian-init.ly}
249 have been renamed to @code{makam.ly} or @code{gregorian.ly}.
252 Metronome marks can now also contain a textual description. The
253 duration and count (if given) are shown in parentheses after the text.
260 \tempo "Andante" 4 = 120
273 In figured bass you can now also use a backslash through a number to
274 indicate a raised 6th step.
277 \new FiguredBass \figuremode { < 6\\ 5\\ > < 6/ > }
281 Arpeggios may now use ``parenthesis'' style brackets:
283 @lilypond[relative=1]
284 \override Arpeggio #'stencil = #ly:arpeggio::brew-chord-slur
286 % Note: does not work for cross-staff arpeggios.
287 \override Arpeggio #'X-extent = #ly:grob::stencil-width
288 <c g' c>2\arpeggio ~ c
292 Single-system scores are now naturally spaced instead of being
293 stretched to fill the line width. This can be changed by setting
294 @code{ragged-right = ##f}.
297 Enclosing text within boxes with rounded corners is now possible,
298 using the @code{\rounded-box} markup command.
301 @command{lilypond-book} can run any program instead of @command{latex}
302 to guess the line width, thanks to @code{--latex-program} command line
306 Underlining is now possible with the @code{\underline} markup command.
309 It is now possible to specify, using the @code{page-count} variable in
310 the paper block, the number of pages that will be used.
313 A new page breaking function, @code{ly:minimal-breaking}, is dedicated
314 to books with many pages or a lot of text.
317 A table of contents is included using @code{\markuplines \table-of-contents}.
318 Elements are added to it using the @code{\tocItem} command.
321 Text spreading over several pages is entered using the
322 @code{\markuplines} keyword. Builtin markup list commands, such as
323 @code{\justified-lines} or @code{\wordwrap-lines} may be used, and new
324 ones created using the @code{define-markup-list-command} Scheme macro.
327 Particular points of a book may be marked with the @code{\label}
328 command. Then, the page where these points are placed can be
329 referred to using the @code{\page-ref} markup command.
332 Page breaking and page turning commands (@code{\pageBreak},
333 @code{\noPageBreak}, etc.) can be used at top-level, between scores and
337 The following options are now changed as a @code{-d} sub-option:
338 @code{--backend}, @code{--safe}, @code{--preview} and
339 @code{--no-pages} (which became @code{-dno-print-pages}). The @code{-b}
340 option does not exist any more.
343 Improved testing procedures now catch changes in CPU and memory
344 performance, page layout, MIDI results and warnings. This helps to
345 reduce the number of regression errors during development, resulting
346 in more stable releases.
348 See @uref{INSTALL.html#Testing-LilyPond} for more information.
351 Nested properties, such as @code{'details} in @code{Slur}, can be
352 reverted as well. The syntax for this is
355 \revert Slur #'(details closeness-factor)
359 All line spanners are more flexible now in the configuration of
360 their end points. This includes glissando, voice followers, text
361 crescendos and other text spanners. The old syntax for setting
362 text on line spanners is no longer valid.
366 \override Glissando #'bound-details #'right #'text = \markup { \center-align \bold down }
367 \override Glissando #'bound-details #'right #'Y = #-4
368 \override Glissando #'bound-details #'right #'padding = #0.0
369 \override Glissando #'bound-details #'left #'arrow = ##t
370 \override Glissando #'bound-details #'left #'padding = #3.0
371 \override Glissando #'style = #'trill
372 \override Glissando #'springs-and-rods = #ly:spanner::set-spacing-rods
373 \override Glissando #'minimum-length = #12
379 This feature was sponsored by Trevor Bača.
382 The environment variable @code{LILYPONDPREFIX} has been renamed
383 @code{LILYPOND_DATADIR}.
386 Notes or rests, such as a typical end note, that fill an entire
387 measure are preceded by some more space.
389 @lilypond[relative=1]
398 All @code{\score}s in a lilypond-book fragment are now inserted
399 into the document. Also, toplevel markups don't result in an entire
403 Alterations (such as a sharp or flat) may now be arbitrary
404 fractions. This allows some forms of microtonal music. For example,
405 Turkish makam music uses 1/9th tone alterations.
407 @lilypondfile{makam-example.ly}
410 Tie directions may be set with @code{^~} and @code{_~}.
413 Tablature now supports harmonics and slides:
415 @lilypond[relative=1]
417 <c g'\harmonic>4 d\2\glissando e2\2
421 This feature was sponsored by Mike Amundsen
424 Horizontal spacing now follows object outlines more accurately.
425 This allows tighter horizontal spacing.
435 Objects that belong outside of the staff are now positioned
436 automatically to avoid collisions.
438 @lilypond[relative=1]
440 \once \override TextScript #'self-alignment-X = #CENTER
441 a,4^"this doesn't collide with the c"
442 b4^"this goes above the previous markup"
443 a8_"this goes below the dynamic"
448 Staves are spaced vertically using a skyline algorithm. This helps
449 prevent uneven vertical spacing.
451 @lilypond[ragged-right]
453 %% todo: fix 'landscape PDF.
454 #(set-default-paper-size "a6")
463 a'4 b' c'' d'' \break
464 \repeat unfold 2 { a'4 b' c'' d''}
476 For older news, go to
477 @uref{http://lilypond.org/doc/v2.10/Documentation/topdocs/NEWS.html},
478 or @uref{../,go back} to the Documentation index.