]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/topdocs/NEWS.tely
*** empty log message ***
[lilypond.git] / Documentation / topdocs / NEWS.tely
index a0ff53528a7693ccc6b81228ae8baba0d076dd5e..efc05d37ffb009d093ee3869332c00eed51fd3e1 100644 (file)
@@ -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
+<a name="\NAME\"></a>
+@end html
+@end macro
+
+
 @documentencoding utf-8
 @documentlanguage en
 
@@ -30,15 +37,370 @@ 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 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
+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.
+
+@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]
+  <c e g>\laissezVibrer r  <d f>\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.
+
+
+@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]
+  <a c d f> ~ <a c d f>
+  
+  \override TieColumn #'tie-configuration =
+  #'((0 . -1)  (2 . -1) (5.5 . 1) (7 . 1))
+  <b d f g> ~ <b d f g>
+@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]
+\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
 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 }
@@ -46,15 +408,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]  }
@@ -65,21 +426,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[]
@@ -91,13 +457,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 
@@ -105,7 +471,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
@@ -118,6 +484,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.
 
@@ -141,12 +509,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
 }
@@ -170,7 +538,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]