BogaudioModules

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

commit 5c6e9290df3592d92c197275bdd5a359e82915bf
parent cd440496575393db6852aa693b38e5e4226f260e
Author: Matt Demanett <matt@demanett.net>
Date:   Wed, 19 Aug 2020 18:55:35 -0400

CHIRP: fix parameter displays on frequency knobs; small fixes.

Diffstat:
Msrc/Chirp.cpp | 8+++-----
Msrc/Chirp.hpp | 25-------------------------
2 files changed, 3 insertions(+), 30 deletions(-)

diff --git a/src/Chirp.cpp b/src/Chirp.cpp @@ -65,14 +65,14 @@ void Chirp::modulateChannel(int c) { float maxF = roundf(maxFrequencyNyquistRatio * APP->engine->getSampleRate()); float f1 = params[FREQUENCY1_PARAM].getValue(); if (inputs[FREQUENCY1_INPUT].isConnected()) { - f1 += clamp(inputs[FREQUENCY1_INPUT].getVoltage(c), -5.0f, 5.0f); + f1 += clamp(inputs[FREQUENCY1_INPUT].getPolyVoltage(c), -5.0f, 5.0f); } f1 = cvToFrequency(f1); f1 = clamp(f1, minFrequency, maxF); float f2 = params[FREQUENCY2_PARAM].getValue(); if (inputs[FREQUENCY2_INPUT].isConnected()) { - f2 += clamp(inputs[FREQUENCY2_INPUT].getVoltage(c), -5.0f, 5.0f); + f2 += clamp(inputs[FREQUENCY2_INPUT].getPolyVoltage(c), -5.0f, 5.0f); } f2 = cvToFrequency(f2); f2 = clamp(f2, minFrequency, maxF); @@ -114,9 +114,7 @@ struct ChirpWidget : BGModuleWidget { setModule(module); box.size = Vec(RACK_GRID_WIDTH * hp, RACK_GRID_HEIGHT); setPanel(box.size, "Chirp"); - - addChild(createWidget<ScrewSilver>(Vec(0, 0))); - addChild(createWidget<ScrewSilver>(Vec(box.size.x - 15, 365))); + createScrews(); // generated by svg_widgets.rb auto timeParamPosition = Vec(18.5, 46.0); diff --git a/src/Chirp.hpp b/src/Chirp.hpp @@ -66,31 +66,6 @@ struct Chirp : BGModule { } }; - struct FrequencyParamQuantity : ParamQuantity { - float getDisplayValue() override { - float v = getValue(); - if (!module) { - return v; - } - - float vv = v * v; - vv *= roundf(APP->engine->getSampleRate() * Chirp::maxFrequencyNyquistRatio) - Chirp::minFrequency; - vv += Chirp::minFrequency; - return vv; - } - - void setDisplayValue(float displayValue) override { - if (!module) { - return; - } - displayValue -= Chirp::minFrequency; - displayValue = std::max(0.0f, displayValue); - float v = displayValue / (roundf(APP->engine->getSampleRate() * Chirp::maxFrequencyNyquistRatio) - Chirp::minFrequency); - v = powf(v, 0.5f); - setValue(v); - } - }; - struct Engine { ChirpOscillator chirp; Trigger trigger;