I tried it out, worked perfectly as in the snippet you showed, from the b
to the a, but when adding the same override to the second one, from d to c,
it does not work anymore (the 1 to 1 fingering instructions)

I added the code for what I think should be added in the snippet, but I
think the issue is clear, the glissando for finger 2 skips the next note
where a new glissando should start, for finger 1, but because it is skipped
by the first glissando, it doesn't get rendered.

grtz,

Bart

http://www.bartart3d.be/
On facebook <https://www.facebook.com/pages/BartArt3D/169488999795102>
On Twitter <https://twitter.com/#%21/Bart_Issimo>
On Identi.ca <http://identi.ca/bartart3d>
On Google+ <https://plus.google.com/u/0/b/116379400376517483499/>


2014-02-26 14:00 GMT+01:00 bart deruyter <bart.deruy...@gmail.com>:

> Hey, thank you very much, I'll look into it, indeed exactly what I need :-)
> seems like I really still need to learn a lot of lilypond and mainly
> scheme I guess.
>
> I've already started a github repository for a collection of folk-tunes (
> https://github.com/bartart3d/folk ), it is still very small, but maybe it
> would be a good idea to collect instrument specific snippets in a
> repository as well.
> I collect them personally in a 'guitarstuff.ly' file, but if it would be
> organised well and shared, such library could be used by everyone. I'm
> willing to share my guitarstuff of course, nothing new in there I guess,
> but for the guitarists among us it would be an include away :-).
>
> Just a thought, maybe an idea for future development, like we do for
> assigning the right instrument to midi:
>
> \instrument = "guitar"
>
> at the start of the score, causing it to load all instrument specific
> overrides additional engravers and settings, shorthand notation etc. in one
> go.
>
> grtz,
>
> Bart
>
> http://www.bartart3d.be/
> On facebook <https://www.facebook.com/pages/BartArt3D/169488999795102>
> On Twitter <https://twitter.com/#%21/Bart_Issimo>
> On Identi.ca <http://identi.ca/bartart3d>
> On Google+ <https://plus.google.com/u/0/b/116379400376517483499/>
>
>
> 2014-02-26 10:50 GMT+01:00 Pierre Perol-Schneider <
> pierre.schneider.pa...@gmail.com>:
>
> 2014-02-26 9:57 GMT+01:00 bart deruyter <bart.deruy...@gmail.com>:
>>
>>> Hi all,
>>>
>>
>> Hi Bart,
>>
>>
>>> How can I achieve it with lilypond?
>>>
>>>
>> See  http://comments.gmane.org/gmane.comp.gnu.lilypond.general/67470
>> Herewith is a possible solution.
>>
>> Cheers,
>> Pierre
>>
>
>
\version "2.18.0"

#(define (define-grob-custom-property symbol type? description)
  (if (not (equal? (object-property symbol 'backend-doc) #f))
      (ly:error (_ "symbol ~S redefined") symbol))

    (set-object-property! symbol 'backend-type? type?)
    (set-object-property! symbol 'backend-doc description)
    symbol)

#(define all-user-grob-custom-properties
   (map
     (lambda (x)
       (apply define-grob-custom-property x))

     `(
       (to-fingerings ,boolean? "boolean for moving glissandi to fingerings")
     )))

fingeringSlideEngraver =
#(lambda (context)
   (let ((glissandi '())
         (fingerings '()))

     `((acknowledgers
         (glissando-interface
           . ,(lambda (engraver grob source-engraver)
                (if (eq? #t (ly:grob-property grob 'to-fingerings))
                    (set! glissandi (append glissandi (list grob))))))

         (finger-interface
           . ,(lambda (engraver grob source-engraver)
                (set! fingerings (append fingerings (list grob))))))

       (stop-translation-timestep
         . ,(lambda (trans)
              (map (lambda (gliss)
                     (map (lambda (finger)
                            (if (eq? (ly:spanner-bound gliss LEFT)
                                     (ly:grob-parent finger X))
                                (ly:spanner-set-bound! gliss LEFT finger))
                            (if (eq? (ly:spanner-bound gliss RIGHT)
                                     (ly:grob-parent finger X))
                                (begin
                                  (ly:spanner-set-bound! gliss RIGHT finger)
                                  (set! glissandi (remove (lambda (x) (eq? x gliss)) glissandi)))))
                          fingerings))
                   glissandi)

              (set! fingerings '()))))))

\layout {
  \context {
    \Staff
    \consists \fingeringSlideEngraver
    \omit Clef
    \omit TimeSignature
  }
}

\new Staff 
\transpose c c'
{
  \set stringNumberOrientations = #'(left)
  \set fingeringOrientations = #'(down)
  \override Fingering.add-stem-support = ##t
  \time 3/4
  s2.
  %Setting the glissando to the fingerings
  \override Glissando.to-fingerings = ##t
  <b-2\3>4 
  %glissando for second finger
  \glissando
  %glissando for second finger skipping notes
  \override NoteColumn.glissando-skip = ##t 
  <d'^1>
  %glissando for first finger
  \glissando
  %glissando for first finger skipping notes
  \override NoteColumn.glissando-skip = ##t 
  d
  %stop skipping notes for glissando second finger
  \revert NoteColumn.glissando-skip
  <a-2> 
  %stop skipping notes for glissando first finger
  \revert NoteColumn.glissando-skip c'^1 d 
  s4
}

_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user

Reply via email to