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
Damien Elmes
8845b05933
make sure audio queue is cleared when transitioning between cards
...
https://anki.tenderapp.com/discussions/beta-testing/1846-anki-2122-beta#comment_48150139
2020-03-14 20:04:40 +10:00
Damien Elmes
aad491dbb9
possible fix for invalid handle issue
...
https://anki.tenderapp.com/discussions/ankidesktop/39346-cant-add-audio-on-flash-drive
2020-03-14 18:53:43 +10:00
Alan Du
f8c22499cb
Monkeytype qt/aqt/sound.py
2020-03-01 10:16:08 -05:00
Damien Elmes
8c0d4c8059
restore mpv/mplayer missing warning that got lost in the av changes
...
and ensure the UI doesn't get temporarily stuck after the command fails
2020-02-29 21:20:08 +10:00
Damien Elmes
db69f84c0a
interrupt current audio when autoplay off
2020-02-25 17:49:06 +10:00
Damien Elmes
32b38bf26d
ensure Anki starts on Windows systems that don't have TTS installed
2020-02-25 16:25:17 +10:00
Damien Elmes
598226a5c0
possible fix for race conditions in the sound code
...
https://anki.tenderapp.com/discussions/ankidesktop/39030-erro-ao-adicionar-arquivo-de-udio
the lock should at least ensure _process doesn't disappear in the
middle of our logic, and the longer wait should reduce the chances
of .stop() timing out and allowing multiple audio files to play
Not very happy with the current approach, as in the timeout case
you have multiple threads competing to access the same data
2020-02-21 15:14:09 +10:00
Damien Elmes
083e4a0b66
drop the extraneous svg group
2020-01-31 07:23:35 +10:00
Damien Elmes
23c6cafb94
add compat soundLink selector back
2020-01-31 07:01:22 +10:00
Damien Elmes
fb696f3e3b
use SVG for the play icon, and reduce the default size to 40px
2020-01-28 10:11:29 +10:00
Damien Elmes
3b8f851854
fix autoplaying of audio in preview screen, and drop extend_and_play()
2020-01-25 16:02:34 +10:00
Damien Elmes
f6ef553ba5
move strip_av_refs() into anki.sound
2020-01-24 15:48:40 +10:00
Damien Elmes
17ebdfc099
extract and flag AV tags as part of the render process
...
We can now show replay buttons for the audio contained in {{FrontSide}}
without having to play it again when the answer is shown.
The template code now always defers FrontSide rendering, as it wasn't
a big saving, and meant the logic had to be implemented twice.
2020-01-24 11:06:11 +10:00
Damien Elmes
03a8f0e73b
fix mpv failing to load
2020-01-24 07:06:59 +10:00
Damien Elmes
b9ee7f49d8
don't wait as long for player to stop
2020-01-23 17:27:07 +10:00
Damien Elmes
5a79bc69b8
fix audio displaying console window on Windows
2020-01-23 17:27:07 +10:00
Damien Elmes
0ad6e8b58e
make pylint happy
2020-01-22 15:37:58 +10:00
Damien Elmes
cfa0f65311
add a hook for when playback begins
2020-01-22 14:41:32 +10:00
Damien Elmes
6af7933084
make .command() behave the same way for mplayer and mpv
2020-01-22 14:11:25 +10:00
Damien Elmes
be3393fcb4
simplify taskman, and add .run_on_main()
2020-01-22 14:09:51 +10:00
Damien Elmes
f92bb55c25
add option in prefs to hide replay audio buttons
2020-01-21 21:00:17 +10:00
Damien Elmes
19b3a15146
formatting fixes
2020-01-21 20:39:25 +10:00
Damien Elmes
ccd7150136
fix mpv args
...
https://anki.tenderapp.com/discussions/ankidesktop/38186-mpvprocesserror-unable-to-start-process
2020-01-21 19:29:50 +10:00
Damien Elmes
5351a5f396
compare only on rank, as voices may be subclassed
2020-01-21 18:33:14 +10:00
Damien Elmes
84711f8fe2
add Windows TTS support
2020-01-21 17:34:47 +10:00