X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=Documentation%2Ftopdocs%2FNEWS.tely;h=7899beeb8484f33f5c4bbda1daf055a10658d15c;hb=7cae73f6dcdda9ea5a34d3e4a6021668a6ccdff3;hp=99622e13bf4be9cea865bba87a96df9ba211769a;hpb=8097d28e1530571451dc9c73a6fe65b747aa92bd;p=lilypond.git diff --git a/Documentation/topdocs/NEWS.tely b/Documentation/topdocs/NEWS.tely index 99622e13bf..7899beeb84 100644 --- a/Documentation/topdocs/NEWS.tely +++ b/Documentation/topdocs/NEWS.tely @@ -1,4 +1,4 @@ -\input texinfo @c -*-texinfo-*- +\input texinfo @c -*- coding: utf-8; mode: texinfo; -*- @setfilename NEWS.info @settitle NEWS @@ -21,6 +21,13 @@ See user manual, \NAME\ @end ifnothtml +@macro textanchor{NAME} +@html + +@end html +@end macro + + @documentencoding utf-8 @documentlanguage en @@ -30,38 +37,403 @@ See user manual, \NAME\ @end ifnottex @unnumbered New features in 2.7 since 2.6 +@ifhtml +This document is also available in @uref{NEWS.pdf,PDF}. +@end ifhtml + + + @itemize @bullet +@item With the @code{\tweak} music function, layout objects that are directly +connected to input may be tuned easily, + +@lilypond[relative=2,fragment,verbatim,raggedright] +< + \tweak #'font-size #3 c + \tweak #'color #red d + \tweak #'style #'cross g + \tweak #'duration-log #1 a +>4 +@end lilypond + +This feature was sponsored by Sean Reed and Bertalan Fodor. + +@item Generic music functions may now also be used on articulations +and chord elements, eg. + +@verbatim + < \displayMusic c + e-\keepWithTag #'bla -\tag #'bla ^2 > +@end verbatim + +This feature was sponsored by Sean Reed and Bertalan Fodor. + + +@item Spaces between lyrics and distance between syllables with +hyphens may now be separately tuned through the +@code{LyricSpace} grob. + +This feature has been sponsored by Bertalan Fodor. + +@item A MusicXML importer is included now. + +@item Texts set in a TrueType font are now kerned. This requires CVS +Pango or Pango 1.12. + +@item Using the @TeX{} no longer requires linking or dynamically +opening the kpathsea library, making the backend more easily usable on +various systems. + +This fix was sponsored by Black Trash Productions. + +@item The horizontal location of rehearsal marks can be adjusted by +setting the @code{rehearsalMarkAlignSymbol} property, + +@lilypond[raggedright] +\relative { + c1 + \key cis \major + \clef alto + \set Score.rehearsalMarkAlignSymbol = #'key-signature + \mark "on-key" + cis + \key ces \major + \set Score.rehearsalMarkAlignSymbol = #'clef + \clef treble + \mark "on clef" + ces +} +@end lilypond + + +This feature was sponsored by Trevor Bača. + @item -When @code{strict-note-spacing} is set, note are spaced without regard -for clefs and bar lines. For example, +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 -@lilypond[fragment,verbatim,relative=2] -\override Score.SpacingSpanner #'strict-note-spacing = ##t -\new Staff { c8[ c \clef alto c c c c] c32 c32 } + +In addition, there is now also support for ``square'' system start +brackets. + +This feature was sponsored by Trevor Bača. + +@item +Tie formatting now uses scoring. This opens the road to formatting +which handles complex situations require tradeoffs between different +beauty factors. + +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 + +@example +(+ (Self_alignment_interface::y_aligned_on_self @var{grob}) + (Self_alignment_interface::y_aligned_on_support_refpoints @var{grob})) +@end example + + +@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 + +@verbatim +\override TextScript #'Y-offset = #-6 +@end verbatim + +@noindent +hard codes @code{TextScript} grobs to be 6 spaces below their Y-parent +grobs. + +@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. + + +@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. + +@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. + +@item +The default paper size may now be set from the command line using +@code{-dpaper-size}. + +@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. + +@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. + +@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. + +@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. + +@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. -This feature was sponsored by Trevor Baca. + +@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¡. + +@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 + +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 + +@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. + +@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. @item Beams support the @code{break-overshoot} property, for example -@lilypond[relative=2,fragment,verbatim] +@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 Baca. +This feature was sponsored by Trevor Bača. @item Proportional notation is supported. Notes can be spaced proportional -to their time-difference, by assigning a duration. to +to their time-difference by assigning a duration to @code{proportionalNotationDuration}. For example, -@lilypond[verbatim,relative=2,fragment,raggedright] +@lilypond[relative=2,fragment,raggedright] << \set Score.proportionalNotationDuration = #(ly:make-moment 1 16) \new Staff { c8[ c c c c c] c4 c2 r2 } @@ -69,15 +441,14 @@ to their time-difference, by assigning a duration. to >> @end lilypond -This feature was sponsored by Trevor Baca. +This feature was sponsored by Trevor Bača. @item -LilyPond will space note according to their durations, disregarding -symbol sizes (e.g. accidentals) if @code{uniform-stretching} of the -@code{SpacingSpanner} grob is set, +Symbol sizes (e.g. accidentals) are disregarded for spacing if +@code{uniform-stretching} of the @code{SpacingSpanner} grob is set, -@lilypond[verbatim,relative=2,fragment] +@lilypond[relative=2,fragment] << \override Score.SpacingSpanner #'uniform-stretching = ##t \new Staff { c16[ c c c c c c c c c16] } @@ -88,21 +459,26 @@ symbol sizes (e.g. accidentals) if @code{uniform-stretching} of the >> @end lilypond -This feature was sponsored by Trevor Baca. +This feature was sponsored by Trevor Bača. @item -Tuplet brackets get arrows when they are broken across a line. - -@lilypond[fragment,raggedright,verbatim,relative=2] +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 } @end lilypond -This feature was sponsored by Trevor Baca. +This feature was sponsored by Trevor Bača. -@item +@item @textanchor{arrow-glyph} Arrow heads were added to the Feta font. @lilypond[] @@ -114,13 +490,13 @@ Arrow heads were added to the Feta font. } @end lilypond -These glyphs have been sponsored by Trevor Baca. +These glyphs have been sponsored by Trevor Bača. @item Nested tuplets are automatically positioned, -@lilypond[fragment,raggedright,verbatim,relative=2] +@lilypond[fragment,raggedright,relative=2] \set tupletNumberFormatFunction = #fraction-tuplet-formatter \times 4/6 { a4 a @@ -128,7 +504,7 @@ Nested tuplets are automatically positioned, } @end lilypond -This feature was sponsored by Trevor Baca. +This feature was sponsored by Trevor Bača. @item Music expressions can be displayed, in LilyPond notation, using the @@ -141,6 +517,8 @@ will print: { 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. @@ -164,12 +542,12 @@ showLastLength = R1*5 will render only the last five measures (assuming 4/4 time signature) of a piece. -@item +@item @textanchor{simple-melismata} Melismata can be specified simply in the lyrics now, eg. @lilypond[relative=1,verbatim,fragment] { - c d( e) f e + c d( e) f e d } \addlyrics { Ky -- _ _ ri e } @@ -193,7 +571,7 @@ The setting @code{whichBar} and time-bookkeeping is now split into a @code{Default_bar_line_engraver} and @code{Timing_translator} respectively. -@item +@item @textanchor{pitched-trill} Explicit pitches may be added to trills, @lilypond[relative,verbatim,fragment]