From d95df9164244b7f4aea5c1e3d67c1727dd5bc409 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Thu, 31 May 2018 16:01:35 +0200 Subject: Add Lua API to list all available plugins --- libs/ardour/lua_api.cc | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'libs/ardour/lua_api.cc') diff --git a/libs/ardour/lua_api.cc b/libs/ardour/lua_api.cc index 001ddc11bf..59d2749399 100644 --- a/libs/ardour/lua_api.cc +++ b/libs/ardour/lua_api.cc @@ -103,6 +103,30 @@ ARDOUR::LuaAPI::new_luaproc (Session *s, const string& name) return boost::shared_ptr (new PluginInsert (*s, p)); } +PluginInfoList +ARDOUR::LuaAPI::list_plugins () +{ + PluginManager& manager = PluginManager::instance (); + PluginInfoList all_plugs; + all_plugs.insert (all_plugs.end (), manager.ladspa_plugin_info ().begin (), manager.ladspa_plugin_info ().end ()); + all_plugs.insert (all_plugs.end (), manager.lua_plugin_info ().begin (), manager.lua_plugin_info ().end ()); +#ifdef WINDOWS_VST_SUPPORT + all_plugs.insert (all_plugs.end (), manager.windows_vst_plugin_info ().begin (), manager.windows_vst_plugin_info ().end ()); +#endif +#ifdef LXVST_SUPPORT + all_plugs.insert (all_plugs.end (), manager.lxvst_plugin_info ().begin (), manager.lxvst_plugin_info ().end ()); +#endif +#ifdef AUDIOUNIT_SUPPORT + all_plugs.insert (all_plugs.end (), manager.au_plugin_info ().begin (), manager.au_plugin_info ().end ()); +#endif +#ifdef LV2_SUPPORT + all_plugs.insert (all_plugs.end (), manager.lv2_plugin_info ().begin (), manager.lv2_plugin_info ().end ()); +#endif + all_plugs.insert (all_plugs.end (), manager.lua_plugin_info ().begin (), manager.lua_plugin_info ().end ()); + + return all_plugs; +} + PluginInfoPtr ARDOUR::LuaAPI::new_plugin_info (const string& name, ARDOUR::PluginType type) { -- cgit v1.2.3