aboutsummaryrefslogtreecommitdiffstats
path: root/src/jalv_internal.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/jalv_internal.h')
-rw-r--r--src/jalv_internal.h14
1 files changed, 12 insertions, 2 deletions
diff --git a/src/jalv_internal.h b/src/jalv_internal.h
index 5ee7755..950d1b7 100644
--- a/src/jalv_internal.h
+++ b/src/jalv_internal.h
@@ -32,16 +32,23 @@
extern "C" {
#endif
+#define JALV_UI_UPDATE_HZ 15
+
typedef struct {
LilvWorld* world; /**< Lilv World */
Symap* symap; /**< Symbol (URI) map */
jack_client_t* jack_client; /**< Jack client */
- jack_ringbuffer_t* events; /**< Control change events */
+ jack_ringbuffer_t* ui_events; /**< Port events from UI */
+ jack_ringbuffer_t* plugin_events; /**< Port events from plugin */
sem_t* done; /**< Exit semaphore */
const LilvPlugin* plugin; /**< Plugin class (RDF data) */
+ const LilvUI* ui; /**< Plugin UI (RDF data) */
LilvInstance* instance; /**< Plugin instance (shared library) */
- uint32_t num_ports; /**< Size of the two following arrays: */
+ SuilInstance* ui_instance; /**< Plugin UI instance (shared library) */
struct Port* ports; /**< Port array of size num_ports */
+ uint32_t num_ports; /**< Size of the two following arrays: */
+ jack_nframes_t sample_rate; /**< Sample rate */
+ jack_nframes_t event_delta_t; /**< Frames since last update sent to UI */
LilvNode* input_class; /**< Input port class (URI) */
LilvNode* output_class; /**< Output port class (URI) */
LilvNode* control_class; /**< Control port class (URI) */
@@ -62,6 +69,9 @@ int
jalv_open_ui(Jalv* jalv,
SuilInstance* instance);
+bool
+jalv_emit_ui_events(Jalv* jalv);
+
#ifdef __cplusplus
} // extern "C"