Commit Graph

41 Commits

Author SHA1 Message Date
Klaus Basan
745eb01000 [AFV] Ref T730, pass channel count to input 2019-10-13 16:47:41 +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
11ee2413b5 Doxygen 2019-10-11 19:40:42 +01:00
Klaus Basan
30baa12a86 Ref T730, CPP check issues fixed 2019-10-11 19:40:41 +01:00
Roland Rossgotterer
4827c0e4ab [AFV] Request permission to access microphone on MacOS 2019-10-11 19:00:47 +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
857e3581b0 Ref T730, style
* set object name
* use m_XYZ member name
2019-10-11 19:00:43 +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
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
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
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
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
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
Roland Rossgotterer
9f497c1b60 [AFV] Handle stereo in- and output devices 2019-10-11 19:00:05 +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
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
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
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
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
7ac962ed77 Add methods to read received callsigns from AFV
ref T729
2019-10-11 18:59:07 +01:00
Klaus Basan
34d1e8268c Ref T730, OPUS de/encoder namespace 2019-10-11 18:59:03 +01:00
Klaus Basan
384aa3ce19 Ref T730, namespace for BlackCore::Afv
* added namespace
* removed some *.pri files and added files to blackcore.pro
* added copyright etc.
2019-10-11 18:59:02 +01:00
Roland Rossgotterer
b5a2f2ad13 AFV initial commit 2019-10-11 18:58:47 +01:00