#pragma once #include #include #include namespace Hardware { class MidiController; class SCORE_ADDON_HARDWARE_EXPORT Controller : public QObject { W_OBJECT(Controller) public: explicit Controller(const score::DocumentContext& doc); enum Commands { Play = 0, Stop, Left, Right, Up, Down }; void setup(); void setup_scenario(Scenario::ProcessModel* s); void draw_intervals(); private: double h_ofset; double v_ofset; double h_zoom; double v_zoom; MidiController* ctl; Scenario::ProcessModel* scenar; std::function commandCallback; void on_interval_changed(const Scenario::IntervalModel &); }; }