BogaudioModules

BogaudioModules for VCV Rack
Log | Files | Refs | README | LICENSE

commit 52a009148690c6499f8005daa388baf0b515f543
parent 9e81e71d5ea7850fcbc82afa178b95b473739093
Author: Matt Demanett <matt@demanett.net>
Date:   Mon, 18 Jun 2018 20:01:52 -0400

Delete VCAL.

Diffstat:
Dres-src/VCAL-src.svg | 150-------------------------------------------------------------------------------
Dres/VCAL.svg | 0
Dsrc/VCAL.cpp | 61-------------------------------------------------------------
Dsrc/VCAL.hpp | 40----------------------------------------
Msrc/bogaudio.cpp | 4----
5 files changed, 0 insertions(+), 255 deletions(-)

diff --git a/res-src/VCAL-src.svg b/res-src/VCAL-src.svg @@ -1,150 +0,0 @@ -<svg - version="1.1" - xmlns="http://www.w3.org/2000/svg" - xmlns:xlink="http://www.w3.org/1999/xlink" - width="45" - height="380" - viewBox="0 0 45 380" -> - <style> - text { - fill: #333; - font-family: 'Roboto', sans-serif; - font-weight: bold; - } - text.title { - font-family: 'Comfortaa', sans-serif; - font-weight: normal; - } - text.brand { - font-family: 'Audiowide', sans-serif; - font-weight: bold; - } - </style> - - <defs> - <symbol id="knob" viewBox="0 0 45px 45px"> - <g transform="translate(22.5 22.5)"> - <polyline points="-5,0 5,0" stroke-width="1" stroke="#00f" /> - <polyline points="0,-5 0,5" stroke-width="1" stroke="#00f" /> - <circle cx="0" cy="0" r="12.5" stroke-width="1" stroke="#00f" fill="none" /> - </g> - </symbol> - - <symbol id="knobguide" viewBox="0 0 45px 45px"> - <g transform="translate(22.5 22.5)"> - <g transform="rotate(-240) translate(15 0)"> - <text font-size="5.0pt" transform="translate(3 0) rotate(240) translate(-2.2 2.2)">0</text> - </g> - <g transform="rotate(-210) translate(15 0)"> - <polyline points="0,0 2.5,0" stroke-width="0.3" stroke="#333" /> - </g> - <g transform="rotate(-180) translate(15 0)"> - <polyline points="0,0 2.5,0" stroke-width="0.3" stroke="#333" /> - </g> - <g transform="rotate(-150) translate(15 0)"> - <polyline points="0,0 2.5,0" stroke-width="0.3" stroke="#333" /> - </g> - <g transform="rotate(-120) translate(15 0)"> - <polyline points="0,0 2.5,0" stroke-width="0.3" stroke="#333" /> - </g> - <g transform="rotate(-90) translate(15 0)"> - <polyline points="0,0 2.5,0" stroke-width="0.3" stroke="#333" /> - </g> - <g transform="rotate(-60) translate(15 0)"> - <polyline points="0,0 2.5,0" stroke-width="0.3" stroke="#333" /> - </g> - <g transform="rotate(-30) translate(15 0)"> - <polyline points="0,0 2.5,0" stroke-width="0.3" stroke="#333" /> - </g> - <g transform="rotate(0) translate(15 0)"> - <polyline points="0,0 2.5,0" stroke-width="0.3" stroke="#333" /> - </g> - <g transform="rotate(30) translate(15 0)"> - <polyline points="0,0 2.5,0" stroke-width="0.3" stroke="#333" /> - </g> - <g transform="rotate(60) translate(15 0)"> - <text font-size="5.0pt" transform="translate(3 0) rotate(-60) translate(-4 2.2)">10</text> - </g> - </g> - </symbol> - - <symbol id="input" viewBox="0 0 24px 24px"> - <g transform="translate(12 12)"> - <circle cx="0" cy="0" r="5" stroke-width="1" stroke="#0f0" fill="#0f0" /> - <circle cx="0" cy="0" r="10.5" stroke-width="3" stroke="#0f0" fill="none" /> - </g> - </symbol> - - <symbol id="output" viewBox="0 0 24px 24px"> - <g transform="translate(12 12)"> - <circle cx="0" cy="0" r="5" stroke-width="1" stroke="#f00" fill="#f00" /> - <circle cx="0" cy="0" r="10.5" stroke-width="3" stroke="#f00" fill="none" /> - </g> - </symbol> - </defs> - - <rect width="100%" height="100%" fill="#ddd" /> - <polyline points="1,1 44,1 44,379 1,379 1,1" stroke="#e4e4e4" stroke-width="0.5" fill="none" /> - <polyline points="0.5,0.5 44.5,0.5 44.5,379.5 0.5,379.5 0.5,0.5" stroke="#ebebeb" stroke-width="0.8" fill="none" /> - <polyline points="0,0 45,0 45,380 0,380 0,0" stroke="#f2f2f2" stroke-width="1" fill="none" /> - - <!-- <polyline points="22.5,0 22.5,380" stroke-width="0.5" stroke="#0f0" /> --> - <!-- <rect width="45" height="10" fill="#0f0" transform="translate(0 68)" /> --> - <!-- <rect width="45" height="10" fill="#0f0" transform="translate(0 127)" /> --> - <!-- <rect width="45" height="10" fill="#0f0" transform="translate(0 177)" /> --> - - <g transform="rotate(-90) translate(-376 13)"> - <text class="title" font-size="7pt" letter-spacing="1px">VCA-L</text> - <g transform="translate(0 12)"> - <text class="brand" font-size="7pt" letter-spacing="2px">BGA</text> - <rect width="3.0" height="3" fill="#ddd" transform="translate(11.5 -5)" /> - </g> - </g> - - <g transform="translate(0 25)"> - <text font-size="6pt" letter-spacing="2px" transform="translate(5.5 0)">1</text> - <use id="LEVEL1_PARAM" xlink:href="#knob" transform="translate(0 -6)" /> - <use xlink:href="#knobguide" transform="translate(0 -6)" /> - </g> - - <g transform="translate(0 63)"> - <g transform="translate(5.5 0)"> - <rect width="34" height="10" fill="#fafafa" transform="translate(0 63)" /> - <rect width="34" height="70" rx="5" fill="#fafafa" /> - <use id="CV1_INPUT" xlink:href="#input" transform="translate(5 3)" /> - <text font-size="5pt" letter-spacing="2px" transform="translate(12.5 35)">CV</text> - <use id="IN1_INPUT" xlink:href="#input" transform="translate(5 38)" /> - <text font-size="5pt" letter-spacing="2px" transform="translate(12.5 70)">IN</text> - </g> - <g transform="translate(5.5 76)"> - <rect width="34" height="10" fill="#bbb" transform="translate(0 -3)" /> - <rect width="34" height="35" rx="5" fill="#bbb" /> - <use id="OUT1_OUTPUT" xlink:href="#output" transform="translate(5 0)" /> - <text font-size="5pt" letter-spacing="2px" transform="translate(8.3 32)">OUT</text> - </g> - </g> - - <g transform="translate(0 186)"> - <text font-size="6pt" letter-spacing="2px" transform="translate(5.5 0)">2</text> - <use id="LEVEL2_PARAM" xlink:href="#knob" transform="translate(0 -6)" /> - <use xlink:href="#knobguide" transform="translate(0 -6)" /> - </g> - - <g transform="translate(0 224)"> - <g transform="translate(5.5 0)"> - <rect width="34" height="10" fill="#fafafa" transform="translate(0 63)" /> - <rect width="34" height="70" rx="5" fill="#fafafa" /> - <use id="CV2_INPUT" xlink:href="#input" transform="translate(5 3)" /> - <text font-size="5pt" letter-spacing="2px" transform="translate(12.5 35)">CV</text> - <use id="IN2_INPUT" xlink:href="#input" transform="translate(5 38)" /> - <text font-size="5pt" letter-spacing="2px" transform="translate(12.5 70)">IN</text> - </g> - <g transform="translate(5.5 76)"> - <rect width="34" height="10" fill="#bbb" transform="translate(0 -3)" /> - <rect width="34" height="35" rx="5" fill="#bbb" /> - <use id="OUT2_OUTPUT" xlink:href="#output" transform="translate(5 0)" /> - <text font-size="5pt" letter-spacing="2px" transform="translate(8.3 32)">OUT</text> - </g> - </g> -</svg> diff --git a/res/VCAL.svg b/res/VCAL.svg Binary files differ. diff --git a/src/VCAL.cpp b/src/VCAL.cpp @@ -1,61 +0,0 @@ - -#include "VCAL.hpp" - -void VCAL::step() { - channelStep(inputs[IN1_INPUT], outputs[OUT1_OUTPUT], params[LEVEL1_PARAM], inputs[CV1_INPUT]); - channelStep(inputs[IN2_INPUT], outputs[OUT2_OUTPUT], params[LEVEL2_PARAM], inputs[CV2_INPUT]); -} - -void VCAL::channelStep(Input& input, Output& output, Param& knob, Input& cv) { - if (input.active && output.active) { - float level = knob.value; - if (cv.active) { - level *= clamp(cv.value, 0.0f, 10.0f) / 10.0f; - } - output.value = level * input.value; - } -} - -struct VCALWidget : ModuleWidget { - static constexpr int hp = 3; - - VCALWidget(VCAL* 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/VCAL.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 level1ParamPosition = Vec(9.5, 28.5); - auto level2ParamPosition = Vec(9.5, 189.5); - - auto cv1InputPosition = Vec(10.5, 66.0); - auto in1InputPosition = Vec(10.5, 101.0); - auto cv2InputPosition = Vec(10.5, 227.0); - auto in2InputPosition = Vec(10.5, 262.0); - - auto out1OutputPosition = Vec(10.5, 139.0); - auto out2OutputPosition = Vec(10.5, 300.0); - // end generated by svg_widgets.rb - - addParam(ParamWidget::create<Knob26>(level1ParamPosition, module, VCAL::LEVEL1_PARAM, 0.0, 1.0, 0.5)); - addParam(ParamWidget::create<Knob26>(level2ParamPosition, module, VCAL::LEVEL2_PARAM, 0.0, 1.0, 0.5)); - - addInput(Port::create<Port24>(cv1InputPosition, Port::INPUT, module, VCAL::CV1_INPUT)); - addInput(Port::create<Port24>(in1InputPosition, Port::INPUT, module, VCAL::IN1_INPUT)); - addInput(Port::create<Port24>(cv2InputPosition, Port::INPUT, module, VCAL::CV2_INPUT)); - addInput(Port::create<Port24>(in2InputPosition, Port::INPUT, module, VCAL::IN2_INPUT)); - - addOutput(Port::create<Port24>(out1OutputPosition, Port::OUTPUT, module, VCAL::OUT1_OUTPUT)); - addOutput(Port::create<Port24>(out2OutputPosition, Port::OUTPUT, module, VCAL::OUT2_OUTPUT)); - } -}; - -Model* modelVCAL = createModel<VCAL, VCALWidget>("Bogaudio-VCAL", "VCA-L", "dual attenuator", ATTENUATOR_TAG, DUAL_TAG); diff --git a/src/VCAL.hpp b/src/VCAL.hpp @@ -1,40 +0,0 @@ -#pragma once - -#include "bogaudio.hpp" - -extern Model* modelVCAL; - -namespace bogaudio { - -struct VCAL : Module { - enum ParamsIds { - LEVEL1_PARAM, - LEVEL2_PARAM, - NUM_PARAMS - }; - - enum InputsIds { - CV1_INPUT, - IN1_INPUT, - CV2_INPUT, - IN2_INPUT, - NUM_INPUTS - }; - - enum OutputsIds { - OUT1_OUTPUT, - OUT2_OUTPUT, - NUM_OUTPUTS - }; - - enum LightsIds { - NUM_LIGHTS - }; - - VCAL() : Module(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS) {} - - void step() override; - void channelStep(Input& input, Output& output, Param& knob, Input& cv); -}; - -} // namespace bogaudio diff --git a/src/bogaudio.cpp b/src/bogaudio.cpp @@ -32,7 +32,6 @@ #include "Sums.hpp" #include "Switch.hpp" #include "VCA.hpp" -#include "VCAL.hpp" #include "VCAmp.hpp" #include "VCM.hpp" #include "VCO.hpp" @@ -77,9 +76,6 @@ void init(rack::Plugin *p) { p->addModel(modelPan); p->addModel(modelXFade); p->addModel(modelVCA); -#if 0 - p->addModel(modelVCAL); -#endif p->addModel(modelVCAmp); p->addModel(modelAnalyzer);