aboutsummaryrefslogtreecommitdiffstats
path: root/src/drawing.c
diff options
context:
space:
mode:
authorBad Diode <bd@badd10de.dev>2023-08-25 11:57:37 +0200
committerBad Diode <bd@badd10de.dev>2023-08-25 11:57:37 +0200
commit439f5564e4a92f91a43a7f36d734f6bd96effd63 (patch)
tree9dae2644ca5ab91f4711a2275b2fbc6c0689f66c /src/drawing.c
parenteaf5d404450c4e467b981db1ea79c6871667a52e (diff)
downloadstepper-439f5564e4a92f91a43a7f36d734f6bd96effd63.tar.gz
stepper-439f5564e4a92f91a43a7f36d734f6bd96effd63.zip
Add global mutes behaviour
Diffstat (limited to 'src/drawing.c')
-rw-r--r--src/drawing.c20
1 files changed, 12 insertions, 8 deletions
diff --git a/src/drawing.c b/src/drawing.c
index 27e265b..50f3de3 100644
--- a/src/drawing.c
+++ b/src/drawing.c
@@ -73,14 +73,18 @@ draw_channels(void) {
73 }; 73 };
74 for (size_t i = 0; i < 4; i++) { 74 for (size_t i = 0; i < 4; i++) {
75 bool active = false; 75 bool active = false;
76 switch (i) { 76 if (settings.global_mute) {
77 case 0: { active = patterns[pattern_selection_loc].ch1.active; } break; 77 active = !settings.mutes[i];
78 case 1: { active = patterns[pattern_selection_loc].ch2.active; } break; 78 } else {
79 case 2: { active = patterns[pattern_selection_loc].ch3.active; } break; 79 switch (i) {
80 case 3: { active = patterns[pattern_selection_loc].ch4.active; } break; 80 case 0: { active = patterns[pattern_selection_loc].ch1.active; } break;
81 } 81 case 1: { active = patterns[pattern_selection_loc].ch2.active; } break;
82 if (patterns[pattern_selection_loc].empty) { 82 case 2: { active = patterns[pattern_selection_loc].ch3.active; } break;
83 active = true; 83 case 3: { active = patterns[pattern_selection_loc].ch4.active; } break;
84 }
85 if (patterns[pattern_selection_loc].empty) {
86 active = true;
87 }
84 } 88 }
85 u8 clr = active ? colors[i] : COL_OFF; 89 u8 clr = active ? colors[i] : COL_OFF;
86 size_t y = CHAN_START_Y + i * CHAN_OFFSET_Y; 90 size_t y = CHAN_START_Y + i * CHAN_OFFSET_Y;