From ec9fd8bd319740f8a8567b29f5b2b34bc9fecb81 Mon Sep 17 00:00:00 2001 From: s-ol Date: Fri, 6 Sep 2019 11:34:15 +0200 Subject: update to rack v1 compat --- src/WrapComp.cpp | 32 ++++++++++++++++++-------------- 1 file changed, 18 insertions(+), 14 deletions(-) (limited to 'src/WrapComp.cpp') diff --git a/src/WrapComp.cpp b/src/WrapComp.cpp index ab82aa0..3eaee98 100644 --- a/src/WrapComp.cpp +++ b/src/WrapComp.cpp @@ -26,14 +26,18 @@ struct WrapComp : Module { WrapComp() { config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS); + configParam(OFFSET_PARAM, -5.0, 5.0, 0.0); + configParam(RANGE_PARAM, -5.0, 5.0, 0.0); + configParam(A_OUT_PARAM, -8.0, 8.0, 1.0); + configParam(B_OUT_PARAM, -8.0, 8.0, 0.0); } - void step() override; + void process(const ProcessArgs &args) override; }; -void WrapComp::step() { - float input = inputs[SIGNAL_INPUT].value + inputs[OFFSET_INPUT].normalize(0.0) + params[OFFSET_PARAM].value; - float width = clamp((inputs[RANGE_INPUT].normalize(0.0f) + params[RANGE_PARAM].value) / 2.0f, 0.0f, 5.0f); +void WrapComp::process(const ProcessArgs &args) { + float input = inputs[SIGNAL_INPUT].getVoltage() + inputs[OFFSET_INPUT].getNormalVoltage(0.0) + params[OFFSET_PARAM].getValue(); + float width = clamp((inputs[RANGE_INPUT].getNormalVoltage(0.0f) + params[RANGE_PARAM].getValue()) / 2.0f, 0.0f, 5.0f); while (input > 5.0) input -= 5.0; @@ -42,7 +46,7 @@ void WrapComp::step() { bool a = input < width || input > (5.0 - width); - outputs[MAIN_OUTPUT].value = a ? params[A_OUT_PARAM].value : params[B_OUT_PARAM].value; + outputs[MAIN_OUTPUT].setVoltage(a ? params[A_OUT_PARAM].getValue() : params[B_OUT_PARAM].getValue()); lights[A_LIGHT].value = a ? 1.0 : 0.0; lights[B_LIGHT].value = a ? 0.0 : 1.0; } @@ -54,7 +58,7 @@ struct WrapCompWidget : ModuleWidget { WrapCompWidget::WrapCompWidget(WrapComp *module) { setModule(module); - setPanel(SVG::load(assetPlugin(pluginInstance, "res/WrapComp.svg"))); + setPanel(APP->window->loadSvg(asset::plugin(pluginInstance, "res/WrapComp.svg"))); addChild(createWidget(Vec(RACK_GRID_WIDTH, 0))); addChild(createWidget(Vec(box.size.x - 2 * RACK_GRID_WIDTH, 0))); @@ -68,21 +72,21 @@ WrapCompWidget::WrapCompWidget(WrapComp *module) { Vec kcenter = Vec(box.size.x, 0).minus(k.box.size).div(2); Vec lcenter = Vec(box.size.x, 0).minus(l.box.size).div(2); - addInput(createPort(center.plus(Vec(0, 70)), PortWidget::INPUT, module, WrapComp::SIGNAL_INPUT)); + addInput(createInput(center.plus(Vec(0, 70)), module, WrapComp::SIGNAL_INPUT)); - addParam(createParam(kcenter.plus(Vec(25, 135)), module, WrapComp::OFFSET_PARAM, -5.0, 5.0, 0.0)); - addInput(createPort(center.plus(Vec(-25, 135)), PortWidget::INPUT, module, WrapComp::OFFSET_INPUT)); + addParam(createParam(kcenter.plus(Vec(25, 135)), module, WrapComp::OFFSET_PARAM)); + addInput(createInput(center.plus(Vec(-25, 135)), module, WrapComp::OFFSET_INPUT)); - addParam(createParam(kcenter.plus(Vec(25, 210)), module, WrapComp::RANGE_PARAM, -5.0, 5.0, 0.0)); - addInput(createPort(center.plus(Vec(-25, 210)), PortWidget::INPUT, module, WrapComp::RANGE_INPUT)); + addParam(createParam(kcenter.plus(Vec(25, 210)), module, WrapComp::RANGE_PARAM)); + addInput(createInput(center.plus(Vec(-25, 210)), module, WrapComp::RANGE_INPUT)); addChild(createLight>(lcenter.plus(Vec(-15, 255)), module, WrapComp::A_LIGHT)); addChild(createLight>(lcenter.plus(Vec( 15, 255)), module, WrapComp::B_LIGHT)); - addParam(createParam(kcenter.plus(Vec(-25, 280)), module, WrapComp::A_OUT_PARAM, -8.0, 8.0, 1.0)); - addParam(createParam(kcenter.plus(Vec( 25, 280)), module, WrapComp::B_OUT_PARAM, -8.0, 8.0, 0.0)); + addParam(createParam(kcenter.plus(Vec(-25, 280)), module, WrapComp::A_OUT_PARAM)); + addParam(createParam(kcenter.plus(Vec( 25, 280)), module, WrapComp::B_OUT_PARAM)); - addOutput(createPort(center.plus(Vec(0, 315)), PortWidget::OUTPUT, module, WrapComp::MAIN_OUTPUT)); + addOutput(createOutput(center.plus(Vec(0, 315)), module, WrapComp::MAIN_OUTPUT)); } Model *modelWrapComp = createModel("WrapComp"); -- cgit v1.2.3