summaryrefslogtreecommitdiff
path: root/libs/ardour/luabindings.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2016-11-10 01:28:21 +0100
committerRobin Gareus <robin@gareus.org>2016-11-10 01:32:02 +0100
commitda937cf1a404f81dee09322c3d9fe8d68d4749e0 (patch)
tree089542690a3ef66f5c7a89e22c26c3883024fffe /libs/ardour/luabindings.cc
parentef3fa314f041680ba4d92aaf8940b15e31509853 (diff)
Grow luabindings
* expose Route IOs, Panner and Instrument * add plugin + processor ChanCount * bind IOPortDescription * remove Port::**(Port*) API because there's no Port* but only boost::shared_ptr<Port>
Diffstat (limited to 'libs/ardour/luabindings.cc')
-rw-r--r--libs/ardour/luabindings.cc37
1 files changed, 30 insertions, 7 deletions
diff --git a/libs/ardour/luabindings.cc b/libs/ardour/luabindings.cc
index 034c6ee73b..5920fc023d 100644
--- a/libs/ardour/luabindings.cc
+++ b/libs/ardour/luabindings.cc
@@ -49,6 +49,7 @@
#include "ardour/midi_port.h"
#include "ardour/midi_region.h"
#include "ardour/midi_source.h"
+#include "ardour/panner_shell.h"
#include "ardour/phase_control.h"
#include "ardour/playlist.h"
#include "ardour/plugin.h"
@@ -771,12 +772,9 @@ LuaBindings::common (lua_State* L)
.addFunction ("sends_output", &Port::sends_output)
.addFunction ("connected", &Port::connected)
.addFunction ("disconnect_all", &Port::disconnect_all)
- .addFunction ("connected_to_name", (bool (Port::*)(std::string const &)const)&Port::connected_to)
- .addFunction ("connect_by_name", (int (Port::*)(std::string const &))&Port::connect)
- .addFunction ("disconnect_by_name", (int (Port::*)(std::string const &))&Port::disconnect)
- .addFunction ("connected_to", (bool (Port::*)(Port*)const)&Port::connected_to)
- .addFunction ("connect", (int (Port::*)(Port*))&Port::connect)
- .addFunction ("disconnect", (int (Port::*)(Port*))&Port::disconnect)
+ .addFunction ("connected_to", (bool (Port::*)(std::string const &)const)&Port::connected_to)
+ .addFunction ("connect", (int (Port::*)(std::string const &))&Port::connect)
+ .addFunction ("disconnect", (int (Port::*)(std::string const &))&Port::disconnect)
//.addStaticFunction ("port_offset", &Port::port_offset) // static
.endClass ()
@@ -805,6 +803,7 @@ LuaBindings::common (lua_State* L)
.addFunction ("remove_port", &IO::remove_port)
.addFunction ("connect", &IO::connect)
.addFunction ("disconnect", (int (IO::*)(boost::shared_ptr<Port>, std::string, void *))&IO::disconnect)
+ .addFunction ("disconnect_all", (int (IO::*)(void *))&IO::disconnect)
.addFunction ("physically_connected", &IO::physically_connected)
.addFunction ("has_port", &IO::has_port)
.addFunction ("nth", &IO::nth)
@@ -814,6 +813,11 @@ LuaBindings::common (lua_State* L)
.addFunction ("n_ports", &IO::n_ports)
.endClass ()
+ .deriveWSPtrClass <PannerShell, SessionObject> ("PannerShell")
+ .addFunction ("bypassed", &PannerShell::bypassed)
+ .addFunction ("set_bypassed", &PannerShell::set_bypassed)
+ .endClass ()
+
.beginClass <RouteGroup> ("RouteGroup")
// stub RouteGroup* is needed for new_audio_track()
.endClass ()
@@ -822,6 +826,7 @@ LuaBindings::common (lua_State* L)
.addFunction ("color", &PresentationInfo::color)
.addFunction ("set_color", &PresentationInfo::set_color)
.addFunction ("order", &PresentationInfo::order)
+ .addConst ("max_order", ARDOUR::PresentationInfo::max_order)
.endClass ()
.deriveWSPtrClass <Stripable, SessionObject> ("Stripable")
@@ -883,8 +888,12 @@ LuaBindings::common (lua_State* L)
.addFunction ("add_processor_by_index", &Route::add_processor_by_index)
.addFunction ("remove_processor", &Route::remove_processor)
.addFunction ("replace_processor", &Route::replace_processor)
+ .addFunction ("the_instrument", &Route::the_instrument)
.addFunction ("n_inputs", &Route::n_inputs)
.addFunction ("n_outputs", &Route::n_outputs)
+ .addFunction ("input", &Route::input)
+ .addFunction ("output", &Route::output)
+ .addFunction ("panner_shell", &Route::panner_shell)
.addFunction ("set_comment", &Route::set_comment)
.addFunction ("strict_io", &Route::strict_io)
.addFunction ("set_strict_io", &Route::set_strict_io)
@@ -1133,6 +1142,8 @@ LuaBindings::common (lua_State* L)
.addFunction ("active", &Processor::active)
.addFunction ("activate", &Processor::activate)
.addFunction ("deactivate", &Processor::deactivate)
+ .addFunction ("output_streams", &PluginInsert::output_streams)
+ .addFunction ("input_streams", &PluginInsert::input_streams)
.endClass ()
.deriveWSPtrClass <IOProcessor, Processor> ("IOProcessor")
@@ -1146,7 +1157,17 @@ LuaBindings::common (lua_State* L)
.endClass ()
.deriveWSPtrClass <Delivery, IOProcessor> ("Delivery")
+ .addFunction ("panner_shell", &Route::panner_shell)
+ .endClass ()
+
+ .beginNamespace ("Plugin")
+ .beginClass <Plugin::IOPortDescription> ("IOPortDescription")
+ .addData ("name", &Plugin::IOPortDescription::name)
+ .addData ("is_sidechain", &Plugin::IOPortDescription::is_sidechain)
+ .addData ("group_name", &Plugin::IOPortDescription::group_name)
+ .addData ("group_channel", &Plugin::IOPortDescription::group_channel)
.endClass ()
+ .endNamespace ()
.deriveWSPtrClass <Plugin, PBD::StatefulDestructible> ("Plugin")
.addCast<LuaProc> ("to_luaproc")
@@ -1163,6 +1184,7 @@ LuaBindings::common (lua_State* L)
.addFunction ("get_docs", &Plugin::get_docs)
.addFunction ("get_info", &Plugin::get_info)
.addFunction ("get_parameter_docs", &Plugin::get_parameter_docs)
+ .addFunction ("describe_io_port", &Plugin::describe_io_port)
.addRefFunction ("get_parameter_descriptor", &Plugin::get_parameter_descriptor)
.endClass ()
@@ -1180,7 +1202,8 @@ LuaBindings::common (lua_State* L)
.addFunction ("output_map", (ARDOUR::ChanMapping (PluginInsert::*)(uint32_t) const)&PluginInsert::output_map)
.addFunction ("set_input_map", &PluginInsert::set_input_map)
.addFunction ("set_output_map", &PluginInsert::set_output_map)
- .addFunction ("sidechain_input", &PluginInsert::sidechain_input)
+ .addFunction ("natural_output_streams", &PluginInsert::natural_output_streams)
+ .addFunction ("natural_input_streams", &PluginInsert::natural_input_streams)
.endClass ()
.deriveWSPtrClass <AutomationControl, PBD::Controllable> ("AutomationControl")