From 7ad7dcc2da77112ce9018218312c6b69de55cea5 Mon Sep 17 00:00:00 2001 From: probonopd Date: Wed, 20 Apr 2022 16:43:52 +0000 Subject: [PATCH 1/2] Support more MIDI CCs Closes https://github.com/probonopd/MiniDexed/issues/121 --- src/mididevice.cpp | 29 +++++++++++++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) diff --git a/src/mididevice.cpp b/src/mididevice.cpp index 33032acf..e304c263 100644 --- a/src/mididevice.cpp +++ b/src/mididevice.cpp @@ -31,10 +31,15 @@ #define MIDI_AFTERTOUCH 0b1010 // TODO #define MIDI_CONTROL_CHANGE 0b1011 #define MIDI_CC_BANK_SELECT_MSB 0 // TODO - #define MIDI_CC_MODULATION 1 - #define MIDI_CC_VOLUME 7 + #define MIDI_CC_MODULATION 1 + #define MIDI_CC_VOLUME 7 + #define MIDI_CC_PAN_POSITION 10 #define MIDI_CC_BANK_SELECT_LSB 32 #define MIDI_CC_BANK_SUSTAIN 64 + #define MIDI_CC_RESONANCE 71 + #define MIDI_CC_FREQUENCY_CUTOFF 74 + #define MIDI_CC_REVERB_LEVEL 91 + #define MIDI_CC_DETUNE_LEVEL 94 #define MIDI_PROGRAM_CHANGE 0b1100 #define MIDI_PITCH_BEND 0b1110 @@ -162,6 +167,10 @@ void CMIDIDevice::MIDIMessageHandler (const u8 *pMessage, size_t nLength, unsign m_pSynthesizer->SetVolume (pMessage[2], nTG); break; + case MIDI_CC_PAN_POSITION: + m_pSynthesizer->SetPan (pMessage[2], nTG); + break; + case MIDI_CC_BANK_SELECT_LSB: m_pSynthesizer->BankSelectLSB (pMessage[2], nTG); break; @@ -169,6 +178,22 @@ void CMIDIDevice::MIDIMessageHandler (const u8 *pMessage, size_t nLength, unsign case MIDI_CC_BANK_SUSTAIN: m_pSynthesizer->setSustain (pMessage[2] >= 64, nTG); break; + + case MIDI_CC_RESONANCE: + m_pSynthesizer->SetResonance (pMessage[2], nTG); + break; + + case MIDI_CC_FREQUENCY_CUTOFF: + m_pSynthesizer->SetCutoff (pMessage[2], nTG); + break; +/* + case MIDI_CC_REVERB_LEVEL: + m_pSynthesizer->SetReverbLevel (pMessage[2]); + break; +*/ + case MIDI_CC_DETUNE_LEVEL: + m_pSynthesizer->SetMasterTune (pMessage[2], nTG); + break; } break; From 536b223b68cdcd0f806ec58723bd96de08333bd5 Mon Sep 17 00:00:00 2001 From: probonopd Date: Wed, 20 Apr 2022 20:24:32 +0200 Subject: [PATCH 2/2] SetReverbSend --- src/mididevice.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/mididevice.cpp b/src/mididevice.cpp index e304c263..888c59df 100644 --- a/src/mididevice.cpp +++ b/src/mididevice.cpp @@ -186,11 +186,11 @@ void CMIDIDevice::MIDIMessageHandler (const u8 *pMessage, size_t nLength, unsign case MIDI_CC_FREQUENCY_CUTOFF: m_pSynthesizer->SetCutoff (pMessage[2], nTG); break; -/* + case MIDI_CC_REVERB_LEVEL: - m_pSynthesizer->SetReverbLevel (pMessage[2]); + m_pSynthesizer->SetReverbSend (pMessage[2], nTG); break; -*/ + case MIDI_CC_DETUNE_LEVEL: m_pSynthesizer->SetMasterTune (pMessage[2], nTG); break;