summaryrefslogtreecommitdiff
path: root/libs/ardour/lv2_plugin.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2015-12-10 19:31:00 +0100
committerRobin Gareus <robin@gareus.org>2015-12-10 19:31:00 +0100
commit5630332797a7a7edb596815e57c2485393be0a74 (patch)
tree8ebc9aee1a9a384a05de4cdd0afd474f351f11b4 /libs/ardour/lv2_plugin.cc
parent699f9b097d51344058eaa623e564452534dfdb2f (diff)
fix LV2 plugin state for copied plugins.
Diffstat (limited to 'libs/ardour/lv2_plugin.cc')
-rw-r--r--libs/ardour/lv2_plugin.cc8
1 files changed, 7 insertions, 1 deletions
diff --git a/libs/ardour/lv2_plugin.cc b/libs/ardour/lv2_plugin.cc
index 7c9e901ebb..7e06a9f266 100644
--- a/libs/ardour/lv2_plugin.cc
+++ b/libs/ardour/lv2_plugin.cc
@@ -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