Commit Graph

2459 Commits

Author SHA1 Message Date
Klaus Basan
caa78395a9 Ref T730, allow to init TxTransceiverDto from TransceiverDto 2019-10-11 19:00:49 +01:00
Klaus Basan
f81a9e8447 Ref T730, Ref T739, make sure transmitting receivers are correct
* deferred init, make sure values from context are used (if possible)
* only use 1 transmitting transceiver
2019-10-11 19:00:48 +01:00
Klaus Basan
ff33b59683 Ref T739, make member of CAfvClient a "pointer"
* we can use forward declaration for m_voiceClient
* make IContextAudio -> BlackMisc::CIdentifiable
* removed delayedInitMicrophone, RR will move it to another place
2019-10-11 19:00:48 +01:00
Roland Rossgotterer
3bf4eda702 [AFV] Start audio with configured device or default 2019-10-11 19:00:48 +01:00
Roland Rossgotterer
3792c4fa76 [AFV] Do not restart audio if it was not started yet 2019-10-11 19:00:47 +01:00
Roland Rossgotterer
9d172c3d7d [AFV] Do gracefull shutdown in IContextAudio destructor 2019-10-11 19:00:47 +01:00
Roland Rossgotterer
4827c0e4ab [AFV] Request permission to access microphone on MacOS 2019-10-11 19:00:47 +01:00
Roland Rossgotterer
4d3da8450f Fix namespace in template function 2019-10-11 19:00:46 +01:00
Klaus Basan
d3c0e75248 Ref T730, added voice server setup (settings for server URLs) to context 2019-10-11 19:00:45 +01:00
Klaus Basan
e485824bfc Ref T730, allow to update voice server URL 2019-10-11 19:00:45 +01:00
Klaus Basan
c842820267 Ref T730, consider settings for clikc/block sounds and log categories 2019-10-11 19:00:45 +01:00
Klaus Basan
ca90a225e1 Ref T730, removed unused timer code in input 2019-10-11 19:00:45 +01:00
Klaus Basan
713d2ee626 Ref T730, Ref T739 avoid timer stopping issue during shutdown
* use timer with parent
* avoid QObject::~QObject: Timers cannot be stopped from another thread
* see https://discordapp.com/channels/539048679160676382/623947987822837779/630521007056224286
2019-10-11 19:00:44 +01:00
Klaus Basan
b0f1f5fae4 Ref T730, use physical unit 2019-10-11 19:00:44 +01:00
Klaus Basan
f69edff5c0 Ref T730, context shutdown
* virtual function for "about to shutdown"
* graceful shutdown
2019-10-11 19:00:43 +01:00
Klaus Basan
857e3581b0 Ref T730, style
* set object name
* use m_XYZ member name
2019-10-11 19:00:43 +01:00
Klaus Basan
c604ced11c [AFV] Ref T730, improved "locking"
* use more fine granular locks
* do NOT lock signals (when emit is used)
2019-10-11 19:00:43 +01:00
Klaus Basan
b802933422 Ref T730, use an event loop with parent "this"
* central function to get QEventLoop (this can also be used to set a timeout)
* do NOT use sApp as parent -> parent must be in same thread
2019-10-11 19:00:43 +01:00
Klaus Basan
401c89aa63 Ref T730, style and log messages 2019-10-11 19:00:42 +01:00
Klaus Basan
e30b690191 Ref T730, use Pointer<QEventLoop> loop to avoid issue with deleted references 2019-10-11 19:00:42 +01:00
Klaus Basan
9ddb55e79f Ref T731, Ref T739, adjusted launcher to only support "STANDALONE" and "DISTRIBUTED"
* the audio on core/GUI modes are no longer valid
* aligned the core mode enum
2019-10-11 19:00:42 +01:00
Klaus Basan
bcd97c3a60 Ref T731, correct UI audio messages 2019-10-11 19:00:41 +01:00
Roland Rossgotterer
b8661918d7 [AFV] Finalize blocking tone
Blocking tone is emitted if more than one station is received
in parallel.
2019-10-11 19:00:40 +01:00
Mat Sutcliffe
ec0a20b1d1 [AFV] Fixed context unittest that was broken by audio context changes 2019-10-11 19:00:40 +01:00
Mat Sutcliffe
b90855d393 [AFV] Fixed GCC and Clang errors 2019-10-11 19:00:40 +01:00
Mat Sutcliffe
712cc59dac [FSD] Fixed CContextNetworkProxy::relaySignals 2019-10-11 19:00:39 +01:00
Mat Sutcliffe
ad627fa351 [FSD] Fixed failing test and crashing test 2019-10-11 19:00:39 +01:00
Mat Sutcliffe
9aabd5db04 [FSD] Superfluous parentheses 2019-10-11 19:00:39 +01:00
Mat Sutcliffe
077476c138 [FSD] Style 2019-10-11 19:00:39 +01:00
Mat Sutcliffe
2dbc347bd7 [FSD] Doxygen 2019-10-11 19:00:38 +01:00
Mat Sutcliffe
6eb008c0a0 [FSD] Use forward declaration to reduce header interdependency 2019-10-11 19:00:38 +01:00
Roland Rossgotterer
d3a1eb1d60 [AFV] First version of threaded CAfvClient 2019-10-11 19:00:38 +01:00
Klaus Basan
d1006160f8 Ref T730, style 2019-10-11 19:00:37 +01:00
Klaus Basan
027dc50b69 Ref T739, avoid issues with binding during shutdown 2019-10-11 19:00:37 +01:00
Klaus Basan
66ea77d25f Ref T739, removed voice room functions from context and UI 2019-10-11 19:00:37 +01:00
Klaus Basan
f09e99333f Ref T739, changed core modes which no longer make sense like "audio in core" 2019-10-11 19:00:37 +01:00
Klaus Basan
2a7633dc31 Ref T739, removed no longer used audio proxy functions (slots) 2019-10-11 19:00:36 +01:00
Klaus Basan
b3d8eddb26 Ref T739, empty context removed
Empty context will not work, as it would init a new audio client just before shutting down
2019-10-11 19:00:36 +01:00
Klaus Basan
ce772baf79 Ref T739, moved code for voice client to IContextAudio
* code can be used on both sides (UI/core)
* the lots become normal public functions
* the slots will be used for new DBus functions
2019-10-11 19:00:36 +01:00
Klaus Basan
66968ff3a5 Ref T739, style 2019-10-11 19:00:36 +01:00
Klaus Basan
09e65a2525 Ref T739, renamed CContext -> IContext
This reflects the purpose better, it is a base class for all context interfaces
2019-10-11 19:00:35 +01:00
Klaus Basan
4c170e0ac4 Ref T730, reply in CAfvClient can be nullptr when called from another thread
* nullptr is a normal condition
* see https://discordapp.com/channels/539048679160676382/623947987822837779/629780397986676766
2019-10-11 19:00:34 +01:00
Klaus Basan
226b601565 Ref T730, log category 2019-10-11 19:00:34 +01:00
Klaus Basan
27fedad3fd Ref T730, renamed to CApiServerConnection 2019-10-11 19:00:34 +01:00
Klaus Basan
61d82ab780 Ref T570, prepared ApiServerConnection for "threaded AFV client"
* use get/post/deleteFromNetwork function in sApp (calling QAM in coorect thread)
* removed timer, use QDateTime::currentMSecsSinceEpoch - one member less causing issues in threaded environment
* using CLogMessage instead of qDebug/qWarning
* unified log messages
2019-10-11 19:00:34 +01:00
Klaus Basan
ff6b7f8deb Ref T730, added deleteResourceFromNetwork and modified CSlot (directly accept object witb std::function) 2019-10-11 19:00:34 +01:00
Klaus Basan
6e9fa0b2ad Ref T730, style 2019-10-11 19:00:33 +01:00
Roland Rossgotterer
90e87835fc [AFV] Select audio device based on situational need
For AFV itself, a low latency device is required (which on Windows most likely will pick WASAPI).
For notifications and effects, the most compatible device is required (which on Windows will most likely fall back to QWindowsAudio).
2019-10-11 19:00:32 +01:00
Roland Rossgotterer
a2e3700739 Replace QAudioDeviceInfo with CAudioDeviceInfo where possible
QAudioDeviceInfo is a low level technical class, which shouldn't be used in higher level code. Remove it from all APIs
where possible and just create it in order to interface with QAudio
2019-10-11 19:00:31 +01:00
Roland Rossgotterer
8656131eb1 Remove all obsolete vatlib voice classes 2019-10-11 19:00:31 +01:00