]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/topdocs/NEWS.tely
Merge branch 'lilypond/translation' of ssh://trettig@git.sv.gnu.org/srv/git/lilypond...
[lilypond.git] / Documentation / topdocs / NEWS.tely
index 0146cd0ec455cdd78329cf5cc4c5208422391887..f4c832cb2a6ed0e7ddcf6ed89fcf04e9c041cbb4 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
 
@@ -20,7 +20,6 @@ See user manual, \NAME\
 @end macro
 @end ifnothtml
 
-
 @macro textanchor{NAME}
 @html
 <a name="\NAME\"></a>
@@ -31,14 +30,17 @@ See user manual, \NAME\
 @documentencoding utf-8
 @documentlanguage en
 
+@finalout
+
 @ifnottex
 @node Top
 @top
 @end ifnottex
-@unnumbered New features in 2.7 since 2.6
+@unnumbered New features in 2.11 since 2.10
 
 @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
 
 
@@ -46,486 +48,224 @@ This document is also available in @uref{NEWS.pdf,PDF}.
 
 @itemize @bullet
 
-@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
+@ignore
 
+HINTS
 
-In addition, there is now also support for ``square'' system start
-brackets.
+* only show verbatim input for syntax/input changes
 
-This feature was sponsored by Trevor Bača.
+* try to be as brief possible in those cases
 
-@item
-Tie formatting now uses scoring. This opens the road to formatting
-which handles complex situations require tradeoffs between different
-beauty factors.
+* don't try to provide real-world examples, they often get too big,
+which scares away people.
 
-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
+* Write complete sentences.
 
-@example
-(+ (Self_alignment_interface::y_aligned_on_self @var{grob})
-   (Self_alignment_interface::y_aligned_on_support_refpoints @var{grob}))
-@end example
+* only show user-visible changes. 
 
+@end ignore
 
 @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
+Arpeggios may now use ``parenthesis'' style brackets:
 
-@verbatim
-\override TextScript #'Y-offset = #-6
-@end verbatim
+@lilypond[relative,ragged-right]
+  \override Arpeggio #'stencil = #ly:arpeggio::brew-chord-slur
 
-@noindent
-hard codes @code{TextScript} grobs to be 6 spaces below their Y-parent
-grobs.
+  % Note: does not work for cross staff arpeggios.
+  \override Arpeggio #'X-extent = #ly:grob::stencil-width
+  <c g' c>2\arpeggio ~ c
+@end lilypond
 
 @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.
-
+Enclosing text within boxes with rounded corners is now possible,
+using the @code{rounded-box} command.
 
 @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.
+@command{lilypond-book} can run any program instead of @command{latex}
+to guess the line width, thanks to @code{--latex-program} command line
+option.
 
 @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.
+@code{\setEasyHeads} has been renamed to @code{\easyHeadsOn}, and a new
+command @code{\easyHeadsOff} reverts note heads to normal heads.
 
 @item
-The default paper size may now be set from the command line using
-@code{-dpaper-size}.
+@code{\fatText}, @code{\emptyText} and @code{\compressMusic} have been
+renamed to @code{\textLengthOn}, @code{\textLengthOff} and
+@code{\scaleDurations}, respectively.
 
 @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.
+Underlining is now possible with the @code{\underline} markup command.
 
 @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.
+It is now possible to specify, using the @code{page-count} variable in
+the paper block, the number of pages that will be used.
 
 @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.
+A new page breaking function, @code{ly:minimal-breaking}, is dedicated
+to books with many pages or a lot of texts.
 
 @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.
+A table of contents is included using @code{\markuplines \table-of-contents}.
+Elements are added to it using the @code{\tocItem} command.
 
 @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¡.
+Text spreading over several pages is entered using the
+@code{\markuplines} keyword. Builtin markup list commands, such as
+@code{\justified-lines} or @code{\wordwrap-lines} may be used, and new
+ones created using the @code{define-markup-list-command} Scheme macro.
 
 @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
+Particular points of a book may be marked with the @code{\label}
+command. Then, the page where these points are placed can be refered to
+using the @code{\page-ref} markup command.
 
-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
+Page breaking and page turning commands (@code{\pageBreak},
+@code{\noPageBreak}, etc) can be used at top-level, between scores and
+top-level markups.
 
 @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. 
+The following options are now changed as a @code{-d} sub-option:
+@code{--backend}, @code{--safe}, @code{--preview} and
+@code{--no-pages} (which became @code{-dno-print-pages}).  The @code{-b}
+option does not exist any more.
 
 @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. 
+Improved testing procedure now catch changes in CPU and memory
+performance, page layout, MIDI results and warnings.  This helps to
+reduce the number of regression errors during development, resulting
+in more stable releases.
 
