diff options
author | Robin Gareus <robin@gareus.org> | 2017-08-15 23:51:51 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2017-08-16 00:51:20 +0200 |
commit | 11aa1d60aef92ab3e2b3c8ff14dc66b3ebc69e1c (patch) | |
tree | 458685198f825de5bc7310b83cb4bf72a2e2a230 | |
parent | 9f87805d954ffe050d28947b024c610d8af13d49 (diff) |
Add RCConfiguration Lua Bindings
-rw-r--r-- | libs/ardour/luabindings.cc | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/libs/ardour/luabindings.cc b/libs/ardour/luabindings.cc index 253f88a759..e53cc02dc0 100644 --- a/libs/ardour/luabindings.cc +++ b/libs/ardour/luabindings.cc @@ -193,6 +193,7 @@ CLASSKEYS(ARDOUR::Plugin::PresetRecord); CLASSKEYS(ARDOUR::PortEngine); CLASSKEYS(ARDOUR::PortManager); CLASSKEYS(ARDOUR::PresentationInfo); +CLASSKEYS(ARDOUR::RCConfiguration); CLASSKEYS(ARDOUR::Session); CLASSKEYS(ARDOUR::SessionConfiguration); CLASSKEYS(ARDOUR::Source); @@ -310,6 +311,11 @@ CLASSKEYS(LuaDialog::Dialog); using namespace ARDOUR; +/** Access libardour global configuration */ +static RCConfiguration* _libardour_config () { + return ARDOUR::Config; +} + void LuaBindings::stddef (lua_State* L) { @@ -1920,6 +1926,25 @@ LuaBindings::common (lua_State* L) .addFunction ("vcas", &VCAManager::vcas) .endClass() + .deriveClass <RCConfiguration, PBD::Configuration> ("RCConfiguration") +#undef CONFIG_VARIABLE +#undef CONFIG_VARIABLE_SPECIAL +#define CONFIG_VARIABLE(Type,var,name,value) \ + .addFunction ("get_" # var, &RCConfiguration::get_##var) \ + .addFunction ("set_" # var, &RCConfiguration::set_##var) \ + .addProperty (#var, &RCConfiguration::get_##var, &RCConfiguration::set_##var) + +#define CONFIG_VARIABLE_SPECIAL(Type,var,name,value,mutator) \ + .addFunction ("get_" # var, &RCConfiguration::get_##var) \ + .addFunction ("set_" # var, &RCConfiguration::set_##var) \ + .addProperty (#var, &RCConfiguration::get_##var, &RCConfiguration::set_##var) + +#include "ardour/rc_configuration_vars.h" + +#undef CONFIG_VARIABLE +#undef CONFIG_VARIABLE_SPECIAL + .endClass() + .deriveClass <SessionConfiguration, PBD::Configuration> ("SessionConfiguration") #undef CONFIG_VARIABLE #undef CONFIG_VARIABLE_SPECIAL @@ -1938,6 +1963,10 @@ LuaBindings::common (lua_State* L) #undef CONFIG_VARIABLE #undef CONFIG_VARIABLE_SPECIAL .endClass() + + // we could use addProperty () + .addFunction ("config", &_libardour_config) + .endNamespace (); // basic representation of Session |