X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=Documentation%2Ftopdocs%2FNEWS.tely;h=02cd922aafe729c1a23ebde5e85d5e072087d441;hb=37ca1f80bf5401accd17056938f4f7b2c147ddb2;hp=0146cd0ec455cdd78329cf5cc4c5208422391887;hpb=f88087ee5074153e31edb79c4b587bb66776782a;p=lilypond.git diff --git a/Documentation/topdocs/NEWS.tely b/Documentation/topdocs/NEWS.tely index 0146cd0ec4..f4c832cb2a 100644 --- a/Documentation/topdocs/NEWS.tely +++ b/Documentation/topdocs/NEWS.tely @@ -4,10 +4,10 @@ @ifhtml @macro inputfileref{DIR,NAME} -@uref{../../../\DIR\/out-www/collated-files.html#\NAME\,@file{\DIR\/\NAME\}}@c +@uref{../../\DIR\/collated-files.html#\NAME\,@file{\DIR\/\NAME\}}@c @end macro @macro usermanref{NAME} -@inforef{\NAME\,,../../user/out-www/lilypond/lilypond}@c +@inforef{\NAME\,,../user/lilypond/lilypond}@c @end macro @end ifhtml @@ -20,7 +20,6 @@ See user manual, \NAME\ @end macro @end ifnothtml - @macro textanchor{NAME} @html @@ -31,14 +30,17 @@ See user manual, \NAME\ @documentencoding utf-8 @documentlanguage en +@finalout + @ifnottex @node Top @top @end ifnottex -@unnumbered New features in 2.7 since 2.6 +@unnumbered New features in 2.11 since 2.10 @ifhtml -This document is also available in @uref{NEWS.pdf,PDF}. +This document is also available in @uref{NEWS.pdf,PDF}. It's part of +the @uref{../,LilyPond Documentation} . @end ifhtml @@ -46,486 +48,224 @@ This document is also available in @uref{NEWS.pdf,PDF}. @itemize @bullet -@item -It's now possible to easily create deeply nested system start -delimiters, - -@lilypond[raggedright] -\new StaffGroup -\relative << - \set StaffGroup.systemStartDelimiterHierarchy - = #'(SystemStartSquare (SystemStartBracket a (SystemStartSquare b)) d) - \new Staff { c1 } - \new Staff { c1 } - \new Staff { c1 } - \new Staff { c1 } - \new Staff { c1 } ->> -@end lilypond +@ignore +HINTS -In addition, there is now also support for ``square'' system start -brackets. +* only show verbatim input for syntax/input changes -This feature was sponsored by Trevor Bača. +* try to be as brief possible in those cases -@item -Tie formatting now uses scoring. This opens the road to formatting -which handles complex situations require tradeoffs between different -beauty factors. +* don't try to provide real-world examples, they often get too big, +which scares away people. -This refactoring has been sponsored by Steve Doonan. - -@item -Each grob property may also be a ``grob closure.'' This means that it -is possible to combine functions. For example, the @code{Y-offset} of -a @code{InstrumentName} grob is defined to be - -@verbatim -,(ly:make-simple-closure - `(,+ - ,(ly:make-simple-closure - (,Self_alignment_interface::y_aligned_on_self)) - ,(ly:make-simple-closure - (,Side_position_interface::y_aligned_on_support_refpoints))) -@end verbatim - -@noindent -During execution, the @code{Y-offset} of an @code{InstrumentName} is computed -as +* Write complete sentences. -@example -(+ (Self_alignment_interface::y_aligned_on_self @var{grob}) - (Self_alignment_interface::y_aligned_on_support_refpoints @var{grob})) -@end example +* only show user-visible changes. +@end ignore @item -Calculation of extent and offset of grob is now controlled via the -@code{X-extent}, @code{Y-extent}, @code{X-offset} and @code{Y-offset} -properties, for example +Arpeggios may now use ``parenthesis'' style brackets: -@verbatim -\override TextScript #'Y-offset = #-6 -@end verbatim +@lilypond[relative,ragged-right] + \override Arpeggio #'stencil = #ly:arpeggio::brew-chord-slur -@noindent -hard codes @code{TextScript} grobs to be 6 spaces below their Y-parent -grobs. + % Note: does not work for cross staff arpeggios. + \override Arpeggio #'X-extent = #ly:grob::stencil-width + 2\arpeggio ~ c +@end lilypond @item -Each grob property can be a procedure. If this is the case, it is -assumed to be a routine that calculates said property. This is a -major internal cleanup, which also provides advanced tweakability for -power users. For example, - -@verbatim -\override Beam #'direction - = #(lambda (grob) - (if (> 4 (ly:grob-array-length (ly:grob-object grob 'stems))) - DOWN - UP)) -@end verbatim - -@noindent -With this code fragment, the direction of a beam is decided to be up -or down, depending on the number of stems in the beam. - +Enclosing text within boxes with rounded corners is now possible, +using the @code{rounded-box} command. @item -Support for figured bass has been rewritten. Now it supports -continuation lines, slashed figures, and its figures, brackets, and alignments may -tuned separately. - -@lilypond[raggedright,fragment] -<< -\relative { c4 c c c } -\figures { - \set useBassFigureExtenders = ##t - <6+ 4 3> <6 4 3> <4 3+> <5/ 7/\+> -} >> -@end lilypond - -This rewrite was sponsored by Trent Johnston and John Mandereau. +@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 -Subproperties, like the @code{details} field of @code{Slur} and -@code{Tie} may now be tuned with @code{\override}. For example, - -@verbatim -\override Stem #'details #'beamed-lengths = #'(4 4 3) -@end verbatim - -@noindent -shortens the stems in beams. +@code{\setEasyHeads} has been renamed to @code{\easyHeadsOn}, and a new +command @code{\easyHeadsOff} reverts note heads to normal heads. @item -The default paper size may now be set from the command line using -@code{-dpaper-size}. +@code{\fatText}, @code{\emptyText} and @code{\compressMusic} have been +renamed to @code{\textLengthOn}, @code{\textLengthOff} and +@code{\scaleDurations}, respectively. @item -Beamlets may stick out of the side of beams. - - -@lilypond[fragment,raggedright,relative=2] -{ - \override Beam #'break-overshoot = #'(-0.5 . 0.5) - \set stemLeftBeamCount = #2 - c8[ - c16 - \set stemRightBeamCount = #3 - c ] -} -@end lilypond - -This feature was sponsored by Trevor Bača. - - - -@item -Vertical alignments of staves can now be tuned easily for individual -systems. - -@lilypond[raggedright] -#(set-global-staff-size 13) -\relative c'' << - \new PianoStaff << - \new Voice { - c1 - - \overrideProperty - #"Score.NonMusicalPaperColumn" - #'line-break-system-details - #'((fixed-alignment-extra-space . 15)) - c - - } - { - c1\break - c\break - } - >> ->> -@end lilypond - -This feature was sponsored by Nicolas Sceaux. - -@item -Vertical spacing for page layout can now be tuned for each system -individually. The dimensions that can be tuned can be visualized. - -@lilypond[verbatim] -#(set-default-paper-size "a7" 'landscape) -\book { - \score { { c4 } } - \paper { annotatespacing = ##t } -} -@end lilypond - -These features were sponsored by Trevor Bača and Nicolas Sceaux. +Underlining is now possible with the @code{\underline} markup command. @item -The slope of a stem-tremolo may be set manually - -@lilypond[fragment,relative=1,raggedright] -c8:16[ -\once \override StemTremolo #'slope = #0.45 -c:16 c:16 c:16 ] -@end lilypond - -This feature was sponsored by Sven Axelsson. +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 -Laissez vibrer ties can be created with @code{\laissezVibrer}, - -@lilypond[fragment,raggedright,relative=1] - \laissezVibrer r \laissezVibrer -@end lilypond - -This feature was sponsored by Henrik Frisk. +A new page breaking function, @code{ly:minimal-breaking}, is dedicated +to books with many pages or a lot of texts. @item -The order of words in @code{\markup} commands may now be reversed by -setting the @code{text-direction} property. This is useful for -Right-to-Left languages like Hebrew. - -This feature was sponsored by Aaron Mehl. +A table of contents is included using @code{\markuplines \table-of-contents}. +Elements are added to it using the @code{\tocItem} command. @item -Texts over multi measure rests can stretch the corresponding measure, -if the appropriate @code{spring-and-rods} callback is set. - -@lilypond[relative=2,fragment,raggedright] -\override MultiMeasureRestText #'springs-and-rods - = #Multi_measure_rest::set_text_rods -c1 R1 R1^"Very long long long text" -@end lilypond - -This feature was sponsored by Kris Shaffer. - - -@item @textanchor{tie-chords} -Formatting of ties in chords has been improved. Ties no longer collide -with note heads and stems. In addition, it is possible to manually -specify tie formatting - -@lilypond[relative=2, fragment,raggedright] - ~ - - \override TieColumn #'tie-configuration = - #'((0 . -1) (2 . -1) (5.5 . 1) (7 . 1)) - ~ -@end lilypond - -This improvement has been sponsored by Bertalan Fodor, Jay Hamilton, -Kieren MacMillan, Steve Doonan, Trevor Bača, and Vicente Solsona -Dell¡. +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 -Formatting of isolated, single ties has been improved. Now, ties avoid -staff lines, flags and dots, without compromising their shape. - -@lilypond[fragment,raggedright] -\relative c'' { - \stemUp - c16 c2...~ c16 ~ c2... | - c4~c8 c8~c16 c16~c32 c16.~[ c64]~ c64[ c8..] | -} -@end lilypond - -This improvement has been sponsored by Bertalan Fodor, Jay Hamilton, -Kieren MacMillan, Steve Doonan, Trevor Bača, and Vicente Solsona -Dell¡. - - -@item @textanchor{repeat-counter} -With the @code{countPercentRepeats} property, -percent repeats get incremental numbers to indicate the accumulated repeat count. - -@lilypond[relative=2,fragment,raggedright] -\set countPercentRepeats = ##t -\repeat percent 4 { c1 } -\time 2/4 -\repeat percent 4 { c2 c2 } -@end lilypond +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. -This feature was sponsored by Yoshinobu Ishizaki - @item -Text scripts such as fingering instructions and dynamics avoid -collisions with slurs - -@lilypond[fragment,relative=1] -{ - b_1( f'_1_2_3 c_3_4_5 a) - b( f'\p b,) - c-2_\markup { \italic {"cresc."}} ( f_\markup {x} c) -} -@end lilypond +Page breaking and page turning commands (@code{\pageBreak}, +@code{\noPageBreak}, etc) can be used at top-level, between scores and +top-level markups. @item -Tuplets can be made to reach the next non-tuplet note by setting the -@code{tupletFullLength} property, - -@lilypond[fragment,relative=2] -\new Voice \with { - \remove Forbid_line_break_engraver - allowBeamBreak = ##t -} -{ - \set Score.proportionalNotationDuration = #(ly:make-moment 1 32) - \set tupletFullLength = ##t - \times 2/3 { c8[ c c] } - c4 -} -@end lilypond - -This feature was sponsored by Trevor Bača. +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 -When @code{strict-note-spacing} is set, notes are spaced without regard -for clefs, bar lines, and grace notes. For example, - -@lilypond[fragment,relative=2] -\override Score.SpacingSpanner #'strict-note-spacing = ##t -\new Staff { c8[ c \clef alto c \grace { c16[ c] } c8 c c] c32[ c32] } -@end lilypond - -This feature was sponsored by Trevor Bača. +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 -Beams support the @code{break-overshoot} property, for example +Nested properties, such as @code{details} in @code{Slur}, can be +reverted as well. The syntax for this is -@lilypond[relative=2,fragment] -\set allowBeamBreak = ##t -\override Beam #'break-overshoot = #'(1.0 . 2.0) -c2.. c8[ \break c] -@end lilypond - -This feature was sponsored by Trevor Bača. +@example +\revert Slur #'(details closeness-factor) +@end example @item -Proportional notation is supported. Notes can be spaced proportional -to their time-difference by assigning a duration to -@code{proportionalNotationDuration}. For example, - -@lilypond[relative=2,fragment,raggedright] -<< - \set Score.proportionalNotationDuration = #(ly:make-moment 1 16) - \new Staff { c8[ c c c c c] c4 c2 r2 } - \new Staff { c2 \times 2/3 { c8 c c } c4 c1 } ->> -@end lilypond - -This feature was sponsored by Trevor Bača. +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. -@item -Symbol sizes (e.g. accidentals) are disregarded for spacing if -@code{uniform-stretching} of the @code{SpacingSpanner} grob is set, - - -@lilypond[relative=2,fragment] -<< - \override Score.SpacingSpanner #'uniform-stretching = ##t - \new Staff { c16[ c c c c c c c c c16] } - \new Staff { - \times 6/7 { c16 c c cis c c c } - c8[ c32 c32 c16] - } ->> +@c with ragged-right we can't see the gliss. +@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 + + c1 \glissando c' +} @end lilypond This feature was sponsored by Trevor Bača. + @item -Endings of broken tuplet brackets can be tuned. For example, you can -add arrows to the brackets, - -@lilypond[fragment,raggedright,relative=2] -\override TupletBracket - #'edge-text = #(cons - (markup #:arrow-head X LEFT #f) - (markup #:arrow-head X RIGHT #f)) -\times 4/5 { - c c c \bar "empty" \break c c +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 -This feature was sponsored by Trevor Bača. +@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. -@item @textanchor{arrow-glyph} -Arrow heads were added to the Feta font. +@lilypondfile{makam.ly} -@lilypond[] -\lyrics { - \markup { - filled, to the right: \hspace #2.0 \fontsize #6 \arrow-head #0 #1 ##t - open, down: \hspace #2.0 \fontsize #6 \arrow-head #1 #-1 ##f - } -} -@end lilypond -These glyphs have been sponsored by Trevor Bača. +@item Tie directions may be set with @code{^~} and @code{_~} -@item -Nested tuplets are automatically positioned, +@item Tablature now supports harmonics and slides, -@lilypond[fragment,raggedright,relative=2] -\set tupletNumberFormatFunction = #fraction-tuplet-formatter -\times 4/6 { - a4 a - \times 3/5 { a a a a a } +@lilypond[fragment,ragged-right,relative=1] +\new TabVoice +{ + d\2\glissando e\2 } @end lilypond -This feature was sponsored by Trevor Bača. - -@item -Music expressions can be displayed, in LilyPond notation, using the -new @code{\displayLilyMusic} function. For instance: -@verbatim -\displayLilyMusic \transpose c a, { c d e f } -@end verbatim -will print: -@verbatim -{ a, b, cis d } -@end verbatim - -This feature was contributed by Nicolas Sceaux. - -@item -The current bar number may be checked with @code{\barNumberCheck}, eg. - -@verbatim -\barNumberCheck #22 -@end verbatim - -@noindent -will print a warning if it doesn't happen in measure 22. - -@item -If @code{showLastLength} is set, only the last few measures of a piece -are rendered, which speeds up correcting scores. For example, setting - -@verbatim -showLastLength = R1*5 -\score { ... } -@end verbatim - -@noindent -will render only the last five measures (assuming 4/4 time signature) -of a piece. +This feature was sponsored by Mike Amundsen -@item @textanchor{simple-melismata} -Melismata can be specified simply in the lyrics now, eg. +@item Horizontal spacing now follows object outlines more +accurately. This allows tighter horizontal spacing. -@lilypond[relative=1,verbatim,fragment] +@lilypond[fragment,ragged-right] { - c d( e) f e d -} \addlyrics { - Ky -- _ _ ri e + \stemUp c''4...*1/2 + ceses'! } -@end lilypond +@end lilypond -This feature was sponsored by Nancho Alvarez -@item -Suggested accidentals (for notating musica ficta) may be switched on -with @code{suggestAccidentals} +@item Objects that belong outside of the staff are +now positioned automatically to avoid collisions. -@lilypond[verbatim,fragment,relative=2] -\set suggestAccidentals = ##t -ais bis -@end lilypond +@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 -This feature was sponsored by Nancho Alvarez. +@item Staves are spaced vertically using a skyline algorithm. This helps to avoid +uneven vertical spacing. -@item -The setting @code{whichBar} and time-bookkeeping is now split into a -@code{Default_bar_line_engraver} and @code{Timing_translator} -respectively. +@lilypond[ragged-right] -@item @textanchor{pitched-trill} -Explicit pitches may be added to trills, +%% todo: fix 'landscape PDF. +#(set-default-paper-size "a6" ) +\header { + tagline = ##f +} -@lilypond[relative,verbatim,fragment] - \pitchedTrill c4\startTrillSpan fis f\stopTrillSpan -@end lilypond +\book { + \score { + { + a,,1 | a'4 b' c'' d'' \break + \repeat unfold 2 {a' b' c'' d''} | b''''1 + } + } +} +@end lilypond -This feature was sponsored by D. Josiah Boothby and Jamie Bullock +@end itemize -@item -Markup now supports formatting of text paragraphs, using -@code{\wordwrap} and @code{\justify}. -This feature was sponsored by Sven Axelsson. -@end itemize @ifhtml For older news, go to -@uref{http://lilypond.org/doc/v2.6/Documentation/topdocs/out-www/NEWS.html}. +@uref{http://lilypond.org/doc/v2.10/Documentation/topdocs/NEWS.html}, +or @uref{../,go back} to the Documentation index. + + @end ifhtml @bye