+#include "context.hh"
+#include "direction.hh"
+#include "international.hh"
+#include "music.hh"
+#include "music-wrapper-iterator.hh"
+
+class Auto_change_iterator : public Music_wrapper_iterator
+{
+public:
+ DECLARE_SCHEME_CALLBACK (constructor, ());
+
+ Auto_change_iterator ();
+
+protected:
+ virtual void do_quit ();
+ virtual void construct_children ();
+ virtual void process (Moment);
+ vector<Pitch> pending_pitch (Moment) const;
+private:
+ SCM split_list_;
+ Direction where_dir_;
+ void change_to (Music_iterator *, SCM, string);
+ Moment start_moment_;
+
+ Context_handle up_;
+ Context_handle down_;
+};