aboutsummaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
Diffstat (limited to 'app')
-rw-r--r--app/meson.build2
-rw-r--r--app/synthpod_app_mod.c17
2 files changed, 16 insertions, 3 deletions
diff --git a/app/meson.build b/app/meson.build
index f3692fd..9b41516 100644
--- a/app/meson.build
+++ b/app/meson.build
@@ -6,7 +6,7 @@ srcs = ['synthpod_app.c',
'synthpod_app_worker.c'
]
-incs = [inc_incs, app_incs, xpress_incs, osc_incs, extui_incs, ardour_incs, varchunk_incs, crossclock_incs]
+incs = [inc_incs, app_incs, canvas_incs, xpress_incs, osc_incs, extui_incs, ardour_incs, varchunk_incs, crossclock_incs]
deps = [m_dep, rt_dep, lv2_dep, thread_dep, lilv_dep]
app = static_library('synthpod_app', srcs,
diff --git a/app/synthpod_app_mod.c b/app/synthpod_app_mod.c
index 5c331ed..93d04c6 100644
--- a/app/synthpod_app_mod.c
+++ b/app/synthpod_app_mod.c
@@ -703,8 +703,21 @@ _sp_app_mod_add(sp_app_t *app, const char *uri, LV2_URID urn)
LV2_WORKER__interface);
mod->opts.iface = lilv_instance_get_extension_data(mod->inst,
LV2_OPTIONS__interface);
- mod->idisp.iface = lilv_instance_get_extension_data(mod->inst,
- LV2_INLINEDISPLAY__interface);
+ const bool has_ro_canvas_graph = lilv_world_ask(app->world,
+ lilv_plugin_get_uri(mod->plug), app->regs.patch.readable.node,
+ app->regs.canvas.graph.node);
+ const bool has_rw_canvas_graph = lilv_world_ask(app->world,
+ lilv_plugin_get_uri(mod->plug), app->regs.patch.writable.node,
+ app->regs.canvas.graph.node);
+ if(has_ro_canvas_graph || has_rw_canvas_graph)
+ {
+ //sp_app_log_note(app, "%s: detected canvas:graph parameter\n", __func__);
+ }
+ else
+ {
+ mod->idisp.iface = lilv_instance_get_extension_data(mod->inst,
+ LV2_INLINEDISPLAY__interface);
+ }
mod->state.iface = lilv_instance_get_extension_data(mod->inst,
LV2_STATE__interface);
mod->system_ports = lilv_plugin_has_feature(plug, app->regs.synthpod.system_ports.node);