Rafał Dzięgiel
bbada8fb4e
Redo controls popovers into GtkMenuButtons
2021-09-01 14:25:42 +02:00
Rafał Dzięgiel
04122d46a7
Move popover separator into .ui
...
Allows reusing a custom separator in multiple popovers
2021-08-31 10:55:25 +02:00
Rafał Dzięgiel
2686c2ca03
Quietly handle ranking gsetting change after app update
...
Do not print errors for everyone who updates Clapper from 0.3.0 version.
How plugin ranking is stored in gsettings changed. Instead reset it quietly
into new defaults to avoid problems.
Also since now GstClapper API sets some default ranks based on installed
GStreamer version, hopefully this ranking will be only an edge case for
people who want to experiment or need to test/debug some GStreamer plugin.
2021-08-27 13:30:14 +02:00
Rafał Dzięgiel
ad563d16d0
Move init functions into main where they should be
...
It seems that libadwaita does not like being initialized too early. Move the init function into the beggining of main() to make it happy.
2021-08-27 12:56:58 +02:00
Rafał Dzięgiel
a1ce04edfa
Initial translations support
...
Most of the app is now translatable, so put a POT file in git and make app use translations if available
2021-08-25 11:23:43 +02:00
Rafał Dzięgiel
5874db45ea
api: Introduce custom gstreamer init function
...
Initializes GStreamer library and tweaks some of its defaults to our liking.
This also allows usage of GstClapper API alone without importing GStreamer on the implementation side.
It changes preferred hardware acceleration order (depending on plugins versions) into:
v4l2sl -> nv -> va -> vaapi -> v4l2
2021-08-24 14:15:29 +02:00
Rafał Dzięgiel
c50df5f2a3
Merge pull request #129 from Rafostar/libadwaita
...
Initialize with libadwaita, port preferences window to be adaptive and do few CSS tweaks to improve overall app look.
2021-08-23 18:33:21 +02:00
Rafał Dzięgiel
2656762cbc
Fix chapter popover coordinates
2021-08-23 15:57:11 +02:00
Rafał Dzięgiel
c8a5277908
Port preferences window to libadwaita
2021-08-22 16:09:23 +02:00
Rafał Dzięgiel
62fab289b7
Few small CSS optimizations for new Adwaita theme
2021-08-06 09:11:39 +02:00
Rafał Dzięgiel
56ca13b370
Remove GTK 4.0.2+ theme workarounds
2021-08-06 09:11:34 +02:00
Rafał Dzięgiel
9ba6f5d09e
Apply "osd" CSS class to each button in headerbar
...
Otherwise it does not work correctly with new Adwaita theme
2021-08-06 09:11:14 +02:00
Rafał Dzięgiel
4c0fc1dac2
Init libadwaita
2021-08-06 09:11:06 +02:00
Rafał Dzięgiel
13a792c0a9
Remove Adwaita scale brightness increase
...
This was fixed inside Adwaita theme
2021-08-06 09:10:58 +02:00
Rafał Dzięgiel
02b0d5f03f
Remove theme selection workaround
...
Libadwaita does not support any other stylesheets then Adwaita. Not my fault.
2021-08-06 09:10:44 +02:00
Rafał Dzięgiel
b577dd762d
Fix D&D on GTK 4.3.2+
2021-08-05 22:29:23 +02:00
Rafał Dzięgiel
c53cde4d78
Merge pull request #126 from Rafostar/gestures
...
Add side double tap gesture and update shortcuts window
2021-08-01 10:29:08 +02:00
Rafostar
a6dfeeca37
Switch playlist items via double tap on screen side
...
Double press left side of the touchscreen to play previous item, right side to play next one. #93
2021-07-28 12:06:18 +02:00
Rafostar
4738673f7f
Fix bottom OSD margins on multi monitors setup
...
When player enters high resolution display, margins are being recalculated,
but when it goes back dragged to some lower resolution screen they are not.
This is wrong, as they should be reset back to the initial value which is zero.
Fixes #102
2021-07-19 12:43:01 +02:00
Rafostar
1004000ba2
Leave fullscreen with "Esc" key
2021-07-18 15:34:41 +02:00
Rafał Dzięgiel
5378facb46
Add long press gesture to toggle play/pause #93
...
Press and hold on touchscreen while in fullscreen to toggle between play and pause
2021-07-16 18:31:26 +02:00
Brian Daniels
0cb89d3a84
Parse mobile youtube URLs.
...
Add support for youtube URLs with the format m.youtube.com?v=<video id>
2021-07-12 15:09:39 -04:00
Rafał Dzięgiel
5018b3a28a
Use new PiP icons when available
...
Use the new "pip-in" and "pip-out" GNOME symbolic icons if user theme has them for enter/leave floating mode button. When icon is unavailable on the host, old icon will be used instead.
2021-06-23 14:24:59 +02:00
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