+ Grob *ccc = left_broken
+ ? unsmob<Grob> (get_property ("currentCommandColumn"))
+ : 0; // efficiency
+ SCM cause = evi.slur_ ? evi.slur_->self_scm () : g_cause->self_scm ();
+ Spanner *slur = make_spanner (grob_symbol (), cause);
+ slur->set_property ("spanner-id", spanner_id);
+ if (dir)
+ set_grob_direction (slur, dir);
+ if (left_broken)
+ slur->set_bound (LEFT, ccc);
+ slurs_.push_back (slur);
+ if (evi.note_)
+ note_slurs_[START].insert (Note_slurs::value_type (evi.note_, slur));
+
+ if (double_property ())
+ {
+ set_grob_direction (slur, DOWN);
+ slur = make_spanner (grob_symbol (), cause);
+ slur->set_property ("spanner-id", spanner_id);
+ set_grob_direction (slur, UP);
+ if (left_broken)
+ slur->set_bound (LEFT, ccc);
+ slurs_.push_back (slur);
+ if (evi.note_)
+ note_slurs_[START].insert(Note_slurs::value_type (evi.note_, slur));
+ }