Commit Graph

70 Commits

Author SHA1 Message Date
Rafostar
fe7a899aab Add event controllers to top revealer 2021-01-12 23:15:21 +01:00
Rafostar
83bec8e834 Mark video chapters on progress bar 2021-01-12 18:26:28 +01:00
Rafostar
f0dbeca5b6 Also move app window to top on file drop 2021-01-08 21:36:40 +01:00
Rafostar
59555c103b Open file(s) by Drag & Drop 2021-01-08 18:07:24 +01:00
Rafostar
2cbabe2887 Do not try to uninhibit when app is closing 2021-01-05 23:42:23 +01:00
Rafostar
3452990c28 Use "const" where possible
Increase readability by using "const" for identifiers that will not be reassigned
2021-01-05 20:13:53 +01:00
Rafostar
117a372189 Pass GioFiles from FileChooser instead of URIs
Otherwise they are converted back to GioFile to check their existance and back again to URI which is unefficient. This change avoids doing that.
2020-12-24 15:08:01 +01:00
Rafostar
094de19018 Remove "new-window" functionality
I were never able to get setifactionary results with this because:
* In GTK apps new window is created from the same process
* OpenGL is single-threaded so performance per window is halfed
* GTK4 has problems with rendeing using multiple contexts resulting in some frames being upside down

So for the time being I am removing a non-working option. There is a chance
that it will be fixed and added in future, but for now lets not
advertise a functionality that does not work.
2020-12-24 12:18:17 +01:00
Rafostar
6afbbc767a Open new file in the same window. Closes #31 2020-12-24 00:23:49 +01:00
Rafostar
04f1d2397f Merge pull request #29 from Rafostar/remote-controller
Control player remotely
2020-12-16 10:55:32 +01:00
Rafostar
7431f58034 Prefer "set_playlist" over "set_media" method 2020-12-15 18:15:40 +01:00
Rafostar
b4e52d654b Pass WebSocket data without additional signal connection 2020-12-15 12:36:06 +01:00
Rafostar
24a105fbe4 Do not drop old GTK4 support
Recent GTK4 git is way too buggy. We cannot update the GTK version above 3.99.4 yet. So add compatibility with newer versions without dropping support for older ones.
2020-12-14 21:30:00 +01:00
Rafostar
660b5c6c48 Use underscore in WebSocket API 2020-12-12 20:10:06 +01:00
Rafostar
ea7b712b2e Send player state via WebSockets 2020-12-12 19:37:07 +01:00
Rafostar
d5d5aa9bac Integrate basic web server functionality into player 2020-12-11 23:38:49 +01:00
Rafostar
73b803abdb Compatibility with latest GTK4 git 2020-12-10 11:51:55 +01:00
Rafostar
c3d60a600e Wait for stop after playback instead of forcing it 2020-12-03 11:20:42 +01:00
Rafostar
7a66da1fed Add option to close player after playback 2020-12-03 11:04:37 +01:00
Rafostar
58afaa2c76 Apply custom initial volume on realize 2020-11-30 11:26:38 +01:00
Rafostar
5206dc543d Properly store and restore last volume value on startup
We cannot depend on the value saved by GStreamer, cause it is shared with all GStreamer based apps. Lets save the last value to gsettings instead to make sure this is the volume we used with this app. With this change we can also see the right volume on startup before media file is loaded (previously it was shown always as muted).
2020-11-30 11:16:21 +01:00
Rafostar
e7ad0143a5 Use cubic scale for volume. Fixes #21
Volume sliders should usually adjust volume using cubic scale. This also changes max volume to 150% which should be louder than previous value anyway.
2020-11-30 09:26:27 +01:00
Rafostar
3fcd612e6e Support loading external subtitles and multiple videos 2020-11-24 11:12:43 +01:00
Rafostar
1947140def Toggle fullscreen with "f" key 2020-11-18 17:05:12 +01:00
Rafostar
6788f234aa Flatpak: add more black rendering improvements to patch 2020-11-17 13:20:03 +01:00
Rafostar
7226a59cea Set (un)inhibit screen earlier 2020-11-10 23:16:45 +01:00
Rafostar
f644710762 Set popover parent only once and unset on app close 2020-11-10 18:11:59 +01:00
Rafostar
0c307bc606 Ignore state change signals during app exit 2020-11-09 21:45:59 +01:00
Rafostar
314b66b7fd Disconnect close-request signal before exit 2020-11-09 21:35:17 +01:00
Rafostar
9be93c66f1 Improve obtaining initial player dragging coords 2020-11-06 20:33:14 +01:00
Rafostar
868c39f1cf Store and restore floating window size 2020-11-06 19:43:38 +01:00
Rafostar
eb1a495907 Reduce number of source files (cleanup) 2020-11-06 17:04:54 +01:00
Rafostar
da21c2fafc Add fast seeking support as a patch 2020-11-05 16:13:57 +01:00
Rafostar
de7a850cc2 Create gio settings only once 2020-11-04 15:05:16 +01:00
Rafostar
ff58713426 Add "Floating Window Mode"
A simple borderless window floating on desktop. Window can be resized and moved by dragging. It also has some minimalistic controls showing on top of the video when cursor is hovering over it.\n\n This was a feature originally requested by @zahid1905.
2020-11-03 17:40:19 +01:00
Rafostar
a019ef90ca Remember and restore last window dimensions on launch 2020-10-31 09:04:41 +01:00
Rafostar
19e1a20bf7 Start fullscreen playback after toplevel state is changed 2020-10-30 22:51:30 +01:00
Rafostar
556809c1f4 Add GStreamer plugin ranking to preferences 2020-10-26 16:45:37 +01:00
Rafostar
31f208006f Add startup fullscreen and volume preferences 2020-10-26 11:07:01 +01:00
Rafostar
9354042379 Add preferences dialog
Allows customizing various settings. For now it includes player seeking times and mode customization. More options will be added in the future.
2020-10-25 10:14:14 +01:00
Rafostar
576440faff Fix update media end time 2020-10-23 10:26:11 +02:00
Rafostar
cc4757aef5 Do not hide controls while navigating panel 2020-10-21 13:19:38 +02:00
Rafostar
0291377389 Major code cleanup 2020-10-20 22:30:15 +02:00
Rafostar
c9d9927bb1 Remove unused mainloop 2020-10-16 21:45:32 +02:00
Rafostar
7f1264ae27 Add fast seeking (disabled by default)
The fast seeking option. It seeks to the next keyframe which reduces seeking delay over 10 times, but makes the seeking very inaccurate as a side effect (usually up to few seconds from requested position).
2020-10-16 20:00:22 +02:00
Rafostar
8297be45ba Add player seek_done property 2020-10-16 13:24:18 +02:00
Rafostar
eafc65d15d Go back to beginning after playback ends 2020-10-16 12:13:00 +02:00
Rafostar
12c1251c9b Update video info during non-local file playback
With this player will always show current video resolution when playing fragmented media like HLS or MPD online videos
2020-10-16 00:21:43 +02:00
Rafostar
fa07c4532c Fix player process not exiting after window close 2020-10-15 17:54:28 +02:00
Rafostar
1f6a9b59d6 Restore button presses 2020-10-13 23:47:13 +02:00