refs #371 Replace COM based volume methods by global output volume

This commit is contained in:
Roland Winklmeier
2015-02-06 20:02:47 +01:00
committed by Klaus Basan
parent 1587b4791a
commit 77e0165e9a
13 changed files with 22 additions and 105 deletions

View File

@@ -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;

View File

@@ -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<int>(m_channel1->getVolume());
int channelV2 = static_cast<int>(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;

View File

@@ -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;

View File

@@ -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);

View File

@@ -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;

View File

@@ -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

View File

@@ -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);
}
/*

View File

@@ -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;

View File

@@ -80,9 +80,9 @@ namespace BlackCore
return this->m_dBusInterface->callDBusRet<bool>(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)

View File

@@ -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);

View File

@@ -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()

View File

@@ -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);
}
}

View File

@@ -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())
{