From 7b5667b17927eec3bee11c5abc415d0ed18b87b1 Mon Sep 17 00:00:00 2001 From: yuquanjun Date: Fri, 4 Sep 2026 19:12:29 +0800 Subject: [PATCH] Reload tone bank after mode Init sets TAB so Expert no longer keeps Universal accomp. Co-authored-by: Cursor --- UI/UI_ExpertMode.c | 1 + UI/UI_FreeMode.c | 1 + UI/UI_Idle.c | 5 +---- UI/UI_SongMode.c | 7 ++++--- UI/UI_global.c | 9 ++------- 5 files changed, 9 insertions(+), 14 deletions(-) diff --git a/UI/UI_ExpertMode.c b/UI/UI_ExpertMode.c index a6c0f0c..7558c42 100644 --- a/UI/UI_ExpertMode.c +++ b/UI/UI_ExpertMode.c @@ -5,6 +5,7 @@ void UI_ExpertMode_Init(void) mGuiData[GUI_TAB_INDEX].Current = 1; mGuiData[GUI_TAB_LAST_INDEX].Current = mGuiData[GUI_TAB_INDEX].Current; //mGuiData[GUI_AUTOBAND_SW].Current = 1; + UI_ReloadTonePreset(); /* 必须在 TAB=专业 之后换库,否则仍是万能 3.bin */ Show_home_UI(); pCurrentTouch_Area = Touch_Areas; } diff --git a/UI/UI_FreeMode.c b/UI/UI_FreeMode.c index d191c62..07bc5d0 100644 --- a/UI/UI_FreeMode.c +++ b/UI/UI_FreeMode.c @@ -6,6 +6,7 @@ void UI_FreeMode_Init(void) mGuiData[GUI_TAB_INDEX].Current = 2; mGuiData[GUI_TAB_LAST_INDEX].Current = mGuiData[GUI_TAB_INDEX].Current; //mGuiData[GUI_AUTOBAND_SW].Current = 1; + UI_ReloadTonePreset(); /* TAB=普通 后再加载 1.bin */ Show_home_UI(); pCurrentTouch_Area = Touch_Areas; } diff --git a/UI/UI_Idle.c b/UI/UI_Idle.c index 4f3d7ae..5b5cc14 100644 --- a/UI/UI_Idle.c +++ b/UI/UI_Idle.c @@ -153,15 +153,12 @@ void Touch_Mode_Select_Action(int8_t FLAG, uint8_t ID, uint8_t areaIndex) switch (ID) { case 0: /* 万能 → 3.bin / 本地→2.bin */ - UI_ApplyToneAddress(); - MenuPage_SongMode_Proc(); + MenuPage_SongMode_Proc(); /* Init 设 TAB 并 Reload */ break; case 1: /* 专业 → 1.bin / 本地→2.bin */ - UI_ApplyToneAddress(); MenuPage_ExpertMode_Proc(); break; case 2: /* 普通 → 1.bin */ - UI_ApplyToneAddress(); MenuPage_FreeMode_Proc(); break; default: diff --git a/UI/UI_SongMode.c b/UI/UI_SongMode.c index 500471b..304309c 100644 --- a/UI/UI_SongMode.c +++ b/UI/UI_SongMode.c @@ -254,7 +254,7 @@ void Touch_Action(int8_t FLAG, uint8_t ID, uint8_t areaIndex,uint8_t value) break; StartFlag = 0; AutoBandTop1_Stop(); - UI_ApplyToneAddress(); + UI_ReloadTonePreset(); /* 切换模式必须换库,避免专业仍播万能数据 */ break; case 1: /* 专业 → 1.bin / 本地→2.bin */ @@ -262,7 +262,7 @@ void Touch_Action(int8_t FLAG, uint8_t ID, uint8_t areaIndex,uint8_t value) break; StartFlag = 0; AutoBandTop1_Stop(); - UI_ApplyToneAddress(); + UI_ReloadTonePreset(); break; case 2: /* 普通 → 1.bin */ @@ -270,7 +270,7 @@ void Touch_Action(int8_t FLAG, uint8_t ID, uint8_t areaIndex,uint8_t value) break; StartFlag = 0; AutoBandTop1_Stop(); - UI_ApplyToneAddress(); + UI_ReloadTonePreset(); break; } Refresh_TabSelect_ui(&UI_Label[ID], &mGuiData[ID]); @@ -292,6 +292,7 @@ void UI_SongMode_Init(void) //mGuiData[GUI_AUTOBAND_SW].Current = 0; mGuiData[GUI_TAB_INDEX].Current = 0; mGuiData[GUI_TAB_LAST_INDEX].Current = mGuiData[GUI_TAB_INDEX].Current; + UI_ReloadTonePreset(); /* TAB=万能 后再加载 3.bin */ Show_home_UI(); pCurrentTouch_Area = Touch_Areas; diff --git a/UI/UI_global.c b/UI/UI_global.c index 8ea1e29..7a5bf9f 100644 --- a/UI/UI_global.c +++ b/UI/UI_global.c @@ -271,15 +271,12 @@ void UI_GotoCurrentModePage(void) switch (mGuiData[GUI_TAB_INDEX].Current) { case 0: - UI_ApplyToneAddress(); - MenuPage_SongMode_Proc(); + MenuPage_SongMode_Proc(); /* Init 内 Reload */ break; case 1: - UI_ApplyToneAddress(); MenuPage_ExpertMode_Proc(); break; case 2: - UI_ApplyToneAddress(); MenuPage_FreeMode_Proc(); break; default: @@ -849,15 +846,13 @@ void UI_NavBar_Action(uint8_t value) switch (value) { case UI0902_NAV_UNIVERSAL: - UI_ApplyToneAddress(); + /* Init 内会设 TAB 并 ReloadTonePreset,勿在此前加载(会仍用旧 TAB) */ MenuPage_SongMode_Proc(); break; case UI0902_NAV_NORMAL: - UI_ApplyToneAddress(); MenuPage_FreeMode_Proc(); break; case UI0902_NAV_EXPERT: - UI_ApplyToneAddress(); MenuPage_ExpertMode_Proc(); break; case UI0902_NAV_SETTING: