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
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
8d84dcbe08
[AFV] Make sure all QObjects below AfvClient have a parent
2019-10-11 19:00:30 +01:00
Roland Rossgotterer
240df93406
[AFV] Change output format and processing to 32 bit float
...
32 bit float is what is used in C# reference and has a much higher
dynamic range. 16 bit integer was clipping very often with all the VHF
simulation applied.
2019-10-11 19:00:29 +01:00
Roland Rossgotterer
fbb126370c
[AFV] Use distance ratio 1.0 in loopback mode
...
Distance ratio 1.0 means same position as sending position, decreasing
ratio means increasing distance.
2019-10-11 19:00:29 +01:00
Roland Rossgotterer
bff4eeb416
[AFV] Update effects after adding new samples
...
This is necessary to regularly update the distance effects while moving
2019-10-11 19:00:29 +01:00
Roland Rossgotterer
574370579d
[AFV] Apply BiQuadFilters on float samples
2019-10-11 19:00:28 +01:00
Roland Rossgotterer
d757b8977f
[AFV] Reset pointer after stopping audio output
2019-10-11 19:00:27 +01:00
Roland Rossgotterer
df30a010b5
[AFV] Fix includes
2019-10-11 19:00:27 +01:00
Roland Rossgotterer
1f2d4a10b1
[AFV] Add HF simulation
2019-10-11 19:00:27 +01:00
Roland Rossgotterer
2c1067b27e
[AFV] Update CEqualizerSampleProvider to VHF 4.0
2019-10-11 19:00:24 +01:00
Klaus Basan
91b65fa2b6
Ref T730, AFV client fixes
...
* correct quint32 for frequency
* make sure frequencies are not updated twice, only update position
* re-init transceivers if stopped and started again
2019-10-11 19:00:23 +01:00
Klaus Basan
cf6434f49b
Ref T730, fixed using wrong member "m_outputVolume", added new member "m_outputVolumeDb"
2019-10-11 19:00:23 +01:00
Klaus Basan
3ddded423a
Ref T730, style
2019-10-11 19:00:22 +01:00
Klaus Basan
905c487451
Ref T737, stop output device
2019-10-11 19:00:21 +01:00
Klaus Basan
7d04ca6435
Ref T730, register metatype so struct can be used with signals
...
Remark: Unregistered it only works for direct connections
2019-10-11 19:00:21 +01:00
Klaus Basan
bde7baf84d
Ref T730, style
2019-10-11 19:00:21 +01:00
Klaus Basan
5f6aebebe8
Ref T730, replaced uint array by vector to avoid memory leak
...
* the heap array was not deleted
* using QVector<uint> now
* const correctness
2019-10-11 19:00:20 +01:00
Klaus Basan
c3684a2f8c
Ref T731, added namespace for utility functions
2019-10-11 19:00:19 +01:00
Klaus Basan
e33e06b21e
Ref T730, style
2019-10-11 19:00:15 +01:00
Klaus Basan
e560be65a6
Ref T730, stop input/output if object is destroyed
2019-10-11 19:00:14 +01:00
Klaus Basan
6a9109bf8f
Ref T730, style
2019-10-11 19:00:14 +01:00
Klaus Basan
cd58108bfe
[AFV] Ref T730, reload settings after starting audio so they are applied
2019-10-11 19:00:06 +01:00
Roland Rossgotterer
c2bc06da13
[AFV] Fixed int buffer overflow for Hz
2019-10-11 19:00:05 +01:00
Roland Rossgotterer
9f497c1b60
[AFV] Handle stereo in- and output devices
2019-10-11 19:00:05 +01:00
Klaus Basan
088ef74392
Ref T730, swift style functions in AFC client
...
* COM unit related functions
* signal to indicate changed COM values
2019-10-11 19:00:04 +01:00
Klaus Basan
7c89234f8c
Ref T730, callsign set used for received callsigns
2019-10-11 19:00:02 +01:00
Klaus Basan
fbc1efd7c7
Ref T730, input/output
...
* style
* fload -> double
* CLogMessage
2019-10-11 19:00:01 +01:00
Klaus Basan
661a6576c5
Ref T730, AFV client
...
* restart function
* bogus mute function (needs implementation)
* float -> double
* log categories
* settings
2019-10-11 19:00:01 +01:00
Klaus Basan
2fed1e7e99
Ref T730, style
2019-10-11 18:59:59 +01:00
Klaus Basan
9bbb710823
Ref T730, changes of RR/KB testing dual channels and WSAPI issues
2019-10-11 18:59:57 +01:00
Klaus Basan
dc5cc4c7b0
Ref T730, changes for input sample buffer tests
2019-10-11 18:59:56 +01:00
Klaus Basan
6b19ed665e
Ref T730, added settings in AFV client
2019-10-11 18:59:56 +01:00
Klaus Basan
7c765654c0
Ref T730, style
...
* avoid float, use double
* const correctness
* use fuzzyCompare for float/double
2019-10-11 18:59:55 +01:00
Klaus Basan
e21fdeb039
Ref T730, pass PTT key events to client
...
* currently passing from context to client, so context and client know the state
* PTT enum in own file so it can be reused
2019-10-11 18:59:55 +01:00
Klaus Basan
992d624c18
Ref T731, moved AFV station model and client to BlackCore::Afv
...
* the QML map can also be used in dialog
* ATC station list also can be used in BlackCore
2019-10-11 18:59:53 +01:00
Klaus Basan
66b02e61c5
Ref T730, directly use context from sApp
...
* using sApp->getIContextOwnAircraft()
* no need to pass context, avoid issues when shutting down
* minor style changes
2019-10-11 18:59:53 +01:00
Klaus Basan
99edc9cb13
Ref T730, code style, adding namespaces
2019-10-11 18:59:45 +01:00
Roland Rossgotterer
cf6d60348e
Decouple QAudioDevice buffer size from AFV 20 ms frame size
...
Different QAudioDevice plugins have different default buffer sizes. In
order to cope with bigger buffer sizes than the expected 20 ms,
let the buffer be filled and push from it every 20 ms via timer.
2019-10-11 18:59:13 +01:00
Roland Rossgotterer
1deaf1ca8b
Add volume sliders to AFV sample UI
2019-10-11 18:59:12 +01:00
Roland Rossgotterer
8d1eea25b1
Implement VolumeSampleProvider to gain in and output
...
fixup! Implement VolumeSampleProvider to gain in and output
2019-10-11 18:59:12 +01:00
Roland Rossgotterer
8b1fb1baca
[AFV] Add method to read all aliased HF stations
...
ref T729
2019-10-11 18:59:11 +01:00
Roland Rossgotterer
cc3151ef6f
Fix TransceiverDto::toJson
2019-10-11 18:59:09 +01:00
Roland Rossgotterer
44146353a6
Fix ApiServerConnection::postNoResponse
2019-10-11 18:59:08 +01:00
Roland Rossgotterer
acb5b11966
Finish demo UI and connect it to AFVClient
...
this includes:
- enable/disable check boxes,
- ptt button
- loopback check box
- map zoom buttons
- showing the received callsign
- VHF effects checkbox
ref T731
2019-10-11 18:59:08 +01:00
Roland Rossgotterer
852247e893
Fix namespace
2019-10-11 18:59:08 +01:00
Roland Rossgotterer
7ac962ed77
Add methods to read received callsigns from AFV
...
ref T729
2019-10-11 18:59:07 +01:00
Roland Rossgotterer
d9dcadcffa
Abort further AFV connection if authentication was failing
...
ref T729
2019-10-11 18:59:06 +01:00