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

2271 Commits

Author SHA1 Message Date
Sean Laguna
de4dcb5bd7 whoops, forgot an else in an else if 2016-01-26 13:27:32 -06:00
Sean
ded8d87ba8 generic pixel format selection 2016-01-26 13:14:58 -06:00
tux3
c82e41ff6f
Properly ifdef filteraudio usage 2016-01-25 16:35:45 +01:00
tux3
9251f1f4ca
Fix #2854: Missing noexcept in Audio 2016-01-25 16:27:18 +01:00
Zetok Zalbavar
3343645b61
Merge pull request #2835 from agilob:login_form_style
agilob (4):
      Fix label text colour in login profile
      Loginpage: Apply black colour to qcheckbox as well
      Loginpage: Apply black colour to progressbar
      Make disabled checkbox gray
2016-01-24 14:42:35 +00:00
Zetok Zalbavar
88198a244d
Merge pull request #2851 from mahmodemos:add_ar_lang
Adding arabic language file to the languages list
2016-01-24 14:30:46 +00:00
محمود العموش
fdd956779d Adding arabic language file to the languages list 2016-01-24 14:29:52 +02:00
Nils Fenner
26e7bde991
initialize OpenAL error stack 2016-01-23 16:45:25 +01:00
tux3
87c4907054
Remove redundant source init code 2016-01-23 16:45:25 +01:00
tux3
a2fbc277fc
Replace audio check macros by functions 2016-01-23 16:45:25 +01:00
tux3
6cad8d8fe9
Remove redundant check starting audio thread
Thanks to @antis81 for spotting it
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
f57bf331d6
Fix avform mic slider enabling 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
ffbd8fba91
do not warn, when requesting the volume from an invalid audio device
Instead, we return a defined value (0.0) and keep quiet otherwise.
2016-01-23 16:45:25 +01:00
Nils Fenner
da6bed19b2
enable volume sliders only, if a valid audio device is selected 2016-01-23 16:45:25 +01:00
Nils Fenner
f4f77af071
add "play test sound" button, while changing volume 2016-01-23 16:45:25 +01:00
Nils Fenner
6f7df25f4a
initialize gain/volume after initialization of audio in/out device
The gain/volume values are now applied to the settings once, when releasing the slider instead of continuously.
2016-01-23 16:45:25 +01:00
Nils Fenner
719def932b
remove unneeded "setCurrentIndex(-1)", when reading audio in/out device lists
The combo boxes current index is set to the correct value at end of initialization loop.
2016-01-23 16:45:25 +01:00
Nils Fenner
9b5c799742
fix getter for audio master output volume
Return the ALListener's gain as "master" volume.
2016-01-23 16:45:25 +01:00
Nils Fenner
086e35d106
use utf-8 strings for audio device specifiers 2016-01-23 16:45:25 +01:00
Nils Fenner
e1f7e553ab
initialize volume sliders in av-settings ui at the right place 2016-01-23 16:45:25 +01:00
Nils Fenner
7d547b10eb
major changes to audio volume control
* use the ALListener object for master volume control
* initialize audio sources
* audio volumes are now expressed as percentage values between 0 and 1 to the public API
* removed artificial amplification of input samples
* removed invalid audio source generation in group calls
* minor: fixed gain slider max. value to 100 percent
2016-01-23 16:45:25 +01:00
Nils Fenner
1fb4d0d9f3
clean up audio settings ui 2016-01-23 16:45:25 +01:00
Nils Fenner
a6024b85ea
initialize a subscribed audio source with "master" volume instead of "max." 2016-01-23 16:45:25 +01:00
Nils Fenner
b3926c8904
change method description of Audio::setOutputVolume to what it should do 2016-01-23 16:45:25 +01:00
apprb
c43b38e66f
Check for empty username in a groupchat 2016-01-23 09:29:43 +06:00
apprb
47cb0e3224
Fix #2600: Missing username in group chat 2016-01-22 23:43:39 +06:00
apprb
fc8de5d0cf
Grouplist: tracking of the friend's alias changing (fix: #1847) 2016-01-22 23:43:39 +06:00
apprb
23a82a3b28
Groupchats: fix user list update 2016-01-22 23:43:39 +06:00
tux3
67620f9661
Fix #2796 2016-01-22 02:46:06 +01:00
agilob
9cb71aff68
Loginpage: Apply black colour to progressbar 2016-01-21 19:53:33 +00:00
agilob
c415e063e1
Fix label text colour in login profile
Before labels password and username were not visible for me
because colour (dark grey) for those label was inherited from OS
which has dark theme, and background of the label was light grey.
2016-01-21 19:47:34 +00:00
tux3
e93c350621
Fix margins of file transfer widget
Fixes #1180
2016-01-21 17:11:37 +01:00
tux3
2654b6cbcd
Safer casts in Core::getGroupPeerNames 2016-01-21 16:51:25 +01:00
tux3
5e11d6c9c8
Merge branch 'pr2834' 2016-01-21 16:03:15 +01:00
apprb
d02348c1f8
Fix #2774: Client freezes after attempt to start group audio 2016-01-21 20:52:57 +06:00
tux3
5693d3ee86
Revert "2x faster Text::regenerate"
This reverts commit 24bccb7bdd.
2016-01-21 15:44:38 +01:00
tux3
12763ab54e
Some english fixes in followup to #2825 2016-01-21 14:56:14 +01:00
Andrew Morgan
4a1da7099f Added markdown support. Underline, Italics, Strikethrough and Bold supported. 2016-01-21 02:50:51 -08:00
tux3
8253e1e395
Fix #1409: Don't save core if nothing really changed 2016-01-21 08:04:46 +01:00
tux3
94f3e6d6e4
Async smiley loading for fast start
This can be a ~1s win on startup time with a HDD, now we load and cache the smileys in the background, blocking only if we try to use them while they are still loading
2016-01-21 07:47:15 +01:00
tux3
24bccb7bdd
2x faster Text::regenerate
Hopefully without breaking anything substantial
2016-01-21 07:13:10 +01:00
tux3
217716184b
Speedup loading history
By not marking everything as not sent then doing a second pass that marks sent things as sent, redoing the layout for every item...
2016-01-21 06:19:30 +01:00
tux3
48210e0372
Merge branch 'fix-hline-864' 2016-01-21 05:36:52 +01:00
tux3
70809e877e
Fix #1434: Groupchat call button color glitch
Thanks to @forteGIT for finding the bug
2016-01-21 05:28:47 +01:00
tux3
f0e29a1d46
Fix #1180: Oversized file transfer bubbles 2016-01-21 05:19:30 +01:00
tux3
963e8996fb
Fix #1016: QSettings UTF-8 issues 2016-01-21 04:59:20 +01:00
tux3
e45172ea1b
Fix #944: Allow transparent avatars 2016-01-21 04:47:26 +01:00
tux3
9e35a73daf
Fix #864 visual issue 2016-01-21 04:26:17 +01:00
tux3
6cc36a969a
Fix capitalization of Settings::loadpersonal()
My bad, thanks to @antis81 for noticing
2016-01-21 03:00:46 +01:00
tux3
7211b3d5f8
Merge branch 'pr2830' 2016-01-21 02:44:32 +01:00
tux3
ff6725fe2a
Fix #2194: Create QApplication before logging 2016-01-21 02:41:13 +01:00
sudden6
d4b2038bbb stop cpus from burning on slow networks 2016-01-21 02:35:06 +01:00
Andrew Morgan
3015be87ff Removed inconsistancies with logFileDir and handle error on removal of old log file. 2016-01-20 17:22:43 -08:00
sudden6
98f49c4494 Merge branch 'master' of https://github.com/sudden6/qTox into proxy_everything 2016-01-21 01:49:25 +01:00
Andrew Morgan
93991368c6 Added log rotation functionality.
This is to prevent log files from ever exceeding a limit of 1MB each. Only the current and one other log file are kept, giving hopefully enough history for any neccessary debugging.
2016-01-20 16:32:24 -08:00
sudden6
641486d507 Simpliefy code, return early on error 2016-01-21 01:11:47 +01:00
sudden6
789eeec777 fix toxme error handling
fixes a bug in Toxme::deleteAddress returning a QNetworkReply::NetworkError
adds some warning messages
2016-01-21 00:29:54 +01:00
tux3
19582c1c69
Merge branch 'pr2821' 2016-01-20 17:01:23 +01:00
tux3
e93c1baa6c
Merge branch 'pr2818' 2016-01-20 16:58:16 +01:00
tux3
529299c7ba
Merge branch 'pr2822' 2016-01-20 14:33:17 +01:00
Rowen Stipe
df584531c8 Enable OS X Auto-run at login 2016-01-20 05:17:03 -05:00
Rowen Stipe
a05310e155 Added case for /Application Support/Tox already existing
I tried to get it done without bash… But this was the simplest method
that works for this special case scenerio.
2016-01-20 01:22:25 -05:00
tux3
aef447d7c7
Have v4l2 read MJPEG video by default
Fixes #2826

