On Sep 19, 2013, at 11:03 AM, Urs Liska <[email protected]> wrote:
> even=
> #(define-music-function (parser location music)(ly:music?)
> #{
> \once \override TupletNumber #'text = "even"
> \times 4/4 { $music }
> #})
>
> \even { a8 g16 f }
>
> Maybe it works ;-)
Thanks for the suggestion. That works great, and while I'd rarely use that one,
this little shorthand I'll use constantly:
triplet = #(define-music-function (parser location music)(ly:music?)
#{
\tuplet 3/2 { $music }
#})
\triplet { a8 b c }
However, I'd like to make a version that accepts an optional argument for the
tuplet span duration, defaulting to 4, so I can do this for the most common
case:
\triplet { a8 b c a b c a b c a b c }
but still be able to do this on occasion:
\triplet 2 { a4 b c a b c }
How do I do the default value properly? My guess doesn't quite work:
triplet = #(define-music-function (parser location tuplet-span
music)((ly:duration? '4) ly:music?)
#{
\tuplet 3/2 $tuplet-span { $music }
#})
I get this error:
example.ly:24:44: error: wrong type for argument 3. Expecting music, found 4
\evenly { a8 g16 f } g4 gf8 f r4 |
\triplet { a8 b c f g a }
Works fine when I include the optional argument:
\triplet 4 { a8 b c f g a }
Thanks again,
Alec
_______________________________________________
lilypond-user mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/lilypond-user