lilypond-user
[Top][All Lists]
Advanced

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

Re: Bracket with text label


From: Alec Bartsch
Subject: Re: Bracket with text label
Date: Thu, 19 Sep 2013 12:13:53 -0700

On Sep 19, 2013, at 11:03 AM, Urs Liska <address@hidden> 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


reply via email to

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