Rafał Dzięgiel
21ccab1cc2
Add option to keep showing last video frame after playback
...
Previously Clapper showed last frame, now it defaults to black screen, so add an option for users to choose what they like better
2021-06-16 15:34:36 +02:00
Rafał Dzięgiel
fbe6a8804c
yt: Set some initial player version
...
It does not have to be up-to-date and even if it fails, we have a fallback that will update it anyway
2021-06-08 16:54:20 +02:00
Rafał Dzięgiel
8fc64eaf73
sink: Automatically draw black when going to NULL state
...
Remove all workarounds including ignore_textures prop and draw black functions and handle that automatically in sink when going into NULL state.
2021-06-02 20:56:50 +02:00
Rafał Dzięgiel
2d4353aaec
Append some common subtitle track titles
...
In order to not end up with multiple subitle tracks simply named for e.g. "English", add some common postfix to it when detected in track title.
2021-06-02 15:47:09 +02:00
Rafał Dzięgiel
6246777f06
Prefer custom title over media info one
...
Otherwise YT videos will all show filename of dash manifest as title
2021-05-31 17:46:19 +02:00
Rafał Dzięgiel
0d7ef22c88
Merge pull request #77 from Rafostar/mpris
...
Add MPRIS
2021-05-26 22:01:49 +02:00
Rafał Dzięgiel
f08ffad178
Initial MPRIS support
...
Implement a working MPRIS DBus connection with a separate API to control it. Right now only player playback state is reflected and Play/Pause/PlayPause calls work.
2021-05-24 15:33:15 +02:00
Rafał Dzięgiel
c2de0b7b33
yt: Use "html5=1" request query string
2021-05-24 13:04:10 +02:00
Rafał Dzięgiel
5ea22450c0
Use custom getUriProtocol function
...
Gst.Uri.get_protocol function is very simple. It just splits string by ":" and return the first part. We can do the same in JS and by doing that we do not have to initialize GStreamer just to get this function.
2021-05-13 21:24:28 +02:00
Rafał Dzięgiel
6ae38327ca
Leave CSS fullscreen optimization applied
...
Do not apply and remove fullscreen optimization class when going/leaving fullscreen. Instead set it to be applied to fullscreen only with CSS.
2021-05-13 21:13:18 +02:00
Rafał Dzięgiel
9006e56534
Add "text/x-ssa" to list of known subtitle mimes
...
GStreamer does not do external .ass subs ATM, but we should treat them as subtitles anyway.
2021-05-13 21:01:11 +02:00
Rafał Dzięgiel
af0e082c43
Readapt to changed monitor on the fly
...
Check and apply/remove TV mode UI on the fly when switching monitors.
This allows for e.g. having a mobile device connected to external big screen,
drag Clapper window from one screen to another and UI should automatically
adapt between mobile and TV modes without interrupting playback.
This also helps in situations where monitor size is not initially known
on window map #74 .
2021-05-12 15:31:15 +02:00
Rafostar
970b1487ac
Restore manual play call
...
Autoplay was causing some racy conditions when loaded with subtitle uri. Make it play after uri loaded signal, but still prevent going from stopped to play 2nd time.
2021-05-04 18:46:22 +02:00
Rafostar
fc51fd857c
Fix missing actions shortcuts in main menu
...
Actions were loaded too early, causing GTK to not recognize them and show their keyboard shortcuts next to main menu items
2021-05-03 19:26:22 +02:00
Rafostar
b419ed7922
Add keyboard shortcuts window
2021-05-03 19:26:06 +02:00
Rafostar
98df55b231
Do not forget to destroy file chooser
2021-05-02 22:20:51 +02:00
Rafostar
6a4f5f2560
Export playlist to file with Ctrl+E
2021-05-02 20:25:15 +02:00
Rafostar
efe9439633
Do not ref all dialogs
...
The bug that we try to workaround here affects only file chooser dialog and not every dialog, so do not increase ref count on them
2021-05-02 17:29:15 +02:00
Rafostar
a7288adf4c
Do not check Ids length in shuffle repeat mode
...
We always have at least 2 playlist items, thus at least 1 Id in array when we reach this point in code
2021-05-01 12:27:56 +02:00
Rafostar
9bb3f999b1
Also seek to 0 for other repeat modes with 1 item playlists
2021-05-01 12:15:07 +02:00
Rafostar
0e6507682a
Do not show visualizations button when no audio tracks
2021-05-01 12:11:16 +02:00
Rafał Dzięgiel
2d8471dea0
Add playlist shuffle repeat mode #52
2021-04-29 12:26:40 +02:00
Rafał Dzięgiel
68f49c1495
Replace media playlist playing icon with repeat button #52
...
Show current and toggle change of repeat mode inside the playlist popover. The previous currently playing icon did not reflect actual playing state, so this should be better and does not take more space in UI.
2021-04-29 11:44:07 +02:00
Rafał Dzięgiel
a8bb6c40f4
Add more WebSocket API actions
2021-04-28 12:40:27 +02:00
Rafał Dzięgiel
71db78a0f6
Use "window.close" action instead of "close-request"
2021-04-28 12:15:20 +02:00
Rafał Dzięgiel
4133557086
Do not send or apply undefined args over WebSocket
2021-04-28 11:50:14 +02:00
Rafał Dzięgiel
d926e6b389
Add keybinding to change repeat mode #52
2021-04-27 15:25:22 +02:00
Rafał Dzięgiel
fd2de8b9b6
Add repeat mode options to playlist #52
2021-04-27 14:50:54 +02:00
Rafał Dzięgiel
047dd12fbb
Restore initial GUI state after playback
2021-04-27 11:14:09 +02:00
Rafał Dzięgiel
3238270c0d
Ignore duration changes below 1ms during playback
2021-04-27 10:43:13 +02:00
Rafał Dzięgiel
997e47b93c
API: let client decide what to do on EOS #52
2021-04-27 09:24:13 +02:00
Rafał Dzięgiel
ec1d4619a7
API: make "state" into a property
2021-04-26 22:30:01 +02:00
Rafał Dzięgiel
e4335721be
Simplify auto-fullscreen logic
2021-04-26 17:51:20 +02:00
Rafał Dzięgiel
a8aca7b3c0
API: make it autoplay on the same context invoke
2021-04-26 14:47:42 +02:00
Rafał Dzięgiel
c6e8824e3b
API: add toggle_play method
2021-04-26 14:21:33 +02:00
Rafostar
e92ad68220
Print a warning when plugin rank cannot be changed
2021-04-25 22:00:00 +02:00
Rafostar
a98ca53dfb
Use Gio.SimpleAction as only keypress handler
2021-04-25 20:19:44 +02:00
Rafał Dzięgiel
32995fc6a6
Sort chapters arr when switching to prev/next one
...
TOC representation obtained for some video files might be out of order. Sort them when switching between chapers, otherwise "next" chapter might not be the nearest one.
2021-04-22 15:48:16 +02:00
Rafał Dzięgiel
6b5240ddbc
Add missing return value
2021-04-22 15:35:16 +02:00
Rafał Dzięgiel
46ef6bcd1d
Use "const" for chapters keys
...
Array is reversed but variable holding it is not replaced in this function, so "const" can be used here
2021-04-22 15:28:19 +02:00
Rafał Dzięgiel
bd13a3c15a
Use Shift+Left/Right to switch video chapters
2021-04-22 14:40:21 +02:00
Rafał Dzięgiel
edfa85b5cc
Use Ctrl+Left/Right to switch playlist items. Closes #63
2021-04-22 14:32:02 +02:00
Rafał Dzięgiel
084f78a851
Change actions naming scheme
...
Use _ instead of capital letters in words for actions names. This will make some other stuff much easier.
2021-04-22 14:29:40 +02:00
Rafał Dzięgiel
c9b2f25192
Act on key press, not release
2021-04-22 14:13:53 +02:00
Rafał Dzięgiel
6f39b3939a
Do not get ancestor on key release if unneeded
2021-04-21 18:14:13 +02:00
Rafał Dzięgiel
ee78ffb1e4
Fix seeks when window tiling with Super key
...
Super key is consumed by shell and never reaches app key press detection. Use that to fix seeking when tiling window by ignoring all key releases that did not have a key press beforehand.
2021-04-21 17:04:09 +02:00
Rafał Dzięgiel
bfbbc517d5
Small cleanup
2021-04-21 16:59:06 +02:00
Rafał Dzięgiel
7559a61c9f
Hold Ctrl while doing D&D to append items to playlist instead of replacing it
2021-04-21 14:56:26 +02:00
Rafał Dzięgiel
deb273179f
Add append_playlist function
2021-04-21 14:55:20 +02:00
Rafał Dzięgiel
231af36ef6
Enumerate local directories only
2021-04-20 19:31:24 +02:00