Skip empty voices while scrolling (#466)

* Skip empty voices while scrolling

* Added more cases where the voice is empty

* Filter out "EMPTY     "

To be used together with a curated collection of banks that use the name `EMPTY     ` instead of `INIT VOICE`

---------

Co-authored-by: probonopd <probonopd@users.noreply.github.com>
pull/475/head
Luca 2 years ago committed by GitHub
parent edd22ba8c6
commit 3a51fd74a7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 28
      src/uimenu.cpp

@ -581,15 +581,29 @@ void CUIMenu::EditProgramNumber (CUIMenu *pUIMenu, TMenuEvent Event)
return;
}
string TG ("TG");
TG += to_string (nTG+1);
string voiceName = pUIMenu->m_pMiniDexed->GetVoiceName (nTG); // Skip empty voices
if (voiceName == "EMPTY "
|| voiceName == " "
|| voiceName == "----------"
|| voiceName == "~~~~~~~~~~" )
{
if (Event == MenuEventStepUp) {
CUIMenu::EditProgramNumber (pUIMenu, MenuEventStepUp);
}
if (Event == MenuEventStepDown) {
CUIMenu::EditProgramNumber (pUIMenu, MenuEventStepDown);
}
} else {
string TG ("TG");
TG += to_string (nTG+1);
string Value = to_string (nValue+1) + "=" + pUIMenu->m_pMiniDexed->GetVoiceName (nTG);
string Value = to_string (nValue+1) + "=" + pUIMenu->m_pMiniDexed->GetVoiceName (nTG);
pUIMenu->m_pUI->DisplayWrite (TG.c_str (),
pUIMenu->m_pParentMenu[pUIMenu->m_nCurrentMenuItem].Name,
Value.c_str (),
nValue > 0, nValue < (int) CSysExFileLoader::VoicesPerBank-1);
pUIMenu->m_pUI->DisplayWrite (TG.c_str (),
pUIMenu->m_pParentMenu[pUIMenu->m_nCurrentMenuItem].Name,
Value.c_str (),
nValue > 0, nValue < (int) CSysExFileLoader::VoicesPerBank-1);
}
}
void CUIMenu::EditTGParameter (CUIMenu *pUIMenu, TMenuEvent Event)

Loading…
Cancel
Save