aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--NEWS6
-rw-r--r--README.md2
-rw-r--r--doc/jalv.14
-rw-r--r--doc/jalv.gtk.14
-rw-r--r--doc/jalv.gtk3.158
-rw-r--r--doc/jalv.gtkmm.125
-rw-r--r--doc/jalv.qt5.1 (renamed from doc/jalv.qt.1)4
-rw-r--r--src/jalv_gtkmm2.cpp131
-rw-r--r--wscript22
9 files changed, 70 insertions, 186 deletions
diff --git a/NEWS b/NEWS
index e31c8ff..4002bc4 100644
--- a/NEWS
+++ b/NEWS
@@ -3,14 +3,16 @@ jalv (1.6.7) unstable;
* Add Gtk plugin selector UI and desktop file
* Add missing option in console help output
* Add version option to console executable
- * Build Qt and Gtkmm versions as C++14
+ * Build Qt interface as C++14
* Change no-menu short option to m to avoid clash with jack-name
* Clean up and modernize code
* Fix crash when running jalv without arguments
+ * Fix outdated man pages
* Flush stdout after printing control values in console interface
+ * Remove Gtkmm interface
* Remove Qt4 support
- -- David Robillard <d@drobilla.net> Fri, 27 May 2022 22:56:00 +0000
+ -- David Robillard <d@drobilla.net> Fri, 27 May 2022 23:19:48 +0000
jalv (1.6.6) stable;
diff --git a/README.md b/README.md
index a93993d..8382713 100644
--- a/README.md
+++ b/README.md
@@ -14,6 +14,6 @@ testing. It runs plugins from the command line with no user interaction, is
light enough to run with tools like sanitizers or valgrind, and is capable of
dumping all communication between the plugin and its UI in a human readable
format. Plugin UIs can be tested in different host toolkits by using different
-executables: jalv, jalv.gtk, jalv.gtk3, jalv.gtkmm, and jalv.qt5.
+executables: jalv, jalv.gtk, jalv.gtk3, and jalv.qt5.
-- David Robillard <d@drobilla.net>
diff --git a/doc/jalv.1 b/doc/jalv.1
index a5b1675..91976b2 100644
--- a/doc/jalv.1
+++ b/doc/jalv.1
@@ -73,8 +73,8 @@ The Jalv prompt supports several commands for interactive control:
.SH "SEE ALSO"
.BR jalv.gtk(1),
-.BR jalv.gtkmm(1),
-.BR jalv.qt(2),
+.BR jalv.gtk3(1),
+.BR jalv.qt5(2),
.BR lv2ls(1),
.BR jackd(1)
diff --git a/doc/jalv.gtk.1 b/doc/jalv.gtk.1
index 241ff7a..c9dd284 100644
--- a/doc/jalv.gtk.1
+++ b/doc/jalv.gtk.1
@@ -46,8 +46,8 @@ Print trace messages from plugin.
.SH "SEE ALSO"
.BR jalv(1),
-.BR jalv.gtkmm(1),
-.BR jalv.qt(2),
+.BR jalv.gtk3(1),
+.BR jalv.qt5(1),
.BR lv2ls(1),
.BR jackd(1)
diff --git a/doc/jalv.gtk3.1 b/doc/jalv.gtk3.1
new file mode 100644
index 0000000..51540c8
--- /dev/null
+++ b/doc/jalv.gtk3.1
@@ -0,0 +1,58 @@
+.TH JALV.GTK "27 May 2022"
+
+.SH NAME
+.B jalv.gtk \- Run an LV2 plugin as a JACK application (Gtk3 version).
+
+.SH SYNOPSIS
+.B jalv.gtk [OPTION]... PLUGIN_URI
+
+.SH OPTIONS
+
+.TP
+\fB\-b SIZE\fR
+Buffer size for plugin <=> UI communication.
+
+.TP
+\fB\-c SYM=VAL\fR
+Set control value (e.g. "vol=1.4").
+
+.TP
+\fB\-d\fR, \fB\-\-dump\fR
+Dump plugin <=> UI communication.
+
+.TP
+\fB\-U URI\fR
+Load the UI with the given URI.
+
+.TP
+\fB\-g\fR, \fB\-\-generic\-ui\fR
+Use Jalv generic UI and not the plugin UI.
+
+.TP
+\fB\-h\fR, \fB\-\-help\fR
+Print the command line options.
+
+.TP
+\fB\-l DIR\fR, \fB\-\-load DIR\fR
+Load state from state directory.
+
+.TP
+\fB\-p\fR, \fB\-\-print\-controls\fR
+Print control output changes to stdout.
+
+.TP
+\fB\-t\fR, \fB\-\-trace\fR
+Print trace messages from plugin.
+
+.SH "SEE ALSO"
+.BR jalv(1),
+.BR jalv.gtk(1),
+.BR jalv.qt5(1),
+.BR lv2ls(1),
+.BR jackd(1)
+
+.SH AUTHOR
+jalv was written by David Robillard <d@drobilla.net>
+.PP
+This manual page was written by Jaromír Mikes <mira.mikes@seznam.cz>
+and David Robillard <d@drobilla.net>
diff --git a/doc/jalv.gtkmm.1 b/doc/jalv.gtkmm.1
deleted file mode 100644
index 2a6ce01..0000000
--- a/doc/jalv.gtkmm.1
+++ /dev/null
@@ -1,25 +0,0 @@
-.TH JALV.GTKMM 1 "19 Apr 2012"
-
-.SH NAME
-.B jalv.gtkmm \- Run an LV2 plugin as a JACK application (Gtkmm version).
-
-.SH SYNOPSIS
-.B jalv.gtkmm PLUGIN_URI
-
-.SH DESCRIPTION
-
-This is a version of Jalv with a GUI implemented in Gtkmm. It is mainly for
-developer testing purposes, for a production ready program use jalv.gtk.
-
-.SH "SEE ALSO"
-.BR jalv(1),
-.BR jalv.gtk(1),
-.BR jalv.qt(2),
-.BR lv2ls(1),
-.BR jackd(1)
-
-.SH AUTHOR
-jalv was written by David Robillard <d@drobilla.net>
-.PP
-This manual page was written by Jaromír Mikes <mira.mikes@seznam.cz>
-and David Robillard <d@drobilla.net>
diff --git a/doc/jalv.qt.1 b/doc/jalv.qt5.1
index 352835d..8dc1fdb 100644
--- a/doc/jalv.qt.1
+++ b/doc/jalv.qt5.1
@@ -13,8 +13,8 @@ developer testing purposes, for a production ready program use jalv.gtk.
.SH "SEE ALSO"
.BR jalv(1),
-.BR jalv.gtkmm(1),
-.BR jalv.qt(2),
+.BR jalv.gtk(1),
+.BR jalv.gtk3(1),
.BR lv2ls(1),
.BR jackd(1)
diff --git a/src/jalv_gtkmm2.cpp b/src/jalv_gtkmm2.cpp
deleted file mode 100644
index f29ee14..0000000
--- a/src/jalv_gtkmm2.cpp
+++ /dev/null
@@ -1,131 +0,0 @@
-/*
- Copyright 2007-2022 David Robillard <d@drobilla.net>
-
- Permission to use, copy, modify, and/or distribute this software for any
- purpose with or without fee is hereby granted, provided that the above
- copyright notice and this permission notice appear in all copies.
-
- THIS SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-*/
-
-#include "jalv_internal.h"
-
-#include "lilv/lilv.h"
-#include "lv2/core/attributes.h"
-#include "suil/suil.h"
-#include "zix/sem.h"
-
-LV2_DISABLE_DEPRECATION_WARNINGS
-#include <glib.h>
-#include <gtkmm/button.h>
-#include <gtkmm/main.h>
-#include <gtkmm/object.h>
-#include <gtkmm/widget.h>
-#include <gtkmm/window.h>
-LV2_RESTORE_WARNINGS
-
-#include <cstdint>
-
-static Gtk::Main* jalv_gtk_main = nullptr;
-
-int
-jalv_init(int* argc, char*** argv, JalvOptions*)
-{
- jalv_gtk_main = new Gtk::Main(*argc, *argv);
- return 0;
-}
-
-const char*
-jalv_native_ui_type(void)
-{
- return "http://lv2plug.in/ns/extensions/ui#GtkUI";
-}
-
-void
-jalv_ui_port_event(Jalv* jalv,
- uint32_t port_index,
- uint32_t buffer_size,
- uint32_t protocol,
- const void* buffer)
-{
- if (jalv->ui_instance) {
- suil_instance_port_event(
- jalv->ui_instance, port_index, buffer_size, protocol, buffer);
- }
-}
-
-bool
-jalv_discover_ui(Jalv*)
-{
- return true;
-}
-
-float
-jalv_ui_refresh_rate(Jalv*)
-{
- return 30.0f;
-}
-
-float
-jalv_ui_scale_factor(Jalv*)
-{
- return 1.0f;
-}
-
-LilvNode*
-jalv_select_plugin(Jalv*)
-{
- return nullptr;
-}
-
-int
-jalv_open_ui(Jalv* jalv)
-{
- auto* const window = new Gtk::Window();
-
- if (jalv->ui) {
- jalv_ui_instantiate(jalv, jalv_native_ui_type(), nullptr);
- }
-
- if (jalv->ui_instance) {
- auto* const widget =
- static_cast<GtkWidget*>(suil_instance_get_widget(jalv->ui_instance));
-
- Gtk::Widget* widgetmm = Glib::wrap(widget);
- window->add(*Gtk::manage(widgetmm));
- widgetmm->show_all();
-
- g_timeout_add(1000 / jalv->ui_update_hz,
- reinterpret_cast<GSourceFunc>(jalv_update),
- jalv);
- } else {
- Gtk::Button* button = Gtk::manage(new Gtk::Button("Close"));
- window->add(*Gtk::manage(button));
- }
-
- jalv_init_ui(jalv);
-
- window->set_resizable(jalv_ui_is_resizable(jalv));
- window->show_all();
-
- Gtk::Main::run(*window);
-
- delete window;
- delete jalv_gtk_main;
- zix_sem_post(&jalv->done);
-
- return 0;
-}
-
-int
-jalv_close_ui(Jalv*)
-{
- Gtk::Main::quit();
- return 0;
-}
diff --git a/wscript b/wscript
index b977a0c..c47258d 100644
--- a/wscript
+++ b/wscript
@@ -28,7 +28,6 @@ def options(ctx):
{'portaudio': 'use PortAudio backend, not JACK',
'no-gui': 'do not build any GUIs',
'no-gtk': 'do not build Gtk GUI',
- 'no-gtkmm': 'do not build Gtkmm GUI',
'no-gtk2': 'do not build Gtk2 GUI',
'no-gtk3': 'do not build Gtk3 GUI',
'no-qt': 'do not build Qt GUI',
@@ -136,11 +135,6 @@ def configure(conf):
uselib_store='GTK2',
system=True,
mandatory=False)
- if not Options.options.no_gtkmm:
- conf.check_pkg('gtkmm-2.4 >= 2.20.0',
- uselib_store='GTKMM2',
- system=True,
- mandatory=False)
if not Options.options.no_gtk3:
conf.check_pkg('gtk+-3.0 >= 3.0.0',
uselib_store='GTK3',
@@ -158,10 +152,7 @@ def configure(conf):
mandatory=False):
conf.find_program('moc', var='MOC5')
- have_gui = (conf.env.HAVE_GTK2 or
- conf.env.HAVE_GTKMM2 or
- conf.env.HAVE_GTK3 or
- conf.env.HAVE_QT5)
+ have_gui = (conf.env.HAVE_GTK2 or conf.env.HAVE_GTK3 or conf.env.HAVE_QT5)
conf.check_pkg('suil-0 >= 0.10.0', uselib_store='SUIL')
@@ -231,7 +222,6 @@ def configure(conf):
'Jack metadata support': conf.is_defined('HAVE_JACK_METADATA'),
'Gtk 2.0 support': bool(conf.env.HAVE_GTK2),
'Gtk 3.0 support': bool(conf.env.HAVE_GTK3),
- 'Gtkmm 2.0 support': bool(conf.env.HAVE_GTKMM2),
'Qt 5.0 support': bool(conf.env.HAVE_QT5),
'Color output': bool(conf.env.JALV_WITH_COLOR)})
@@ -302,16 +292,6 @@ def build(bld):
APP_INSTALL_NAME = 'jalv.gtk3',
APP_HUMAN_NAME = 'Jalv')
- # Gtkmm version
- if bld.env.HAVE_GTKMM2:
- obj = bld(features = 'c cxx cxxprogram',
- source = source + ' src/jalv_gtkmm2.cpp',
- target = 'jalv.gtkmm',
- includes = ['.', 'src'],
- lib = ['pthread'],
- uselib = libs + ' GTKMM2',
- install_path = '${BINDIR}')
-
# Qt5 version
if bld.env.HAVE_QT5:
obj = bld(rule = '${MOC5} ${SRC} > ${TGT}',