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_;
40 Slur_req * find_slur(Voice *);
41 void typeset_item(Item *, int=1);
42 void typeset_item_directional(Item *, int dir, int=1);
44 Molecule *create_command_mol(Command *com);
46 void take_request(Request *rq);
47 virtual void process_requests();
49 Simple_column(Score_column*s,Simple_staff*rs);
53 /// Simple staff: one voicegroup at a time
54 struct Simple_staff : Staff {
55 /// indirection to the PStaff.
59 Staff_column*create_col(Score_column*);
61 virtual Item *get_TYPESET_item(Command*);
62 virtual Stem *get_stem(Stem_req *rq, Moment)=0;
63 virtual Notehead *get_notehead(Note_req *rq, int b)=0;
64 virtual Rest *get_rest(Rest_req *rq);
65 virtual void set_output(PScore *);
66 virtual Local_key_item* get_local_key_item();
68 void process_commands( PCursor<Command*> &where);
74 #endif // SIMPLESTAFF_HH