Commit Graph

41 Commits

Author SHA1 Message Date
Rafał Dzięgiel
d9939a94c2 Fix some error messages not being displayed 2021-04-09 18:49:44 +02:00
Rafał Dzięgiel
dafa2cfdf5 Fix missing file extension in online URIs 2021-04-09 18:16:02 +02:00
Rafał Dzięgiel
ebe72f20b5 Hide end time together with title when stopped 2021-04-09 17:54:48 +02:00
Rafał Dzięgiel
fa1455556b Treat media without duration as live content 2021-04-09 16:07:11 +02:00
Rafał Dzięgiel
8fb6b971fe Always try to update end time after new media info 2021-04-09 13:53:43 +02:00
Rafał Dzięgiel
1bf46a2f12 Fix top time not showing up on fullscreen startup 2021-04-09 11:37:19 +02:00
Rafał Dzięgiel
ec6157763b YT: do not try to get info again for current download 2021-04-08 11:05:20 +02:00
Rafał Dzięgiel
cca3077936 Fix startup window size on XOrg
The window size was restored too early which caused the window to be a little bigger then it should on each launch. Restore window size after that window was mapped.
2021-04-07 20:07:05 +02:00
Rafał Dzięgiel
b15b94fc90 Convenient ways of opening external subtitles
Play video with external subtiles by:
* selecting and opening both video+subs from file chooser/manager
* dropping subtitles file on player window
* opening subtiles from file chooser/manager while video plays
* send their file path/uri to player via WebSocket message
2021-04-07 16:33:21 +02:00
Rafał Dzięgiel
30a7229b33 API: add media info updated signal
Emit media info updated signal only when media info is initially created and when number/format of tracks changes later. This is needed for GUI to detect resolution change (adaptive streaming) or when user adds external subtitles to current video.
2021-04-06 18:49:08 +02:00
Rafał Dzięgiel
8f294604dc Remove drop target from top revealer
It is causing various issues unfortunately
2021-03-14 23:33:29 +01:00
Rafał Dzięgiel
c89d488c30 Prefetch YouTube video info on hover
Speed up loading of YouTube videos by downloading and parsing their info before video is dropped into player.
2021-03-12 13:05:58 +01:00
Rafał Dzięgiel
fceb8ff70a YouTube support. Closes #46 2021-03-11 17:34:54 +01:00
Rafał Dzięgiel
a0cd05fbe3 Workaround GTK4 revealers transition switch bug
Changing transition in middle or when not fully revealed has dire consequences, seems to be a GTK4 bug. Workaround this bug by switching top revealer transition type only when fully revealed.
2021-02-25 09:24:02 +01:00
Rafał Dzięgiel
d2d43db2c9 Do not update time if top grid is invisible 2021-02-24 18:27:40 +01:00
Rafał Dzięgiel
632fcd34cc Fix overlay buttons not unrevealed when leaving window from bottom side
Bottom revealer motion controller was causing timeout to be cleared. Prevent that by making it child invisible when windowed, which will remove its allocated height and motion events will not be emitted.
2021-02-24 12:34:57 +01:00
Rafał Dzięgiel
186c63bf04 Set unreveal timeout after reveal finishes
Instead of setting hide controls timeout immediately when starting revealing, make the time controls are revealed constant by setting timeout after animation finishes.
2021-02-24 12:04:26 +01:00
Rafał Dzięgiel
199a8f1931 Bind volume scale with player volume prop
Now that player API itself is operating on a cubic scale (no value conversion required), the volume slider can be bind to the volume property. Thanks to that, player volume scale will correctly reflect Clapper volume set via external applications e.g. gnome-settings.
2021-02-24 11:09:42 +01:00
Rafał Dzięgiel
dbd3e536b2 Limit bottom fullscreen controls panel width
Fullscreen bottom controls panel does not look good when progress bar is too long (especially on "ultrawide" displays), so limit its max width to 1720 application-pixels. This should make it still long enough for convenient chapter seeking.
2021-02-24 10:11:12 +01:00
Rafał Dzięgiel
86d365872a API: operate on cubic volume scale
Instead converting volume inside GJS, simplify things by making API operate on cubic volume scale.
2021-02-24 08:42:27 +01:00
Rafał Dzięgiel
8407a325af Increase delay of hiding controls when fullscreen 2021-02-22 11:29:26 +01:00
Rafał Dzięgiel
61ae543cf9 Separate top revealer title and time 2021-02-22 10:22:05 +01:00
Rafostar
46103e169f Update current time on top overlay reveal
Previously current hour might not have been updated if someone entered fullscreen without moving mouse cursor or with a touch
2021-02-20 11:12:50 +01:00
Rafał Dzięgiel
59908f808f Show menu and close buttons on mobile fullscreen view 2021-02-19 13:13:25 +01:00
Rafał Dzięgiel
7680b85ea9 Reveal controls only with touch or pen 2021-02-18 19:02:34 +01:00
Rafał Dzięgiel
834a690903 Tweak overlay revealers show/hide logic 2021-02-18 17:13:38 +01:00
Rafał Dzięgiel
12591e106f Move event controllers to widget and add them to top revealer 2021-02-17 16:31:37 +01:00
Rafał Dzięgiel
e79ce58b26 Rename "fullscreenMode" boolean to "isFullscreenMode" 2021-02-17 12:28:45 +01:00
Rafał Dzięgiel
887f189b60 Save window size only when windowed and not in floating mode 2021-02-17 12:20:44 +01:00
Rafał Dzięgiel
c908305be0 Update window title with video title
Clapper no longer has a title bar to show the media title during playback. Update window title so the video title is also shown on "Activities" view in addition to fullscreen top overlay.
2021-02-16 15:35:10 +01:00
Rafał Dzięgiel
530f60bce9 Replace GTK headerbar with custom implementation
This avoids D&D controllers clash and allows to freely customize how maximize, minimize and close buttons work (differently for e.g. web application) and where are they placed
2021-02-16 15:23:58 +01:00
Rafał Dzięgiel
8064bab6a2 Remove old floating mode leftovers
Clapper has now much simpler floating mode. This overcomplicated code is not needed anymore.
2021-02-13 20:19:08 +01:00
Rafał Dzięgiel
1d16d3e2ac Add OSD headerbar and transition to floating mode 2021-02-13 17:19:03 +01:00
Rafał Dzięgiel
46e8bef7b8 Use separate CSS class for TV mode 2021-02-12 11:49:34 +01:00
Rafał Dzięgiel
894384483b Merge pull request #41 from Rafostar/pinephone
Fix mobile devices transitions and detection
2021-02-09 18:52:28 +01:00
Rafał Dzięgiel
dfbb8b8d70 Ask to resume last unfinished video 2021-02-08 21:16:28 +01:00
Rafostar
65f1e8e60e Observe surface width instead of video widget 2021-02-07 21:47:25 +01:00
Rafostar
8a5702f296 Detect mobile monitor based on application-pixels 2021-02-07 21:20:14 +01:00
Rafał Dzięgiel
4debed92fe Do not restore window size if it exceeds screen size #38 2021-02-06 23:13:29 +01:00
Rafał Dzięgiel
bee1889376 Port app to the new GstClapper API 2021-01-28 00:23:01 +01:00
Rafał Dzięgiel
340cb36ecd Move "clapper_src" dir to "src"
The "clapper_src" directory name was unusual. This was done to make it work as a widget for other apps. Now that this functionality got removed it can be named simply "src" as recommended by guidelines.
2021-01-21 14:19:04 +01:00