+ if (! (Tie::head (her,LEFT) && Tie::head (her,RIGHT)))
+ warning (_ ("lonely tie"));
+
+ Direction d = LEFT;
+ Drul_array<Grob *> new_head_drul;
+ new_head_drul[LEFT] = Tie::head (her,LEFT);
+ new_head_drul[RIGHT] = Tie::head (her,RIGHT);
+ do {
+ if (!Tie::head (her,d))
+ new_head_drul[d] = Tie::head (her, (Direction)-d);
+ } while (flip (&d) != LEFT);
+
+ index_set_cell (her->get_grob_property ("heads"), LEFT, new_head_drul[LEFT]->self_scm ());
+ index_set_cell (her->get_grob_property ("heads"), RIGHT, new_head_drul[RIGHT]->self_scm ());
+
+ typeset_grob (her);
+}
+
+void
+Tie_engraver::start_translation_timestep ()
+{
+ SCM m = get_property ("automaticMelismata");