diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2011-09-20 20:29:47 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2011-09-20 20:29:47 +0000 |
commit | d4433b9ab384196bb5b8876890863d7939339ee2 (patch) | |
tree | 669f503a04696c7869a14d5c5f6239024ba43e76 /libs/ardour/plugin_insert.cc | |
parent | e09e0035a62ce9f8876b6204682bbb3db474d477 (diff) |
(native) Linux VST support from LinuxDSP
git-svn-id: svn://localhost/ardour2/branches/3.0@10101 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/plugin_insert.cc')
-rw-r--r-- | libs/ardour/plugin_insert.cc | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/libs/ardour/plugin_insert.cc b/libs/ardour/plugin_insert.cc index 268d551116..0260f7d3aa 100644 --- a/libs/ardour/plugin_insert.cc +++ b/libs/ardour/plugin_insert.cc @@ -45,6 +45,10 @@ #include "ardour/vst_plugin.h" #endif +#ifdef LXVST_SUPPORT +#include "ardour/lxvst_plugin.h" +#endif + #ifdef HAVE_AUDIOUNITS #include "ardour/audio_unit.h" #endif @@ -570,6 +574,9 @@ PluginInsert::plugin_factory (boost::shared_ptr<Plugin> other) #ifdef VST_SUPPORT boost::shared_ptr<VSTPlugin> vp; #endif +#ifdef LXVST_SUPPORT + boost::shared_ptr<LXVSTPlugin> lxvp; +#endif #ifdef HAVE_AUDIOUNITS boost::shared_ptr<AUPlugin> ap; #endif @@ -584,6 +591,10 @@ PluginInsert::plugin_factory (boost::shared_ptr<Plugin> other) } else if ((vp = boost::dynamic_pointer_cast<VSTPlugin> (other)) != 0) { return boost::shared_ptr<Plugin> (new VSTPlugin (*vp)); #endif +#ifdef LXVST_SUPPORT + } else if ((lxvp = boost::dynamic_pointer_cast<LXVSTPlugin> (other)) != 0) { + return boost::shared_ptr<Plugin> (new LXVSTPlugin (*lxvp)); +#endif #ifdef HAVE_AUDIOUNITS } else if ((ap = boost::dynamic_pointer_cast<AUPlugin> (other)) != 0) { return boost::shared_ptr<Plugin> (new AUPlugin (*ap)); @@ -852,6 +863,8 @@ PluginInsert::set_state(const XMLNode& node, int version) type = ARDOUR::LV2; } else if (prop->value() == X_("vst")) { type = ARDOUR::VST; + } else if (prop->value() == X_("lxvst")) { + type = ARDOUR::LXVST; } else if (prop->value() == X_("audiounit")) { type = ARDOUR::AudioUnit; } else { @@ -872,6 +885,14 @@ PluginInsert::set_state(const XMLNode& node, int version) prop = node.property ("id"); } #endif + +#ifdef LXVST_SUPPORT + /*There shouldn't be any older sessions with linuxVST support.. but anyway..*/ + + if (type == ARDOUR::LXVST) { + prop = node.property ("id"); + } +#endif /* recheck */ if (prop == 0) { |