summaryrefslogtreecommitdiff
path: root/libs/ardour/luabindings.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2019-09-28 21:02:45 +0200
committerRobin Gareus <robin@gareus.org>2019-09-29 01:26:54 +0200
commit16066786e3e7fc4f6b990c62d7049c7611fcac52 (patch)
tree5b0c9f0a9ceb131c2ff68bc4d06df26f18a971db /libs/ardour/luabindings.cc
parent430dae62509e21d6082a032333c8e1182eb61a07 (diff)
Add Lua bindings related to latency compensation
Diffstat (limited to 'libs/ardour/luabindings.cc')
-rw-r--r--libs/ardour/luabindings.cc15
1 files changed, 15 insertions, 0 deletions
diff --git a/libs/ardour/luabindings.cc b/libs/ardour/luabindings.cc
index a642d92864..54e212cea8 100644
--- a/libs/ardour/luabindings.cc
+++ b/libs/ardour/luabindings.cc
@@ -199,6 +199,7 @@ CLASSKEYS(ARDOUR::ChanMapping);
CLASSKEYS(ARDOUR::DSP::DspShm);
CLASSKEYS(ARDOUR::DataType);
CLASSKEYS(ARDOUR::FluidSynth);
+CLASSKEYS(ARDOUR::Latent);
CLASSKEYS(ARDOUR::Location);
CLASSKEYS(ARDOUR::LuaAPI::Vamp);
CLASSKEYS(ARDOUR::LuaOSC::Address);
@@ -1327,6 +1328,19 @@ LuaBindings::common (lua_State* L)
.addFunction ("captured_for", &AudioSource::captured_for)
.endClass ()
+ .beginWSPtrClass <Latent> ("Latent")
+ .addFunction ("effective_latency", &Latent::effective_latency)
+ .addFunction ("user_latency", &Latent::user_latency)
+ .addFunction ("unset_user_latency", &Latent::unset_user_latency)
+ .addFunction ("set_user_latency", &Latent::set_user_latency)
+ .endClass ()
+
+ .beginClass <Latent> ("PDC")
+ /* cannot reuse "Latent"; weak/shared-ptr refs cannot have static member functions */
+ .addStaticFunction ("zero_latency", &Latent::zero_latency)
+ .addStaticFunction ("force_zero_latency", &Latent::force_zero_latency)
+ .endClass ()
+
.deriveWSPtrClass <Automatable, Evoral::ControlSet> ("Automatable")
.addCast<Slavable> ("to_slavable")
.addFunction ("automation_control", (boost::shared_ptr<AutomationControl>(Automatable::*)(const Evoral::Parameter&, bool))&Automatable::automation_control)
@@ -1374,6 +1388,7 @@ LuaBindings::common (lua_State* L)
.deriveWSPtrClass <Processor, SessionObject> ("Processor")
.addCast<Automatable> ("to_automatable")
+ .addCast<Latent> ("to_latent")
.addCast<PluginInsert> ("to_insert") // deprecated
.addCast<PluginInsert> ("to_plugininsert")
.addCast<SideChain> ("to_sidechain")