Fix for bank select MSB.

pull/32/head
Holger Wirtz 5 years ago
parent 743dc51f42
commit fb9bd37352
  1. 15
      MicroDexed.ino

@ -585,11 +585,12 @@ void handleControlChange(byte inChannel, byte inCtrl, byte inValue)
#endif #endif
switch (inCtrl) { switch (inCtrl) {
case 0: case 0: // BankSelect MSB
if (inValue < MAX_BANKS - 1) #ifdef DEBUG
{ Serial.println(F("BANK-SELECT MSB CC"));
configuration.performance.bank[instance_id] = inValue; #endif
} configuration.performance.bank[instance_id] = constrain((inValue << 7)&configuration.performance.bank[instance_id], 0, MAX_BANKS - 1);
load_sd_voice(configuration.performance.bank[instance_id], configuration.performance.voice[instance_id], instance_id);
break; break;
case 1: case 1:
#ifdef DEBUG #ifdef DEBUG
@ -637,7 +638,7 @@ void handleControlChange(byte inChannel, byte inCtrl, byte inValue)
break; break;
case 32: // BankSelect LSB case 32: // BankSelect LSB
#ifdef DEBUG #ifdef DEBUG
Serial.println(F("BANK-SELECT CC")); Serial.println(F("BANK-SELECT LSB CC"));
#endif #endif
configuration.performance.bank[instance_id] = constrain(inValue, 0, MAX_BANKS - 1); configuration.performance.bank[instance_id] = constrain(inValue, 0, MAX_BANKS - 1);
load_sd_voice(configuration.performance.bank[instance_id], configuration.performance.voice[instance_id], instance_id); load_sd_voice(configuration.performance.bank[instance_id], configuration.performance.voice[instance_id], instance_id);
@ -963,7 +964,7 @@ void handleSystemExclusive(byte * sysex, uint len)
LCDML.OTHER_updateFunc(); LCDML.OTHER_updateFunc();
LCDML.loop_menu(); LCDML.loop_menu();
/* /*
// manipulate UI names and numbers // manipulate UI names and numbers
strncpy(voice_name[instance_id], (char *)&sysex[151], sizeof(voice_name[instance_id]) - 1); strncpy(voice_name[instance_id], (char *)&sysex[151], sizeof(voice_name[instance_id]) - 1);

Loading…
Cancel
Save