Hello all, I have a question about how to use optional arguments in scheme functions. In my tiny example below I want to be able to leave out the 3rd argument, but then LilyPond takes the 2nd \makeScore as the 3rd argument (which doesn't work). I'm just curious to learn how to do this assuming there is a way. I can always just enter "" or \default for the 3rd argument (but then is it really optional?).
Relevant docs: http://lilypond.org/doc/v2.19/Documentation/extending/scheme-function-definitions Thanks, -Paul \version "2.19.2" TuneA = { c'1 } TuneB = { g'1 } makeScore = #(define-scheme-function (parser location melody title composer) (ly:music? string? (string? "")) #{ \score { \new Staff { #melody } \header { piece = #title opus = #composer } } #}) \bookpart { \makeScore \TuneA "TuneA" % needs either of these as 3rd (optional?) argument to work % "" % \default \makeScore \TuneB "TuneB" "ComposerB" } -- View this message in context: http://lilypond.1069038.n5.nabble.com/Optional-arguments-tp160187.html Sent from the User mailing list archive at Nabble.com. _______________________________________________ lilypond-user mailing list [email protected] https://lists.gnu.org/mailman/listinfo/lilypond-user
