diff --git a/src/blackmisc/audio/audiodeviceinfolist.cpp b/src/blackmisc/audio/audiodeviceinfolist.cpp index 21d251363..f14e0c10f 100644 --- a/src/blackmisc/audio/audiodeviceinfolist.cpp +++ b/src/blackmisc/audio/audiodeviceinfolist.cpp @@ -139,6 +139,16 @@ namespace BlackMisc return names; } + bool CAudioDeviceInfoList::hasSameDevices(const CAudioDeviceInfoList &compareDevices) const + { + if (compareDevices.size() != this->size()) { return false; } + for (const CAudioDeviceInfo &d : *this) + { + if (!compareDevices.findRegisteredDevice(d).isValid()) { return false; } + } + return true; + } + CAudioDeviceInfoList CAudioDeviceInfoList::allInputDevices() { CAudioDeviceInfoList devices; diff --git a/src/blackmisc/audio/audiodeviceinfolist.h b/src/blackmisc/audio/audiodeviceinfolist.h index fd8affef5..8c19cfe94 100644 --- a/src/blackmisc/audio/audiodeviceinfolist.h +++ b/src/blackmisc/audio/audiodeviceinfolist.h @@ -79,6 +79,9 @@ namespace BlackMisc //! All names QStringList getDeviceNames() const; + //! Has same devices + bool hasSameDevices(const CAudioDeviceInfoList &compareDevices) const; + //! Lists of all available devices @{ static CAudioDeviceInfoList allInputDevices(); static CAudioDeviceInfoList allOutputDevices();