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 |