summaryrefslogtreecommitdiff
path: root/libs/ardour/luabindings.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2016-08-15 22:16:08 +0200
committerRobin Gareus <robin@gareus.org>2016-08-15 22:25:56 +0200
commit11da4a83e499db74e75d5b59973b0e52b0c1277a (patch)
tree4126b4ab06ed4dd79f88c9dc0c1b44333bcf667b /libs/ardour/luabindings.cc
parent3b7dbdfeb84b08426d315f62b65cfe1d33ae457b (diff)
expose SessionConfiguration as lua bindings
Diffstat (limited to 'libs/ardour/luabindings.cc')
-rw-r--r--libs/ardour/luabindings.cc26
1 files changed, 26 insertions, 0 deletions
diff --git a/libs/ardour/luabindings.cc b/libs/ardour/luabindings.cc
index 631ab3b8a4..6f34b57f06 100644
--- a/libs/ardour/luabindings.cc
+++ b/libs/ardour/luabindings.cc
@@ -171,6 +171,9 @@ CLASSKEYS(ARDOUR::BufferSet);
CLASSKEYS(ARDOUR::ChanMapping);
CLASSKEYS(ARDOUR::DSP::DspShm);
CLASSKEYS(ARDOUR::LuaTableRef);
+CLASSKEYS(PBD::Configuration);
+CLASSKEYS(ARDOUR::PresentationInfo);
+CLASSKEYS(ARDOUR::SessionConfiguration);
CLASSKEYS(PBD::ID);
CLASSKEYS(ARDOUR::Location);
CLASSKEYS(ARDOUR::PluginInfo);
@@ -276,6 +279,9 @@ LuaBindings::common (lua_State* L)
.deriveClass <PBD::StatefulDestructible, PBD::Stateful> ("StatefulDestructible")
.endClass ()
+ .deriveClass <PBD::Configuration, PBD::Stateful> ("Configuration")
+ .endClass()
+
.deriveWSPtrClass <PBD::StatefulDestructible, PBD::Stateful> ("StatefulDestructiblePtr")
.endClass ()
@@ -1182,6 +1188,25 @@ LuaBindings::common (lua_State* L)
.addFunction ("set_buffer_size", &AudioEngine::set_buffer_size)
.addFunction ("get_last_backend_error", &AudioEngine::get_last_backend_error)
.endClass()
+
+ .deriveClass <SessionConfiguration, PBD::Configuration> ("SessionConfiguration")
+#undef CONFIG_VARIABLE
+#undef CONFIG_VARIABLE_SPECIAL
+#define CONFIG_VARIABLE(Type,var,name,value) \
+ .addFunction ("get_" # var, &SessionConfiguration::get_##var) \
+ .addFunction ("set_" # var, &SessionConfiguration::set_##var) \
+ .addProperty (#var, &SessionConfiguration::get_##var, &SessionConfiguration::set_##var)
+
+#define CONFIG_VARIABLE_SPECIAL(Type,var,name,value,mutator) \
+ .addFunction ("get_" # var, &SessionConfiguration::get_##var) \
+ .addFunction ("set_" # var, &SessionConfiguration::set_##var) \
+ .addProperty (#var, &SessionConfiguration::get_##var, &SessionConfiguration::set_##var)
+
+#include "ardour/session_configuration_vars.h"
+
+#undef CONFIG_VARIABLE
+#undef CONFIG_VARIABLE_SPECIAL
+ .endClass()
.endNamespace ();
// basic representation of Session
@@ -1242,6 +1267,7 @@ LuaBindings::common (lua_State* L)
.addFunction ("worst_input_latency", &Session::worst_input_latency)
.addFunction ("worst_track_latency", &Session::worst_track_latency)
.addFunction ("worst_playback_latency", &Session::worst_playback_latency)
+ .addFunction ("cfg", &Session::cfg)
.endClass ()
.beginClass <RegionFactory> ("RegionFactory")