summaryrefslogtreecommitdiff
path: root/libs/ardour/insert.cc
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2008-01-15 18:49:34 +0000
committerDavid Robillard <d@drobilla.net>2008-01-15 18:49:34 +0000
commit123399c2a8141458b21b0079ac17aa9ede16e763 (patch)
treece1b77ca58ba24f858efe59714d9ca1c3addaeff /libs/ardour/insert.cc
parent69b94c201d39c6a64fa6f1e9412578d482d0ce5b (diff)
LV2 support.
git-svn-id: svn://localhost/ardour2/branches/2.0-ongoing@2922 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/insert.cc')
-rw-r--r--libs/ardour/insert.cc13
1 files changed, 13 insertions, 0 deletions
diff --git a/libs/ardour/insert.cc b/libs/ardour/insert.cc
index c2408ec86c..eb0576b46e 100644
--- a/libs/ardour/insert.cc
+++ b/libs/ardour/insert.cc
@@ -30,6 +30,10 @@
#include <ardour/route.h>
#include <ardour/ladspa_plugin.h>
+#ifdef HAVE_SLV2
+#include <ardour/lv2_plugin.h>
+#endif
+
#ifdef VST_SUPPORT
#include <ardour/vst_plugin.h>
#endif
@@ -515,6 +519,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
@@ -524,6 +531,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));
@@ -673,6 +684,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 if (prop->value() == X_("audiounit")) {