On 6/2/10 4:57 PM, "Xavier Scheuer" <x.sche...@gmail.com> wrote:
> Thank you Frédéric for the time you spend on this. > > > 2010/6/3 Carl Sorensen <c_soren...@byu.edu> : > >> I think the answer to the other items is no. >> >> thumb is a Script grob, not its own grob. Fingering is its own grob. >> So I think you can't add all of the grob properties to the script >> alist. All those other properties are set in the definition of the >> Script grob, in scm/define-grobs.scm. >> >> If we want to have \thumb become a Fingering instead of a Script, >> then we should change it in the parser to be handled by the >> New_fingering_engraver. > > Hi Carl! > > Actually that was part of the discussion that followed my initial > request. This thread can be found on Frogs' archives: > http://lilypond-frogs.2124236.n2.nabble.com/Could-a-frog-spend-20-min-to-help- > cellist-s-thumb-tp4918234p4954272.html > > I suggested/asked (later) if it was possible to make \thumb engraved > by the (New_)Fingering_engraver , since I found it more logical from a > user/musician point of view. > > I don't have a clue how to do this since I have no development skills > at all, but I think that the answer Neil gave me could/should be > somewhat useful. > >> >> That's a nice idea (and easily implemented without touching the engraver): >> >> >> \relative c' { >> \override Fingering #'text = >> #(lambda (grob) >> (let ((finger-text (ly:event-property (event-cause grob) 'text))) >> (if (markup? finger-text) >> finger-text >> (fingering::calc-text grob)))) >> c4\thumb >> } So this looks like a workaround that can easily go in a snippet, but it seems to me to be too much of a hack to actually add to the source code. So I'd guess this snippet should go in the LSR and be listed on issue 1029 as a workaround, and we should still be looking at having \thumb become a fingering. Perhaps the snippet would look something like this: thumb = #(make-music 'FingeringEvent 'text (markup #:fontsize 5 #:musicglyph "scripts.thumb")) addThumbAsFingering = #(define-music-function (parser location) '() #{ \override Fingering #'text = #(lambda (grob) (let ((finger-text (ly:event-property (event-cause grob) 'text))) (if (markup? finger-text) finger-text (fingering::calc-text grob)))) #}) \relative c' { \addThumbAsFingering c4\thumb } Thanks, Carl _______________________________________________ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel