1
0
mirror of https://github.com/qTox/qTox.git synced 2024-03-22 14:00:36 +08:00
Commit Graph

68 Commits

Author SHA1 Message Date
Anthony Bilinski
65896e4501
feat(call): add call end sound
Fix #4905
2018-04-26 12:49:58 -07:00
Anthony Bilinski
5dc4e6de81
chore(legal): update copyright date to 2018 for all source files 2018-04-25 17:33:38 -07:00
Anthony Bilinski
1583991fb4
refactor(avform): simplify and standardize sliders, use RMS for volume
Also improve usefulness of volume bar by including gain, clipping, and activation threshold. Remove magic numbers. Clear volumue display when mic is disabled.

Fix #4893
2018-04-12 10:34:42 -07:00
Gavin Stark
d24d4fb8ea feat(audio): microphone voice activation
adding volume based voice detection
2017-11-13 00:48:46 -06:00
sudden6
e1da943e4e
refactor(audio): move channel count to audio backend 2017-08-05 21:25:13 +02:00
sudden6
5d60f09df4
feat(audio): make echo cancellation work and improve some minor stuff 2017-08-05 21:12:33 +02:00
Alice Weigt
a06ad7048e feat(audio):OutgoingCallSound
Adds outgoing call sound when call is started
2017-06-14 15:19:30 -07:00
sudden6
a3b234e6dd
chore(formatting): run clang-format 2017-06-01 09:50:59 +02:00
sudden6
28c2298ad9
feat(audio): split the audio interface from the backend library
This paves the way to support multiple audio backends
2017-05-08 10:37:05 +02:00
Zetok Zalbavar
80f5de31b3
style: reformat current C++ codebase using clang-format 2017-02-26 11:52:45 +00:00
sudden6
39b473cc86
Merge pull request #3309
Nils Fenner (1):
      refactor(audio): remove obsolete signal "groupAudioPlayed"
2017-02-08 13:32:47 +01:00
Zetok Zalbavar
7b60a5dd36
chore: explicitly mention that copyright belongs to qTox contributors 2016-11-29 11:12:06 +00:00
Alice Weigt
9b46cf6404 fix(settings): Play test sound when user enables test sound
Fixes #3735
2016-10-09 04:37:15 -07:00
Nils Fenner
018360887e
refactor(audio): remove obsolete signal "groupAudioPlayed" 2016-08-08 14:22:02 +02:00
Diadlo
29443040fb
docs(audio, video): Change comment style 2016-07-27 01:23:27 +03:00
Diadlo
2258748d28
style(audio, video): Style fixes 2016-07-13 01:54:37 +03:00
Nils Fenner
81df534c9a
refactor(audio): cleanup initialization of audio device lists
API:
* open default in/out device, when device name is empty
* move privatized code
* fix unsigned/signed conversion warnings

UI (settings):
* refactor: select audio devices by combobox index
2016-07-01 10:41:41 +02:00
Nils Fenner
bec635ad11
refactor(audio): cleanup initialization of audio device lists
* move private code
* fix unsigned/signed conversion warnings
2016-07-01 10:41:41 +02:00
Nils Fenner
792103f8b0
refactor(filter_audio): completely remove filter_audio dependency
The filter_audio API is not working for qTox/Tox and thus disabled by default via compiler switch. In current qTox UI, it is not configurable, even when this switch is enabled. According to issue #3194 the library is no longer maintained as well. I don't see any reason to keep it in qTox.
2016-06-04 22:12:27 +02:00
Nils Fenner
f72baa613f
feat(audio): add real gain control of the input device
The gain can be set now in dB values, providing acceptable results for a wide range of setups.

note: also introduces const-correctness and some minor cleanup.
2016-06-02 22:16:58 +02:00
Nils Fenner
356543ca3b
feat(audio): add (repair) support for group audio calls 2016-04-24 14:34:49 +02:00
tux3
a2fbc277fc
Replace audio check macros by functions 2016-01-23 16:45:25 +01:00
tux3
6425448196
Implement the playMono16Sound API sanely
This API used to start *A NEW THREAD* for every sound played!!

