Commit Graph

114 Commits

Author SHA1 Message Date
Klaus Basan
f236b54084 Style 2019-10-18 10:36:24 +02:00
Roland Rossgotterer
1051cc5751 [AFV] Add fuzzy callsign matching before aliasing a HF station
# Conflicts:
#	src/blackcore/afv/clients/afvclient.h
2019-10-18 10:36:24 +02:00
Roland Rossgotterer
2362e25593 [AFV] Add client version to API auth 2019-10-18 10:36:24 +02:00
Klaus Basan
f980fd02d5 [AFV] Ref T739, check if COM integration is used and make sure to use TX/RX defaults if NOT
There was a bug that COM integration was used although it was disabled
2019-10-18 10:36:24 +02:00
Klaus Basan
632a85d079 [AFV] changed AFV update rate to 20secs 2019-10-18 10:36:23 +02:00
Klaus Basan
a334b97ac6 [AFV] Ref T730, use callbacks for "connectTo", avoid EventLoop
* this is a pure asynchronous concept
* callbacks are called when network request "is done"
2019-10-16 17:40:33 +02:00
Klaus Basan
218c099456 [AFV] Ref T730, Ref T739, mutexes for some parts which still were NOT threadsafe
* connection object
* auto logoff if FSD terminates and voice client is still online
* "the server is full" is a good test case for the auto logoff,
  FSD login fails, AFV login works, and needs to be terminated

IMPORTANT: using the mutex before login results in a situation where the EventLoop runs into a deadlock
See https://discordapp.com/channels/539048679160676382/623947987822837779/633338177922269224
2019-10-16 17:40:33 +02:00
Klaus Basan
de75cdc214 [AFV] Ref T730 incorporated MS fixes
see https://discordapp.com/channels/539048679160676382/623947987822837779/633025547999510530
2019-10-16 17:40:32 +02:00
Klaus Basan
563e5d85be Style 2019-10-16 17:40:32 +02:00
Klaus Basan
af2fb4933d [AFV] Ref T730, init in/out dB values - avoid issue with unitialized values 2019-10-13 19:49:19 +02:00
Klaus Basan
7b368076ba [AFV] Ref T730, make output buffer a pointer and avoid the buffer is connected multiple times with CAudioInputBuffer::frameAvailable
* discussion https://discordapp.com/channels/539048679160676382/623947987822837779/632921747171311616
* pass "whole" QAudioFormat to CAudioInputBuffer (not only channel count), maybe useful in future
* parent for buffer is required, removed default
2019-10-13 19:49:19 +02:00
Klaus Basan
e76bbbbca3 [AFV] Ref T730, COutput always needs a parent (threading) and minor adjustments 2019-10-13 16:47:42 +02:00
Klaus Basan
73f191619a [AFV] Ref T730, renamed to COutput 2019-10-13 16:47:41 +02:00
Klaus Basan
745eb01000 [AFV] Ref T730, pass channel count to input 2019-10-13 16:47:41 +02:00
Klaus Basan
0a24d80291 [AFV], Ref T730 only startAudio and stopAudio
* start audio restarts if devices change
* restart no longer needed
* stop normally is only needed at the end of the lifetime of CAfvClient
* signal: startAudio
2019-10-13 16:47:41 +02:00
Klaus Basan
541ce76fb6 [AFV] Ref T730, check for same device 2019-10-13 16:47:41 +02:00
Klaus Basan
10a64c0330 [AFV] Ref T730, do NOT stop audio when disconnecting from FSD
* only disconnect from AFV server
* keep position tmer alive (preset values)
2019-10-13 16:47:41 +02:00
Klaus Basan
142be3cbd7 Ref T730, style 2019-10-13 16:47:41 +02:00
Klaus Basan
3880de5e0c [AFV] Ref T730, added graceful shutdown in AFV client itself
Also disconnect from network during "shutdown"
2019-10-13 16:47:40 +02:00
Klaus Basan
d2de52f818 [AFV] Ref T730, use CoInitializeEx on windows for threaded CAfvClient 2019-10-13 16:47:40 +02:00
Klaus Basan
fe81843a5a [AFV] Ref T730, use BlackMisc::singleShot to call deferredInit() in correct thread 2019-10-13 16:47:40 +02:00
Klaus Basan
886ae4cf68 [AFV] style, const, formatting 2019-10-13 16:47:40 +02:00
Klaus Basan
a9166d4e4c [AFV] Ref T730, improved volume handling
* for the asymmetric output volume -60/18dB, make sure that normalized 50 means 0dB
* slider is centered
* return value if value for volume was changed
2019-10-13 16:47:40 +02:00
Roland Rossgotterer
be4d40ba7d [AFV] Check client started in the correct thread 2019-10-12 13:30:00 +02:00
Mat Sutcliffe
b929eb442a [AFV] CContextAudio::m_voiceClient is a raw pointer, and CAfvClient doesn't have a parent 2019-10-11 19:40:43 +01:00
Roland Rossgotterer
11ee2413b5 Doxygen 2019-10-11 19:40:42 +01:00
Roland Rossgotterer
2c89275ea6 [AFV] Remove unused constants 2019-10-11 19:40:41 +01:00
Klaus Basan
30baa12a86 Ref T730, CPP check issues fixed 2019-10-11 19:40:41 +01:00
Klaus Basan
f15674330f [AFV] Ref T739, we are checking "connected" already, no need to check it again 2019-10-11 19:00:53 +01:00
Klaus Basan
e3ed71a919 Ref T739, minor fixes (mutex, "myself") 2019-10-11 19:00:53 +01:00
Roland Rossgotterer
01d144b528 [AFV] Hide AFV client behind context 2019-10-11 19:00:52 +01:00
Roland Rossgotterer
90e5400049 [AFV] Do not attempt to send if not connected 2019-10-11 19:00:52 +01:00
Klaus Basan
11a3fa873d Ref T730, Ref T739, first implementation of "Mute" for CAfvClient 2019-10-11 19:00:51 +01:00
Klaus Basan
b632232566 Ref T730, fixed from "normalized value calculation" 2019-10-11 19:00:51 +01:00
Klaus Basan
966b261c0d [AFV] Ref T730, reverted fix NOT to start in function CAfvClient::restartWithNewDevices 2019-10-11 19:00:50 +01:00
Klaus Basan
ef9e7b0bf1 Ref T730, Ref T739 update from own aircraft in one step
* update all values from own aircraft in "one step"
* rational: avoid "single property" updates and numerous round trips (signals, transceiver updates)
* also allow updates of not yet connect, as "a kind of preset"
* do NOT send to network if not authenticated
2019-10-11 19:00:49 +01:00
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
Roland Rossgotterer
3792c4fa76 [AFV] Do not restart audio if it was not started yet 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
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
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