diff options
Diffstat (limited to 'plugins/LV2/src/Monitoring/Monitoring.h')
-rw-r--r-- | plugins/LV2/src/Monitoring/Monitoring.h | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/plugins/LV2/src/Monitoring/Monitoring.h b/plugins/LV2/src/Monitoring/Monitoring.h new file mode 100644 index 0000000..4b13576 --- /dev/null +++ b/plugins/LV2/src/Monitoring/Monitoring.h @@ -0,0 +1,58 @@ +#ifndef __Monitoring_H +#define __Monitoring_H + +#include <lv2plugin.h> + +class Monitoring : public LV2Plugin<1> { +public: + Monitoring(double rate); + + void activate(); + void run(uint32_t num_samples); + + static constexpr const char * URI = "https://www.airwindows.com/monitoring"; + +private: + /* + * These are the original DSP functions from the VST plugin. + * They need to be called from the LV2 plugins `run` function. + */ + void processReplacing(float **in, float **out, VstInt32 samples); + void processDoubleReplacing(double **in, double **out, VstInt32 samples); + + /* + * Members needed by the processing functions. + */ + + long double bynL[13], bynR[13]; + long double noiseShapingL, noiseShapingR; + //NJAD + double aL[1503], bL[1503], cL[1503], dL[1503]; + double aR[1503], bR[1503], cR[1503], dR[1503]; + int ax, bx, cx, dx; + //PeaksOnly + double lastSampleL, lastSampleR; + //SlewOnly + double iirSampleAL, iirSampleBL, iirSampleCL, iirSampleDL, iirSampleEL, iirSampleFL, iirSampleGL; + double iirSampleHL, iirSampleIL, iirSampleJL, iirSampleKL, iirSampleLL, iirSampleML, iirSampleNL, iirSampleOL, iirSamplePL; + double iirSampleQL, iirSampleRL, iirSampleSL; + double iirSampleTL, iirSampleUL, iirSampleVL; + double iirSampleWL, iirSampleXL, iirSampleYL, iirSampleZL; + + double iirSampleAR, iirSampleBR, iirSampleCR, iirSampleDR, iirSampleER, iirSampleFR, iirSampleGR; + double iirSampleHR, iirSampleIR, iirSampleJR, iirSampleKR, iirSampleLR, iirSampleMR, iirSampleNR, iirSampleOR, iirSamplePR; + double iirSampleQR, iirSampleRR, iirSampleSR; + double iirSampleTR, iirSampleUR, iirSampleVR; + double iirSampleWR, iirSampleXR, iirSampleYR, iirSampleZR; // o/` + //SubsOnly + long double biquadL[11]; + long double biquadR[11]; + //Bandpasses + + uint32_t fpd; + //default stuff + + float A; +}; + +#endif |