Rafostar
6370e1126b
YT: check if decipher produced result
2021-03-14 16:50:23 +01:00
Rafostar
270e59137d
YT: check if player URI is valid
2021-03-14 16:39:22 +01:00
Rafostar
ec18ca989a
YT: decipher videos with signatures
...
Increase amount of playable YouTube videos by deciphering the ones that require to do so.
Many thanks to "node-ytdl-core" devs for JS regular expressions needed for YouTube player parsing.
2021-03-14 15:51:19 +01:00
Rafał Dzięgiel
46d24536c0
Do not keep invalid YT video info
2021-03-12 15:10:18 +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
01c26cbbc3
Small text formatting fix
2021-03-12 08:50:52 +01:00
Rafał Dzięgiel
4375077dbc
Decode custom video title from info
...
The values in JSON info are URI encoded with "+" signs, add custom decode function that decodes them.
2021-03-11 18:49:08 +01:00
Rafał Dzięgiel
fceb8ff70a
YouTube support. Closes #46
2021-03-11 17:34:54 +01:00
Rafał Dzięgiel
6dc37088cf
Fix error when playback finishes during controls reveal animation
2021-03-08 10:37:40 +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
b7b1dad81c
Allow adjusting playback speed with scroll
2021-02-24 17:29:24 +01:00
Rafał Dzięgiel
e859f5d518
Fix opening files from web application
...
It was trying to send GioFiles over WebSocket. The idea of doing that seems so dumb, that I do not know why I did not notice this issue earlier.
2021-02-24 17:05:49 +01:00
Rafał Dzięgiel
53ad4da7c6
Remove useless run method override
2021-02-24 16:46:25 +01:00
Rafał Dzięgiel
0fe1cf5f0d
Make volume restore more reliable
...
Instead setting value to volume scale, set value to the player itself. Scale will be updated due to bidirectional binded property. This fixes cases where slider did not emit value-changed notify as it was being set to the same value as initial one.
2021-02-24 14:26:34 +01:00
Rafał Dzięgiel
0a8e25d27b
Prevent adding "fine-tune" class to position scale on TV mode
...
When scale enters "fine-tune", slider changes position a little. We do not want that to cause seek time change on TV mode.
2021-02-24 13:41:05 +01:00
Rafał Dzięgiel
af6a5ea1b9
Check widget existence when top revealer finishes reveal
...
Prevent errors when app was closed during top revealer animation.
2021-02-24 12:40:28 +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
bfdc85e3e3
Merge pull request #44 from Rafostar/gstclapper-volume
...
API: use cubic volume
2021-02-24 08:45:38 +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
Rafostar
7d79aa97bb
Use rounded corners with every theme
...
AFAIK there is no way to detect theme rounded corners. Having 2/4 corners rounded in floating mode is not good.
2021-02-23 16:18:26 +01:00
Rafał Dzięgiel
886dad97c5
WebApp: get active window prop only once
2021-02-23 12:37:33 +01:00
Rafał Dzięgiel
a309ef6099
Make remote app minimize, maximize and close buttons affect Clapper
2021-02-23 11:56:02 +01:00
Rafał Dzięgiel
6950cf1bbb
Do not import GstClapper for remote app
...
No need to import and initialize whole GStreamer for web application if the only thing needed there is a single enum.
2021-02-22 16:34:08 +01:00
Rafał Dzięgiel
8df5c38357
Fix missing headerbar menu in Flatpak build
2021-02-22 13:14:49 +01:00
Rafał Dzięgiel
0ce851b514
Debug headerbar layout info
2021-02-22 12:41:44 +01:00
Rafał Dzięgiel
8407a325af
Increase delay of hiding controls when fullscreen
2021-02-22 11:29:26 +01:00
Rafał Dzięgiel
5e66a2bb5a
Wait for top revealer transition to finish before changing it
...
Changing transition in middle can have dire consequences, so change only when not in transition.
2021-02-22 11:27:20 +01:00
Rafał Dzięgiel
61ae543cf9
Separate top revealer title and time
2021-02-22 10:22:05 +01:00
Rafostar
8b254de151
Modern fullscreen UI
2021-02-22 10:22:05 +01:00
Rafostar
edde84f0fc
Performance: reduce amount of top shadow offscreen rendering
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
86356d5b1b
Make linked buttons icons closer to each other
2021-02-19 20:56:58 +01:00
Rafał Dzięgiel
67ad7d8bd4
Add separator to linked buttons
2021-02-19 20:26:59 +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
ef06be464c
Use basic GtkBox widget for headerbar replacement
...
Window headerbar is hidden at all times. We do not want to execute the logic that comes with GtkHeaderBar, so we simplify it by using GtkBox as a dummy widget.
2021-02-19 12:11:19 +01:00
Rafał Dzięgiel
12b38702ab
Prevent hiding OSD when menu popover is open
2021-02-19 11:49:25 +01:00
Rafał Dzięgiel
dbfd97d11a
Do not block closing OSD when popover opened in windowed mode
2021-02-19 10:52:11 +01:00
Rafał Dzięgiel
6400d251c2
Add a special style class for menu popover button
...
We want to have a non-osd popover in the button that is placed on OSD headerbar. This is something unusual that Adwaita does not have, so create a custom style that will use common values from user system theme.
2021-02-19 10:12:47 +01:00
Rafał Dzięgiel
e7b446ca9f
Extend Gtk.ToggleButton for Popover buttons
...
Instead of trying to force active state for a normal button that is not designed to be toggle-able, use GTK toggle buttons.
2021-02-19 10:10:09 +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
192ccb379f
Limit minimal video widget size to 336x189px
2021-02-17 12:56:02 +01:00
Rafał Dzięgiel
e53f35c1c9
Bind revealers visibility instead of using a timeout
2021-02-17 12:28:49 +01:00
Rafał Dzięgiel
b012ac4c8f
Fix typos
2021-02-17 12:28:49 +01:00
Rafał Dzięgiel
e79ce58b26
Rename "fullscreenMode" boolean to "isFullscreenMode"
2021-02-17 12:28:45 +01:00