From 368492f1c0fb219cdac2046de50ad7f025616d68 Mon Sep 17 00:00:00 2001 From: Jonathan Moore Liles Date: Thu, 29 Oct 2020 21:41:09 -0700 Subject: [PATCH] Sequencer: Use a 3 break gradient for velocity colors. --- sequencer/src/gui/ui.fl | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/sequencer/src/gui/ui.fl b/sequencer/src/gui/ui.fl index f34944f..0eece88 100644 --- a/sequencer/src/gui/ui.fl +++ b/sequencer/src/gui/ui.fl @@ -98,14 +98,21 @@ Function {init_colors()} {open private C return_type {static void} } { code {unsigned int i; /* velocity colors */ + + - Fl_Color lo = fl_color_average( FL_CYAN, FL_BLACK, 0.10 ); - Fl_Color hi = fl_color_average( FL_CYAN, FL_WHITE, 0.80 ); + Fl_Color c[] = { FL_BLUE, FL_GREEN, FL_RED }; + int b[] = {0, 64, 127 }; + int nbreaks = 3; + + for ( int i = 0; i < nbreaks - 1; i++ ) + { + int k = 0; + for ( int j = b[i]; j <= b[i+1]; j++, k++ ) + velocity_colors[ j ] = fl_color_average( c[i+1], c[i], ( k ) / (float)(b[i+1] - b[i] )); + } - for ( i = 128; i--; ) - { - velocity_colors[i] = fl_color_average( hi, lo, 1.0 * ((float)i / 128) ); - }} {} + } {} } widget_class Visual_Metronome {open