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 is 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 @code{\bookpart} blocks may be used to split a book into several parts,
67 separated by a page break, in order to ease the page breaking, or to use
68 different @code{\paper} settings in different parts.
74 subtitle = "First part"
81 subtitle = "Second part"
89 Nested contexts of the same type are now allowed.
90 This deprecates @code{InnerStaffGroup} and @code{InnerChoirStaff}.
102 Percent repeat counters can be shown at regular intervals using the
103 context property @code{repeatCountVisibility}.
104 @lilypond[relative=1]
106 \set countPercentRepeats = ##t
107 \set repeatCountVisibility = #(every-nth-repeat-count-visible 2)
108 \repeat percent 8 { c4 d e f }
113 In addition to the already existing @code{showLastLength} property,
114 @code{showFirstLength} can now be set as well, rendering only the first
115 measures of a piece. Both properties may be set at the same time:
117 showFirstLength = R1*2
118 showLastLength = R1*3
119 \relative c' { c1 d e f g a b c }
123 The file extension for MIDI can be set using the command-line
124 program default @code{midi-extension}. For Windows, the default
125 extension has been changed to @code{.mid}.
128 Two variations on the default double repeat bar line are now available.
131 \set Score.doubleRepeatType = #":|.:"
144 Four automatic accidentals rules have been added: @code{neo-modern},
145 @code{neo-modern-cautionary}, @code{dodecaphonic} and @code{teaching}.
146 The following example illustrates @code{neo-modern} rule.
151 cis'8 fis, d'4 <a cis>8 f bis4 |
163 #(set-accidental-style 'neo-modern)
169 Flags can now be generated with Scheme-code using the @code{'flag}
170 @code{Stem} grob property. Existing scores will work without change.
177 #(define (inverted-flag stem-grob)
178 (let* ((dir (if (eqv? (ly:grob-property stem-grob 'direction) UP) "d" "u"))
179 (flag (retrieve-glyph-flag "" dir "" stem-grob))
180 (line-thickness (ly:staff-symbol-line-thickness stem-grob))
181 (stem-thickness (ly:grob-property stem-grob 'thickness))
182 (stem-width (* line-thickness stem-thickness))
183 (stroke-style (ly:grob-property stem-grob 'stroke-style))
184 (stencil (if (null? stroke-style) flag
185 (add-stroke-glyph flag stem-grob dir stroke-style "")))
186 (rotated-flag (ly:stencil-rotate-absolute stencil 180 0 0)))
187 (ly:stencil-translate rotated-flag (cons (- (/ stem-width 2)) 0))))
189 #(define-public (weight-flag stem-grob)
190 (let* ((log (- (ly:grob-property stem-grob 'duration-log) 2))
191 (is-up (eqv? (ly:grob-property stem-grob 'direction) UP))
192 (yext (if is-up (cons (* log -0.8) 0) (cons 0 (* log 0.8))))
193 (flag-stencil (make-filled-box-stencil '(-0.4 . 0.4) yext))
194 (stroke-style (ly:grob-property stem-grob 'stroke-style))
195 (stroke-stencil (if (equal? stroke-style "grace")
196 (make-line-stencil 0.2 -0.9 -0.4 0.9 -0.4)
198 (ly:stencil-add flag-stencil stroke-stencil)))
202 \override Stem #'flag = #weight-flag
205 \override Stem #'flag = #inverted-flag
211 Harp pedalling diagrams were added:
214 \markup { \harp-pedal #"^v-|vv-o^" }
218 Predefined, user-configurable, transposable fret diagrams
219 are now available in the @code{FretBoards} context:
221 \include "predefined-guitar-fretboards.ly"
239 The following syntax changes were made, in chronological order. In
240 addition, fret diagram properties have been moved to
241 @code{fret-diagram-details}, and the @code{#'style} property is
242 used to select solid/dashed lines instead of @code{#'dash-fraction}.
245 'break-align-symbol -> 'break-align-symbols
246 scripts.caesura -> scripts.caesura.curved
247 \setEasyHeads -> \easyHeadsOn
248 \easyHeadsOff (new command)
249 \fatText -> \textLengthOn
250 \emptyText -> \textLengthOff
251 \set hairpinToBarline -> \override Hairpin #'to-barline
252 \compressMusic -> \scaleDurations
253 \octave -> \octaveCheck
254 \arpeggioUp -> \arpeggioArrowUp
255 \arpeggioDown -> \arpeggioArrowDown
256 \arpeggioNeutral -> \arpeggioNormal
257 \setTextCresc -> \crescTextCresc
258 \setTextDecresc -> \dimTextDecresc
259 \setTextDecr -> \dimTextDecr
260 \setTextDim -> \dimTextDim
261 \setHairpinCresc -> \crescHairpin
262 \setHairpinDecresc -> \dimHairpin
263 \sustainUp -> \sustainOff
264 \sustainDown -> \sustainOn
265 \sostenutoDown -> \sostenutoOn
266 \sostenutoUp -> \sostenutoOff
267 'infinite-spacing-height -> 'extra-spacing-height
268 #(set-octavation oct) -> \ottava #oct
269 \put-adjacent markup axis dir markup -> \put-adjacent axis dir markup markup
270 \pointAndClickOn (new command)
271 \pointAndClickOff (new command)
272 \center-align -> \center-column
273 \hcenter -> \center-align
274 printallheaders -> print-all-headers
275 \bigger -> \larger (already existing command)
276 systemSeparatorMarkup -> system-separator-markup
280 Moreover, some files in the @code{ly/} directory have been renamed;
281 the *-init.ly filenames are now only used for files that are automatically
282 included, while such files as @code{makam-init.ly} or @code{gregorian-init.ly}
283 have been renamed to @code{makam.ly} or @code{gregorian.ly}.
286 The ``tex'' and ``texstr'' backends have been removed. Font are now
287 accessed via the fontconfig library; the Pango library is used to display
291 Metronome marks can now also contain a textual description. The
292 duration and count (if given) are shown in parentheses after the text.
299 \tempo "Andante" 4 = 120
312 In figured bass you can now also use a backslash through a number to
313 indicate a raised 6th step.
316 \new FiguredBass \figuremode { < 6\\ 5\\ > < 6/ > }
320 Arpeggios may now use ``parenthesis'' style brackets:
322 @lilypond[relative=1]
323 \override Arpeggio #'stencil = #ly:arpeggio::brew-chord-slur
325 % Note: does not work for cross-staff arpeggios.
326 \override Arpeggio #'X-extent = #ly:grob::stencil-width
327 <c g' c>2\arpeggio ~ c
331 Single-system scores are now naturally spaced instead of being
332 stretched to fill the line width. This can be changed by setting
333 @code{ragged-right = ##f}.
336 Enclosing text within boxes with rounded corners is now possible,
337 using the @code{\rounded-box} markup command.
340 @command{lilypond-book} can run any program instead of @command{latex}
341 to guess the line width, thanks to @code{--latex-program} command line
345 Underlining is now possible with the @code{\underline} markup command.
348 It is now possible to specify, using the @code{page-count} variable in
349 the paper block, the number of pages that will be used.
352 A new page breaking function, @code{ly:minimal-breaking}, is dedicated
353 to books with many pages or a lot of text.
356 A table of contents is included using @code{\markuplines \table-of-contents}.
357 Elements are added to it using the @code{\tocItem} command.
360 Text spreading over several pages is entered using the
361 @code{\markuplines} keyword. Builtin markup list commands, such as
362 @code{\justified-lines} or @code{\wordwrap-lines} may be used, and new
363 ones created using the @code{define-markup-list-command} Scheme macro.
366 Particular points of a book may be marked with the @code{\label}
367 command. Then, the page where these points are placed can be
368 referred to using the @code{\page-ref} markup command.
371 Page breaking and page turning commands (@code{\pageBreak},
372 @code{\noPageBreak}, etc.) can be used at top-level, between scores and
376 The following options are now changed as a @code{-d} sub-option:
377 @code{--backend}, @code{--safe}, @code{--preview} and
378 @code{--no-pages} (which became @code{-dno-print-pages}). The @code{-b}
379 option does not exist any more.
382 Improved testing procedures now catch changes in CPU and memory
383 performance, page layout, MIDI results and warnings. This helps to
384 reduce the number of regression errors during development, resulting
385 in more stable releases.
387 See @uref{INSTALL.html#Testing-LilyPond} for more information.
390 Nested properties, such as @code{'details} in @code{Slur}, can be
391 reverted as well. The syntax for this is
394 \revert Slur #'(details closeness-factor)
398 All line spanners are more flexible now in the configuration of
399 their end points. This includes glissando, voice followers, text
400 crescendos and other text spanners. The old syntax for setting
401 text on line spanners is no longer valid.
405 \override Glissando #'(bound-details right text) = \markup { \center-align \bold down }
406 \override Glissando #'(bound-details right Y) = #-4
407 \override Glissando #'(bound-details right padding) = #0.0
408 \override Glissando #'(bound-details left arrow) = ##t
409 \override Glissando #'(bound-details left padding) = #3.0
410 \override Glissando #'style = #'trill
411 \override Glissando #'springs-and-rods = #ly:spanner::set-spacing-rods
412 \override Glissando #'minimum-length = #12
418 This feature was sponsored by Trevor Bača.
421 The environment variable @code{LILYPONDPREFIX} has been renamed
422 @code{LILYPOND_DATADIR}.
425 Notes or rests, such as a typical end note, that fill an entire
426 measure are preceded by some more space.
428 @lilypond[relative=1]
437 All @code{\score}s in a lilypond-book fragment are now inserted
438 into the document. Also, toplevel markups don't result in an entire
442 Alterations (such as a sharp or flat) may now be arbitrary
443 fractions. This allows some forms of microtonal music. For example,
444 Turkish makam music uses 1/9th tone alterations.
446 @lilypondfile{makam-example.ly}
449 Tie directions may be set with @code{^~} and @code{_~}.
452 Tablature now supports harmonics and slides:
454 @lilypond[relative=1]
456 <c g'\harmonic>4 d\2\glissando e2\2
460 This feature was sponsored by Mike Amundsen
463 Horizontal spacing now follows object outlines more accurately.
464 This allows tighter horizontal spacing.
474 Objects that belong outside of the staff are now positioned
475 automatically to avoid collisions.
477 @lilypond[relative=1]
479 \once \override TextScript #'self-alignment-X = #CENTER
480 a,4^"this doesn't collide with the c"
481 b4^"this goes above the previous markup"
482 a8_"this goes below the dynamic"
487 Staves are spaced vertically using a skyline algorithm. This helps
488 prevent uneven vertical spacing.
490 @lilypond[ragged-right]
492 %% todo: fix 'landscape PDF.
493 #(set-default-paper-size "a6")
502 a'4 b' c'' d'' \break
503 \repeat unfold 2 { a'4 b' c'' d''}
515 For older news, go to
516 @uref{http://lilypond.org/doc/v2.10/Documentation/topdocs/NEWS.html},
517 or @uref{../,go back} to the Documentation index.