Pierre Perol-Schneider <[email protected]> writes:
> 2014-06-29 13:42 GMT+02:00 Richard Shann <[email protected]>:
>
> That works great, thank you. The only further tweak I needed was to put
>> \large before the text so that text comes out at a normal size with the
>> music reduced.
>>
>
> I'm trying to make an easy function for (without success) :
>
> %%%%%%%%%%%%%%%%%%%%%%%%%
> \version "2.19.8"
>
> mySize =
> #(define-music-function (parser location arg) (number?)
> (markup (make-scale-markup (cons arg arg))))
>
> \mySize #.5 {
> \score {
> c''1
> }
> }
> %%%%%%%%%%%%%%%%%%%%%%%%%
>
> LilyPond says :"Expect: 2, found 1: ((0.5 . 0.5))"
No, it doesn't. It says:
fatal error: make-scale-markup: Wrong number of arguments. Expect: 2, found 1:
((0.5 . 0.5))
> Anyone ?
\scale needs two arguments. You call it with one.
Then mySize is declared as a music function, but if it ever got to the
point of returning, it would fail because of returning a markup instead.
You want to use define-markup-command instead. You want to make sure
you get the quite different definition/call as compared to
define-music-function right. I would refrain from using the markup
macro when you don't have the syntax under control: when using #{
\markup ... #} instead, you are at least likely to get somewhat better
error messages. Which is sort of the reverse of what #{...#} did with
error reporting in 2.14 or so, but why not make use of improvements?
And of course, the invocation needs to be inside of a \markup command.
--
David Kastrup
_______________________________________________
lilypond-user mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/lilypond-user