add some more Lua bindings: Sidechain + IOProcessor

This commit is contained in:
Robin Gareus 2016-04-02 23:42:30 +02:00
parent b7f723619d
commit 50bad9c153

View File

@ -40,6 +40,7 @@
#include "ardour/region_factory.h"
#include "ardour/session.h"
#include "ardour/session_object.h"
#include "ardour/sidechain.h"
#include "ardour/tempo.h"
#include "LuaBridge/LuaBridge.h"
@ -231,6 +232,15 @@ LuaBindings::common (lua_State* L)
.addFunction ("name", &SessionObject::name)
.endClass ()
.deriveWSPtrClass <IO, SessionObject> ("IO")
.addFunction ("active", &IO::active)
.addFunction ("add_port", &IO::add_port)
.addFunction ("remove_port", &IO::remove_port)
.addFunction ("connect", &IO::connect)
.addFunction ("disconnect", (int (IO::*)(boost::shared_ptr<Port>, std::string, void *))&IO::disconnect)
.addFunction ("physically_connected", &IO::physically_connected)
.endClass ()
.deriveWSPtrClass <Route, SessionObject> ("Route")
.addFunction ("set_name", &Route::set_name)
.addFunction ("comment", &Route::comment)
@ -345,6 +355,8 @@ LuaBindings::common (lua_State* L)
.deriveWSPtrClass <Processor, Automatable> ("Processor")
.addCast<PluginInsert> ("to_insert")
.addCast<SideChain> ("to_sidechain")
.addCast<IOProcessor> ("to_ioprocessor")
.addFunction ("display_name", &Processor::display_name)
.addFunction ("active", &Processor::active)
.addFunction ("activate", &Processor::activate)
@ -353,6 +365,16 @@ LuaBindings::common (lua_State* L)
.addFunction ("automation_control", (boost::shared_ptr<AutomationControl>(Automatable::*)(const Evoral::Parameter&, bool))&Automatable::automation_control)
.endClass ()
.deriveWSPtrClass <IOProcessor, Processor> ("IOProcessor")
.addFunction ("natural_input_streams", &IOProcessor::natural_input_streams)
.addFunction ("natural_output_streams", &IOProcessor::natural_output_streams)
.addFunction ("input", (boost::shared_ptr<IO>(IOProcessor::*)())&IOProcessor::input)
.addFunction ("output", (boost::shared_ptr<IO>(IOProcessor::*)())&IOProcessor::output)
.endClass ()
.deriveWSPtrClass <SideChain, IOProcessor> ("SideChain")
.endClass ()
.deriveWSPtrClass <Plugin, PBD::StatefulDestructible> ("Plugin")
.addFunction ("label", &Plugin::label)
.addFunction ("name", &Plugin::name)