#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"
.beginClass <ChanMapping> ("ChanMapping")
.addVoidConstructor ()
- .addFunction ("get", static_cast<uint32_t(ChanMapping::*)(DataType, uint32_t)>(&ChanMapping::get))
+ .addFunction ("get", static_cast<uint32_t(ChanMapping::*)(DataType, uint32_t) const>(&ChanMapping::get))
.addFunction ("set", &ChanMapping::set)
.addConst ("Invalid", 4294967295) // UINT32_MAX
.endClass ()
.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)
.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, Route> ("Track")
.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)
.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)
.addFunction ("activate", &PluginInsert::activate)
.addFunction ("deactivate", &PluginInsert::deactivate)
.addFunction ("strict_io_configured", &PluginInsert::strict_io_configured)
- .addFunction ("no_inplace", &PluginInsert::no_inplace)
- .addFunction ("input_map", &PluginInsert::input_map)
- .addFunction ("output_map", &PluginInsert::output_map)
- .addFunction ("set_no_inplace", &PluginInsert::set_no_inplace) // XXX
+ .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)
.beginClass <ChanCount> ("ChanCount")
.addConstructor <void (*) (DataType, uint32_t)> ()
+ .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> ("DataType")
.addConstructor <void (*) (std::string)> ()
+ .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 */