Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
alexbevi
GitHub Repository: alexbevi/BizHawk
Path: blob/master/quicknes/nes_emu/Nes_Effects_Buffer.h
2 views
1
2
// Effects_Buffer with non-linear sound
3
4
// Nes_Emu 0.7.0
5
6
#ifndef NES_EFFECTS_BUFFER_H
7
#define NES_EFFECTS_BUFFER_H
8
9
#include "Nes_Buffer.h"
10
#include "Effects_Buffer.h"
11
12
// Effects_Buffer uses several buffers and outputs stereo sample pairs.
13
class Nes_Effects_Buffer : public Effects_Buffer {
14
public:
15
Nes_Effects_Buffer();
16
~Nes_Effects_Buffer();
17
18
// Setup APU for use with buffer, including setting its output to this buffer.
19
// If you're using Nes_Emu, this is automatically called for you.
20
void set_apu( Nes_Apu* apu ) { nonlin.set_apu( apu ); }
21
22
// Enable/disable non-linear output
23
void enable_nonlinearity( bool = true );
24
25
// See Effects_Buffer.h for reference
26
blargg_err_t set_sample_rate( long rate, int msec = blip_default_length );
27
void config( const config_t& );
28
void clear();
29
channel_t channel( int );
30
long read_samples( blip_sample_t*, long );
31
32
private:
33
Nes_Nonlinearizer nonlin;
34
friend Multi_Buffer* set_apu( Nes_Effects_Buffer*, Nes_Apu* );
35
};
36
37
#endif
38
39
40