X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=Documentation%2Ftopdocs%2FNEWS.tely;h=efc05d37ffb009d093ee3869332c00eed51fd3e1;hb=188bbb97804465f6ce916ee9d38b5e7b1dfc6f5d;hp=ba7b855b6e40096140bc41c5b5089cf4a9707114;hpb=a98b4affe11787c3e30b1e23dd363de64b940a80;p=lilypond.git diff --git a/Documentation/topdocs/NEWS.tely b/Documentation/topdocs/NEWS.tely index ba7b855b6e..efc05d37ff 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 @@ -28,272 +35,528 @@ See user manual, \NAME\ @node Top @top @end ifnottex -@unnumbered New features in 2.5 since 2.4 +@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 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 -@item -Lines, such as glissandi or Text-spanner lines, can have arrows at the -end, e.g. -@lilypond[verbatim,fragment] -\override Glissando #'arrow = ##t -b''2 \glissando b' -@end lilypond +This feature was sponsored by Trevor Bača. -@item -Chord names may now be rendered in Italian and French. @item -@file{lilypond-book} now makes @file{lilypond} print line numbers -relative to the input file for every error message. +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 -@item -The command @code{\epsfile} allows inclusion of EPS graphics into -markup texts. -@item -There is a music function @code{\musicDisplay}, which will display a -music expression as indented Scheme code. +In addition, there is now also support for ``square'' system start +brackets. + +This feature was sponsored by Trevor Bača. @item -Automatic beaming is now specified explicitly for each moment -throughout a measure, which enables automatic beaming in compound -measures, as demonstrated in the following 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 -A plus sign was added to the number font. This enables printing of -compound time signatures +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 -@lilypondfile[]{compound-time.ly} @item -A new @code{\circle} markup command allows for all kinds of circled -texts +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 -@lilypondfile[]{circle.ly} +@noindent +hard codes @code{TextScript} grobs to be 6 spaces below their Y-parent +grobs. @item -String numbers are now printed on chords as well +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, -@lilypond[relative,relative=1,raggedright,fragment,verbatim] - -@end lilypond +@verbatim +\override Beam #'direction + = #(lambda (grob) + (if (> 4 (ly:grob-array-length (ly:grob-object grob 'stems))) + DOWN + UP)) +@end verbatim -See also @inputfileref{input/regression,string-number.ly}. +@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. -This feature was sponsored by Gunther Strube. @item -Notes with ledger lines will be kept at a distance, so they never -disappear. +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 -Clefs that are below notes of other staves are now spaced according to -engraving conventions. - +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 -Markup texts can be appended to a @code{\score} block or toplevel -music expression, for example, +The default paper size may now be set from the command line using +@code{-dpaper-size}. -@example -\relative @{ c' d e @} -\markup @{ first text @} -\markup @{ second text @} -@end example -@c FIXME, cannot use toplevel music examples in lilypond-book, -@c but it works at toplevel too, as shown. -@lilypond[quote,raggedright] -\paper { - vsize = 60\mm - hsize = 60\mm - %% FIXME? - printpagenumber = ##f -} -\header { - tagline = "" +@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 { - \relative { c' d e } - } - \markup { first text } - \markup { second text } + \score { { c4 } } + \paper { annotatespacing = ##t } } @end lilypond +These features were sponsored by Trevor Bača and Nicolas Sceaux. -See @inputfileref{input/regression,score-text.ly}. +@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 -@item -@TeX{}'s @code{kpathsea} library is loaded dynamically, so installing -LilyPond does not require installing @TeX{} anymore. +This feature was sponsored by Sven Axelsson. @item -Point and click editing is now supported in the PS/PDF backend as -well. -See -@ifhtml -@uref{../../user/out-www/lilypond/Point-and-click.html,Point and click}. -@end ifhtml -@ifnothtml -the section Point and click in he user manual. -@end ifnothtml +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 -White mensural ligatures now conform more closely to Renaissance -usage. +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 -With the new @code{tieWaitForNote} property, arpeggios may be written -out using ties, for example, +Texts over multi measure rests can stretch the corresponding measure, +if the appropriate @code{spring-and-rods} callback is set. -@lilypond[fragment,verbatim,relative=1,raggedright] -\set tieWaitForNote = ##t -\grace { c16[~ e~ g]~ } 4 +@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 -Thanks to Steve Doonan for funding development of this feature. +This feature was sponsored by Kris Shaffer. -@item -Individual objects may be assigned colors, for example, -@lilypond[fragment,relative=1,verbatim,raggedright] - \override NoteHead #'color = #red - c4 -@end lilypond +@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 -The PostScript backend is now used by default. This backend requires -less machinery to run, and gives more consistent results. +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¡. + -GhostScript 8.x is required for PDF output. Earlier versions may hang -while converting PostScript to PDF. +@item @textanchor{repeat-counter} +With the @code{countPercentRepeats} property, +percent repeats get incremental numbers to indicate the accumulated repeat count. -@item -Separator slashes may be inserted between systems in a score. For an -example, see @inputfileref{input/regression,system-separator.ly}: +@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 -Locations of errors in the input are now calculated more precisely. +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 -LilyPond now uses Pango and FontConfig for selecting and rendering -UTF-8 input in non-@TeX{} backends. A font may be selected by using a -FontConfig name, +Tuplets can be made to reach the next non-tuplet note by setting the +@code{tupletFullLength} property, -@example -\override TextScript #'font-name = #"Serif" -@end example +@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. -@noindent -or using the classic font selection mechanism +@item +When @code{strict-note-spacing} is set, notes are spaced without regard +for clefs, bar lines, and grace notes. For example, -@example -\override TextScript #'font-family = #'roman -\override TextScript #'font-series = #'bold -@end 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 -Any Type1 and TrueType font recognized by FontConfig is available in -LilyPond as well. +This feature was sponsored by Trevor Bača. @item -Metrics of blocks of text can be retrieved from (La)@TeX{} directly, -using the @code{-f texstr} output backend. This provides exact metrics -for texts, including kerning and accents. +Beams support the @code{break-overshoot} property, for example -@item -LilyPond now uses FreeType read the Feta font as an OpenType -font. This is cleaner design and more robust. Recent versions of -FontForge (20041211 or newer) and Freetype are required. As a result, +@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. @item -the SVG backend is now a fully functional backend. +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. + +@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] + } +>> +@end lilypond +This feature was sponsored by Trevor Bača. + @item -A new script, @code{\espressivo} has been added, for a combination of -crescendo and decrescendo on a single note. +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 Bača. + + +@item @textanchor{arrow-glyph} +Arrow heads were added to the Feta font. + +@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 -In markups, expressions stacked with @code{\column}, -@code{\center-align}, etc, are not grouped with @code{< ... >} anymore, -but with @code{@{ ... @}}, eg: -@example -\markup \column @{ - \line @{ first line @} - \line @{ second line @} -@} -@end example +Nested tuplets are automatically positioned, + +@lilypond[fragment,raggedright,relative=2] +\set tupletNumberFormatFunction = #fraction-tuplet-formatter +\times 4/6 { + a4 a + \times 3/5 { a a a a a } +} +@end lilypond + +This feature was sponsored by Trevor Bača. @item -LilyPond will now avoid line breaks that cause long texts to stick -outside of the page staff. +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 -Grace notes following a main note, used to be entered by letting the -grace notes follow a skip in a parallel expression, for example, +The current bar number may be checked with @code{\barNumberCheck}, eg. @verbatim - << { d1 } - { s2 \grace { c16[ d] } } >> - c4 +\barNumberCheck #22 @end verbatim @noindent -This can now be shortened by doing +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 -@example -\afterGrace @{ d1 @} @{ c16[ d] @} -@end example +@verbatim +showLastLength = R1*5 +\score { ... } +@end verbatim -@item -Pagebreaks can now be forced or forbidden after title blocks. This is -achieved by setting @code{breakbefore} in the @code{\header} block to -true or false. +@noindent +will render only the last five measures (assuming 4/4 time signature) +of a piece. -@item -Shaped note heads. This feature has been sponsored by Jonathan Walther, +@item @textanchor{simple-melismata} +Melismata can be specified simply in the lyrics now, eg. -@lilypond[relative=1,fragment,verbatim,raggedright] - \set shapeNoteStyles = ##(do re mi fa #f la ti) - c d e f g a b c d e f g a b c -@end lilypond +@lilypond[relative=1,verbatim,fragment] +{ + c d( e) f e d +} \addlyrics { + Ky -- _ _ ri e +} +@end lilypond + +This feature was sponsored by Nancho Alvarez @item -Layout for titles, page header and footer can now be entered as -@code{\markup} commands. +Suggested accidentals (for notating musica ficta) may be switched on +with @code{suggestAccidentals} -@item Positioning of slurs can now be adjusted manually +@lilypond[verbatim,fragment,relative=2] +\set suggestAccidentals = ##t +ais bis +@end lilypond -@item Grace notes are correctly quoted and formatted when using cue notes. +This feature was sponsored by Nancho Alvarez. -@item Cue notes can now be created with +@item +The setting @code{whichBar} and time-bookkeeping is now split into a +@code{Default_bar_line_engraver} and @code{Timing_translator} +respectively. -@example -\cueDuring #@var{voice-name} #@var{direction} @{ @var{music} @} -@end example +@item @textanchor{pitched-trill} +Explicit pitches may be added to trills, -@noindent -This will set stem directions and put the cue notes in the @code{cue} -@code{Voice}. +@lilypond[relative,verbatim,fragment] + \pitchedTrill c4\startTrillSpan fis f\stopTrillSpan +@end lilypond -@item Stemlets, short stems over beamed rests, have been added. +This feature was sponsored by D. Josiah Boothby and Jamie Bullock -@lilypond[relative=1,verbatim,fragment,raggedright] -\override Stem #'stemlet-length = #0.75 -c8[ r8 c16 r16 c8] -@end lilypond +@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.4/Documentation/topdocs/out-www/NEWS.html}. +@uref{http://lilypond.org/doc/v2.6/Documentation/topdocs/out-www/NEWS.html}. @end ifhtml @bye