Remove frame conversion for MidiRegionView::note_in_region_range(), speed up tempo...
[ardour.git] / libs / ardour / ardour / rc_configuration.h
index abf22e4e9d6be257c09ffbfecb61d490d0cc3684..4f1bac303a0ae8bca781e82db5b61fe3e03062e7 100644 (file)
@@ -1,5 +1,5 @@
 /*
-    Copyright (C) 1999 Paul Davis 
+    Copyright (C) 1999 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
 #include <map>
 #include <string>
 
+#include "ardour/libardour_visibility.h"
 #include "ardour/types.h"
 #include "ardour/utils.h"
-#include "ardour/configuration.h"
+
+#include "pbd/configuration.h"
 
 class XMLNode;
 
 namespace ARDOUR {
 
-class RCConfiguration : public Configuration
+class LIBARDOUR_API RCConfiguration : public PBD::Configuration
 {
   public:
        RCConfiguration();
+       ~RCConfiguration();
 
-       void map_parameters (sigc::slot<void,const char*>);
-       int set_state (XMLNode const &);
+       void map_parameters (boost::function<void (std::string)>&);
+       int set_state (XMLNode const &, int version);
        XMLNode& get_state ();
        XMLNode& get_variables ();
        void set_variables (XMLNode const &);
 
-       std::map<std::string, XMLNode> midi_ports;
-
        int load_state ();
        int save_state ();
 
-       /// calls Stateful::*instant_xml methods using 
+       /// 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);
@@ -59,11 +60,11 @@ class RCConfiguration : public Configuration
 #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); if (ret) { ParameterChanged (name); } return ret;  }
+       Type get_##var () const { return var.get(); } \
+       bool set_##var (Type val) { bool ret = var.set (val); 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); if (ret) { ParameterChanged (name); } return ret; }
+       Type get_##var () const { return var.get(); } \
+       bool set_##var (Type val) { bool ret = var.set (val); if (ret) { ParameterChanged (name); } return ret; }
 #include "ardour/rc_configuration_vars.h"
 #undef  CONFIG_VARIABLE
 #undef  CONFIG_VARIABLE_SPECIAL
@@ -73,19 +74,19 @@ class RCConfiguration : public Configuration
        /* 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;
+#undef  CONFIG_VARIABLE_SPECIAL
+#define CONFIG_VARIABLE(Type,var,name,value) PBD::ConfigVariable<Type> var;
+#define CONFIG_VARIABLE_SPECIAL(Type,var,name,value,mutator) PBD::ConfigVariableWithMutation<Type> var;
 #include "ardour/rc_configuration_vars.h"
 #undef  CONFIG_VARIABLE
-#undef  CONFIG_VARIABLE_SPECIAL        
+#undef  CONFIG_VARIABLE_SPECIAL
 
        XMLNode* _control_protocol_state;
 };
 
 /* XXX: rename this */
-extern RCConfiguration *Config;
-extern gain_t speed_quietning; /* see comment in configuration.cc */
+LIBARDOUR_API extern RCConfiguration *Config;
+LIBARDOUR_API extern gain_t speed_quietning; /* see comment in configuration.cc */
 
 } // namespace ARDOUR