Various color tweaks.
[ardour.git] / gtk2_ardour / note_base.h
index 22dd9d462e1e0db09f3c57498e47b0f39a5411fb..d426a7b59d3d278ef41175316a1c4323bf058c91 100644 (file)
@@ -103,36 +103,26 @@ class NoteBase : public sigc::trackable
        MidiRegionView& region_view() const { return _region; }
 
        inline static uint32_t meter_style_fill_color(uint8_t vel, bool selected) {
-                if (selected) {
-                        if (vel < 64) {
-                                return UINT_INTERPOLATE(
-                                       ARDOUR_UI::config()->color_mod ("selected midi note min", "selected midi note"),
-                                       ARDOUR_UI::config()->color_mod ("selected midi note mid", "selected midi note"),
-                                       (vel / (double)63.0));
-                        } else {
-                                return UINT_INTERPOLATE(
-                                       ARDOUR_UI::config()->color_mod ("selected midi note mid", "selected midi note"),
-                                       ARDOUR_UI::config()->color_mod ("selected midi note max", "selected midi note"),
-                                       ((vel-64) / (double)63.0));
-                        }
-                } else {
-                        if (vel < 64) {
-                                return UINT_INTERPOLATE(
-                                       ARDOUR_UI::config()->color_mod ("midi note min", "midi note"),
-                                       ARDOUR_UI::config()->color_mod ("midi note mid", "midi note"),
-                                       (vel / (double)63.0));
-                        } else {
-                                return UINT_INTERPOLATE(
-                                       ARDOUR_UI::config()->color_mod ("midi note mid", "midi note"),
-                                       ARDOUR_UI::config()->color_mod ("midi note max", " midi note"),
-                                       ((vel-64) / (double)63.0));
-                        }
-                }
+               if (vel < 64) {
+                       return UINT_INTERPOLATE(
+                               ARDOUR_UI::config()->color_mod ("midi note min", "midi note"),
+                               ARDOUR_UI::config()->color_mod ("midi note mid", "midi note"),
+                               (vel / (double)63.0));
+               } else {
+                       return UINT_INTERPOLATE(
+                               ARDOUR_UI::config()->color_mod ("midi note mid", "midi note"),
+                               ARDOUR_UI::config()->color_mod ("midi note max", " midi note"),
+                               ((vel-64) / (double)63.0));
+               }
        }
 
        /// calculate outline colors from fill colors of notes
-       inline static uint32_t calculate_outline(uint32_t color) {
-               return UINT_INTERPOLATE(color, 0x000000ff, 0.5);
+       inline static uint32_t calculate_outline(uint32_t color, bool selected=false) {
+               if (selected) {
+                       return ARDOUR_UI::config()->color ("midi note selected outline");
+               } else {
+                       return UINT_INTERPOLATE(color, 0x000000ff, 0.5);
+               }
        }
 
        /// hue circle divided into 16 equal-looking parts, courtesy Thorsten Wilms