Hi Lilypond Gurus!
I need help, when you can spare the time, to get an already-
working Lilypond music function to call my just-added Scheme
routine.
This Scheme procedure works when called directly from Guile:
entering "(colorNote -1)" get output "red".
--------------------------------
(define (colorNote n)
(cond ((eq? (- n) 1) 'red )
((eq? (- n) 2) 'blue)))
--------------------------------
But in trying to evoke the procedure, the following Lilypond
function hits two snags: it apparently doesn't see colorNote
at all, and even if it did, it still would not convert the
returned "red" to "#red". (I've omitted irrelevant lines.)
----------------------------------------------------------------
FS =
#(define-music-function (parser location offset) (number?)
#{
\override NoteHead.font-size = #offset % This line works.
%\override NoteHead.color = #red % This line worked.
\override NoteHead.color = #(colorNote #offset) % *ERRORS*.
#})
----------------------------------------------------------------
I suspect that a fix here is easy. But it's beyond my naive
struggles. I'd appreciate any suggestions.
Pete