X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Fluabindings.cc;h=e2144d35b025eff338fe4a062f44d33e3fc3f273;hb=18713b7d1fc4a1fcec0a60f2c80a327b50b9c529;hp=7e9dac8dbb83e2ecabfa57b7297b8925525a77c5;hpb=57b76983121906710853ea46ebd5089a6f7d40a7;p=ardour.git diff --git a/libs/ardour/luabindings.cc b/libs/ardour/luabindings.cc index 7e9dac8dbb..e2144d35b0 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" @@ -86,10 +87,6 @@ LuaBindings::stddef (lua_State* L) // register float array (int32_t*) .registerArray ("IntArray") - // std::vector - .beginStdVector ("DoubleVector") - .endClass () - // TODO std::set .endNamespace (); } @@ -179,6 +176,13 @@ LuaBindings::common (lua_State* L) .endClass () .endNamespace () + .beginClass ("ChanMapping") + .addVoidConstructor () + .addFunction ("get", static_cast(&ChanMapping::get)) + .addFunction ("set", &ChanMapping::set) + .addConst ("Invalid", 4294967295) // UINT32_MAX + .endClass () + .beginNamespace ("Properties") // templated class definitions .beginClass > ("BoolProperty").endClass () @@ -224,6 +228,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) @@ -236,6 +249,12 @@ LuaBindings::common (lua_State* L) .addFunction ("n_inputs", &Route::n_inputs) .addFunction ("n_outputs", &Route::n_outputs) .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") @@ -334,6 +353,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) @@ -342,7 +363,17 @@ LuaBindings::common (lua_State* L) .addFunction ("automation_control", (boost::shared_ptr(Automatable::*)(const Evoral::Parameter&, bool))&Automatable::automation_control) .endClass () - .deriveWSPtrClass ("PluginInsert") + .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) .addFunction ("maker", &Plugin::maker) @@ -361,6 +392,12 @@ LuaBindings::common (lua_State* L) .addFunction ("plugin", &PluginInsert::plugin) .addFunction ("activate", &PluginInsert::activate) .addFunction ("deactivate", &PluginInsert::deactivate) + .addFunction ("strict_io_configured", &PluginInsert::strict_io_configured) + .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) + .endClass () .deriveWSPtrClass ("AutomationControl") @@ -441,11 +478,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_null) // "nil" is a lua reseved word + .addStaticCFunction ("audio", &LuaAPI::datatype_ctor_audio) + .addStaticCFunction ("midi", &LuaAPI::datatype_ctor_midi) .endClass() /* libardour enums */ @@ -617,6 +663,8 @@ LuaBindings::dsp (lua_State* L) .addFunction ("data", (Sample*(AudioBuffer::*)(framecnt_t))&AudioBuffer::data) .addFunction ("silence", &AudioBuffer::silence) .addFunction ("apply_gain", &AudioBuffer::apply_gain) + .addFunction ("check_silence", &AudioBuffer::check_silence) + .addFunction ("read_from", (void (AudioBuffer::*)(const Sample*, framecnt_t, framecnt_t, framecnt_t))&AudioBuffer::check_silence) .endClass() .beginClass ("MidiBuffer") @@ -629,12 +677,6 @@ LuaBindings::dsp (lua_State* L) .addFunction ("get_audio", static_cast(&BufferSet::get_audio)) .addFunction ("count", static_cast(&BufferSet::count)) .endClass() - - .beginClass ("ChanMapping") - .addFunction ("get", static_cast(&ChanMapping::get)) - .addFunction ("set", &ChanMapping::set) - .addConst ("Invalid", 4294967295) // UINT32_MAX - .endClass () .endNamespace (); luabridge::getGlobalNamespace (L) @@ -749,11 +791,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 (); }