#include "plugin.hpp" struct MyModule : Module { enum ParamId { PARAMS_LEN }; enum InputId { SINE_INPUT, INPUTS_LEN }; enum OutputId { OUTPUTS_LEN }; enum LightId { LIGHTS_LEN }; MyModule() { config(PARAMS_LEN, INPUTS_LEN, OUTPUTS_LEN, LIGHTS_LEN); configInput(SINE_INPUT, ""); } void process(const ProcessArgs& args) override { } }; struct MyModuleWidget : ModuleWidget { MyModuleWidget(MyModule* module) { setModule(module); setPanel(createPanel(asset::plugin(pluginInstance,"res/myModule.svg"))); addChild(createWidget(Vec(RACK_GRID_WIDTH, 0))); addChild(createWidget(Vec(box.size.x - 2 * RACK_GRID_WIDTH, 0))); addChild(createWidget(Vec(RACK_GRID_WIDTH, RACK_GRID_HEIGHT - RACK_GRID_WIDTH))); addChild(createWidget(Vec(box.size.x - 2 * RACK_GRID_WIDTH, RACK_GRID_HEIGHT - RACK_GRID_WIDTH))); addInput(createInputCentered(mm2px(Vec(41.779, 118.776)), module, MyModule::SINE_INPUT)); } }; Model* modelMyModule = createModel("myModule");