Add the C interface for the name API
authorJP Cimalando <jpcima@users.noreply.github.com>
Tue, 7 Aug 2018 20:12:06 +0000 (22:12 +0200)
committerJP Cimalando <jpcima@users.noreply.github.com>
Tue, 7 Aug 2018 20:12:16 +0000 (22:12 +0200)
rtaudio_c.cpp
rtaudio_c.h

index 699d2ce760d4fdd31b63d96a7b992f25d1e006ca..f831655470c9842eed646fc7fcb518c7d0eb80d9 100644 (file)
@@ -50,6 +50,19 @@ const char *rtaudio_version() { return RTAUDIO_VERSION; }
 
 const rtaudio_api_t *rtaudio_compiled_api() { return compiled_api; }
 
+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();
+}
+
+rtaudio_api_t rtaudio_compiled_api_by_name(const char *name) {
+    RtAudio::Api api = RtAudio::UNSPECIFIED;
+    if (name) {
+        api = RtAudio::getCompiledApiByName(name);
+    }
+    return (rtaudio_api_t)api;
+}
+
 const char *rtaudio_error(rtaudio_t audio) {
   if (audio->has_error) {
     return audio->errmsg;
index 05015a96cf35647ec737fd31b252a823e36cf7fa..589994aacc3e9fe9ef9f2c70b3fdf606ab394d27 100644 (file)
@@ -102,6 +102,8 @@ typedef struct rtaudio *rtaudio_t;
 
 RTAUDIOAPI const char *rtaudio_version(void);
 RTAUDIOAPI const rtaudio_api_t *rtaudio_compiled_api(void);
+RTAUDIOAPI const char *rtaudio_compiled_api_name(rtaudio_api_t api);
+RTAUDIOAPI rtaudio_api_t rtaudio_compiled_api_by_name(const char *name);
 
 RTAUDIOAPI const char *rtaudio_error(rtaudio_t audio);