8 /** class for horizontal stuff.
10 Voice is a ordered row of Voice_elements. It is strictly
11 horizontal: you cannot have two rhythmic elements running parallel
12 in a Voice. For proper processing, each Voice should have
13 Group_change_req as a first element.
18 /** the elements, earliest first.
19 Please use the member #add()# to add a new element
21 IPointerList<Voice_element *> elts_;
28 Moment when(Voice_element const *)const;
30 void transpose(Melodic_req const &)const;
31 void add(Voice_element*);
32 bool find_plet_start_b(char c, Moment& moment_r);
34 void set_default_group(String id);
35 void set_plet_backwards(Moment& now_moment_r, Moment until_moment, int num_i, int den_i);