Repeat commands grace echo purger: Difference between revisions

Import snippet from LSR
 
Snippet is broken
 
(3 intermediate revisions by 2 users not shown)
Line 1: Line 1:
<div style="color: red">This is currently broken, not working with 2.24 or newer.</div>
One subtype of the '''''grace synchronization issue''''' is the '''''grace echo'''''. It occurs if one voice sends an (system wide collected) event (e.g. start of repeat, start or end of volta) before a grace note, while another voice does it after this grace note (usually because there is no grace note in the other voice). Then simply ''ignoring'' the second occurrence after the grace notes is a quick help.<br />
One subtype of the '''''grace synchronization issue''''' is the '''''grace echo'''''. It occurs if one voice sends an (system wide collected) event (e.g. start of repeat, start or end of volta) before a grace note, while another voice does it after this grace note (usually because there is no grace note in the other voice). Then simply ''ignoring'' the second occurrence after the grace notes is a quick help.<br />
Off course, it cannot help if there is no event before the first grace note at all, e.g. if you use a parallel control voice without grace notes to define the repeat structure.<br />
Off course, it cannot help if there is no event before the first grace note at all, e.g. if you use a parallel control voice without grace notes to define the repeat structure.<br />
With the '''''\repeat''''' and '''''\alternative''''' commands this method is a little tricky, because it must be done within an exact sequence of the other engravers. This example illustrates how it's done '''directly''' by context modifications and using a scheme engraver, and this source code also describes how it will be implemented by patching your LILYPOND installation.
With the '''''\repeat''''' and '''''\alternative''''' commands this method is a little tricky, because it must be done within an exact sequence of the other engravers. This example illustrates how it's done '''directly''' by context modifications and using a scheme engraver, and this source code also describes how it will be implemented by patching your LILYPOND installation.


<lilypond version="2.24.0">
<lilypond version="2.24">
%by: ArnoldTheresius
%by: ArnoldTheresius


Line 141: Line 143:


[[Category:Contexts and engravers]]
[[Category:Contexts and engravers]]
[[Category:Correction wanted]]
[[Category:Repeats]]
[[Category:Repeats]]
[[Category:Contexts and engravers]]
[[Category:Workaround]]
[[Category:Workaround]]
[[Category:Snippet]]