From: Robin Gareus Date: Mon, 15 Aug 2016 20:16:08 +0000 (+0200) Subject: expose SessionConfiguration as lua bindings X-Git-Tag: 5.1~131 X-Git-Url: https://git.carlh.net/gitweb/?a=commitdiff_plain;h=11da4a83e499db74e75d5b59973b0e52b0c1277a;p=ardour.git expose SessionConfiguration as lua bindings --- diff --git a/libs/ardour/ardour/session.h b/libs/ardour/ardour/session.h index db80ddcae3..a1e094a7a4 100644 --- a/libs/ardour/ardour/session.h +++ b/libs/ardour/ardour/session.h @@ -1007,6 +1007,8 @@ class LIBARDOUR_API Session : public PBD::StatefulDestructible, public PBD::Scop SessionConfiguration config; + SessionConfiguration* cfg () { return &config; } + bool exporting () const { return _exporting; } 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 ("StatefulDestructible") .endClass () + .deriveClass ("Configuration") + .endClass() + .deriveWSPtrClass ("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") +#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")