Hi Carl,

This is too complicated (though that's really a criticism of Marc's
Scheme engraver).

The point of using 'tie-follow is that it defers the decision to
parenthesize TabNoteHead to the point where it matters: in the callbacks
for Glissando and Slur.  Thus there should be no need to acknowledge
glissandos and slurs in the engraver: we only need to check whether the
tie's right bound is one of the acknowledged noteheads.

Cheers,
Neil


http://codereview.appspot.com/2723043/diff/7001/lily/tab-tie-follow-engraver.cc
File lily/tab-tie-follow-engraver.cc (right):

http://codereview.appspot.com/2723043/diff/7001/lily/tab-tie-follow-engraver.cc#newcode69
lily/tab-tie-follow-engraver.cc:69: if (info.grob ()->name () ==
"Glissando")
If you needed to distinguish glissandos from other lines, it would be
more idiomatic to add an interface (glissando-interface), then use

info.grob->internal_has_interface (ly_symbol2scm
("glissando-interface"))

http://codereview.appspot.com/2723043/diff/7001/lily/tab-tie-follow-engraver.cc#newcode98
lily/tab-tie-follow-engraver.cc:98: scm_from_int (LEFT));
slurs_[j]->get_bound (LEFT)

http://codereview.appspot.com/2723043/diff/7001/lily/tab-tie-follow-engraver.cc#newcode99
lily/tab-tie-follow-engraver.cc:99: if (scm_call_1
(ly_lily_module_constant ("ly:grob?"), left_bound) == SCM_BOOL_T)
I'm not sure this serves any useful purpose; unless there's something
seriously wrong, all slur bounds are grobs (of class Item).

http://codereview.appspot.com/2723043/

_______________________________________________
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel

Reply via email to