diff options
Diffstat (limited to 'plugins/LV2/src/Logical4/Logical4.h')
-rw-r--r-- | plugins/LV2/src/Logical4/Logical4.h | 126 |
1 files changed, 126 insertions, 0 deletions
diff --git a/plugins/LV2/src/Logical4/Logical4.h b/plugins/LV2/src/Logical4/Logical4.h new file mode 100644 index 0000000..75ec58d --- /dev/null +++ b/plugins/LV2/src/Logical4/Logical4.h @@ -0,0 +1,126 @@ +#ifndef __Logical4_H +#define __Logical4_H + +#include <lv2plugin.h> + +class Logical4 : public LV2Plugin<5> { +public: + Logical4(double rate); + + void activate(); + void run(uint32_t num_samples); + + static constexpr const char * URI = "https://www.airwindows.com/logical4"; + +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. + */ + + //begin ButterComp + double controlAposL; + double controlAnegL; + double controlBposL; + double controlBnegL; + double targetposL; + double targetnegL; + double controlAposBL; + double controlAnegBL; + double controlBposBL; + double controlBnegBL; + double targetposBL; + double targetnegBL; + double controlAposCL; + double controlAnegCL; + double controlBposCL; + double controlBnegCL; + double targetposCL; + double targetnegCL; + double avgAL; + double avgBL; + double avgCL; + double avgDL; + double avgEL; + double avgFL; + double nvgAL; + double nvgBL; + double nvgCL; + double nvgDL; + double nvgEL; + double nvgFL; + //end ButterComp + + //begin Power Sag + double dL[1000]; + double controlL; + double bL[1000]; + double controlBL; + double cL[1000]; + double controlCL; + //end Power Sag + + //begin ButterComp + double controlAposR; + double controlAnegR; + double controlBposR; + double controlBnegR; + double targetposR; + double targetnegR; + double controlAposBR; + double controlAnegBR; + double controlBposBR; + double controlBnegBR; + double targetposBR; + double targetnegBR; + double controlAposCR; + double controlAnegCR; + double controlBposCR; + double controlBnegCR; + double targetposCR; + double targetnegCR; + double avgAR; + double avgBR; + double avgCR; + double avgDR; + double avgER; + double avgFR; + double nvgAR; + double nvgBR; + double nvgCR; + double nvgDR; + double nvgER; + double nvgFR; + //end ButterComp + + //begin Power Sag + double dR[1000]; + double controlR; + double bR[1000]; + double controlBR; + double cR[1000]; + double controlCR; + //end Power Sag + + int gcount; + + + double fpNShapeL; + double fpNShapeR; + bool fpFlip; + //default stuff + + float A; + float B; + float C; + float D; + float E; +}; + +#endif |