X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=Documentation%2Ftopdocs%2FNEWS.texi;h=9c45fff780fd3254b2317b118e5b64ea157e7811;hb=15551c56a17c10f2e1eae0766ddc87a62da119a8;hp=f85b750578ee6d1c8b7482aa58421b2647543db1;hpb=d9e57e198888ce00fbf9acd84c351356de94552f;p=lilypond.git diff --git a/Documentation/topdocs/NEWS.texi b/Documentation/topdocs/NEWS.texi index f85b750578..9c45fff780 100644 --- a/Documentation/topdocs/NEWS.texi +++ b/Documentation/topdocs/NEWS.texi @@ -5,18 +5,264 @@ @node Top, , , @top -@chapter New features in 2.1 since 2.0 +@unnumbered New features in 2.1 since 2.0 -@ignore -Unreleased: +@itemize @bullet -@itemize -@end itemize +@item The @code{Timing_engraver} now sets the @code{Timing} alias on +its containing context automatically. -Version 2.1.9 -@end ignore +@item The code for font selection has been rewritten. In addition to +existing font selection properties, the property @code{font-encoding} +has been added, which makes the switch between normal @code{text} and +other encodings like @code{braces}, @code{music} and @code{math}. -@itemize @bullet +@item The pmx2ly script has been removed from the distribution. + +@item Pedal brackets will now run to the last bar of a piece if they are not +explicitly ended. + +@item Context definitions now use the word @code{\context} instead of @code{\translator}. + +@item Property functions may be used as an argument to @code{set!}, +for example + +@example + (set! (ly:grob-property grob 'beam) ... ) +@end example + +@item In anticipation of Emacs 21.4 or 22.1, the info documentation contains +images. + +@item Cue notes can be quoted directly from the parts that +contain them. This will take into account transposition of source and target +instrument. For example, + +@verbatim +\addquote clarinet \notes\relative c' { + \transposition bes + fis4 fis fis fis +} + +\score { + \notes \relative c'' { + c8 d8 \quote 2 oboe es8 gis + } +} +@end verbatim + +@item The transposition of an instrument can be specified using the +@code{\transposition} command. An +E-flat alto saxophone is specified as + +@example + \transposition es' +@end example + +@item The naming of exported Scheme functions now follows Scheme conventions. +Changes be applied to Scheme files with + +@example + convert-ly -e -n --from=2.1.24 --to=2.1.26 *.scm +@end example + + +@item Notes can be excluded from auto-beaming, by marking them with +@code{\noBeam} +@example + c8 c \noBeam c c +@end example + +@noindent +will print two separate eighth notes, and two beamed notes. + +@item Translators and contexts have been split. The result of this +internal cleanup is that @code{Score} no longer is the top context; +@code{Score} is contained in the @code{Global} context. Consequently, +it is possible to tweak @code{Score} as follows: + +@example + \context Score \with @{ + @dots{} + @} +@end example + +@item The number of staff lines in Tablature notation is now +automatically deduced from the @code{stringTunings} property. + +@item The program reference has been cleaned up and revised. + +@item The syntax for setting properties has been simplified: +the following table lists the differences: + +@example + (old) (new) + +\property A.B = #C \set A.B = #C +\property A.B \unset \unset A.B +\property A.B \set #C = #D \override A.B #C = #D +\property A.B \override #C = #D (removed) +\property A.B \revert #C \revert A.B #C +@end example + +Furthermore, if @code{A} is left out, the bottommost context is used +by default. In other words, it is no longer necessary to explicitly +mention @code{Voice}, @code{Lyrics} or @code{ChordNames}. + +Old: + +@example + \property Voice.autoBeaming = ##f + \property Staff.TimeSignature \set #'style = #'C +@end example + +New: + +@example + \set autoBeaming = ##f + \override Staff.TimeSignature #'style = #'C +@end example + + +@item Tweaks made with @code{\override} and @code{\revert} no longer +hide tweaks at higher context levels. + +@item Melismata in lyrics are also properly handled in the MIDI output. + +@item The lilypond-book script has been rewritten. +It is shorter, cleaner and faster. The special construct +@code{mbinclude} has been removed, plain @code{@@include} or +@code{\input} can be used now. + +It now supports running convert-ly on the lilypond snippets, +@example + lilypond-book --filter='convert-ly --from=2.0.0' my-book.tely +@end example + +@item The @code{LyricsVoice} context has been removed. Lyrics should only +be constructed in @code{Lyrics}. + +@item The @code{Thread} context has been removed. Note heads and rests +are now constructed at @code{Voice} level. + +@item Harmonic notes can now be entered as + +@example + +@end example + +@item Drum notation is now supported as a regular feature: +percussion may be entered in @code{\drums} mode, and printed or +performed in a @code{DrumStaff} context: + +@example + \score @{ + \drums \new DrumStaff @{ hihat4 cowbell8 @} + @} +@end example + +@item The automatic staff changer was internally rewritten. As a +result, the syntax has been simplified as well: + +@example + \autochange @var{the-music} +@end example + +@item The ergonomic syntax of @code{\markup} now has an equivalent in +Scheme. The @code{markup*} macro creates such objects; the following +two markup commands are equivalent: +@example + f4^#(markup* #:raise 0.2 #:bold "hi") + f4^\markup @{ \raise #0.2 \bold hi @} +@end example + +@item Voice names, for vocal lines, have been added. They are similar +to instrument names. They can be set by defining @code{vocalName} +and @code{vocNam}. + +@item Safe mode has been reinstated for lilypond. +When lilypond is invoked with @code{--safe-mode}, @TeX{} and +PostScript file output is disallowed, and lilypond-bin is invoked with +@code{--safe-mode}, the user's Guile expressions are evaluated in a +safe environment and file inclusion is not allowed. + +Warning: this does not protect against denial-of-service attacks using +Guile, @TeX{} or PostScript. + +(This feature is still experimental.) + +@item There is now a Scheme macro for defining markup +commands. Special mark-up commands can be defined in user-files too. + +@item Many fixes for dimension scaling have been made, +resulting in correct results for scores that mix staves in different +sizes. + +@item Improved robustness when layout properties are accidentally removed. + +@item A more cleanly constructed part combiner has been installed. +It is more robust and less buggy. The part-combiner can be used with +@example + \partcombine @var{mus1} @var{mus2} +@end example + +@noindent +See @file{input/regression/new-part-combine.ly} for an example. + +@item Formatting of rehearsal marks has been improved. The @code{\mark} +command now only does automatic incrementing for marks specified as +integer. For example, @code{\mark #1} will print an A in the default +style. See @file{input/regression/rehearsal-mark-letter.ly}, +@file{input/regression/rehearsal-mark-number.ly}. + +@item Formatting of ottava brackets has been much improved. + +@item Objects in the output can now be documented: the following fragment + boxes the note head, and adds the text ``heads or tails?'' three +spaces below the box. + +@example + \context Voice \applyoutput #(add-balloon-text + 'NoteHead "heads, or tails?" + '(0 . -3)) + + + c8 +@end example + + +@item Default staff sizes are now scalable. There are two new mechanisms for +setting staff sizes. Both are demonstrated in this fragment: + +@example + #(set-global-staff-size 15) + \paper @{ + #(paper-set-staff-size (* 15 pt)) + @} +@end example + + +@noindent +Both have the same effect on the global layout of a piece. Similarly, +the paper size may be changed as follows + +@example + #(set-default-paper-size "a4") + \paper @{ + #(set-paper-size "a4") + @} +@end example + + +@item Warnings for bar check errors are more cleverly printed. This +makes @code{barCheckSynchronize} superfluous, so it is now switched +off by default. + +Warning: this will cause problems in scores that use bar checks to +shorten measures. + +@item The black note head was made a little rounder, which causes a less + frantic graphic impression. @item A more concise syntax for checking octaves was introduced. A note may @@ -28,15 +274,14 @@ octave should be. In the following example, @end example @noindent -the @code{d} will generate a warning, because a @code{d''} is -expected, but a @code{d'} is found. +the d will generate a warning, because a d'' is +expected, but a d' is found. +@c @code adds ` ', very confusing. @item There is a new mechanism for putting lyrics to melodies. -With this mechanism, @code{LyricVoice}s can be put melodies +With this mechanism, @code{Lyrics} lines can be put melodies individually, allowing for different melismatic sections in every -@code{LyricVoice}. See @file{input/regression/lyric-combine-new.ly}. - -@item Formatting of ottava brackets has been improved. +@code{Lyrics}. See @file{input/regression/lyric-combine-new.ly}. @item Bar lines may now be dotted. @@ -63,11 +308,11 @@ expression. For example, @end example @item Features of spanner contexts, like @code{Staff}, can now be changed - using @code{\property}, eg. + using @code{\set}, eg. @example \new Staff @{ - \property Staff.StaffSymbol \set #'line-count = #4 + \override Staff.StaffSymbol #'line-count = #4 c'4 @} @end example @@ -127,7 +372,7 @@ the desired size. As a side-effect, there are now no longer limitations in using smaller fonts (eg. grace notes) at small staff sizes. -@item The appearance of stem tips is now also engraved with rounded corners. +@item Stem tips are now also engraved with rounded corners. @item The placement of accidentals on chords and ledgered notes is improved. @@ -339,7 +584,7 @@ it automagically through the new @code{lily-wins} frontend. -@chapter New features in 1.8 since 1.6 +@unnumbered New features in 1.8 since 1.6 @itemize @@ -516,7 +761,7 @@ The manual has been completely revised and extended. @end itemize -@chapter New features in 1.6 since 1.4 +@unnumbered New features in 1.6 since 1.4 @itemize @bullet