I'm trying to factor out common code in some music functions. Below is a fragment of the code illustrating my problem. It's been years since I've used Lisp so please appreciate the naivety in this question.
I want to do a computation at the call and pass the result as an argument to a function parameter: \base (concat "XXX" $suffix) #$suffix % DOES NOT WORK I've tried a number of things but I'm just guessing. Is this possible? And if it is possible, what is the syntax? ============================================================================ \version "2.13.40" \include "english.ly" #(set-default-paper-size "letter") #(set-global-staff-size 24) base = #(define-music-function (parser location prefix suffix) (string? string?) #{ \once \override TextSpanner #'bound-details #'left #'text = \markup { \concat { $prefix ":" $suffix } } #}) specialA = #(define-music-function (parser location suffix) (string?) #{ \base #"Foo" #$suffix #}) specialB = #(define-music-function (parser location suffix) (string?) #{ \base (concat "XXX" $suffix) #$suffix % DOES NOT WORK #}) \score { \relative c' { \base #"Foo" #"Bar" a \startTextSpan b c d e g \stopTextSpan \specialA #"Bar" a \startTextSpan b c d e g \stopTextSpan \specialB #"YYY" a \startTextSpan b c d e g \stopTextSpan } % relative } % score % Local Variables: % % tab-width: 4 % % compile-command: "lilypond --ps test.ly" % % End: % _______________________________________________ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user