aboutsummaryrefslogtreecommitdiffstats
path: root/src/jalv_qt4.cpp
diff options
context:
space:
mode:
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;