Commit Graph

42 Commits

Author SHA1 Message Date
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
Klaus Basan
ce772baf79 Ref T739, moved code for voice client to IContextAudio
* code can be used on both sides (UI/core)
* the lots become normal public functions
* the slots will be used for new DBus functions
2019-10-11 19:00:36 +01:00
Klaus Basan
09e65a2525 Ref T739, renamed CContext -> IContext
This reflects the purpose better, it is a base class for all context interfaces
2019-10-11 19:00:35 +01:00
Roland Rossgotterer
8656131eb1 Remove all obsolete vatlib voice classes 2019-10-11 19:00:31 +01:00
Klaus Basan
ced0004234 Ref T730, audio context (impl)
* removed voice room functions
* removed old voice classes
* aligned, so it can be used with CAfvClient
2019-10-11 19:00:01 +01:00
Klaus Basan
11275d3560 Ref T731, connected AFV client signals with UI 2019-10-11 18:59:57 +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
99edc9cb13 Ref T730, code style, adding namespaces 2019-10-11 18:59:45 +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
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
Roland Rossgotterer
7030302e73 Cleanup audio context
Remove unused methods
Make methods only used in CContextAudio private
2019-09-18 13:50:41 +02:00
Klaus Basan
03096f8f7e Ref T609, adjusted audio context to support changed COM units and muted transmission if muted in COM unit 2019-09-16 22:41:08 +01:00
Klaus Basan
e53833856a Ref T609, function in audio context for COM integration + fix for wrong mixer device 2019-09-16 22:41:07 +01:00
Klaus Basan
9ba7dfee4d Ref T609, allow to get COM unit from own aircraft context 2019-09-16 22:41:06 +01:00
Klaus Basan
398f28fd9e Ref T609, style 2019-09-16 22:41:05 +01:00
Klaus Basan
50412aa0d1 Preparation for 2 COM keys and increase/decrease volume hotkeys
Ref T672, Ref T642
2019-09-16 20:29:46 +01:00
Roland Rossgotterer
5f00747d19 [MacOS] Ask user for permission to access microphone
This is required for MacOS 10.14 and later. This also requires an explanation why
access is required in the apps Info.plist. Hence added custom Info.plist templates
for each app.
2019-05-13 11:21:05 +02:00
Klaus Basan
77fcde6465 Ref T644, audio volume for notification sounds can be set 2019-05-13 11:20:50 +02: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
13a2465424 Ref T609, encapsulate PTT action/key 2019-05-13 11:20:39 +02:00
Klaus Basan
a9967e2002 Style 2019-04-11 22:12:13 +01:00
Roland Rossgotterer
d5b3a336dd Move Notification sounds into CNotificationPlayer 2019-04-11 22:11:50 +01:00
Klaus Basan
ee4d498733 Ref T565, "canTalk" function in audio context 2019-04-11 22:11:42 +01:00
Mat Sutcliffe
e9a4c49d68 Ref T547 Update license masthead in all source code files. 2019-02-22 20:36:43 +00:00
Klaus Basan
90b893c62a Ref T494, moved audio settings Trait directly info BlackMisc settings file 2019-02-22 20:35:07 +00:00
Klaus Basan
f8c17e10e8 Ref T494, CNotificationSounds refactring
* use Q_DECLARE_FLAGS NotificationFlag/Notification for sounds, not the weird version from very early swift days
* splt into h/cpp files
* added new sounds
2019-02-22 20:35:06 +00:00
Mat Sutcliffe
4344ca1a77 Suppressed clazy false positives: method potentially mismarked as slot. 2019-02-22 20:23:39 +00:00
Klaus Basan
951247dc0b Ref T422, private slots -> private 2018-11-06 01:41:48 +01:00
Klaus Basan
b5a270dc09 Ref T376, context support for CVoiceSetup 2018-10-05 17:39:55 +02:00
Roland Winklmeier
28302feea0 Remove unnecessary updating of voice room callsigns
The voice room callsign will be set from the current context values right
before a new connection is made. Therefore all updates in between are not
necessary and can be removed.

ref T354
2018-10-03 03:03:40 +02:00
Roland Winklmeier
1e16203d04 Check which voice channel is allocated to COM1
ref T328
2018-09-12 17:01:48 +02:00
Roland Winklmeier
862794cb02 Add audio device settings
Summary:
Up to now, the audio device settings were not persistent. With this
commit, the last audio device will be restored after application
start.

Reviewers: kbasan, msutcliffe

Reviewed By: msutcliffe

Differential Revision: https://dev.swift-project.org/D7
2017-05-05 22:40:04 +01:00
Klaus Basan
08f6f3f81c refs #912, icon and identifier for PTT hotkey as static functions 2017-04-18 00:04:39 +01:00
Klaus Basan
422e6626c8 refs #912, formatting, typos, const 2017-04-18 00:04:37 +01:00
Klaus Basan
7203655a05 refs #892, disable audio settings when no audio context is available
* Info for which machine audio setup is displayed
* Obtain audio "location"
* Remark: Audio can run on core and in GUI which is different from other contexts
2017-04-17 23:57:05 +01:00
Klaus Basan
6a96d14baa Formatting, icon utility function, icon size 2017-02-24 15:20:52 +00:00
Klaus Basan
818cdfba59 Doxygen, added link to dev wiki and fixed group 2017-02-24 00:19:11 +00:00
Klaus Basan
5c6436e896 Doxygen 2017-01-10 23:46:24 +00:00
Roland Winklmeier
5486596335 Refactor SECLAL player into new threaded player class
The reason for moving the implementation out from CSoundGenerator into
its own class is, because CSoundGenerator was a very complex and
obscure class. It mixed many tasks in one place. CSelcalPlayer
is designed to play SELCALs only.

The following design changes have been made, compared to CSoundGenerator:
* Use pull mode instead of push mode. QBuffer is used as the QIODevice and
  is a wrapper around QByteArray. Therefore it is not necessary to
  implement our own QIODevice.
* Internally it uses a CThreadedSelcalPlayer to relieve the load of the
  main thread. CThreadedSelcalPlayer inherits CContinuousWorker, no
  low level QThread implementation was necessary.
* Push mode was not implemented.
* It is important that the QAudioOutput is allocated in the worker thread.
  QAudioOutput allocates internal objects, which cannot be moved to
  the worker thread.
* Data caching. The generated seclal audio data is cached.

refs #736
2016-08-26 21:05:24 +01:00
Mathew Sutcliffe
7a34cc6d9a refs #697 BlackCore settings renamed and reorganized. 2016-08-03 02:19:11 +01:00
Klaus Basan
d782839cb8 refs #703, moved context to subdir
* ns: Context
* adjusted using classes
2016-07-14 18:49:08 +02:00