aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/LV2/src/AtmosphereBuss/AtmosphereBuss.cpp
diff options
context:
space:
mode:
authorHarald Eilertsen <haraldei@anduin.net>2020-09-02 21:35:47 +0200
committerHarald Eilertsen <haraldei@anduin.net>2020-09-02 21:42:47 +0200
commitcccd83938fd33631c36dd5e22ea2364a12fe5305 (patch)
treeeac0433654c31ea6b31c295c74088b60dc7bf607 /plugins/LV2/src/AtmosphereBuss/AtmosphereBuss.cpp
parent529eff1742ef8e62bc8ccb402fcaa21eba7e2ff7 (diff)
downloadairwindows-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.cpp67
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];