virtual void set_output(PScore *);
virtual Melodic_staff*clone()const;
-
+ virtual Item* get_TYPESET_item(Command*);
virtual Stem * get_stem(Stem_req *rq);
- virtual Notehead * get_notehead(Note_req *rq);
+ virtual Notehead * get_notehead(Note_req *rq, int bot);
+ virtual Local_key_item* get_local_key_item();
};
#endif // MELODICSTAFF_HH
virtual Item *get_TYPESET_item(Command*);
virtual Stem *get_stem(Stem_req *rq);
- virtual Notehead * get_notehead(Note_req *rq);
+ virtual Notehead * get_notehead(Note_req *rq, int b);
virtual void set_output(PScore *);
virtual Rhythmic_staff*clone()const;
};
#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.
*/
Beam_req *beam_;
Simple_staff* staff_;
+
/****************/
- virtual void typeset_item(Item *, int=1);
+ void typeset_item(Item *, int=1);
+
+ void typeset_item_directional(Item *, int dir, int=1);
Molecule *create_command_mol(Command *com);
virtual Item *get_TYPESET_item(Command*);
virtual Stem *get_stem(Stem_req *rq)=0;
- virtual Notehead *get_notehead(Note_req *rq)=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
Item *
Rhythmic_staff::get_TYPESET_item(Command *com)
{
+ if (com->args[0] == "KEY" || com->args[0] == "CLEF")
+ return 0;
Item *i = Simple_staff::get_TYPESET_item(com);
+ if (!i) return 0;
i->translate(Offset(0,
-score_->paper_->standard_height()/2));
return i;
}
Notehead*
-Rhythmic_staff::get_notehead(Note_req *rq)
+Rhythmic_staff::get_notehead(Note_req *rq, int)
{
int b = rq->rhythmic()->balltype;
int d = rq->rhythmic()->dots;