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/AtmosphereBuss/AtmosphereBuss.cpp | |
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/AtmosphereBuss/AtmosphereBuss.cpp')
-rw-r--r-- | plugins/LV2/src/AtmosphereBuss/AtmosphereBuss.cpp | 67 |
1 files changed, 51 insertions, 16 deletions
diff --git a/plugins/LV2/src/AtmosphereBuss/AtmosphereBuss.cpp b/plugins/LV2/src/AtmosphereBuss/AtmosphereBuss.cpp index c6465fe..c5a15cf 100644 --- a/plugins/LV2/src/AtmosphereBuss/AtmosphereBuss.cpp +++ b/plugins/LV2/src/AtmosphereBuss/AtmosphereBuss.cpp @@ -4,25 +4,60 @@ AtmosphereBuss::AtmosphereBuss(double rate) : LV2Plugin(rate) - , gainchase(-90.0) - , settingchase(-90.0) - , chasespeed(350.0) - , thresholdA(0.618033988749894) - , thresholdB(0.679837387624884) - , thresholdC(0.747821126387373) - , thresholdD(0.82260323902611) - , thresholdE(0.904863562928721) - , thresholdF(0.995349919221593) - , thresholdG(1.094884911143752) - , thresholdH(1.204373402258128) - , thresholdI(1.32481074248394) - , thresholdJ(1.457291816732335) - , thresholdK(1.603020998405568) - , thresholdL(1.763323098246125) - , thresholdM(1.939655408070737) { } +void AtmosphereBuss::activate() +{ + gainchase = -90.0; + settingchase = -90.0; + chasespeed = 350.0; + + fpNShapeL = 0.0; + lastSampleAL = 0.0; + lastSampleBL = 0.0; + lastSampleCL = 0.0; + lastSampleDL = 0.0; + lastSampleEL = 0.0; + lastSampleFL = 0.0; + lastSampleGL = 0.0; + lastSampleHL = 0.0; + lastSampleIL = 0.0; + lastSampleJL = 0.0; + lastSampleKL = 0.0; + lastSampleLL = 0.0; + lastSampleML = 0.0; + + fpNShapeR = 0.0; + lastSampleAR = 0.0; + lastSampleBR = 0.0; + lastSampleCR = 0.0; + lastSampleDR = 0.0; + lastSampleER = 0.0; + lastSampleFR = 0.0; + lastSampleGR = 0.0; + lastSampleHR = 0.0; + lastSampleIR = 0.0; + lastSampleJR = 0.0; + lastSampleKR = 0.0; + lastSampleLR = 0.0; + lastSampleMR = 0.0; + + thresholdA = 0.618033988749894; + thresholdB = 0.679837387624884; + thresholdC = 0.747821126387373; + thresholdD = 0.82260323902611; + thresholdE = 0.904863562928721; + thresholdF = 0.995349919221593; + thresholdG = 1.094884911143752; + thresholdH = 1.204373402258128; + thresholdI = 1.32481074248394; + thresholdJ = 1.457291816732335; + thresholdK = 1.603020998405568; + thresholdL = 1.763323098246125; + thresholdM = 1.939655408070737; +} + void AtmosphereBuss::run(uint32_t num_samples) { A = *params[0]; |