fix LV2 plugin state for copied plugins.
This commit is contained in:
parent
699f9b097d
commit
5630332797
@ -1664,7 +1664,13 @@ LV2Plugin::work_response(uint32_t size, const void* data)
|
||||
void
|
||||
LV2Plugin::set_insert_id(PBD::ID id)
|
||||
{
|
||||
_insert_id = id;
|
||||
if (_insert_id == "0") {
|
||||
_insert_id = id;
|
||||
} else if (_insert_id != id) {
|
||||
lilv_state_free(_impl->state);
|
||||
_impl->state = NULL;
|
||||
_insert_id = id;
|
||||
}
|
||||
}
|
||||
|
||||
int
|
||||
|
@ -952,6 +952,7 @@ PluginInsert::state (bool full)
|
||||
node.add_child_nocopy (* _configured_in.state (X_("ConfiguredInput")));
|
||||
node.add_child_nocopy (* _configured_out.state (X_("ConfiguredOutput")));
|
||||
|
||||
_plugins[0]->set_insert_id(this->id());
|
||||
node.add_child_nocopy (_plugins[0]->get_state());
|
||||
|
||||
for (Controls::iterator c = controls().begin(); c != controls().end(); ++c) {
|
||||
@ -1123,6 +1124,7 @@ PluginInsert::set_state(const XMLNode& node, int version)
|
||||
if ((*niter)->name() == plugin->state_node_name()) {
|
||||
|
||||
for (Plugins::iterator i = _plugins.begin(); i != _plugins.end(); ++i) {
|
||||
(*i)->set_insert_id (this->id());
|
||||
(*i)->set_state (**niter, version);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user