Skip to content

Commit 2095be7

Browse files
committed
Guard to prevent extra kit fetches. Encoder regression
1 parent 2c23ad4 commit 2095be7

File tree

3 files changed

+17
-3
lines changed

3 files changed

+17
-3
lines changed

src/mcl/MCL/FXPage.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ void FXPage::display() {
8181
strncpy(str, param_name, 4);
8282
str[3] = '\0';
8383

84-
mcl_gui.draw_knob(i, encoders[i], str, false);
84+
mcl_gui.draw_knob(i, encoders[i], str, false, false);
8585
// mcl_gui.draw_light_encoder(30 + 20 * i, 18, encoders[i], str);
8686
}
8787
oled_display.setFont(&TomThumb);

src/mcl/MCL/PageSelectPage.cpp

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,7 @@ void PageSelectPage::init() {
9797
// clear trigled so it's always sent on first run
9898
trigled_mask = 0;
9999
draw_popup();
100+
MidiUartParent::handle_midi_lock = 1;
100101
md_prepare();
101102
MidiUartParent::handle_midi_lock = _midi_lock_tmp;
102103
}
@@ -109,11 +110,23 @@ void PageSelectPage::draw_popup() {
109110
}
110111

111112
void PageSelectPage::md_prepare() {
113+
//static uint16_t last_kit_request_time = 0;
114+
//uint16_t current_time = read_clock_ms();
115+
// Don't request if callback is already waiting for a response
116+
if (kit_cb.state) {
117+
return;
118+
}
119+
// Only request kit if more than 2 seconds (2000ms) has passed
120+
//if (clock_diff(last_kit_request_time, current_time) < 2000) {
121+
// return;
122+
//}
123+
112124
kit_cb.init();
113125
auto listener = MD.getSysexListener();
114126
listener->addOnMessageCallback(
115127
&kit_cb, (sysex_callback_ptr_t)&MDCallback::onReceived);
116128
MD.requestKit(0x7F);
129+
//last_kit_request_time = current_time;
117130
}
118131

119132
void PageSelectPage::cleanup() {

src/mcl/MCL/PerfPage.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -245,9 +245,10 @@ void PerfPage::display() {
245245

246246
PerfEncoder *e = perf_encoders[perf_id];
247247

248-
char perf_label[] = " A";
248+
static char perf_label[4] = " A";
249249
perf_label[1] = 'A' + perf_id;
250-
mcl_gui.draw_knob(0, encoders[0], perf_label, false);
250+
perf_label[2] = '\0';
251+
mcl_gui.draw_knob(0, encoders[0], perf_label, false, false);
251252

252253
if (learn) {
253254
draw_dest(1, encoders[1]->cur);

0 commit comments

Comments
 (0)