// generated from file './/reverb.dsp' by dsp2cc: // Code generated with Faust 0.9.73 (http://faust.grame.fr) namespace reverb { class Dsp: public PluginLV2 { private: uint32_t fSamplingFreq; double fConst0; double fConst1; double fConst2; double fConst3; double fConst4; FAUSTFLOAT fslider0; FAUSTFLOAT *fslider0_; int IOTA; double fVec0[512]; double fRec8[2]; double fVec1[128]; double fRec6[2]; double fVec2[64]; double fRec4[2]; double fVec3[4096]; double fRec2[2]; double fRec3[2]; double fVec4[4096]; double fRec10[2]; double fRec11[2]; double fVec5[2048]; double fRec12[2]; double fRec13[2]; double fVec6[2048]; double fRec14[2]; double fRec15[2]; double fVec7[2]; double fConst5; double fConst6; double fConst7; double fRec1[2]; double fRec0[3]; void connect(uint32_t port,void* data); void clear_state_f(); void init(uint32_t samplingFreq); void compute(int count, FAUSTFLOAT *input0, FAUSTFLOAT *output0); static void clear_state_f_static(PluginLV2*); static void init_static(uint32_t samplingFreq, PluginLV2*); static void compute_static(int count, FAUSTFLOAT *input0, FAUSTFLOAT *output0, PluginLV2*); static void del_instance(PluginLV2 *p); static void connect_static(uint32_t port,void* data, PluginLV2 *p); public: Dsp(); ~Dsp(); }; Dsp::Dsp() : PluginLV2() { version = PLUGINLV2_VERSION; id = "reverb"; name = N_("MK2Driver"); mono_audio = compute_static; stereo_audio = 0; set_samplerate = init_static; activate_plugin = 0; connect_ports = connect_static; clear_state = clear_state_f_static; delete_instance = del_instance; } Dsp::~Dsp() { } inline void Dsp::clear_state_f() { for (int i=0; i<512; i++) fVec0[i] = 0; for (int i=0; i<2; i++) fRec8[i] = 0; for (int i=0; i<128; i++) fVec1[i] = 0; for (int i=0; i<2; i++) fRec6[i] = 0; for (int i=0; i<64; i++) fVec2[i] = 0; for (int i=0; i<2; i++) fRec4[i] = 0; for (int i=0; i<4096; i++) fVec3[i] = 0; for (int i=0; i<2; i++) fRec2[i] = 0; for (int i=0; i<2; i++) fRec3[i] = 0; for (int i=0; i<4096; i++) fVec4[i] = 0; for (int i=0; i<2; i++) fRec10[i] = 0; for (int i=0; i<2; i++) fRec11[i] = 0; for (int i=0; i<2048; i++) fVec5[i] = 0; for (int i=0; i<2; i++) fRec12[i] = 0; for (int i=0; i<2; i++) fRec13[i] = 0; for (int i=0; i<2048; i++) fVec6[i] = 0; for (int i=0; i<2; i++) fRec14[i] = 0; for (int i=0; i<2; i++) fRec15[i] = 0; for (int i=0; i<2; i++) fVec7[i] = 0; for (int i=0; i<2; i++) fRec1[i] = 0; for (int i=0; i<3; i++) fRec0[i] = 0; } void Dsp::clear_state_f_static(PluginLV2 *p) { static_cast(p)->clear_state_f(); } inline void Dsp::init(uint32_t samplingFreq) { fSamplingFreq = samplingFreq; fConst0 = tan((20461.192952830323 / double(min(192000, max(1, fSamplingFreq))))); fConst1 = (2 * (1 - (1.0 / faustpower<2>(fConst0)))); fConst2 = (1.0 / fConst0); fConst3 = (1 + ((fConst2 - 1.0000000000000004) / fConst0)); fConst4 = (1.0 / (1 + ((1.0000000000000004 + fConst2) / fConst0))); IOTA = 0; fConst5 = (1 + fConst2); fConst6 = (2.0 / fConst5); fConst7 = (0 - ((1 - fConst2) / fConst5)); clear_state_f(); } void Dsp::init_static(uint32_t samplingFreq, PluginLV2 *p) { static_cast(p)->init(samplingFreq); } void always_inline Dsp::compute(int count, FAUSTFLOAT *input0, FAUSTFLOAT *output0) { #define fslider0 (*fslider0_) double fSlow0 = (0.06 * double(fslider0)); for (int i=0; i(p)->compute(count, input0, output0); } void Dsp::connect(uint32_t port,void* data) { switch ((PortIndex)port) { case REVERBLEVEL: fslider0_ = (float*)data; // , 0.5, 0.0, 1.0, 0.01 break; default: break; } } void Dsp::connect_static(uint32_t port,void* data, PluginLV2 *p) { static_cast(p)->connect(port, data); } PluginLV2 *plugin() { return new Dsp(); } void Dsp::del_instance(PluginLV2 *p) { delete static_cast(p); } /* typedef enum { REVERBLEVEL, } PortIndex; */ } // end namespace reverb