|
- #ifndef NES_AUDIO_H_
- #define NES_AUDIO_H_
-
- #include "apu.h"
-
-
- // System Glue
-
- typedef struct nes_Audio_Stream_t {
- int (*init)(struct nes_Audio_Stream_t*, int frequency);
- void (*done)(struct nes_Audio_Stream_t*);
- int (*push)(struct nes_Audio_Stream_t*, short*, int);
- void* data;
- } nes_Audio_Stream;
-
-
- static inline int nes_audio_init(nes_Audio_Stream* stream,
- int frequency) {
- return stream->init(stream, frequency);
- }
-
- static inline void nes_audio_done(nes_Audio_Stream* stream) {
- stream->done(stream);
- }
-
- static inline int nes_audio_push(nes_Audio_Stream* stream,
- short* samples, int n_samples) {
- return stream->push(stream, samples, n_samples);
- }
-
-
- // Convenience
-
- int nes_audio_fill(nes_Audio_Stream* stream, nes_apu* apu);
-
-
- #endif // NES_AUDIO_H_
|