Enable/disable operators

by calling m_pSynthesizer->setOPMask
pull/896/head
probonopd 2 weeks ago
parent 83ea7ee551
commit 9d7caff14f
  1. 22
      src/mididevice.cpp

@ -718,14 +718,20 @@ void CMIDIDevice::HandleSystemExclusive(const uint8_t* pMessage, const size_t nL
default: default:
if(sysex_return >= 300 && sysex_return < 500) if(sysex_return >= 300 && sysex_return < 500)
{ {
LOGDBG("SysEx voice parameter change: Parameter %d value: %d",pMessage[4] + ((pMessage[3] & 0x03) * 128), pMessage[5]); uint8_t param = pMessage[4] + ((pMessage[3] & 0x03) * 128);
m_pSynthesizer->setVoiceDataElement(pMessage[4] + ((pMessage[3] & 0x03) * 128), pMessage[5],nTG); if(param == 155) {
switch(pMessage[4] + ((pMessage[3] & 0x03) * 128)) LOGDBG("Operators enabled: %d%d%d%d%d%d", (pMessage[5] & 0x20) ? 1 : 0, (pMessage[5] & 0x10) ? 1 : 0, (pMessage[5] & 0x08) ? 1 : 0, (pMessage[5] & 0x04) ? 1 : 0, (pMessage[5] & 0x02) ? 1 : 0, (pMessage[5] & 0x01) ? 1 : 0);
{ m_pSynthesizer->setOPMask(pMessage[5], nTG);
case 134: } else {
m_pSynthesizer->notesOff(0,nTG); LOGDBG("SysEx voice parameter change: Parameter %d value: %d",pMessage[4] + ((pMessage[3] & 0x03) * 128), pMessage[5]);
break; m_pSynthesizer->setVoiceDataElement(pMessage[4] + ((pMessage[3] & 0x03) * 128), pMessage[5],nTG);
} switch(pMessage[4] + ((pMessage[3] & 0x03) * 128))
{
case 134:
m_pSynthesizer->notesOff(0,nTG);
break;
}
}
} }
else if(sysex_return >= 500 && sysex_return < 600) else if(sysex_return >= 500 && sysex_return < 600)
{ {

Loading…
Cancel
Save