[Re]-Implement Delayline flush.
[ardour.git] / libs / ardour / luabindings.cc
index 48ffcf2f6b3f079e814831461545c5841167b6f1..80101cd571312504a2d0bc096279e1135a2deffd 100644 (file)
@@ -40,6 +40,7 @@
 #include "ardour/beats_samples_converter.h"
 #include "ardour/chan_mapping.h"
 #include "ardour/dB.h"
+#include "ardour/delayline.h"
 #include "ardour/disk_reader.h"
 #include "ardour/disk_writer.h"
 #include "ardour/dsp_filter.h"
@@ -61,6 +62,7 @@
 #include "ardour/playlist.h"
 #include "ardour/plugin.h"
 #include "ardour/plugin_insert.h"
+#include "ardour/polarity_processor.h"
 #include "ardour/port_manager.h"
 #include "ardour/progress.h"
 #include "ardour/runtime_functions.h"
@@ -845,6 +847,7 @@ LuaBindings::common (lua_State* L)
                .addFunction ("first_mark_after", &Locations::first_mark_after)
                .addFunction ("first_mark_before", &Locations::first_mark_before)
                .addFunction ("first_mark_at", &Locations::mark_at)
+               .addFunction ("mark_at", &Locations::mark_at)
                .addFunction ("remove", &Locations::remove)
                .addRefFunction ("marks_either_side", &Locations::marks_either_side)
                .addRefFunction ("find_all_between", &Locations::find_all_between)
@@ -974,6 +977,8 @@ LuaBindings::common (lua_State* L)
                .beginWSPtrClass <Slavable> ("Slavable")
                .addFunction ("assign", &Slavable::assign)
                .addFunction ("unassign", &Slavable::unassign)
+               .addFunction ("masters", &Slavable::masters)
+               .addFunction ("assigned_to", &Slavable::assigned_to)
                .endClass ()
 
                .deriveWSPtrClass <Stripable, SessionObject> ("Stripable")
@@ -1035,6 +1040,8 @@ LuaBindings::common (lua_State* L)
                .addFunction ("gain_control", &VCA::gain_control)
                .addFunction ("solo_control", &VCA::solo_control)
                .addFunction ("mute_control", &VCA::mute_control)
+               .addFunction ("slaved_to", &VCA::slaved_to)
+               .addFunction ("slaved", &VCA::slaved)
                .endClass ()
 
                .deriveWSPtrClass <Route, Stripable> ("Route")
@@ -1330,9 +1337,10 @@ LuaBindings::common (lua_State* L)
                .addCast<PeakMeter> ("to_peakmeter")
                .addCast<MonitorProcessor> ("to_monitorprocessor")
                .addCast<Send> ("to_send")
+               .addCast<PolarityProcessor> ("to_polarityprocessor")
+               .addCast<DelayLine> ("to_delayline")
 #if 0 // those objects are not yet bound
                .addCast<CapturingProcessor> ("to_capturingprocessor")
-               .addCast<DelayLine> ("to_delayline")
 #endif
                .addCast<PeakMeter> ("to_meter")
                .addFunction ("display_name", &Processor::display_name)
@@ -1537,6 +1545,13 @@ LuaBindings::common (lua_State* L)
                .deriveWSPtrClass <UnknownProcessor, Processor> ("UnknownProcessor")
                .endClass ()
 
+               .deriveWSPtrClass <PolarityProcessor, Processor> ("PolarityProcessor")
+               .endClass ()
+
+               .deriveWSPtrClass <DelayLine, Processor> ("DelayLine")
+               .addFunction ("delay", &DelayLine::delay)
+               .endClass ()
+
                .deriveWSPtrClass <PluginInsert::PluginControl, AutomationControl> ("PluginControl")
                .endClass ()
 
@@ -1565,6 +1580,10 @@ LuaBindings::common (lua_State* L)
                .beginConstStdList <boost::shared_ptr<VCA> > ("VCAList")
                .endClass ()
 
+               // VCAVector == std::vector<boost::shared_ptr<VCA> >
+               .beginConstStdVector <boost::shared_ptr<VCA> > ("VCAVector")
+               .endClass ()
+
                // boost::shared_ptr<RouteList>
                .beginPtrStdList <boost::shared_ptr<Route> > ("RouteListPtr")
                .addVoidPtrConstructor<std::list<boost::shared_ptr <Route> > > ()
@@ -2148,7 +2167,7 @@ LuaBindings::common (lua_State* L)
                .addFunction ("scripts_changed", &Session::scripts_changed) // used internally
                .addFunction ("transport_rolling", &Session::transport_rolling)
                .addFunction ("request_transport_speed", &Session::request_transport_speed)
-               .addFunction ("transport_frame", &Session::transport_sample)
+               .addFunction ("transport_sample", &Session::transport_sample)
                .addFunction ("transport_speed", &Session::transport_speed)
                .addFunction ("sample_rate", &Session::sample_rate)
                .addFunction ("nominal_sample_rate", &Session::nominal_sample_rate)
@@ -2185,6 +2204,7 @@ LuaBindings::common (lua_State* L)
                .addFunction ("disable_record", &Session::disable_record)
                .addFunction ("route_by_id", &Session::route_by_id)
                .addFunction ("route_by_name", &Session::route_by_name)
+               .addFunction ("stripable_by_id", &Session::stripable_by_id)
                .addFunction ("get_remote_nth_stripable", &Session::get_remote_nth_stripable)
                .addFunction ("get_remote_nth_route", &Session::get_remote_nth_route)
                .addFunction ("route_by_selected_count", &Session::route_by_selected_count)