[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Define Music Function
From: |
-Eluze |
Subject: |
Re: Define Music Function |
Date: |
Tue, 30 Aug 2011 08:26:18 -0700 (PDT) |
Carl Testa wrote:
>
> Hello Everyone,
>
> I have been experimenting with music functions in Lilypond and defining
> new grobs/glyphs etc. I am wondering if someone can help me with this
> problem I am having. What I would like to create is a rest that looks like
> a big number that takes up the whole staff and then a fraction with a
> diagonal line separating the numerator and denominator directly next to
> it. So imagine a big "3 1/2" on the staff. Here is what I have for just
> creating the single big number:
>
> numberRest = #(define-music-function (parser location string)
> (string-or-symbol?)
> #{
> \once \override Staff.Rest #'font-size = #6
> \once \override Staff.Rest #'Y-offset = #-2
> \once \override Staff.Rest #'stencil = #ly:text-interface::print
> \once \override Staff.Rest #'text = #(markup #:musicglyph $string)
> \once \override Dots #'transparent = ##t
> #}
> )
>
> I can use that by doing the following code
>
> \numberRest #"three" r2.
>
> That works, and I am trying to adapt it for multiple variables and not
> having much luck, any suggestions?
>
> fractionRest = #(define-music-function (parser location num denom)
> (string-or-symbol? string-or-symbol?)
> #{
> \once \override Staff.Rest #'font-size = #3
> \once \override Staff.Rest #'stencil = #ly:text-interface::print
> \once \override Staff.Rest #'text = #(markup #:musicglyph $num)
> \once \override Dots #'transparent = ##t
> \once \override Staff.Rest #'font-size = #3
> \once \override Staff.Rest #'stencil = #ly:text-interface::print
> \once \override Staff.Rest #'text = #(markup #:musicglyph $denom)
> \once \override Dots #'transparent = ##t
> #}
> )
>
there's no point in overriding the same property more than once - you can
use
\once \override Staff.Rest #'font-size = #3
\once \override Staff.Rest #'stencil = #ly:text-interface::print
\once \override Staff.Rest #'text = #(markup #:column (#:musicglyph $num
#:musicglyph $denom))
\once \override Dots #'transparent = ##t
Eluze
--
View this message in context:
http://old.nabble.com/Define-Music-Function-tp32365213p32365313.html
Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com.