diff options
author | Robin Gareus <robin@gareus.org> | 2015-07-10 22:09:18 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2015-07-10 22:09:18 +0200 |
commit | 4c608b6e04b7187f19ecb80e1b804b2b9c65cb34 (patch) | |
tree | d44fa6000530e5e3f53a1d728fcb2e0c559ec6a6 /libs/ardour/plugin_insert.cc | |
parent | 9ab76a5cf0a8dc2ce1032184970225fb7491deaf (diff) |
assign new IDs to plugin copies on paste.
when copying a plugin the state is transferred by serializing
XML and setting state from XML. This state includes the unique ID.
This ID needs to be identical at first in order to load
the state from <session-dir>/plugins/<ID>/*
Diffstat (limited to 'libs/ardour/plugin_insert.cc')
-rw-r--r-- | libs/ardour/plugin_insert.cc | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/libs/ardour/plugin_insert.cc b/libs/ardour/plugin_insert.cc index 8da0abb00f..b490646ffc 100644 --- a/libs/ardour/plugin_insert.cc +++ b/libs/ardour/plugin_insert.cc @@ -1146,6 +1146,15 @@ PluginInsert::set_state(const XMLNode& node, int version) } void +PluginInsert::update_id (PBD::ID id) +{ + set_id (id.to_s()); + for (Plugins::iterator i = _plugins.begin(); i != _plugins.end(); ++i) { + (*i)->set_insert_id (id); + } +} + +void PluginInsert::set_parameter_state_2X (const XMLNode& node, int version) { XMLNodeList nlist = node.children(); |