diff options
Diffstat (limited to 'gtk2_ardour/note_base.h')
-rw-r--r-- | gtk2_ardour/note_base.h | 44 |
1 files changed, 17 insertions, 27 deletions
diff --git a/gtk2_ardour/note_base.h b/gtk2_ardour/note_base.h index 22dd9d462e..d426a7b59d 100644 --- a/gtk2_ardour/note_base.h +++ b/gtk2_ardour/note_base.h @@ -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 |