mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-02 23:25:53 +08:00
refs #371 Replace COM based volume methods by global output volume
This commit is contained in:
committed by
Klaus Basan
parent
1587b4791a
commit
77e0165e9a
@@ -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;
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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())
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user