use MIDI meter colors (themeable) to show MIDI note velocity.
Selected notes no longer show the selected color for fill, following Alex Mitchell's proof-of-concept patch that showed it was easier to see what you're doing when the fill color shows velocity and we just use outline for selection status.
This commit is contained in:
parent
b4b2fbb6ed
commit
44c40bc065
@ -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));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@ -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) {
|
||||
|
Loading…
Reference in New Issue
Block a user