#ifndef __SND_INTERP_H__ #define __SND_INTERP_H__ // simple interface that could easily be recycled class foo_interpolate { public: foo_interpolate() {} virtual ~foo_interpolate() {}; virtual void reset() = 0; virtual void push(int sample) = 0; virtual int pop(double rate) = 0; }; foo_interpolate * get_filter(int which); // complicated, synced interface, specific to this implementation double calc_rate(int timer); extern "C" { void interp_setup(int which); void interp_cleanup(); } void interp_switch(int which); void interp_reset(int ch); void interp_push(int ch, int sample); int interp_pop(int ch, double rate); #endif