summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2016-04-02 23:42:30 +0200
committerRobin Gareus <robin@gareus.org>2016-04-02 23:42:30 +0200
commit50bad9c153d5fc73ca65277ff70c38d07c012ef9 (patch)
treeb9c117e751137b9535b6784b15c8c99813932536
parentb7f723619d3dfdac02d7c5a0d5de45a9c4341ed1 (diff)
add some more Lua bindings: Sidechain + IOProcessor
-rw-r--r--libs/ardour/luabindings.cc22
1 files changed, 22 insertions, 0 deletions
diff --git a/libs/ardour/luabindings.cc b/libs/ardour/luabindings.cc
index 41a29807eb..fbbb73ba87 100644
--- a/libs/ardour/luabindings.cc
+++ b/libs/ardour/luabindings.cc
@@ -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)