I've made a little bit of progress: I've changed the code to:
#(define (make-my-scores parser location lyrics) (if (not (null? lyrics)) #{ $(car lyrics) $(make-my-scores parser location (cdr lyrics)) #} ) ) seqVerses = #(define-void-function (parser location up down title composer passage meter lyricist copyright lyrics) (ly:music? ly:music? string? string? string? scheme? scheme? scheme? list?) (let* ((score #{ \score { << \new Staff="top" { $up } #(make-my-scores parser location lyrics) \new Staff="bottom" { $down \pageBreak } >> } #} ) ) (add-score parser score) ) ) On Fri, May 10, 2013 at 6:15 PM, Carl Peterson <carlopeter...@gmail.com>wrote: > Okay, so I've been fairly successful in implementing and tweaking. I'm > working on the complementary function, to output a regular score with > stacked verses for book layout. Here is my re-arrangement: > > > If I leave out #(make-my-scores parser location lyrics) in the main > seqVerses function, I get the music just fine. However, when I add this, I > get guile errors. What am I missing here? I'm sure there's something > obvious that just isn't coming to mind. > > Thanks, > Carl > > > On Wed, May 8, 2013 at 11:32 PM, Jay Anderson <horndud...@gmail.com>wrote: > >> On Wed, May 8, 2013 at 12:27 PM, Carl Peterson <carlopeter...@gmail.com> >> wrote: >> > If something doesn't already exist, I suppose the question would be >> whether >> > there's a way to accomplish this by Scheme? >> >> Yes, I do something similar. This might help get you started: >> >> ======================================== >> ======================================== >> >> I think you're better off writing two separate functions instead of a >> big if/else block: one for one score with multiple verses and another, >> like the above, for multiple scores each with one verse. >> >> -----Jay >> > >
_______________________________________________ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user