diff options
author | Robin Gareus <robin@gareus.org> | 2012-08-28 15:42:42 +0000 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2012-08-28 15:42:42 +0000 |
commit | 4e3aee354892e7ee7287dea8cdcd710b970948b8 (patch) | |
tree | e5605ffb2b87aa20cf6b4ff4fcae83c0bc5d2362 /gtk2_ardour/lv2_plugin_ui.cc | |
parent | 322f1c7d0de3825e673cee1819adf22d8302cd19 (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.cc | 9 |
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) |