summaryrefslogtreecommitdiff
path: root/gtk2_ardour/lv2_plugin_ui.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2012-08-28 15:42:42 +0000
committerRobin Gareus <robin@gareus.org>2012-08-28 15:42:42 +0000
commit4e3aee354892e7ee7287dea8cdcd710b970948b8 (patch)
treee5605ffb2b87aa20cf6b4ff4fcae83c0bc5d2362 /gtk2_ardour/lv2_plugin_ui.cc
parent322f1c7d0de3825e673cee1819adf22d8302cd19 (diff)
LV2: Send messages from one UI to all replicated instances.
Addresses issue mentioned in previous commit. git-svn-id: svn://localhost/ardour2/branches/3.0@13149 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/lv2_plugin_ui.cc')
-rw-r--r--gtk2_ardour/lv2_plugin_ui.cc9
1 files changed, 7 insertions, 2 deletions
diff --git a/gtk2_ardour/lv2_plugin_ui.cc b/gtk2_ardour/lv2_plugin_ui.cc
index 0c4ea8f0d9..177d27fa47 100644
--- a/gtk2_ardour/lv2_plugin_ui.cc
+++ b/gtk2_ardour/lv2_plugin_ui.cc
@@ -57,8 +57,12 @@ LV2PluginUI::write_from_ui(void* controller,
ac->set_value(*(const float*)buffer);
}
} else if (format == me->_lv2->atom_eventTransfer()) {
- me->_lv2->write_from_ui(port_index, format, buffer_size,
- (const uint8_t*)buffer);
+
+ const int cnt = me->_pi->get_count();
+ for (int i=0; i < cnt; i++ ) {
+ boost::shared_ptr<LV2Plugin> lv2i = boost::dynamic_pointer_cast<LV2Plugin> (me->_pi->plugin(i));
+ lv2i->write_from_ui(port_index, format, buffer_size, (const uint8_t*)buffer);
+ }
}
}
@@ -177,6 +181,7 @@ LV2PluginUI::output_update()
LV2PluginUI::LV2PluginUI(boost::shared_ptr<PluginInsert> pi,
boost::shared_ptr<LV2Plugin> lv2p)
: PlugUIBase(pi)
+ , _pi(pi)
, _lv2(lv2p)
, _gui_widget(NULL)
, _ardour_buttons_box(NULL)