diff options
| author | Stephen Sinclair <radarsat1@gmail.com> | 2018-08-08 15:01:18 -0400 |
|---|---|---|
| committer | Stephen Sinclair <radarsat1@gmail.com> | 2018-08-08 19:24:39 -0400 |
| commit | e92130e9e152a71da71264a610662e910b450ec0 (patch) | |
| tree | 3cd9563ea54cbdfe1629a3f0ba64523574a79b73 /rtaudio_c.cpp | |
| parent | 5f0720fef77af2b19abd684d0dc9eed1bca9a64d (diff) | |
Fix api name functions for C, replace map with array.
Diffstat (limited to 'rtaudio_c.cpp')
| -rw-r--r-- | rtaudio_c.cpp | 46 |
1 files changed, 10 insertions, 36 deletions
diff --git a/rtaudio_c.cpp b/rtaudio_c.cpp index ec84941..7ae1bec 100644 --- a/rtaudio_c.cpp +++ b/rtaudio_c.cpp @@ -15,50 +15,24 @@ struct rtaudio { char errmsg[MAX_ERROR_MESSAGE_LENGTH]; }; -static const rtaudio_api_t compiled_api[] = { -#if defined(__UNIX_JACK__) - RTAUDIO_API_UNIX_JACK, -#endif -#if defined(__LINUX_ALSA__) - RTAUDIO_API_LINUX_ALSA, -#endif -#if defined(__LINUX_PULSE__) - RTAUDIO_API_LINUX_PULSE, -#endif -#if defined(__LINUX_OSS__) - RTAUDIO_API_LINUX_OSS, -#endif -#if defined(__WINDOWS_ASIO__) - RTAUDIO_API_WINDOWS_ASIO, -#endif -#if defined(__WINDOWS_WASAPI__) - RTAUDIO_API_WINDOWS_WASAPI, -#endif -#if defined(__WINDOWS_DS__) - RTAUDIO_API_WINDOWS_DS, -#endif -#if defined(__MACOSX_CORE__) - RTAUDIO_API_MACOSX_CORE, -#endif -#if defined(__RTAUDIO_DUMMY__) - RTAUDIO_API_DUMMY, -#endif - RTAUDIO_API_UNSPECIFIED, -}; - const char *rtaudio_version() { return RTAUDIO_VERSION; } -const rtaudio_api_t *rtaudio_compiled_api() { return compiled_api; } +extern "C" const rtaudio_api_t rtaudio_compiled_apis[]; // casting from RtAudio::Api[] +extern "C" unsigned int rtaudio_num_compiled_apis; +const rtaudio_api_t *rtaudio_compiled_api() { return rtaudio_compiled_apis; } +extern "C" const char* rtaudio_api_names[][2]; const char *rtaudio_compiled_api_name(rtaudio_api_t api) { - const std::string &name = RtAudio::getCompiledApiName((RtAudio::Api)api); - return name.empty() ? NULL : name.c_str(); + if (api < 0 || api >= RTAUDIO_API_NUM) + return NULL; + return rtaudio_api_names[api][0]; } const char *rtaudio_compiled_api_display_name(rtaudio_api_t api) { - const std::string &name = RtAudio::getCompiledApiDisplayName((RtAudio::Api)api); - return name.empty() ? NULL : name.c_str(); + if (api < 0 || api >= RTAUDIO_API_NUM) + return "Unknown"; + return rtaudio_api_names[api][1]; } rtaudio_api_t rtaudio_compiled_api_by_name(const char *name) { |
