From 71e7b2fbd65b07670b06fb9e12cb9d430026c67a Mon Sep 17 00:00:00 2001 From: Tim Mayberry Date: Thu, 6 Aug 2015 22:22:18 +1000 Subject: [PATCH] Set the default host api in PortaudioBackend when initializing portaudio Not setting a default driver causes issues with the EngineControl dialog --- libs/backends/portaudio/portaudio_io.cc | 10 ++++++++++ libs/backends/portaudio/portaudio_io.h | 1 + 2 files changed, 11 insertions(+) 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& api_list) } } +std::string +PortAudioIO::get_host_api_name_from_index (PaHostApiIndex index) +{ + std::vector 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; -- 2.30.2