-IMPLEMENT_TRANSLATOR_LISTENER (Slur_engraver, slur);
-void
-Slur_engraver::listen_slur (Stream_event *ev)
-{
- Direction d = to_dir (ev->get_property ("span-direction"));
- if (d == START)
- ASSIGN_EVENT_ONCE (events_[START], ev);
- else if (d == STOP)
- ASSIGN_EVENT_ONCE (events_[STOP], ev);
- else ev->origin ()->warning (_ ("Invalid direction of slur-event"));
+bool
+Slur_engraver::try_music (Music *m)
+{
+ if (m->is_mus_type ("slur-event"))
+ {
+ Direction d = to_dir (m->get_property ("span-direction"));
+ if (d == START)
+ {
+ events_[START] = m;
+ return true;
+ }
+ else if (d == STOP)
+ {
+ events_[STOP] = m;
+ return true;
+ }
+ }
+ return false;