diff render.h @ 1551:ce1f93be0104

Small cleanup to audio interface between emulation code and renderer backend
author Michael Pavone <pavone@retrodev.com>
date Wed, 28 Mar 2018 23:36:08 -0700
parents 577253765192
children 6ce36c3f250b
line wrap: on
line diff
--- a/render.h	Mon Mar 26 23:36:39 2018 -0700
+++ b/render.h	Wed Mar 28 23:36:08 2018 -0700
@@ -70,8 +70,6 @@
 #define FRAMEBUFFER_EVEN 1
 
 #include "vdp.h"
-#include "psg.h"
-#include "ym2612.h"
 
 typedef enum {
 	VID_NTSC,
@@ -85,6 +83,7 @@
 #define RENDER_NOT_MAPPED -2
 #define RENDER_NOT_PLUGGED_IN -3
 
+typedef struct audio_source audio_source;
 typedef void (*drop_handler)(const char *filename);
 
 uint32_t render_map_color(uint8_t r, uint8_t g, uint8_t b);
@@ -96,10 +95,6 @@
 void render_toggle_fullscreen();
 void render_update_caption(char *title);
 void render_wait_quit(vdp_context * context);
-void render_wait_psg(psg_context * context);
-void render_wait_ym(ym2612_context * context);
-void render_disable_ym();
-void render_enable_ym();
 uint32_t render_audio_buffer();
 uint32_t render_sample_rate();
 void process_events();
@@ -122,6 +117,13 @@
 uint32_t render_elapsed_ms(void);
 void render_sleep_ms(uint32_t delay);
 uint8_t render_has_gl(void);
+audio_source *render_audio_source(uint8_t channels);
+int16_t *render_audio_source_buffer(audio_source *src);
+int16_t *render_audio_ready(audio_source *src);
+void render_reset_sources(void);
+void render_pause_source(audio_source *src);
+void render_resume_source(audio_source *src);
+void render_free_source(audio_source *src);
 
 #endif //RENDER_H_