On 11/3/10 5:52 PM, "n.putt...@gmail.com" <n.putt...@gmail.com> wrote:
> On 2010/11/03 23:14:47, Carl wrote:
>
>> I think I'd probably go a bit farther.
>
>> What if we acknowledged ties, slurs, and glissandos (glissandi?) in
> the
>> Tab_note_head_engraver and set the desired properties there.
>
> Which properties?
Well, it would seem that in order to know how to display a tab note head
properly we need to know the following:
1. Is it on the right hand end of a tie ('tie-follow property)
2. Is it on the left hand end of a slur, glissando, or bend ('begin-spanner
property?)
>
> If it involves multiple nested loops (like the original patch), then I'd
> say no.
I think we could avoid multiple nested loops, but there would be loops:
First of all, instead of having slurs_, and glissandos_, we'd have
spanners_, and all of the spanner grobs (slur, glissando, bend) would be
pushed to the same vector
In pseudocode
For each tab-note-head
for each tie
if right-bound of tie is tab-note-head
set 'tie-follow
break
end if
end for
for each spanner
if left-bound of spanner is tab-note-head
set 'begin-spanner
break
end if
end for
end for
>
> How would you deal with TabNoteHeads after a line break? IIRC, there is
> some code in tablature.scm which treats them differently, but this is
> something you can't do in an engraver.
Right -- that would be part of the TabNoteHead callback -- it would look at
the current status of the notehead to see if it's after a break, and make
the appropriate decisions based on the 'tie-follow and 'begin-spanner
properties.
Thanks,
Carl
_______________________________________________
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel