> On Apr 25, 2015, at 15:17 , Keith OHara <[email protected]> wrote:
> 
> Current \partcombine does not collect segments into sequential music groups, 
> but it could do so.  The analysis pass of \partcombine looks at the music 
> globally to find the transition points that it puts in 'split-list, so a next 
> pass can form sequential music groups between the transition points.
> 
>  \partcombine
>    {R1*3 g''2 d''2 }
>    {r1 r2 b2 R1 b2 d'2 }
> 
> could be transformed into
[snip]
>    {
>      \context Devnull {r1 r2}
>      \context Voice = "solo" { \mark"solo II" b2 }
>      \context Devnull { R1 }
>      \context Voice = "two" { b2 }
>      \context Voice = "shared" { d'2 }
>    } >>
> 
> I think \context...{} segments make a better implementation of \partcombine 
> than re-routing outlets in the part-combine-iterator.cc

I believe that would work, but it looks less tidy than keeping the original 
part intact and wrapping it in a context which moves between Voice contexts.  
It would definitely be a challenge to reconstruct the part for 
\displayLilyMusic; I’d probably stash the original parts in a property just for 
that purpose, which seems like a dumb idea.

I can tentatively say that I have been successful in removing the 
part-combine-iterator using wrapper contexts.  There are a couple regtest 
differences that I want to understand fully before I post a review.
— 
Dan


_______________________________________________
lilypond-devel mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/lilypond-devel

Reply via email to