diff options
Diffstat (limited to 'libs/ardour/plugin_manager.cc')
-rw-r--r-- | libs/ardour/plugin_manager.cc | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/libs/ardour/plugin_manager.cc b/libs/ardour/plugin_manager.cc index d321d6f259..ae5d6f52ee 100644 --- a/libs/ardour/plugin_manager.cc +++ b/libs/ardour/plugin_manager.cc @@ -39,6 +39,11 @@ #include <ardour/plugin.h> #include <ardour/ladspa_plugin.h> +#ifdef HAVE_SLV2 +#include <slv2/slv2.h> +#include <ardour/lv2_plugin.h> +#endif + #ifdef VST_SUPPORT #include <ardour/vst_plugin.h> #endif @@ -104,6 +109,11 @@ PluginManager::PluginManager () ladspa_plugin_whitelist.push_back (2150); // tap pitch shifter } +#ifdef HAVE_SLV2 + _lv2_world = slv2_world_new(); + slv2_world_load_all(_lv2_world); +#endif + refresh (); } @@ -111,6 +121,9 @@ void PluginManager::refresh () { ladspa_refresh (); +#ifdef HAVE_SLV2 + lv2_refresh (); +#endif #ifdef VST_SUPPORT if (Config->get_use_vst()) { vst_refresh (); @@ -345,6 +358,21 @@ PluginManager::get_ladspa_category (uint32_t plugin_id) return label; } +#ifdef HAVE_SLV2 +void +PluginManager::lv2_refresh () +{ + lv2_discover(); +} + +int +PluginManager::lv2_discover () +{ + _lv2_plugin_info = LV2PluginInfo::discover(_lv2_world); + return 0; +} +#endif + #ifdef HAVE_AUDIOUNITS void PluginManager::au_refresh () |