+/**
+ Generate texts for lyric syllables. We only do one lyric at a time.
+ Multiple copies of this engraver should be used to do multiple voices.
+*/
+class Lyric_engraver : public Engraver
+{
+protected:
+ void stop_translation_timestep ();
+ void process_music ();
+ DECLARE_TRANSLATOR_LISTENER (lyric);
+
+public:
+ TRANSLATOR_DECLARATIONS (Lyric_engraver);
+
+private:
+ Stream_event *event_;
+ Item *text_;
+ Item *last_text_;
+
+ Context *get_voice_context ();
+};
+
+Lyric_engraver::Lyric_engraver ()
+{
+ text_ = 0;
+ last_text_ = 0;
+ event_ = 0;
+}