summaryrefslogtreecommitdiff
path: root/libs/ardour/plugin_insert.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2014-02-27 00:44:48 +0100
committerRobin Gareus <robin@gareus.org>2014-02-27 00:44:48 +0100
commit918f34b009fabf988f6cf414ac5fd7ec0ab6ddc4 (patch)
tree38f509d3b3c83246c40c2f4e018d4ee2bb1da339 /libs/ardour/plugin_insert.cc
parent00b9774671d5ca468c49ceb9c31eeb5dabfe9c39 (diff)
treat linux and windows VST plugins equivalent on session load
Diffstat (limited to 'libs/ardour/plugin_insert.cc')
-rw-r--r--libs/ardour/plugin_insert.cc16
1 files changed, 16 insertions, 0 deletions
diff --git a/libs/ardour/plugin_insert.cc b/libs/ardour/plugin_insert.cc
index 2f90017498..6b6e466e1e 100644
--- a/libs/ardour/plugin_insert.cc
+++ b/libs/ardour/plugin_insert.cc
@@ -973,6 +973,22 @@ PluginInsert::set_state(const XMLNode& node, int version)
boost::shared_ptr<Plugin> plugin = find_plugin (_session, prop->value(), type);
+ /* treat linux and windows VST plugins equivalent if they have the same uniqeID
+ * allow to move sessions windows <> linux */
+#ifdef LXVST_SUPPORT
+ if (plugin == 0 && type == ARDOUR::Windows_VST) {
+ type = ARDOUR::LXVST;
+ plugin = find_plugin (_session, prop->value(), type);
+ }
+#endif
+
+#ifdef WINDOWS_VST_SUPPORT
+ if (plugin == 0 && type == ARDOUR::LXVST) {
+ type = ARDOUR::Windows_VST;
+ plugin = find_plugin (_session, prop->value(), type);
+ }
+#endif
+
if (plugin == 0) {
error << string_compose(
_("Found a reference to a plugin (\"%1\") that is unknown.\n"