Rafał Dzięgiel
a065b81846
flatpak: Add GStreamer 1.24 for testing
...
We do not yet have GStreamer 1.24 in Flathub repo, so for testing purposes add it here temporarily
2024-11-14 23:18:16 +01:00
Rafał Dzięgiel
9fbba4d66a
meson: Bump min required GStreamer version
...
Setting "start-bitrate" property requires at least GStreamer 1.24.
We do not want to introduce APIs that work only if user has a certain
dependency version, thus this bump instead of version check.
Related work on GStreamer side:
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3894
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3895
Since these were contributed to GStreamer almost 2 years ago with the intention
of using them in Clapper, I think its about time to start do so.
2024-11-14 22:28:21 +01:00
Rafał Dzięgiel
ab659d0951
clapper: Use playbin3 by default
...
New GStreamer adaptive demuxers work only within playbin3. In order to not
introduce new APIs (setting adaptive bitrate) that do not work by default
and to have the whole "clapper-enhancers" concept working correctly, its
about time to move on to playbin3.
2024-11-13 20:06:34 +01:00
Rafał Dzięgiel
bd3ce28716
clapper: Ability to request adaptive bitrates
...
Add APIs to allow apps to select start, min and max bitrates for adaptive streaming.
Combining min+max values can allow to implement a video quality selector,
although possible bitrates/qualities are not communicated with an app yet.
2024-11-13 20:00:59 +01:00
Rafał Dzięgiel
0a15e70d02
Merge pull request #501 from Rafostar/libpeas
...
Support libpeas based plugin system
2024-11-11 13:22:10 +01:00
Rafał Dzięgiel
d42b17a749
workflows: Add libpeas to windows build
...
Required for enhancers loader
2024-11-11 12:49:23 +01:00
Rafał Dzięgiel
719a4043b5
workflows: Disable "enhancers-loader" for docs build
...
Not needed to build the docs, so disable it
2024-11-11 12:49:19 +01:00
Rafał Dzięgiel
ee3d07b158
flatpak: Replace gtuber with Clapper enhancers
...
Also add all required dependencies
2024-11-11 12:49:17 +01:00
Rafał Dzięgiel
c8ef0f891d
clapper: Support libpeas based plugin system
...
Allow loading external plugins called "Enhancers" that as the name suggests,
enhance Clapper library capabilities.
Currently implemented is a "ClapperExtractable" interface meant to extract
an actual media that GStreamer can later play from an initial input URI.
Additionally, an internal GStreamer elements that work with it are ported/moved
here from "gtuber" library that this functionality replaces.
2024-11-11 12:49:07 +01:00
Rafał Dzięgiel
220913de14
Merge pull request #499 from Rafostar/esc-unfullscreen
...
clapper-app: Add unfullscreen keyboard shortcut
2024-10-15 19:53:32 +02:00
Rafał Dzięgiel
2d1f6f471b
clapper-app: Add unfullscreen keyboard shortcut
...
Unfullscreen with Escape key
Closes #494
2024-10-15 19:32:48 +02:00
Rafał Dzięgiel
af4a876edc
New Crowdin updates ( #473 )
...
* New translations clapper-gtk.pot (Hindi)
* New translations clapper-app.pot (Russian)
* New translations clapper-gtk.pot (Czech)
* New translations clapper-gtk.pot (Persian)
* New translations clapper-gtk.pot (Norwegian)
2024-10-10 20:23:28 +02:00
Rafał Dzięgiel
14cdbef81c
clapper-gtk: Fix metadata ignore for different languages
...
Since missing plugin string is translated, word describing its type
(e.g. Decoder) might come before plugin name itself, so we need to
check whole text to find substring instead of checking only prefix.
Fixes #477
2024-08-02 17:22:27 +02:00
Rafał Dzięgiel
931dc255c1
clapper-gtk: Fix some video props not being writable
...
They should have been writable as we even have setters for them
2024-07-23 17:55:11 +02:00
Rafał Dzięgiel
2f39fef47b
readme: Update screenshots
2024-06-30 21:38:29 +02:00
Rafał Dzięgiel
c05a6361b7
clapper-app: metainfo: Add captions to screenshots
2024-06-30 21:29:26 +02:00
Rafał Dzięgiel
c152f3d791
clapper-app: Update LINGUAS file
2024-06-29 18:24:40 +02:00
Rafał Dzięgiel
f967e169b5
clapper-gtk: Update LINGUAS file
2024-06-29 18:24:26 +02:00
Rafał Dzięgiel
04a5bc8523
New Crowdin updates ( #431 )
...
* New translations clapper-gtk.pot (Portuguese, Brazilian)
* New translations clapper-app.pot (Portuguese, Brazilian)
* New translations clapper-app.pot (Catalan)
* New translations clapper-app.pot (Chinese Simplified)
* New translations clapper-gtk.pot (Chinese Simplified)
* New translations clapper-gtk.pot (Occitan)
* New translations clapper-app.pot (Occitan)
2024-06-29 18:18:06 +02:00
Rafał Dzięgiel
135be60497
clapper-gtk: billboard: Make transition a tad faster
2024-06-29 17:49:41 +02:00
Rafał Dzięgiel
736fddbe46
meson: Do not list Clapper API features when not building it
...
No need to list API features if API is not being built.
This avoids an issue with meson script error when Clapper API
build is skipped, since these are not declared then.
Fixes #468
2024-06-29 17:35:47 +02:00
Rafał Dzięgiel
63f2fa1946
examples: Start playback after assembling app window
...
This is the correct order of how things should be done, so teach what is right
2024-06-29 15:07:59 +02:00
Rafał Dzięgiel
99708e1267
clapper-gtk: status: Apply ".osd" style class
...
Otherwise text is invisible on light themed apps,
since it renders as black letters on a black background
2024-06-29 15:05:12 +02:00
Rafał Dzięgiel
636e61ead1
clapper-gtk: video: Use "scaletempo" by default
...
Do not require applications to import GStreamer and their devs to learn its
basics just to set this single element. Similarly as ClapperGtkVideo sets
"clappersink" during construction, it can also set "scaletempo" as this is
the most common choice for an audio filter.
Elements can still be changed like before if desired by setting corresponding
player properties.
2024-06-29 14:52:25 +02:00
Rafał Dzięgiel
147399afd8
clapper: media-item: Fix construct with NULL as "cache-location"
2024-06-28 19:47:07 +02:00
Rafał Dzięgiel
2843a17879
Merge pull request #467 from Rafostar/cached-items
...
clapper: Add media item creation with cached file
2024-06-27 22:13:36 +02:00
Rafał Dzięgiel
bf0a8b68db
clapper: Add media item creation with cached file
...
Allow creating item with a previously downloaded cache file.
When set, file at location will be tried to be loaded first.
If this fails, URI will be used as normal.
2024-06-27 20:57:59 +02:00
Rafał Dzięgiel
af4ae2c942
clapper: Fix missing "download-complete" signal on short videos
...
Short video might be fully downloaded before playback starts.
This prevents us from emitting "download-complete" signal with
corresponding media item when download cache is enabled.
Check if we have pending item, as this will be the item downloaded
in such case (before it becomes playing item).
2024-06-22 11:20:57 +02:00
Rafał Dzięgiel
c0221dedc8
examples: Fix typo
2024-06-22 11:12:10 +02:00
Rafał Dzięgiel
9f54c1058c
Merge pull request #463 from Rafostar/ms-win
...
Support MS Windows
2024-06-21 20:32:50 +02:00
Rafał Dzięgiel
07f850d58a
workflows: Add windows build job
2024-06-21 18:50:24 +02:00
Rafał Dzięgiel
650b568319
clapper-app: meson: Do not install mimes on Windows
...
They are unsupported. We use file extensions instead.
2024-06-21 18:50:21 +02:00
Rafał Dzięgiel
abff579b70
clapper-app: Fix missing media in file dialog on Windows
...
Windows does not support mime-types file filters, so use file extensions instead
2024-06-21 18:50:13 +02:00
Rafał Dzięgiel
0b253b41f6
clapper-app: meson: Binaries with/without console on Windows
2024-06-20 18:32:50 +02:00
Rafał Dzięgiel
d5832bd2db
gst-plugin: Improve importers lookup on Win32
2024-06-19 22:44:27 +02:00
Rafał Dzięgiel
98371e822e
gst-plugin: Allow overriding importers path with env variable
2024-06-17 21:41:11 +02:00
Rafał Dzięgiel
3f2e5d569d
clapper-gtk: video: Fix signals disconnection after dispose
...
A possibility exists that something else keeps a reference to the player
even after video is disposed. In this case signals from the player would
not be disconnected.
We have to disconnect them manually here to ensure their callbacks will
not be used after disposal.
2024-06-17 19:26:18 +02:00
Rafał Dzięgiel
f58e722002
clapper-app: Fix unused variable warning when no MPRIS
...
When compiling without MPRIS feature "instance_count" is left unused,
so skip it with preprocessor in order to avoid warning.
2024-06-16 17:35:06 +02:00
Rafał Dzięgiel
262983e857
clapper-app: Ensure private types for GtkBuilder
...
We need to ensure types that are not part of public API, otherwise GtkBuilder will fail to use them
(e81aad25a1/gtk/glade/README.glade (L15)
).
2024-06-16 15:21:23 +02:00
Rafał Dzięgiel
6ca1bccd1a
clapper-gtk: Ensure private types before template init
...
We need to ensure types that are not part of public API, otherwise GtkBuilder will fail to use them
(e81aad25a1/gtk/glade/README.glade (L15)
).
2024-06-16 14:51:56 +02:00
Rafał Dzięgiel
c25cfd9598
clapper-app: meson: Do not skip whole data install on non-linux
...
We cannot run app without schemas, thus we need to compile and install them on any OS
2024-06-16 13:50:54 +02:00
Rafał Dzięgiel
3ce937c2b9
gst-plugin: Properly export external API symbols
...
We do not install headers from gst-plugin, but still need to export
symbols to compile modules that use plugin provided shared libraries.
2024-06-16 13:50:49 +02:00
Rafał Dzięgiel
521a83bad0
clapper: meson: Add additional check for gdbus-codegen
...
Check at meson level if "gdbus-codegen" is available and otherwise
exit cleanly, possibly building without MPRIS feature instead of failing.
2024-06-16 13:50:41 +02:00
Rafał Dzięgiel
d4598846d3
clapper-gtk: Properly export external API symbols
2024-06-16 13:48:27 +02:00
Rafał Dzięgiel
50d4fbe43b
clapper: Properly export external API symbols
2024-06-16 13:48:17 +02:00
Rafał Dzięgiel
df371c698a
clapper-app: Fix opened file content type detection
...
Fixes issues with detecting whether file has one of supported subtitles mime types
2024-06-14 17:32:03 +02:00
Rafał Dzięgiel
2eaf5032cd
Merge pull request #451 from Rafostar/resize-me
...
Resize app window to match aspect ratio with middle click
2024-05-26 17:06:58 +02:00
Rafał Dzięgiel
28de283a98
clapper-app: Add auto window resize keyboard shortcut
...
In addition to middle click, also add "Super+r" keyboard shortcut to perform window resize to fit video action
2024-05-25 21:30:26 +02:00
Rafał Dzięgiel
ae6512b233
clapper-app: Resize window to match aspect ratio with middle click
2024-05-25 21:16:59 +02:00
Rafał Dzięgiel
5049f620eb
Merge pull request #449 from Rafostar/new-window
...
Add "New Window" functionality in UI
2024-05-20 22:55:14 +02:00