diff options
Diffstat (limited to 'libs/ardour/ardour/configuration.h')
-rw-r--r-- | libs/ardour/ardour/configuration.h | 73 |
1 files changed, 7 insertions, 66 deletions
diff --git a/libs/ardour/ardour/configuration.h b/libs/ardour/ardour/configuration.h index e8d2685aa1..68944e92e6 100644 --- a/libs/ardour/ardour/configuration.h +++ b/libs/ardour/ardour/configuration.h @@ -1,5 +1,5 @@ /* - Copyright (C) 1999 Paul Davis + Copyright (C) 2009 Paul Davis This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -20,16 +20,7 @@ #ifndef __ardour_configuration_h__ #define __ardour_configuration_h__ -#include <map> -#include <vector> - -#include <sys/types.h> -#include <string> - -#include "pbd/stateful.h" - -#include "ardour/types.h" -#include "ardour/utils.h" +#include "pbd/stateful.h" #include "ardour/configuration_variable.h" class XMLNode; @@ -42,65 +33,15 @@ class Configuration : public PBD::Stateful Configuration(); virtual ~Configuration(); - std::map<std::string,XMLNode> midi_ports; - - void map_parameters (sigc::slot<void,const char*> theSlot); - - int load_state (); - int save_state (); - - /// calls Stateful::*instant_xml methods using - /// ARDOUR::user_config_directory for the directory argument - void add_instant_xml (XMLNode&); - XMLNode * instant_xml (const std::string& str); - - int set_state (const XMLNode&); - XMLNode& get_state (void); - XMLNode& get_variables (sigc::slot<bool,ConfigVariableBase::Owner>, std::string which_node = "Config"); - void set_variables (const XMLNode&, ConfigVariableBase::Owner owner); - - void set_current_owner (ConfigVariableBase::Owner); - - XMLNode* control_protocol_state () { return _control_protocol_state; } + virtual void map_parameters (sigc::slot<void, const char *> s) = 0; + virtual int set_state (XMLNode const &) = 0; + virtual XMLNode & get_state () = 0; + virtual XMLNode & get_variables () = 0; + virtual void set_variables (XMLNode const &) = 0; sigc::signal<void,const char*> ParameterChanged; - - /* define accessor methods */ - -#undef CONFIG_VARIABLE -#undef CONFIG_VARIABLE_SPECIAL -#define CONFIG_VARIABLE(Type,var,name,value) \ - Type get_##var () const { return var.get(); } \ - bool set_##var (Type val) { bool ret = var.set (val, current_owner); if (ret) { ParameterChanged (name); } return ret; } -#define CONFIG_VARIABLE_SPECIAL(Type,var,name,value,mutator) \ - Type get_##var () const { return var.get(); } \ - bool set_##var (Type val) { bool ret = var.set (val, current_owner); if (ret) { ParameterChanged (name); } return ret; } -#include "ardour/configuration_vars.h" -#undef CONFIG_VARIABLE -#undef CONFIG_VARIABLE_SPECIAL - - private: - - /* declare variables */ - -#undef CONFIG_VARIABLE -#undef CONFIG_VARIABLE_SPECIAL -#define CONFIG_VARIABLE(Type,var,name,value) ConfigVariable<Type> var; -#define CONFIG_VARIABLE_SPECIAL(Type,var,name,value,mutator) ConfigVariableWithMutation<Type> var; -#include "ardour/configuration_vars.h" -#undef CONFIG_VARIABLE -#undef CONFIG_VARIABLE_SPECIAL - - ConfigVariableBase::Owner current_owner; - XMLNode* _control_protocol_state; - - XMLNode& state (sigc::slot<bool,ConfigVariableBase::Owner>); - bool save_config_options_predicate (ConfigVariableBase::Owner owner); }; -extern Configuration *Config; -extern gain_t speed_quietning; /* see comment in configuration.cc */ - } // namespace ARDOUR #endif /* __ardour_configuration_h__ */ |