diff options
author | Robin Gareus <robin@gareus.org> | 2014-02-27 00:44:48 +0100 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2014-02-27 00:44:48 +0100 |
commit | 918f34b009fabf988f6cf414ac5fd7ec0ab6ddc4 (patch) | |
tree | 38f509d3b3c83246c40c2f4e018d4ee2bb1da339 /libs/ardour/plugin_insert.cc | |
parent | 00b9774671d5ca468c49ceb9c31eeb5dabfe9c39 (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.cc | 16 |
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" |