/* ------------------------------------------------------------ author: "Grame" copyright: "(c)GRAME 2009" license: "BSD" name: "Noise" version: "1.1" Code generated with Faust 2.38.16 (https://faust.grame.fr) Compilation options: -lang cpp -es 1 -mcd 16 -single -ftz 0 ------------------------------------------------------------ */ #ifndef __mydsp_H__ #define __mydsp_H__ #ifndef FAUSTFLOAT #define FAUSTFLOAT float #endif #include #include #include #include "AudioTools/AudioLibs/AudioFaustDSP.h" // used to define dsp class #ifndef FAUSTCLASS #define FAUSTCLASS mydsp #endif #ifdef __APPLE__ #define exp10f __exp10f #define exp10 __exp10 #endif #if defined(_WIN32) #define RESTRICT __restrict #else #define RESTRICT __restrict__ #endif class mydsp : public dsp { private: FAUSTFLOAT fVslider0; int iRec0[2]; int fSampleRate; public: void metadata(Meta* m) { m->declare("author", "Grame"); m->declare("compilation_options", "-single -scal -I /Users/pschatzmann/.FaustLive-CurrentSession-2.2/Libs -I /Users/pschatzmann/.FaustLive-CurrentSession-2.2/Examples"); m->declare("compile_options", "-lang cpp -es 1 -mcd 16 -single -ftz 0 "); m->declare("copyright", "(c)GRAME 2009"); m->declare("filename", "Noise.dsp"); m->declare("license", "BSD"); m->declare("name", "Noise"); m->declare("version", "1.1"); } virtual int getNumInputs() { return 0; } virtual int getNumOutputs() { return 1; } static void classInit(int sample_rate) { } virtual void instanceConstants(int sample_rate) { fSampleRate = sample_rate; } virtual void instanceResetUserInterface() { fVslider0 = FAUSTFLOAT(0.5f); } virtual void instanceClear() { for (int l0 = 0; (l0 < 2); l0 = (l0 + 1)) { iRec0[l0] = 0; } } virtual void init(int sample_rate) { classInit(sample_rate); instanceInit(sample_rate); } virtual void instanceInit(int sample_rate) { instanceConstants(sample_rate); instanceResetUserInterface(); instanceClear(); } virtual mydsp* clone() { return new mydsp(); } virtual int getSampleRate() { return fSampleRate; } virtual void buildUserInterface(UI* ui_interface) { ui_interface->openVerticalBox("Noise"); ui_interface->declare(&fVslider0, "acc", "0 0 -10 0 10"); ui_interface->declare(&fVslider0, "style", "knob"); ui_interface->addVerticalSlider("Volume", &fVslider0, FAUSTFLOAT(0.5f), FAUSTFLOAT(0.0f), FAUSTFLOAT(1.0f), FAUSTFLOAT(0.100000001f)); ui_interface->closeBox(); } virtual void compute(int count, FAUSTFLOAT** RESTRICT inputs, FAUSTFLOAT** RESTRICT outputs) { FAUSTFLOAT* output0 = outputs[0]; float fSlow0 = (4.65661287e-10f * float(fVslider0)); for (int i0 = 0; (i0 < count); i0 = (i0 + 1)) { iRec0[0] = ((1103515245 * iRec0[1]) + 12345); output0[i0] = FAUSTFLOAT((fSlow0 * float(iRec0[0]))); iRec0[1] = iRec0[0]; } } }; #endif