[AFV] Ref T739, start/stop audio improvements

* signals
* "restart" without devices
This commit is contained in:
Klaus Basan
2019-10-25 01:12:51 +02:00
committed by Mat Sutcliffe
parent 222d0af93b
commit 767b999330
4 changed files with 40 additions and 10 deletions

View File

@@ -142,6 +142,7 @@ namespace BlackCore
// connect(m_voiceClient, &CAfvClient::receivingCallsignsChanged, this, &CContextAudioBase::receivingCallsignsChanged, Qt::QueuedConnection);
// connect(m_voiceClient, &CAfvClient::updatedFromOwnAircraftCockpit, this, &CContextAudioBase::updatedFromOwnAircraftCockpit, Qt::QueuedConnection);
connect(m_voiceClient, &CAfvClient::startedAudio, this, &CContextAudioBase::startedAudio, Qt::QueuedConnection);
connect(m_voiceClient, &CAfvClient::stoppedAudio, this, &CContextAudioBase::stoppedAudio, Qt::QueuedConnection);
connect(m_voiceClient, &CAfvClient::ptt, this, &CContextAudioBase::ptt, Qt::QueuedConnection);
const CSettings as = m_audioSettings.getThreadLocal();
@@ -204,6 +205,11 @@ namespace BlackCore
return m_voiceClient && m_voiceClient->isConnected();
}
bool CContextAudioBase::isAudioStarted() const
{
return m_voiceClient && m_voiceClient->isStarted();
}
QString CContextAudioBase::audioRunsWhereInfo() const
{
static const QString s = QStringLiteral("Audio on '%1', '%2'.").arg(audioRunsWhere().getMachineName(), audioRunsWhere().getProcessName());

View File

@@ -177,9 +177,12 @@ namespace BlackCore
//! Is COM unit transmitting?
bool isTransmittingComUnit(BlackMisc::Aviation::CComSystem::ComUnit comUnit) const;
//! Is audio started
//! Is audio connected?
bool isAudioConnected() const;
//! Is audio started?
bool isAudioStarted() const;
//! \todo WORKAROUND to hide the "local signals"
Afv::Clients::CAfvClient *afvClient() const { return m_voiceClient; }
@@ -212,9 +215,12 @@ namespace BlackCore
//! Changed audio devices (e.g. device enabled/disable)
void changedAudioDevices(const BlackMisc::Audio::CAudioDeviceInfoList &devices);
//! Audio started with
//! Audio started with devices
void startedAudio(const BlackMisc::Audio::CAudioDeviceInfo &input, const BlackMisc::Audio::CAudioDeviceInfo &output);
//! Audio stopped
void stoppedAudio();
//! PTT in voice client received
void ptt(bool active, BlackMisc::Audio::PTTCOM pttcom, const BlackMisc::CIdentifier &identifier);