4 #include "staffcommands.hh"
7 /// base class for a collection of voices.
9 /// synchronous horizontal stuff
10 IPointerList<Voice*> voices;
12 /// commands in chronological order
13 Staff_commands *staff_commands_;
16 IPointerList<Staff_column*> cols;
18 /// indirections to the Score and PScore
22 /****************************************************************/
23 void add(PointerList<Voice*> &s);
24 void process_commands(Real l);
26 Staff(const Staff&src);
27 void add_voice(Voice *v);
28 void add_staff_column(Staff_column *sp);
30 Paperdef*paper()const;
31 /// interpret all requests and add items to #destination#.
34 This routines calls virtual functions from Staff, to delegate the
35 interpretation of requests to a derived class of Staff */
36 void setup_staffcols();
42 Staff_column * get_col(Real,bool);
46 /****************************************************************
48 ****************************************************************/
50 virtual void set_output(PScore * destination)=0;
51 virtual void walk()=0;
52 virtual Staff_column * create_col(Score_column * )=0;