diff options
Diffstat (limited to 'plugins/LV2/src/Biquad2/Biquad2.cpp')
-rw-r--r-- | plugins/LV2/src/Biquad2/Biquad2.cpp | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/plugins/LV2/src/Biquad2/Biquad2.cpp b/plugins/LV2/src/Biquad2/Biquad2.cpp new file mode 100644 index 0000000..0b1d731 --- /dev/null +++ b/plugins/LV2/src/Biquad2/Biquad2.cpp @@ -0,0 +1,53 @@ +#include "Biquad2.h" +#include <iostream> +#include <lv2wrapper.h> + +Biquad2::Biquad2(double rate) + : LV2Plugin(rate) +{ +} + +void Biquad2::activate() +{ + for (int x = 0; x < 15; x++) {biquad[x] = 0.0;} + for (int x = 0; x < 11; x++) {bL[x] = 0.0; bR[x] = 0.0; f[x] = 0.0;} + frequencychase = 0.0015; + resonancechase = 0.001; + outputchase = 1.0; + wetchase = 1.0; + + frequencysetting = -1.0; + resonancesetting = -1.0; + outputsetting = -1.0; + wetsetting = -2.0; //-1.0 is a possible setting here and this forces an update on chasespeed + + chasespeed = 500.0; + A = 1.0; + B = 0.5; + C = 0.5; + D = 1.0; + E = 1.0; + fpd = 17; + //this is reset: values being initialized only once. Startup values, whatever they are. + +} + +void Biquad2::run(uint32_t num_samples) +{ + A = *params[0]; + B = *params[1]; + C = *params[2]; + D = *params[3]; + E = *params[4]; + + processReplacing(const_cast<float **>(in), out, num_samples); +} + +// +// Include the processing code from the VST version. +// +#include <cmath> +#include "../../../LinuxVST/src/Biquad2/Biquad2Proc.cpp" + +// Create the LV2Wrapper and register the plugin +LV2Wrapper<Biquad2> plugin; |