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