From 5d98905408fa7ca143acecaa47d2d7df160ce4e7 Mon Sep 17 00:00:00 2001 From: Harald Eilertsen Date: Sat, 31 Jul 2021 21:43:40 +0200 Subject: LV2: Port rest of plugins, Swell - Wider Again, not tested. Report problems or missing control info to the mailing list. --- plugins/LV2/src/ToVinyl4/ToVinyl4.h | 124 ++++++++++++++++++++++++++++++++++++ 1 file changed, 124 insertions(+) create mode 100644 plugins/LV2/src/ToVinyl4/ToVinyl4.h (limited to 'plugins/LV2/src/ToVinyl4/ToVinyl4.h') diff --git a/plugins/LV2/src/ToVinyl4/ToVinyl4.h b/plugins/LV2/src/ToVinyl4/ToVinyl4.h new file mode 100644 index 0000000..e2fca15 --- /dev/null +++ b/plugins/LV2/src/ToVinyl4/ToVinyl4.h @@ -0,0 +1,124 @@ +#ifndef __ToVinyl4_H +#define __ToVinyl4_H + +#include + +class ToVinyl4 : public LV2Plugin<4> { +public: + ToVinyl4(double rate); + + void activate(); + void run(uint32_t num_samples); + + static constexpr const char * URI = "https://www.airwindows.com/tovinyl4"; + +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 ataLastOutL; + double ataLastOutR; + + double s1L; + double s2L; + double s3L; + double o1L; + double o2L; + double o3L; + double m1L; + double m2L; + double s1R; + double s2R; + double s3R; + double o1R; + double o2R; + double o3R; + double m1R; + double m2R; + double desL; + double desR; + + double midSampleA; + double midSampleB; + double midSampleC; + double midSampleD; + double midSampleE; + double midSampleF; + double midSampleG; + double midSampleH; + double midSampleI; + double midSampleJ; + double midSampleK; + double midSampleL; + double midSampleM; + double midSampleN; + double midSampleO; + double midSampleP; + double midSampleQ; + double midSampleR; + double midSampleS; + double midSampleT; + double midSampleU; + double midSampleV; + double midSampleW; + double midSampleX; + double midSampleY; + double midSampleZ; + + double sideSampleA; + double sideSampleB; + double sideSampleC; + double sideSampleD; + double sideSampleE; + double sideSampleF; + double sideSampleG; + double sideSampleH; + double sideSampleI; + double sideSampleJ; + double sideSampleK; + double sideSampleL; + double sideSampleM; + double sideSampleN; + double sideSampleO; + double sideSampleP; + double sideSampleQ; + double sideSampleR; + double sideSampleS; + double sideSampleT; + double sideSampleU; + double sideSampleV; + double sideSampleW; + double sideSampleX; + double sideSampleY; + double sideSampleZ; + + double aMid[11]; + double bMid[11]; + double fMid[11]; + double aSide[11]; + double bSide[11]; + double fSide[11]; + double aMidPrev; + double aSidePrev; + double bMidPrev; + double bSidePrev; + + long double fpNShapeL; + long double fpNShapeR; + //default stuff + + float A; + float B; + float C; + float D; +}; + +#endif -- cgit v1.2.3