Commit Graph

47 Commits

Author SHA1 Message Date
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
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
e7d39a2cd7 MacOsX logging for mic. request
https://discordapp.com/channels/539048679160676382/567983892791951374/604797145928826880
2019-09-16 22:40:59 +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
Klaus Basan
d509b1eb09 Ref T604, remember last audio volume
* adjust setting
* save setting
2019-09-16 20:29:46 +01:00
Klaus Basan
8e51d9147d Style 2019-09-16 20:29:44 +01:00
Roland Rossgotterer
0493dafd69 Don't connect dummy input device to voice mixer
connectVoice accepts only vatlib types.
2019-05-13 11:21:11 +02:00
Mat Sutcliffe
61d933be12 Tidying up around QPointer guards. 2019-05-13 11:21:06 +02: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
5d98b56a7e Ref T644, deferred init of notification sounds 2019-05-13 11:20:51 +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
bcbdaaf1a7 COM audio did not tune in (voice room) if channel was already selected at startup
Reason was: hardcoded channel spacing to 8.33kHz

As a result changed to channel spacing based on COM unit, which could also be changed at runtime

* the issue itself was in own aircraft context
* added functions for channel spacing
* changed to COM unit channel spacing (instead of hardcoded spacing)
2019-05-13 11:20:49 +02:00
Klaus Basan
a764a2de7e Added value for notification volume in sound setting 2019-05-13 11:20:49 +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
Mat Sutcliffe
a366ad8943 Added with() and withValidation() methods in CLogCategoryList. 2019-04-12 13:30:54 +01: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
8c83020b92 Ref T567, PTT click also on key up
* added sound
* UI component
2019-04-11 22:11:45 +01:00
Klaus Basan
ee4d498733 Ref T565, "canTalk" function in audio context 2019-04-11 22:11:42 +01:00
Klaus Basan
0e03e7baf0 Ref T558, play notification sound after SELCAL tone
* return SELCAL tone duration
* play follow up tone
2019-04-11 22:11:38 +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
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
225ff81252 Ref T485 Adjust CLogMessage and CStatusMessage call sites to use the new API. 2019-02-22 20:34:55 +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
321c195f4b Change voice room callsign format to "callsign (userid)"
So far the callsign, was the callsign itself only. However, other VATSIM
clients expect it to include the user id in brackets.

ref T354
2018-10-03 03:03:40 +02:00
Klaus Basan
5c165c4fe7 Ref T373, style 2018-09-25 03:47:46 +02:00
Roland Winklmeier
9f1a51fb13 Fix wrong QHash value lookup for voice channels in use 2018-09-12 17:01:53 +02:00
Roland Winklmeier
1e16203d04 Check which voice channel is allocated to COM1
ref T328
2018-09-12 17:01:48 +02:00
Klaus Basan
728b3c0473 Formatting 2018-01-14 18:46:21 +01:00
Roland Winklmeier
d68f678cc5 Upgrade to vatlib v0.9.7 2018-01-13 05:04:21 +01:00
Klaus Basan
7a87f986e2 Ref T167, renaming LocalInDBusServer and verifyModelSet 2017-10-10 00:27:17 +01:00
Klaus Basan
9748b5a442 Formatting, comments, Doxygen, minor tweaks 2017-10-10 00:27:03 +01: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
Mathew Sutcliffe
b7f69c6887 refs #937 Resolved clazy warnings: unnecessary memory allocation. 2017-04-19 19:31:39 +01:00
Mathew Sutcliffe
fce1513dae refs #937 Resolved clazy warnings: unnecessary detaching of containers. 2017-04-19 19:31:38 +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
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
8275b0d9bf refs #697 BlackMisc settings renamed and reorganized. 2016-08-03 02:19:08 +01:00
Klaus Basan
19040af654 refs #704, moved VATSIM specific stuff to ns VATSIM/subdir 2016-07-14 18:49:11 +02:00
Klaus Basan
d782839cb8 refs #703, moved context to subdir
* ns: Context
* adjusted using classes
2016-07-14 18:49:08 +02:00