Set the default host api in PortaudioBackend when initializing portaudio

Not setting a default driver causes issues with the EngineControl dialog
This commit is contained in:
Tim Mayberry 2015-08-06 22:22:18 +10:00
parent 1d6e8f6681
commit 71e7b2fbd6
2 changed files with 11 additions and 0 deletions

View file

@ -321,6 +321,8 @@ PortAudioIO::initialize_pa ()
return false; return false;
} }
_initialized = true; _initialized = true;
_host_api_index = Pa_GetDefaultHostApi ();
_host_api_name = get_host_api_name_from_index (_host_api_index);
} }
return true; 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 bool
PortAudioIO::set_host_api (const std::string& host_api_name) PortAudioIO::set_host_api (const std::string& host_api_name)
{ {

View file

@ -98,6 +98,7 @@ private: // Methods
void clear_device_lists (); void clear_device_lists ();
void add_default_devices (); void add_default_devices ();
void add_devices (); void add_devices ();
std::string get_host_api_name_from_index (PaHostApiIndex index);
private: // Data private: // Data
int _state; int _state;