#include "performer.hh"
#include "audio-item.hh"
+#include "music.hh"
#include "duration.hh"
-#include "stream-event.hh"
-
-#include "translator.icc"
class Tempo_performer : public Performer
{
protected:
+ virtual bool try_music (Music *event);
void stop_translation_timestep ();
void process_music ();
- DECLARE_TRANSLATOR_LISTENER (metronome_change);
+
private:
- Stream_event *tempo_event_;
+ Music *tempo_event_;
Audio_tempo *audio_;
};
}
}
-IMPLEMENT_TRANSLATOR_LISTENER (Tempo_performer, metronome_change);
-void
-Tempo_performer::listen_metronome_change (Stream_event *event)
+bool
+Tempo_performer::try_music (Music *event)
{
+ if (tempo_event_)
+ return false;
+
tempo_event_ = event;
+ return true;
}
+#include "translator.icc"
+
ADD_TRANSLATOR (Tempo_performer, "", "",
"metronome-change-event",
"", "");