Fix navigation

unison
probonopd 1 week ago
parent 3dd2e423a5
commit 02863193a0
  1. 12
      src/minidexed.cpp
  2. 15
      src/uimenu.cpp

@ -44,7 +44,10 @@
}}
// Forward declaration for getPhysicalTG
static unsigned getPhysicalTG(unsigned logicalTG, unsigned unisonVoice, unsigned unisonVoices);
static constexpr unsigned maxUnisonVoices = 4;
static unsigned getPhysicalTG(unsigned logicalTG, unsigned unisonVoice, unsigned /*unisonVoices*/) {
return logicalTG * maxUnisonVoices + unisonVoice;
}
const char WLANFirmwarePath[] = "SD:firmware/";
const char WLANConfigFile[] = "SD:wpa_supplicant.conf";
@ -2674,10 +2677,3 @@ bool CMiniDexed::InitNetwork()
return false;
}
}
// Forward declaration and definition for getPhysicalTG
static unsigned getPhysicalTG(unsigned logicalTG, unsigned unisonVoice, unsigned unisonVoices) {
// Default mapping: physical TGs are grouped by logical TG, unison voices are consecutive
// e.g. for 4 unison voices: TG0: 0,1,2,3; TG1: 4,5,6,7, etc.
return logicalTG * unisonVoices + unisonVoice;
}

@ -748,7 +748,14 @@ void CUIMenu::EditProgramNumber (CUIMenu *pUIMenu, TMenuEvent Event)
void CUIMenu::EditTGParameter(CUIMenu *pUIMenu, TMenuEvent Event)
{
unsigned nTG = pUIMenu->m_nMenuStackParameter[pUIMenu->m_nCurrentMenuDepth-1];
unsigned nTG = 0;
// Always determine the correct logical TG from the menu stack
if (pUIMenu->m_nCurrentMenuDepth >= 2) {
nTG = pUIMenu->m_nMenuStackParameter[1];
} else if (pUIMenu->m_nCurrentMenuDepth >= 1) {
nTG = pUIMenu->m_nMenuStackParameter[0];
}
if (nTG >= pUIMenu->m_nToneGenerators) nTG = 0;
CMiniDexed::TTGParameter Param = (CMiniDexed::TTGParameter) pUIMenu->m_nCurrentParameter;
const TParameter &rParam = s_TGParameter[Param];
@ -788,10 +795,10 @@ void CUIMenu::EditTGParameter (CUIMenu *pUIMenu, TMenuEvent Event)
return;
}
string TG ("TG");
TG += to_string (nTG+1);
std::string TG ("TG");
TG += std::to_string (nTG+1);
string Value = GetTGValueString (Param, pUIMenu->m_pMiniDexed->GetTGParameter (Param, nTG));
std::string Value = GetTGValueString (Param, pUIMenu->m_pMiniDexed->GetTGParameter (Param, nTG));
pUIMenu->m_pUI->DisplayWrite (TG.c_str (),
pUIMenu->m_pParentMenu[pUIMenu->m_nCurrentMenuItem].Name,

Loading…
Cancel
Save