Mercurial > repos > blastem
comparison 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 |
comparison
equal
deleted
inserted
replaced
1550:b525491b4e5b | 1551:ce1f93be0104 |
---|---|
68 | 68 |
69 #define FRAMEBUFFER_ODD 0 | 69 #define FRAMEBUFFER_ODD 0 |
70 #define FRAMEBUFFER_EVEN 1 | 70 #define FRAMEBUFFER_EVEN 1 |
71 | 71 |
72 #include "vdp.h" | 72 #include "vdp.h" |
73 #include "psg.h" | |
74 #include "ym2612.h" | |
75 | 73 |
76 typedef enum { | 74 typedef enum { |
77 VID_NTSC, | 75 VID_NTSC, |
78 VID_PAL, | 76 VID_PAL, |
79 NUM_VID_STD | 77 NUM_VID_STD |
83 #define RENDER_AXIS_BIT 0x20000000 | 81 #define RENDER_AXIS_BIT 0x20000000 |
84 #define RENDER_INVALID_NAME -1 | 82 #define RENDER_INVALID_NAME -1 |
85 #define RENDER_NOT_MAPPED -2 | 83 #define RENDER_NOT_MAPPED -2 |
86 #define RENDER_NOT_PLUGGED_IN -3 | 84 #define RENDER_NOT_PLUGGED_IN -3 |
87 | 85 |
86 typedef struct audio_source audio_source; | |
88 typedef void (*drop_handler)(const char *filename); | 87 typedef void (*drop_handler)(const char *filename); |
89 | 88 |
90 uint32_t render_map_color(uint8_t r, uint8_t g, uint8_t b); | 89 uint32_t render_map_color(uint8_t r, uint8_t g, uint8_t b); |
91 void render_save_screenshot(char *path); | 90 void render_save_screenshot(char *path); |
92 uint32_t *render_get_framebuffer(uint8_t which, int *pitch); | 91 uint32_t *render_get_framebuffer(uint8_t which, int *pitch); |
94 void render_init(int width, int height, char * title, uint8_t fullscreen); | 93 void render_init(int width, int height, char * title, uint8_t fullscreen); |
95 void render_set_video_standard(vid_std std); | 94 void render_set_video_standard(vid_std std); |
96 void render_toggle_fullscreen(); | 95 void render_toggle_fullscreen(); |
97 void render_update_caption(char *title); | 96 void render_update_caption(char *title); |
98 void render_wait_quit(vdp_context * context); | 97 void render_wait_quit(vdp_context * context); |
99 void render_wait_psg(psg_context * context); | |
100 void render_wait_ym(ym2612_context * context); | |
101 void render_disable_ym(); | |
102 void render_enable_ym(); | |
103 uint32_t render_audio_buffer(); | 98 uint32_t render_audio_buffer(); |
104 uint32_t render_sample_rate(); | 99 uint32_t render_sample_rate(); |
105 void process_events(); | 100 void process_events(); |
106 int render_width(); | 101 int render_width(); |
107 int render_height(); | 102 int render_height(); |
120 uint32_t render_overscan_top(); | 115 uint32_t render_overscan_top(); |
121 uint32_t render_overscan_left(); | 116 uint32_t render_overscan_left(); |
122 uint32_t render_elapsed_ms(void); | 117 uint32_t render_elapsed_ms(void); |
123 void render_sleep_ms(uint32_t delay); | 118 void render_sleep_ms(uint32_t delay); |
124 uint8_t render_has_gl(void); | 119 uint8_t render_has_gl(void); |
120 audio_source *render_audio_source(uint8_t channels); | |
121 int16_t *render_audio_source_buffer(audio_source *src); | |
122 int16_t *render_audio_ready(audio_source *src); | |
123 void render_reset_sources(void); | |
124 void render_pause_source(audio_source *src); | |
125 void render_resume_source(audio_source *src); | |
126 void render_free_source(audio_source *src); | |
125 | 127 |
126 #endif //RENDER_H_ | 128 #endif //RENDER_H_ |
127 | 129 |