I'm 95% sure the answer to my question is "no," but I'll ask it anyway.
I'm working on a psalter, and one of the things I want to be able to do is go from a standard book layout with all the verses arranged in parallel to a screen layout for projection with each verse listed sequentially.
The effect would be similar to expanding a Volta repeat. I don't think I've seen anything in the documentation to do this without the Volta.
If something doesn't already exist, I suppose the question would be whether there's a way to accomplish this by Scheme?
\score { <<
\new Staff = "treble" <<\sopAlto \duplVoiceT >>
\new Lyrics \lyricsto "sopranoAlto" { \set stanza = #"1. " \verseOne }
\new Lyrics \lyricsto "sopranoAlto" { \set stanza = #"2. " \verseTwo }
\new Lyrics \lyricsto "sopranoAlto" { \set stanza = #"3. " \verseThree }
\new Staff = "bass" << \tenBass \duplVoiceB >>
>>
}
Where \sopAlto is the main combined part for Soprano and Alto, \tenBass is the combined Bass and Tenor voice, and \duplVoiceT and \duplVoiceB are for when I need to double the voice and have a stem pointing in the opposite direction (or in choruses when I need to differentiate the two voices on the staff).
My problem is that I am not a Scheme programmer (in fact, while I do some programming, I'm not versed in any of the languages used by the LilyPond project). The basic function would be something like this (in pseudo-pseudocode):
((verseOne "sopranoAlto") (verseTwo "sopranoAlto") (verseThree "sopranoAlto"))
function writeScore ( trebleClef, bassClef, splitVerses, listOfLyrics ) {
if ( splitVerses == false ) {
verseCounter = 0
for each verse from listOfLyrics {
increment verseCounter
\new Lyrics \lyricsto verse.boundVoice { \set stanza = #"verseCounter. " verse.lyrics }
}
}
else {
for each verse from listOfLyrics {
increment verseCounter
\score { <<
trebleClef
\new Lyrics \lyricsto verse.boundVoice { \set stanza = #"verseCounter. " verse.lyrics }
bassClef
>> }
}
}
}
Cheers,
Carl