Thanks Lukas for your answer. I was fearing that it maybe can't be done :-).
Am Mi., 16. Sept. 2020 um 21:09 Uhr schrieb Lukas-Fabian Moser <l...@gmx.de>: > Hi, > > After struggling with understanding Lilypond/Scheme's predicative types, > of which I found basically no documentation other than a list of them with > a minimal description here > http://lilypond.org/doc/v2.20/Documentation/notation/predefined-type-predicates, > I would like to ask what type of predicatives the \tempo function accepts. > When you write \tempo 4 = 56, what does "4 = 56" for Scheme mean? This is > of course something that I'm not using in my script yet, but knowing this > might let me extend the script, namely that its usage accepts a proper > tempo definition, so that (maybe with a more elegant syntax that doesn't > use "" for each argument) I can also use that same number to give to an > omitted tempo marking for MIDI playback. > > I'm sure more knowledgeable people will be able to provide more insightful > answers, but for what it's worth: Looking at lily/parser.yy, I see > > tempo_event: > TEMPO steno_duration '=' tempo_range { > $$ = MAKE_SYNTAX (tempo, @$, SCM_EOL, $2, $4); > } > | TEMPO text steno_duration '=' tempo_range { > $$ = MAKE_SYNTAX (tempo, @$, $2, $3, $5); > } > | TEMPO text { > $$ = MAKE_SYNTAX (tempo, @$, $2); > } %prec ':' > ; > > which I take to mean: The three forms > > - \tempo 4 = 96 > - \tempo Crazy 4 = 260-270 > - \tempo "Sluggishly slow" > > are hardcoded as variants into the parser. My guess is that this might be > hard (or impossible) to accomplish in a music function. > > Best > Lukas > > > -- www.martinrinconbotero.com