From 74b313b3d08e4cf88e55d246fbea4fe39ab49709 Mon Sep 17 00:00:00 2001 From: Harald Eilertsen Date: Mon, 20 Jul 2020 23:49:56 +0200 Subject: LV2: Add plugin AQuickVoiceClip --- plugins/LV2/src/AQuickVoiceClip/AQuickVoiceClip.h | 94 +++++++++++++++++++++++ 1 file changed, 94 insertions(+) create mode 100644 plugins/LV2/src/AQuickVoiceClip/AQuickVoiceClip.h (limited to 'plugins/LV2/src/AQuickVoiceClip/AQuickVoiceClip.h') diff --git a/plugins/LV2/src/AQuickVoiceClip/AQuickVoiceClip.h b/plugins/LV2/src/AQuickVoiceClip/AQuickVoiceClip.h new file mode 100644 index 0000000..650b03f --- /dev/null +++ b/plugins/LV2/src/AQuickVoiceClip/AQuickVoiceClip.h @@ -0,0 +1,94 @@ +#ifndef __AQuickVoiceClip_H +#define __AQuickVoiceClip_H + +#include + +class AQuickVoiceClip : public LV2Plugin<1> { +public: + AQuickVoiceClip(double rate); + + void run(uint32_t num_samples); + + static constexpr const char * URI = "https://www.airwindows.com/aquickvoiceclip-vst"; + +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 LataLast6Sample; + double LataLast5Sample; + double LataLast4Sample; + double LataLast3Sample; + double LataLast2Sample; + double LataLast1Sample; + double LataHalfwaySample; + double LataHalfDrySample; + double LataHalfDiffSample; + double LataLastDiffSample; + double LataDrySample; + double LataDiffSample; + double LataPrevDiffSample; + + double RataLast6Sample; + double RataLast5Sample; + double RataLast4Sample; + double RataLast3Sample; + double RataLast2Sample; + double RataLast1Sample; + double RataHalfwaySample; + double RataHalfDrySample; + double RataHalfDiffSample; + double RataLastDiffSample; + double RataDrySample; + double RataDiffSample; + double RataPrevDiffSample; + + double ataK1; + double ataK2; + double ataK3; + double ataK4; + double ataK5; + double ataK6; + double ataK7; + double ataK8; //end antialiasing variables + + double LlastSample; + double LlastOutSample; + double LlastOut2Sample; + double LlastOut3Sample; + double LlpDepth; + double Lovershoot; + double Loverall; + double LiirSampleA; + double LiirSampleB; + double LiirSampleC; + double LiirSampleD; + + double RlastSample; + double RlastOutSample; + double RlastOut2Sample; + double RlastOut3Sample; + double RlpDepth; + double Rovershoot; + double Roverall; + double RiirSampleA; + double RiirSampleB; + double RiirSampleC; + double RiirSampleD; + bool flip; + + long double fpNShapeL; + long double fpNShapeR; + //default stuff + + float A; +}; + +#endif -- cgit v1.2.3