From 77e0165e9ab55d01f95e25ab3ebd6d393e176fcd Mon Sep 17 00:00:00 2001 From: Roland Winklmeier Date: Fri, 6 Feb 2015 20:02:47 +0100 Subject: [PATCH] refs #371 Replace COM based volume methods by global output volume --- src/blackcore/context_audio.h | 19 ++------- src/blackcore/context_audio_impl.cpp | 42 ++----------------- src/blackcore/context_audio_impl.h | 6 --- src/blackcore/context_audio_proxy.cpp | 18 +------- src/blackcore/context_audio_proxy.h | 6 --- src/blackcore/context_ownaircraft.h | 4 +- src/blackcore/context_ownaircraft_impl.cpp | 14 ++----- src/blackcore/context_ownaircraft_impl.h | 4 +- src/blackcore/context_ownaircraft_proxy.cpp | 4 +- src/blackcore/context_ownaircraft_proxy.h | 2 +- .../components/audiovolumecomponent.cpp | 4 +- .../components/infobarstatuscomponent.cpp | 2 +- .../components/mainkeypadareacomponent.cpp | 2 +- 13 files changed, 22 insertions(+), 105 deletions(-) diff --git a/src/blackcore/context_audio.h b/src/blackcore/context_audio.h index 9a671a700..12c9743dc 100644 --- a/src/blackcore/context_audio.h +++ b/src/blackcore/context_audio.h @@ -84,12 +84,9 @@ namespace BlackCore //! \details the flag indicates, whether a room got connected or disconnected void changedVoiceRooms(const BlackMisc::Audio::CVoiceRoomList &voiceRooms, bool connected); - //! Volumes changed (COM1, COM2) - //! \sa setVolumes - // KB: Is see some potential changes here, which we should do when we have the new 2.0 vatlib - // 1. volume integrated in voice room? - // 2. Value object for volumes CVolume / CVolumeList? - void changedAudioVolumes(int com1Volume, int com2Volume); + //! Audio volume changed + //! \sa setVoiceOutputVolume + void changedAudioVolume(int volume); //! Mute changed void changedMute(bool muted); @@ -137,16 +134,6 @@ namespace BlackCore */ virtual void setCurrentAudioDevice(const BlackMisc::Audio::CAudioDeviceInfo &audioDevice) = 0; - /*! - * \brief Set volumes via com units, also allows to mute - * \see BlackMisc::Aviation::CComSystem::setVolumeInput() - * \see BlackMisc::Aviation::CComSystem::setVolumeOutput() - */ - virtual void setVolumes(const BlackMisc::Aviation::CComSystem &com1, const BlackMisc::Aviation::CComSystem &com2) = 0; - - //! 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; diff --git a/src/blackcore/context_audio_impl.cpp b/src/blackcore/context_audio_impl.cpp index 482cb2a26..0cbbab778 100644 --- a/src/blackcore/context_audio_impl.cpp +++ b/src/blackcore/context_audio_impl.cpp @@ -209,43 +209,11 @@ namespace BlackCore } } - /* - * Set volumes - */ - void CContextAudio::setVolumes(const CComSystem &com1, const CComSystem &com2) - { - Q_ASSERT(this->m_voice); - CLogMessage(this, CLogCategory::contextSlot()).debug() << Q_FUNC_INFO << com1 << com2; - - // volumes - qint32 vol1 = com1.getVolumeOutput(); - qint32 vol2 = com2.getVolumeOutput(); - this->setVolumes(vol1, vol2); - } - - void CContextAudio::setVolumes(int com1Volume, int com2Volume) - { - //! \todo Will be removed as part of #371. - int channelV1 = static_cast(m_channel1->getVolume()); - int channelV2 = static_cast(m_channel2->getVolume()); - if (channelV1 == com1Volume && channelV2 == com2Volume) { return; } - - bool enable1 = com1Volume > 0; - bool enable2 = com2Volume > 0; - bool muted = !enable1 && !enable2; - - //! \todo m_channelCom1->setVolume here crashed, also what is correct setRoomOutputVolume or setVolume - m_channel1->setVolume(com1Volume); - m_channel2->setVolume(com2Volume); - this->setMute(muted); - - emit changedAudioVolumes(com1Volume, com2Volume); - } - void CContextAudio::setVoiceOutputVolume(int volume) { m_outDeviceVolume = volume; if (!isMuted()) m_voiceOutputDevice->setOutputVolume(m_outDeviceVolume); + emit changedAudioVolume(volume); } void CContextAudio::setMute(bool muted) @@ -451,9 +419,7 @@ namespace BlackCore { static CSimpleCommandParser parser( { - ".vol", ".volume", // all volumes - ".vol1", ".volume1", // COM1 volume - ".vol2", ".volume2", // COM2 volume + ".vol", ".volume", // output volume ".mute", // mute ".unmute" // unmute }); @@ -474,9 +440,9 @@ namespace BlackCore else if (parser.commandStartsWith("vol") && parser.countParts() > 1) { qint32 v = parser.toInt(1); - if (v >= 0 && v <= 100) + if (v >= 0 && v <= 300) { - // TODO: vatlib volume + setVoiceOutputVolume(v); } } return false; diff --git a/src/blackcore/context_audio_impl.h b/src/blackcore/context_audio_impl.h index 440465478..2e12caa00 100644 --- a/src/blackcore/context_audio_impl.h +++ b/src/blackcore/context_audio_impl.h @@ -78,12 +78,6 @@ namespace BlackCore //! \copydoc IContextAudio::setCurrentAudioDevice() virtual void setCurrentAudioDevice(const BlackMisc::Audio::CAudioDeviceInfo &audioDevice) override; - //! \copydoc IContextAudio::setVolumes - virtual void setVolumes(const BlackMisc::Aviation::CComSystem &com1, const BlackMisc::Aviation::CComSystem &com2) override; - - //!\copydoc IContext::setVolumes - virtual void setVolumes(int com1Volume, int com2Volume) override; - //!\copydoc IContext::setVoiceOutputVolume virtual void setVoiceOutputVolume(int volume) override; diff --git a/src/blackcore/context_audio_proxy.cpp b/src/blackcore/context_audio_proxy.cpp index 220607b45..b3cf22cff 100644 --- a/src/blackcore/context_audio_proxy.cpp +++ b/src/blackcore/context_audio_proxy.cpp @@ -36,7 +36,7 @@ namespace BlackCore "changedVoiceRooms", this, SIGNAL(changedVoiceRooms(BlackMisc::Audio::CVoiceRoomList, bool))); Q_ASSERT(s); s = connection.connect(serviceName, IContextAudio::ObjectPath(), IContextAudio::InterfaceName(), - "changedAudioVolumes", this, SIGNAL(changedAudioVolumes(qint32, qint32))); + "changedAudioVolume", this, SIGNAL(changedAudioVolume(int))); Q_ASSERT(s); s = connection.connect(serviceName, IContextAudio::ObjectPath(), IContextAudio::InterfaceName(), "changedAudioDevices", this, SIGNAL(changedAudioDevices(BlackMisc::Audio::CAudioDeviceInfoList))); @@ -146,22 +146,6 @@ namespace BlackCore this->m_dBusInterface->callDBus(QLatin1Literal("playNotification"), notification, considerSettings); } - /* - * Volumes, by COM systems - */ - void CContextAudioProxy::setVolumes(const BlackMisc::Aviation::CComSystem &com1, const BlackMisc::Aviation::CComSystem &com2) - { - this->m_dBusInterface->callDBus(QLatin1Literal("setVolumes"), com1, com2); - } - - /* - * Volumes - */ - void CContextAudioProxy::setVolumes(int com1Volume, int com2Volume) - { - this->m_dBusInterface->callDBus(QLatin1Literal("setVolumes"), com1Volume, com2Volume); - } - void CContextAudioProxy::setVoiceOutputVolume(int volume) { this->m_dBusInterface->callDBus(QLatin1Literal("setVoiceOutputVolume"), volume); diff --git a/src/blackcore/context_audio_proxy.h b/src/blackcore/context_audio_proxy.h index 4b7dbaaa1..7704fbe7c 100644 --- a/src/blackcore/context_audio_proxy.h +++ b/src/blackcore/context_audio_proxy.h @@ -81,12 +81,6 @@ namespace BlackCore //! \copydoc IContextAudio::setCurrentAudioDevice() virtual void setCurrentAudioDevice(const BlackMisc::Audio::CAudioDeviceInfo &audioDevice) override; - //! \copydoc IContextAudio::setVolumes() - virtual void setVolumes(const BlackMisc::Aviation::CComSystem &com1, const BlackMisc::Aviation::CComSystem &com2) override; - - //!\copydoc IContextAudio::setVolumes - virtual void setVolumes(int com1Volume, int com2Volume) override; - //!\copydoc IContext::setVoiceOutputVolume virtual void setVoiceOutputVolume(int volume) override; diff --git a/src/blackcore/context_ownaircraft.h b/src/blackcore/context_ownaircraft.h index d47c131f2..39c539e65 100644 --- a/src/blackcore/context_ownaircraft.h +++ b/src/blackcore/context_ownaircraft.h @@ -96,8 +96,8 @@ namespace BlackCore //! Own SELCAL code virtual bool updateSelcal(const BlackMisc::Aviation::CSelcal &selcal, const QString &originator) = 0; - //! Output volumes, volumes 0..100 - virtual void setAudioOutputVolumes(int outputVolumeCom1, int outputVolumeCom2) = 0; + //! Output volume 0..300 + virtual void setAudioOutputVolume(int outputVolume) = 0; //! Set individual voice rooms (overrides voice rooms) //! \remarks Empty string "" disables voice room override diff --git a/src/blackcore/context_ownaircraft_impl.cpp b/src/blackcore/context_ownaircraft_impl.cpp index a32ce255e..3e1c5c18c 100644 --- a/src/blackcore/context_ownaircraft_impl.cpp +++ b/src/blackcore/context_ownaircraft_impl.cpp @@ -183,19 +183,11 @@ namespace BlackCore return true; } - void CContextOwnAircraft::setAudioOutputVolumes(int outputVolumeCom1, int outputVolumeCom2) + void CContextOwnAircraft::setAudioOutputVolume(int outputVolume) { - CLogMessage(this, CLogCategory::contextSlot()).debug() << Q_FUNC_INFO << outputVolumeCom1 << outputVolumeCom2; + CLogMessage(this, CLogCategory::contextSlot()).debug() << Q_FUNC_INFO << outputVolume; - CComSystem com1 = this->m_ownAircraft.getCom1System(); - com1.setVolumeOutput(outputVolumeCom1); - this->m_ownAircraft.setCom1System(com1); - - CComSystem com2 = this->m_ownAircraft.getCom2System(); - com2.setVolumeOutput(outputVolumeCom2); - this->m_ownAircraft.setCom2System(com1); - - if (this->getIContextAudio()) this->getIContextAudio()->setVolumes(com1, com2); + if (this->getIContextAudio()) this->getIContextAudio()->setVoiceOutputVolume(outputVolume); } /* diff --git a/src/blackcore/context_ownaircraft_impl.h b/src/blackcore/context_ownaircraft_impl.h index a6ecd789b..96753c895 100644 --- a/src/blackcore/context_ownaircraft_impl.h +++ b/src/blackcore/context_ownaircraft_impl.h @@ -68,8 +68,8 @@ namespace BlackCore //! \copydoc IContextOwnAircraft::updateSelcal virtual bool updateSelcal(const BlackMisc::Aviation::CSelcal &selcal, const QString &originator) override; - //! \copydoc IContextOwnAircraft::setAudioOutputVolumes - virtual void setAudioOutputVolumes(int outputVolumeCom1, int outputVolumeCom2) override; + //! \copydoc IContextOwnAircraft::setAudioOutputVolume + virtual void setAudioOutputVolume(int outputVolume) override; //! \copydoc IContextOwnAircraft::setAudioVoiceRoomOverrideUrls virtual void setAudioVoiceRoomOverrideUrls(const QString &voiceRoom1Url, const QString &voiceRoom2Url) override; diff --git a/src/blackcore/context_ownaircraft_proxy.cpp b/src/blackcore/context_ownaircraft_proxy.cpp index 8884396e5..706a83298 100644 --- a/src/blackcore/context_ownaircraft_proxy.cpp +++ b/src/blackcore/context_ownaircraft_proxy.cpp @@ -80,9 +80,9 @@ namespace BlackCore return this->m_dBusInterface->callDBusRet(QLatin1Literal("updateIcaoData"), icaoData); } - void CContextOwnAircraftProxy::setAudioOutputVolumes(int outputVolumeCom1, int outputVolumeCom2) + void CContextOwnAircraftProxy::setAudioOutputVolume(int outputVolume) { - this->m_dBusInterface->callDBus(QLatin1Literal("updateCockpitOutputVolumes"), outputVolumeCom1, outputVolumeCom2); + this->m_dBusInterface->callDBus(QLatin1Literal("setAudioOutputVolume"), outputVolume); } void CContextOwnAircraftProxy::setAudioVoiceRoomOverrideUrls(const QString &voiceRoom1Url, const QString &voiceRoom2Url) diff --git a/src/blackcore/context_ownaircraft_proxy.h b/src/blackcore/context_ownaircraft_proxy.h index c9caa9408..c4bdbbee7 100644 --- a/src/blackcore/context_ownaircraft_proxy.h +++ b/src/blackcore/context_ownaircraft_proxy.h @@ -59,7 +59,7 @@ namespace BlackCore virtual bool updateIcaoData(const BlackMisc::Aviation::CAircraftIcao &icaoData) override; //! \copydoc IContextOwnAircraft::setAudioOutputVolumes - virtual void setAudioOutputVolumes(int outputVolumeCom1, int outputVolumeCom2) override; + virtual void setAudioOutputVolume(int outputVolume) override; //! \copydoc IContextOwnAircraft::setAudioVoiceRoomOverrideUrls virtual void setAudioVoiceRoomOverrideUrls(const QString &voiceRoom1Url, const QString &voiceRoom2Url); diff --git a/src/blackgui/components/audiovolumecomponent.cpp b/src/blackgui/components/audiovolumecomponent.cpp index 17d18839e..94f0ab6c9 100644 --- a/src/blackgui/components/audiovolumecomponent.cpp +++ b/src/blackgui/components/audiovolumecomponent.cpp @@ -43,7 +43,7 @@ namespace BlackGui // from audio context bool c = connect(this->getIContextAudio(), &IContextAudio::changedMute, this, &CAudioVolumeComponent::ps_onMuteChanged); Q_ASSERT(c); - connect(this->getIContextAudio(), &IContextAudio::changedAudioVolumes, this, &CAudioVolumeComponent::ps_onVolumesChanged); +// connect(this->getIContextAudio(), &IContextAudio::changedAudioVolumes, this, &CAudioVolumeComponent::ps_onVolumesChanged); Q_ASSERT(c); // to audio audio context @@ -72,7 +72,7 @@ namespace BlackGui qint32 v2 = this->ui->hs_VolumeCom2->value(); this->ui->hs_VolumeCom1->setToolTip(QString::number(v1)); this->ui->hs_VolumeCom2->setToolTip(QString::number(v2)); - this->getIContextAudio()->setVolumes(v1, v2); +// this->getIContextAudio()->setVolumes(v1, v2); } void CAudioVolumeComponent::ps_onWindowsMixerRequested() diff --git a/src/blackgui/components/infobarstatuscomponent.cpp b/src/blackgui/components/infobarstatuscomponent.cpp index 085d6b619..f28043a0a 100644 --- a/src/blackgui/components/infobarstatuscomponent.cpp +++ b/src/blackgui/components/infobarstatuscomponent.cpp @@ -92,7 +92,7 @@ namespace BlackGui { this->ui->led_Audio->setOn(!this->getIContextAudio()->isMuted()); connect(getIContextAudio(), &IContextAudio::changedMute, this, &CInfoBarStatusComponent::ps_onMuteChanged); - connect(getIContextAudio(), &IContextAudio::changedAudioVolumes, this, &CInfoBarStatusComponent::ps_onVolumesChanged); +// connect(getIContextAudio(), &IContextAudio::changedAudioVolumes, this, &CInfoBarStatusComponent::ps_onVolumesChanged); } } diff --git a/src/blackgui/components/mainkeypadareacomponent.cpp b/src/blackgui/components/mainkeypadareacomponent.cpp index 39a1ced16..a0008ff46 100644 --- a/src/blackgui/components/mainkeypadareacomponent.cpp +++ b/src/blackgui/components/mainkeypadareacomponent.cpp @@ -117,7 +117,7 @@ namespace BlackGui } else if (senderButton == this->ui->pb_SoundMaxVolume && this->getIContextAudio()) { - this->getIContextAudio()->setVolumes(100, 100); + this->getIContextAudio()->setVoiceOutputVolume(100); } else if (senderButton == this->ui->pb_SoundMute && this->getIContextAudio()) {