Hi Marc et all, thanks for the friendly words, I'll reply more detailed one by one.
Right now I was a very long time among the details of this coding, I've the feeling I sometimes overlook major points in the overall code. In german we have: " Ich kann den Wald vor lauter Bäumen nicht mehr sehen." No clue if this can be translated sufficiently ... I made the experience in such cases to take a break from it doing something else helps a lot. Even if I wouldn't want to take one I'm forced to: my regular job started after summer-break :(( That said : 2016-09-13 8:33 GMT+02:00 Marc Hohl <m...@hohlart.de>: > Hi Harm, hi list, > > I did some simple tests and looked through the code in more detail: > > --- > > The customization features are great! Also, I like the dashed line of the > pre-pend-hold use cases. > > The dashed line would also be great in cases like those: > > c'\3\startBend d'\3\stopBend~ d'\3 > % bend up, no release, bent note is tied > > c'\3\startBend d'\3\stopBend~ d'\3~ d'\3\startBend c'\3\stopBend > % bend up, bent note is tied, release Looks doable, I'll probably try the upcoming weekend. > --- > > In my archives, I found a real-world-example that does not (yet) work: > > < g'\3 b'\2 >4\startBend > < a'\3 c''\2 >\stopBend\startBend > < g'\3 b'\2 >2\stopBend > > It is not that easy to play on guitar, but the lower string is raised by two > semitones, whereas the upper string is raised by one semitone. The coding doesn't support bends to different amounts. And I don't think it's really needed, you could already do: ex-marc = { \once \override BendSpanner.after-line-breaking = #(lambda (grob) (ly:grob-set-property! grob 'text #{ \markup \override #'(direction . 1) \override #'(baseline-skip . 1.5) \dir-column \halign #CENTER { \italic \fontsize #-2 "full" #(ly:grob-property grob 'text) } #})) < g'\3 b'\2 >4\startBend < a'\3 c''\2 >\stopBend\startBend < g'\3 b'\2 >2\stopBend } \score { << \new Staff { \clef "G_8" \ex-marc } \new TabVoice \ex-marc >> } Well, we can't expect a user to find his way to this coding, maybe some predefined function, will do it!? > I hope to find the source somewhere to provide you a scan of how it should > look like. Would be great. > > --- > > Another idea/thought/proposal: IIUC, the engraver does not take the string > numbers into account. I think this would be a good feature from a user's > point of view: > > c'\startBend d'\stopBend\startBend c'\stopBend > > could then probably be simplified to > > c'\3\startBend d'\3 c'\3\stopBend You may have noticed the file bend-music-functions.ly being remarkable short. Coding shortcuts and appending them to the bend-music-functions-file is on the TODO Something at the lines of: bendShortCut = #(define-music-function (m1 m2 m3) (ly:music? ly:music? ly:music?) (let ((arts1 (ly:music-property m1 'articulations))) (ly:music-set-property! m1 'articulations (cons #{ \startBend #} (ly:music-property m1 'articulations))) (ly:music-set-property! m2 'articulations (cons #{ \stopBend #} (ly:music-property m2 'articulations))) (ly:music-set-property! m2 'articulations (cons #{ \startBend #} (ly:music-property m2 'articulations))) (ly:music-set-property! m3 'articulations (cons #{ \stopBend #} (ly:music-property m3 'articulations)))) (make-sequential-music (list m1 m2 m3))) \new TabVoice { \bendShortCut c' d' c' } This is a very first shot, more a proof-of-concept... > > if the engraver internally takes care of each string seperately. > I don't know how hard an implementation would be, but tied notes on a > certain string can be detected automatically, so the dashed "keep this note > bent"-line replaces a tied note. > Perhaps the slow-down in the bend::remove-certain-tab-note-heads routine > can be avoided if bend events are handled specifically for certain strings: > > < g\3~ b\2~ fis'\1\startBend > < g\3 \b\2 g'\1\stopBend > I considered it already. Though, the engraver mimics the behaviour of TextSpanner. And you can't start a TextSpanner inside EventChord. I didn't figure how to do it different. I have a suspicion about the slow down... Will test as soon as I have some spare time, though it's a highly complex and huge coding. Sometimes I feel like touching the limits of my current coding skills. Proceeding means to do all very carefully and thoroughly and _not_ in any hurry ;) > --- > > I do hope my feedback does not sound too negative, Not at all!!! I highly appreciate your input > this is a huge amount of > work you have done for us guitar players! Thanks a lot! Although, guitar-player myself I never use TabStaff rofl > > Cheers, > > Marc Thanks, Harm _______________________________________________ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user