add API to list Vamp Plugins

This commit is contained in:
Robin Gareus 2016-10-05 13:23:39 +02:00
parent 44b41e3058
commit 22f342c8d8
3 changed files with 14 additions and 0 deletions

View File

@ -176,6 +176,12 @@ namespace ARDOUR { namespace LuaAPI {
public:
Vamp (const std::string&, float sample_rate);
~Vamp ();
/** Search for all available available Vamp plugins.
* @returns list of plugin-keys
*/
static std::vector<std::string> list_plugins ();
::Vamp::Plugin* plugin () { return _plugin; }
/** high-level abstraction to process a single channel of the given Readable.

View File

@ -539,6 +539,13 @@ void LuaTableRef::assign (luabridge::LuaRef* rv, T key, const LuaTableEntry& s)
}
}
std::vector<std::string>
LuaAPI::Vamp::list_plugins ()
{
using namespace ::Vamp::HostExt;
PluginLoader* loader (PluginLoader::getInstance());
return loader->listPlugins ();
}
LuaAPI::Vamp::Vamp (const std::string& key, float sample_rate)
: _plugin (0)

View File

@ -1615,6 +1615,7 @@ LuaBindings::common (lua_State* L)
.beginClass <ARDOUR::LuaAPI::Vamp> ("Vamp")
.addConstructor <void (*) (const std::string&, float)> ()
.addStaticFunction ("list_plugins", &ARDOUR::LuaAPI::Vamp::list_plugins)
.addFunction ("plugin", &ARDOUR::LuaAPI::Vamp::plugin)
.addFunction ("analyze", &ARDOUR::LuaAPI::Vamp::analyze)
.addFunction ("reset", &ARDOUR::LuaAPI::Vamp::reset)