Hi all, I write [and engrave] a lot of choral music.
There's one big thing I want to do in Lilypond, and wanted to get some opinions on the matter... In my choral music, there are often large sections of unison and two-part writing, as well as four- and [complex] eight-part writing. That is to say, often the music can be completely represented on a single staff, but usually it needs two or three or four, and every once in a while it requires eight (i.e., one staff per vocal part). In a perfect world, I would like to indicate [in the .ly code] where a Voice *requires* its own Staff context, and then have Lilypond make the Staff-generating [partcombine?] decisions automatically, in order to get the best overall spacing. So (e.g.) if half-way through a system a unison section would [need to] break into four staves, either Lilypond would "back-quote" the unison music to fill the first half of the system, or insert a break at that point and respace the section accordingly, so that the "split" happens at the beginning of the new system. [I hope I've adequately explained what I'm looking for.] Right now, I'm using a somewhat complex combination of \quoteDuring [drawing from a "unison" variable] and manual breaks to accomplish this task. But I was hoping there might be a way to get it automated, mostly or fully. Since it would impact horizontal as well as vertical spacing, I imagine that: 1. The logic/algorithm/code would have to be in an engraver, and maybe even in C++, as opposed to in a Scheme function. 2. It might require multiple passes [like the old two-pass spacing macro]. 3. What I'm asking for might not be possible at all. Any suggestions or comments would be greatly appreciated. Cheers, Kieren. p.s. At the U.S. premiere (and CD recording) of my "Fantasy Variations" this past weekend in Arizona, I got more compliments on the score/parts -- yay, Lilypond! _______________________________________________ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user