From 6c401ac7c3146b40614b807c411d1a12513a897f Mon Sep 17 00:00:00 2001 From: Andrew Belt Date: Sun, 1 Jul 2018 11:29:43 -0400 Subject: [PATCH] Change default value of LFOs to 2 Hz, according to https://vcvrack.com/manual/VoltageStandards.html#pitch-and-frequencies, and expanded range to up to 2kHz. --- src/LFO.cpp | 6 +++--- src/VCMixer.cpp | 6 ++++-- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/LFO.cpp b/src/LFO.cpp index 771b568..0a8a39b 100644 --- a/src/LFO.cpp +++ b/src/LFO.cpp @@ -12,7 +12,7 @@ struct LowFrequencyOscillator { LowFrequencyOscillator() {} void setPitch(float pitch) { - pitch = fminf(pitch, 8.0f); + pitch = fminf(pitch, 10.0f); freq = powf(2.0f, pitch); } void setPulseWidth(float pw_) { @@ -135,7 +135,7 @@ LFOWidget::LFOWidget(LFO *module) : ModuleWidget(module) { addParam(ParamWidget::create(Vec(15, 77), module, LFO::OFFSET_PARAM, 0.0f, 1.0f, 1.0f)); addParam(ParamWidget::create(Vec(119, 77), module, LFO::INVERT_PARAM, 0.0f, 1.0f, 1.0f)); - addParam(ParamWidget::create(Vec(47, 61), module, LFO::FREQ_PARAM, -8.0f, 6.0f, -1.0f)); + addParam(ParamWidget::create(Vec(47, 61), module, LFO::FREQ_PARAM, -8.0f, 10.0f, 1.0f)); addParam(ParamWidget::create(Vec(23, 143), module, LFO::FM1_PARAM, 0.0f, 1.0f, 0.0f)); addParam(ParamWidget::create(Vec(91, 143), module, LFO::PW_PARAM, 0.0f, 1.0f, 0.5f)); addParam(ParamWidget::create(Vec(23, 208), module, LFO::FM2_PARAM, 0.0f, 1.0f, 0.0f)); @@ -228,7 +228,7 @@ LFO2Widget::LFO2Widget(LFO2 *module) : ModuleWidget(module) { addParam(ParamWidget::create(Vec(62, 150), module, LFO2::OFFSET_PARAM, 0.0f, 1.0f, 1.0f)); addParam(ParamWidget::create(Vec(62, 215), module, LFO2::INVERT_PARAM, 0.0f, 1.0f, 1.0f)); - addParam(ParamWidget::create(Vec(18, 60), module, LFO2::FREQ_PARAM, -8.0f, 6.0f, -1.0f)); + addParam(ParamWidget::create(Vec(18, 60), module, LFO2::FREQ_PARAM, -8.0f, 10.0f, 1.0f)); addParam(ParamWidget::create(Vec(11, 142), module, LFO2::WAVE_PARAM, 0.0f, 3.0f, 1.5f)); addParam(ParamWidget::create(Vec(11, 207), module, LFO2::FM_PARAM, 0.0f, 1.0f, 0.5f)); diff --git a/src/VCMixer.cpp b/src/VCMixer.cpp index 5af56d4..1a44968 100644 --- a/src/VCMixer.cpp +++ b/src/VCMixer.cpp @@ -26,12 +26,14 @@ struct VCMixer : Module { for (int i = 0; i < 4; i++) { float ch = inputs[CH_INPUT + i].value; ch *= powf(params[LVL_PARAM + i].value, 2.f); - ch *= clamp(inputs[CV_INPUT + i].normalize(10.f) / 10.f, 0.f, 1.f); + if (inputs[CV_INPUT + i].active) + ch *= clamp(inputs[CV_INPUT + i].value / 10.f, 0.f, 1.f); outputs[CH_OUTPUT + i].value = ch; mix += ch; } mix *= params[MIX_LVL_PARAM].value; - mix *= clamp(inputs[MIX_CV_INPUT].normalize(10.f) / 10.f, 0.f, 1.f); + if (inputs[MIX_CV_INPUT].active) + mix *= clamp(inputs[MIX_CV_INPUT].value / 10.f, 0.f, 1.f); outputs[MIX_OUTPUT].value = mix; } };