Hi Urs,

This is very closely related to the oft-discussed topic of “smart divisi” (for 
lack of a better rubric) — see, for example, the threads at 
<http://lists.gnu.org/archive/html/lilypond-user/2015-11/msg00794.html>, the 
more recent 
<http://lists.gnu.org/archive/html/lilypond-user/2016-08/msg00256.html>, and 
the one that may be the oldest in the “modern [Lilypond] era” 

> The ideal way would be to have an automatic function that I can call within 
> such a measure (tagging it as "non-combinable") that would:

>       • Determine in which system I'm currently in and from where to where it 
> spans (i.e. previous and next line break)
>       • Create a temporary staff for exactly that range
>       • Copy the music of the second voice to that staff
>       • remove the second voice from the current staff
>       • (suppress partcombine texts)

Short answer: It can be “faked” by loading up the score with lots of individual 
staves that french out when they’re combinable, allowing the [part-]combined 
staves to appear. I put “faked” in quotes, because it requires the preparation 
of lots of hats into and out of which the various musical rabbits are pulled — 
it doesn’t (as you’ve outlined) take a single staff and do the splitting 

> He said it would be a dramatic advantage if LilyPond could do that 
> automatically.

Once I get my two current commissions done and out the door**, I want to return 
to my “Wither’s Carol” (the main inspiration for all of my feature requests in 
this regard during the last five years) and use it as a demonstration of this 
advantage.  =)

Hope that helps!

** Perhaps ironically, these two commissions — a wind symphony, and a huge 
piece (requiem kind of thing) for orchestra, choir, and soloist — would benefit 
directly from this framework/mechanism, if it were already state-of-the-art.  =\

Kieren MacMillan, composer
‣ website: www.kierenmacmillan.info
‣ email: i...@kierenmacmillan.info

lilypond-user mailing list

Reply via email to