- /*
- Let's not start more than one slur per moment.
- */
- Direction d = to_dir (ev->get_property ("span-direction"));
- if (d == START)
- ASSIGN_EVENT_ONCE (events_[START], ev);
- else if (d == STOP && !slurs_.empty ())
- ASSIGN_EVENT_ONCE (events_[STOP], ev);
+ if (m->is_mus_type ("phrasing-slur-event"))
+ {
+ /*
+ Let's not start more than one slur per moment.
+ */
+ Direction d = to_dir (m->get_property ("span-direction"));
+ if (d == START)
+ {
+ events_[START] = m;
+ return true;
+ }
+ else if (d == STOP)
+ {
+ if (slurs_.empty ())
+ return false;
+
+ events_[STOP] = m;
+ return true;
+ }
+ }
+ return false;