Thanks to @seanlaguna for finding a fix
2016-01-20 00:00:03 +01:00
tux3
f79bb24024
Fix ODR violation in SettingsSerializer
Fixes #2173

Also fixes some compilation errors in some situations
2016-01-19 16:28:49 +01:00
Rowen Stipe
27fda2e579 Added basic migration compatibility code.
This code works if the ~/Library/Application Support/Tox directory does
not already exist.
2016-01-19 06:36:15 -05:00
sudden6
f14bc8316c Add proxy support to toxme and autouptdate 2016-01-19 00:19:07 +01:00
Zetok Zalbavar
2e0e8f778f
Login window: disable Load automatically if profile is encrypted 2016-01-18 20:54:32 +00:00
Rowen Stipe
f7c262fb07 Touchups
This commit has several touch ups that only effect the OS X clients.

`info.plist` and `qt.pro` are now configured to create an automatic
short version to help distinguish between clients clearly and include a
referenced file not put into the build when compiled.
`./img/icon/qtox_profile.icns’

`info.plist` also had it’s bundle version to be  updated to the 1.2.2
tag and supported languages added and fixed referenced file.

The default save location has also been moved to comply with the Tox
Client Standard. (Previous location was ~/Library/Prefrences/tox )

A basic bash profile mover has also been included to show I did think
of that.
2016-01-18 14:36:35 -05:00
a68366
65421e8992 Fix a typo in function name 2016-01-18 16:50:11 +03:00
a68366
dba7a53ec7 Fixes #2522 2016-01-18 16:45:29 +03:00
tux3
0ea0918ce9
Merge branch 'pr2809' 2016-01-17 13:24:56 +01:00
Nils Fenner
251d53f340
temporary remove audio gain metering 2016-01-17 11:00:52 +01:00
tux3
38c68658e0
Fix personnal->personal typo
Closes #2810
2016-01-16 20:08:43 +01:00
tux3
d07bef21a3
Merge branch 'pr2769' 2016-01-16 15:44:51 +01:00
agilob
203274f6d1
Unify window icons 2016-01-16 14:31:34 +00:00
tux3
0955843b8d
Merge branch 'pr2799' 2016-01-16 14:30:41 +01:00
tux3
c576a1485a
Scan-build cleanup 2016-01-16 02:24:13 +01:00
Diadlo
bb9b1a4e32
Add Toxme support in Toxuri handle 2016-01-15 18:08:25 +01:00
Diadlo
7179ed4722
Add Toxme lookup support
qTox will try Toxme, and if Toxme not supported, ToxDNS
2016-01-15 18:08:25 +01:00
tux3
4806e684fa
Cherry-pick HTTP(S) toxme lookups from #2753
Implementation by @Diadlo
2016-01-15 18:08:25 +01:00
Zetok Zalbavar
ccfb81b2e4
Add some basic documentation about Tox ID in source
Lets not make plaintext gods angry by linking to a dead html page.
2016-01-14 20:21:00 +00:00
tux3
05162a63b9
Merge branch 'pr2793' 2016-01-14 14:11:52 +01:00
tux3
aeb26d1af7
Merge branch 'pr2782' 2016-01-14 14:03:03 +01:00
Zetok Zalbavar
1921a9887e
Remove empty src/main.h (closes #2792)
Looks like it was accidentally introduced in
9905042434
2016-01-11 19:00:43 +00:00
Taha
13b2ec54aa Removed static modifier 2016-01-09 19:55:03 -05:00
Nils Fenner
26019c20e2
Merge pull request #2725 from 'r-ku:ipc-cleanup' 2016-01-09 23:37:07 +01:00
Nils Fenner
82dfe0f704
fix audio singleton implementation 2016-01-09 13:12:39 +01:00
Taha
03cb9d8a03 qTox uses default smiley pack if there's an invalid one in the qtox.ini file (fixes #2757) 2016-01-08 21:02:48 -05:00
agilob
ad3326b95d
Merge remote-tracking branch 'briskycat/issue2558_desktop' 2016-01-07 20:16:45 +00:00
Nils Fenner
e952d1a654
Merge pull request #2767 from branch agilob:chat_window_icon
* Set status icon on separate chat window, closes #2210
2016-01-04 22:34:30 +01:00
Zetok Zalbavar
b25faf0426
Merge pull request #2770 from a68366:issue2484
Fixes #2484 - Error message inside the chat
Remove extra spaces
2016-01-04 12:23:25 +00:00
Andrey S
d69139bf4a Remove extra spaces 2016-01-04 14:02:37 +03:00
agilob
f7118071b7
Set window icons on settings window 2016-01-03 13:06:24 +00:00
agilob
cb43a9b70e
Remove ctrl+q from tray menu 2016-01-02 22:01:41 +00:00
Andrew Novikov
371900b56f
Fix for the issue #2458 2016-01-02 21:59:38 +00:00
agilob
09d1fd3fdd
Merge remote-tracking branch 'antis81/fix_default_audio_device' 2016-01-02 17:27:27 +00:00
Andrey S
8ce16ad399 Fixes #2484 - Error message inside the chat 2016-01-02 00:00:05 +03:00
tux3
f2ba03b45f
Fix some messages being saved with history disabled 2015-12-31 14:36:12 +01:00
agilob
7f34290129
Merge remote-tracking branch 'antis81/chat/fix-mouse-crsr' 2015-12-30 21:40:19 +00:00
Nils Fenner
26768de94a
set mouse cursor to I-Beam shape, when hovering over text within chat 2015-12-30 14:45:55 +01:00
Nils Fenner
79ddbf7d02
open the first available audio in/out device as default, if specifier is empty 2015-12-28 12:06:22 +01:00
ovalseven8
f70b249ed8 Fix default smiley pack. Necessary because of the name changes. 2015-12-24 16:00:05 +01:00
Nils Fenner
552155bd1f
Merge PR #2719 from antis81:fix_audio_subscriptions
* fix dangling audio output device
* do not resubscribe sid in copy constructor
2015-12-23 23:29:20 +01:00
Andrew Novikov
985def25ff Implemented screen capturing support for Mac OS X 2015-12-23 15:31:28 +03:00
Andrew Novikov
bd8a2c84ef Optimized working with strings 2015-12-23 11:03:56 +03:00
rku
056a77d4dd Cleaned up all the ipc/startup code:
* Removed duplicate code of ipc event sending
 * Removed duplicate code of profile loading
 * Fixed bug where activating existing instance still started new instance of qtox asking to select a profile
 * IPC messages are now profile-aware and are sent to instance that runs specified profile in -p flag or to ipc owner if -p is not specified.

If -p flag is specified ipc events will be send to instance which runs specified profile. If instance using that profile does not run - new qTox instance will be started. This works with password-protected profiles too - new instance will handle "uri" or "save" events after accepting user password.
2015-12-22 14:59:55 +02:00
Jacob Henner
e9b34f5154
Fixes #2686 - Profiles will store avatars in distinct files 2015-12-21 13:30:46 +01:00
Jacob Henner
3f4c21216a
Fixes #2629: avatars will be re-encrypted when the profile password changes 2015-12-21 13:30:46 +01:00
Johannes Löthberg
e5baa403e0 Add SVG support to filetransfer preview
Only requires Qt SVG which is already a dependency of qTox.

Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
2015-12-21 06:02:32 +01:00
Andrew Novikov
cc64db3f27
Implemented listing and setting video modes on Mac OS X 2015-12-21 01:27:38 +01:00
Andrew Novikov
9d43062639
Changed the type of VideoMode::FPS to float: this is necessary for Mac OS X which uses frame rates like 29.97 2015-12-21 01:27:01 +01:00
Andrew Novikov
cf6623cfc8
Implemented enumeration of video devices. 2015-12-21 01:26:18 +01:00
tux3
b01f47b1aa
Use pre Qt5.4 QTimer::singleShot
For compatibility with Debian Jessie
2015-12-21 01:14:23 +01:00
Nils Fenner
19201dda8a
Merge pull request #2713 from antis81:newav_audio_cleanup 2015-12-20 23:10:03 +01:00
Nils Fenner
e73fd27d8b
fix: don't subscribe to in/out device when initialization failed 2015-12-20 09:45:43 +01:00
Nils Fenner
0615c7c3c6
reimplement audio in/out subscription concept 2015-12-20 09:45:43 +01:00
Nils Fenner
27bfade9e1
unsubscribe invalid ToxCall from audio when copied 2015-12-20 09:45:43 +01:00
Nils Fenner
d8607324ce
cleanup AudioPrivate
* rename mAudioMeter -> audioMeter
* move class declaration below other classes
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
535bb212f5
make use of QThread::requestInterruption 2015-12-20 09:45:43 +01:00
Nils Fenner
02f5f0a391
remove obsolete include of audio.h 2015-12-20 09:45:43 +01:00
Nils Fenner
c39138a65d
lock mutex also on start/stop audio loop playback 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
a1b87194b8
fix #2504
We need to filter samples * channels; also cleaned up data types
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
cbf0f2e7e0
draw the audio gain level with love 2015-12-20 09:45:43 +01:00
Nils Fenner
5805c8c2bf
improved code for non-blocking audio player
Instead relying on hardcoded "d->alMainSource", we bind to the given OpenAL source instead.
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
9627f45014
don't extra-subscribe audio gain metering widget 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
d233c6f699
cleanup audio out device on error after open 2015-12-20 09:40:57 +01:00
Nils Fenner
d631ddbc86
cleanup close audio out device 2015-12-20 09:40:57 +01:00
Nils Fenner
872be36225
un-/subscribe audio in/out in AV-Settings form 2015-12-20 09:40:57 +01:00
Nils Fenner
e7f666be77
un-/subscribe audio in/out in tox-call 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
7b98f2a4a0
cleanup close audio device 2015-12-20 09:40:57 +01:00
Nils Fenner
efda47a226
close audio output in destructor 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