\input texinfo @c -*- coding: utf-8; mode: texinfo; -*- @setfilename NEWS.info @settitle NEWS @ifhtml @macro inputfileref{DIR,NAME} @uref{../../\DIR\/collated-files.html#\NAME\,@file{\DIR\/\NAME\}}@c @end macro @macro usermanref{NAME} @inforef{\NAME\,,../user/lilypond/lilypond}@c @end macro @end ifhtml @ifnothtml @macro inputfileref{DIR,NAME} @file{\DIR\/\NAME\}@c @end macro @macro usermanref{NAME} See user manual, \NAME\ @end macro @end ifnothtml @macro textanchor{NAME} @html @end html @end macro @documentencoding utf-8 @documentlanguage en @finalout @ifnottex @node Top @top @end ifnottex @unnumbered New features in 2.11 since 2.10 @ifhtml This document is also available in @uref{NEWS.pdf,PDF}. It's part of the @uref{../,LilyPond Documentation} . @end ifhtml @itemize @bullet @ignore HINTS * only show verbatim input for syntax/input changes * try to be as brief possible in those cases * don't try to provide real-world examples, they often get too big, which scares away people. * Write complete sentences. * only show user-visible changes. @end ignore @item Predefined, user-configurable, transposable fret diagrams are now available in the FretBoards context: @lilypond[] \include "predefined-guitar-fretboards.ly" << \new ChordNames { \chordmode { c1 \transpose c e { c } } } \new FretBoards { \chordmode { c1 \transpose c e { c } } } >> @end lilypond @item The following syntax changes were made, in chronological order. In addition, fret diagram properties have been moved to @code{fret-diagram-details}, and @code{#'style} property is used to select solid/dashed lines instead of @code{#'dash-fraction}. @example #'break-align-symbol -> #'break-align-symbols scripts.caesura -> scripts.caesura.curved \setEasyHeads -> \easyHeadsOn \easyHeadsOff (new command) \fatText -> \textLengthOn \emptyText -> \textLengthOff \set hairpinToBarline -> \override Hairpin #'to-barline \compressMusic -> \scaleDurations \octave -> \octaveCheck \arpeggioUp -> \arpeggioArrowUp \arpeggioDown -> \arpeggioArrowDown \arpeggioNeutral -> \arpeggioNormal \setTextCresc -> \crescTextCresc \setTextDecresc -> \dimTextDecresc \setTextDecr -> \dimTextDecr \setTextDim -> \dimTextDim \setHairpinCresc -> \crescHairpin \setHairpinDecresc -> \dimHairpin \sustainUp -> \sustainOff \sustainDown -> \sustainOn \sostenutoDown -> \sostenutoOn \sostenutoUp -> \sostenutoOff infinite-spacing-height -> extra-spacing-height #(set-octavation oct) -> \ottava #oct \put-adjacent markup axis dir markup -> \put-adjacent axis dir markup markup @end example @item Arpeggios may now use ``parenthesis'' style brackets: @lilypond[relative,ragged-right] \override Arpeggio #'stencil = #ly:arpeggio::brew-chord-slur % Note: does not work for cross staff arpeggios. \override Arpeggio #'X-extent = #ly:grob::stencil-width 2\arpeggio ~ c @end lilypond @item Enclosing text within boxes with rounded corners is now possible, using the @code{rounded-box} command. @item @command{lilypond-book} can run any program instead of @command{latex} to guess the line width, thanks to @code{--latex-program} command line option. @item Underlining is now possible with the @code{\underline} markup command. @item It is now possible to specify, using the @code{page-count} variable in the paper block, the number of pages that will be used. @item A new page breaking function, @code{ly:minimal-breaking}, is dedicated to books with many pages or a lot of texts. @item A table of contents is included using @code{\markuplines \table-of-contents}. Elements are added to it using the @code{\tocItem} command. @item Text spreading over several pages is entered using the @code{\markuplines} keyword. Builtin markup list commands, such as @code{\justified-lines} or @code{\wordwrap-lines} may be used, and new ones created using the @code{define-markup-list-command} Scheme macro. @item Particular points of a book may be marked with the @code{\label} command. Then, the page where these points are placed can be refered to using the @code{\page-ref} markup command. @item Page breaking and page turning commands (@code{\pageBreak}, @code{\noPageBreak}, etc) can be used at top-level, between scores and top-level markups. @item The following options are now changed as a @code{-d} sub-option: @code{--backend}, @code{--safe}, @code{--preview} and @code{--no-pages} (which became @code{-dno-print-pages}). The @code{-b} option does not exist any more. @item Improved testing procedure now catch changes in CPU and memory performance, page layout, MIDI results and warnings. This helps to reduce the number of regression errors during development, resulting in more stable releases. See @uref{INSTALL.html#testing} for more information. @item Nested properties, such as @code{details} in @code{Slur}, can be reverted as well. The syntax for this is @example \revert Slur #'(details closeness-factor) @end example @item All line spanners are more flexible now in the configuration of their end points. This includes glissando, voice followers, text crescendos and other text spanners. The old syntax for setting text on line spanners is no longer valid. @lilypond[] \relative c'' { \override Glissando #'bound-details #'right #'text = \markup { \hcenter \bold down } \override Glissando #'bound-details #'right #'Y = #-4 \override Glissando #'bound-details #'right #'padding = #0.0 \override Glissando #'bound-details #'left #'arrow = ##t \override Glissando #'bound-details #'left #'padding = #3.0 \override Glissando #'style = #'trill \override Glissando #'springs-and-rods = #ly:spanner::set-spacing-rods \override Glissando #'minimum-length = #12 c1 \glissando c' } @end lilypond This feature was sponsored by Trevor Bača. @item The environment variable LILYPONDPREFIX has been renamed to LILYPOND_DATADIR. @item Notes or rests, such as a typical end note, that fill an entire measure are preceded by some more space. @lilypond[ragged-right] \relative c' { \time 4/4 s1 c2. c4 \time 3/4 c2. } @end lilypond @item All @code{\score}s in a lilypond-book fragment are now inserted into the document. Also, toplevel markups don't result in an entire page. @item Alterations (such as a sharp and flat) may now be arbitrary fractions. This allows some forms of microtonal music. For example, Turkish makam music uses 1/9th tone alterations. @lilypondfile{makam.ly} @item Tie directions may be set with @code{^~} and @code{_~} @item Tablature now supports harmonics and slides, @lilypond[fragment,ragged-right,relative=1] \new TabVoice { d\2\glissando e\2 } @end lilypond This feature was sponsored by Mike Amundsen @item Horizontal spacing now follows object outlines more accurately. This allows tighter horizontal spacing. @lilypond[fragment,ragged-right] { \stemUp c''4...*1/2 ceses'! } @end lilypond @item Objects that belong outside of the staff are now positioned automatically to avoid collisions. @lilypond[fragment,ragged-right,relative=1] c'' \once \override TextScript #'self-alignment-X = #CENTER a,^"this doesn't collide with the c" b^"this goes above the previous markup" a8_"this goes below the dynamic" a\f @end lilypond @item Staves are spaced vertically using a skyline algorithm. This helps to avoid uneven vertical spacing. @lilypond[ragged-right] %% todo: fix 'landscape PDF. #(set-default-paper-size "a6" ) \header { tagline = ##f } \book { \score { { a,,1 | a'4 b' c'' d'' \break \repeat unfold 2 {a' b' c'' d''} | b''''1 } } } @end lilypond @item Metronome marks can now also contain a textual description. The duration and count (if given) are shown in parentheses after the text. @lilypond { \tempo "Fast" c'4 c' c' c' c'4 c' c' c' \tempo "Andante" 4 = 120 c'4 c' c' c' c'4 c' c' c' \tempo 4 = 100 c'4 c' c' c' c'4 c' c' c' \tempo "" 4 = 30 c'4 c' c' c' c'4 c' c' c' } @end lilypond @item In figured bass you can now also use a backslash through a number to indicate a raised 6th step. @lilypond[ragged-right] \new FiguredBass \figuremode { < 6\\ 5\\ > < 6/ > } @end lilypond @item Harp pedalling diagrams were added: @lilypond \markup \harp-pedal #"^v-|vv-o^" @end lilypond @end itemize @ifhtml For older news, go to @uref{http://lilypond.org/doc/v2.10/Documentation/topdocs/NEWS.html}, or @uref{../,go back} to the Documentation index. @end ifhtml @bye