On Dec 26, 2020, at 13:29, Thomas Morley <thomasmorle...@gmail.com> wrote:
> 
> Hi,
> 
> the following code gives bad output.
> 
> %% Start
> \version "2.20.0"
> 
> one = { e''2 \tag #'score f'' \tag #'part fis'' g''1 }
> two = { e''2 d'' g'1 }
> 
> \removeWithTag #'score \partCombine \one \two
> %% end
> 
> it looks like tags are not
> respected for the length of `skip`, but both are counted, thus the
> length is off.

Harm,

I would call this a known issue, and there are other features that similarly 
interfere with \partCombine.  If it ever seemed to work in the past, it 
depended on the specifics of the music.

\partCombine is a two-pass feature.  In your example, the first pass does not 
know that you will be removing tagged music, so the information it records is 
inconsistent with the music when it comes time for the second pass.  If you 
want to use \partCombine with filtering, unfolded repeats, or other 
transformations, you must transform first so that the music is in its final 
form before the first pass, something like this:

    \partCombine { \removeWithTag … \one } { \removeWithTag … \two }

Merry Christmas,
— 
Dan


_______________________________________________
bug-lilypond mailing list
bug-lilypond@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-lilypond

Reply via email to