> 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
