Rafał Dzięgiel
5e2c1a8e30
flatpak: Sync with Flathub
2025-06-08 16:40:47 +02:00
Rafał Dzięgiel
72c8e4ab84
clapper: Fix missing pspec ref when copying proxy
...
Newly created enhancer proxies hold param specs with a reference
on each and unref them when finalized. For this reason, copied
proxy objects needs to ref pspecs from source, otherwise it would
do an unref without holding a reference on object during destruction.
2025-06-02 20:10:53 +02:00
Rafał Dzięgiel
db61b9c773
gst-plugin: Avoid main thread invoke when used with "ClapperGtkVideo"
...
This thread invoke is done mainly to support testing with gst-launch-1.0,
otherwise no need when used with "ClapperGtkVideo". We can avoid doing this,
by checking whether this type was already registered in which case it means
that "ClapperGtkVideo" widget is used within GTK application and registered
before sink starts processing data.
In case of "ClapperGtkVideo" we might run into situation where these two threads
are stuck waiting for each other to be idle. This change works around this issue.
Fixes #555
2025-05-25 15:06:32 +02:00
Rafał Dzięgiel
682ad6c3c8
clapper: Allow peeking in Vala
...
Vala does better job at handling objects without increased reference than
interpreted languages, so its safe to expose list "peek" functions to it.
2025-05-23 16:15:11 +02:00
Rafał Dzięgiel
749796a12f
clapper: doc: Update enhancer proxy docs
2025-05-23 16:11:46 +02:00
Rafał Dzięgiel
c557c11e86
clapper: Check enhancer config existence before applying it
...
Fixes crash due to trying to apply config for an enhancer while
there are no settings in this enhancer to be applied
2025-05-23 08:12:09 +02:00
Rafał Dzięgiel
a2f67a9bc0
Merge pull request #553 from Rafostar/harvest-caching
...
clapper: Implement harvest caching
2025-05-21 19:49:26 +02:00
Rafał Dzięgiel
ddc0a4d8f9
clapper: doc: Fix missing transfer annotation
2025-05-21 19:42:27 +02:00
Rafał Dzięgiel
92e3e686db
clapper: doc: Fix adaptive-start-bitrate description
2025-05-21 18:36:19 +02:00
Rafał Dzięgiel
9fd87dbbb9
clapper: Rename enhancersrc -> extractablesrc
...
Since this element only uses enhancers of "extractable" type
2025-05-21 17:42:15 +02:00
Rafał Dzięgiel
ca15f4760a
clapper: Cleanup cached harvests periodically
2025-05-21 17:42:08 +02:00
Rafał Dzięgiel
6ddb53252a
clapper: Implement harvest caching
...
Using recently added local cache functionality, store harvests
that have expiration date. With this, next time the same URI is
selected for playback we can read it from cache, skipping loading
of any enhancer plugins and doing network requests.
This also works nicely with Clapper discoverer feature.
Making queued items be fetched and cached ahead of playback.
2025-05-20 18:56:28 +02:00
Rafał Dzięgiel
b30d53d8ce
clapper: Add ability to set harvest expiration date
2025-05-20 17:18:20 +02:00
Rafał Dzięgiel
1527873bcc
clapper: Fix missing unref of mapped file
...
In case where enhancer plugin version did not match
an unref was missing of read file.
2025-05-19 20:42:32 +02:00
Rafał Dzięgiel
e23f2acb3e
meson: Remove unused "config.h" variable
2025-05-18 13:24:51 +02:00
Rafał Dzięgiel
1dfcb218ac
meson: Bump min required libadwaita version
...
Since URI dialog was ported to use AdwAlertDialog,
a minimal Adw version has to be changed to 1.5.
2025-05-17 18:55:31 +02:00
Rafał Dzięgiel
b05f0f2b30
meson: Remove GIR init section
...
Clapper GStreamer plugin is not part of GObject Introspection,
so no need to init GStreamer when compiling bindings.
2025-05-17 18:20:33 +02:00
Rafał Dzięgiel
dad0d46196
Merge pull request #546 from Rafostar/configurable-enhancers
...
Make Clapper Enhancers configurable
2025-05-16 18:30:05 +02:00
Rafał Dzięgiel
e34f729f62
clapper: Move basic functions into separate files
...
Avoid including whole "clapper.h" internally.
Faster recompilation when changes are done.
2025-05-16 17:02:29 +02:00
Rafał Dzięgiel
a97e7d1a96
clapper: Avoid using hardcoded API name in enhancers loader on win32
2025-05-16 17:02:10 +02:00
Rafał Dzięgiel
c6c4fe309b
clapper: Implement data cache
...
Add data cache functions and use them to store enhancer data into local cache file.
This way we can restore all properties and interfaces used in enhancer without
creating its instance. This avoids loading interpreters like Python at init time
making startup a lot faster.
2025-05-16 17:02:07 +02:00
Rafał Dzięgiel
3ef6e9694a
clapper-app: Add enhancers to preferences window
...
Browse, read info and configure Clapper enhancer plugins from preferences window
2025-05-16 17:02:03 +02:00
Rafał Dzięgiel
d951be7a56
clapper: Remove usage of "X-Interfaces" in enhancer data
...
At this point its sole remaining place where its used is one debug message.
For this reason remove it. With this, enhancer plugin files no longer need to
have this in them unless they want to keep Clapper 0.8 compat (otherwise unused).
2025-05-16 17:01:59 +02:00
Rafał Dzięgiel
98fdd7c58b
clapper: Introduce "ClapperEnhancerProxy" objects
...
Add support for configuring Clapper Enhancers. In order to do that,
introduce enhancer proxy object that act as intermediary between
player and enhancer plugin.
We cannot give direct access to enhancer instances from code, since
they are managed (created and destroyed) by player as/when needed.
Also due to some interpreted languages not working with multiple
threads. Instead, give proxy objects that will store each enhancer
configuration to be applied when an enhancer instance is created.
With this, implementations also gain ability to browse available
enhancers, see what they support and change their properties.
Enhancers are now also assigned to player, instead of being only global.
This allows to configure them separately on a per player instance basis.
Writing configurable enhancers is super easy too, as all plugin has
to do is install standard GParamSpec properties to its class with a
corresponding gschema file (for global props only) and its done.
2025-05-16 17:01:51 +02:00
Rafał Dzięgiel
147d94088c
Merge pull request #548 from ximion/master
...
Use modern appstream, instead of appstream-util for validation
2025-05-03 15:42:28 +02:00
Matthias Klumpp
c7790d9f7b
Use modern appstream, instead of appstream-util for validation
2025-05-03 01:56:53 +02:00
Rafał Dzięgiel
f5731957dc
New Crowdin updates ( #524 )
...
* New translations clapper-app.pot (Chinese Simplified)
* New translations clapper-app.pot (Chinese Simplified)
* New translations clapper-app.pot (Romanian)
* New translations clapper-app.pot (French)
* New translations clapper-app.pot (Spanish)
* New translations clapper-app.pot (Afrikaans)
* New translations clapper-app.pot (Arabic)
* New translations clapper-app.pot (Catalan)
* New translations clapper-app.pot (Czech)
* New translations clapper-app.pot (Danish)
* New translations clapper-app.pot (German)
* New translations clapper-app.pot (Greek)
* New translations clapper-app.pot (Basque)
* New translations clapper-app.pot (Finnish)
* New translations clapper-app.pot (Hebrew)
* New translations clapper-app.pot (Hungarian)
* New translations clapper-app.pot (Italian)
* New translations clapper-app.pot (Japanese)
* New translations clapper-app.pot (Korean)
* New translations clapper-app.pot (Lithuanian)
* New translations clapper-app.pot (Dutch)
* New translations clapper-app.pot (Norwegian)
* New translations clapper-app.pot (Polish)
* New translations clapper-app.pot (Portuguese)
* New translations clapper-app.pot (Russian)
* New translations clapper-app.pot (Slovak)
* New translations clapper-app.pot (Serbian (Cyrillic))
* New translations clapper-app.pot (Swedish)
* New translations clapper-app.pot (Turkish)
* New translations clapper-app.pot (Ukrainian)
* New translations clapper-app.pot (Chinese Simplified)
* New translations clapper-app.pot (Chinese Traditional)
* New translations clapper-app.pot (Vietnamese)
* New translations clapper-app.pot (Portuguese, Brazilian)
* New translations clapper-app.pot (Persian)
* New translations clapper-app.pot (Croatian)
* New translations clapper-app.pot (Hindi)
* New translations clapper-app.pot (Asturian)
* New translations clapper-app.pot (Occitan)
* New translations clapper-app.pot (Persian)
* New translations clapper-app.pot (Portuguese, Brazilian)
* New translations clapper-app.pot (Finnish)
* New translations clapper-app.pot (Russian)
* New translations clapper-gtk.pot (Russian)
* New translations clapper-app.pot (French)
* New translations clapper-app.pot (Portuguese)
* New translations clapper-app.pot (German)
2025-04-27 15:20:33 +02:00
Rafał Dzięgiel
2e3c98d9b4
Merge pull request #530 from Rafostar/pipeline-preview-launcher
...
Ability to show GStreamer pipeline
2025-04-27 13:04:04 +02:00
Rafał Dzięgiel
d09824fb1a
clapper-app: Show error dialog on pipeline preview failure
2025-04-26 21:25:13 +02:00
Rafał Dzięgiel
366315077e
clapper-app: Use user data dir for storing pipeline exports
...
System tmp directory does not work within containers such as Flatpak
for our usage with file launcher, so make our own temp in app data dir
2025-04-26 18:33:02 +02:00
Rafał Dzięgiel
a75184a471
flatpak: Build graphviz
...
Needed for pipeline preview app functionality
2025-04-26 18:32:59 +02:00
Rafał Dzięgiel
5bd6ba8948
meson: Add "pipeline-preview" to printed summary
2025-04-26 18:32:57 +02:00
Rafał Dzięgiel
160dbce265
clapper-app: Add "show pipeline" key shortcut to help overlay
2025-04-26 18:32:55 +02:00
Rafał Dzięgiel
224326857b
clapper-app: Create pipeline preview file async
2025-04-26 18:32:42 +02:00
Rafał Dzięgiel
f9b31c51a7
Merge pull request #538 from fritteli/fix-typo-in-german-translation
...
chore: Fix typo in german translation
2025-04-11 20:11:27 +02:00
Manuel Friedli
be1de8bc77
chore: Fix typo in german translation
2025-04-04 23:06:42 +02:00
Rafał Dzięgiel
b8a4a90b6c
clapper-app: Delete temp dir on exit
...
Pipeline preview creates temp files, so delete whole directory
recursively on app exit. Since these files are used through
launcher/portal with another app, we do not know when user finished
using them, thus we cannot detect and remove them earlier.
2025-02-18 18:30:09 +01:00
Rafał Dzięgiel
d73f33785d
clapper-app: Fix a file path in POTFILES
...
Since #479 "window" was renamed to "dialog".
We also need to update POTFILES accordingly.
2025-02-16 17:49:11 +01:00
Rafał Dzięgiel
dca8fbd336
clapper-app: Add GStreamer pipeline preview
...
Allow to preview GStreamer pipeline while playing content.
This makes it easier to check what is used underneath.
2025-02-16 17:36:05 +01:00
Rafał Dzięgiel
681d5b8699
clapper: Add a function to get pipeline graph data
2025-02-16 17:23:34 +01:00
Rafał Dzięgiel
009f272f64
Merge pull request #479 from geopjr-forks/fix/adw-1-6-deprecations
...
clapper-app: Fix libadwaita 1.6 deprecations
2025-02-16 13:22:54 +01:00
Evan Paterakis
a5bc1b5578
clapper-app: set uri-dialog's content width to 420
...
Co-authored-by: Rafał Dzięgiel <40623528+Rafostar@users.noreply.github.com >
2025-02-15 19:17:04 +02:00
Rafał Dzięgiel
49471882c1
clapper-app: Update POT file
2025-02-15 12:48:42 +01:00
Evan Paterakis
069be30225
clapper-app: fix adw 1.6 deprecations
2025-02-12 17:49:22 +02:00
Rafał Dzięgiel
5f83d93374
Merge pull request #525 from abhijeeth-babu/patch-1
...
Remove "Music" from Clapper's keywords to lower its priority as a music player
2025-02-10 19:59:51 +01:00
Rafał Dzięgiel
d0a9122833
Merge pull request #528 from Rafostar/ci-arm64
...
workflows: Build natively on arm64
2025-02-10 19:26:16 +01:00
Rafał Dzięgiel
c29b8871a3
workflows: Build natively on arm64
...
Replace QEMU with native arm64 runners, now that they are available
2025-02-10 18:21:37 +01:00
Rafał Dzięgiel
d4d0f9e95e
flatpak: Sync with Flathub
2025-02-08 12:48:37 +01:00
Rafał Dzięgiel
291c6e35f2
Back to development
2025-02-08 11:48:12 +01:00
Abhijeeth Babu
69bace7150
Remove other unneeded keywords (Album, GNOME, Clapper) from desktop file
2025-01-27 22:57:01 +05:30