LMMS
Loading...
Searching...
No Matches
Ym2612_Emu.h
Go to the documentation of this file.
1// YM2612 FM sound chip emulator interface
2
3// Game_Music_Emu https://bitbucket.org/mpyne/game-music-emu/
4#ifndef YM2612_EMU_H
5#define YM2612_EMU_H
6
7struct Ym2612_Impl;
8
9class Ym2612_Emu {
11public:
12 Ym2612_Emu() { impl = 0; }
14
15 // Set output sample rate and chip clock rates, in Hz. Returns non-zero
16 // if error.
17 const char* set_rate( double sample_rate, double clock_rate );
18
19 // Reset to power-up state
20 void reset();
21
22 // Mute voice n if bit n (1 << n) of mask is set
23 enum { channel_count = 6 };
24 void mute_voices( int mask );
25
26 // Write addr to register 0 then data to register 1
27 void write0( int addr, int data );
28
29 // Write addr to register 2 then data to register 3
30 void write1( int addr, int data );
31
32 // Run and add pair_count samples into current output buffer contents
33 typedef short sample_t;
34 enum { out_chan_count = 2 }; // stereo
35 void run( int pair_count, sample_t* out );
36};
37
38#endif
const long clock_rate
Definition Gym_Emu.cpp:26
LADSPA_Data sample_t
Definition basics.h:100
static const unsigned long mask[]
Definition bitwise.c:31
@ channel_count
Definition Ym2612_Emu.h:23
void write1(int addr, int data)
Definition Ym2612_Emu.cpp:957
void write0(int addr, int data)
Definition Ym2612_Emu.cpp:952
void mute_voices(int mask)
Definition Ym2612_Emu.cpp:962
void run(int pair_count, sample_t *out)
Definition Ym2612_Emu.cpp:1319
void reset()
Definition Ym2612_Emu.cpp:883
Ym2612_Emu()
Definition Ym2612_Emu.h:12
short sample_t
Definition Ym2612_Emu.h:33
const char * set_rate(double sample_rate, double clock_rate)
Definition Ym2612_Emu.cpp:827
Ym2612_Impl * impl
Definition Ym2612_Emu.h:10
@ out_chan_count
Definition Ym2612_Emu.h:34
~Ym2612_Emu()
Definition Ym2612_Emu.cpp:843
JSAMPIMAGE data
Definition jpeglib.h:945
float out
Definition lilv_test.c:1461
Definition Ym2612_Emu.cpp:259