- SCM right_bound = scm_call_2 (proc,
- ties_[i]->self_scm (),
- scm_from_int (RIGHT));
-
- for (vsize k = 0; k < note_heads_.size (); k++)
- if (right_bound == note_heads_[k]->self_scm ())
- note_heads_[k]->set_property ("tie-follow", SCM_BOOL_T);
- }
+ Item *left_item = slurs_[j]->get_bound (LEFT);
+ if (left_item)
+ {
+ SCM left_cause = left_item->get_property ("cause");
+ Item *slur_cause = unsmob<Item> (left_cause);
+ if (slur_cause == note_heads_[k])
+ {
+ note_heads_[k]->set_property ("span-start", SCM_BOOL_T);
+ spanner_start = true;
+ break;
+ }
+ }
+ }
+ if (!spanner_start)
+ for (vsize j = 0; j < glissandi_.size (); j++)
+ {
+ Item *left_bound = glissandi_[j]->get_bound (LEFT);
+ if (left_bound == note_heads_[k])
+ {
+ note_heads_[k]->set_property ("span-start", SCM_BOOL_T);
+ break;
+ }
+ }