4 #include "staffcommands.hh"
7 /// base class for a collection of voices.
9 /// synchronous horizontal stuff
10 IPointerList<Voice*> voices;
13 IPointerList<Staff_column*> cols;
17 String define_spot_str_;
18 /****************************************************************/
19 void add(PointerList<Voice*> &s);
20 void do_commands(PointerList<Input_command*> score_wide,
21 PointerList<Input_command*> staff_wide);
23 void get_marks(Array<String>&, Array<Moment>&);
25 /// throw away cols later the #l#
26 void truncate_cols(Moment l);
28 Staff(const Staff&src);
29 void add_voice(Voice *v);
30 void add_staff_column(Staff_column *sp);
32 Paperdef*paper()const;
34 /// interpret all requests and add items to #destination#.
37 This routines calls virtual functions from Staff, to delegate the
38 interpretation of requests to a derived class of Staff */
41 void setup_staffcols();
46 /// when does the last *musical* element finish?
49 /// remove unused cols
52 Staff_column * get_col(Moment,bool);
56 /****************************************************************
58 ****************************************************************/
60 virtual void set_output(PScore * destination)=0;
61 virtual void walk()=0;
62 virtual Staff_column * create_col(Score_column * )=0;
65 void set_time_descriptions();