BogaudioModules

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

commit 188d169f6df5bc30cce4905f3d14804d7e1cc51d
parent a7af271467ec0f6cc8882193c5bf6ed1b89e5808
Author: Matt Demanett <matt@demanett.net>
Date:   Mon,  2 Dec 2019 23:27:04 -0500

Restore some toggle button checks.

Diffstat:
Msrc/AD.cpp | 3+++
Msrc/ADSR.cpp | 4++++
Msrc/ADSR.hpp | 1+
Msrc/EightFO.cpp | 1+
Msrc/LFO.cpp | 4++++
Msrc/LFO.hpp | 1+
Msrc/LLFO.cpp | 2++
Msrc/VCO.cpp | 2++
Msrc/XCO.cpp | 1+
9 files changed, 19 insertions(+), 0 deletions(-)

diff --git a/src/AD.cpp b/src/AD.cpp @@ -77,6 +77,9 @@ void AD::modulateChannel(int c) { e.envelope.setDecay(e.decaySL.next(decay * 10.f)); e.envelope.setLinearShape(_linearMode); + + _loopMode = params[LOOP_PARAM].getValue() > 0.5f; + _linearMode = params[LINEAR_PARAM].getValue() > 0.5f; } void AD::always(const ProcessArgs& args) { diff --git a/src/ADSR.cpp b/src/ADSR.cpp @@ -56,6 +56,10 @@ void ADSR::removeChannel(int c) { _engines[c] = NULL; } +void ADSR::modulate() { + _linearMode = params[LINEAR_PARAM].getValue() > 0.5f; +} + void ADSR::modulateChannel(int c) { Engine& e = *_engines[c]; diff --git a/src/ADSR.hpp b/src/ADSR.hpp @@ -73,6 +73,7 @@ struct ADSR : BGModule { int channels() override; void addChannel(int c) override; void removeChannel(int c) override; + void modulate() override; void modulateChannel(int c) override; void always(const ProcessArgs& args) override; void processChannel(const ProcessArgs& args, int c) override; diff --git a/src/EightFO.cpp b/src/EightFO.cpp @@ -65,6 +65,7 @@ void EightFO::removeChannel(int c) { void EightFO::modulate() { _wave = (Wave)roundf(params[WAVE_PARAM].getValue()); + _slowMode = params[SLOW_PARAM].getValue() > 0.5f; } void EightFO::modulateChannel(int c) { diff --git a/src/LFO.cpp b/src/LFO.cpp @@ -51,6 +51,10 @@ void LFO::removeChannel(int c) { _engines[c] = NULL; } +void LFO::modulate() { + _slowMode = params[SLOW_PARAM].getValue() > 0.5f; +} + void LFO::modulateChannel(int c) { Engine& e = *_engines[c]; diff --git a/src/LFO.hpp b/src/LFO.hpp @@ -86,6 +86,7 @@ struct LFO : LFOBase { int channels() override; void addChannel(int c) override; void removeChannel(int c) override; + void modulate() override; void modulateChannel(int c) override; void processChannel(const ProcessArgs& args, int c) override; void updateOutput(int c, Phasor& wave, bool useSample, bool invert, Output& output, float& sample, bool& active); diff --git a/src/LLFO.cpp b/src/LLFO.cpp @@ -28,6 +28,8 @@ void LLFO::addChannel(int c) { } void LLFO::modulate() { + _slowMode = params[SLOW_PARAM].getValue() > 0.5f; + _invert = false; Wave wave = (Wave)params[WAVE_PARAM].getValue(); switch (wave) { diff --git a/src/VCO.cpp b/src/VCO.cpp @@ -102,6 +102,8 @@ void VCO::removeChannel(int c) { } void VCO::modulate() { + _slowMode = params[SLOW_PARAM].getValue() > 0.5f; + _linearMode = params[LINEAR_PARAM].getValue() > 0.5f; _fmLinearMode = params[FM_TYPE_PARAM].getValue() < 0.5f; _fmDepth = params[FM_PARAM].getValue(); } diff --git a/src/XCO.cpp b/src/XCO.cpp @@ -85,6 +85,7 @@ void XCO::removeChannel(int c) { } void XCO::modulate() { + _slowMode = params[SLOW_PARAM].getValue() > 0.5f; _fmLinearMode = params[FM_TYPE_PARAM].getValue() < 0.5f; }