1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
|
#ifndef FAUSTFLOAT
#define FAUSTFLOAT double
#endif
#include "controlTools.h"
//----------------------------------------------------------------------------
//FAUST generated code
//----------------------------------------------------------------------------
<<includeIntrinsic>>
<<includeclass>>
// Wrapping C++ class used with -ec option.
struct ControlDSP : public decorator_dsp {
ControlDSP(dsp* dsp):decorator_dsp(dsp)
{}
// This is mandatory
virtual ControlDSP* clone()
{
return new ControlDSP(fDSP->clone());
}
void compute(int count, FAUSTFLOAT** RESTRICT inputs, FAUSTFLOAT** RESTRICT outputs)
{
fDSP->control();
fDSP->compute(count, inputs, outputs);
}
};
int main(int argc, char* argv[])
{
int linenum = 0;
int nbsamples = 60000;
// print general informations
printHeader(new mydsp(), nbsamples);
// linenum is incremented in runDSP and runPolyDSP
runDSP(new ControlDSP(new mydsp()), argv[0], linenum, nbsamples/4);
runDSP(new ControlDSP(new mydsp()), argv[0], linenum, nbsamples/4, false, true);
runPolyDSP(new ControlDSP(new mydsp()), linenum, nbsamples/4, 4);
runPolyDSP(new ControlDSP(new mydsp()), linenum, nbsamples/4, 1);
return 0;
}
|