#ifndef __BussColors4_H #define __BussColors4_H #include class BussColors4 : public LV2Plugin<4> { public: BussColors4(double rate); void activate(); void run(uint32_t num_samples); static constexpr const char * URI = "https://www.airwindows.com/busscolors4"; 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 bL[175]; //full buffer for high sample rates. Scales to 192K double bR[175]; //full buffer for high sample rates. Scales to 192K double dL[100]; //buffer for calculating sag as it relates to the dynamic impulse synthesis. To 192K. double dR[100]; //buffer for calculating sag as it relates to the dynamic impulse synthesis. To 192K. int c[35]; //just the number of taps we use, doesn't have to scale double g[9]; //console model double outg[9]; //console model double controlL; double controlR; double slowdynL; double slowdynR; int gcount; long double fpNShapeL; long double fpNShapeR; //default stuff float A; float B; float C; float D; //parameters. Always 0-1, and we scale/alter them elsewhere. }; #endif