summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gtk2_ardour/note_base.cc18
-rw-r--r--gtk2_ardour/note_base.h10
2 files changed, 19 insertions, 9 deletions
diff --git a/gtk2_ardour/note_base.cc b/gtk2_ardour/note_base.cc
index afc72551a1..52ee88a2d6 100644
--- a/gtk2_ardour/note_base.cc
+++ b/gtk2_ardour/note_base.cc
@@ -330,3 +330,21 @@ NoteBase::big_enough_to_trim () const
return (x1() - x0()) > 10;
}
+
+uint32_t
+NoteBase::meter_style_fill_color(uint8_t vel, bool selected)
+{
+ if (vel < 32) {
+ return UINT_INTERPOLATE(UIConfiguration::instance().color ("midi meter color0"), UIConfiguration::instance().color ("midi meter color1"), (vel / 32.0));
+ } else if (vel < 64) {
+ return UINT_INTERPOLATE(UIConfiguration::instance().color ("midi meter color2"), UIConfiguration::instance().color ("midi meter color3"), ((vel-32) / 32.0));
+ } else if (vel < 100) {
+ return UINT_INTERPOLATE(UIConfiguration::instance().color ("midi meter color4"), UIConfiguration::instance().color ("midi meter color5"), ((vel-64) / 32.0));
+ } else if (vel < 112) {
+ return UINT_INTERPOLATE(UIConfiguration::instance().color ("midi meter color6"), UIConfiguration::instance().color ("midi meter color7"), ((vel-100) / 36.0));
+ } else {
+ return UINT_INTERPOLATE(UIConfiguration::instance().color ("midi meter color8"), UIConfiguration::instance().color ("midi meter color9"), ((vel-112) / 17.0));
+ }
+}
+
+
diff --git a/gtk2_ardour/note_base.h b/gtk2_ardour/note_base.h
index ebc00cbfa4..2a3612579d 100644
--- a/gtk2_ardour/note_base.h
+++ b/gtk2_ardour/note_base.h
@@ -103,15 +103,7 @@ public:
static void set_colors ();
- inline static uint32_t meter_style_fill_color(uint8_t vel, bool selected) {
- if (selected) {
- return _selected_mod_col;
- } else if (vel < 64) {
- return UINT_INTERPOLATE(_min_col, _mid_col, (vel / (double)63.0));
- } else {
- return UINT_INTERPOLATE(_mid_col, _max_col, ((vel - 64) / (double)63.0));
- }
- }
+ static uint32_t meter_style_fill_color(uint8_t vel, bool selected);
/// calculate outline colors from fill colors of notes
inline static uint32_t calculate_outline(uint32_t color, bool selected=false) {