lilypond-devel
[Top][All Lists]
Advanced

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

Re: Part combiner: separate split state and voice names


From: Dan Eble
Subject: Re: Part combiner: separate split state and voice names
Date: Sat, 29 Nov 2014 20:50:48 -0500

On Nov 29, 2014, at 18:48 , Keith OHara <address@hidden> wrote:
> 
> On Sat, 29 Nov 2014 14:44:48 -0800, Dan Eble <address@hidden> wrote:
> 
>> This suggestion was motivated by recent work on cases in which both parts 
>> are resting. If the desired action is to route only one of the voices to the 
>> shared voice, the Scheme half currently can only say “unisilence” and the 
>> Part_combine_iterator picks a voice. The problem is that sometimes it 
>> doesn’t pick well.  It seems that the Scheme half has the information to 
>> make a better decision.
> 
> Oh, so you meant let the Scheme portion dictate to partcombine_iterator which 
> _input_ voice, as it iterates the music expression produced by \partcombine, 
> to use.
> 
> That makes more sense.  However, the current problem with the iterator 
> picking which input part to route to output Voice "shared", seems best solved 
> by your current patch, that marks these situations as 'apart-silence' 
> whenever there is a difference between the input parts.

The current patch[1] improves many cases, but there are cases it doesn’t handle 
as well as could be handled, Exhibit A being the regression test that changed.

That case has a rest concurrent with a multi-measure rest.  The Scheme code 
could easily decide that the multi-measure rest is visually unnecessary, but 
there is no way for it to tell the current Part_combine_iterator specifically, 
“Both parts are silent; keep the first part and discard the second.”

[1] https://code.google.com/p/lilypond/issues/detail?id=4205
— 
Dan




reply via email to

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