#ifndef SIMPLESTAFF_HH
#define SIMPLESTAFF_HH
+#include "key.hh"
#include "stcol.hh"
#include "staff.hh"
#include "swalker.hh"
+
/*
mega-stupido staffs and cols: they do notes one at each moment.
*/
struct Simple_column : Staff_column {
svec<Rhythmic_req *> notes;
+ svec<Slur_req *> slurs;
Stem_req *stem_;
+ Real stem_requester_len;
Beam_req *beam_;
Simple_staff* staff_;
+
/****************/
-
- virtual void typeset_item(Item *, int=1);
+ Slur_req * find_slur(Voice *);
+ void typeset_item(Item *, int=1);
+ void typeset_item_directional(Item *, int dir, int=1);
Molecule *create_command_mol(Command *com);
Staff_column*create_col(Score_column*);
virtual Item *get_TYPESET_item(Command*);
- virtual Stem *get_stem(Stem_req *rq)=0;
- virtual Notehead *get_notehead(Note_req *rq)=0;
+ virtual Stem *get_stem(Stem_req *rq, Real)=0;
+ virtual Notehead *get_notehead(Note_req *rq, int b)=0;
virtual Rest *get_rest(Rest_req *rq);
virtual void set_output(PScore *);
+ virtual Local_key_item* get_local_key_item();
void process_commands( PCursor<Command*> &where);
virtual void walk();
Simple_staff();
};
-struct Simple_walker: Staff_walker {
- Stem *stem_;
- svec<Notehead *>noteheads;
- Beam *beam_;
-
- /****************/
-
- virtual void process_command(Command*);
- virtual void process_requests();
- Simple_walker(Simple_staff*);
- Simple_column *col();
- Simple_staff *staff();
-};
-
-
#endif // SIMPLESTAFF_HH