OLD | NEW |
1 \input texinfo @c -*- coding: utf-8; mode: texinfo; -*- | 1 \input texinfo @c -*- coding: utf-8; mode: texinfo; -*- |
2 @setfilename lilypond-changes.info | 2 @setfilename lilypond-changes.info |
3 @settitle LilyPond Changes | 3 @settitle LilyPond Changes |
4 | 4 |
5 @include macros.itexi | 5 @include macros.itexi |
6 | 6 |
7 @ifhtml | 7 @ifhtml |
8 @macro inputfileref{DIR,NAME} | 8 @macro inputfileref{DIR,NAME} |
9 @uref{../../\DIR\/collated-files.html#\NAME\,@file{\DIR\/\NAME\}}@c | 9 @uref{../../\DIR\/collated-files.html#\NAME\,@file{\DIR\/\NAME\}}@c |
10 @end macro | 10 @end macro |
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
131 The following is a fundamental change in LilyPond's music | 131 The following is a fundamental change in LilyPond's music |
132 representation: Rhythmic events like @code{LyricEvent} and | 132 representation: Rhythmic events like @code{LyricEvent} and |
133 @code{NoteEvent} are no longer wrapped in @code{EventChord} unless they | 133 @code{NoteEvent} are no longer wrapped in @code{EventChord} unless they |
134 have been actually entered as part of a chord in the input. If you | 134 have been actually entered as part of a chord in the input. If you |
135 manipulate music expressions in Scheme, the new behavior may require | 135 manipulate music expressions in Scheme, the new behavior may require |
136 changes in your code. Calling the music function @code{\eventChords} or | 136 changes in your code. Calling the music function @code{\eventChords} or |
137 the Scheme function @code{event-chord-wrap!} converts to the old | 137 the Scheme function @code{event-chord-wrap!} converts to the old |
138 representation; using one of those might be easiest for keeping legacy | 138 representation; using one of those might be easiest for keeping legacy |
139 code operative. | 139 code operative. |
140 | 140 |
141 The advantages of making input and music match more closely are | 141 The following three items are consequences of this change. |
142 numerous: music functions previously worked differently when used inside | 142 |
143 or outside of chords. Now they are the same, including all the | 143 @item |
144 possibilities of argument parsing. You can now use music variables | 144 Music functions now work the same when used inside or outside of chords, |
145 inside of chords: a construct like | 145 including all the possibilities of argument parsing. Music variables |
| 146 can be used inside of chords: a construct like |
146 @lilypond[verbatim,quote,ragged-right] | 147 @lilypond[verbatim,quote,ragged-right] |
147 tonic=fis' | 148 tonic=fis' |
148 { <\tonic \transpose c g \tonic> } | 149 { <\tonic \transpose c g \tonic> } |
149 @end lilypond | 150 @end lilypond |
150 @noindent | 151 @noindent |
151 would have been unthinkable previously. You can use | 152 now works as expected. One can use @code{#@{@dots{}#@}} for |
152 @code{#@{@dots{}#@}} for constructing chord constituents. Music | 153 constructing chord constituents. @code{\tweak} now works on single |
153 functions inside of chords are no longer specially treated and thus | 154 notes without needing to wrap them in a chord. Using it on command |
154 accept the same arguments as outside of chords. @code{\tweak} now works | 155 events and lyrics is now possible, but not likely to give results yet. |
155 on single notes without needing to wrap them in a chord. In theory, it | |
156 can also work on command events and lyrics now. Since that was not | |
157 possible before, it depends on luck on a case-by-case basis whether the | |
158 tweak internals are already receiving the necessary information. Users | |
159 are asked to report those cases where they find @code{\tweak} not | |
160 working according to reasonable expectations. | |
161 | 156 |
162 @item | 157 @item |
163 As one consequence, it was possible to reimplement the repetitive chord | 158 The repetitive chord entry aid @code{q} has been reimplemented. |
164 entry aid @code{q}. Repeated chords are now replaced right before | 159 Repeated chords are now replaced right before interpreting a music |
165 interpreting a music expression. In case the user wants to retain | 160 expression. In case the user wants to retain some events of the |
166 some events of the original chord, he can run the repeat chord | 161 original chord, he can run the repeat chord replacement function |
167 replacement function @code{\chordRepeats} manually. | 162 @code{\chordRepeats} manually. |
| 163 |
| 164 @item |
| 165 String numbers and right hand fingerings on single notes now appear |
| 166 without having to be written inside of chord brackets. |
168 | 167 |
169 @item | 168 @item |
170 Scheme expressions inside of embedded Lilypond (@code{#@{@dots{}#@}}) | 169 Scheme expressions inside of embedded Lilypond (@code{#@{@dots{}#@}}) |
171 are now executed in lexical closure of the surrounding Scheme code. | 170 are now executed in lexical closure of the surrounding Scheme code. |
172 @code{$} is no longer special in embedded Lilypond. It can be used | 171 @code{$} is no longer special in embedded Lilypond. It can be used |
173 unconditionally in Lilypond code for immediate evaluation, similar to | 172 unconditionally in Lilypond code for immediate evaluation, similar to |
174 how @code{ly:export} could previously be used. @code{ly:export} has | 173 how @code{ly:export} could previously be used. @code{ly:export} has |
175 been removed. As a consequence, @code{#} is now free to delay | 174 been removed. As a consequence, @code{#} is now free to delay |
176 evaluation of its argument until the parser actually reduces the | 175 evaluation of its argument until the parser actually reduces the |
177 containing expression, greatly reducing the potential for premature | 176 containing expression, greatly reducing the potential for premature |
(...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
324 @ifhtml | 323 @ifhtml |
325 For older news, go to | 324 For older news, go to |
326 @uref{http://lilypond.org/doc/v2.14/Documentation/changes/}, | 325 @uref{http://lilypond.org/doc/v2.14/Documentation/changes/}, |
327 @uref{http://lilypond.org/doc/v2.12/Documentation/topdocs/NEWS.html}, | 326 @uref{http://lilypond.org/doc/v2.12/Documentation/topdocs/NEWS.html}, |
328 or @uref{../,go back} to the Documentation index. | 327 or @uref{../,go back} to the Documentation index. |
329 | 328 |
330 | 329 |
331 @end ifhtml | 330 @end ifhtml |
332 | 331 |
333 @bye | 332 @bye |
OLD | NEW |