On 28.02.2018 23:54, Stefano Troncaro wrote:
I need a little help again. I'm struggling to understand how one would
make a music function like \tempo, that accepts a variable number of
arguments. I couldn't find its definition so I couldn't look for myself.
So far I know about making lambdas that take additional arguments and
store the extras in a list, but this does not work in a music function
(or if it works I don't know how to do it). And while I could make a
lambda that then passes the arguments to a music function, then I
can't use it with Lilypond syntax, so I'm forced to put the lambda and
all it's arguments between parenthesis.
But \tempo doesn't require parenthesis, and the parser still
understands what is part of the function and what not. How would one
go about writing a function that behaves like this?
As has been said, \tempo isn’t a music function. However, you _can_
define functions with optional arguments; it’s mentioned in
<http://lilypond.org/doc/v2.19/Documentation/extending/scheme-function-definitions>.
The last optional argument has to be followed by a mandatory argument of
different type, because that’s how the parser will recognise that
optional arguments were skipped.
HTH, Simon
_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user