2 simplestaff.hh -- part of LilyPond
4 (c) 1996,97 Han-Wen Nienhuys
13 #include "staffwalker.hh"
16 mega-stupido staffs and cols: they do notes one at each moment.
22 Array<Script_req*> scripts;
24 Note_info(Rhythmic_req*);
27 /// column of Simple_staff: store one request
28 struct Simple_column : Staff_column {
30 Array<Note_info> notes;
31 Array<Slur_req *> slurs;
33 Moment stem_requester_len;
35 Simple_staff* staff_l_;
39 Slur_req * find_slur(Voice *);
40 void typeset_item(Item *, int=1);
41 void typeset_item_directional(Item *, int dir, int=1);
43 Molecule *create_command_mol(Command *com);
45 void take_request(Request *rq);
46 virtual void setup_requests();
48 Simple_column(Score_column*s,Simple_staff*rs);
52 /// Simple staff: one voicegroup at a time
53 struct Simple_staff : Staff {
54 /// indirection to the PStaff.
58 Staff_column*create_col(Score_column*);
60 virtual Item *get_TYPESET_item(Command*);
61 virtual Stem *get_stem(Stem_req *rq)=0;
62 virtual Notehead *get_notehead(Note_req *rq, int b)=0;
63 virtual Rest *get_rest(Rest_req *rq);
64 virtual void set_output(PScore *);
65 virtual Local_key_item* get_local_key_item();
67 void process_commands( PCursor<Command*> &where);
73 #endif // SIMPLESTAFF_HH