lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Get value of Scheme function to display as a markup in Lilypond


From: Aaron Hill
Subject: Re: Get value of Scheme function to display as a markup in Lilypond
Date: Tue, 23 Nov 2021 15:08:22 -0800
User-agent: Roundcube Webmail/1.4.9

On 2021-11-23 2:56 pm, Dimitris Marinakis wrote:
Finally got to learn a bit of Scheme. I've made decent progress within the Scheme sandbox. Now I'm trying to integrate a few things within Lilypond.

Let's say I have this function:
#(define (dostuff x) (+ x 5))

What would be the equivalent of #(display (dostuff 2)) but inside a
Lilypond markup?
So that if my Lilypond music code looks like that, I'll get the correct
value from that function.
{
c^\markuptitle (placeholder) #2
}

I don't want the x argument to be displayed in the markup but rather the
result of the function.

It's OK if this has to be broken into multiple steps.

One option is to format the output you want as a string and then include that in \markup:

####
#(define (dostuff x) (+ x 5))
\markup #(format #f "result = ~a" (dostuff 47))
####

If you just need the value, you could use number->string. But for anything fancier, the formatted printing functionality is quite powerful and worth learning:

%%%%
\markup #(format #f "~{~a fish~^, ~}." '(one two red blue))
%%%%


-- Aaron Hill



reply via email to

[Prev in Thread] Current Thread [Next in Thread]