From 8d7128fb9f4333586aa915384e1ba1e83c611e32 Mon Sep 17 00:00:00 2001 From: Javier Nonis Date: Mon, 3 Mar 2025 18:34:34 -0300 Subject: [PATCH] Show FXs disabled in the UI --- src/uimenu.cpp | 158 ++++++++++++++++++++++++++++++++++++------------- src/uimenu.h | 1 + 2 files changed, 117 insertions(+), 42 deletions(-) diff --git a/src/uimenu.cpp b/src/uimenu.cpp index 5a69e0d..44c5eda 100644 --- a/src/uimenu.cpp +++ b/src/uimenu.cpp @@ -165,6 +165,12 @@ const CUIMenu::TMenuItem CUIMenu::s_InsertFX[] = {0} }; +const CUIMenu::TMenuItem CUIMenu::s_FXDisabled[] = +{ + {"Disabled"}, + {0} +}; + CUIMenu::TMenuItem CUIMenu::s_FXNone[] = { {"None"}, @@ -893,7 +899,7 @@ void CUIMenu::MainMenuHandler (CUIMenu *pUIMenu, TMenuEvent Event) if (pUIMenu->m_pCurrentMenu) // if this is another menu? { string strTempo; - if (menuChange) + if (menuChange || !pUIMenu->m_pConfig->GetFXEnabled()) { strTempo = ""; } @@ -1025,7 +1031,10 @@ void CUIMenu::MenuHandler (CUIMenu *pUIMenu, TMenuEvent Event) void CUIMenu::MenuHandlerMidiFX (CUIMenu *pUIMenu, TMenuEvent Event) { // Setup menu when it's open - if (!pUIMenu->m_pCurrentMenu) + if (!pUIMenu->m_pConfig->GetFXEnabled()) { + pUIMenu->m_pCurrentMenu = s_FXDisabled; + } + else if (!pUIMenu->m_pCurrentMenu) { pUIMenu->m_pCurrentMenu = s_MidiFX; } @@ -1046,6 +1055,11 @@ void CUIMenu::MenuHandlerMidiFX (CUIMenu *pUIMenu, TMenuEvent Event) break; } + // Check if FXs are enabled + if (!pUIMenu->m_pConfig->GetFXEnabled()) { + break; + } + pUIMenu->m_MenuStackParent[pUIMenu->m_nCurrentMenuDepth] = pUIMenu->m_pParentMenu; pUIMenu->m_MenuStackMenu[pUIMenu->m_nCurrentMenuDepth] = pUIMenu->m_pCurrentMenu; pUIMenu->m_nMenuStackItem[pUIMenu->m_nCurrentMenuDepth] @@ -1095,13 +1109,18 @@ void CUIMenu::MenuHandlerMidiFX (CUIMenu *pUIMenu, TMenuEvent Event) string TG ("TG"); TG += to_string (nTG+1); - // Get current FX type - int nFxType = pUIMenu->m_pMiniDexed->GetTGParameter(CMiniDexed::TGParameterMidiFXType, nTG); - - // Create Paramter with type label + // Check if FXs are enabled std::string value; - value.append(pUIMenu->m_pCurrentMenu[pUIMenu->m_nCurrentSelection].Name); - value.append(getMidiFXTypeName(nFxType)); + if (pUIMenu->m_pConfig->GetFXEnabled()) { + // Get current FX type + int nFxType = pUIMenu->m_pMiniDexed->GetTGParameter(CMiniDexed::TGParameterMidiFXType, nTG); + + // Create Paramter with type label + value.append(pUIMenu->m_pCurrentMenu[pUIMenu->m_nCurrentSelection].Name); + value.append(getMidiFXTypeName(nFxType)); + } else { + value.append(pUIMenu->m_pCurrentMenu[pUIMenu->m_nCurrentSelection].Name); + } pUIMenu->m_pUI->DisplayWrite ( TG.c_str (), @@ -1119,7 +1138,10 @@ void CUIMenu::MenuHandlerMidiFX (CUIMenu *pUIMenu, TMenuEvent Event) void CUIMenu::MenuHandlerInsertFX (CUIMenu *pUIMenu, TMenuEvent Event) { // Setup menu when it's open - if (!pUIMenu->m_pCurrentMenu) + if (!pUIMenu->m_pConfig->GetFXEnabled()) { + pUIMenu->m_pCurrentMenu = s_FXDisabled; + } + else if (!pUIMenu->m_pCurrentMenu) { pUIMenu->m_pCurrentMenu = s_InsertFX; } @@ -1140,6 +1162,11 @@ void CUIMenu::MenuHandlerInsertFX (CUIMenu *pUIMenu, TMenuEvent Event) break; } + // Check if FXs are enabled + if (!pUIMenu->m_pConfig->GetFXEnabled()) { + break; + } + pUIMenu->m_MenuStackParent[pUIMenu->m_nCurrentMenuDepth] = pUIMenu->m_pParentMenu; pUIMenu->m_MenuStackMenu[pUIMenu->m_nCurrentMenuDepth] = pUIMenu->m_pCurrentMenu; pUIMenu->m_nMenuStackItem[pUIMenu->m_nCurrentMenuDepth] @@ -1189,13 +1216,18 @@ void CUIMenu::MenuHandlerInsertFX (CUIMenu *pUIMenu, TMenuEvent Event) string TG ("TG"); TG += to_string (nTG+1); - // Get current FX Name - std::string fxName = pUIMenu->m_pMiniDexed->getInsertFXName(nTG); - - // Create Paramter with type label + // Check if FXs are enabled std::string value; - value.append(pUIMenu->m_pCurrentMenu[pUIMenu->m_nCurrentSelection].Name); - value.append(fxName); + if (pUIMenu->m_pConfig->GetFXEnabled()) { + // Get current FX Name + std::string fxName = pUIMenu->m_pMiniDexed->getInsertFXName(nTG); + + // Create Paramter with type label + value.append(pUIMenu->m_pCurrentMenu[pUIMenu->m_nCurrentSelection].Name); + value.append(fxName); + } else { + value.append(pUIMenu->m_pCurrentMenu[pUIMenu->m_nCurrentSelection].Name); + } pUIMenu->m_pUI->DisplayWrite ( TG.c_str (), @@ -1213,7 +1245,10 @@ void CUIMenu::MenuHandlerInsertFX (CUIMenu *pUIMenu, TMenuEvent Event) void CUIMenu::MenuHandlerSendFX1 (CUIMenu *pUIMenu, TMenuEvent Event) { // Setup menu when it's open - if (!pUIMenu->m_pCurrentMenu) + if (!pUIMenu->m_pConfig->GetFXEnabled()) { + pUIMenu->m_pCurrentMenu = s_FXDisabled; + } + else if (!pUIMenu->m_pCurrentMenu) { pUIMenu->m_pCurrentMenu = s_SendFX1Menu; } @@ -1225,6 +1260,12 @@ void CUIMenu::MenuHandlerSendFX1 (CUIMenu *pUIMenu, TMenuEvent Event) case MenuEventSelect: // push menu assert (pUIMenu->m_nCurrentMenuDepth < MaxMenuDepth); + + // Check if FXs are enabled + if (!pUIMenu->m_pConfig->GetFXEnabled()) { + break; + } + pUIMenu->m_MenuStackParent[pUIMenu->m_nCurrentMenuDepth] = pUIMenu->m_pParentMenu; pUIMenu->m_MenuStackMenu[pUIMenu->m_nCurrentMenuDepth] = pUIMenu->m_pCurrentMenu; pUIMenu->m_nMenuStackItem[pUIMenu->m_nCurrentMenuDepth] @@ -1270,15 +1311,20 @@ void CUIMenu::MenuHandlerSendFX1 (CUIMenu *pUIMenu, TMenuEvent Event) if (pUIMenu->m_pCurrentMenu) // if this is another menu? { - // Get current FX Name - std::string fxName = pUIMenu->m_pMiniDexed->getSendFX1Name(); - - // Create Paramter with type label + // Check if FXs are enabled std::string value; - value.append(pUIMenu->m_pCurrentMenu[pUIMenu->m_nCurrentSelection].Name); - if (pUIMenu->m_nCurrentSelection < 2) - { - value.append(fxName); + if (pUIMenu->m_pConfig->GetFXEnabled()) { + // Get current FX Name + std::string fxName = pUIMenu->m_pMiniDexed->getSendFX1Name(); + + // Create Paramter with type label + value.append(pUIMenu->m_pCurrentMenu[pUIMenu->m_nCurrentSelection].Name); + if (pUIMenu->m_nCurrentSelection < 2) + { + value.append(fxName); + } + } else { + value.append(pUIMenu->m_pCurrentMenu[pUIMenu->m_nCurrentSelection].Name); } pUIMenu->m_pUI->DisplayWrite ( @@ -1297,7 +1343,10 @@ void CUIMenu::MenuHandlerSendFX1 (CUIMenu *pUIMenu, TMenuEvent Event) void CUIMenu::MenuHandlerSendFX2 (CUIMenu *pUIMenu, TMenuEvent Event) { // Setup menu when it's open - if (!pUIMenu->m_pCurrentMenu) + if (!pUIMenu->m_pConfig->GetFXEnabled()) { + pUIMenu->m_pCurrentMenu = s_FXDisabled; + } + else if (!pUIMenu->m_pCurrentMenu) { pUIMenu->m_pCurrentMenu = s_SendFX2Menu; } @@ -1309,6 +1358,12 @@ void CUIMenu::MenuHandlerSendFX2 (CUIMenu *pUIMenu, TMenuEvent Event) case MenuEventSelect: // push menu assert (pUIMenu->m_nCurrentMenuDepth < MaxMenuDepth); + + // Check if FXs are enabled + if (!pUIMenu->m_pConfig->GetFXEnabled()) { + break; + } + pUIMenu->m_MenuStackParent[pUIMenu->m_nCurrentMenuDepth] = pUIMenu->m_pParentMenu; pUIMenu->m_MenuStackMenu[pUIMenu->m_nCurrentMenuDepth] = pUIMenu->m_pCurrentMenu; pUIMenu->m_nMenuStackItem[pUIMenu->m_nCurrentMenuDepth] @@ -1354,15 +1409,20 @@ void CUIMenu::MenuHandlerSendFX2 (CUIMenu *pUIMenu, TMenuEvent Event) if (pUIMenu->m_pCurrentMenu) // if this is another menu? { - // Get current FX Name - std::string fxName = pUIMenu->m_pMiniDexed->getSendFX2Name(); - - // Create Paramter with type label + // Check if FXs are enabled std::string value; - value.append(pUIMenu->m_pCurrentMenu[pUIMenu->m_nCurrentSelection].Name); - if (pUIMenu->m_nCurrentSelection < 2) - { - value.append(fxName); + if (pUIMenu->m_pConfig->GetFXEnabled()) { + // Get current FX Name + std::string fxName = pUIMenu->m_pMiniDexed->getSendFX2Name(); + + // Create Paramter with type label + value.append(pUIMenu->m_pCurrentMenu[pUIMenu->m_nCurrentSelection].Name); + if (pUIMenu->m_nCurrentSelection < 2) + { + value.append(fxName); + } + } else { + value.append(pUIMenu->m_pCurrentMenu[pUIMenu->m_nCurrentSelection].Name); } pUIMenu->m_pUI->DisplayWrite ( @@ -1381,7 +1441,10 @@ void CUIMenu::MenuHandlerSendFX2 (CUIMenu *pUIMenu, TMenuEvent Event) void CUIMenu::MenuHandlerMasterFX (CUIMenu *pUIMenu, TMenuEvent Event) { // Setup menu when it's open - if (!pUIMenu->m_pCurrentMenu) + if (!pUIMenu->m_pConfig->GetFXEnabled()) { + pUIMenu->m_pCurrentMenu = s_FXDisabled; + } + else if (!pUIMenu->m_pCurrentMenu) { pUIMenu->m_pCurrentMenu = s_MasterFXMenu; } @@ -1393,6 +1456,12 @@ void CUIMenu::MenuHandlerMasterFX (CUIMenu *pUIMenu, TMenuEvent Event) case MenuEventSelect: // push menu assert (pUIMenu->m_nCurrentMenuDepth < MaxMenuDepth); + + // Check if FXs are enabled + if (!pUIMenu->m_pConfig->GetFXEnabled()) { + break; + } + pUIMenu->m_MenuStackParent[pUIMenu->m_nCurrentMenuDepth] = pUIMenu->m_pParentMenu; pUIMenu->m_MenuStackMenu[pUIMenu->m_nCurrentMenuDepth] = pUIMenu->m_pCurrentMenu; pUIMenu->m_nMenuStackItem[pUIMenu->m_nCurrentMenuDepth] @@ -1438,15 +1507,20 @@ void CUIMenu::MenuHandlerMasterFX (CUIMenu *pUIMenu, TMenuEvent Event) if (pUIMenu->m_pCurrentMenu) // if this is another menu? { - // Get current FX Name - std::string fxName = pUIMenu->m_pMiniDexed->getMasterFXName(); - - // Create Paramter with type label + // Check if FXs are enabled std::string value; - value.append(pUIMenu->m_pCurrentMenu[pUIMenu->m_nCurrentSelection].Name); - if (pUIMenu->m_nCurrentSelection < 2) - { - value.append(fxName); + if (pUIMenu->m_pConfig->GetFXEnabled()) { + // Get current FX Name + std::string fxName = pUIMenu->m_pMiniDexed->getMasterFXName(); + + // Create Paramter with type label + value.append(pUIMenu->m_pCurrentMenu[pUIMenu->m_nCurrentSelection].Name); + if (pUIMenu->m_nCurrentSelection < 2) + { + value.append(fxName); + } + } else { + value.append(pUIMenu->m_pCurrentMenu[pUIMenu->m_nCurrentSelection].Name); } pUIMenu->m_pUI->DisplayWrite ( diff --git a/src/uimenu.h b/src/uimenu.h index f921b0c..f43a37a 100644 --- a/src/uimenu.h +++ b/src/uimenu.h @@ -189,6 +189,7 @@ private: static const TMenuItem s_ReverbMenu[]; static const TMenuItem s_InsertFX[]; static const TMenuItem s_MidiFX[]; + static const TMenuItem s_FXDisabled[]; static TMenuItem s_FXNone[]; static TMenuItem s_FXChorus[];