1 /* FluidSynth - A Software Synthesizer 2 * 3 * Copyright (C) 2003 Peter Hanappe and others. 4 * 5 * This library is free software; you can redistribute it and/or 6 * modify it under the terms of the GNU Lesser General Public License 7 * as published by the Free Software Foundation; either version 2.1 of 8 * the License, or (at your option) any later version. 9 * 10 * This library is distributed in the hope that it will be useful, but 11 * WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 * Lesser General Public License for more details. 14 * 15 * You should have received a copy of the GNU Lesser General Public 16 * License along with this library; if not, write to the Free 17 * Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 18 * 02110-1301, USA 19 */ 20 21 #ifndef _FLUID_AUDRIVER_H 22 #define _FLUID_AUDRIVER_H 23 24 #include "fluidsynth_priv.h" 25 26 /* 27 * fluid_audio_driver_t 28 */ 29 30 typedef struct _fluid_audriver_definition_t fluid_audriver_definition_t; 31 32 struct _fluid_audio_driver_t 33 { 34 const fluid_audriver_definition_t *define; 35 }; 36 37 void fluid_audio_driver_settings(fluid_settings_t *settings); 38 39 /* Defined in fluid_filerenderer.c */ 40 void fluid_file_renderer_settings(fluid_settings_t *settings); 41 42 #if PULSE_SUPPORT 43 fluid_audio_driver_t *new_fluid_pulse_audio_driver(fluid_settings_t *settings, 44 fluid_synth_t *synth); 45 fluid_audio_driver_t *new_fluid_pulse_audio_driver2(fluid_settings_t *settings, 46 fluid_audio_func_t func, void *data); 47 void delete_fluid_pulse_audio_driver(fluid_audio_driver_t *p); 48 void fluid_pulse_audio_driver_settings(fluid_settings_t *settings); 49 #endif 50 51 #if ALSA_SUPPORT 52 fluid_audio_driver_t *new_fluid_alsa_audio_driver(fluid_settings_t *settings, 53 fluid_synth_t *synth); 54 fluid_audio_driver_t *new_fluid_alsa_audio_driver2(fluid_settings_t *settings, 55 fluid_audio_func_t func, void *data); 56 void delete_fluid_alsa_audio_driver(fluid_audio_driver_t *p); 57 void fluid_alsa_audio_driver_settings(fluid_settings_t *settings); 58 #endif 59 60 #if OSS_SUPPORT 61 fluid_audio_driver_t *new_fluid_oss_audio_driver(fluid_settings_t *settings, 62 fluid_synth_t *synth); 63 fluid_audio_driver_t *new_fluid_oss_audio_driver2(fluid_settings_t *settings, 64 fluid_audio_func_t func, void *data); 65 void delete_fluid_oss_audio_driver(fluid_audio_driver_t *p); 66 void fluid_oss_audio_driver_settings(fluid_settings_t *settings); 67 #endif 68 69 #if OPENSLES_SUPPORT 70 fluid_audio_driver_t* 71 new_fluid_opensles_audio_driver(fluid_settings_t* settings, 72 fluid_synth_t* synth); 73 void delete_fluid_opensles_audio_driver(fluid_audio_driver_t* p); 74 void fluid_opensles_audio_driver_settings(fluid_settings_t* settings); 75 #endif 76 77 #if OBOE_SUPPORT 78 fluid_audio_driver_t* 79 new_fluid_oboe_audio_driver(fluid_settings_t* settings, 80 fluid_synth_t* synth); 81 void delete_fluid_oboe_audio_driver(fluid_audio_driver_t* p); 82 void fluid_oboe_audio_driver_settings(fluid_settings_t* settings); 83 #endif 84 85 #if COREAUDIO_SUPPORT 86 fluid_audio_driver_t *new_fluid_core_audio_driver(fluid_settings_t *settings, 87 fluid_synth_t *synth); 88 fluid_audio_driver_t *new_fluid_core_audio_driver2(fluid_settings_t *settings, 89 fluid_audio_func_t func, 90 void *data); 91 void delete_fluid_core_audio_driver(fluid_audio_driver_t *p); 92 void fluid_core_audio_driver_settings(fluid_settings_t *settings); 93 #endif 94 95 #if DSOUND_SUPPORT 96 fluid_audio_driver_t *new_fluid_dsound_audio_driver(fluid_settings_t *settings, 97 fluid_synth_t *synth); 98 fluid_audio_driver_t *new_fluid_dsound_audio_driver2(fluid_settings_t *settings, 99 fluid_audio_func_t func, 100 void *data); 101 void delete_fluid_dsound_audio_driver(fluid_audio_driver_t *p); 102 void fluid_dsound_audio_driver_settings(fluid_settings_t *settings); 103 #endif 104 105 #if WASAPI_SUPPORT 106 fluid_audio_driver_t *new_fluid_wasapi_audio_driver(fluid_settings_t *settings, 107 fluid_synth_t *synth); 108 fluid_audio_driver_t *new_fluid_wasapi_audio_driver2(fluid_settings_t *settings, 109 fluid_audio_func_t func, 110 void *data); 111 void delete_fluid_wasapi_audio_driver(fluid_audio_driver_t *p); 112 void fluid_wasapi_audio_driver_settings(fluid_settings_t *settings); 113 #endif 114 115 #if WAVEOUT_SUPPORT 116 fluid_audio_driver_t *new_fluid_waveout_audio_driver(fluid_settings_t *settings, 117 fluid_synth_t *synth); 118 fluid_audio_driver_t *new_fluid_waveout_audio_driver2(fluid_settings_t *settings, 119 fluid_audio_func_t func, 120 void *data); 121 void delete_fluid_waveout_audio_driver(fluid_audio_driver_t *p); 122 void fluid_waveout_audio_driver_settings(fluid_settings_t *settings); 123 #endif 124 125 #if PORTAUDIO_SUPPORT 126 void fluid_portaudio_driver_settings(fluid_settings_t *settings); 127 fluid_audio_driver_t *new_fluid_portaudio_driver(fluid_settings_t *settings, 128 fluid_synth_t *synth); 129 void delete_fluid_portaudio_driver(fluid_audio_driver_t *p); 130 #endif 131 132 #if SNDIO_SUPPORT 133 fluid_audio_driver_t *new_fluid_sndio_audio_driver(fluid_settings_t *settings, fluid_synth_t *synth); 134 fluid_audio_driver_t *new_fluid_sndio_audio_driver2(fluid_settings_t *settings, 135 fluid_audio_func_t func, void *data); 136 void delete_fluid_sndio_audio_driver(fluid_audio_driver_t *p); 137 void fluid_sndio_audio_driver_settings(fluid_settings_t *settings); 138 #endif 139 140 #if JACK_SUPPORT 141 fluid_audio_driver_t *new_fluid_jack_audio_driver(fluid_settings_t *settings, fluid_synth_t *synth); 142 fluid_audio_driver_t *new_fluid_jack_audio_driver2(fluid_settings_t *settings, 143 fluid_audio_func_t func, void *data); 144 void delete_fluid_jack_audio_driver(fluid_audio_driver_t *p); 145 void fluid_jack_audio_driver_settings(fluid_settings_t *settings); 146 int fluid_jack_obtain_synth(fluid_settings_t *settings, fluid_synth_t **synth); 147 #endif 148 149 #if SNDMAN_SUPPORT 150 fluid_audio_driver_t *new_fluid_sndmgr_audio_driver(fluid_settings_t *settings, 151 fluid_synth_t *synth); 152 fluid_audio_driver_t *new_fluid_sndmgr_audio_driver2(fluid_settings_t *settings, 153 fluid_audio_func_t func, 154 void *data); 155 void delete_fluid_sndmgr_audio_driver(fluid_audio_driver_t *p); 156 #endif 157 158 #if DART_SUPPORT 159 fluid_audio_driver_t *new_fluid_dart_audio_driver(fluid_settings_t *settings, 160 fluid_synth_t *synth); 161 void delete_fluid_dart_audio_driver(fluid_audio_driver_t *p); 162 void fluid_dart_audio_driver_settings(fluid_settings_t *settings); 163 #endif 164 165 #if SDL2_SUPPORT 166 fluid_audio_driver_t *new_fluid_sdl2_audio_driver(fluid_settings_t *settings, 167 fluid_synth_t *synth); 168 void delete_fluid_sdl2_audio_driver(fluid_audio_driver_t *p); 169 void fluid_sdl2_audio_driver_settings(fluid_settings_t *settings); 170 #endif 171 172 #if AUFILE_SUPPORT 173 fluid_audio_driver_t *new_fluid_file_audio_driver(fluid_settings_t *settings, 174 fluid_synth_t *synth); 175 void delete_fluid_file_audio_driver(fluid_audio_driver_t *p); 176 #endif 177 178 179 180 #endif /* _FLUID_AUDRIVER_H */ 181