|
-
- #include "Mult.hpp"
-
- void Mult::step() {
- float out = inputs[INA_INPUT].value;
- outputs[OUTA1_OUTPUT].value = out;
- outputs[OUTA2_OUTPUT].value = out;
- outputs[OUTA3_OUTPUT].value = out;
-
- if (inputs[INB_INPUT].active) {
- out = inputs[INB_INPUT].value;
- }
- outputs[OUTB1_OUTPUT].value = out;
- outputs[OUTB2_OUTPUT].value = out;
- outputs[OUTB3_OUTPUT].value = out;
- }
-
- struct MultWidget : ModuleWidget {
- static constexpr int hp = 3;
-
- MultWidget(Mult* module) : ModuleWidget(module) {
- box.size = Vec(RACK_GRID_WIDTH * hp, RACK_GRID_HEIGHT);
-
- {
- SVGPanel *panel = new SVGPanel();
- panel->box.size = box.size;
- panel->setBackground(SVG::load(assetPlugin(plugin, "res/Mult.svg")));
- addChild(panel);
- }
-
- addChild(Widget::create<ScrewSilver>(Vec(0, 0)));
- addChild(Widget::create<ScrewSilver>(Vec(box.size.x - 15, 365)));
-
- // generated by svg_widgets.rb
- auto inaInputPosition = Vec(10.5, 21.0);
- auto inbInputPosition = Vec(10.5, 181.0);
-
- auto outa1OutputPosition = Vec(10.5, 62.0);
- auto outa2OutputPosition = Vec(10.5, 92.0);
- auto outa3OutputPosition = Vec(10.5, 122.0);
- auto outb1OutputPosition = Vec(10.5, 222.0);
- auto outb2OutputPosition = Vec(10.5, 252.0);
- auto outb3OutputPosition = Vec(10.5, 282.0);
- // end generated by svg_widgets.rb
-
- addInput(Port::create<Port24>(inaInputPosition, Port::INPUT, module, Mult::INA_INPUT));
- addInput(Port::create<Port24>(inbInputPosition, Port::INPUT, module, Mult::INB_INPUT));
-
- addOutput(Port::create<Port24>(outa1OutputPosition, Port::OUTPUT, module, Mult::OUTA1_OUTPUT));
- addOutput(Port::create<Port24>(outa2OutputPosition, Port::OUTPUT, module, Mult::OUTA2_OUTPUT));
- addOutput(Port::create<Port24>(outa3OutputPosition, Port::OUTPUT, module, Mult::OUTA3_OUTPUT));
- addOutput(Port::create<Port24>(outb1OutputPosition, Port::OUTPUT, module, Mult::OUTB1_OUTPUT));
- addOutput(Port::create<Port24>(outb2OutputPosition, Port::OUTPUT, module, Mult::OUTB2_OUTPUT));
- addOutput(Port::create<Port24>(outb3OutputPosition, Port::OUTPUT, module, Mult::OUTB3_OUTPUT));
- }
- };
-
- RACK_PLUGIN_MODEL_INIT(Bogaudio, Mult) {
- Model *modelMult = createModel<Mult, MultWidget>("Bogaudio-Mult", "Mult", "multiple", MULTIPLE_TAG);
- return modelMult;
- }
|