#ifndef MIDIWALKER_HH
#define MIDIWALKER_HH
-#if 0
+
#include "lily-proto.hh"
+
+#if 0
+
+// sketch. . .
+class Midi_register {
+};
+
+class Midi_group_reg : public Midi_register, public Acceptor {
+
+};
+
+class Midi_staff_reg : public Midi_group_reg {
+};
+
+
+class Midi_note_reg : public Midi_register {
+
+};
+
+class Midi_voice_reg : public Midi_group_reg, public Interpreter {
+
+};
+
+class Midi_score_reg: public Midi_group_reg, public Global_acceptor {
+};
+
+
#include "grouping.hh"
#include "staff-walker.hh"
#include "pcursor.hh"
#include "plist.hh"
#include "score-elem-info.hh"
#include "register.hh"
+#include "acceptor.hh"
+
/**
Group a number of registers. Usually delegates everything to its contents.
Postfix: group
*/
-class Register_group_register : public Request_register {
+class Register_group_register : public Request_register, public virtual Acceptor {
protected:
+
Pointer_list<Request_register*> reg_list_;
Link_array<Register_group_register> group_l_arr_;
Link_array<Request_register> nongroup_l_arr_;
- String id_str_;
Array<Score_elem_info> announce_info_arr_;
virtual bool removable_b()const;
public:
- int iterator_count_;
+ Input_register * ireg_l_;
void check_removal();
Register_group_register();
~Register_group_register();
- /// Score_register = 0, Staff_registers = 1, etc)
- virtual int depth_i()const;
- /**
- Go up in the tree. default: choose next parent
- */
- Register_group_register * ancestor_l(int l=1);
-
- Input_register * ireg_l_;
+
/**
Junk #reg_l#.
-
Pre:
- #reg_l# is in #reg_list_#
+ #reg_l# is in #reg_list_#
*/
virtual void terminate_register(Request_register * reg_l);
virtual Register_group_register * find_register_l(String name,String id);
virtual void do_announces();
virtual void announce_element(Score_elem_info);
- virtual Register_group_register* find_get_reg_l(String name, String id);
- virtual Register_group_register * get_default_interpreter();
-
+
+
virtual void add(Request_register* reg_p);
virtual bool contains_b(Request_register*)const;
+
+ virtual Acceptor* find_get_acceptor_l(String name, String id);
+ virtual Acceptor * get_default_interpreter();
+ /**
+ Go up in the tree. default: choose next parent
+ */
+ Acceptor * ancestor_l(int l=1);
+ int depth_i() const;
+
};
#endif // REGISTERGROUP_HH