On 3/7/10 2:13 AM, "Marc Hohl" <marc@xxxxxxxxxx> wrote:
Ok. I thought about situations like
c d\bend ~ d\bend
where the pointed slur should not be drawn between the two d notes.
On the other hand, hold bend situations are done with consecutive
pre bends, so perhaps the string-bend-engraver has nothing to know
about pitches.
But isn't the reason we don't draw the pointed slur between the two d's is
because they're tied? To me, that just means that we watch for ties, and
don't draw bend symbols.
http://codereview.appspot.com/216051/diff/1/2#newcode65
bend-implementation-roadmap.txt:65: - provides the bend-reference-pitch
vector (TabStringBend #'bend-reference-pitch)
I don't think this is the right way to go. The easiest thing to do is
to store the reference pitches in the Tab_note_heads engraver, since
that engraver already has to listen to the pitches and change the notes
as necessary.
Hmmmm, I am not completely convinced. The direction of the bend arrows
depends on the pitches.
c d\bend is an arrow up,
c d\bend c\bend is an arrow up and an arrow down
etc.
What do you think?
I think that the information needed to draw the arrows is present in the
tabNoteHeads that are properly placed on the TabStaff. Once the
TabNoteHeads are placed, it's pretty easy to tell the arrow direction,
because the arrow goes in the direction of the staff interval. And the
grobs have a staff position, so we know what we need to do from the grobs,
without knowing the pitches.