#ifndef NES_EFFECTS_BUFFER_H
#define NES_EFFECTS_BUFFER_H
#include "Nes_Buffer.h"
#include "Effects_Buffer.h"
class Nes_Effects_Buffer : public Effects_Buffer {
public:
Nes_Effects_Buffer();
~Nes_Effects_Buffer();
void set_apu( Nes_Apu* apu ) { nonlin.set_apu( apu ); }
void enable_nonlinearity( bool = true );
blargg_err_t set_sample_rate( long rate, int msec = blip_default_length );
void config( const config_t& );
void clear();
channel_t channel( int );
long read_samples( blip_sample_t*, long );
private:
Nes_Nonlinearizer nonlin;
friend Multi_Buffer* set_apu( Nes_Effects_Buffer*, Nes_Apu* );
};
#endif