Commit Graph

1360 Commits

Author SHA1 Message Date
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
Abhijeeth Babu
401e33b1c0 Remove "Music" from Clapper's keywords to lower its priority as a music player
This PR removes the keyword "Music" from Clapper's `.desktop` file to lower its priority as a music player in desktop search results. This ensures that Clapper is not prominently suggested when searching for music-related applications, while retaining its functionality as a video player.

### Changes:
- Removed "Music" from the `Keywords` field in the `.desktop` file.

This change does not affect Clapper's ability to play audio files but adjusts its visibility in application search results.
2025-01-25 22:10:10 +05:30
Rafał Dzięgiel
a449b6b3f5 0.8.0 0.8.0 2025-01-20 21:29:59 +01:00
Rafał Dzięgiel
2d12c8980d clapper-app: Update LINGUAS file 2025-01-20 21:17:53 +01:00
Rafał Dzięgiel
ea102ed870 clapper-gtk: Update LINGUAS file 2025-01-20 21:17:13 +01:00
Rafał Dzięgiel
ee6f3cccdb New Crowdin updates (#517)
* New translations clapper-gtk.pot (German)

* New translations clapper-app.pot (German)

* New translations clapper-app.pot (German)

* New translations clapper-app.pot (Portuguese)

* New translations clapper-gtk.pot (Portuguese)

* New translations clapper-app.pot (Portuguese)

* New translations clapper-app.pot (Russian)

* New translations clapper-app.pot (French)

* New translations clapper-gtk.pot (French)

* New translations clapper-app.pot (French)

* New translations clapper-app.pot (Chinese Simplified)

* New translations clapper-app.pot (Chinese Simplified)

* New translations clapper-gtk.pot (Polish)

* New translations clapper-app.pot (Polish)

* New translations clapper-gtk.pot (Romanian)

* New translations clapper-app.pot (Romanian)

* New translations clapper-app.pot (Romanian)
2025-01-20 21:13:13 +01:00
Rafał Dzięgiel
63d393662e metainfo: Update version history 2025-01-20 20:46:59 +01:00
Rafał Dzięgiel
80285fb50b clapper: Fix importing enhancers with extra path
We cannot use "goto" here, like it was before, as we would fall into an endless loop.
2025-01-20 17:43:48 +01:00
Rafał Dzięgiel
e9377f0c6a Merge pull request #519 from Rafostar/misc-fixes
Miscellaneous fixes
2025-01-19 18:02:10 +01:00
Rafał Dzięgiel
ce102b9c76 workflows: Use flatpak-builder action master version
Since "flatpak-builder" action uses deprecated "upload-artifact"
version, that can stop working soon, disable it and upload ourselves.
This is supported in master, but not in any tagged version,
so for now switch to using action from master branch.

Also bump used runtime to GNOME 47 when building.
2025-01-19 17:42:08 +01:00
Rafał Dzięgiel
4df812066f clapper: enhancers-loader: Support loading extra enhancers
Allow setting an additional dir(s) with "CLAPPER_ENHANCERS_EXTRA_PATH" env.

This should allow to add other enhancers without removing default ones.
If app/user needs to remove default ones, "CLAPPER_ENHANCERS_PATH" env
can be set to empty.
2025-01-19 15:48:45 +01:00
Rafał Dzięgiel
8752d08113 clapper: enhancers-loader: Fix default enhancers dir on Win32 2025-01-19 15:48:34 +01:00
Rafał Dzięgiel
fe30ba24fa clapper-gtk: extra-menu-button: Drop popover focus on unmap
Fixes #496
2025-01-18 18:31:03 +01:00
Rafał Dzięgiel
4472d87f8b clapper-app: Show sink bin child name in info window
Sinks that are bin types often take another configurable sink through a property.
We want to show what was set there in info window too.
2025-01-18 17:27:39 +01:00