diff options
author | Harald Eilertsen <haraldei@anduin.net> | 2020-09-02 21:35:47 +0200 |
---|---|---|
committer | Harald Eilertsen <haraldei@anduin.net> | 2020-09-02 21:42:47 +0200 |
commit | cccd83938fd33631c36dd5e22ea2364a12fe5305 (patch) | |
tree | eac0433654c31ea6b31c295c74088b60dc7bf607 /plugins/LV2/src/ADT | |
parent | 529eff1742ef8e62bc8ccb402fcaa21eba7e2ff7 (diff) | |
download | airwindows-lv2-port-cccd83938fd33631c36dd5e22ea2364a12fe5305.tar.gz airwindows-lv2-port-cccd83938fd33631c36dd5e22ea2364a12fe5305.tar.bz2 airwindows-lv2-port-cccd83938fd33631c36dd5e22ea2364a12fe5305.zip |
LV2: Reset state on activate.
This makes sure all internal parameters are initializet to sane values
before processing starts. The VST version does this on construction, but
it seems better (at least for LV2) to do this as part of the activate
callback.
This should fix noise on the start of the audio processing with the
plugins.
Diffstat (limited to 'plugins/LV2/src/ADT')
-rw-r--r-- | plugins/LV2/src/ADT/ADT.cpp | 15 | ||||
-rw-r--r-- | plugins/LV2/src/ADT/ADT.h | 1 |
2 files changed, 16 insertions, 0 deletions
diff --git a/plugins/LV2/src/ADT/ADT.cpp b/plugins/LV2/src/ADT/ADT.cpp index 5f5e6e0..ba9549c 100644 --- a/plugins/LV2/src/ADT/ADT.cpp +++ b/plugins/LV2/src/ADT/ADT.cpp @@ -7,6 +7,21 @@ ADT::ADT(double rate) { } +void ADT::activate() +{ + for(int count = 0; count < 9999; count++) { + pL[count] = 0; + pR[count] = 0; + } + + offsetA = 9001; + offsetB = 9001; // :D + gcount = 0; + + fpNShapeL = 0.0; + fpNShapeR = 0.0; +} + void ADT::run(uint32_t num_samples) { A = *params[0]; diff --git a/plugins/LV2/src/ADT/ADT.h b/plugins/LV2/src/ADT/ADT.h index fb6aab4..1b5e29e 100644 --- a/plugins/LV2/src/ADT/ADT.h +++ b/plugins/LV2/src/ADT/ADT.h @@ -8,6 +8,7 @@ class ADT : public LV2Plugin<6> { public: ADT(double rate); + void activate() override; void run(uint32_t num_samples); static constexpr const char * URI = "https://www.airwindows.com/adt"; |