Now we simply have a dedicated source and buffer to play those sounds, we use a timer to cleanup the buffer 50ms after the sound is done playing (if a new sound hasn't started in the meantime)
2016-01-23 16:45:25 +01:00
tux3
ce2f8fd1d5
Cleanup and improve audio input
We now subscribe to an event and wait for frames when capturing audio
input, the big avdantage is that we only have to fetch the frames from
the hardware once, and we don't need to cache anything.
The frames are simply dispatched to the client's callbacks immediately.

Also removes some outdated ifdefs that did not apply anymore.
2016-01-23 16:45:25 +01:00
tux3
0a1833a74b
Un-pimpl
This makes the code much shorter and easier to follow, especially since AudioPrivate was right in the middle of audio.cpp, awkwardly splitting things in two

Compile times should not be substantially affected since we just need to include the OpenAL C headers
2016-01-23 16:45:25 +01:00
tux3
fb68d3750c
Cleanup mic feedback related code
It simply doesn't work, so let's do it right later
2016-01-23 16:45:25 +01:00
Nils Fenner
82dfe0f704
fix audio singleton implementation 2016-01-09 13:12:39 +01:00
Nils Fenner
0615c7c3c6
reimplement audio in/out subscription concept 2015-12-20 09:45:43 +01:00
Nils Fenner
ace3662757
further improved audio metering
Give qTox time to do more important things -> do not measure with 100%.
2015-12-20 09:45:43 +01:00
Nils Fenner
08c43d0b83
cleanup OpenAL compatibility code in audio class 2015-12-20 09:45:43 +01:00
Nils Fenner
44d1c6fe74
[WIP] implement threaded level meter for input level
Issues:
1. Using 100% processor.
2. Temporary silences an active call -> reactivate after widget hide.

Still greatly improves metering audio data, removing "read buffer" errors.
2015-12-20 09:45:43 +01:00
Nils Fenner
67fbee8868
use qstring for path when playing audio file 2015-12-20 09:45:43 +01:00
Nils Fenner
b44ef6c596
introduce a non-blocking AudioPlayer
Also moved private stuff to private class.
2015-12-20 09:45:43 +01:00
Nils Fenner
1fb9bce78c
move audio class to thread before starting 2015-12-20 09:45:22 +01:00
Nils Fenner
bb7d2a72b7
privatized audio interface 2015-12-20 09:45:22 +01:00
Nils Fenner
c23cb0043f
implement actual audio in/out subscription management 2015-12-20 09:42:14 +01:00
Nils Fenner
137eca86d6
use single mutex for audio resource locking 2015-12-20 09:42:04 +01:00
Nils Fenner
68e7aef916
privatized open/close audio devices 2015-12-20 09:42:04 +01:00
Nils Fenner
f6c09104e4
fix noise (clipping) while (re-)initializing in/out audio device 2015-12-20 09:40:57 +01:00
Nils Fenner
32bc99fb38
cleanup reinitialization of changed audio in/out 2015-12-20 09:40:57 +01:00
Nils Fenner
ad6e0a85f5
add method to reinit audio in/out 2015-12-20 09:40:57 +01:00
Nils Fenner
c540faf271
add method to un-/subscribe to audio output as well 2015-12-20 09:40:57 +01:00
Nils Fenner
e8a4f6511d
use internal methods to open in/out audio devices 2015-12-20 09:40:57 +01:00
Nils Fenner
bde042ba3a
remove unused include and forward declarations 2015-12-20 09:40:57 +01:00
Nils Fenner
26fc424986
use internal cleanup methods to close in-/output devices 2015-12-20 09:40:57 +01:00
Anton Batenev
656696ebcb Add alext.h to audio.h
ALC_ALL_DEVICES_SPECIFIER may be defined in different headers of
libopenal (alext.h < 1.14 and alc.h >= 1.14). Seems there is no
harm in always include both.

Related commit is: @1d9e89f
2015-12-10 13:34:40 +03:00
tux3
5c8dc1d7c9
Add None audio I/O devices
Can be changed in the middle of a call without problem
2015-11-07 18:23:10 +01:00
tux3
995fc4cdda
Reload audio devices on the fly from settings 2015-10-24 02:59:12 +02:00
tux3
9163b73032
Refactor uses of playMono16Sound 2015-10-24 02:37:27 +02:00
tux3
aac5fb87e6
Add ringing sound for received calls
No sound for outgoing calls yet
2015-10-24 02:26:32 +02:00