+#include "music-iterator.hh"
+
+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 Music_iterator *try_music_in_children (Music *) const;
+
+ virtual bool ok () const;
+ virtual void derived_mark () const;
+ virtual void derived_substitute (Context *, Context *);
+private:
+ bool get_busy_status ()const;
+ bool melisma_busy ();
+ Music *get_combine_lyrics () const;
+ Music *get_combine_music () const;
+
+ Music_iterator *music_iter_;
+ Music_iterator *lyric_iter_;
+};