#include <ardour/audio_unit.h>
#endif
+#ifdef HAVE_SLV2
+#include <ardour/lv2_plugin.h>
+#endif
+
#include <pbd/stl_delete.h>
#include "i18n.h"
Plugin::make_nth_control (uint32_t n, const XMLNode& node)
{
if (controls[n]) {
- error << string_compose (_("programming error: %1"),
- X_("Plugin::make_nth_control() called too late"))
- << endmsg;
+ /* already constructed */
return;
}
case ARDOUR::LADSPA:
plugs = mgr->ladspa_plugin_info();
break;
+
+#ifdef HAVE_SLV2
+ case ARDOUR::LV2:
+ plugs = mgr->lv2_plugin_info();
+ break;
+#endif
#ifdef VST_SUPPORT
case ARDOUR::VST:
return (*i)->load (session);
}
}
+
+#ifdef VST_SUPPORT
+ /* hmm, we didn't find it. could be because in older versions of Ardour.
+ we used to store the name of a VST plugin, not its unique ID. so try
+ again.
+ */
+
+ for (i = plugs.begin(); i != plugs.end(); ++i) {
+ if (identifier == (*i)->name){
+ return (*i)->load (session);
+ }
+ }
+#endif
return PluginPtr ((Plugin*) 0);
}