Commit Graph

362 Commits

Author SHA1 Message Date
Rafał Dzięgiel
ae89199101 Avoid playlist items stealing keyboard focus 2021-01-22 11:07:00 +01:00
Rafał Dzięgiel
2e1f6203b3 Rename "appdata" to "metainfo"
The appdata name is now deprecated, according to: https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html#spec-component-location
2021-01-21 20:00:17 +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
Rafał Dzięgiel
79abc661bc Update README.md 2021-01-21 12:16:50 +01:00
Rafał Dzięgiel
e9c72d3f2e Remove workarounds for GTK 3.99.X versions
Clapper build scripts were updated to GTK 4.0.0 some time ago. Most distros either received GTK 4.0 from start or an update to it. No point in having a special workarounds to support 3.99.X versions.
2021-01-20 19:30:07 +01:00
Rafał Dzięgiel
f5fef2df5b Restore redraw button icon after fullscreen change
This was previously removed, but it looks like it is still needed for GTK4 to draw button icon at correct size after toggling fullscreen.
2021-01-20 18:33:14 +01:00
Rafostar
d36a972864 Simplify playlist drop callback
Use value passed to the callback instead of target property
2021-01-20 11:16:51 +01:00
Rafostar
994491d687 Add playback speed control
Adjustable playback speed control in the form of a slider with a range from 0.01x to 2x.

Closes #33
2021-01-19 16:42:02 +01:00
Rafostar
3ba21d42ec Add playlist widget to elapsed time button popover 2021-01-19 16:41:49 +01:00
Rafostar
fca7966ece Remove app usage as a pre-made widget
This seemed like a good idea when the app still used GTK3, but GTK4 already has a built-in video widget. Maintaning this single functionality would be hard and I cannot promise a stable API anyway. The app main and only purpose will be a video player from now on.
2021-01-18 20:35:32 +01:00
Rafostar
4c0a0da18f Fix chapter popover position not moving for nearby chapters 2021-01-13 19:50:05 +01:00
Rafostar
c0e0592842 Note that video chapters feature is done 2021-01-13 19:19:39 +01:00
Rafostar
d831113925 Fix app close when pressing "Q" during position drag 2021-01-13 19:10:12 +01:00
Rafostar
5d0876bbf7 Do not do fast seeks when seeking to chapter
Fast seeks are always a little off from requested time. When seeking to chapter position, do it by using a normal seek and restore user selected fast seeks afterwards.
2021-01-13 18:49:10 +01:00
Rafostar
df4678d930 Show chapter in popover when dragging position scale 2021-01-13 17:55:22 +01:00
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
b71aa0a84a Flatpak: add TOC support to GstPlayer 2021-01-12 13:32:10 +01:00
Rafostar
ac065e0b6b Flatpak: increase max matroska block size limit
This limit should be probably removed completely, but I am increasing it for the time being to avoid problems with detecting attached subtitles in matroska files.
2021-01-10 23:10:06 +01:00
Rafostar
64a31718c0 Do not set progress bar top margin in floating mode 2021-01-10 22:09:13 +01:00
Rafostar
f5e6395409 Flatpak: fix parsing of matroska attachments mimetypes 2021-01-10 21:12:45 +01:00
Rafostar
688f092406 Flatpak: fix matroska attachments detection 2021-01-10 15:56:23 +01:00
Rafał Dzięgiel
025a199f6a Update README.md 2021-01-08 23:05:33 +01:00
Rafostar
6829e8fd59 Update TODO list 2021-01-08 22:34:39 +01:00
Rafostar
cff65a989d Revert "Remove unnecessary position scale margin"
This reverts commit 1c82b2288a.

The margin turns out to be necessary for uneven scaling on
some displays resolutions.
2021-01-08 21:45:37 +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
234a44a34a Use ARGV from main() instead of importing system utils 2021-01-05 22:49:54 +01:00
Rafostar
a0ad8bf70f Do not return inside player init 2021-01-05 22:48:34 +01:00
Rafostar
8ef1bd662c Fix wrong sink var name
When sink holding variable was renamed to gtk4glsink, I missed this one line.
2021-01-05 22:18:48 +01:00
Rafostar
a9d4555661 Remove fullscreen-changed signal
GTK since 4.0 has fullscreened property that can be used as both a binding and signal with notify. No need to keep the fullscreen-changed signal as part of the app.
2021-01-05 20:47:57 +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
f6601766f1 Fix crash on undetected codec
Player StreamInfo might return a null if codec is undetermined
2021-01-04 22:31:25 +01:00
Rafostar
d6ef29c17e Do not hold gtkglsink as a prop
It was remembered only to later access its ignore_textures property, but it is also available on the widget itself, so use that instead
2021-01-04 22:18:20 +01:00
Rafostar
16f26d3207 Move window to top when new file is opened 2020-12-27 23:03:50 +01:00
Rafostar
92cf34c682 Flatpak: Remove GLib build
GNOME runtime now includes a recent stable GLib, so no need to build it ourselves anymore.
2020-12-27 23:03:50 +01:00
Rafostar
732e3675e8 Use custom scripts for logging debug messages
Default "GLib.log_structured" method is painfully slow and time provided by it is not very accurate. It also slows down program execution even when G_MESSAGES_DEBUG env is not set. Use custom debug scripts for faster and more accurate messages logging instead.
2020-12-27 23:03:50 +01:00
Rafostar
b85edbbe8f Remove gstVersionCheck
Leftover from GTK3 version of the app. Since "gtk4glsink" is not available in any GStreamer release yet, no point in checking the version.
2020-12-27 23:03:50 +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
a096c43b97 Flatpak: allow access to user "Videos" directory
This is needed to fix loading playlist from file. With that playlists will be limited to videos inside "Videos" directory in Flatpak version (with default permissions) which is still better than no playlists functionality. This is a common thing to do for a Flatpak video player.
2020-12-24 12:41:00 +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
f2d8d8ad4f Uninhibit screen when video is not playing
This functionality was broken before GTK 4.0.0, so it needs a minimal required GTK version bump
2020-12-22 23:21:49 +01:00
Rafostar
10e04a8eba Flatpak: fix distorted gstreamer-vaapi colors with GLX on AMD #10 2020-12-22 15:17:47 +01:00
Rafostar
42774f84e4 Update media info on idle after playback starts. Fixes #32 2020-12-21 19:37:58 +01:00
Rafostar
c125df777f Use GTK4 version of update-icon-cache
Even if GTK3 is preinstalled on GNOME, app should use GTK4 version of "update-icon-cache" binary which is a proper thing to do.
2020-12-20 19:25:50 +01:00
Rafostar
b97967e374 RPM: Include additional app binaries 2020-12-20 18:30:51 +01:00
Rafostar
55ae63dad1 Flatpak: update GTK to 4.0
GTK 4.0 was released and now its latest git includes "fullscreen" and "flat" buttons changes I requested. Lets update our app to it :-)
2020-12-17 20:08:39 +01:00
Rafostar
49b3296527 Use simply "Clapper" name for the remote app
The remote app name should match the name of the main app, otherwise different name is displayed in the headerbar and its prefs window
2020-12-17 20:03:01 +01:00