comparison render_audio.h @ 2081:cfd53c94fffb

Initial stab at RF5C164 emulation
author Michael Pavone <pavone@retrodev.com>
date Thu, 03 Feb 2022 23:15:42 -0800
parents 4c322abd9fa5
children b3832f73444f
comparison
equal deleted inserted replaced
2080:bafb757e1cd2 2081:cfd53c94fffb
7 RENDER_AUDIO_FLOAT, 7 RENDER_AUDIO_FLOAT,
8 RENDER_AUDIO_UNKNOWN 8 RENDER_AUDIO_UNKNOWN
9 } render_audio_format; 9 } render_audio_format;
10 10
11 typedef struct { 11 typedef struct {
12 const char *name;
12 void *opaque; 13 void *opaque;
13 int16_t *front; 14 int16_t *front;
14 int16_t *back; 15 int16_t *back;
15 double dt; 16 double dt;
16 uint64_t buffer_fraction; 17 uint64_t buffer_fraction;
26 uint8_t num_channels; 27 uint8_t num_channels;
27 uint8_t front_populated; 28 uint8_t front_populated;
28 } audio_source; 29 } audio_source;
29 30
30 //public interface 31 //public interface
31 audio_source *render_audio_source(uint64_t master_clock, uint64_t sample_divider, uint8_t channels); 32 audio_source *render_audio_source(const char *name, uint64_t master_clock, uint64_t sample_divider, uint8_t channels);
32 void render_audio_source_gaindb(audio_source *src, float gain); 33 void render_audio_source_gaindb(audio_source *src, float gain);
33 void render_audio_adjust_clock(audio_source *src, uint64_t master_clock, uint64_t sample_divider); 34 void render_audio_adjust_clock(audio_source *src, uint64_t master_clock, uint64_t sample_divider);
34 void render_put_mono_sample(audio_source *src, int16_t value); 35 void render_put_mono_sample(audio_source *src, int16_t value);
35 void render_put_stereo_sample(audio_source *src, int16_t left, int16_t right); 36 void render_put_stereo_sample(audio_source *src, int16_t left, int16_t right);
36 void render_pause_source(audio_source *src); 37 void render_pause_source(audio_source *src);