lilypond-user
[Top][All Lists]
Advanced

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

Re: Cello fingering indications


From: David Nalesnik
Subject: Re: Cello fingering indications
Date: Mon, 31 Oct 2011 21:33:21 -0500

Hi Colin,

On Sun, Oct 30, 2011 at 9:50 PM, Colin Campbell <address@hidden> wrote:
 
Further Googling gives http://lsr.dsi.unimi.it/LSR/Snippet?id=616 
which is closer in appearance, but I haven't the Scheme fu to modify the stringNumberSpanner function to incorporate the startTextSpan and number of notes. Ideally, one would wind up with something like a8\fSpan {"5" 4} which would extend a line for 4 of the note value of the starting note.

This seems to do the trick:

 \version "2.14.2"

stringNumberSpanner =
#(define-music-function (parser location StringNumber music)
   (string? ly:music?)
  #{
     \override Voice.TextSpanner #'style = #'solid
     \override Voice.TextSpanner #'font-size = #-5
     \override TextSpanner #'(bound-details left stencil-align-dir-y) = #CENTER
     \override TextSpanner #'(bound-details left text) = \markup { \circle \number $StringNumber }
  
     #(begin
        (let* ((elts (ly:music-property $music 'elements)))
          (set! (ly:music-property (car elts) 'elements)
            (cons (make-music 'TextSpanEvent 'span-direction -1)
                  (ly:music-property (car elts) 'elements)))
          (set! (ly:music-property (car (reverse elts)) 'elements)
            (cons (make-music 'TextSpanEvent 'span-direction 1)
                  (ly:music-property (car (reverse elts)) 'elements)))
          (ly:export (make-music 'SequentialMusic 'elements (list $music)))))
  #})
 
\relative c {
 \clef "treble_8"
 \textSpannerDown
 \stringNumberSpanner "5" { a8 b c d e f }
 \stringNumberSpanner "4" { g a bes4 a g2 }
}

Happy practicing!

-David

reply via email to

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