From 6741679a98154258d9a6c0aa19dad1fbfa5ebf93 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Sun, 20 Mar 2016 21:16:18 +0100 Subject: add convenience lua API for looking up Plugins --- libs/ardour/lua_api.cc | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) (limited to 'libs/ardour/lua_api.cc') diff --git a/libs/ardour/lua_api.cc b/libs/ardour/lua_api.cc index 176a620052..c8c1217bc2 100644 --- a/libs/ardour/lua_api.cc +++ b/libs/ardour/lua_api.cc @@ -67,14 +67,9 @@ ARDOUR::LuaAPI::new_luaproc (Session *s, const string& name) return boost::shared_ptr (new PluginInsert (*s, p)); } - -boost::shared_ptr -ARDOUR::LuaAPI::new_plugin (Session *s, const string& name, ARDOUR::PluginType type, const string& preset) +PluginInfoPtr +ARDOUR::LuaAPI::new_plugin_info (const string& name, ARDOUR::PluginType type) { - if (!s) { - return boost::shared_ptr (); - } - PluginManager& manager = PluginManager::instance(); PluginInfoList all_plugs; all_plugs.insert(all_plugs.end(), manager.ladspa_plugin_info().begin(), manager.ladspa_plugin_info().end()); @@ -91,13 +86,23 @@ ARDOUR::LuaAPI::new_plugin (Session *s, const string& name, ARDOUR::PluginType t all_plugs.insert(all_plugs.end(), manager.lv2_plugin_info().begin(), manager.lv2_plugin_info().end()); #endif - PluginInfoPtr pip; for (PluginInfoList::const_iterator i = all_plugs.begin(); i != all_plugs.end(); ++i) { if (((*i)->name == name || (*i)->unique_id == name) && (*i)->type == type) { - pip = *i; - break; + return *i; } } + return PluginInfoPtr (); +} + +boost::shared_ptr +ARDOUR::LuaAPI::new_plugin (Session *s, const string& name, ARDOUR::PluginType type, const string& preset) +{ + if (!s) { + return boost::shared_ptr (); + } + + PluginInfoPtr pip = new_plugin_info (name, type); + if (!pip) { return boost::shared_ptr (); } -- cgit v1.2.3