summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Mayberry <mojofunk@gmail.com>2015-08-06 22:22:18 +1000
committerTim Mayberry <mojofunk@gmail.com>2015-08-07 01:25:14 +1000
commit71e7b2fbd65b07670b06fb9e12cb9d430026c67a (patch)
tree9e4f8e020f8b929a2ef4a6a8fcac9eac84add348
parent1d6e8f6681bb1f9ef16904016bf515c23e93efc9 (diff)
Set the default host api in PortaudioBackend when initializing portaudio
Not setting a default driver causes issues with the EngineControl dialog
-rw-r--r--libs/backends/portaudio/portaudio_io.cc10
-rw-r--r--libs/backends/portaudio/portaudio_io.h1
2 files changed, 11 insertions, 0 deletions
diff --git a/libs/backends/portaudio/portaudio_io.cc b/libs/backends/portaudio/portaudio_io.cc
index f6af18a25e..809666f36d 100644
--- a/libs/backends/portaudio/portaudio_io.cc
+++ b/libs/backends/portaudio/portaudio_io.cc
@@ -321,6 +321,8 @@ PortAudioIO::initialize_pa ()
return false;
}
_initialized = true;
+ _host_api_index = Pa_GetDefaultHostApi ();
+ _host_api_name = get_host_api_name_from_index (_host_api_index);
}
return true;
@@ -343,6 +345,14 @@ PortAudioIO::host_api_list (std::vector<std::string>& api_list)
}
}
+std::string
+PortAudioIO::get_host_api_name_from_index (PaHostApiIndex index)
+{
+ std::vector<std::string> api_list;
+ host_api_list(api_list);
+ return api_list[index];
+}
+
bool
PortAudioIO::set_host_api (const std::string& host_api_name)
{
diff --git a/libs/backends/portaudio/portaudio_io.h b/libs/backends/portaudio/portaudio_io.h
index ff40b711c3..f5ee897593 100644
--- a/libs/backends/portaudio/portaudio_io.h
+++ b/libs/backends/portaudio/portaudio_io.h
@@ -98,6 +98,7 @@ private: // Methods
void clear_device_lists ();
void add_default_devices ();
void add_devices ();
+ std::string get_host_api_name_from_index (PaHostApiIndex index);
private: // Data
int _state;