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