Reload tone bank after mode Init sets TAB so Expert no longer keeps Universal accomp.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
yuquanjun 2026-09-04 19:12:29 +08:00
parent f179a46c5d
commit 7b5667b179
5 changed files with 9 additions and 14 deletions

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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:

View File

@ -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;

View File

@ -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: