30 lines
631 B
C
30 lines
631 B
C
|
#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( double rate, 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);
|
||
|
|
||
|
void interp_switch(int which);
|
||
|
void interp_reset(int ch);
|
||
|
void interp_push(int ch, double rate, int sample);
|
||
|
int interp_pop(int ch, double rate);
|
||
|
|
||
|
#endif
|