#ifndef __Noise_H #define __Noise_H #include class Noise : public LV2Plugin<6> { public: Noise(double rate); void activate(); void run(uint32_t num_samples); static constexpr const char * URI = "https://www.airwindows.com/noise"; 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. */ double noiseAL; double noiseBL; double noiseCL; double rumbleAL; double rumbleBL; double surgeL; double noiseAR; double noiseBR; double noiseCR; double rumbleAR; double rumbleBR; double surgeR; int position; int quadratic; bool flipL; bool flipR; bool filterflip; double bL[11]; double bR[11]; double f[11]; long double fpNShapeL; long double fpNShapeR; //default stuff float A; float B; float C; float D; float E; float F; //parameters. Always 0-1, and we scale/alter them elsewhere. }; #endif