[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Optional arguments of a music-function?

From: Thomas Morley
Subject: Optional arguments of a music-function?
Date: Tue, 17 Jul 2012 13:13:59 +0200


I tried to adapt the syntax-trickery David showed with the new
\tweak-definition to an own function.

Trying a code like the tiny example below fails.

proc =
#(define-music-function (parser location name arg)((string?) ly:music?)
  (if name
  #{ \once \override $name #'color = #red  $arg #}
  #{ \parenthesize $arg #}))

\relative c' {
        \proc "NoteHead" c
        \proc c

Obviously I did sth wrong.
Well, I could do:

#(define-public (string-or-music? x)
  (or (string? x) (ly:music? x)))

procII =
#(define-music-function (parser location arg)(string-or-music?)
  (if (string? arg)
  #{ \once \override $arg #'color = #red  #}
  #{ \parenthesize $arg #}))

\relative c' {
        \procII "NoteHead" c
        \procII c

But I'd prefer the first version.
How  to do?


reply via email to

[Prev in Thread] Current Thread [Next in Thread]