diff --git a/README.md b/README.md index 2d18f764..e99c9ace 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ # Clapper -A GNOME media player build using [GJS](https://gitlab.gnome.org/GNOME/gjs) with [GTK4](https://www.gtk.org) toolkit. The media player is using GStreamer [GstPlayer API](https://gstreamer.freedesktop.org/documentation/player/gstplayer) as a media backend and renders everything via [OpenGL](https://www.opengl.org). Can also be used as a pre-made widget for [GTK](https://www.gtk.org) apps. +A GNOME media player build using [GJS](https://gitlab.gnome.org/GNOME/gjs) with [GTK4](https://www.gtk.org) toolkit. The media player is using GStreamer [GstPlayer API](https://gstreamer.freedesktop.org/documentation/player/gstplayer) as a media backend and renders everything via [OpenGL](https://www.opengl.org).
@@ -27,7 +27,9 @@ This is still early WIP. Many features are not implemented yet and quite a few a
* Chapters on progress bar
## Installation from Flatpak (recommended)
-The `Flatpak` package includes all required dependencies and codecs. Additionally it also has a few patches, thus some functionalities work better (or are only available) in `Flatpak` version (until my changes are accepted upstream). It is provided as an easy "just install and use" solution.
+The `Flatpak` package includes all required dependencies and codecs.
+Additionally it also has a few patches, thus some functionalities work better (or are only available) in `Flatpak` version (until my changes are accepted upstream).
+It is provided as an easy "just install and use" solution.
```sh
flatpak install https://rafostar.github.io/flatpak/com.github.rafostar.Clapper.flatpakref
@@ -42,7 +44,8 @@ Pre-built packages are available in [my repo](https://software.opensuse.org//dow
#### Arch Linux
You can get Clapper from the AUR: [clapper-git](https://aur.archlinux.org/packages/clapper-git)
-**Important:** If you build `Clapper` from source code or install it using any other packaging system than `Flatpak`, you will still need some additional `GStreamer` elements and patches that are not upstreamed in `GStreamer` source code yet. The requirements and how to build from git source code are described in the [wiki](https://github.com/Rafostar/clapper/wiki#installation-from-source-code).
+**Important:** If you build `Clapper` from source code or install it using any other packaging system than `Flatpak`, you will still need some additional `GStreamer` elements and patches that are not upstreamed in `GStreamer` source code yet.
+The requirements and how to build from git source code are described in the [wiki](https://github.com/Rafostar/clapper/wiki#installation-from-source-code).
## Q&A
**Q:** Does using `GJS` negatively impact video performance?
@@ -52,7 +55,9 @@ Even the custom video widget that I prepared for this player (based on original
All these libs are acting "on their own" and no function calls from `GJS` related to video decoding and rendering are performed during playback.
**Q:** What settings should I set to maximize performance?
-**A:** As of now, player works best on `Wayland` session. `Wayland` users might want to try enabling the experimental `vah264dec` plugin for improved performance (this plugin does not work on `Xorg` right now) for standard (8-bit) `H.264` videos. It can be enabled from inside player preferences dialog inside `Advanced -> GStreamer` tab using customizable `Plugin Ranking` feature. Since the whole app is rendered using your GPU, users of VERY weak GPUs might try to disable the "render window shadows" option to have more GPU power available for non-fullscreen video rendering.
+**A:** As of now, player works best on `Wayland` session. `Wayland` users might want to try enabling the experimental `vah264dec` plugin for improved performance (this plugin does not work on `Xorg` right now) for standard (8-bit) `H.264` videos.
+It can be enabled from inside player preferences dialog inside `Advanced -> GStreamer` tab using customizable `Plugin Ranking` feature.
+Since the whole app is rendered using your GPU, users of VERY weak GPUs might try to disable the "render window shadows" option to have more GPU power available for non-fullscreen video rendering.
## Special Thanks
Many thanks to [sp1ritCS](https://github.com/sp1ritCS) for creating and maintaining package build files.
diff --git a/examples/app-example.js b/examples/app-example.js
deleted file mode 100644
index 1f812baa..00000000
--- a/examples/app-example.js
+++ /dev/null
@@ -1,48 +0,0 @@
-imports.gi.versions.Gtk = '4.0';
-
-const Gtk = imports.gi.Gtk;
-const Clapper = imports.clapper;
-
-let app = new Gtk.Application({
- application_id: 'com.clapper.AppExample'
-});
-
-app.connect('activate', () => {
- let window = new Gtk.ApplicationWindow({
- application: app,
- title: 'Clapper App Example',
- });
- let grid = new Gtk.Grid({
- halign: Gtk.Align.CENTER,
- valign: Gtk.Align.CENTER,
- margin_start: 20,
- margin_end: 20,
- margin_top: 10,
- margin_bottom: 10,
- });
- let box = new Gtk.Box({
- orientation: Gtk.Orientation.HORIZONTAL,
- spacing: 8,
- });
- let button = new Gtk.Button({
- icon_name: 'folder-videos-symbolic',
- });
- let label = new Gtk.Label({
- label: 'Click this button to play Big Buck Bunny!',
- });
-
- button.connect('clicked', () => {
- let clapper = new Clapper.App({
- playlist: ['http://distribution.bbb3d.renderfarming.net/video/mp4/bbb_sunflower_1080p_30fps_normal.mp4']
- });
- clapper.run();
- });
-
- box.append(label);
- box.append(button);
- grid.attach(box, 0, 0, 1, 1);
-
- window.set_child(grid);
- window.present();
-});
-app.run([]);
diff --git a/examples/widget-example.js b/examples/widget-example.js
deleted file mode 100644
index 22a9c656..00000000
--- a/examples/widget-example.js
+++ /dev/null
@@ -1,40 +0,0 @@
-imports.gi.versions.Gtk = '4.0';
-
-const Gtk = imports.gi.Gtk;
-const Clapper = imports.clapper;
-
-let app = new Gtk.Application({
- application_id: 'com.clapper.WidgetExample'
-});
-
-app.connect('activate', () => {
- let window = new Gtk.ApplicationWindow({
- application: app,
- title: 'Clapper Widget Example',
- width_request: 460,
- height_request: 390,
- });
- let box = new Gtk.Box({
- orientation: Gtk.Orientation.VERTICAL,
- });
- let label = new Gtk.Label({
- label: [
- 'Clapper is used as a widget and placed below.',
- 'Double click it to enter fullscreen!',
- ].join('\n')
- });
- let widget = new Clapper.Widget();
-
- window.bind('fullscreened', label, 'visible', GObject.BindingFlags.INVERT_BOOLEAN);
- window.connect('show', () => {
- let media = 'http://distribution.bbb3d.renderfarming.net/video/mp4/bbb_sunflower_1080p_30fps_normal.mp4';
- widget.player.set_media(media);
- });
-
- box.append(label);
- box.append(widget);
-
- window.set_child(box);
- window.present();
-});
-app.run([]);
diff --git a/gex.json b/gex.json
deleted file mode 100644
index c75d97ee..00000000
--- a/gex.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "name": "clapper",
- "files": [
- "clapper_src/app.js",
- "clapper_src/controls.js",
- "clapper_src/interface.js",
- "clapper_src/player.js"
- ]
-}
diff --git a/gjs-1.0/clapper.js.in b/gjs-1.0/clapper.js.in
deleted file mode 100644
index cd18d3da..00000000
--- a/gjs-1.0/clapper.js.in
+++ /dev/null
@@ -1,14 +0,0 @@
-imports.gi.versions.Gdk = '4.0';
-imports.gi.versions.Gtk = '4.0';
-
-const CLAPPER_PATH = '@importspath@';
-imports.searchPath.unshift(CLAPPER_PATH);
-
-const ClapperSrc = imports.clapper_src;
-ClapperSrc.misc.clapperPath = CLAPPER_PATH;
-ClapperSrc.misc.clapperVersion = '@PACKAGE_VERSION@';
-
-var { App } = ClapperSrc.app;
-var { Widget } = ClapperSrc.widget;
-
-imports.searchPath.shift();
diff --git a/gjs-1.0/meson.build b/gjs-1.0/meson.build
deleted file mode 100644
index 1b952bf8..00000000
--- a/gjs-1.0/meson.build
+++ /dev/null
@@ -1,15 +0,0 @@
-sharedir = join_paths(get_option('prefix'), 'share')
-gjsdir = join_paths(sharedir, 'gjs-1.0')
-importspath = join_paths(sharedir, meson.project_name())
-
-gjs_conf = configuration_data()
-gjs_conf.set('PACKAGE_VERSION', meson.project_version())
-gjs_conf.set('importspath', importspath)
-
-configure_file(
- input: 'clapper.js.in',
- output: 'clapper.js',
- configuration: gjs_conf,
- install: true,
- install_dir: gjsdir
-)
diff --git a/meson.build b/meson.build
index f054e098..183eb1cf 100644
--- a/meson.build
+++ b/meson.build
@@ -16,7 +16,6 @@ conf = configuration_data()
conf.set('bindir', join_paths(get_option('prefix'), 'bin'))
subdir('bin')
-subdir('gjs-1.0')
subdir('data')
installdir = join_paths(get_option('prefix'), 'share', meson.project_name())
diff --git a/pkgs/arch/obs/PKGBUILD b/pkgs/arch/obs/PKGBUILD
index 8163732d..626b0d6e 100644
--- a/pkgs/arch/obs/PKGBUILD
+++ b/pkgs/arch/obs/PKGBUILD
@@ -22,7 +22,7 @@
pkgname=clapper
pkgver=0.0.0
pkgrel=1
-pkgdesc="A GNOME media player built using GJS and powered by GStreamer with OpenGL rendering. Can also be used as a pre-made widget for GTK apps."
+pkgdesc="A GNOME media player built using GJS with GTK4 toolkit and powered by GStreamer with OpenGL rendering."
arch=(any)
url="https://github.com/Rafostar/clapper"
license=("GPL-3.0")
diff --git a/pkgs/deb/clapper.dsc b/pkgs/deb/clapper.dsc
index ae67ba3c..ee643819 100644
--- a/pkgs/deb/clapper.dsc
+++ b/pkgs/deb/clapper.dsc
@@ -15,4 +15,4 @@ Build-Depends: debhelper (>= 10),
Package-List:
clapper deb gnome optional arch=all
Description: Simple and modern GNOME media player
- A GNOME media player built using GJS and powered by GStreamer with OpenGL rendering. Can also be used as a pre-made widget for GTK apps.
+ A GNOME media player built using GJS with GTK4 toolkit and powered by GStreamer with OpenGL rendering.
diff --git a/pkgs/rpm/clapper.spec b/pkgs/rpm/clapper.spec
index 6ee1f4fb..b6c19f2f 100644
--- a/pkgs/rpm/clapper.spec
+++ b/pkgs/rpm/clapper.spec
@@ -80,7 +80,7 @@ Suggests: gstreamer1-vaapi
%endif
%description
-A GNOME media player built using GJS and powered by GStreamer with OpenGL rendering. Can also be used as a pre-made widget for GTK apps.
+A GNOME media player built using GJS with GTK4 toolkit and powered by GStreamer with OpenGL rendering.
%prep
%setup -q -n %{_sourcedir}/%{name}-%{version} -T -D
@@ -103,8 +103,6 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/*.desktop
%doc README.md
%{_bindir}/%{appname}*
%{_datadir}/%{appname}/
-%dir %{_datadir}/gjs-1.0
-%{_datadir}/gjs-1.0/*.js
%{_datadir}/icons/hicolor/*/apps/*.svg
%{_datadir}/glib-2.0/schemas/%{appname}.gschema.xml
%{_datadir}/mime/packages/%{appname}.xml
@@ -112,6 +110,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/*.desktop
%{_datadir}/metainfo/*.appdata.xml
%changelog
+* Mon Jan 18 2021 Rafostar