diff options
author | Tim Mayberry <mojofunk@gmail.com> | 2015-08-06 22:22:18 +1000 |
---|---|---|
committer | Tim Mayberry <mojofunk@gmail.com> | 2015-08-07 01:25:14 +1000 |
commit | 71e7b2fbd65b07670b06fb9e12cb9d430026c67a (patch) | |
tree | 9e4f8e020f8b929a2ef4a6a8fcac9eac84add348 | |
parent | 1d6e8f6681bb1f9ef16904016bf515c23e93efc9 (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.cc | 10 | ||||
-rw-r--r-- | libs/backends/portaudio/portaudio_io.h | 1 |
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; |