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