}
if (_lv2->has_message_output()) {
+ _lv2->enable_ui_emmission();
ARDOUR_UI::instance()->RapidScreenUpdate.connect(
sigc::mem_fun(*this, &LV2PluginUI::update_timeout));
}
uint32_t protocol,
uint32_t size,
uint8_t* body)
+{
+ write_to(_to_ui, index, protocol, size, body);
+}
+
+void
+LV2Plugin::enable_ui_emmission()
{
if (!_to_ui) {
_to_ui = new RingBuffer<uint8_t>(4096);
}
-
- write_to(_to_ui, index, protocol, size, body);
}
void
}
// Write messages to UI
- if ((flags & PORT_OUTPUT) && (flags & PORT_MESSAGE)) {
+ if (_to_ui && (flags & PORT_OUTPUT) && (flags & PORT_MESSAGE)) {
LV2_Evbuf* buf = _ev_buffers[port_index];
for (LV2_Evbuf_Iterator i = lv2_evbuf_begin(buf);
lv2_evbuf_is_valid(i);