lilypond-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: \change Voice


From: Dan Eble
Subject: Re: \change Voice
Date: Sun, 26 Apr 2015 08:37:14 -0400

> On Apr 25, 2015, at 15:17 , Keith OHara <address@hidden> 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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]