Mercurial > repos > simple16
view src/audio.h @ 48:9a3b9d86dabf
Implement push and pop
author | Michael Pavone <pavone@retrodev.com> |
---|---|
date | Tue, 30 Aug 2016 21:27:33 -0700 |
parents | 4c9dbfa30a66 |
children |
line wrap: on
line source
#ifndef AUDIO_H_ #define AUDIO_H_ #define NUM_CHANNELS 4 typedef struct { int16_t *writebuffer; int16_t *playbuffer; uint64_t buffer_fraction; uint64_t buffer_inc; uint32_t buffer_pos; uint32_t buffer_size; uint32_t cycles; uint32_t clock_inc; uint16_t timer_load[NUM_CHANNELS]; uint16_t timer_cur[NUM_CHANNELS]; int16_t value[NUM_CHANNELS]; uint8_t volume[NUM_CHANNELS]; int16_t buffer[]; } audio; audio *alloc_audio(uint32_t master_clock, uint32_t clock_div, int sample_rate, int buffer_size); void audio_run(audio *context, uint32_t target); void audio_write_freq(audio *context, int channel, uint16_t value); void audio_write_vol(audio *context, int pair, uint16_t value); #endif //AUDIO_H_