+ typedef std::map<std::string,ArdourCanvas::Color> Colors;
+ typedef std::map<std::string,std::string> ColorAliases;
+ typedef std::map<std::string,ArdourCanvas::SVAModifier> Modifiers;
+
+ Colors colors;
+ ColorAliases color_aliases;
+ Modifiers modifiers;
+
+ void set_alias (std::string const & name, std::string const & alias);
+ void set_color (const std::string& name, ArdourCanvas::Color);
+ void set_modifier (std::string const &, ArdourCanvas::SVAModifier svam);
+
+ std::string color_as_alias (ArdourCanvas::Color c);
+ ArdourCanvas::Color quantized (ArdourCanvas::Color) const;
+
+ ArdourCanvas::Color color (const std::string&, bool* failed = 0) const;
+ ArdourCanvas::Color color_mod (std::string const & color, std::string const & modifier) const;
+ ArdourCanvas::Color color_mod (const ArdourCanvas::Color& color, std::string const & modifier) const;
+ ArdourCanvas::HSV color_hsv (const std::string&) const;
+ ArdourCanvas::SVAModifier modifier (const std::string&) const;
+
+ sigc::signal<void,std::string> ParameterChanged;
+ void map_parameters (boost::function<void (std::string)>&);
+
+ void parameter_changed (std::string);
+
+#undef UI_CONFIG_VARIABLE
+#define UI_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; }
+#include "ui_config_vars.h"
+#undef UI_CONFIG_VARIABLE
+#define CANVAS_FONT_VARIABLE(var,name) \
+ Pango::FontDescription get_##var () const { return ARDOUR_UI_UTILS::sanitized_font (var.get()); } \
+ bool set_##var (const std::string& val) { bool ret = var.set (val); if (ret) { ParameterChanged (name); } return ret; }
+#include "canvas_vars.h"
+#undef CANVAS_FONT_VARIABLE
+
+ private:
+ /* declare variables */