From: Robin Gareus Date: Thu, 10 Nov 2016 00:28:21 +0000 (+0100) Subject: Grow luabindings X-Git-Tag: 5.5~230 X-Git-Url: https://main.carlh.net/gitweb/?a=commitdiff_plain;h=da937cf1a404f81dee09322c3d9fe8d68d4749e0;p=ardour.git 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 --- 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, 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") + .addFunction ("bypassed", &PannerShell::bypassed) + .addFunction ("set_bypassed", &PannerShell::set_bypassed) + .endClass () + .beginClass ("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") @@ -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") @@ -1146,7 +1157,17 @@ LuaBindings::common (lua_State* L) .endClass () .deriveWSPtrClass ("Delivery") + .addFunction ("panner_shell", &Route::panner_shell) + .endClass () + + .beginNamespace ("Plugin") + .beginClass ("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") .addCast ("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")