Commit Graph

137 Commits

Author SHA1 Message Date
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
Klaus Basan
401c89aa63 Ref T730, style and log messages 2019-10-11 19:00:42 +01:00
Klaus Basan
4dbe1c49c8 Ref T730, namespace BiQuadFilter 2019-10-11 19:00:41 +01:00
Klaus Basan
1c0dc8b34c Ref T730, avoid math DEFINE warnings if values are already defined 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
b90855d393 [AFV] Fixed GCC and Clang errors 2019-10-11 19:00:40 +01:00
Roland Rossgotterer
d3a1eb1d60 [AFV] First version of threaded CAfvClient 2019-10-11 19:00:38 +01:00
Klaus Basan
fee8852762 Ref T730, increase buffer size to avoid buffer issues (temp workaround)
see https://discordapp.com/channels/539048679160676382/623947987822837779/628874110973247499
2019-10-11 19:00:32 +01:00
Klaus Basan
89725c3bb4 Ref T730, also return an output device if there is no exact match 2019-10-11 19:00:32 +01:00
Klaus Basan
5d9ea83b93 Ref T730, improved threaded tone player
* allow to re-init and get device info
* mutable mutex
2019-10-11 19:00:32 +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
33d125c121 [AFV] Remove unnecessary functions 2019-10-11 19:00:31 +01:00
Roland Rossgotterer
ac833910c8 [AFV] Optimize loading and sharing of CResourceSound objects
- Loading is now happening in a worker to not block the main thhread
- The internal data is shared between all instances of the class.
2019-10-11 19:00:30 +01:00
Klaus Basan
b65b2caa76 Ref T730, use m_deviceInfo.nearestFormat (makes player working with WSAPI plugin) 2019-10-11 19:00:30 +01:00
Klaus Basan
6111c428e9 Ref T730, style and removed "old voice code" 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
ec68e756cd [AFV] Port NAudio BiQuadFilter 2019-10-11 19:00:28 +01:00
Roland Rossgotterer
574370579d [AFV] Apply BiQuadFilters on float samples 2019-10-11 19:00:28 +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
0e4c1f958b Ref T730, some adjustments for CNotification for testing with WSAPI 2019-10-11 19:00:24 +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
a076705d77 Ref T731, changed Samples to use settings and new file names 2019-10-11 19:00:18 +01:00
Klaus Basan
34848ddd46 Ref T730, notification player, use latest files 2019-10-11 19:00:17 +01:00
Klaus Basan
9d4a821389 Ref T731, CResourceSound fixed
* avoid memory leak, wav file is only locally needed
* remember file name
2019-10-11 19:00:17 +01:00
Klaus Basan
e33e06b21e Ref T730, style 2019-10-11 19:00:15 +01:00
Klaus Basan
bed49ff072 Ref T730, renamed sound files 2019-10-11 19:00:15 +01:00
Klaus Basan
6a9109bf8f Ref T730, style 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
2fed1e7e99 Ref T730, style 2019-10-11 18:59:59 +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
8d1eea25b1 Implement VolumeSampleProvider to gain in and output
fixup! Implement VolumeSampleProvider to gain in and output
2019-10-11 18:59:12 +01:00
Klaus Basan
d944d0f6ee Do not play QSoundEffect while it is still playing
* added m_playEffect as flag
* hooked up signals to reset the flags
2019-10-11 18:59:10 +01:00
Klaus Basan
55f70a794e Style 2019-10-11 18:59:10 +01:00
Klaus Basan
b3cceaa76b Ref T739, style 2019-10-11 18:59:09 +01:00
Klaus Basan
34d1e8268c Ref T730, OPUS de/encoder namespace 2019-10-11 18:59:03 +01:00
Klaus Basan
9809acd98c Ref T730, fixed some UTF-8 encoding issues 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
Klaus Basan
b7ad04df45 [externals] Ref T730, updated externals 2019-10-11 18:59:01 +01:00
Roland Rossgotterer
b5a2f2ad13 AFV initial commit 2019-10-11 18:58:47 +01:00
Klaus Basan
e4b0655129 Ref T644, allow to fetch notifications sounds from an arbitrary directory
* added settings
* utility functions
2019-05-13 11:20:48 +02:00
Klaus Basan
254e21ab1f Fix for QSoundEffect(qaudio): Error decoding source 2019-04-11 22:12:02 +01:00
Klaus Basan
77a898c9ec Utility functions for notification sounds 2019-04-11 22:11:58 +01:00
Roland Rossgotterer
37f88841cf Convert floating-point WAV files to PCM 2019-04-11 22:11:51 +01:00
Roland Rossgotterer
d5b3a336dd Move Notification sounds into CNotificationPlayer 2019-04-11 22:11:50 +01:00
Roland Rossgotterer
77a8c46790 Use CWorker to play sound in background 2019-04-11 22:11:50 +01:00