8 /// class for horizontal stuff.
10 PointerList<Voice_element *> elts;
14 Real when(const Voice_element*)const;
17 void add(Voice_element*);
22 Voice is a ordered row of Voice_elements. It is strictly horizontal:
23 you cannot have two rhythmic elements running parallel in a Voice
28 /// don't know how to identify these.
32 struct Voice_element {
34 const Voicegroup *group;
36 PointerList<Request*> reqs;
38 List<const Item *> granted_items;
39 List<const Spanner *> granted_spanners;
45 /** Apart from being a container for the requests, Voice_element is
46 glue between related items and spanners, between requests and