lilypond-user
[Top][All Lists]
Advanced

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

Re: Alignment of stroke fingering


From: Neil Puttock
Subject: Re: Alignment of stroke fingering
Date: Mon, 13 Apr 2009 16:47:30 +0100

2009/4/13 Nick Payne <address@hidden>:
> Guitar stroke fingering is lower case, but with the orientation set to up,
> the p is not correctly aligned with the other characters in a succession of
> fingering indications, and with the orientation set to down, the i is
> similarly misaligned.
>
> This doesn't look pleasing to the eye, and indeed, when I flip through some
> of the commercially engraved guitars scores that I have, they align the
> lower case p and i as if they were set in running text. See attached scan
> for an example (Brouwer Estudios Sencillos #6).

Here's a hack using the trick detailed in the LSR for aligning
dynamics (http://lsr.dsi.unimi.it/LSR/Item?id=200):

#(define RH rightHandFinger)

#(define (my-stroke-finger::calc-text grob)
   (let* ((digit (ly:event-property (event-cause grob) 'digit))
          (text (ly:event-property (event-cause grob) 'text))
          (finger (vector-ref (ly:grob-property grob 'digit-names)
(1- (max (min 5 digit) 1))))
          (direction (ly:grob-property grob 'direction)))

     (if (string? text)
         text
         (if (= direction 0)
             finger
             (make-combine-markup (cond
                                   ((= direction UP)
(make-transparent-markup "p"))
                                   ((= direction DOWN)
(make-transparent-markup "i")))
                                  finger)))))

\relative c'' {
  \override StrokeFinger #'text = #my-stroke-finger::calc-text
  \set strokeFingerOrientations = #'(up)
  <c-\RH  #1 >4 <c-\RH #2 > <c-\RH #3 > <c-\RH #4 >
  \set strokeFingerOrientations = #'(down)
  <c-\RH #1 > <c-\RH #2 > <c-\RH #3 > <c-\RH #4 >
}

Regards,
Neil




reply via email to

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