aboutsummaryrefslogtreecommitdiffstats
path: root/src/jalv_qt4.cpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2011-06-19 23:43:48 +0000
committerDavid Robillard <d@drobilla.net>2011-06-19 23:43:48 +0000
commitbe2a8ef955c2091a2639d4fc93dbc978615733a6 (patch)
tree21a9056c9f7ab0ffff6f551abd6a2aa833b9aa5d /src/jalv_qt4.cpp
parent3e6c580c197929c126613fcfc546308abdc18c09 (diff)
downloadjalv-be2a8ef955c2091a2639d4fc93dbc978615733a6.tar.gz
jalv-be2a8ef955c2091a2639d4fc93dbc978615733a6.tar.bz2
jalv-be2a8ef955c2091a2639d4fc93dbc978615733a6.zip
Send control output port updates to UIs (commonly used for metering).
git-svn-id: http://svn.drobilla.net/lad/trunk/jalv@3407 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/jalv_qt4.cpp')
-rw-r--r--src/jalv_qt4.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/jalv_qt4.cpp b/src/jalv_qt4.cpp
index 79cf985..eac67ec 100644
--- a/src/jalv_qt4.cpp
+++ b/src/jalv_qt4.cpp
@@ -19,6 +19,7 @@
#include <QApplication>
#include <QPushButton>
#include <QMainWindow>
+#include <QTimer>
static QApplication* app = NULL;
@@ -37,6 +38,18 @@ jalv_native_ui_type(Jalv* jalv)
"http://lv2plug.in/ns/extensions/ui#Qt4UI");
}
+class Timer : public QTimer {
+public:
+ Timer(Jalv* j) : jalv(j) {}
+
+ void timerEvent(QTimerEvent* e) {
+ jalv_emit_ui_events(jalv);
+ }
+
+private:
+ Jalv* jalv;
+};
+
int
jalv_open_ui(Jalv* jalv,
SuilInstance* instance)
@@ -51,6 +64,9 @@ jalv_open_ui(Jalv* jalv,
}
app->connect(app, SIGNAL(lastWindowClosed()), app, SLOT(quit()));
+ Timer* timer = new Timer(jalv);
+ timer->start(1000 / JALV_UI_UPDATE_HZ);
+
int ret = app->exec();
sem_post(jalv->done);
return ret;