Pierre Perol-Schneider <pierre.schneider.pa...@gmail.com> writes: > 2014-06-29 13:42 GMT+02:00 Richard Shann <rich...@rshann.plus.com>: > > 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 lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user