comparison render.h @ 1865:4c322abd9fa5

Split generic part of audio code into a separate file so it can be used in other targets besides SDL
author Michael Pavone <pavone@retrodev.com>
date Fri, 17 May 2019 08:43:30 -0700
parents 56a1171e29b9
children 55198fc9cc1f
comparison
equal deleted inserted replaced
1863:d60f2d7c02a5 1865:4c322abd9fa5
90 #define RENDER_AXIS_POS 0x10000000 90 #define RENDER_AXIS_POS 0x10000000
91 #define RENDER_INVALID_NAME -1 91 #define RENDER_INVALID_NAME -1
92 #define RENDER_NOT_MAPPED -2 92 #define RENDER_NOT_MAPPED -2
93 #define RENDER_NOT_PLUGGED_IN -3 93 #define RENDER_NOT_PLUGGED_IN -3
94 94
95 typedef struct audio_source audio_source;
96 typedef void (*drop_handler)(const char *filename); 95 typedef void (*drop_handler)(const char *filename);
97 typedef void (*window_close_handler)(uint8_t which); 96 typedef void (*window_close_handler)(uint8_t which);
98 typedef void (*ui_render_fun)(void); 97 typedef void (*ui_render_fun)(void);
99 98
100 uint32_t render_map_color(uint8_t r, uint8_t g, uint8_t b); 99 uint32_t render_map_color(uint8_t r, uint8_t g, uint8_t b);
107 uint8_t render_get_active_framebuffer(void); 106 uint8_t render_get_active_framebuffer(void);
108 void render_init(int width, int height, char * title, uint8_t fullscreen); 107 void render_init(int width, int height, char * title, uint8_t fullscreen);
109 void render_set_video_standard(vid_std std); 108 void render_set_video_standard(vid_std std);
110 void render_toggle_fullscreen(); 109 void render_toggle_fullscreen();
111 void render_update_caption(char *title); 110 void render_update_caption(char *title);
112 void render_wait_quit(vdp_context * context); 111 void render_wait_quit(void);
113 uint32_t render_audio_buffer();
114 uint32_t render_sample_rate();
115 void process_events(); 112 void process_events();
116 int render_width(); 113 int render_width();
117 int render_height(); 114 int render_height();
118 int render_fullscreen(); 115 int render_fullscreen();
119 void render_set_drag_drop_handler(drop_handler handler); 116 void render_set_drag_drop_handler(drop_handler handler);
131 uint32_t render_overscan_top(); 128 uint32_t render_overscan_top();
132 uint32_t render_overscan_left(); 129 uint32_t render_overscan_left();
133 uint32_t render_elapsed_ms(void); 130 uint32_t render_elapsed_ms(void);
134 void render_sleep_ms(uint32_t delay); 131 void render_sleep_ms(uint32_t delay);
135 uint8_t render_has_gl(void); 132 uint8_t render_has_gl(void);
136 audio_source *render_audio_source(uint64_t master_clock, uint64_t sample_divider, uint8_t channels);
137 void render_audio_source_gaindb(audio_source *src, float gain);
138 void render_audio_adjust_clock(audio_source *src, uint64_t master_clock, uint64_t sample_divider);
139 void render_put_mono_sample(audio_source *src, int16_t value);
140 void render_put_stereo_sample(audio_source *src, int16_t left, int16_t right);
141 void render_pause_source(audio_source *src);
142 void render_resume_source(audio_source *src);
143 void render_free_source(audio_source *src);
144 void render_config_updated(void); 133 void render_config_updated(void);
145 void render_set_gl_context_handlers(ui_render_fun destroy, ui_render_fun create); 134 void render_set_gl_context_handlers(ui_render_fun destroy, ui_render_fun create);
146 void render_set_ui_render_fun(ui_render_fun); 135 void render_set_ui_render_fun(ui_render_fun);
147 void render_set_ui_fb_resize_handler(ui_render_fun resize); 136 void render_set_ui_fb_resize_handler(ui_render_fun resize);
148 137