From b5a270dc09231bbb50de9e15d057e2416beecbe6 Mon Sep 17 00:00:00 2001 From: Klaus Basan Date: Fri, 28 Sep 2018 05:10:28 +0200 Subject: [PATCH] Ref T376, context support for CVoiceSetup --- src/blackcore/context/contextaudio.h | 7 +++++++ src/blackcore/context/contextaudioempty.h | 14 ++++++++++++++ src/blackcore/context/contextaudioimpl.cpp | 12 ++++++++++++ src/blackcore/context/contextaudioimpl.h | 4 +++- src/blackcore/context/contextaudioproxy.cpp | 20 +++++++++++++++----- src/blackcore/context/contextaudioproxy.h | 4 +++- 6 files changed, 54 insertions(+), 7 deletions(-) diff --git a/src/blackcore/context/contextaudio.h b/src/blackcore/context/contextaudio.h index 21f369a40..aa4ac49dd 100644 --- a/src/blackcore/context/contextaudio.h +++ b/src/blackcore/context/contextaudio.h @@ -20,6 +20,7 @@ #include "blackmisc/audio/notificationsounds.h" #include "blackmisc/audio/voiceroom.h" #include "blackmisc/audio/voiceroomlist.h" +#include "blackmisc/audio/voicesetup.h" #include "blackmisc/aviation/callsignset.h" #include "blackmisc/aviation/comsystem.h" #include "blackmisc/aviation/selcal.h" @@ -170,6 +171,12 @@ namespace BlackCore //! Is loobback enabled? virtual bool isAudioLoopbackEnabled() const = 0; + + //! Get voice setup + virtual BlackMisc::Audio::CVoiceSetup getVoiceSetup() const = 0; + + //! Set voice setup + virtual void setVoiceSetup(const BlackMisc::Audio::CVoiceSetup &setup) = 0; }; } // ns } // ns diff --git a/src/blackcore/context/contextaudioempty.h b/src/blackcore/context/contextaudioempty.h index 4aa606825..04039f8e4 100644 --- a/src/blackcore/context/contextaudioempty.h +++ b/src/blackcore/context/contextaudioempty.h @@ -175,6 +175,20 @@ namespace BlackCore logEmptyContextWarning(Q_FUNC_INFO); return false; } + + //! \copydoc IContextAudio::getVoiceSetup + virtual BlackMisc::Audio::CVoiceSetup getVoiceSetup() const override + { + logEmptyContextWarning(Q_FUNC_INFO); + return BlackMisc::Audio::CVoiceSetup(); + } + + //! \copydoc IContextAudio::setVoiceSetup + virtual void setVoiceSetup(const BlackMisc::Audio::CVoiceSetup &setup) override + { + Q_UNUSED(setup); + logEmptyContextWarning(Q_FUNC_INFO); + } }; } // ns } // ns diff --git a/src/blackcore/context/contextaudioimpl.cpp b/src/blackcore/context/contextaudioimpl.cpp index eecd71cbd..801476764 100644 --- a/src/blackcore/context/contextaudioimpl.cpp +++ b/src/blackcore/context/contextaudioimpl.cpp @@ -468,6 +468,18 @@ namespace BlackCore return m_audioMixer->hasMixerConnection(IAudioMixer::InputMicrophone, IAudioMixer::OutputOutputDevice1); } + void CContextAudio::setVoiceSetup(const CVoiceSetup &setup) + { + if (m_debugEnabled) { CLogMessage(this, CLogCategory::contextSlot()).debug() << Q_FUNC_INFO; } + if (m_voice) { m_voice->setVoiceSetup(setup); } + } + + CVoiceSetup CContextAudio::getVoiceSetup() const + { + if (m_debugEnabled) { CLogMessage(this, CLogCategory::contextSlot()).debug() << Q_FUNC_INFO; } + return m_voice ? m_voice->getVoiceSetup() : CVoiceSetup(); + } + bool CContextAudio::parseCommandLine(const QString &commandLine, const BlackMisc::CIdentifier &originator) { Q_UNUSED(originator); diff --git a/src/blackcore/context/contextaudioimpl.h b/src/blackcore/context/contextaudioimpl.h index 85232817b..1c9c17c07 100644 --- a/src/blackcore/context/contextaudioimpl.h +++ b/src/blackcore/context/contextaudioimpl.h @@ -68,7 +68,7 @@ namespace BlackCore public: //! Destructor - virtual ~CContextAudio(); + virtual ~CContextAudio() override; public slots: // Interface implementations @@ -93,6 +93,8 @@ namespace BlackCore virtual void playNotification(BlackMisc::Audio::CNotificationSounds::Notification notification, bool considerSettings) const override; virtual void enableAudioLoopback(bool enable = true) override; virtual bool isAudioLoopbackEnabled() const override; + virtual BlackMisc::Audio::CVoiceSetup getVoiceSetup() const override; + virtual void setVoiceSetup(const BlackMisc::Audio::CVoiceSetup &setup) override; //! @} //! \addtogroup swiftdotcommands diff --git a/src/blackcore/context/contextaudioproxy.cpp b/src/blackcore/context/contextaudioproxy.cpp index 6adfd8f2a..f2465a744 100644 --- a/src/blackcore/context/contextaudioproxy.cpp +++ b/src/blackcore/context/contextaudioproxy.cpp @@ -67,14 +67,14 @@ namespace BlackCore this->m_dBusInterface->callDBus(QLatin1String("leaveAllVoiceRooms")); } - BlackMisc::Aviation::CCallsignSet CContextAudioProxy::getRoomCallsigns(BlackMisc::Aviation::CComSystem::ComUnit comUnitValue) const + BlackMisc::Aviation::CCallsignSet CContextAudioProxy::getRoomCallsigns(CComSystem::ComUnit comUnitValue) const { return this->m_dBusInterface->callDBusRet(QLatin1String("getRoomCallsigns"), comUnitValue); } - BlackMisc::Network::CUserList CContextAudioProxy::getRoomUsers(BlackMisc::Aviation::CComSystem::ComUnit comUnitValue) const + BlackMisc::Network::CUserList CContextAudioProxy::getRoomUsers(CComSystem::ComUnit comUnitValue) const { - return this->m_dBusInterface->callDBusRet(QLatin1String("getRoomUsers"), comUnitValue); + return this->m_dBusInterface->callDBusRet(QLatin1String("getRoomUsers"), comUnitValue); } CAudioDeviceInfoList CContextAudioProxy::getAudioDevices() const @@ -107,12 +107,12 @@ namespace BlackCore return this->m_dBusInterface->callDBusRet(QLatin1String("getComVoiceRooms")); } - CVoiceRoom CContextAudioProxy::getVoiceRoom(BlackMisc::Aviation::CComSystem::ComUnit comUnitValue, bool withAudioStatus) const + CVoiceRoom CContextAudioProxy::getVoiceRoom(CComSystem::ComUnit comUnitValue, bool withAudioStatus) const { return this->m_dBusInterface->callDBusRet(QLatin1String("getVoiceRoom"), comUnitValue, withAudioStatus); } - void CContextAudioProxy::setComVoiceRooms(const BlackMisc::Audio::CVoiceRoomList &voiceRooms) + void CContextAudioProxy::setComVoiceRooms(const CVoiceRoomList &voiceRooms) { this->m_dBusInterface->callDBus(QLatin1String("setComVoiceRooms"), voiceRooms); } @@ -161,5 +161,15 @@ namespace BlackCore { return this->m_dBusInterface->callDBusRet(QLatin1String("parseCommandLine"), commandLine, originator); } + + CVoiceSetup CContextAudioProxy::getVoiceSetup() const + { + return this->m_dBusInterface->callDBusRet(QLatin1String("getVoiceSetup")); + } + + void CContextAudioProxy::setVoiceSetup(const CVoiceSetup &setup) + { + this->m_dBusInterface->callDBus(QLatin1String("setVoiceSetup"), setup); + } } // namespace } // namespace diff --git a/src/blackcore/context/contextaudioproxy.h b/src/blackcore/context/contextaudioproxy.h index 41e3aad64..8e775c4cd 100644 --- a/src/blackcore/context/contextaudioproxy.h +++ b/src/blackcore/context/contextaudioproxy.h @@ -52,7 +52,7 @@ namespace BlackCore public: //! Destructor - virtual ~CContextAudioProxy() {} + virtual ~CContextAudioProxy() override {} //! Unit test relay signals //! \private @@ -82,6 +82,8 @@ namespace BlackCore virtual void enableAudioLoopback(bool enable = true) override; virtual bool isAudioLoopbackEnabled() const override; virtual bool parseCommandLine(const QString &commandLine, const BlackMisc::CIdentifier &originator) override; + virtual BlackMisc::Audio::CVoiceSetup getVoiceSetup() const override; + virtual void setVoiceSetup(const BlackMisc::Audio::CVoiceSetup &setup) override; //! @} private: