+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);
+ Array<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_;
+};