#ifndef __Monitoring_H #define __Monitoring_H #include 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