Note_column::dir (Grob *me)
{
Grob *stem = unsmob<Grob> (me->get_object ("stem"));
- if (stem && Stem::has_interface (stem))
+ if (has_interface<Stem> (stem))
return get_grob_direction (stem);
else
{
return (Direction)sign (head_positions_interval (me).center ());
}
- if (Note_column::has_interface (me))
+ if (has_interface<Note_column> (me))
programming_error ("Note_column without heads and stem");
else
programming_error ("dir() given grob without Note_column interface");
Note_column::add_head (Grob *me, Grob *h)
{
bool both = false;
- if (Rest::has_interface (h))
+ if (has_interface<Rest> (h))
{
extract_grob_set (me, "note-heads", heads);
if (heads.size ())
else
me->set_object ("rest", h->self_scm ());
}
- else if (Note_head::has_interface (h))
+ else if (has_interface<Note_head> (h))
{
if (unsmob<Grob> (me->get_object ("rest")))
both = true;
if (!acc)
return 0;
- if (Accidental_placement::has_interface (acc->get_parent (X_AXIS)))
+ if (has_interface<Accidental_placement> (acc->get_parent (X_AXIS)))
return acc->get_parent (X_AXIS);
/* compatibility. */
"rest "
"rest-collision "
"stem "
+ "glissando-skip "
);