|
|
|
@ -69,29 +69,29 @@ const CUIMenu::TMenuItem CUIMenu::s_MainMenu[] = |
|
|
|
|
|
|
|
|
|
const CUIMenu::TMenuItem CUIMenu::s_TGMenu[] = |
|
|
|
|
{ |
|
|
|
|
{"Voice", EditProgramNumber}, |
|
|
|
|
{"Voice", EditProgramNumber, 0, CMiniDexed::TGParameterProgram, "Voice"}, |
|
|
|
|
{"Bank", EditVoiceBankNumber}, |
|
|
|
|
{"Volume", EditTGParameter, 0, CMiniDexed::TGParameterVolume}, |
|
|
|
|
{"Volume", EditTGParameter, 0, CMiniDexed::TGParameterVolume, "Vol"}, |
|
|
|
|
#ifdef ARM_ALLOW_MULTI_CORE |
|
|
|
|
{"Pan", EditTGParameter, 0, CMiniDexed::TGParameterPan}, |
|
|
|
|
{"Pan", EditTGParameter, 0, CMiniDexed::TGParameterPan, "Pan"}, |
|
|
|
|
#endif |
|
|
|
|
{"Reverb-Send", EditTGParameter, 0, CMiniDexed::TGParameterReverbSend}, |
|
|
|
|
{"Detune", EditTGParameter, 0, CMiniDexed::TGParameterMasterTune}, |
|
|
|
|
{"Cutoff", EditTGParameter, 0, CMiniDexed::TGParameterCutoff}, |
|
|
|
|
{"Resonance", EditTGParameter, 0, CMiniDexed::TGParameterResonance}, |
|
|
|
|
{"Reverb-Send", EditTGParameter, 0, CMiniDexed::TGParameterReverbSend, "RevS"}, |
|
|
|
|
{"Detune", EditTGParameter, 0, CMiniDexed::TGParameterMasterTune, "DeT"}, |
|
|
|
|
{"Cutoff", EditTGParameter, 0, CMiniDexed::TGParameterCutoff, "Cut"}, |
|
|
|
|
{"Resonance", EditTGParameter, 0, CMiniDexed::TGParameterResonance, "Res"}, |
|
|
|
|
{"Pitch Bend", MenuHandler, s_EditPitchBendMenu}, |
|
|
|
|
{"Portamento", MenuHandler, s_EditPortamentoMenu}, |
|
|
|
|
{"Poly/Mono", EditTGParameter, 0, CMiniDexed::TGParameterMonoMode},
|
|
|
|
|
{"Poly/Mono", EditTGParameter, 0, CMiniDexed::TGParameterMonoMode, "P/M"}, |
|
|
|
|
{"Enabled", EditTGParameter, 0, CMiniDexed::TGParameterEnabled}, |
|
|
|
|
{"Modulation", MenuHandler, s_ModulationMenu}, |
|
|
|
|
{"Channel", EditTGParameter, 0, CMiniDexed::TGParameterMIDIChannel}, |
|
|
|
|
{"Channel", EditTGParameter, 0, CMiniDexed::TGParameterMIDIChannel, "Chan"}, |
|
|
|
|
{"Edit Voice", MenuHandler, s_EditVoiceMenu}, |
|
|
|
|
{0} |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
const CUIMenu::TMenuItem CUIMenu::s_EffectsMenu[] = |
|
|
|
|
{ |
|
|
|
|
{"Compress", EditGlobalParameter, 0, CMiniDexed::ParameterCompressorEnable}, |
|
|
|
|
{"Compress", EditGlobalParameter, 0, CMiniDexed::ParameterCompressorEnable, "CrEn"}, |
|
|
|
|
#ifdef ARM_ALLOW_MULTI_CORE |
|
|
|
|
{"Reverb", MenuHandler, s_ReverbMenu}, |
|
|
|
|
#endif |
|
|
|
@ -100,25 +100,25 @@ const CUIMenu::TMenuItem CUIMenu::s_EffectsMenu[] = |
|
|
|
|
|
|
|
|
|
const CUIMenu::TMenuItem CUIMenu::s_EditPitchBendMenu[] = |
|
|
|
|
{ |
|
|
|
|
{"Bend Range", EditTGParameter2, 0, CMiniDexed::TGParameterPitchBendRange}, |
|
|
|
|
{"Bend Step", EditTGParameter2, 0, CMiniDexed::TGParameterPitchBendStep}, |
|
|
|
|
{"Bend Range", EditTGParameter2, 0, CMiniDexed::TGParameterPitchBendRange, "PiBR"}, |
|
|
|
|
{"Bend Step", EditTGParameter2, 0, CMiniDexed::TGParameterPitchBendStep, "PiBS"}, |
|
|
|
|
{0} |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
const CUIMenu::TMenuItem CUIMenu::s_EditPortamentoMenu[] = |
|
|
|
|
{ |
|
|
|
|
{"Mode", EditTGParameter2, 0, CMiniDexed::TGParameterPortamentoMode}, |
|
|
|
|
{"Glissando", EditTGParameter2, 0, CMiniDexed::TGParameterPortamentoGlissando}, |
|
|
|
|
{"Time", EditTGParameter2, 0, CMiniDexed::TGParameterPortamentoTime}, |
|
|
|
|
{"Mode", EditTGParameter2, 0, CMiniDexed::TGParameterPortamentoMode, "PorM"}, |
|
|
|
|
{"Glissando", EditTGParameter2, 0, CMiniDexed::TGParameterPortamentoGlissando, "PorG"}, |
|
|
|
|
{"Time", EditTGParameter2, 0, CMiniDexed::TGParameterPortamentoTime, "PorT"}, |
|
|
|
|
{0} |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
const CUIMenu::TMenuItem CUIMenu::s_ModulationMenu[] = |
|
|
|
|
{ |
|
|
|
|
{"Mod. Wheel", MenuHandler, s_ModulationMenuParameters, CMiniDexed::TGParameterMWRange}, |
|
|
|
|
{"Foot Control", MenuHandler, s_ModulationMenuParameters, CMiniDexed::TGParameterFCRange}, |
|
|
|
|
{"Breath Control", MenuHandler, s_ModulationMenuParameters, CMiniDexed::TGParameterBCRange}, |
|
|
|
|
{"Aftertouch", MenuHandler, s_ModulationMenuParameters, CMiniDexed::TGParameterATRange}, |
|
|
|
|
{"Mod. Wheel", MenuHandler, s_ModulationMenuParameters, CMiniDexed::TGParameterMWRange, "MWRa"}, |
|
|
|
|
{"Foot Control", MenuHandler, s_ModulationMenuParameters, CMiniDexed::TGParameterFCRange, "FCRa"}, |
|
|
|
|
{"Breath Control", MenuHandler, s_ModulationMenuParameters, CMiniDexed::TGParameterBCRange, "BCRa"}, |
|
|
|
|
{"Aftertouch", MenuHandler, s_ModulationMenuParameters, CMiniDexed::TGParameterATRange, "ATRa"}, |
|
|
|
|
{0} |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
@ -135,13 +135,13 @@ const CUIMenu::TMenuItem CUIMenu::s_ModulationMenuParameters[] = |
|
|
|
|
|
|
|
|
|
const CUIMenu::TMenuItem CUIMenu::s_ReverbMenu[] = |
|
|
|
|
{ |
|
|
|
|
{"Enable", EditGlobalParameter, 0, CMiniDexed::ParameterReverbEnable}, |
|
|
|
|
{"Size", EditGlobalParameter, 0, CMiniDexed::ParameterReverbSize}, |
|
|
|
|
{"High damp", EditGlobalParameter, 0, CMiniDexed::ParameterReverbHighDamp}, |
|
|
|
|
{"Low damp", EditGlobalParameter, 0, CMiniDexed::ParameterReverbLowDamp}, |
|
|
|
|
{"Low pass", EditGlobalParameter, 0, CMiniDexed::ParameterReverbLowPass}, |
|
|
|
|
{"Diffusion", EditGlobalParameter, 0, CMiniDexed::ParameterReverbDiffusion}, |
|
|
|
|
{"Level", EditGlobalParameter, 0, CMiniDexed::ParameterReverbLevel}, |
|
|
|
|
{"Enable", EditGlobalParameter, 0, CMiniDexed::ParameterReverbEnable, "RvEn"}, |
|
|
|
|
{"Size", EditGlobalParameter, 0, CMiniDexed::ParameterReverbSize, "RvS"}, |
|
|
|
|
{"High damp", EditGlobalParameter, 0, CMiniDexed::ParameterReverbHighDamp, "RvHD"}, |
|
|
|
|
{"Low damp", EditGlobalParameter, 0, CMiniDexed::ParameterReverbLowDamp, "RvLD"}, |
|
|
|
|
{"Low pass", EditGlobalParameter, 0, CMiniDexed::ParameterReverbLowPass, "RvLP"}, |
|
|
|
|
{"Diffusion", EditGlobalParameter, 0, CMiniDexed::ParameterReverbDiffusion, "RvDi"}, |
|
|
|
|
{"Level", EditGlobalParameter, 0, CMiniDexed::ParameterReverbLevel, "RvLv"}, |
|
|
|
|
{0} |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
@ -156,53 +156,53 @@ const CUIMenu::TMenuItem CUIMenu::s_EditVoiceMenu[] = |
|
|
|
|
{"OP4", MenuHandler, s_OperatorMenu, 3}, |
|
|
|
|
{"OP5", MenuHandler, s_OperatorMenu, 4}, |
|
|
|
|
{"OP6", MenuHandler, s_OperatorMenu, 5}, |
|
|
|
|
{"Algorithm", EditVoiceParameter, 0, DEXED_ALGORITHM}, |
|
|
|
|
{"Feedback", EditVoiceParameter, 0, DEXED_FEEDBACK}, |
|
|
|
|
{"P EG Rate 1", EditVoiceParameter, 0, DEXED_PITCH_EG_R1}, |
|
|
|
|
{"P EG Rate 2", EditVoiceParameter, 0, DEXED_PITCH_EG_R2}, |
|
|
|
|
{"P EG Rate 3", EditVoiceParameter, 0, DEXED_PITCH_EG_R3}, |
|
|
|
|
{"P EG Rate 4", EditVoiceParameter, 0, DEXED_PITCH_EG_R4}, |
|
|
|
|
{"P EG Level 1",EditVoiceParameter, 0, DEXED_PITCH_EG_L1}, |
|
|
|
|
{"P EG Level 2",EditVoiceParameter, 0, DEXED_PITCH_EG_L2}, |
|
|
|
|
{"P EG Level 3",EditVoiceParameter, 0, DEXED_PITCH_EG_L3}, |
|
|
|
|
{"P EG Level 4",EditVoiceParameter, 0, DEXED_PITCH_EG_L4}, |
|
|
|
|
{"Osc Key Sync",EditVoiceParameter, 0, DEXED_OSC_KEY_SYNC}, |
|
|
|
|
{"LFO Speed", EditVoiceParameter, 0, DEXED_LFO_SPEED}, |
|
|
|
|
{"LFO Delay", EditVoiceParameter, 0, DEXED_LFO_DELAY}, |
|
|
|
|
{"LFO PMD", EditVoiceParameter, 0, DEXED_LFO_PITCH_MOD_DEP}, |
|
|
|
|
{"LFO AMD", EditVoiceParameter, 0, DEXED_LFO_AMP_MOD_DEP}, |
|
|
|
|
{"LFO Sync", EditVoiceParameter, 0, DEXED_LFO_SYNC}, |
|
|
|
|
{"LFO Wave", EditVoiceParameter, 0, DEXED_LFO_WAVE}, |
|
|
|
|
{"P Mod Sens.", EditVoiceParameter, 0, DEXED_LFO_PITCH_MOD_SENS}, |
|
|
|
|
{"Transpose", EditVoiceParameter, 0, DEXED_TRANSPOSE}, |
|
|
|
|
{"Algorithm", EditVoiceParameter, 0, DEXED_ALGORITHM, "Alg"}, |
|
|
|
|
{"Feedback", EditVoiceParameter, 0, DEXED_FEEDBACK, "FB"}, |
|
|
|
|
{"P EG Rate 1", EditVoiceParameter, 0, DEXED_PITCH_EG_R1, "PR1"}, |
|
|
|
|
{"P EG Rate 2", EditVoiceParameter, 0, DEXED_PITCH_EG_R2, "PR2"}, |
|
|
|
|
{"P EG Rate 3", EditVoiceParameter, 0, DEXED_PITCH_EG_R3, "PR3"}, |
|
|
|
|
{"P EG Rate 4", EditVoiceParameter, 0, DEXED_PITCH_EG_R4, "PR4"}, |
|
|
|
|
{"P EG Level 1",EditVoiceParameter, 0, DEXED_PITCH_EG_L1, "PL1"}, |
|
|
|
|
{"P EG Level 2",EditVoiceParameter, 0, DEXED_PITCH_EG_L2, "PL2"}, |
|
|
|
|
{"P EG Level 3",EditVoiceParameter, 0, DEXED_PITCH_EG_L3, "PL3"}, |
|
|
|
|
{"P EG Level 4",EditVoiceParameter, 0, DEXED_PITCH_EG_L4, "PL4"}, |
|
|
|
|
{"Osc Key Sync",EditVoiceParameter, 0, DEXED_OSC_KEY_SYNC, "OKS"}, |
|
|
|
|
{"LFO Speed", EditVoiceParameter, 0, DEXED_LFO_SPEED, "LSP"}, |
|
|
|
|
{"LFO Delay", EditVoiceParameter, 0, DEXED_LFO_DELAY, "LDE"}, |
|
|
|
|
{"LFO PMD", EditVoiceParameter, 0, DEXED_LFO_PITCH_MOD_DEP, "LPMD"}, |
|
|
|
|
{"LFO AMD", EditVoiceParameter, 0, DEXED_LFO_AMP_MOD_DEP, "LAMD"}, |
|
|
|
|
{"LFO Sync", EditVoiceParameter, 0, DEXED_LFO_SYNC, "LSYN"}, |
|
|
|
|
{"LFO Wave", EditVoiceParameter, 0, DEXED_LFO_WAVE, "LWAV"}, |
|
|
|
|
{"P Mod Sens.", EditVoiceParameter, 0, DEXED_LFO_PITCH_MOD_SENS, "LPMS"}, |
|
|
|
|
{"Transpose", EditVoiceParameter, 0, DEXED_TRANSPOSE, "TRP"}, |
|
|
|
|
{"Name", InputTxt,0 , 3},
|
|
|
|
|
{0} |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
const CUIMenu::TMenuItem CUIMenu::s_OperatorMenu[] = |
|
|
|
|
{ |
|
|
|
|
{"Output Level",EditOPParameter, 0, DEXED_OP_OUTPUT_LEV}, |
|
|
|
|
{"Freq Coarse", EditOPParameter, 0, DEXED_OP_FREQ_COARSE}, |
|
|
|
|
{"Freq Fine", EditOPParameter, 0, DEXED_OP_FREQ_FINE}, |
|
|
|
|
{"Osc Detune", EditOPParameter, 0, DEXED_OP_OSC_DETUNE}, |
|
|
|
|
{"Osc Mode", EditOPParameter, 0, DEXED_OP_OSC_MODE}, |
|
|
|
|
{"EG Rate 1", EditOPParameter, 0, DEXED_OP_EG_R1}, |
|
|
|
|
{"EG Rate 2", EditOPParameter, 0, DEXED_OP_EG_R2}, |
|
|
|
|
{"EG Rate 3", EditOPParameter, 0, DEXED_OP_EG_R3}, |
|
|
|
|
{"EG Rate 4", EditOPParameter, 0, DEXED_OP_EG_R4}, |
|
|
|
|
{"EG Level 1", EditOPParameter, 0, DEXED_OP_EG_L1}, |
|
|
|
|
{"EG Level 2", EditOPParameter, 0, DEXED_OP_EG_L2}, |
|
|
|
|
{"EG Level 3", EditOPParameter, 0, DEXED_OP_EG_L3}, |
|
|
|
|
{"EG Level 4", EditOPParameter, 0, DEXED_OP_EG_L4}, |
|
|
|
|
{"Break Point", EditOPParameter, 0, DEXED_OP_LEV_SCL_BRK_PT}, |
|
|
|
|
{"L Key Depth", EditOPParameter, 0, DEXED_OP_SCL_LEFT_DEPTH}, |
|
|
|
|
{"R Key Depth", EditOPParameter, 0, DEXED_OP_SCL_RGHT_DEPTH}, |
|
|
|
|
{"L Key Scale", EditOPParameter, 0, DEXED_OP_SCL_LEFT_CURVE}, |
|
|
|
|
{"R Key Scale", EditOPParameter, 0, DEXED_OP_SCL_RGHT_CURVE}, |
|
|
|
|
{"Rate Scaling",EditOPParameter, 0, DEXED_OP_OSC_RATE_SCALE}, |
|
|
|
|
{"A Mod Sens.", EditOPParameter, 0, DEXED_OP_AMP_MOD_SENS}, |
|
|
|
|
{"K Vel. Sens.",EditOPParameter, 0, DEXED_OP_KEY_VEL_SENS}, |
|
|
|
|
{"Enable", EditOPParameter, 0, DEXED_OP_ENABLE}, |
|
|
|
|
{"Output Level",EditOPParameter, 0, DEXED_OP_OUTPUT_LEV, "OutL"}, |
|
|
|
|
{"Freq Coarse", EditOPParameter, 0, DEXED_OP_FREQ_COARSE, "FrC"}, |
|
|
|
|
{"Freq Fine", EditOPParameter, 0, DEXED_OP_FREQ_FINE, "FrF"}, |
|
|
|
|
{"Osc Detune", EditOPParameter, 0, DEXED_OP_OSC_DETUNE, "OsDT"}, |
|
|
|
|
{"Osc Mode", EditOPParameter, 0, DEXED_OP_OSC_MODE, "OsM"}, |
|
|
|
|
{"EG Rate 1", EditOPParameter, 0, DEXED_OP_EG_R1, "R1"}, |
|
|
|
|
{"EG Rate 2", EditOPParameter, 0, DEXED_OP_EG_R2, "R2"}, |
|
|
|
|
{"EG Rate 3", EditOPParameter, 0, DEXED_OP_EG_R3, "R3"}, |
|
|
|
|
{"EG Rate 4", EditOPParameter, 0, DEXED_OP_EG_R4, "R4"}, |
|
|
|
|
{"EG Level 1", EditOPParameter, 0, DEXED_OP_EG_L1, "L1"}, |
|
|
|
|
{"EG Level 2", EditOPParameter, 0, DEXED_OP_EG_L2, "L2"}, |
|
|
|
|
{"EG Level 3", EditOPParameter, 0, DEXED_OP_EG_L3, "L3"}, |
|
|
|
|
{"EG Level 4", EditOPParameter, 0, DEXED_OP_EG_L4, "L4"}, |
|
|
|
|
{"Break Point", EditOPParameter, 0, DEXED_OP_LEV_SCL_BRK_PT, "BP"}, |
|
|
|
|
{"L Key Depth", EditOPParameter, 0, DEXED_OP_SCL_LEFT_DEPTH, "LDep"}, |
|
|
|
|
{"R Key Depth", EditOPParameter, 0, DEXED_OP_SCL_RGHT_DEPTH, "RDep"}, |
|
|
|
|
{"L Key Scale", EditOPParameter, 0, DEXED_OP_SCL_LEFT_CURVE, "LSca"}, |
|
|
|
|
{"R Key Scale", EditOPParameter, 0, DEXED_OP_SCL_RGHT_CURVE, "RSca"}, |
|
|
|
|
{"Rate Scaling",EditOPParameter, 0, DEXED_OP_OSC_RATE_SCALE, "RS"}, |
|
|
|
|
{"A Mod Sens.", EditOPParameter, 0, DEXED_OP_AMP_MOD_SENS, "AMS"}, |
|
|
|
|
{"K Vel. Sens.",EditOPParameter, 0, DEXED_OP_KEY_VEL_SENS, "KVS"}, |
|
|
|
|
{"Enable", EditOPParameter, 0, DEXED_OP_ENABLE, "OPEn"}, |
|
|
|
|
{0} |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
@ -345,6 +345,73 @@ const CUIMenu::TMenuItem CUIMenu::s_PerformanceMenu[] = |
|
|
|
|
{0} |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
const void CUIMenu::GetParameterInfo (CUIMenu::TCParameterInfo *pParam) |
|
|
|
|
{ |
|
|
|
|
static const CUIMenu::TMenuItem *globalSources[] = { |
|
|
|
|
s_EffectsMenu, |
|
|
|
|
#ifdef ARM_ALLOW_MULTI_CORE |
|
|
|
|
s_ReverbMenu, |
|
|
|
|
#endif |
|
|
|
|
0}; |
|
|
|
|
static const CUIMenu::TMenuItem *tgSources[] = {s_TGMenu, s_EditPortamentoMenu, s_EditPitchBendMenu, s_ModulationMenu, 0}; |
|
|
|
|
static const CUIMenu::TMenuItem *voiceSources[] = {s_EditVoiceMenu + 6, 0}; // skip Operators
|
|
|
|
|
static const CUIMenu::TMenuItem *opSources[] = {s_OperatorMenu, 0}; |
|
|
|
|
const CUIMenu::TMenuItem **pSources = NULL; |
|
|
|
|
const CUIMenu::TParameter *pInfo = NULL; |
|
|
|
|
|
|
|
|
|
switch (pParam->Type) |
|
|
|
|
{ |
|
|
|
|
case ParameterGlobal: |
|
|
|
|
pSources = globalSources; |
|
|
|
|
pInfo = s_GlobalParameter; |
|
|
|
|
break; |
|
|
|
|
case ParameterTG: |
|
|
|
|
pSources = tgSources; |
|
|
|
|
pInfo = s_TGParameter; |
|
|
|
|
break; |
|
|
|
|
case ParameterVoice: |
|
|
|
|
pSources = voiceSources; |
|
|
|
|
pInfo = s_VoiceParameter; |
|
|
|
|
break; |
|
|
|
|
case ParameterOP: |
|
|
|
|
pSources = opSources; |
|
|
|
|
pInfo = s_OPParameter; |
|
|
|
|
break; |
|
|
|
|
default: |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
pParam->Min = pInfo[pParam->Parameter].Minimum; |
|
|
|
|
pParam->Max = pInfo[pParam->Parameter].Maximum; |
|
|
|
|
pParam->Increment = pInfo[pParam->Parameter].Increment; |
|
|
|
|
if (!pParam->ToString) |
|
|
|
|
pParam->ToString = pInfo[pParam->Parameter].ToString; |
|
|
|
|
|
|
|
|
|
// There are some parameters without entry eg TGParameterMWRange
|
|
|
|
|
// skip them
|
|
|
|
|
if (pParam->Name && pParam->Short) |
|
|
|
|
return; |
|
|
|
|
|
|
|
|
|
for (const CUIMenu::TMenuItem **source = pSources; *source; ++source) |
|
|
|
|
for (const CUIMenu::TMenuItem *m = *source; m->Name; ++m) |
|
|
|
|
if (m->Parameter == pParam->Parameter) |
|
|
|
|
{ |
|
|
|
|
if (!pParam->Name) |
|
|
|
|
pParam->Name = m->Name; |
|
|
|
|
if (!pParam->Short) |
|
|
|
|
pParam->Short = m->Short; |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
pParam->Type = ParameterNone; |
|
|
|
|
pParam->Parameter = 0; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
const void CUIMenu::GetParameterInfos (CUIMenu::TCParameterInfo pParamInfo[8]) |
|
|
|
|
{ |
|
|
|
|
for (size_t i = 0; i < 8; ++i) |
|
|
|
|
GetParameterInfo(&pParamInfo[i]); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
CUIMenu::CUIMenu (CUserInterface *pUI, CMiniDexed *pMiniDexed, CConfig *pConfig) |
|
|
|
|
: m_pUI (pUI), |
|
|
|
@ -447,6 +514,26 @@ void CUIMenu::EventHandler (TMenuEvent Event) |
|
|
|
|
(*m_pParentMenu[m_nCurrentMenuItem].Handler) (this, Event); |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
switch (Event) |
|
|
|
|
{ |
|
|
|
|
case MenuEventBack: |
|
|
|
|
case MenuEventHome: |
|
|
|
|
case MenuEventSelect: |
|
|
|
|
if (m_pCurrentMenu == s_MainMenu) |
|
|
|
|
m_pMiniDexed->UpdateDAWMenu (PageMain, 0, 0, 0); |
|
|
|
|
else if (m_pCurrentMenu == s_EffectsMenu) |
|
|
|
|
m_pMiniDexed->UpdateDAWMenu (PageEffect, 0, 0, 0); |
|
|
|
|
else if (m_pCurrentMenu == s_TGMenu) |
|
|
|
|
m_pMiniDexed->UpdateDAWMenu (PageTG, 0, 0, m_nCurrentParameter + 1); |
|
|
|
|
else if (m_pCurrentMenu == s_EditVoiceMenu) |
|
|
|
|
m_pMiniDexed->UpdateDAWMenu (PageVoice, 0, 0, m_nMenuStackParameter[m_nCurrentMenuDepth - 1] + 1); |
|
|
|
|
else if (m_pCurrentMenu == s_OperatorMenu) |
|
|
|
|
m_pMiniDexed->UpdateDAWMenu (PageOP, 0, m_nCurrentParameter, m_nMenuStackParameter[m_nCurrentMenuDepth - 2] + 1); |
|
|
|
|
break; |
|
|
|
|
default: |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void CUIMenu::MenuHandler (CUIMenu *pUIMenu, TMenuEvent Event) |
|
|
|
@ -542,7 +629,7 @@ void CUIMenu::MenuHandler (CUIMenu *pUIMenu, TMenuEvent Event) |
|
|
|
|
if (pUIMenu->m_pCurrentMenu) // if this is another menu?
|
|
|
|
|
{ |
|
|
|
|
bool bIsMainMenu = pUIMenu->m_pCurrentMenu == s_MainMenu; |
|
|
|
|
pUIMenu->m_pUI->DisplayWrite ( |
|
|
|
|
pUIMenu->m_pMiniDexed->DisplayWrite ( |
|
|
|
|
pUIMenu->m_pParentMenu[pUIMenu->m_nCurrentMenuItem].Name, |
|
|
|
|
"", |
|
|
|
|
pUIMenu->m_pCurrentMenu[pUIMenu->m_nCurrentSelection].Name, |
|
|
|
@ -595,7 +682,7 @@ void CUIMenu::EditGlobalParameter (CUIMenu *pUIMenu, TMenuEvent Event) |
|
|
|
|
|
|
|
|
|
string Value = GetGlobalValueString (Param, pUIMenu->m_pMiniDexed->GetParameter (Param)); |
|
|
|
|
|
|
|
|
|
pUIMenu->m_pUI->DisplayWrite (pMenuName, |
|
|
|
|
pUIMenu->m_pMiniDexed->DisplayWrite (pMenuName, |
|
|
|
|
pUIMenu->m_pParentMenu[pUIMenu->m_nCurrentMenuItem].Name, |
|
|
|
|
Value.c_str (), |
|
|
|
|
nValue > rParam.Minimum, nValue < rParam.Maximum); |
|
|
|
@ -639,7 +726,7 @@ void CUIMenu::EditVoiceBankNumber (CUIMenu *pUIMenu, TMenuEvent Event) |
|
|
|
|
string Value = to_string (nValue+1) + "=" |
|
|
|
|
+ pUIMenu->m_pMiniDexed->GetSysExFileLoader ()->GetBankName (nValue); |
|
|
|
|
|
|
|
|
|
pUIMenu->m_pUI->DisplayWrite (TG.c_str (), |
|
|
|
|
pUIMenu->m_pMiniDexed->DisplayWrite (TG.c_str (), |
|
|
|
|
pUIMenu->m_pParentMenu[pUIMenu->m_nCurrentMenuItem].Name, |
|
|
|
|
Value.c_str (), |
|
|
|
|
nValue > 0, nValue < (int) CSysExFileLoader::MaxVoiceBankID); |
|
|
|
@ -709,7 +796,7 @@ void CUIMenu::EditProgramNumber (CUIMenu *pUIMenu, TMenuEvent Event) |
|
|
|
|
|
|
|
|
|
string Value = to_string (nValue+1) + "=" + pUIMenu->m_pMiniDexed->GetVoiceName (nTG); |
|
|
|
|
|
|
|
|
|
pUIMenu->m_pUI->DisplayWrite (TG.c_str (), |
|
|
|
|
pUIMenu->m_pMiniDexed->DisplayWrite (TG.c_str (), |
|
|
|
|
pUIMenu->m_pParentMenu[pUIMenu->m_nCurrentMenuItem].Name, |
|
|
|
|
Value.c_str (), |
|
|
|
|
nValue > 0, nValue < (int) CSysExFileLoader::VoicesPerBank-1); |
|
|
|
@ -762,7 +849,7 @@ void CUIMenu::EditTGParameter (CUIMenu *pUIMenu, TMenuEvent Event) |
|
|
|
|
|
|
|
|
|
string Value = GetTGValueString (Param, pUIMenu->m_pMiniDexed->GetTGParameter (Param, nTG)); |
|
|
|
|
|
|
|
|
|
pUIMenu->m_pUI->DisplayWrite (TG.c_str (), |
|
|
|
|
pUIMenu->m_pMiniDexed->DisplayWrite (TG.c_str (), |
|
|
|
|
pUIMenu->m_pParentMenu[pUIMenu->m_nCurrentMenuItem].Name, |
|
|
|
|
Value.c_str (), |
|
|
|
|
nValue > rParam.Minimum, nValue < rParam.Maximum); |
|
|
|
@ -815,7 +902,7 @@ void CUIMenu::EditTGParameter2 (CUIMenu *pUIMenu, TMenuEvent Event) // second me |
|
|
|
|
|
|
|
|
|
string Value = GetTGValueString (Param, pUIMenu->m_pMiniDexed->GetTGParameter (Param, nTG)); |
|
|
|
|
|
|
|
|
|
pUIMenu->m_pUI->DisplayWrite (TG.c_str (), |
|
|
|
|
pUIMenu->m_pMiniDexed->DisplayWrite (TG.c_str (), |
|
|
|
|
pUIMenu->m_pParentMenu[pUIMenu->m_nCurrentMenuItem].Name, |
|
|
|
|
Value.c_str (), |
|
|
|
|
nValue > rParam.Minimum, nValue < rParam.Maximum); |
|
|
|
@ -868,7 +955,7 @@ void CUIMenu::EditVoiceParameter (CUIMenu *pUIMenu, TMenuEvent Event) |
|
|
|
|
|
|
|
|
|
string Value = GetVoiceValueString (nParam, nValue); |
|
|
|
|
|
|
|
|
|
pUIMenu->m_pUI->DisplayWrite (TG.c_str (), |
|
|
|
|
pUIMenu->m_pMiniDexed->DisplayWrite (TG.c_str (), |
|
|
|
|
pUIMenu->m_pParentMenu[pUIMenu->m_nCurrentMenuItem].Name, |
|
|
|
|
Value.c_str (), |
|
|
|
|
nValue > rParam.Minimum, nValue < rParam.Maximum); |
|
|
|
@ -971,7 +1058,7 @@ void CUIMenu::EditOPParameter (CUIMenu *pUIMenu, TMenuEvent Event) |
|
|
|
|
Value = GetOPValueString (nParam, nValue); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
pUIMenu->m_pUI->DisplayWrite (OP.c_str (), |
|
|
|
|
pUIMenu->m_pMiniDexed->DisplayWrite (OP.c_str (), |
|
|
|
|
pUIMenu->m_pParentMenu[pUIMenu->m_nCurrentMenuItem].Name, |
|
|
|
|
Value.c_str (), |
|
|
|
|
nValue > rParam.Minimum, nValue < rParam.Maximum); |
|
|
|
@ -990,7 +1077,7 @@ void CUIMenu::SavePerformance (CUIMenu *pUIMenu, TMenuEvent Event) |
|
|
|
|
pUIMenu->m_MenuStackParent[pUIMenu->m_nCurrentMenuDepth-1] |
|
|
|
|
[pUIMenu->m_nMenuStackItem[pUIMenu->m_nCurrentMenuDepth-1]].Name; |
|
|
|
|
|
|
|
|
|
pUIMenu->m_pUI->DisplayWrite (pMenuName, |
|
|
|
|
pUIMenu->m_pMiniDexed->DisplayWrite (pMenuName, |
|
|
|
|
pUIMenu->m_pParentMenu[pUIMenu->m_nCurrentMenuItem].Name, |
|
|
|
|
bOK ? "Completed" : "Error", |
|
|
|
|
false, false); |
|
|
|
@ -1653,7 +1740,7 @@ void CUIMenu::PerformanceMenu (CUIMenu *pUIMenu, TMenuEvent Event) |
|
|
|
|
{ |
|
|
|
|
pUIMenu->m_nSelectedPerformanceID = 0; |
|
|
|
|
pUIMenu->m_bConfirmDeletePerformance=false; |
|
|
|
|
pUIMenu->m_pUI->DisplayWrite ("", "Delete", pUIMenu->m_pMiniDexed->DeletePerformance(nValue) ? "Completed" : "Error", false, false); |
|
|
|
|
pUIMenu->m_pMiniDexed->DisplayWrite ("", "Delete", pUIMenu->m_pMiniDexed->DeletePerformance(nValue) ? "Completed" : "Error", false, false); |
|
|
|
|
pUIMenu->m_bSplashShow=true; |
|
|
|
|
CTimer::Get ()->StartKernelTimer (MSEC2HZ (1500), TimerHandlerNoBack, 0, pUIMenu); |
|
|
|
|
return; |
|
|
|
@ -1686,13 +1773,13 @@ void CUIMenu::PerformanceMenu (CUIMenu *pUIMenu, TMenuEvent Event) |
|
|
|
|
nPSelected += " [L]"; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
pUIMenu->m_pUI->DisplayWrite (pUIMenu->m_pParentMenu[pUIMenu->m_nCurrentMenuItem].Name, nPSelected.c_str(), |
|
|
|
|
pUIMenu->m_pMiniDexed->DisplayWrite (pUIMenu->m_pParentMenu[pUIMenu->m_nCurrentMenuItem].Name, nPSelected.c_str(), |
|
|
|
|
Value.c_str (), true, true); |
|
|
|
|
// (int) nValue > 0, (int) nValue < (int) pUIMenu->m_pMiniDexed->GetLastPerformance());
|
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
{ |
|
|
|
|
pUIMenu->m_pUI->DisplayWrite ("", "Delete?", pUIMenu->m_bConfirmDeletePerformance ? "Yes" : "No", false, false); |
|
|
|
|
pUIMenu->m_pMiniDexed->DisplayWrite ("", "Delete?", pUIMenu->m_bConfirmDeletePerformance ? "Yes" : "No", false, false); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -1774,7 +1861,7 @@ void CUIMenu::EditPerformanceBankNumber (CUIMenu *pUIMenu, TMenuEvent Event) |
|
|
|
|
nPSelected += " [L]"; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
pUIMenu->m_pUI->DisplayWrite (pUIMenu->m_pParentMenu[pUIMenu->m_nCurrentMenuItem].Name, nPSelected.c_str(), |
|
|
|
|
pUIMenu->m_pMiniDexed->DisplayWrite (pUIMenu->m_pParentMenu[pUIMenu->m_nCurrentMenuItem].Name, nPSelected.c_str(), |
|
|
|
|
Value.c_str (), |
|
|
|
|
nValue > 0, |
|
|
|
|
nValue < pUIMenu->m_pMiniDexed->GetLastPerformanceBank()-1); |
|
|
|
@ -1887,7 +1974,7 @@ void CUIMenu::InputTxt (CUIMenu *pUIMenu, TMenuEvent Event) |
|
|
|
|
pUIMenu->m_pMiniDexed->SetNewPerformanceName(pUIMenu->m_InputText); |
|
|
|
|
bOK = pUIMenu->m_pMiniDexed->SavePerformanceNewFile (); |
|
|
|
|
MsgOk=bOK ? "Completed" : "Error"; |
|
|
|
|
pUIMenu->m_pUI->DisplayWrite (OkTitleR.c_str(), OkTitleL.c_str(), MsgOk.c_str(), false, false); |
|
|
|
|
pUIMenu->m_pMiniDexed->DisplayWrite (OkTitleR.c_str(), OkTitleL.c_str(), MsgOk.c_str(), false, false); |
|
|
|
|
CTimer::Get ()->StartKernelTimer (MSEC2HZ (1500), TimerHandler, 0, pUIMenu); |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
@ -1938,7 +2025,7 @@ void CUIMenu::InputTxt (CUIMenu *pUIMenu, TMenuEvent Event) |
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Value = Value + " " + escCursor ; |
|
|
|
|
pUIMenu->m_pUI->DisplayWrite (MenuTitleR.c_str(),MenuTitleL.c_str(), Value.c_str(), false, false); |
|
|
|
|
pUIMenu->m_pMiniDexed->DisplayWrite (MenuTitleR.c_str(),MenuTitleL.c_str(), Value.c_str(), false, false); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
@ -1992,7 +2079,7 @@ void CUIMenu::EditTGParameterModulation (CUIMenu *pUIMenu, TMenuEvent Event) |
|
|
|
|
|
|
|
|
|
string Value = GetTGValueString (Param, pUIMenu->m_pMiniDexed->GetTGParameter (Param, nTG)); |
|
|
|
|
|
|
|
|
|
pUIMenu->m_pUI->DisplayWrite (TG.c_str (), |
|
|
|
|
pUIMenu->m_pMiniDexed->DisplayWrite (TG.c_str (), |
|
|
|
|
pUIMenu->m_pParentMenu[pUIMenu->m_nCurrentMenuItem].Name, |
|
|
|
|
Value.c_str (), |
|
|
|
|
nValue > rParam.Minimum, nValue < rParam.Maximum); |
|
|
|
|