X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Fluabindings.cc;h=33506ee6a9f7ca284a51ebee46cf651a35b2e3c6;hb=91b875148ab8b86effc9a462d5ff06381975bbf9;hp=61e3f817a5e3f489a0e6f1e9656af2b707af67b5;hpb=1503db4a28fe01650bb8619f5f38fccb312474ab;p=ardour.git diff --git a/libs/ardour/luabindings.cc b/libs/ardour/luabindings.cc index 61e3f817a5..33506ee6a9 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" @@ -181,7 +182,7 @@ LuaBindings::common (lua_State* L) .beginClass ("ChanMapping") .addVoidConstructor () - .addFunction ("get", static_cast(&ChanMapping::get)) + .addFunction ("get", static_cast(&ChanMapping::get)) .addFunction ("set", &ChanMapping::set) .addConst ("Invalid", 4294967295) // UINT32_MAX .endClass () @@ -231,6 +232,15 @@ LuaBindings::common (lua_State* L) .addFunction ("name", &SessionObject::name) .endClass () + .deriveWSPtrClass ("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, std::string, void *))&IO::disconnect) + .addFunction ("physically_connected", &IO::physically_connected) + .endClass () + .deriveWSPtrClass ("Route") .addFunction ("set_name", &Route::set_name) .addFunction ("comment", &Route::comment) @@ -245,6 +255,10 @@ LuaBindings::common (lua_State* L) .addFunction ("set_comment", &Route::set_comment) .addFunction ("strict_io", &Route::strict_io) .addFunction ("set_strict_io", &Route::set_strict_io) + .addFunction ("reset_plugin_insert", &Route::reset_plugin_insert) + .addFunction ("customize_plugin_insert", &Route::customize_plugin_insert) + .addFunction ("add_sidechain", &Route::add_sidechain) + .addFunction ("remove_sidechain", &Route::remove_sidechain) .endClass () .deriveWSPtrClass ("Track") @@ -343,6 +357,8 @@ LuaBindings::common (lua_State* L) .deriveWSPtrClass ("Processor") .addCast ("to_insert") + .addCast ("to_sidechain") + .addCast ("to_ioprocessor") .addFunction ("display_name", &Processor::display_name) .addFunction ("active", &Processor::active) .addFunction ("activate", &Processor::activate) @@ -351,6 +367,16 @@ LuaBindings::common (lua_State* L) .addFunction ("automation_control", (boost::shared_ptr(Automatable::*)(const Evoral::Parameter&, bool))&Automatable::automation_control) .endClass () + .deriveWSPtrClass ("IOProcessor") + .addFunction ("natural_input_streams", &IOProcessor::natural_input_streams) + .addFunction ("natural_output_streams", &IOProcessor::natural_output_streams) + .addFunction ("input", (boost::shared_ptr(IOProcessor::*)())&IOProcessor::input) + .addFunction ("output", (boost::shared_ptr(IOProcessor::*)())&IOProcessor::output) + .endClass () + + .deriveWSPtrClass ("SideChain") + .endClass () + .deriveWSPtrClass ("Plugin") .addFunction ("label", &Plugin::label) .addFunction ("name", &Plugin::name) @@ -371,15 +397,11 @@ LuaBindings::common (lua_State* L) .addFunction ("activate", &PluginInsert::activate) .addFunction ("deactivate", &PluginInsert::deactivate) .addFunction ("strict_io_configured", &PluginInsert::strict_io_configured) - .addFunction ("set_strict_io", &PluginInsert::set_strict_io) - .addFunction ("no_inplace", &PluginInsert::no_inplace) - .addFunction ("input_map", &PluginInsert::input_map) - .addFunction ("output_map", &PluginInsert::output_map) -#ifndef NDEBUG -- this is not safe, prototyping only - .addFunction ("set_no_inplace", &PluginInsert::set_no_inplace) + .addFunction ("input_map", (ARDOUR::ChanMapping (PluginInsert::*)(uint32_t) const)&PluginInsert::input_map) + .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) -#endif + .endClass () .deriveWSPtrClass ("AutomationControl") @@ -460,11 +482,20 @@ LuaBindings::common (lua_State* L) .endClass () .beginClass ("ChanCount") + .addConstructor () + .addFunction ("get", &ChanCount::get) + .addFunction ("set", &ChanCount::set) .addFunction ("n_audio", &ChanCount::n_audio) + .addFunction ("n_midi", &ChanCount::n_midi) + .addFunction ("n_total", &ChanCount::n_total) + .addFunction ("reset", &ChanCount::reset) .endClass() .beginClass ("DataType") .addConstructor () + .addStaticCFunction ("null", &LuaAPI::datatype_ctor_nil) // "nil" is a lua reseved word + .addStaticCFunction ("audio", &LuaAPI::datatype_ctor_audio) + .addStaticCFunction ("midi", &LuaAPI::datatype_ctor_midi) .endClass() /* libardour enums */ @@ -762,11 +793,13 @@ void LuaBindings::osc (lua_State* L) { luabridge::getGlobalNamespace (L) + .beginNamespace ("ARDOUR") .beginNamespace ("LuaOSC") .beginClass ("Address") .addConstructor () .addCFunction ("send", &LuaOSC::Address::send) .endClass () + .endNamespace () .endNamespace (); }