1 #include "driver.h" 2 #include "minimal.h" 3 #include "libretro.h" 4 5 int samples_per_frame = 0; 6 short *samples_buffer; 7 short *conversion_buffer; 8 int usestereo = 1; 9 10 void hook_audio_done(void); 11 osd_start_audio_stream(int stereo)12int osd_start_audio_stream(int stereo) 13 { 14 usestereo = stereo ? 1 : 0; 15 16 /* determine the number of samples per frame */ 17 samples_per_frame = Machine->sample_rate / Machine->drv->frames_per_second; 18 19 if (Machine->sample_rate == 0) return 0; 20 21 samples_buffer = (short *) calloc(samples_per_frame, 2 + usestereo * 2); 22 if (!usestereo) conversion_buffer = (short *) calloc(samples_per_frame, 4); 23 24 return samples_per_frame; 25 } 26 osd_stop_audio_stream(void)27void osd_stop_audio_stream(void) 28 { 29 samples_per_frame = 0; 30 } 31 osd_update_audio_stream(INT16 * buffer)32int osd_update_audio_stream(INT16 *buffer) 33 { 34 memcpy(samples_buffer, buffer, samples_per_frame * (usestereo ? 4 : 2)); 35 hook_audio_done(); 36 37 return samples_per_frame; 38 } 39 40 /* attenuation in dB */ osd_set_mastervolume(int _attenuation)41void osd_set_mastervolume(int _attenuation) 42 { 43 (void)_attenuation; 44 } 45 osd_get_mastervolume(void)46int osd_get_mastervolume(void) 47 { 48 return 100; 49 } 50 osd_sound_enable(int enable_it)51void osd_sound_enable(int enable_it) 52 { 53 (void)enable_it; 54 } 55 osd_opl_control(int chip,int reg)56void osd_opl_control(int chip,int reg) 57 { 58 (void)chip; 59 (void)reg; 60 } 61 osd_opl_write(int chip,int data)62void osd_opl_write(int chip,int data) 63 { 64 (void)chip; 65 (void)data; 66 } 67