diff --git a/Global/Global.c b/Global/Global.c index fb9dcaf..205f392 100644 --- a/Global/Global.c +++ b/Global/Global.c @@ -1254,8 +1254,15 @@ uint8_t GetChordNotesByType(uint8_t MIDI_Index,uint8_t type,uint8_t *buff) void Read_Cur_Measure() { uint32_t now = rt_tick_get(); - static uint32_t last_tick_i = 0;; - if((mGuiData[GUI_TAB_INDEX].Current == 2 || (mGuiData[GUI_TAB_LAST_INDEX].Current == 2 && mGuiData[GUI_TAB_INDEX].Current == 3)) && StartFlag) + static uint32_t last_tick_i = 0; + uint8_t tab = (uint8_t)mGuiData[GUI_TAB_INDEX].Current; + uint8_t last = (uint8_t)mGuiData[GUI_TAB_LAST_INDEX].Current; + /* 普通(2)与万能(0)均按「和弦走向」同步亮灯;设置页(3)沿用进入前模式 */ + uint8_t loop_light_ok = + (tab == 0 || tab == 2) || + (tab == 3 && (last == 0 || last == 2)); + + if (loop_light_ok && StartFlag) { if(now - last_tick_i >= 10) {