[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Determining Fingering digit?
From: |
Eric Knapp |
Subject: |
Determining Fingering digit? |
Date: |
Tue, 15 Jul 2008 09:25:57 -0500 |
Hi, all.
This is a working example that I got from the LSR. It is used with
\applyOutput:
#(define (mc-squared grob grob-origin context)
(let*
(
(ifs (ly:grob-interfaces grob))
(sp (ly:grob-property grob 'staff-position))
)
(if (memq 'note-head-interface ifs)
(begin
(ly:grob-set-property! grob 'stencil ly:text-interface::print)
(ly:grob-set-property! grob 'font-family 'roman)
(ly:grob-set-property! grob 'text
(make-raise-markup -0.5
(case sp
((-5) (make-simple-markup "m"))
((-3) (make-simple-markup "c "))
((-2) (make-smaller-markup (make-bold-markup "2")))
(else (make-simple-markup "bla"))
))))
)))
In this line:
(sp (ly:grob-property grob 'staff-position))
The staff position of the note is assigned to the variable sp. How
could I get the fingering digit of the note? For example:
c''-3
I want to programmatically get the "3" as a number or text.
Also, the \applyOutput command only seems to run once. I was expecting
to apply to all occurrences in the Voice when used like this:
\context Voice \relative c' {
\applyOutput #'Voice #mc-squared
{
<d f g b>2
<d f g b>
<d f g b>
<d f g b>
<c e g>1 |
c2-1 c'-2 |
b4 \displayMusic {g8} a b4-3 c |
c,2 a'-4 |
g1 |
}
}
Thanks,
-Eric
- Determining Fingering digit?,
Eric Knapp <=