Add master tune parameter to UI

pull/51/head
Rene Stange 3 years ago
parent adf378d961
commit fae07ba112
  1. 14
      src/minidexed.cpp
  2. 1
      src/minidexed.h
  3. 34
      src/userinterface.cpp
  4. 3
      src/userinterface.h

@ -291,6 +291,20 @@ void CMiniDexed::SetVolume (unsigned nVolume, unsigned nTG)
m_UI.VolumeChanged (nVolume, nTG); m_UI.VolumeChanged (nVolume, nTG);
} }
void CMiniDexed::SetMasterTune (int nMasterTune, unsigned nTG)
{
if (!(-99 <= nMasterTune && nMasterTune <= 99))
{
return;
}
assert (nTG < CConfig::ToneGenerators);
assert (m_pTG[nTG]);
m_pTG[nTG]->setMasterTune ((int8_t) nMasterTune);
m_UI.MasterTuneChanged (nMasterTune, nTG);
}
void CMiniDexed::SetMIDIChannel (uint8_t uchChannel, unsigned nTG) void CMiniDexed::SetMIDIChannel (uint8_t uchChannel, unsigned nTG)
{ {
assert (nTG < CConfig::ToneGenerators); assert (nTG < CConfig::ToneGenerators);

@ -59,6 +59,7 @@ public:
void BankSelectLSB (unsigned nBankLSB, unsigned nTG); void BankSelectLSB (unsigned nBankLSB, unsigned nTG);
void ProgramChange (unsigned nProgram, unsigned nTG); void ProgramChange (unsigned nProgram, unsigned nTG);
void SetVolume (unsigned nVolume, unsigned nTG); void SetVolume (unsigned nVolume, unsigned nTG);
void SetMasterTune (int nMasterTune, unsigned nTG); // -99 .. 99
void SetMIDIChannel (uint8_t uchChannel, unsigned nTG); void SetMIDIChannel (uint8_t uchChannel, unsigned nTG);
void keyup (int16_t pitch, unsigned nTG); void keyup (int16_t pitch, unsigned nTG);

@ -44,6 +44,7 @@ CUserInterface::CUserInterface (CMiniDexed *pMiniDexed, CGPIOManager *pGPIOManag
m_nBank[nTG] = 0; m_nBank[nTG] = 0;
m_nProgram[nTG] = 0; m_nProgram[nTG] = 0;
m_nVolume[nTG] = 0; m_nVolume[nTG] = 0;
m_nMasterTune[nTG] = 0;
m_uchMIDIChannel[nTG] = CMIDIDevice::Disabled; m_uchMIDIChannel[nTG] = CMIDIDevice::Disabled;
} }
} }
@ -184,6 +185,25 @@ void CUserInterface::VolumeChanged (unsigned nVolume, unsigned nTG)
} }
} }
void CUserInterface::MasterTuneChanged (int nMasterTune, unsigned nTG)
{
assert (-99 <= nMasterTune && nMasterTune <= 99);
assert (nTG < CConfig::ToneGenerators);
m_nMasterTune[nTG] = nMasterTune;
if ( m_UIMode == UIModeMasterTune
&& m_nTG == nTG)
{
CString TG;
TG.Format ("TG%u", nTG+1);
CString String;
String.Format ("%d", nMasterTune);
DisplayWrite (TG, "MASTER TUNE", "DETUNE", (const char *) String);
}
}
void CUserInterface::MIDIChannelChanged (uint8_t uchChannel, unsigned nTG) void CUserInterface::MIDIChannelChanged (uint8_t uchChannel, unsigned nTG)
{ {
assert (nTG < CConfig::ToneGenerators); assert (nTG < CConfig::ToneGenerators);
@ -344,6 +364,20 @@ void CUserInterface::EncoderEventHandler (CKY040::TEvent Event)
m_pMiniDexed->SetVolume (nVolume, m_nTG); m_pMiniDexed->SetVolume (nVolume, m_nTG);
} break; } break;
case UIModeMasterTune: {
int nMasterTune = m_nMasterTune[m_nTG] + nStep;
if (nMasterTune < -99)
{
nMasterTune = -99;
}
else if (nMasterTune > 99)
{
nMasterTune = 99;
}
m_pMiniDexed->SetMasterTune (nMasterTune, m_nTG);
} break;
case UIModeMIDI: case UIModeMIDI:
if ((uint8_t) (m_uchMIDIChannel[m_nTG] + nStep) < CMIDIDevice::ChannelUnknown) if ((uint8_t) (m_uchMIDIChannel[m_nTG] + nStep) < CMIDIDevice::ChannelUnknown)
{ {

@ -42,6 +42,7 @@ public:
void BankSelected (unsigned nBankLSB, unsigned nTG); // 0 .. 127 void BankSelected (unsigned nBankLSB, unsigned nTG); // 0 .. 127
void ProgramChanged (unsigned nProgram, unsigned nTG); // 0 .. 127 void ProgramChanged (unsigned nProgram, unsigned nTG); // 0 .. 127
void VolumeChanged (unsigned nVolume, unsigned nTG); // 0 .. 127 void VolumeChanged (unsigned nVolume, unsigned nTG); // 0 .. 127
void MasterTuneChanged (int nMasterTune, unsigned nTG); // -99 .. 99
void MIDIChannelChanged (uint8_t uchChannel, unsigned nTG); void MIDIChannelChanged (uint8_t uchChannel, unsigned nTG);
private: private:
@ -65,6 +66,7 @@ private:
UIModeVoiceSelect = UIModeStart, UIModeVoiceSelect = UIModeStart,
UIModeBankSelect, UIModeBankSelect,
UIModeVolume, UIModeVolume,
UIModeMasterTune,
UIModeMIDI, UIModeMIDI,
UIModeUnknown UIModeUnknown
}; };
@ -85,6 +87,7 @@ private:
unsigned m_nBank[CConfig::ToneGenerators]; unsigned m_nBank[CConfig::ToneGenerators];
unsigned m_nProgram[CConfig::ToneGenerators]; unsigned m_nProgram[CConfig::ToneGenerators];
unsigned m_nVolume[CConfig::ToneGenerators]; unsigned m_nVolume[CConfig::ToneGenerators];
int m_nMasterTune[CConfig::ToneGenerators];
uint8_t m_uchMIDIChannel[CConfig::ToneGenerators]; uint8_t m_uchMIDIChannel[CConfig::ToneGenerators];
}; };

Loading…
Cancel
Save