lilypond-user
[Top][All Lists]
Advanced

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

Re: fingering


From: Neil Puttock
Subject: Re: fingering
Date: Sun, 10 May 2009 23:39:52 +0100

2009/5/10 Mario Moles <address@hidden>:
> Caro Neil esiste anche un modo per abbreviare questo?:
>
> " \override StrokeFinger #'text = #(lambda (grob)
> (markup #:center-column (#:lower 2.5 "^" (stroke-finger::calc-text
> grob))))"

You could use identifiers, but here's a better solution, using your
abbreviations:

\include "italiano.ly"
#(set-global-staff-size 18)

#(define (calc-custom-stroke-text grob)
   (let ((text (ly:event-property (event-cause grob) 'text)))
     (if (string? text)
         (markup #:center-column (#:lower 2.5 "^" text))
         (stroke-finger::calc-text grob))))

#(define (make-stroke-finger location finger)
   (apply make-music
          (append
           (list
            'StrokeFingerEvent
            'origin location)
           (if  (string? finger)
                (list 'text finger)
                (list 'digit finger)))))

da = #(define-music-function (parser location) ()
        (make-stroke-finger location "a"))
dm = #(define-music-function (parser location) ()
        (make-stroke-finger location "m"))
di = #(define-music-function (parser location) ()
        (make-stroke-finger location "i"))
dp = #(define-music-function (parser location) ()
        (make-stroke-finger location "p"))
dan = #(define-music-function (parser location) ()
         (make-stroke-finger location 4))
dmn = #(define-music-function (parser location) ()
         (make-stroke-finger location 3))
din = #(define-music-function (parser location) ()
         (make-stroke-finger location 2))
dpn = #(define-music-function (parser location) ()
         (make-stroke-finger location 1))

\relative do, {
  \clef "G_8"
  \key mi \minor
  \cadenzaOn
  \set strokeFingerOrientations = #'(up)
  \override StrokeFinger #'avoid-slur = #'inside
  \override StrokeFinger #'add-stem-support = ##t
  \override StrokeFinger #'font-size = #0
  \override StrokeFinger #'text = #calc-custom-stroke-text
  \voiceOne
  \once \override Slur #'height-limit = #4
  mi16( <sol'-\din > <si-\dmn > <sol-\din >
  <mi'-\dmn > <si-\din > <sol'-\dan > <mi-\dmn >
  <si'-\dan > <sol-\dmn > <do-\dan > <mi,-\dmn >)

  re,( <mi'-\din > <fad-\dm > <sol-\di >
  <la-\da > <si-\di > <do-\da > <la-\di >)
}

Regards,
Neil




reply via email to

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