#include "item.hh"
#include "pointer-group-interface.hh"
#include "spanner.hh"
-#include "stream-event.hh"
#include "warn.hh"
-#include "translator.icc"
-
class Hyphen_engraver : public Engraver
{
- Stream_event *ev_;
- Stream_event *finished_ev_;
+ Music *ev_;
+ Music *finished_ev_;
Spanner *hyphen_;
Spanner *finished_hyphen_;
protected:
DECLARE_ACKNOWLEDGER (lyric_syllable);
- DECLARE_TRANSLATOR_LISTENER (hyphen);
virtual void finalize ();
+ virtual bool try_music (Music *);
void stop_translation_timestep ();
void process_music ();
finished_hyphen_->set_bound (RIGHT, item);
}
-IMPLEMENT_TRANSLATOR_LISTENER (Hyphen_engraver, hyphen);
-void
-Hyphen_engraver::listen_hyphen (Stream_event *ev)
+bool
+Hyphen_engraver::try_music (Music *r)
{
- ASSIGN_EVENT_ONCE (ev_, ev);
+ if (ev_)
+ return false;
+
+ ev_ = r;
+ return true;
}
void
ev_ = 0;
}
+#include "translator.icc"
+
ADD_ACKNOWLEDGER (Hyphen_engraver, lyric_syllable);
ADD_TRANSLATOR (Hyphen_engraver,