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:
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;