diff options
author | Tim Mayberry <mojofunk@gmail.com> | 2015-04-01 16:55:34 +1000 |
---|---|---|
committer | Tim Mayberry <mojofunk@gmail.com> | 2015-07-31 09:59:54 +1000 |
commit | b6db19a5c67e4b58bc2555d7ff83f97bdba6811b (patch) | |
tree | 33f7eb2d71ae40282fda685622680692dd169b04 /libs/backends/portaudio/portaudio_backend.cc | |
parent | 2437bbbe2315a4f9991874ea8baa5d91230bc139 (diff) |
Add host api/driver selection to PortaudioBackend
Diffstat (limited to 'libs/backends/portaudio/portaudio_backend.cc')
-rw-r--r-- | libs/backends/portaudio/portaudio_backend.cc | 29 |
1 files changed, 28 insertions, 1 deletions
diff --git a/libs/backends/portaudio/portaudio_backend.cc b/libs/backends/portaudio/portaudio_backend.cc index 0277ca1270..3e24ff28f0 100644 --- a/libs/backends/portaudio/portaudio_backend.cc +++ b/libs/backends/portaudio/portaudio_backend.cc @@ -89,10 +89,37 @@ PortAudioBackend::is_realtime () const return true; } +bool +PortAudioBackend::requires_driver_selection() const +{ + // we could do this but implementation would need changing + /* + if (enumerate_drivers().size() == 1) { + return false; + } + */ + return true; +} + +std::vector<std::string> +PortAudioBackend::enumerate_drivers () const +{ + std::vector<std::string> currently_available; + _pcmio->host_api_list (currently_available); + return currently_available; +} + +int +PortAudioBackend::set_driver (const std::string& name) +{ + _target_driver = name; + return 0; +} + std::vector<AudioBackend::DeviceStatus> PortAudioBackend::enumerate_devices () const { - _pcmio->discover(); + _pcmio->discover(_target_driver); _audio_device_status.clear(); std::map<int, std::string> devices; _pcmio->device_list(devices); |