diff options
| author | garyscavone <garyscavone@users.noreply.github.com> | 2021-11-18 20:04:18 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-11-18 20:04:18 -0500 |
| commit | fd4125bc443ccc80c46cb9ffc31eaa4bd0434ab4 (patch) | |
| tree | 66d2b4e6ef278d2d1d34652549b425a6f3185fb4 /tests | |
| parent | b0732aa5241b29bb7d4c682a6250789f4ffdffdd (diff) | |
| parent | 46b01b5b134f33d8ddc3dab76829d4b1350e0522 (diff) | |
Merge branch 'master' into noexceptions
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/audioprobe.cpp | 47 |
1 files changed, 28 insertions, 19 deletions
diff --git a/tests/audioprobe.cpp b/tests/audioprobe.cpp index 00f2f0d..dbe0985 100644 --- a/tests/audioprobe.cpp +++ b/tests/audioprobe.cpp @@ -11,33 +11,25 @@ #include <iostream> #include <map> -int main() +std::vector< RtAudio::Api > listApis() { - // Create an api map. - std::map<int, std::string> apiMap; - apiMap[RtAudio::MACOSX_CORE] = "OS-X Core Audio"; - apiMap[RtAudio::WINDOWS_ASIO] = "Windows ASIO"; - apiMap[RtAudio::WINDOWS_DS] = "Windows DirectSound"; - apiMap[RtAudio::WINDOWS_WASAPI] = "Windows WASAPI"; - apiMap[RtAudio::UNIX_JACK] = "Jack Client"; - apiMap[RtAudio::LINUX_ALSA] = "Linux ALSA"; - apiMap[RtAudio::LINUX_PULSE] = "Linux PulseAudio"; - apiMap[RtAudio::LINUX_OSS] = "Linux OSS"; - apiMap[RtAudio::RTAUDIO_DUMMY] = "RtAudio Dummy"; - std::vector< RtAudio::Api > apis; RtAudio :: getCompiledApi( apis ); - std::cout << "\nRtAudio Version " << RtAudio::getVersion() << std::endl; - std::cout << "\nCompiled APIs:\n"; - for ( unsigned int i=0; i<apis.size(); i++ ) - std::cout << " " << apiMap[ apis[i] ] << std::endl; + for ( size_t i=0; i<apis.size(); i++ ) + std::cout << i << ". " << RtAudio::getApiDisplayName(apis[i]) + << " (" << RtAudio::getApiName(apis[i]) << ")" << std::endl; - RtAudio audio; + return apis; +} + +void listDevices(RtAudio::Api api) +{ + RtAudio audio(api); RtAudio::DeviceInfo info; - std::cout << "\nCurrent API: " << apiMap[ audio.getCurrentApi() ] << std::endl; + std::cout << "\nAPI: " << RtAudio::getApiDisplayName(audio.getCurrentApi()) << std::endl; unsigned int devices = audio.getDeviceCount(); std::cout << "\nFound " << devices << " device(s) ...\n"; @@ -89,6 +81,23 @@ int main() std::cout << "Preferred sample rate = " << info.preferredSampleRate << std::endl; } } +} + +int main(int argc, char *argv[]) +{ + std::cout << "\nRtAudio Version " << RtAudio::getVersion() << std::endl; + + std::vector< RtAudio::Api > apis = listApis(); + + for ( size_t api=0; api < apis.size(); api++ ) + { + errno = 0; + char *s; + if (argc < 2 + || apis[api] == RtAudio::getCompiledApiByName(argv[1]) + || (api == std::strtoul(argv[1], &s, 10) && argv[1] != s && !errno)) + listDevices(apis[api]); + } std::cout << std::endl; return 0; |
