X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=Documentation%2Ftopdocs%2FNEWS.tely;h=cfc81ec6291e834bc517601764af393ae596634c;hb=af0befc7215f3a6461e2221f0264629c807eeb62;hp=c902799d1c97d26ab36e05cbd5678a5fc8bdfae0;hpb=501b19f070cbf3d3b147ce2aeba3cf6120cb22c1;p=lilypond.git diff --git a/Documentation/topdocs/NEWS.tely b/Documentation/topdocs/NEWS.tely index c902799d1c..cfc81ec629 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 @@ -38,13 +38,388 @@ See user manual, \NAME\ @unnumbered New features in 2.7 since 2.6 @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 @itemize @bullet + +@item Parallel editing is possible using the \parallelMusic function: +@lilypond[verbatim,raggedright] +\parallelMusic #'(voiceA voiceB voiceC) { + %% first bar group + r8 g'16[ c''] e''[ g' c'' e''] r8 g'16[ c''] e''[ g' c'' e''] | + r16 e'8. ~ e'4 r16 e'8. ~ e'4 | + c'2 c'2 | + %% second bar group + r8 a'16[ d''] f''[ a' d'' f''] r8 a'16[ d''] f''[ a' d'' f''] | + r16 d'8. ~ d'4 r16 d'8. ~ d'4 | + c'2 c'2 | +} +\new StaffGroup << + \context Staff = "up" << + \new Voice { \voiceOne \voiceA } + \new Voice { \voiceTwo \voiceB } + >> + \context Staff = "down" << + \new Voice { \clef bass \voiceC } + >> +>> +@end lilypond + +@item Alignments of staves may be tuned per system. +@lilypond[] +#(set-global-staff-size 13) + +\relative c'' \new StaffGroup << + \new Staff { c1 c } + \new Staff { c c } + \new Staff { + \overrideProperty + #"Score.NonMusicalPaperColumn" + #'line-break-system-details + #'((alignment-offsets . (0 -5 -20))) + c1 \break + \overrideProperty + #"Score.NonMusicalPaperColumn" + #'line-break-system-details + #'((alignment-offsets . (0 -15 -20))) + c1 + } +>> +@end lilypond + +This feature was sponsored by Trevor Bača. + +@item Individual systems may be positioned manually, + +@lilypond[] +\header{ + tagline = "lily was here" +} + +#(set-default-paper-size "a7" 'landscape) +\paper { + headsep = 0.0 + footsep = 0.0 + } +\book { + \score { + \relative c'' { + c1\break + \overrideProperty + #"Score.NonMusicalPaperColumn" + #'line-break-system-details + #'((Y-offset . 24.5) + (X-offset . -7.5)) + c1 + } + } + \paper { + annotatepage = ##t + annotateheaders = ##t + } +} +@end lilypond + +This feature was sponsored by Trevor Bača and Nicolas Sceaux. + +@item A linebreaking configuration can now be saved as a @file{.ly} +file automatically. This allows vertical alignments to be stretched to +fit pages in a second formatting run. See +@inputfileref{input/regression,page-layout-twopass.ly} for an +example. + +This feature was sponsored by Trevor Bača and Nicolas Sceaux. + +@item The tie formatting for chords has been further polished. More +cases are handled gracefully, and all scoring parameters may now be +changed through the @code{details} property of the @code{Tie} grob. + +This refinement was sponsored by Steve Doonan. + +@item Positions of staff lines may now be set individually, for +example + +@lilypond[raggedright] +\new Staff \relative c' { + \override Staff.StaffSymbol #'line-positions = #'(-7 -2 0 7) + g c f b e a +} +@end lilypond + +This feature was sponsored by Andrea Valle. + + +@item A MusicXML importer is included now. + +It was sponsored by among others, Mark van den Borre, +and Muziekacademie Lede. + +@item +Stem direction on the center staff line are now interpolated between +neighbors. This results in less stem direction changes, leading to a +more even appearance. For example, + +@lilypond[raggedright] +\relative c'' { + c4 b c b + c c c r + b a b a +} +@end lilypond + +This feature was sponsored by Mike Rolish and Basil Crow. + +@item +Slurs now avoid @code{TupletNumber}s, and tuplet numbers may enter the +staff. + +@lilypond[raggedright] +\relative { + \slurUp + \override TupletBracket #'bracket-visibility = ##f + \override TupletBracket #'staff-padding = ##f + \override Slur #'details #'region-size = #6 + + \times 2/3 + { + c( \stemDown g' \stemNeutral c,) + } +} +@end lilypond + +This feature was sponsored by Trent Johnston. + + +@item Tuplet brackets and numbers are implemented as separate grobs, +@code{TupletBracket} and @code{TupletNumber}. + +This rewrite was sponsored by Trent Johnston. + +@item String arguments for music functions may be specified without +@code{#} marks. This allows syntactical constructs (like \clef and +\bar) to be expressed in generic music functions. + +@item Ties in chords are also formatted using a scoring based +formatting. This reduces the number of collisions for ties in chords, + +@lilypond[raggedright,fragment,relative=2] + ~ +@end lilypond + +Here, the tie for the D is flipped, in spite the default rule for +tie directions. + +This rewrite was sponsored by Steve Doonan. + +@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 Texts set in a TrueType font are now kerned. This requires CVS +Pango or Pango 1.12. + +@lilypond[relative=2,fragment,raggedright] + c4^"VAVAVAffififl" +@end lilypond + + +@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 +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 + + +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. @@ -54,9 +429,7 @@ systems. \relative c'' << \new PianoStaff << \new Voice { - \set PianoStaff.instrument = #"piano" - \set PianoStaff.instr = #"pn" - c1_"normal" + c1 \overrideProperty #"Score.NonMusicalPaperColumn" @@ -118,10 +491,10 @@ This feature was sponsored by Aaron Mehl. @item Texts over multi measure rests can stretch the corresponding measure, -if the appropriate @code{spacing-procedure} property is set. +if the appropriate @code{spring-and-rods} callback is set. @lilypond[relative=2,fragment,raggedright] -\override MultiMeasureRestText #'spacing-procedure +\override MultiMeasureRestText #'springs-and-rods = #Multi_measure_rest::set_text_rods c1 R1 R1^"Very long long long text" @end lilypond @@ -138,7 +511,7 @@ specify tie formatting ~ \override TieColumn #'tie-configuration = - #'((0 . -1) (2 . -1) (5.5 . 1) (7 . 1)) + #'((0 . -1) '() (5.5 . 1) (7 . 1)) ~ @end lilypond @@ -390,7 +763,10 @@ This feature was sponsored by Sven Axelsson. @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.6/Documentation/topdocs/NEWS.html}, +or @uref{../,go back} to the Documentation index. + + @end ifhtml @bye