From c6c0654b5a3fbd2b8eb4fc2b301be762ffea07bb Mon Sep 17 00:00:00 2001 From: Tim Mayberry Date: Sat, 22 Aug 2015 21:16:17 +1000 Subject: [PATCH] Add Utility function to get host API type in PortaudioIO class --- libs/backends/portaudio/portaudio_io.cc | 15 +++++++++++++++ libs/backends/portaudio/portaudio_io.h | 1 + 2 files changed, 16 insertions(+) diff --git a/libs/backends/portaudio/portaudio_io.cc b/libs/backends/portaudio/portaudio_io.cc index 8bf3c3e43b..e89035c3b7 100644 --- a/libs/backends/portaudio/portaudio_io.cc +++ b/libs/backends/portaudio/portaudio_io.cc @@ -348,6 +348,21 @@ PortAudioIO::host_api_list (std::vector& api_list) } } + +PaHostApiTypeId +PortAudioIO::get_current_host_api_type () const +{ + const PaHostApiInfo* info = Pa_GetHostApiInfo (_host_api_index); + + if (info == NULL) { + DEBUG_AUDIO(string_compose( + "Unable to determine Host API type from index %1\n", _host_api_index)); + return (PaHostApiTypeId)0; + } + + return info->type; +} + std::string PortAudioIO::get_host_api_name_from_index (PaHostApiIndex index) { diff --git a/libs/backends/portaudio/portaudio_io.h b/libs/backends/portaudio/portaudio_io.h index fb1524ab83..19604d9ae4 100644 --- a/libs/backends/portaudio/portaudio_io.h +++ b/libs/backends/portaudio/portaudio_io.h @@ -47,6 +47,7 @@ public: void host_api_list (std::vector&); bool set_host_api (const std::string& host_api_name); std::string get_host_api () const { return _host_api_name; } + PaHostApiTypeId get_current_host_api_type () const; PaHostApiIndex get_host_api_index_from_name (const std::string& name); PaDeviceIndex get_default_input_device ();