From bdfb82c072d487a939ff9f3fae801a176f4cef7d Mon Sep 17 00:00:00 2001 From: amerhifi Date: Fri, 13 Sep 2019 13:13:54 -0700 Subject: [PATCH] finishing up the wrapper code implementation. --- libraries/audio-client/src/AudioClient.cpp | 2 +- .../audio-client/src/HifiAudioDeviceInfo.h | 26 +++++++++++++++++-- .../audio-client/src/HifiAudioDeviceinfo.cpp | 21 ++++++++++----- 3 files changed, 40 insertions(+), 9 deletions(-) diff --git a/libraries/audio-client/src/AudioClient.cpp b/libraries/audio-client/src/AudioClient.cpp index 195afc619c..e40c91e541 100644 --- a/libraries/audio-client/src/AudioClient.cpp +++ b/libraries/audio-client/src/AudioClient.cpp @@ -1763,7 +1763,7 @@ bool AudioClient::switchInputToAudioDevice(const QAudioDeviceInfo inputDeviceInf _audioInput = NULL; _numInputCallbackBytes = 0; - _inputDeviceInfo = HifiAudioDeviceInfo(); //QAudioDeviceInfo(); + _inputDeviceInfo = HifiAudioDeviceInfo(); } if (_dummyAudioInput) { diff --git a/libraries/audio-client/src/HifiAudioDeviceInfo.h b/libraries/audio-client/src/HifiAudioDeviceInfo.h index 5155807b51..6a6ca602f8 100644 --- a/libraries/audio-client/src/HifiAudioDeviceInfo.h +++ b/libraries/audio-client/src/HifiAudioDeviceInfo.h @@ -7,7 +7,7 @@ #include class HifiAudioDeviceInfo : public QObject { - QObject + Q_OBJECT public: HifiAudioDeviceInfo() {} @@ -28,12 +28,34 @@ public: void setMode(QAudio::Mode mode); void setIsDefault(bool isDefault = false); void setDeviceName(QString name); + void setDevice(QAudioDeviceInfo devInfo) { + _audioDeviceInfo = devInfo; + setDeviceName(); + } QAudioDeviceInfo getDevice() const { return _audioDeviceInfo; } QString deviceName() const { return _deviceName; } - bool isDefault() const { return isDefault; } + bool isDefault() const { return _isDefault; } QAudio::Mode getMode() const { return _mode; } + + HifiAudioDeviceInfo& operator=(const HifiAudioDeviceInfo& other) { + _audioDeviceInfo = other.getDevice(); + _deviceName = other.deviceName(); + _mode = other.getMode(); + _isDefault = other.isDefault(); + return *this; + } + + bool operator==(const HifiAudioDeviceInfo& rhs) const { + return _audioDeviceInfo == rhs.getDevice(); + } + + bool operator!=(const HifiAudioDeviceInfo& rhs) const { + return _audioDeviceInfo != rhs.getDevice(); + } + + private: void setDeviceName(); diff --git a/libraries/audio-client/src/HifiAudioDeviceinfo.cpp b/libraries/audio-client/src/HifiAudioDeviceinfo.cpp index 066e8e6962..3052f950d8 100644 --- a/libraries/audio-client/src/HifiAudioDeviceinfo.cpp +++ b/libraries/audio-client/src/HifiAudioDeviceinfo.cpp @@ -1,16 +1,25 @@ #include "HifiAudioDeviceInfo.h" void HifiAudioDeviceInfo::setMode(QAudio::Mode mode) { + _mode = mode; + setDeviceName(); } void HifiAudioDeviceInfo::setIsDefault(bool isDefault) { -} - -void HifiAudioDeviceInfo::setDeviceName(QString name) { - + isDefault = isDefault; + setDeviceName(); } void HifiAudioDeviceInfo::setDeviceName() { + if (isDefault) { + if (_mode == QAudio::Mode::AudioInput) { + _deviceName = "Default microphone (recommended)"; + } else { + _deviceName = "Default audio (recommended)"; + } + } else { + _deviceName = _audioDeviceInfo.deviceName(); + } + } - - } \ No newline at end of file + \ No newline at end of file