Add "Master Volume" menu entry

master-volume
probonopd 2 weeks ago
parent 5d1065178b
commit 2ec0e212c0
  1. 1
      src/minidexed.h
  2. 28
      src/uimenu.cpp
  3. 1
      src/uimenu.h

@ -239,6 +239,7 @@ public:
bool DoSavePerformance (void); bool DoSavePerformance (void);
void setMasterVolume (float32_t vol); void setMasterVolume (float32_t vol);
int GetMasterVolume127() const { return (int)(nMasterVolume >= 1.0f ? 127 : (nMasterVolume <= 0.0f ? 0 : sqrtf(nMasterVolume) * 127.0f)); }
bool InitNetwork(); bool InitNetwork();
void UpdateNetwork(); void UpdateNetwork();

@ -29,6 +29,7 @@
#include <cmath> #include <cmath>
#include <circle/sysconfig.h> #include <circle/sysconfig.h>
#include <assert.h> #include <assert.h>
#include <cstddef>
using namespace std; using namespace std;
LOGMODULE ("uimenu"); LOGMODULE ("uimenu");
@ -63,6 +64,7 @@ const CUIMenu::TMenuItem CUIMenu::s_MainMenu[] =
#endif #endif
#endif #endif
{"Effects", MenuHandler, s_EffectsMenu}, {"Effects", MenuHandler, s_EffectsMenu},
{"Master Volume", EditMasterVolume, 0, 0},
{"Performance", MenuHandler, s_PerformanceMenu}, {"Performance", MenuHandler, s_PerformanceMenu},
{0} {0}
}; };
@ -2016,3 +2018,29 @@ void CUIMenu::EditTGParameterModulation (CUIMenu *pUIMenu, TMenuEvent Event)
nValue > rParam.Minimum, nValue < rParam.Maximum); nValue > rParam.Minimum, nValue < rParam.Maximum);
} }
void CUIMenu::EditMasterVolume(CUIMenu *pUIMenu, TMenuEvent Event)
{
TParameter rParam = {0, 127, 8, ToVolume};
int nValue = pUIMenu->m_pMiniDexed->GetMasterVolume127();
switch (Event)
{
case MenuEventUpdate:
case MenuEventUpdateParameter:
break;
case MenuEventStepDown:
nValue -= rParam.Increment;
if (nValue < rParam.Minimum) nValue = rParam.Minimum;
pUIMenu->m_pMiniDexed->setMasterVolume(nValue / 127.0f);
break;
case MenuEventStepUp:
nValue += rParam.Increment;
if (nValue > rParam.Maximum) nValue = rParam.Maximum;
pUIMenu->m_pMiniDexed->setMasterVolume(nValue / 127.0f);
break;
default:
return;
}
std::string valueStr = ToVolume(pUIMenu->m_pMiniDexed->GetMasterVolume127());
pUIMenu->m_pUI->DisplayWrite("Master Volume", "", valueStr.c_str(), nValue > rParam.Minimum, nValue < rParam.Maximum);
}

@ -96,6 +96,7 @@ private:
static void PerformanceMenu (CUIMenu *pUIMenu, TMenuEvent Event); static void PerformanceMenu (CUIMenu *pUIMenu, TMenuEvent Event);
static void SavePerformanceNewFile (CUIMenu *pUIMenu, TMenuEvent Event); static void SavePerformanceNewFile (CUIMenu *pUIMenu, TMenuEvent Event);
static void EditPerformanceBankNumber (CUIMenu *pUIMenu, TMenuEvent Event); static void EditPerformanceBankNumber (CUIMenu *pUIMenu, TMenuEvent Event);
static void EditMasterVolume (CUIMenu *pUIMenu, TMenuEvent Event);
static std::string GetGlobalValueString (unsigned nParameter, int nValue); static std::string GetGlobalValueString (unsigned nParameter, int nValue);
static std::string GetTGValueString (unsigned nTGParameter, int nValue); static std::string GetTGValueString (unsigned nTGParameter, int nValue);

Loading…
Cancel
Save