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