#ifndef __FathomFive_H #define __FathomFive_H #include class FathomFive : public LV2Plugin<4> { public: FathomFive(double rate); void activate(); void run(uint32_t num_samples); static constexpr const char * URI = "https://www.airwindows.com/fathomfive"; 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. */ bool WasNegativeL; bool SubOctaveL; double iirSampleLA; double iirSampleLB; double iirSampleLC; double iirSampleLD; bool WasNegativeR; bool SubOctaveR; double iirSampleRA; double iirSampleRB; double iirSampleRC; double iirSampleRD; float A; //Root Note float B; //SubOctave float C; //Frequency float D; //Dry/Wet //parameters. Always 0-1, and we scale/alter them elsewhere. }; #endif