From: Han-Wen Nienhuys Date: Sun, 20 Feb 2005 20:21:05 +0000 (+0000) Subject: *** empty log message *** X-Git-Tag: release/2.5.14~113 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=718c39d85a6ee259756ac2099b15176890b99b98;p=lilypond.git *** empty log message *** --- diff --git a/ChangeLog b/ChangeLog index 88d79fccd6..43ead19d8a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -4,6 +4,9 @@ 2005-02-20 Han-Wen Nienhuys + * Documentation/topdocs/NEWS.tely (Top): only mention 2.5 + NEWS. Refer to website for older news. + * stepmake/bin/add-html-footer.py (i18n): don't strip .PNG / .HTML. This should be done for specific servers only. diff --git a/Documentation/topdocs/NEWS.tely b/Documentation/topdocs/NEWS.tely index 253ceb93bf..2f16f96df2 100644 --- a/Documentation/topdocs/NEWS.tely +++ b/Documentation/topdocs/NEWS.tely @@ -148,1099 +148,6 @@ This will set stem directions and put the cue notes in the @code{cue} @end itemize -@unnumbered New features in 2.4 since 2.2 +For older news, go to +@uref{http://lilypond.org/doc/v2.4/Documentation/topdocs/out-www/NEWS.html}. -@itemize @bullet - -@item Parts that use @code{\quote} can now be transposed. - -@item LilyPond does not try to produce output for files that -have a parse error. - -@item @code{lilypond-book} will now remove any output files that -contain failed music snippets. - -@item The mode changing commands (@code{\chords}, @code{\lyrics}, etc.) -have been renamed to @code{\chordmode}, @code{\lyricmode}, etc. The -command @code{\chords} is an abbreviation for - -@example - \new ChordNames \chordmode ... -@end example - -@noindent -@code{\drums}, @code{\lyrics}, @code{\chords}, @code{\figures} -function similarly. - -@item The types of events quoted with @code{\quote} can now be tuned -with @code{quotedEventTypes}. By default, only notes and rests end up -in quotes. - -@item LilyPond will try to keep -staves at the same distances across a page, but it will stretch -distances to prevent collisions. This results in a more even -appearance of the page. - -@item Key signature cancellations are now printed before the bar line, -and their appearance has been improved. - -@item Different voices that all use @code{\quote} can now refer to -each other. - - -@item The automatic staff changer, which is invoked with -@code{\autochange}, now creates the @code{up} and @code{down} staff -automatically, and uses bass clef for the bottom staff. - -@item There is now support for putting two slurs on chords, both above -and below. This is switched on with the @code{doubleSlurs} property. - -@item Running trills now have their own spanner and event, - -@example - c1\startTrillSpan c4\stopTrillSpan -@end example - -@item There is a new markup command @code{\postscript} that takes a -string that is dumped as verbatim PostScript in the output. - -@item The melody for a @code{\lyricsto} text can be changed during a -melody by setting the @code{associatedVoice} property. - -@item The @code{\lyricsto} keyword now automatically switches on -lyrics mode. - -@item The LilyPond binary now supports output options -@code{--dvi} @code{--png} @code{--ps} @code{--pdf} and -@code{--preview}. The old wrapper script for La@TeX{} has been -renamed to @code{lilypond-latex}. - -@item Support for ambitus has been rewritten. The Ambitus object is now -a grouping object, composed of @code{AmbitusLine}, -@code{AmbitusAccidental} and @code{AmbitusNoteHead}. These objects may -be tuned similar to accidentals and note heads. - -@item Ledger lines are now shortened when the spacing is tight. This -prevents ledger lines from colliding with each other. - -@item Slur formatting has been rewritten. The new slur code -works similar to the Beam formatter: scores are assigned for all -esthetic components of a slur. A large number of combinations for -begin and end points is then tried out. Slurs will now also take into -account collisions with staff lines, scripts (like staccato and -accent) and accidentals. - - -@item In the LilyPond emacs mode, entering @code{|} will display the - current beat within the measure. - -@item Colliding notes are now correctly aligned relative to notes in other staves. - -@item An experimental GNOME output backend is available for developers. -It depends on several unreleased packages such as gnome-guile TLA and -Pango CVS. The output interface coverage is sparse, but it already -does support point-and-click on the GNOME Canvas. See also -@file{scm/output-gnome.scm}. - -@item Context definitions are now stored in identifiers that match the -context name, in other words, to modify a @code{Staff} context, the -following code may be used. - -@example -\context @{ - \Staff - .. -@} -@end example - -@item -The @code{\paper} block has been renamed to @code{\layout}. A new -@code{\paper} block has been introduced to hold settings for paper -size and output scaling. Further options include @code{raggedbottom} -(if set, systems are not vertically filled to reach the bottom of the -page), and @code{raggedlastbottom}. - - -@item Support for fret diagrams has been contributed by Carl -D. Sorensen. @file{input/test/fret-diagram.ly} contains an example. - -@item The @code{--safe-mode} has been revisited: GUILE evaluation -is done in the R5RS safe module, with only the basic @code{ly:} -interface available and malicious @TeX{} code is stopped. However, to -be reasonably safe, you are advised to use the PostScript backend -rather than the @TeX{} backend anyway; and if possible use an UML -sandbox to run gs or latex. - -@item Music syntax can now be extended seamlessly. As an example, -here is the new implementation @code{\applymusic}, - -@example - applymusic = #(ly:make-music-function - (list procedure? ly:music?) ; signature - (lambda (where func music) ; the function - (func music))) -@end example - -@item @code{\apply} has been renamed to @code{\applymusic}. - -@item Music can be used as a markup. -When inserting a @code{score} block as part of a @code{\markup}, it -produces a rendered markup of the music. An example is in -@file{input/test/markup-score.ly}. - -@item LilyPond expressions can be embedded into Scheme. The syntax for -this is @code{#@{ ... #@}}. Within such a block, Scheme forms can be -introduced using a @code{$} character (@code{$$} results in a single -`$' character). These forms are then inserted in the pattern. - -@example -#(define (textoffset dx dy) - (ly:export - #@{ \override Voice.TextScript #'extra-offset = #(cons $dx $dy) #@})) - -@{ - c'^"normal text" - %% The following embedded scheme call is the same as - %% \override Voice.TextScript #'extra-offset = #(cons 2 -3) - #(textoffset 2 -3) - c'^"text with offset" -@} -@end example - -@item A music list at toplevel is interpreted as implicit @code{\score} -a @code{\score} block at toplevel is interpreted as an implicit -@code{\book} and @code{\notemode} mode is the default lexer mode. The -result is that - -@example -\header @{ title = "The Title" @} -@{ a b c @} -@end example - -is interpreted as - -@example -\header @{ title = "The Title" @} -\book @{ - \score @{ - \notemode @{ a b c @} - @} -@} -@end example - -This is handled by the function defined in -@code{toplevel-music-handler}. Similarly, @code{\score} and -@code{\book} are handled by @code{toplevel-score-handler} and a -@code{toplevel-book-handler}. By changing these variables, different -results can be obtained. - -@item Mode changing commands, -such as @code{\chordmode} and @code{\figuremode} must now be directly -followed by delimiters. The following example demonstrates the new -behavior, - -@verbatim - \figuremode \context Figures { .. } % wrong - \context Figures \figuremode { .. } % right -@end verbatim - - -@item The starting pitch for @code{relative} music is optional for music lists. -The default value is middle C. - -@item Combining lyrics with music can be done with @code{\addlyrics} - -@example - \relative @{ - \clef bass - d2 d c4 bes a2 \break - @} - \addlyrics @{ - My first Li -- ly song, - @} - \addlyrics @{ - Not much can go wrong! - @} -@end example - -Syntactically, @code{\addlyrics} is an infix operator. It is a -shortcut for a combination of @code{\new Lyrics}, @code{\lyricmode} -and @code{\lyricsto}. - -@item The parser is encapsulated in a Scheme function -@code{ly:parse-file}, so the following fragment processes two files - -@verbatim -#(ly:parse-file "another.ly") -\score { \notes { c4 }} -@end verbatim - -@item The @code{font-encoding} property can now be used to select -differently encoded fonts. The previous default setting -@code{TeX-text} has been replaced by latin1. LilyPond requires the -@uref{http://www.lilypond.org/download/fonts/,ec-fonts-mftraced} -package installed to function properly. - -@item The encoding of a file can be switched with -@code{\encoding}. The strings for markup texts are translated -automatically. - -@item The toplevel block @code{\book} introduces page layout. -A @code{\book} groups @code{\score} blocks into one page layout -entity. For example, two scores are combined in one book with - -@example -\book @{ - \score @{ ... @} - \score @{ ... @} -@} -@end example - - -@item -Titling and page breaks are handled by LilyPond. Page breaks may be -inserted manually with - -@example - \pageBreak -@end example - -@item -Invoking @code{lilypond} runs the actual binary, which not use -La@TeX{} for titling or page layout. If you need La@TeX{} code in -titles, you can use the @code{lilypond-book} program. The former -@code{lilypond} script has been retained as @code{lilypond-latex}. - -@item There is now less of a noticeable ``hook'' at the end of a long slur. - -@item The meaning of the @code{|} in the input can be redefined, by - assigning a music expression to @code{pipeSymbol}. - -@end itemize - - - -@c **************************************************************** - -@unnumbered New features in 2.2 since 2.0 - -@itemize @bullet - -@item Setting @code{raggedlast = ##t} in the @code{\paper} block -causes the last line to be set flush-left instead of justified. - -@item The @code{Timing_engraver} now sets the @code{Timing} alias on -its containing context automatically. - -@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}. - -@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 -be followed by @code{=}@var{quotes} which indicates what its absolute -octave should be. In the following example, - -@example - \relative c'' @{ c='' b=' d,='' @} -@end example - -@noindent -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{Lyrics} lines can be put melodies -individually, allowing for different melismatic sections in every -@code{Lyrics}. See @file{input/regression/lyric-combine-new.ly}. - -@item Bar lines may now be dotted. - - -@item The documentation now has links to a wiki, where everyone can -add personal comments to the manual. - -@item Contexts may now be changed locally for an isolated music -expression. For example, - -@example - \new Voice \with @{ - \consists "Pitch_squash_engraver" - @} @{ - c'4 - @} -@end example - -@item The syntax for changing staffs has changed. The keyword -@code{\change} should now be used, e.g. - -@example - \change Staff = up -@end example - -@item Features of spanner contexts, like @code{Staff}, can now be changed - using @code{\set}, eg. - -@example - \new Staff @{ - \override Staff.StaffSymbol #'line-count = #4 - c'4 - @} -@end example - -@noindent -puts a quarter note C on a staff with 4 lines. - - -@item Multi measure rests are now truly centered between the -clefs/barlines of the staff, their position is independent of symbols -on the other staffs. - -@item Collision resolution for dots in chords has been improved greatly. - -@item -Spacing following barlines was improved for widely stretched lines. - -@item -Lyric hyphens and extenders now conform to standard typesetting -practice. - -@item -Lyrics are now aligned under note heads conforming to engraving -standards. The responsible code has been rewritten, and is drastically -simpler from the previous version. To aid this rewrite, the syntactic -function of the extender line ( __ ) has been changed: it is now -attached to the lyric syllable. - -@item -When redefining a context, the associated identifier is also -updated. For example, after reading - -@example - \translator @{ - \ScoreContext - autoBeaming = ##f - @} -@end example - -@noindent -the definition of @code{ScoreContext} is updated to include the changed -setting. - - -@item -The weight of the stafflines is now heavier at smaller staff sizes. -The font has been modified to match this look: at smaller sizes, the -font is heavier and the note heads are more rounded. - -@item Processing scores is now done while parsing the file. New -Scheme functions give more flexibility: for example, it is now possible -interpret a score, collecting synchronized musical events in a list, and -manipulate that information using inline Scheme. For an example, see -@file{input/no-notation/recording.ly}. - -@item Font sizes can now truly be scaled continuously: the @code{font-size} -is similar to the old @code{font-relative-size}, but may be set to -fractional values; the closest design size will be scaled to achieve -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 Stem tips are now also engraved with rounded corners. - -@item -The placement of accidentals on chords and ledgered notes is improved. - -@end itemize - - -@unnumbered New features in 2.0 since 1.8 - -@itemize - -@item -Crescendos can now be drawn dotted or dashed. - -@item -Quarter tones are now supported. They are entered by suffixing -@code{ih} for a half-sharp and @code{eh} for a half-flat. Hence, the -following is an ascending list of pitches: - -@example - ceses ceseh ces ceh c cih cis cisih cisis -@end example - -@item -The following constructs have been removed from the syntax: - -@example - \duration #SCHEME-DURATION - \pitch #SCHEME-PITCH - \outputproperty @var{func} @var{symbol} = @var{value} -@end example - -For @code{\outputproperty}, the following may be substituted: - -@example - \applyoutput #(outputproperty-compatibility @var{func} - @var{symbol} @var{value}) -@end example - -@item -Clefs may now be transposed arbitrarily, for example - -@example - \clef "G_8" - \clef "G_15" - \clef "G_9" -@end example - - -@item -The syntax for chords and simultaneous music have changed. -Chords are entered as - -@example - <@var{pitches}> -@end example - -while simultaneous music is entered as - -@example - <<@var{..music list..}>> -@end example - -In effect, the meanings of both have been swapped relative to their 1.8 -definition. The syntax for lists in @code{\markup} has changed -alongside, but figured bass mode was not changed, i.e.: - -@example - \markup @{ \center <@var{..list of markups..}> @} - \figure @{ <@var{figures}> @} -@end example - -As chords the more often used than simultaneous music, this change will -save keystrokes. - -@item -Each music expression can now be tagged, to make different printed -versions from the same music expression. In the following example, -we see two versions of a piece of music, one for the full score, and -one with cue notes for the instrumental part: - -@example -<< \tag #'part << - @{ c4 f2 g4 @} % in the part, we have cue-notes - \\ R1 >> - \tag #'score R1 % in the score: only a rest ->> -@end example - -The same can be applied to articulations, texts, etc.: they are -made by prepending - -@example - -\tag #@var{your-tags} -@end example - -to an articulation, for example, - -@example - c4-\tag #'with-fingerings -4 -\tag #'with-strings \6 -@end example - -This defines a note, which has a conditional fingering and a -string-number indication. - -@item -The settings for chord-fingering are more flexible. You can specify a -list where fingerings may be placed, eg. - -@example - \property Voice.fingeringOrientations = #'(left down) -@end example - -This will put the fingering for the lowest note below the chord, and the -rest to the left. - -@item -The script previously known as @code{ly2dvi} has been renamed to -@code{lilypond}. The binary itself is now installed as -@code{lilypond-bin}. - -@item -Markup text (ie. general text formatting) may now be used for lyrics too. - -@item -Two new commands for grace notes have been added, @code{\acciaccatura} -and @code{\appoggiatura}, - -@example - \appoggiatura f8 e4 - \acciaccatura g8 f4 -@end example - -Both reflect the traditional meanings of acciaccatura and appogiatura, -and both insert insert a slur from the first grace note to the main -note. - -@item -Layout options for grace notes are now stored in a context property, -and may now be set separately from musical content. - -@item -The @code{\new} command will create a context with a unique -name automatically. Hence, for multi-staff scores, it is no longer -necessary to invent arbitrary context names. For example, a two-staff -score may be created by - -@example - \simultaneous @{ - \new Staff @{ @var{notes for 1st staff} @} - \new Staff @{ @var{notes for 2nd staff} @} - @} -@end example - - - -@item -Octave checks make octave errors easier to correct. -The syntax is - -@example - \octave @var{pitch} -@end example - -This checks that @var{pitch} (without octave) yields @var{pitch} (with -octave) in \relative mode. If not, a warning is printed, and the -octave is corrected. - -@item -All articulations must now be entered postfix. For example, - -@example - c8[( d8]) -@end example - -@noindent -is a pair of beamed slurred eighth notes. - -@item -The definition of @code{\relative} has been simplified. Octaves are -now always propagated in the order that music is entered. In the -following example, - -@example - PRE - \repeat "unfold" 3 BODY \alternative @{ ALT1 ALT2 @} - POST -@end example - -@noindent -the octave of BODY is based on PRE, the starting octave of ALT1 on -BODY, the starting octave of ALT2 on ALT1, and the starting octave of -POST on ALT2. - -The same mechanism is used for all other music expressions, except the -chord. Backwards compatibility is retained through a special program option, -which is set through - -@example - #(ly:set-option 'old-relative) -@end example - -@item -Windows users can double click a @code{.ly} file to process and view -it automagically through the new @code{lily-wins} frontend. - -@end itemize - - - - -@unnumbered New features in 1.8 since 1.6 - -@itemize - -@item -The chord entry code has been completely rewritten. It is now -cleaner and more flexible. - -@item -A new syntax has been added for text entry. This syntax is more -friendly than the old mechanism, and it is implemented in a more -robust and modular way. For more information, refer to the section on -"Text markup" in the notation manual. - -@item -The integration of the input language and Scheme has been made deeper: -you can now use LilyPond identifiers in Scheme, and use Scheme -expressions instead of LilyPond identifiers. - -@item -The internal representation of music has been cleaned up completely -and converted to Scheme data structures. The representation may be -exported as XML. - -@item -A new uniform postfix syntax for articulation has been introduced. -A beamed slurred pair of eighth notes can be entered as - -@example - c8-[-( d8-]-) -@end example - -In version 2.0, postfix syntax will be the only syntax -available, and the dashes will become optional. - -This will simplify the language: all articulations can be entered as -postfix, in any order. - -@item -A new syntax has been added for chords: - - -@example - << PITCHES >> -@end example - -It is not necessary to update files to this syntax, but it will be for -using LilyPond version 2.0. In version 2.0, this syntax will be -changed to - -@example - < PITCHES > -@end example - -for chords, and - -@example - \simultaneous @{ .. @} -@end example - -for simultaneous music. - -To convert your files from to <>, use the script -included in @file{buildscripts/convert-new-chords.py}. - -This change was introduced for the following reasons - -@itemize @bullet -@item -It solves the "start score with chord" problem, where you have to - state \context Voice explicitly when a chord was the start of a - Staff or Score. -@item -With the new syntax, it is possible to distinguish between - articulations (or fingerings) which are for a single chord note, - and which are for the entire chord. This allows for per-note - fingerings, and is more logical on the whole. -@end itemize - -@item -User code may now be executed during interpreting. The syntax for -this code is - -@example - \applycontext #SCHEME-FUNCTION -@end example - -@item -User code may now be executed on arbitrary grobs during interpreting. -The syntax for this feature is - -@example - \applyoutput #SCHEME-FUNCTION -@end example - -@noindent -SCHEME-FUNCTION takes a single argument, and is called for every grob -that is created in the current context. - -@item -New algorithms for chord-name formatting have been installed. They -can be tuned and have ergonomic syntax for entering exceptions. - -@item -Texts may now be put on multimeasure rests, e.g. - -@example - R1*20^\markup @{ "GP" @} -@end example - -@item -Ancient notation now prints ligatures in Gregorian square neumes -notation, roughly following the typographical style of the Liber -hymnarius of Solesmes, published in 1983. Ligatures are still printed -without the proper line breaking and horizontal spacing. - -@item -Glissandi can now be printed using the zigzag style. - -@item -LilyPond can now print clusters. The syntax is - -@example - \apply #notes-to-clusters @{ NOTE NOTE .. @} -@end example - -@item -For irregular meters, beat grouping marks can be printed. The -syntax for this is - -@example - #(set-time-signature 7 8 '(3 2 2)) -@end example - - -@item -Nested horizontal brackets for music analysis can now be printed: - -@example - NOTE-\startGroup - .. - NOTE-\stopGroup -@end example - - -@item Ottava brackets are now fully supported as a feature. The syntax -is - -@example - #(set-octavation 1) -@end example - - -@item Metronome markings are printed when a \tempo command is processed. - - - -@item Fingerings can be put on chords horizontally. - - - -@item The appearance of various glyphs has been fine-tuned. - - - -@item Different types of percent style repeats may now be nested. - - - -@item The emacs support has been extended. - - -@item -The manual has been completely revised and extended. - -@end itemize - -@unnumbered New features in 1.6 since 1.4 - - -@itemize @bullet - -@item -Support for figured bass and tablature. - -@item -Completely rewritten beam formatting: provides much better output -now. - - -@item -Completely revised and improved music font. - - -@item -Completely rewritten MIDI import support. - -@item -Completely rewritten grace note support. Practically speaking this -means that grace notes can be slurred to normal normal notes. - - -@item -Improved accidental handling and formatting: styles for producing -cautionaries may vary, and complex collisions between accidentals of a -chord are handled much better. - -@item -Better spacing: both globally and locally. This includes subtle -details like optical stem spacing. - -@item -More support for ancient notation: mensural ligatures, ambitus -(pitch range) of voices, more shapes, etc. - -@item -More support for piano notation: bracket pedals, directed arpeggios, -arpeggio brackets. - -@item -Easier music polyphonic music entry. - -@item -More extensibility, many speedups and bugfixes - -@item -The manual has been thoroughly revised. - -@item -Development is now hosted at http://savannah.gnu.org, and sources -can be downloaded through anonymous CVS. - -@item -Support for windows: LilyPond is part of the cygwin distribution, -which comes with a user-friendly installer. - -@end itemize