#include "audio-item.hh"
#include "audio-column.hh"
#include "global-context.hh"
-#include "stream-event.hh"
#include "warn.hh"
-
-#include "translator.icc"
+#include "music.hh"
/*
this is C&P from beam_performer.
TRANSLATOR_DECLARATIONS (Slur_performer);
protected:
+ virtual bool try_music (Music *ev);
void start_translation_timestep ();
void process_music ();
void set_melisma (bool);
-
- DECLARE_TRANSLATOR_LISTENER (slur);
private:
- Stream_event *start_ev_;
- Stream_event *now_stop_ev_;
+ Music *start_ev_;
+ Music *now_stop_ev_;
bool slur_;
};
now_stop_ev_ = 0;
}
-IMPLEMENT_TRANSLATOR_LISTENER (Slur_performer, slur);
-void
-Slur_performer::listen_slur (Stream_event *ev)
+bool
+Slur_performer::try_music (Music *m)
{
- Direction d = to_dir (ev->get_property ("span-direction"));
+ if (m->is_mus_type ("slur-event"))
+ {
+ Direction d = to_dir (m->get_property ("span-direction"));
- if (d == START)
- start_ev_ = ev;
- else if (d == STOP)
- now_stop_ev_ = ev;
+ if (d == START)
+ start_ev_ = m;
+ else if (d == STOP)
+ now_stop_ev_ = m;
+ return true;
+ }
+ return false;
}
+#include "translator.icc"
+
ADD_TRANSLATOR (Slur_performer,
"", "",
"slur-event",
"", "");
+