Commit Graph

2491 Commits

Author SHA1 Message Date
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
f76448fbaf [AFV] Ref T730, changed to "startedAudio" signal, relayed from CAfvClient (and not like before emitted in context)
Since start can be async (in another thread) it was possible the "old" signal was emitted too early
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
Klaus Basan
2468b2ee49 [AFV] Ref T739, fixed typos, style and Doxygen in contexts 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
fdf4bf6b57 Ref T739, added proxy functions for audio context to register devices (from multiple machines) 2019-10-11 19:00:53 +01:00
Klaus Basan
c38c8374a3 Style 2019-10-11 19:00:53 +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
Mat Sutcliffe
57ff07592a [AFV] CInputManager stores icon indexes instead of QPixmap instances
The GUI converts icon indexes to QPixmap indexes when needed.
This fixes the context unittest that was broken by audio context changes.
2019-10-11 19:00:52 +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
1222f425b0 Style 2019-10-11 19:00:51 +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
98726e4c06 Ref T730, Ref T739, as follow up of RR's fix, use a default device if device name is NOT found
* it can happen the name is empty, or becomes invalid
* an invalid name is a device which has been unplugged
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
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