lilypond-user
[Top][All Lists]
Advanced

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

Re: [Best Practices] splitting and combining choral parts


From: Kieren MacMillan
Subject: Re: [Best Practices] splitting and combining choral parts
Date: Wed, 25 Nov 2015 14:53:01 -0500

Hi, 

> Can we focus on how to achieve automatic frenching based on divisi?

Thanks.  =)

> this seems like a lot of work.

Well, I’m know it won’t be trivial… But I was hoping we could come up with a 
"Goldilocks solution”: a rather elegant way of handling it, with a minimum of 
effort on the engraver’s (i.e., user’s) part.

> It sounds like we want Lily to look at the line she's working on
> and decide whether some of the staves can be
> combined based on the content they have.

Eventually, sure, that’s the ideal. But for now, I’d be happy with manually 
entering \letStaffVanish and \showStaff (i.e., force visibility) at the 
sections where it’s clear those are necessary.

> An ideal solution would have to allow the user to turn certain rules on or 
> off.
> This seems like complex programming to me.

I’m not sure that’s in my Five-Year Plan for this feature/framework.  ;)

> would a solution that requires user intervention be acceptable?

Without a doubt. I sort of assume(d) that Phase One would be completely 
user-driven, with Phase Two [and beyond] being incremental automation of the 
various mechanisms involved.

> For example, a switch like \separateStaves which would force
> staves to be separated from the beginning of the current line, and a
> corresponding \combineStaves which would tell Lily to begin combining at the
> next line break. You would also have to specify which staves to combine.
> This puts the burden of decision on the user, hopefully simplifying the
> programming. Then, Lily just has to create a new Staff, use \partcombine,
> and assign lyrics to the voice.

Yes! This is the kind of discussion I want to have.

For \separateStaves, one can already put \letStaffVanish (resp. 
\letLyricsVanish) in the contexts that are not absolutely required, and 
\showStaff in those parts that are. And we have \quoteDuring, \partCombine, 
etc. to reduce the redundant code entry. See attached modified example.

There’s a divisi framework in openlilylib (cf. 
<https://github.com/openlilylib/openlilylib/tree/master/notation-snippets/divisi>),
 but I haven’t investigated how mature it is, or how suitable to helping me 
solve this problem.

So… Here are some questions right off the bat:

1. How can I \addQuote and \quoteDuring lyrics?

2. If I wanted to condense the S+A staves on system 3 into a single SA staff, 
what’s the best approach?

3. Would all of this [kind of thing] be best conceived/coded as “exploding 
music” (i.e., start with a unison context, and divisi outwards), or “imploding 
music” (i.e., start with maximum spread, and combine to condense), or a 
combination thereof?

4. Is it better to use the soprano line as the unison line [as I’ve done here], 
or have a whole separate unison variable quoted in all parts [including the 
soprano]? In any case, one would want to add [as I have not] clarifying markups 
at the beginnings of systems or voice entries, as appropriate/necessary.

5. What would be the best way to simultaneously switch contexts/staves on and 
off? How can this be done with a minimum mixture of content and presentation?

Thanks,
Kieren.
________________________________

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

Attachment: WithersCarol_example.ly
Description: Binary data


reply via email to

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