#ifndef __DubCenter_H #define __DubCenter_H #include class DubCenter : public LV2Plugin<10> { public: DubCenter(double rate); void activate(); void run(uint32_t num_samples); static constexpr const char * URI = "https://www.airwindows.com/dubcenter"; 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 iirDriveSampleAL; double iirDriveSampleBL; double iirDriveSampleCL; double iirDriveSampleDL; double iirDriveSampleEL; double iirDriveSampleFL; double iirDriveSampleAR; double iirDriveSampleBR; double iirDriveSampleCR; double iirDriveSampleDR; double iirDriveSampleER; double iirDriveSampleFR; bool flip; //drive things int bflip; bool WasNegative; bool SubOctave; double iirHeadBumpA; double iirHeadBumpB; double iirHeadBumpC; double iirSubBumpA; double iirSubBumpB; double iirSubBumpC; double lastHeadBump; double lastSubBump; double iirSampleA; double iirSampleB; double iirSampleC; double iirSampleD; double iirSampleE; double iirSampleF; double iirSampleG; double iirSampleH; double iirSampleI; double iirSampleJ; double iirSampleK; double iirSampleL; double iirSampleM; double iirSampleN; double iirSampleO; double iirSampleP; double iirSampleQ; double iirSampleR; double iirSampleS; double iirSampleT; double iirSampleU; double iirSampleV; double iirSampleW; double iirSampleX; double iirSampleY; double iirSampleZ; double oscGate; long double fpNShapeL; long double fpNShapeR; //default stuff float A; float B; float C; float D; float E; float F; float G; float H; float I; float J; }; #endif