#ifndef __Capacitor_H #define __Capacitor_H #include class Capacitor : public LV2Plugin<3> { public: Capacitor(double rate); void activate(); void run(uint32_t num_samples); static constexpr const char * URI = "https://www.airwindows.com/capacitor"; 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 iirHighpassAL; double iirHighpassBL; double iirHighpassCL; double iirHighpassDL; double iirHighpassEL; double iirHighpassFL; double iirLowpassAL; double iirLowpassBL; double iirLowpassCL; double iirLowpassDL; double iirLowpassEL; double iirLowpassFL; double iirHighpassAR; double iirHighpassBR; double iirHighpassCR; double iirHighpassDR; double iirHighpassER; double iirHighpassFR; double iirLowpassAR; double iirLowpassBR; double iirLowpassCR; double iirLowpassDR; double iirLowpassER; double iirLowpassFR; int count; double lowpassChase; double highpassChase; double wetChase; double lowpassAmount; double highpassAmount; double wet; double lastLowpass; double lastHighpass; double lastWet; long double fpNShapeL; long double fpNShapeR; //default stuff float A; float B; float C; }; #endif