9 Score_column
*score_column
;
11 /// fields to collect data vertically.
12 svec
<Voice_element
*> v_elts
;
13 svec
<Command
*> s_commands
;
15 Staff_column(Score_column
*s
);
18 void add(Voice_element
*ve
);
19 /****************************************************************
21 ****************************************************************/
22 virtual void process_requests()=0;
23 virtual void process_commands()=0;
24 virtual ~Staff_column() { }
28 /// base class for a collection of voices.
30 /// synchronous horizontal stuff
31 PointerList
<Voice
*> voices
;
33 /// commands in chronological order
34 PointerList
<Command
*> commands
;
35 PointerList
<Staff_column
*> cols
;
37 /// indirections to the Score and PScore
41 void add_voice(Voice
*v
);
42 void add_staff_column(Staff_column
*sp
);
45 /// interpret all requests and add items to #destination#.
48 This routines calls virtual functions from Staff, to delegate the
49 interpretation of requests to a derived class of Staff */
52 /****************************************************************
54 ****************************************************************/
56 void setup_staffcols();
58 virtual void set_output(PScore
* destination
)=0;
59 virtual void grant_requests()=0;
61 Staff_column
* get_col(Mtime
,bool);
63 void add_commands(PointerList
<Command
* >const & sv
);
65 add all commands from sv.
70 virtual Staff_column
* create_col(Score_column
* )=0;