|
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 theresult 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
[Prev in Thread] | Current Thread | [Next in Thread] |