diff options
Diffstat (limited to 'libs/ardour/plugin_insert.cc')
-rw-r--r-- | libs/ardour/plugin_insert.cc | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/libs/ardour/plugin_insert.cc b/libs/ardour/plugin_insert.cc index 4153f26e85..26d344dee4 100644 --- a/libs/ardour/plugin_insert.cc +++ b/libs/ardour/plugin_insert.cc @@ -32,6 +32,10 @@ #include <ardour/buffer_set.h> #include <ardour/automation_event.h> +#ifdef HAVE_SLV2 +#include <ardour/lv2_plugin.h> +#endif + #ifdef VST_SUPPORT #include <ardour/vst_plugin.h> #endif @@ -433,6 +437,9 @@ boost::shared_ptr<Plugin> PluginInsert::plugin_factory (boost::shared_ptr<Plugin> other) { boost::shared_ptr<LadspaPlugin> lp; +#ifdef HAVE_SLV2 + boost::shared_ptr<LV2Plugin> lv2p; +#endif #ifdef VST_SUPPORT boost::shared_ptr<VSTPlugin> vp; #endif @@ -442,6 +449,10 @@ PluginInsert::plugin_factory (boost::shared_ptr<Plugin> other) if ((lp = boost::dynamic_pointer_cast<LadspaPlugin> (other)) != 0) { return boost::shared_ptr<Plugin> (new LadspaPlugin (*lp)); +#ifdef HAVE_SLV2 + } else if ((lv2p = boost::dynamic_pointer_cast<LV2Plugin> (other)) != 0) { + return boost::shared_ptr<Plugin> (new LV2Plugin (*lv2p)); +#endif #ifdef VST_SUPPORT } else if ((vp = boost::dynamic_pointer_cast<VSTPlugin> (other)) != 0) { return boost::shared_ptr<Plugin> (new VSTPlugin (*vp)); @@ -650,6 +661,8 @@ PluginInsert::set_state(const XMLNode& node) if (prop->value() == X_("ladspa") || prop->value() == X_("Ladspa")) { /* handle old school sessions */ type = ARDOUR::LADSPA; + } else if (prop->value() == X_("lv2")) { + type = ARDOUR::LV2; } else if (prop->value() == X_("vst")) { type = ARDOUR::VST; } else { |