[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Define Music Function
From: |
Mike Solomon |
Subject: |
Re: Define Music Function |
Date: |
Tue, 30 Aug 2011 18:27:05 +0200 |
On Aug 30, 2011, at 5:12 PM, address@hidden 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
> #}
> )
>
> Thanks,
> Carl
>
Hopefully this'll be enough to get you on the track to fractional-rests galore!
fractionRest = #(define-music-function (parser location num denom)
(string-or-symbol? string-or-symbol?)
#{
\once \override Staff.Rest #'stencil = #ly:text-interface::print
\once \override Staff.Rest #'text = #(markup #:fraction #:number $num #:number
$denom)
\once \override Dots #'transparent = ##t
#})
{ \fractionRest #"4" #"3" r2. }
Cheers,
MS