#include "staff.hh"
struct Staff_walker : public PCursor<Staff_column*> {
- Staff * staff_;
- PScore * pscore_;
+ Staff * staff_l_;
+ PScore * pscore_l_;
int break_status;
****************/
/// every time ++ is called
- virtual void reset(){}
+ virtual void do_pre_move(){}
+ virtual void do_post_move(){}
virtual void process_requests()=0;
virtual void do_TYPESET_command(Command*)=0;
virtual void do_INTERPRET_command(Command*)=0 ;
VIRTUAL
****************************************************************/
- virtual void process_requests()=0;
+ virtual void setup_requests()=0;
virtual ~Staff_column();
private:
--- /dev/null
+#include "keyitem.hh"
+#include "stem.hh"
+#include "rest.hh"
+#include "notehead.hh"
+#include "paper.hh"
+#include "molecule.hh"
+#include "linepstaff.hh"
+#include "complexmelodicstaff.hh"
+#include "sccol.hh"
+#include "localkeyitem.hh"
+#include "request.hh"
+
+const int NO_LINES=5;
+
+
+void
+Complex_melodic_staff::set_output(PScore*ps)
+{
+ theline_l_ = new Linestaff(NO_LINES,ps); // theline_l_ is added to pscore later.
+ Complex_staff::set_output(ps);
+}
+
+Item *
+Complex_melodic_staff::get_TYPESET_item(Command*com)
+{
+ if (com->args[0] == "KEY") {
+ return new Keyitem(NO_LINES); // urgh. depends on clef.
+ } else
+ return Complex_staff::get_TYPESET_item(com);
+}
+