ref: 5cf2a66d5a71fad0128b2f9d0b088cea743c0d60
dir: /dsp/arch.c/
/* mydsp Plan 9 C architecture for Faust. */ #include <u.h> #include <libc.h> #include "uiglue.h" #define max(x,y) (((x) > (y)) ? (x) : (y)) #define min(x,y) (((x) < (y)) ? (x) : (y)) <<includeIntrinsic>> <<includeclass>> static mydsp *clonemydsp(mydsp *dsp) { return memmove(newmydsp(), dsp, sizeof(*dsp)); } #define DSP mydsp #include "dspf.h" static DSPf dspf = { .new = newmydsp, .clone = clonemydsp, .init = instanceInitmydsp, .delete = deletemydsp, .metadata = metadatamydsp, .num_in = getNumInputsmydsp, .num_out = getNumOutputsmydsp, .clear = instanceClearmydsp, .reset_ui = instanceResetUserInterfacemydsp, .build_ui = buildUserInterfacemydsp, .compute = computemydsp, }; void * class_init(int rate) { classInitmydsp(rate); return &dspf; }