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.

77 lines
1.9KB

  1. /*
  2. PlainVoidCanvas
  3. */////////////////////////////////////////////////////////////////////////////
  4. #include "pvc.hpp"
  5. namespace rack_plugin_PvC {
  6. struct PlainVoidCanvas : Module {
  7. enum ParamIds {
  8. NUM_PARAMS
  9. };
  10. enum InputIds {
  11. NUM_INPUTS
  12. };
  13. enum OutputIds {
  14. NUM_OUTPUTS
  15. };
  16. enum LightIds {
  17. NUM_LIGHTS
  18. };
  19. PlainVoidCanvas() : Module(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS) { }
  20. void step() override;
  21. // void reset() override;
  22. // void randomize() override;
  23. // json_t *toJson() override {
  24. // json_t *rootJ = json_object();
  25. // return rootJ;
  26. // }
  27. // void fromJson(json_t *rootJ) override {
  28. // }
  29. };
  30. void PlainVoidCanvas::step() {
  31. // do stuff
  32. }
  33. struct PlainVoidCanvasWidget : ModuleWidget {
  34. PlainVoidCanvasWidget(PlainVoidCanvas *module);
  35. };
  36. PlainVoidCanvasWidget::PlainVoidCanvasWidget(PlainVoidCanvas *module) : ModuleWidget(module) {
  37. setPanel(SVG::load(assetPlugin(plugin, "res/panels/PlainVoidCanvas.svg")));
  38. // screws
  39. addChild(Widget::create<ScrewHead1>(Vec(0, 0)));
  40. addChild(Widget::create<ScrewHead2>(Vec(box.size.x - 15, 0)));
  41. addChild(Widget::create<ScrewHead3>(Vec(0, 365)));
  42. addChild(Widget::create<ScrewHead4>(Vec(box.size.x - 15, 365)));
  43. // addChild(ModuleLightWidget::create<FourPixLight<RedLED>>(Vec(,), module, PlainVoidCanvas::LIGHT_ID));
  44. // addParam(ParamWidget::create<EmptyButton>(Vec(,), module, PlainVoidCanvas::PARAM_ID, 0, 1, 0));
  45. // addInput(Port::create<InPortAud>(Vec(,), Port::INPUT, module, PlainVoidCanvas::INPUT_ID));
  46. // addOutput(Port::create<OutPortVal>(Vec(,), Port::OUTPUT, module, PlainVoidCanvas::OUTPUT_ID));
  47. }
  48. } // namespace rack_plugin_PvC
  49. using namespace rack_plugin_PvC;
  50. RACK_PLUGIN_MODEL_INIT(PvC, PlainVoidCanvas) {
  51. Model *modelPlainVoidCanvas = Model::create<PlainVoidCanvas, PlainVoidCanvasWidget>(
  52. "PvC", "PlainVoidCanvas", "PlainVoidCanvas", BLANK_TAG);
  53. return modelPlainVoidCanvas;
  54. }