|
|
@ -1098,11 +1098,13 @@ string CUIMenu::GetOPValueString (unsigned nOPParameter, int nValue) |
|
|
|
|
|
|
|
|
|
|
|
string CUIMenu::ToVolume (int nValue) |
|
|
|
string CUIMenu::ToVolume (int nValue) |
|
|
|
{ |
|
|
|
{ |
|
|
|
static const size_t MaxChars = CConfig::LCDColumns-2; |
|
|
|
constexpr size_t NumSquares = 14; |
|
|
|
char VolumeBar[MaxChars+1]; |
|
|
|
char VolumeBar[NumSquares + 1]; |
|
|
|
memset (VolumeBar, 0xFF, sizeof VolumeBar); // 0xFF is the block character
|
|
|
|
size_t filled = (nValue * NumSquares + 63) / 127; |
|
|
|
VolumeBar[nValue * MaxChars / 127] = '\0'; |
|
|
|
for (size_t i = 0; i < NumSquares; ++i) { |
|
|
|
|
|
|
|
VolumeBar[i] = (i < filled) ? (char)0xFF : '.'; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
VolumeBar[NumSquares] = '\0'; |
|
|
|
return VolumeBar; |
|
|
|
return VolumeBar; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -1394,11 +1396,11 @@ void CUIMenu::PgmUpDownHandler (TMenuEvent Event) |
|
|
|
|| voiceName == "----------" |
|
|
|
|| voiceName == "----------" |
|
|
|
|| voiceName == "~~~~~~~~~~" ) |
|
|
|
|| voiceName == "~~~~~~~~~~" ) |
|
|
|
{ |
|
|
|
{ |
|
|
|
if (Event == MenuEventPgmUp) { |
|
|
|
if (Event == MenuEventStepUp) { |
|
|
|
PgmUpDownHandler (MenuEventPgmUp); |
|
|
|
PgmUpDownHandler (MenuEventStepUp); |
|
|
|
} |
|
|
|
} |
|
|
|
if (Event == MenuEventPgmDown) { |
|
|
|
if (Event == MenuEventStepDown) { |
|
|
|
PgmUpDownHandler (MenuEventPgmDown); |
|
|
|
PgmUpDownHandler (MenuEventStepDown); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
@ -2041,6 +2043,15 @@ void CUIMenu::EditMasterVolume(CUIMenu *pUIMenu, TMenuEvent Event) |
|
|
|
default: |
|
|
|
default: |
|
|
|
return; |
|
|
|
return; |
|
|
|
} |
|
|
|
} |
|
|
|
std::string valueStr = ToVolume(pUIMenu->m_pMiniDexed->GetMasterVolume127()); |
|
|
|
unsigned lcdCols = pUIMenu->m_pConfig->GetLCDColumns(); |
|
|
|
pUIMenu->m_pUI->DisplayWrite("Master Volume", "", valueStr.c_str(), nValue > rParam.Minimum, nValue < rParam.Maximum); |
|
|
|
unsigned barLen = (lcdCols > 2) ? lcdCols - 2 : 0; |
|
|
|
|
|
|
|
std::string valueStr(barLen, '.'); |
|
|
|
|
|
|
|
if (barLen > 0) { |
|
|
|
|
|
|
|
size_t filled = (nValue * barLen + 63) / 127; |
|
|
|
|
|
|
|
for (unsigned i = 0; i < barLen; ++i) { |
|
|
|
|
|
|
|
if (i < filled) valueStr[i] = (char)0xFF; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
// Do NOT add < or > here; let DisplayWrite handle it
|
|
|
|
|
|
|
|
pUIMenu->m_pUI->DisplayWrite("Master Volume", "", valueStr.c_str(), true, true); |
|
|
|
} |
|
|
|
} |
|
|
|