]> git.donarmstrong.com Git - lilypond.git/blob - lily/include/voice-group-regs.hh
187b6c147e1485ce0b9ce2dd27bcb8daded59e7c
[lilypond.git] / lily / include / voice-group-regs.hh
1 /*
2   voice-group-regs.hh -- declare Voice_group_registers
3
4   source file of the GNU LilyPond music typesetter
5
6   (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
7 */
8
9
10 #ifndef VOICEGROUPREGS_HH
11 #define VOICEGROUPREGS_HH
12
13 #include "register-group.hh"
14
15 /**
16   A group of voices which share certain characteristics (such as beams. ).
17  */
18 class Voice_group_registers  : public Register_group_register {
19     Moment termination_mom_;
20     Input_register const *ireg_C_;
21     int dir_i_;
22
23 protected:
24     virtual void do_print() const;
25     virtual void set_feature(Feature);
26     virtual Scalar get_feature(String);
27     virtual void post_move_processing();
28     virtual bool try_request(Request*);
29 public:
30     void OK() const;
31     virtual Request_register * get_register_p(Request_register  * reg_l);
32     /// each group in a staff has an unique ID.
33     String group_id_str_;
34
35     /// The pointers are in the base class. This is just administration
36     Array<Voice_registers*> voice_reg_l_arr_;
37     /* *************** */
38     
39     NAME_MEMBERS();
40     static bool static_acceptable_request_b(Request*);
41     virtual void add(Request_register*);
42     Voice_group_registers(String id, Input_register const *);
43 };
44 #endif // VOICEGROUPREGS_HH