diff --git a/src/blackcore/context_audio.h b/src/blackcore/context_audio.h index 9f534b99c..ea9a54428 100644 --- a/src/blackcore/context_audio.h +++ b/src/blackcore/context_audio.h @@ -149,6 +149,9 @@ namespace BlackCore //! Set the volumes (0..100) virtual void setVolumes(int volumeCom1, int volumeCom2) = 0; + //! Set voice output volume (0..300) + virtual void setVoiceOutputVolume(int volume) = 0; + //! Set mute state virtual void setMute(bool mute) = 0; diff --git a/src/blackcore/context_audio_impl.cpp b/src/blackcore/context_audio_impl.cpp index 7a9e332b7..5e2557c66 100644 --- a/src/blackcore/context_audio_impl.cpp +++ b/src/blackcore/context_audio_impl.cpp @@ -242,6 +242,12 @@ namespace BlackCore emit changedAudioVolumes(com1Volume, com2Volume); } + void CContextAudio::setVoiceOutputVolume(int volume) + { + m_outDeviceVolume = volume; + if (!isMuted()) m_voiceOutputDevice->setOutputVolume(m_outDeviceVolume); + } + void CContextAudio::setMute(bool muted) { if (this->isMuted() == muted) { return; } // avoid roundtrips / unnecessary signals diff --git a/src/blackcore/context_audio_impl.h b/src/blackcore/context_audio_impl.h index f3d6ba946..4ff0674f3 100644 --- a/src/blackcore/context_audio_impl.h +++ b/src/blackcore/context_audio_impl.h @@ -84,6 +84,9 @@ namespace BlackCore //!\copydoc IContext::setVolumes virtual void setVolumes(int com1Volume, int com2Volume) override; + //!\copydoc IContext::setVoiceOutputVolume + virtual void setVoiceOutputVolume(int volume) override; + //! \copydoc ICOntext::setMute virtual void setMute(bool muted) override; diff --git a/src/blackcore/context_audio_proxy.cpp b/src/blackcore/context_audio_proxy.cpp index 24366b9c3..0ac9f30dd 100644 --- a/src/blackcore/context_audio_proxy.cpp +++ b/src/blackcore/context_audio_proxy.cpp @@ -197,6 +197,11 @@ namespace BlackCore this->m_dBusInterface->callDBus(QLatin1Literal("setVolumes"), com1Volume, com2Volume); } + void CContextAudioProxy::setVoiceOutputVolume(int volume) + { + this->m_dBusInterface->callDBus(QLatin1Literal("setVoiceOutputVolume"), volume); + } + /* * Toggle mute */ diff --git a/src/blackcore/context_audio_proxy.h b/src/blackcore/context_audio_proxy.h index f6a72b78b..794be4c55 100644 --- a/src/blackcore/context_audio_proxy.h +++ b/src/blackcore/context_audio_proxy.h @@ -87,6 +87,9 @@ namespace BlackCore //!\copydoc IContextAudio::setVolumes virtual void setVolumes(int com1Volume, int com2Volume) override; + //!\copydoc IContext::setVoiceOutputVolume + virtual void setVoiceOutputVolume(int volume) override; + //! \copydoc IContextAudio::setMute virtual void setMute(bool muted) override;