X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Fsimultaneous-music-iterator.hh;h=122a4825adb316053695c67b400e7db8fe7be4cb;hb=d9b43b93f2c885409bafdb157138158f65cc49aa;hp=9640d92dd8add880beb770c4b7fac722c7295dec;hpb=8aad615ea7bb31f49a0c2afc21eea5ff5de20437;p=lilypond.git diff --git a/lily/include/simultaneous-music-iterator.hh b/lily/include/simultaneous-music-iterator.hh index 9640d92dd8..122a4825ad 100644 --- a/lily/include/simultaneous-music-iterator.hh +++ b/lily/include/simultaneous-music-iterator.hh @@ -3,31 +3,41 @@ source file of the GNU LilyPond music typesetter - (c) 1997--1999 Han-Wen Nienhuys + (c) 1997--2002 Han-Wen Nienhuys */ #ifndef SIMULTANEOUS_MUSIC_ITERATOR_HH #define SIMULTANEOUS_MUSIC_ITERATOR_HH -#include "music-list-iterator.hh" +#include "music-iterator.hh" +#include "cons.hh" -class Simultaneous_music_iterator : public Music_list_iterator +class Simultaneous_music_iterator : public Music_iterator { public: + VIRTUAL_COPY_CONS (Music_iterator); Simultaneous_music_iterator (); + Simultaneous_music_iterator (Simultaneous_music_iterator const&); virtual ~Simultaneous_music_iterator (); + static SCM constructor_cxx_function; + + /// make a new context for every child. + bool separate_contexts_b_; + int cursor_i_; virtual void construct_children (); - virtual Moment next_moment () const; + virtual Moment pending_moment () const; virtual bool ok () const; + virtual SCM get_music (Moment)const; + virtual void skip (Moment); protected: - virtual void do_print () const; - virtual void do_process_and_next (Moment); + virtual void process (Moment); + virtual Music_iterator *try_music_in_children (Music *) const; private: - Pointer_list children_p_list_; + Cons_list children_p_list_; }; #endif // SIMULTANEOUS_MUSIC_ITERATOR_HH