mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-05-01 22:55:41 +08:00
[AFV] Using the aliased frequencies can be enabled/disabled
* flag * "dot command" * register audio "dot commands" for audio
This commit is contained in:
committed by
Mat Sutcliffe
parent
84cfec81e7
commit
efee7968dc
@@ -1030,6 +1030,9 @@ namespace BlackCore
|
|||||||
// void rounding issues from float/double
|
// void rounding issues from float/double
|
||||||
quint32 roundedFrequencyHz = static_cast<quint32>(qRound(frequencyHz / 1000.0)) * 1000;
|
quint32 roundedFrequencyHz = static_cast<quint32>(qRound(frequencyHz / 1000.0)) * 1000;
|
||||||
|
|
||||||
|
// disabled?
|
||||||
|
if (!m_enableAliased) { return roundedFrequencyHz; }
|
||||||
|
|
||||||
// change to aliased frequency if needed
|
// change to aliased frequency if needed
|
||||||
{
|
{
|
||||||
QMutexLocker lock(&m_mutex);
|
QMutexLocker lock(&m_mutex);
|
||||||
|
|||||||
@@ -164,6 +164,13 @@ namespace BlackCore
|
|||||||
QSet<quint16> getEnabledTransceivers() const;
|
QSet<quint16> getEnabledTransceivers() const;
|
||||||
//! @}
|
//! @}
|
||||||
|
|
||||||
|
//! Aliased stations enabled?
|
||||||
|
//! \threadsafe
|
||||||
|
//! @{
|
||||||
|
bool isAliasedStationsEnabled() const { return m_enableAliased; }
|
||||||
|
void enableAliasedStations(bool enabled) { m_enableAliased = enabled; }
|
||||||
|
//! @}
|
||||||
|
|
||||||
//! Update frequency
|
//! Update frequency
|
||||||
//! \threadsafe
|
//! \threadsafe
|
||||||
//! @{
|
//! @{
|
||||||
@@ -345,10 +352,11 @@ namespace BlackCore
|
|||||||
static const QVector<quint16> &allTransceiverIds() { static const QVector<quint16> transceiverIds{0, 1}; return transceiverIds; }
|
static const QVector<quint16> &allTransceiverIds() { static const QVector<quint16> transceiverIds{0, 1}; return transceiverIds; }
|
||||||
|
|
||||||
std::atomic_int m_connectMismatches { 0 };
|
std::atomic_int m_connectMismatches { 0 };
|
||||||
std::atomic_bool m_isStarted { false };
|
std::atomic_bool m_isStarted { false };
|
||||||
std::atomic_bool m_loopbackOn { false };
|
std::atomic_bool m_loopbackOn { false };
|
||||||
std::atomic_bool m_winCoInitialized { false }; //!< Windows only CoInitializeEx
|
std::atomic_bool m_enableAliased { true };
|
||||||
std::atomic_bool m_integratedComUnit { false }; //!< is COM unit sychronized, integrated
|
std::atomic_bool m_winCoInitialized { false }; //!< Windows only CoInitializeEx
|
||||||
|
std::atomic_bool m_integratedComUnit { false }; //!< is COM unit sychronized, integrated?
|
||||||
|
|
||||||
QDateTime m_startDateTimeUtc;
|
QDateTime m_startDateTimeUtc;
|
||||||
|
|
||||||
|
|||||||
@@ -17,6 +17,7 @@
|
|||||||
#include "blackcore/context/contextaudioproxy.h"
|
#include "blackcore/context/contextaudioproxy.h"
|
||||||
#include "blackmisc/simplecommandparser.h"
|
#include "blackmisc/simplecommandparser.h"
|
||||||
#include "blackmisc/dbusserver.h"
|
#include "blackmisc/dbusserver.h"
|
||||||
|
#include "blackmisc/stringutils.h"
|
||||||
#include "blackmisc/verify.h"
|
#include "blackmisc/verify.h"
|
||||||
#include "blackmisc/icons.h"
|
#include "blackmisc/icons.h"
|
||||||
#include "blackconfig/buildconfig.h"
|
#include "blackconfig/buildconfig.h"
|
||||||
@@ -90,7 +91,8 @@ namespace BlackCore
|
|||||||
{
|
{
|
||||||
".vol", ".volume", // output volume
|
".vol", ".volume", // output volume
|
||||||
".mute", // mute
|
".mute", // mute
|
||||||
".unmute" // unmute
|
".unmute", // unmute
|
||||||
|
".aliased"
|
||||||
});
|
});
|
||||||
parser.parse(commandLine);
|
parser.parse(commandLine);
|
||||||
if (!parser.isKnownCommand()) { return false; }
|
if (!parser.isKnownCommand()) { return false; }
|
||||||
@@ -107,8 +109,17 @@ namespace BlackCore
|
|||||||
}
|
}
|
||||||
else if (parser.commandStartsWith("vol") && parser.countParts() > 1)
|
else if (parser.commandStartsWith("vol") && parser.countParts() > 1)
|
||||||
{
|
{
|
||||||
int v = parser.toInt(1);
|
const int v = parser.toInt(1);
|
||||||
this->setVoiceOutputVolume(v);
|
this->setVoiceOutputVolume(v);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
else if (afvClient() && parser.matchesCommand(".aliased") && parser.countParts() > 1)
|
||||||
|
{
|
||||||
|
const bool enable = parser.toBool(1, true);
|
||||||
|
afvClient()->enableAliasedStations(enable);
|
||||||
|
|
||||||
|
CLogMessage(this).info(u"Aliased stations are: %1") << boolToOnOff(enable);
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -117,6 +128,8 @@ namespace BlackCore
|
|||||||
IContextAudio(mode, runtime),
|
IContextAudio(mode, runtime),
|
||||||
CIdentifiable(this)
|
CIdentifiable(this)
|
||||||
{
|
{
|
||||||
|
CContextAudioBase::registerHelp();
|
||||||
|
|
||||||
if (CContextAudioBase::isNoAudioSet())
|
if (CContextAudioBase::isNoAudioSet())
|
||||||
{
|
{
|
||||||
CLogMessage(this).info(u"Voice client disabled");
|
CLogMessage(this).info(u"Voice client disabled");
|
||||||
|
|||||||
@@ -33,6 +33,7 @@
|
|||||||
#include "blackmisc/network/userlist.h"
|
#include "blackmisc/network/userlist.h"
|
||||||
#include "blackmisc/input/actionhotkeydefs.h"
|
#include "blackmisc/input/actionhotkeydefs.h"
|
||||||
#include "blackmisc/genericdbusinterface.h"
|
#include "blackmisc/genericdbusinterface.h"
|
||||||
|
#include "blackmisc/simplecommandparser.h"
|
||||||
#include "blackmisc/identifiable.h"
|
#include "blackmisc/identifiable.h"
|
||||||
#include "blackmisc/identifier.h"
|
#include "blackmisc/identifier.h"
|
||||||
|
|
||||||
@@ -226,6 +227,16 @@ namespace BlackCore
|
|||||||
//! No audio?
|
//! No audio?
|
||||||
static bool isNoAudioSet();
|
static bool isNoAudioSet();
|
||||||
|
|
||||||
|
//! Register the commands
|
||||||
|
static void registerHelp()
|
||||||
|
{
|
||||||
|
if (BlackMisc::CSimpleCommandParser::registered("BlackCore::Context::CContextAudioBase")) { return; }
|
||||||
|
BlackMisc::CSimpleCommandParser::registerCommand({".mute", "mute audio"});
|
||||||
|
BlackMisc::CSimpleCommandParser::registerCommand({".unmute", "unmute audio"});
|
||||||
|
BlackMisc::CSimpleCommandParser::registerCommand({".vol volume", "volume 0..100"});
|
||||||
|
BlackMisc::CSimpleCommandParser::registerCommand({".aliased on|off", "aliased HF frequencies"});
|
||||||
|
}
|
||||||
|
|
||||||
// -------- parts which can run in core and GUI, referring to local voice client ------------
|
// -------- parts which can run in core and GUI, referring to local voice client ------------
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
@@ -238,13 +249,13 @@ namespace BlackCore
|
|||||||
//! .mute mute BlackCore::Context::CContextAudioBase
|
//! .mute mute BlackCore::Context::CContextAudioBase
|
||||||
//! .unmute unmute BlackCore::Context::CContextAudioBase
|
//! .unmute unmute BlackCore::Context::CContextAudioBase
|
||||||
//! .vol .volume volume 0..100 set volume BlackCore::Context::CContextAudioBase
|
//! .vol .volume volume 0..100 set volume BlackCore::Context::CContextAudioBase
|
||||||
|
//! .aliased on|off aliased stations BlackCore::Context::CContextAudioBase
|
||||||
//! </pre>
|
//! </pre>
|
||||||
virtual bool parseCommandLine(const QString &commandLine, const BlackMisc::CIdentifier &originator) override;
|
virtual bool parseCommandLine(const QString &commandLine, const BlackMisc::CIdentifier &originator) override;
|
||||||
//! \endcond
|
//! \endcond
|
||||||
|
|
||||||
// ------------- DBus ---------------
|
// ------------- DBus ---------------
|
||||||
|
|
||||||
|
|
||||||
// ------------ local signals -------
|
// ------------ local signals -------
|
||||||
signals:
|
signals:
|
||||||
//! Audio volume changed
|
//! Audio volume changed
|
||||||
|
|||||||
Reference in New Issue
Block a user