+class Lyric_combine_music_iterator : public Music_iterator
+{
+public:
+ Lyric_combine_music_iterator ();
+ Lyric_combine_music_iterator (Lyric_combine_music_iterator const &src);
+ DECLARE_SCHEME_CALLBACK (constructor, ());
+protected:
+ virtual void construct_children ();
+ virtual Moment pending_moment () const;
+ virtual void do_quit ();
+ virtual void process (Moment);
+ virtual bool run_always ()const;
+ virtual bool ok () const;
+ virtual void derived_mark () const;
+ virtual void derived_substitute (Context *, Context *);
+ void set_music_context (Context *to);
+private:
+ bool start_new_syllable ();
+ Context *find_voice ();
+ DECLARE_LISTENER (set_busy);
+ DECLARE_LISTENER (check_new_context);