visualboyadvance-m/snd_interp.h

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