Commit Graph

49 Commits

Author SHA1 Message Date
Rafostar
82840d5852 Start loading media after window is shown 2020-10-19 13:26:15 +02:00
Rafostar
b2e052d7a4 Do not show cursor on small movement 2020-10-16 22:11:54 +02:00
Rafostar
fa07c4532c Fix player process not exiting after window close 2020-10-15 17:54:28 +02:00
Rafostar
57a8e6d933 Add about dialog 2020-10-15 16:21:46 +02:00
Rafostar
ea8226f1d3 Restore seek on drop behavior 2020-10-14 16:45:09 +02:00
Rafostar
a20a0c8160 Grab player focus only when controls are not visible 2020-10-14 12:52:11 +02:00
Rafostar
1069f151f0 Restore automatic menu hiding 2020-10-14 10:57:43 +02:00
Rafostar
1f6a9b59d6 Restore button presses 2020-10-13 23:47:13 +02:00
Rafostar
3e96a13f00 Restore window dragging by drag on player 2020-10-13 20:32:59 +02:00
Rafostar
d3e4f3bb0f Add player motion and key controllers 2020-10-12 16:25:54 +02:00
Rafostar
43a54920ef Change elapsed time into button 2020-10-07 23:10:11 +02:00
Rafostar
352eff89b7 Fix volume button icon and window key events 2020-10-07 18:18:44 +02:00
Rafostar
041b31c161 Fix enter fullscreen and popover buttons 2020-10-07 16:40:42 +02:00
Rafostar
dbdb6988a2 Fix window "fullscreen-changed" signal 2020-10-06 12:04:28 +02:00
Rafostar
bae0b805ea Initial GTK4 port
Port most of the player to GTK4. Some things are still broken or disabled due to GTK change, but will be gradually fixed.
2020-10-05 21:19:29 +02:00
Rafostar
e7e9b9c07d Use virtual functions 2020-09-23 15:14:32 +02:00
Rafostar
ae766298a8 Lower CPU usage when OSD is visible 2020-09-16 18:24:31 +02:00
Rafostar
1c2a8a476e Move revealers logic to separate file 2020-09-16 13:26:30 +02:00
Rafostar
1918b30bea Cover whole video screen with top revealer
Previously top revealer was set to fixed size, which caused a noticable video tearing along the revealer edge during its animation. This commit removes fixed revealer size, which in turn casues the revealer to cover whole video screen (default behavior), thus eliminates the tearing. Since overlay now becomes the top widget, all player notify signals were reconnected to it.
2020-09-16 11:54:01 +02:00
Rafostar
73e7f1e2a0 Add top overlay with title and current hour
This adds Kodi-like semi-transparent overlay with current media title, hour and estimated time when video will end. The overlay is visible only on fullscreen mode.
2020-09-15 21:08:46 +02:00
Rafostar
234c49221e Enable scroll on volume button 2020-09-14 16:10:09 +02:00
Rafostar
c34df72f96 Drop all player signals on destroy 2020-09-13 17:20:07 +02:00
Rafostar
043fe9f75e Move Popover button creation to buttons.js 2020-09-12 21:10:44 +02:00
Rafostar
ed5d449142 Support for multiple media files
This enables support for starting media player with more than one file path specified. When a file playback finishes, next is loaded automatically.
2020-09-10 19:53:04 +02:00
Rafostar
e9ec155e7b Move fullscreen and menu buttons to header bar
Follow other GNOME apps designs by having fullscreen button on the right side of window header bar. The control panel had too many buttons already and we still need to make some space for playlist. This way "fullscreen" button will be on top bar while windowed and "unfullscreen" button will appear on the bottom right only when player entered fullscreen mode.
2020-09-10 14:24:02 +02:00
Rafostar
557cbc11e2 Use filename as title when media info doesn't have one 2020-09-10 11:34:50 +02:00
Rafostar
06914db0da Add header bar with media title and path 2020-09-10 10:26:20 +02:00
Rafostar
a9ac872c98 Do not hide controls in fullscreen while navigating it 2020-09-09 22:56:11 +02:00
Rafostar
ab11d52a68 Recreate volume button from scratch
Create volume button with popover instead of using GTK provided volume button.

Creating new button with only needed elements is more efficient then removing unneeded items from pre-made volume button. This should also increase performance a little when changing volume, because now we generate new icon only when a change is needed. In pre-made button icon is regenerated on each volume change.
2020-09-09 21:34:32 +02:00
Rafostar
edcc7b71b9 Add meson build system (#1)
Initial meson build system support. We do not create .desktop file yet, but we need an option to open media files from GUI first anyway.
2020-09-08 19:55:59 +02:00
Rafostar
649ff7682c Support loading files using full or relative paths 2020-09-08 08:58:43 +02:00
Rafostar
f5db250486 Load media after player is drawn
Loading file too early might lead to Xorg related crash. We must first make sure the player widget is fully drawn, before we start drawing video frames.
2020-09-06 12:18:37 +02:00
Rafostar
d8d342a956 Make everything on fullscreen bigger (TV mode) 2020-09-06 10:18:53 +02:00
Rafostar
7d2edec553 Show playback time and switch to dark mode when fullscreen 2020-09-05 13:49:44 +02:00
Rafostar
54bbcd2eb1 Make all interface buttons flat 2020-09-03 23:08:32 +02:00
Rafostar
e5e06336f3 Add slide animation for fullscreen controls 2020-09-03 21:17:43 +02:00
Rafostar
3d9bab0578 Add overlay for controls when fullscreen
When player is fullscreen playback controls are shown on top of video (at screen bottom). When windowed, controls are shown below the video instead.
2020-09-03 20:01:26 +02:00
Rafostar
28264da424 Prevent system from lock/suspend when video is playing 2020-09-03 12:53:24 +02:00
Rafostar
7d2b1f1118 Add custom debug script with Gst version check 2020-09-03 10:43:07 +02:00
Rafostar
176ddf1cc2 Bind keyboard up/down arrow keys to volume 2020-09-03 10:40:58 +02:00
Rafostar
fd2ad7e596 Listen for key presses on window instead of player
This fixes a GNOME bug where sometimes key press events are not emited
2020-09-02 16:56:58 +02:00
Rafostar
4480bed3bc Auto hide cursor on player window 2020-09-02 11:57:16 +02:00
Rafostar
2333d8fc1c Fix drag sometimes starting from wrong button 2020-09-02 09:06:34 +02:00
Rafostar
7307845646 Initial video playlist support
For now player will load only first video from playlist. Good enough for testing. Full playlist support will be added later on.
2020-09-01 23:46:49 +02:00
Rafostar
647ad3f1ec Drag application from video (MPV like window dragging) 2020-09-01 19:48:25 +02:00
Rafostar
26a571408b Add some keys, buttons and scrolls bindings 2020-09-01 17:50:59 +02:00
Rafostar
80ac01706d Move GtkWindow logic to separate file 2020-09-01 10:50:30 +02:00
Rafostar
f70fe43303 Add toggle fullscreen button 2020-08-31 22:21:46 +02:00
Rafostar
918ba34885 Add Gtk app 2020-08-31 20:47:10 +02:00