+See @uref{INSTALL.html#testing} for more information.
 @item
-Beams support the @code{break-overshoot} property, for example
+Nested properties, such as @code{details} in @code{Slur}, can be
+reverted as well.  The syntax for this is
 
-@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. 
+@example
+\revert Slur #'(details closeness-factor)
+@end example
 
 @item
-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.
+All line spanners are more flexible now in the configuration of
+their end points.  This includes glissando, voice followers, text
+crescendos and other text spanners.  The old syntax for setting
+text on line spanners is no longer valid.
 
-@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]
-  }
->>
+@c  with ragged-right we can't see the gliss.
+@lilypond[]
+\relative c'' {
+  \override Glissando #'bound-details #'right #'text = \markup { \hcenter \bold down }
+  \override Glissando #'bound-details #'right #'Y = #-4
+  \override Glissando #'bound-details #'right #'padding = #0.0
+  \override Glissando #'bound-details #'left #'arrow = ##t
+  \override Glissando #'bound-details #'left #'padding = #3.0
+  \override Glissando #'style = #'trill
+  
+  c1 \glissando c'
+}
 @end lilypond
 
 This feature was sponsored by Trevor Bača.
+
  
 @item
-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
+The environment variable LILYPONDPREFIX has been renamed to
+LILYPOND_DATADIR.
+
+@item
+Notes or rests, such as a typical end note, that fill an entire
+measure are preceded by some more space.
+
+@lilypond[ragged-right]
+\relative c' {
+  \time 4/4
+  s1
+  c2. c4
+  \time 3/4
+  c2.
 }
 @end lilypond
 
-This feature was sponsored by Trevor Bača.
+@item All @code{\score}s in a lilypond-book fragment are now inserted
+into the document. Also, toplevel markups don't result in an entire
+page.
 
+@item Alterations (such as a sharp and flat) may now be arbitrary
+fractions. This allows some forms of microtonal music.  For example,
+Turkish makam music uses 1/9th tone alterations.
 
-@item @textanchor{arrow-glyph}
-Arrow heads were added to the Feta font.
+@lilypondfile{makam.ly}
 
-@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 Tie directions may be set with @code{^~} and @code{_~}
 
-@item
-Nested tuplets are automatically positioned,
+@item Tablature now supports harmonics and slides,
 
-@lilypond[fragment,raggedright,relative=2]
-\set tupletNumberFormatFunction = #fraction-tuplet-formatter
-\times 4/6 {
-  a4 a 
-  \times 3/5 { a a a a a }
+@lilypond[fragment,ragged-right,relative=1]
+\new TabVoice
+{
+    <c g'\harmonic> d\2\glissando e\2
 }
 @end lilypond
 
-This feature was sponsored by Trevor Bača.
-
-@item
-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
-The current bar number may be checked with @code{\barNumberCheck}, eg.
-
-@verbatim
-\barNumberCheck #22
-@end verbatim
-
-@noindent
-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
-
-@verbatim
-showLastLength = R1*5
-\score { ... }
-@end verbatim
-
-@noindent
-will render only the last five measures (assuming 4/4 time signature)
-of a piece.
+This feature was sponsored by Mike Amundsen
 
-@item @textanchor{simple-melismata}
-Melismata can be specified simply in the lyrics now, eg.
+@item Horizontal spacing now follows object outlines more
+accurately. This allows tighter horizontal spacing.
 
-@lilypond[relative=1,verbatim,fragment]
+@lilypond[fragment,ragged-right]
 {
-  c d( e) f e d
-} \addlyrics {
-  Ky -- _ _ ri e
+  \stemUp c''4...*1/2
+  ceses'!
 }
-@end lilypond 
+@end lilypond
 
-This feature was sponsored by Nancho Alvarez 
 
-@item
-Suggested accidentals (for notating musica ficta) may be switched on
-with @code{suggestAccidentals}
+@item Objects that belong outside of the staff are
+now positioned automatically to avoid collisions.
 
-@lilypond[verbatim,fragment,relative=2]
-\set suggestAccidentals = ##t
-ais bis
-@end lilypond 
+@lilypond[fragment,ragged-right,relative=1]
+  c''
+  \once \override TextScript #'self-alignment-X = #CENTER
+  a,^"this doesn't collide with the c"
+  b^"this goes above the previous markup"
+  a8_"this goes below the dynamic"
+  a\f
+@end lilypond
 
-This feature was sponsored by Nancho Alvarez.
+@item Staves are spaced vertically using a skyline algorithm. This helps to avoid
+uneven vertical spacing.
 
-@item
-The setting @code{whichBar} and time-bookkeeping is now split into a
-@code{Default_bar_line_engraver} and @code{Timing_translator}
-respectively.
+@lilypond[ragged-right]
 
-@item @textanchor{pitched-trill}
-Explicit pitches may be added to trills,
+%% todo: fix 'landscape PDF.
+#(set-default-paper-size "a6" )
+\header {
+  tagline = ##f
+}
 
-@lilypond[relative,verbatim,fragment]
-  \pitchedTrill c4\startTrillSpan fis f\stopTrillSpan
-@end lilypond 
+\book {
+  \score {
+    {
+      a,,1 | a'4 b' c'' d'' \break
+      \repeat unfold 2 {a' b' c'' d''} | b''''1
+    }
+  }
+}
+@end lilypond
 
-This feature was sponsored by D. Josiah Boothby and Jamie Bullock
+@end itemize
 
-@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.6/Documentation/topdocs/out-www/NEWS.html}.
+@uref{http://lilypond.org/doc/v2.10/Documentation/topdocs/NEWS.html},
+or @uref{../,go back} to the Documentation index.
+
+
 @end ifhtml
 
 @bye