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
This commit is contained in:
Robin Gareus 2012-08-28 15:42:42 +00:00
parent 322f1c7d0d
commit 4e3aee3548
2 changed files with 9 additions and 2 deletions

View File

@ -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)

View File

@ -36,6 +36,7 @@
#include "plugin_ui.h"
#ifdef LV2_SUPPORT
#include "ardour/plugin_insert.h"
#include "lv2_external_ui.h"
@ -66,6 +67,7 @@ class LV2PluginUI : public PlugUIBase, public Gtk::VBox
typedef boost::shared_ptr<ARDOUR::AutomationControl> ControllableRef;
boost::shared_ptr<ARDOUR::PluginInsert> _pi;
boost::shared_ptr<ARDOUR::LV2Plugin> _lv2;
std::vector<int> _output_ports;
sigc::connection _screen_update_connection;