diff --git a/src/SEQ3.cpp b/src/SEQ3.cpp index 505569c..ce7187e 100644 --- a/src/SEQ3.cpp +++ b/src/SEQ3.cpp @@ -102,7 +102,7 @@ struct SEQ3 : Module { gateMode = (GateMode)json_integer_value(gateModeJ); } - void initialize() override { + void reset() override { for (int i = 0; i < 8; i++) { gateState[i] = false; } diff --git a/src/Scope.cpp b/src/Scope.cpp index 4bdaf48..f04aff6 100644 --- a/src/Scope.cpp +++ b/src/Scope.cpp @@ -59,7 +59,7 @@ struct Scope : Module { external = json_integer_value(extJ); } - void initialize() override { + void reset() override { lissajous = false; external = false; } diff --git a/src/VCF.cpp b/src/VCF.cpp index 96060ef..0583c25 100644 --- a/src/VCF.cpp +++ b/src/VCF.cpp @@ -75,6 +75,11 @@ struct LadderFilter { for (int i = 0; i < 4; i++) state[i] += (1.0 / 6.0) * dt * (deriv1[i] + 2.0 * deriv2[i] + 2.0 * deriv3[i] + deriv4[i]); } + void reset() { + for (int i = 0; i < 4; i++) { + state[i] = 0.0; + } + } }; @@ -103,7 +108,10 @@ struct VCF : Module { LadderFilter filter; VCF() : Module(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS) {} - void step(); + void step() override; + void reset() override { + filter.reset(); + } };