You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

41 lines
667B

  1. #include <tuple>
  2. #include <limits>
  3. #include "rack.hpp"
  4. #include "../BaseWidget.hpp"
  5. #include "RollAreaWidget.hpp"
  6. using namespace rack;
  7. namespace rack_plugin_rcm {
  8. struct PianoRollModule;
  9. struct PianoRollWidget;
  10. struct ModuleDragType;
  11. enum CopyPasteState {
  12. COPYREADY,
  13. PATTERNLOADED,
  14. MEASURELOADED
  15. };
  16. struct PianoRollWidget : BaseWidget {
  17. PianoRollModule* module;
  18. CopyPasteState state;
  19. RollAreaWidget* rollAreaWidget;
  20. PianoRollWidget(PianoRollModule *module);
  21. Rect getRollArea();
  22. // Event Handlers
  23. void appendContextMenu(Menu* menu) override;
  24. json_t *toJson() override;
  25. void fromJson(json_t *rootJ) override;
  26. };
  27. } // namespace rack_plugin_rcm