All, 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. I've modularized my scores using variables for each verse and for each voice and each psalm is contained in its own file and included into a master book file. Is there a way to effect this expansion using the same score blocks? The PowerPoint file at http://www.taylorpublications.net/image/data/powerpoint/Come%20Thou%20Fount%20of-SFP.ppt.zipgives an example of what I'm wanting to accomplish (albeit with a much more aesthetically-pleasing result). 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? The basic score block at present is: \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 ) { \score { << trebleClef verseCounter = 0 for each verse from listOfLyrics { increment verseCounter \new Lyrics \lyricsto verse.boundVoice { \set stanza = #"verseCounter. " verse.lyrics } } bassClef >> } } else { for each verse from listOfLyrics { increment verseCounter \score { << trebleClef \new Lyrics \lyricsto verse.boundVoice { \set stanza = #"verseCounter. " verse.lyrics } bassClef >> } } } } Cheers, Carl
_______________________________________________ lilypond-user mailing list [email protected] https://lists.gnu.org/mailman/listinfo/lilypond-user
