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

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.


lilypond-user mailing list

Reply via email to