From 8071a085c445ea7af85aac718938b1e2d70cc589 Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Tue, 24 Jan 2023 17:16:06 -0700 Subject: [PATCH] add concept of a map-of-own-config-variables to RCConfiguration --- libs/ardour/ardour/rc_configuration.h | 2 ++ libs/ardour/rc_configuration.cc | 11 +++++++++++ 2 files changed, 13 insertions(+) diff --git a/libs/ardour/ardour/rc_configuration.h b/libs/ardour/ardour/rc_configuration.h index fe618eff84..a1265177e0 100644 --- a/libs/ardour/ardour/rc_configuration.h +++ b/libs/ardour/ardour/rc_configuration.h @@ -60,6 +60,8 @@ class LIBARDOUR_API RCConfiguration : public PBD::Configuration XMLNode* control_protocol_state () { return _control_protocol_state; } XMLNode* transport_master_state () { return _transport_master_state; } + std::map _my_variables; + /* define accessor methods */ #undef CONFIG_VARIABLE diff --git a/libs/ardour/rc_configuration.cc b/libs/ardour/rc_configuration.cc index 0f5b481a94..d342bafd39 100644 --- a/libs/ardour/rc_configuration.cc +++ b/libs/ardour/rc_configuration.cc @@ -75,6 +75,17 @@ RCConfiguration::RCConfiguration () _control_protocol_state (0) , _transport_master_state (0) { + /* build map */ + +#undef CONFIG_VARIABLE +#undef CONFIG_VARIABLE_SPECIAL +#define CONFIG_VARIABLE(Type,var,name,value) _my_variables.insert (std::make_pair ((name), &(var))); +#define CONFIG_VARIABLE_SPECIAL(Type,var,name,value,mutator) _my_variables.insert (std::make_pair ((name), &(var))); +#include "ardour/rc_configuration_vars.h" +#undef CONFIG_VARIABLE +#undef CONFIG_VARIABLE_SPECIAL + + } RCConfiguration::~RCConfiguration ()