diff --git a/src/blackcore/audio/audiosettings.h b/src/blackcore/audio/audiosettings.h index 33d4685c0..8d1d33207 100644 --- a/src/blackcore/audio/audiosettings.h +++ b/src/blackcore/audio/audiosettings.h @@ -52,6 +52,22 @@ namespace BlackCore //! \copydoc BlackCore::TSettingTrait::humanReadable static const QString &humanReadable() { static const QString name("Output device"); return name; } }; + + //! Audio input device settings + struct TVatsimVoiceUdpPort : public BlackMisc::TSettingTrait + { + //! \copydoc BlackMisc::TSettingTrait::key + static const char *key() { return "audio/vatsimvoiceudpport"; } + + //! \copydoc BlackCore::TSettingTrait::humanReadable + static const QString &humanReadable() { static const QString name("Vatsim voice UDP port"); return name; } + + //! \copydoc BlackMisc::TSettingTrait::defaultValue + static int defaultValue() { return 3290; } + + //! \copydoc BlackCore::TSettingTrait::isValid + static bool isValid(int port) { return port >= 0 && port <= 65535; } + }; } // ns } // ns diff --git a/src/blackcore/vatsim/voicevatlib.cpp b/src/blackcore/vatsim/voicevatlib.cpp index c8bfbd499..fcc4d737d 100644 --- a/src/blackcore/vatsim/voicevatlib.cpp +++ b/src/blackcore/vatsim/voicevatlib.cpp @@ -36,7 +36,7 @@ namespace BlackCore CVoiceVatlib::CVoiceVatlib(QObject *parent) : IVoice(parent), m_audioService(Vat_CreateAudioService()), - m_udpPort(Vat_CreateUDPAudioPort(m_audioService.data(), 0)) + m_udpPort(Vat_CreateUDPAudioPort(m_audioService.data(), m_vatsimVoicePortSetting.getThreadLocal())) { Vat_SetVoiceLogHandler(SeverityLevel::SeverityError, CVoiceVatlib::voiceLogHandler); diff --git a/src/blackcore/vatsim/voicevatlib.h b/src/blackcore/vatsim/voicevatlib.h index c2eda0287..57ab04c92 100644 --- a/src/blackcore/vatsim/voicevatlib.h +++ b/src/blackcore/vatsim/voicevatlib.h @@ -12,6 +12,7 @@ #ifndef BLACKCORE_VOICE_VATLIB_H #define BLACKCORE_VOICE_VATLIB_H +#include "blackcore/audio/audiosettings.h" #include "blackcore/audiomixer.h" #include "blackcore/blackcoreexport.h" #include "blackcore/voice.h" @@ -116,6 +117,9 @@ namespace BlackCore static void voiceLogHandler(SeverityLevel severity, const char *context, const char *message); + // settings + BlackMisc::CSettingReadOnly m_vatsimVoicePortSetting { this }; + QScopedPointer m_audioService; QScopedPointer m_udpPort; };