]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/topdocs/NEWS.tely
patch by Joe Neeman: "I have
[lilypond.git] / Documentation / topdocs / NEWS.tely
index 7a3492b5833377f5ed1fc5776de3fbe4c452c2ee..1ecc6c72f0196a38aa8df8dc08c72542cdd9d006 100644 (file)
@@ -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,18 +38,437 @@ 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
+
+@ignore
+
+HINTS
+
+* only show verbatim input for syntax/input changes
+
+* try to be as brief possible in those cases
+
+* don't try to provide real-world examples, they often get too big,
+which scares away people.
+
+* Write complete sentences.
+
+* only show user-visible changes. 
+
+@end ignore
+
+@item A score may now be specified to take a fixed number of
+systems, by setting the @code{system-count} variable in the
+@code{\layout} block.
+
+This feature was contributed by Joe Neeman.
+
+@item Ties may now be attached to the left side of a note with
+@code{\repeatTie}, for use with volta repeats.
+
+@lilypond[relative=2,fragment,ragged-right]
+r4 <c e g>\repeatTie
+@end lilypond
+
+This feature was sponsored by Steve Doonan.
+
+@item Newly created contexts may also be named with the following
+syntax,
+
+@verbatim
+\new Voice = "alto" ... 
+@end verbatim
+
+@item Thicknesses of tie and slurs may be  tuned separately for the
+endings and the middle part.
+
+@item Items directly connected with a music input element may be
+parenthesized, for example,
+
+@lilypond[verbatim,ragged-right,fragment,relative=2]
+c4-\parenthesize -.
+<d \parenthesize fis a> 
+@end lilypond
+
+This feature was sponsored by Ramana Kumar.
+
+@item Multi-word
+ variables in the @code{\paper} and @code{\layout} block are now
+ separated with dashes, i.e.
+
+@verbatim
+\paper {
+  ragged-right = ##t
+  top-margin = 5 \cm
+}
+@end verbatim
+
+@noindent
+The same holds for analogous options in lilypond-book.
+
+@item
+Music for multiple parts can be interleaved, similar to MUP input.
+This is done with the @code{\parallelMusic} function,
+  
+@lilypond[verbatim,ragged-right]
+\parallelMusic #'(voiceA voiceB) {
+  r8     g'16[ c''] e''[ g' c'' e''] r8     g'16[ c''] e''[ g' c'' e''] |
+  c'2                                c'2                                |
+  r8     a'16[ d''] f''[ a' d'' f''] r8     a'16[ d''] f''[ a' d'' f''] |
+  c'2                                c'2                                |
+}
+\new StaffGroup <<
+  \new Staff
+    \new Voice \voiceA 
+  \new Staff
+    \new Voice \voiceB
+>> 
+@end lilypond
+
+This feature was contributed by Nicolas Sceaux.
+
+@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 {
+  head-separation = 0.0
+  foot-separation = 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[ragged-right]
+\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[ragged-right]
+\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[ragged-right]
+\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. Now, \clef and \bar are also 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[ragged-right,fragment,relative=2]
+  <b  d f g> ~  <b  d f g> 
+@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,ragged-right]
+<
+  \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,ragged-right]
+  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[ragged-right]
+\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[ragged-right]
+\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
+      (,ly:self-alignment-interface::y-aligned-on-self))
+    ,(ly:make-simple-closure
+      (,ly: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
+(+ (ly:self-alignment-interface::y-aligned-on-self @var{grob})
+   (ly: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[ragged-right,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]
+@lilypond[fragment,ragged-right,relative=2]
 {
   \override Beam #'break-overshoot = #'(-0.5 . 0.5) 
   \set stemLeftBeamCount = #2
@@ -62,27 +481,13 @@ Beamlets may stick out of the side of beams.
 
 This feature was sponsored by Trevor Bača.
  
-@item
-Support for figured bass has been rewritten. Now it supports
-continuation lines, 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+> 
-} >>
-@end lilypond
-
-This rewrite was sponsored by Trent Johnston.
 
 @item  
 Vertical alignments of staves can now be tuned easily for individual
 systems.
 
-@lilypond[raggedright]
+@lilypond[ragged-right]
 #(set-global-staff-size 13)
 \relative c'' <<
   \new PianoStaff <<
@@ -123,7 +528,7 @@ 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]
+@lilypond[fragment,relative=1,ragged-right]
 c8:16[ 
 \once \override StemTremolo #'slope = #0.45
 c:16 c:16 c:16 ]
@@ -134,7 +539,7 @@ This feature was sponsored by Sven Axelsson.
 @item
 Laissez vibrer ties can be created with @code{\laissezVibrer},
 
-@lilypond[fragment,raggedright,relative=1]
+@lilypond[fragment,ragged-right,relative=1]
   <c e g>\laissezVibrer r  <d f>\laissezVibrer
 @end lilypond
 
@@ -149,11 +554,11 @@ 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
-  = #Multi_measure_rest::set_text_rods
+@lilypond[relative=2,fragment,ragged-right]
+\override MultiMeasureRestText #'springs-and-rods
+  = #ly:multi-measure-rest::set-text-rods
 c1 R1 R1^"Very long long long text" 
 @end lilypond
 
@@ -165,11 +570,11 @@ 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]
+@lilypond[relative=2, fragment,ragged-right]
   <a c d f> ~ <a c d f>
   
   \override TieColumn #'tie-configuration =
-  #'((0 . -1)  (2 . -1) (5.5 . 1) (7 . 1))
+  #'((0 . -1) '() (5.5 . 1) (7 . 1))
   <b d f g> ~ <b d f g>
 @end lilypond
 
@@ -181,7 +586,7 @@ Dell¡.
 Formatting of isolated, single ties has been improved. Now, ties avoid
 staff lines, flags and dots, without compromising their shape.
 
-@lilypond[fragment,raggedright]
+@lilypond[fragment,ragged-right]
 \relative c'' {
   \stemUp
   c16 c2...~ c16 ~ c2... |
@@ -198,7 +603,7 @@ Dell¡.
 With the @code{countPercentRepeats} property,
 percent repeats get incremental numbers to indicate the accumulated repeat count.
 
-@lilypond[relative=2,fragment,raggedright]
+@lilypond[relative=2,fragment,ragged-right]
 \set countPercentRepeats = ##t
 \repeat percent 4 { c1 }
 \time 2/4
@@ -265,7 +670,7 @@ 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]
+@lilypond[relative=2,fragment,ragged-right]
 <<
   \set Score.proportionalNotationDuration = #(ly:make-moment 1 16)
   \new Staff { c8[ c c c c c]  c4 c2 r2 }
@@ -297,7 +702,7 @@ This feature was sponsored by Trevor Bača.
 Endings of broken tuplet brackets can be tuned.  For example, you can
 add arrows to the brackets,
 
-@lilypond[fragment,raggedright,relative=2]
+@lilypond[fragment,ragged-right,relative=2]
 \override TupletBracket
  #'edge-text = #(cons
              (markup #:arrow-head X LEFT #f)
@@ -328,7 +733,7 @@ These glyphs have been sponsored by Trevor Bača.
 @item
 Nested tuplets are automatically positioned,
 
-@lilypond[fragment,raggedright,relative=2]
+@lilypond[fragment,ragged-right,relative=2]
 \set tupletNumberFormatFunction = #fraction-tuplet-formatter
 \times 4/6 {
   a4 a 
@@ -421,7 +826,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