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

Reply via email to