Enable/disable operators

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

@ -718,6 +718,11 @@ 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)
{ {
uint8_t param = pMessage[4] + ((pMessage[3] & 0x03) * 128);
if(param == 155) {
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);
} else {
LOGDBG("SysEx voice parameter change: Parameter %d value: %d",pMessage[4] + ((pMessage[3] & 0x03) * 128), pMessage[5]); LOGDBG("SysEx voice parameter change: Parameter %d value: %d",pMessage[4] + ((pMessage[3] & 0x03) * 128), pMessage[5]);
m_pSynthesizer->setVoiceDataElement(pMessage[4] + ((pMessage[3] & 0x03) * 128), pMessage[5],nTG); m_pSynthesizer->setVoiceDataElement(pMessage[4] + ((pMessage[3] & 0x03) * 128), pMessage[5],nTG);
switch(pMessage[4] + ((pMessage[3] & 0x03) * 128)) switch(pMessage[4] + ((pMessage[3] & 0x03) * 128))
@ -727,6 +732,7 @@ void CMIDIDevice::HandleSystemExclusive(const uint8_t* pMessage, const size_t nL
break; break;
} }
} }
}
else if(sysex_return >= 500 && sysex_return < 600) else if(sysex_return >= 500 && sysex_return < 600)
{ {
LOGDBG("SysEx send voice %u request",sysex_return-500); LOGDBG("SysEx send voice %u request",sysex_return-500);

Loading…
Cancel
Save