Damien Elmes
6426edb0ac
more typing updates
2021-02-02 23:31:55 +10:00
Damien Elmes
a56b09b987
add a bunch of return types
2021-02-01 23:53:23 +10:00
Damien Elmes
322788133b
tooltip() instead of print() when no tts tag matches
...
Can help with debugging user error like an incorrectly-typed language
code. Don't ask me how I know. :-)
2021-01-26 20:37:24 +10:00
Kyle Mills
a0dc33c0e8
typo
2021-01-10 07:18:08 -08:00
Damien Elmes
b30b7c3073
fix qt/ pylints
2021-01-07 16:21:50 +10:00
Damien Elmes
94064b8230
convert setWindowFlags call into helper, and fix invalid variables
...
"type: ignore" was masking the invalid references to self in places
like showText()
2021-01-07 14:24:49 +10:00
BlueGreenMagick
6224658c0d
remove context help button
2021-01-06 22:15:48 +09:00
Damien Elmes
7d1c8c29f9
add a small delay before terminating recording
...
https://forums.ankiweb.net/t/anki-crashes-periodically-after-clicking-record-audio-button/5824/12
2020-12-21 16:37:28 +10:00
Damien Elmes
019a65efc1
drop QtRecorder driver; rename existing
2020-12-21 15:02:22 +10:00
Ryan Aird
a30064d5e9
Make RT import statement conditional, fix formatting, ignore WinRT for type checking
2020-12-20 19:43:09 -06:00
Ryan Aird
9a0b112a0f
Lower default rank for non-RT voices and restrict to Windows 10 October 2018 or greater
2020-12-19 20:10:23 -06:00
Ryan Aird
56703e5f3a
WinRT TTS API support
2020-12-19 19:29:34 -06:00
Damien Elmes
e7d9056acd
write .wav in background
2020-12-18 19:24:53 +10:00
Damien Elmes
93eccd183f
leave iodevice alone after calling .stop()
...
Docs say it should not be accessed, and it fails on Linux.
2020-12-18 19:14:24 +10:00
Damien Elmes
dc5ce3b9a2
experiment with lower-level QAudioInput
...
Allows us to discard the start of the recording like PyAudio, instead
of just muting it.
2020-12-18 18:59:10 +10:00
Damien Elmes
643e875342
add back pyaudio as an optional alternative
2020-12-18 16:52:00 +10:00
Damien Elmes
cd31780668
explicitly set sample rate and channels
...
Windows sounds awful by default on a machine here.
2020-12-16 20:18:13 +10:00
Damien Elmes
3a250f5238
formatting & mypy fix
2020-12-16 19:51:46 +10:00
Damien Elmes
1114ca75df
update recording time more frequently; remove print statement
2020-12-16 19:45:08 +10:00
Damien Elmes
ecb7c1482f
use QtMultimedia for recording instead of PyAudio
...
The unmute-on-first-duration-change approach is to try to prevent
clicks/pops that can happen at the start of recordings. If it doesn't
solve the problem, we may need to drop down to the lower-level
QAudioInput().
Closes https://github.com/ankitects/help-wanted/issues/23
May fix https://forums.ankiweb.net/t/anki-crashes-periodically-after-clicking-record-audio-button/5824 ,
which I suspect was caused by processEvents()
2020-12-16 19:33:25 +10:00
Damien Elmes
ffa26fe4bc
fix remaining _() references; remove unused imports
2020-11-18 12:43:46 +10:00
Damien Elmes
2453e5c488
update temporary val="%s" references to standard ftl
2020-11-17 22:00:44 +10:00
Damien Elmes
6418993840
merge bulk of qt/ - designer files still to do
2020-11-17 17:42:43 +10:00
ianki
c2901e4859
Add hooks for filtering media.
2020-11-09 02:12:23 -08:00
Damien Elmes
37695da713
fix missing QAudioDeviceInfo on macOS
2020-11-06 12:01:37 +10:00
Piotr Kubowicz
ed11f8e9d6
Add .opus as an audio extension
...
Wikimedia Commons has pronunciation recordings with .opus extension.
Anki is able to play such files, but until now adding them required
changing the extension to .ogg or some other supported one.
Also sort the audio extensions list.
2020-10-10 16:28:40 +02:00
kelciour
e2d98ebc26
Separate player for videos on Windows
...
https://forums.ankiweb.net/t/anki-crashes-because-of-mpv/3359/13
2020-10-03 22:53:17 +03:00
kelciour
72ea605050
Revert back to listening for idle callback
...
https://forums.ankiweb.net/t/anki-2-1-33-linux-audio-stops-working/3023
2020-09-16 09:25:18 +03:00
Damien Elmes
b47654fed7
fix formatting
2020-08-21 11:45:14 +10:00
Damien Elmes
095df2f6f8
Add comment
2020-08-21 11:10:30 +10:00
kelciour
8cac607588
Reset av_player.current_player after mpv restart
2020-08-21 02:17:21 +03:00
Damien Elmes
2cba721702
formatting and debug statement tweak
2020-07-24 11:57:37 +10:00
Damien Elmes
1b441f5050
fix pylint failing in CI
2020-07-21 16:16:34 +10:00
Damien Elmes
86fc7446b0
protect against exception on initial recording wait
2020-07-21 16:07:58 +10:00
Damien Elmes
3337c96fdb
trigger recording permission on newer macOS SDKs
2020-07-21 15:54:04 +10:00
kelciour
422e313c16
Replace mpv "idle" property with "end-file" event
2020-06-27 03:46:40 +03:00
kelciour
610f9eb236
Replace default mpv quit keybindings if mpv version is >= 0.30
...
4614d432a8
2020-06-27 03:46:40 +03:00
Damien Elmes
ef55c0a2ee
remove the script-message commands that older mpv version don't support
...
https://github.com/ankitects/anki/pull/671#issuecomment-647798343
2020-06-23 14:30:42 +10:00
Damien Elmes
c3e007f069
remove mpv keybindings on init
...
On a machine here, they cause the following error:
raise MPVCommandError("%r: %s" % (message["command"], e))
aqt.mpv.MPVCommandError: ['keybind', 'q', 'stop']: invalid parameter
2020-06-22 13:22:57 +10:00
kelciour
d64c26f20a
Replace deprecated "idle" event with "idle-active" property
2020-06-20 02:04:35 +03:00
kelciour
9aee8085e0
Disable OSC idle message
2020-06-20 02:04:34 +03:00
kelciour
ae533fce71
Replace default mpv "quit" keybindings with "stop"
...
https://github.com/mpv-player/mpv/blob/master/etc/input.conf
2020-06-20 02:04:34 +03:00
Damien Elmes
5f2987d0f8
allow input.conf in Anki data folder
...
https://anki.tenderapp.com/discussions/beta-testing/1964-anki-2128-alpha#comment_48382756
2020-06-09 10:26:25 +10:00
Damien Elmes
d04699ad06
try mpv on Windows again
...
https://github.com/ankitects/anki/pull/621
2020-05-27 09:21:41 +10:00
Damien Elmes
961833a137
avoid mention of pip
2020-05-05 16:30:22 +10:00
evandrocoan
0006269c01
Used showWarning asking the user to install pyaudio
2020-05-05 00:00:48 -03:00
evandrocoan
b671c8e627
Fix missing pyaudio blocking Anki from running
...
https://github.com/ankitects/anki/pull 606
Remove pyaudio as mandatory dependency
2020-05-04 13:44:12 -03:00
Damien Elmes
84eaf43525
reduce the chances of a race condition in mplayer code
...
Not perfect, it may still happen.
https://anki.tenderapp.com/discussions/ankidesktop/39832-an-error-occurred-audio
2020-03-23 19:15:32 +10:00
Damien Elmes
0ecc189a9b
fix audio getting stuck (2/2)
2020-03-15 09:34:04 +10:00
Damien Elmes
f30853f5ed
fix audio getting stuck (1/2)
...
The problem was caused by stop() doing a spin loop on the main
thread waiting for the completion signal. This prevented Qt's run
loop from executing, and so the completion signal was never delivered,
meaning longer files would time out.
Fixed by reworking the code so that stop() does not block at all -
instead it just sets the termination flag, and AVPlayer does not
unset current_player. Then when the completion callback fires, it
can advance to the next file.
TTS code still needs updating, and the lock should be safe to remove
as the start/stop logic is all on the main thread.
2020-03-15 09:26:31 +10:00