Some SYSEX fixes.

Small additions for UI_func_portamento.
pull/32/head
Holger Wirtz 5 years ago
parent 0e14e4b510
commit a83e43dbef
  1. 16
      MicroDexed.ino
  2. 6
      UI.hpp

@ -816,14 +816,14 @@ void handleSystemExclusive(byte * sysex, uint len)
sysex[4] &= 0x7f; sysex[4] &= 0x7f;
sysex[5] &= 0x7f; sysex[5] &= 0x7f;
uint8_t data_index; uint8_t data_index = 0;
if (((sysex[3] & 0x7c) >> 2) == 0) if (((sysex[3] & 0x7c) >> 2) == 0)
{ {
MicroDexed[instance_id]->notesOff(); MicroDexed[instance_id]->notesOff();
MicroDexed[instance_id]->data[sysex[4] + ((sysex[3] & 0x03) * 128)] = sysex[5]; // set parameter for (uint8_t i = 0; i < 128 || sysex[5] != 0xf7; i++)
MicroDexed[instance_id]->data[sysex[4] + ((sysex[3] & 0x03) * 128) + i] = sysex[5]; // set parameter
MicroDexed[instance_id]->doRefreshVoice(); MicroDexed[instance_id]->doRefreshVoice();
data_index = sysex[4] + ((sysex[3] & 0x03) * 128);
} }
else else
{ {
@ -904,13 +904,19 @@ void handleSystemExclusive(byte * sysex, uint len)
#ifdef DEBUG #ifdef DEBUG
Serial.print(F("SysEx")); Serial.print(F("SysEx"));
if (((sysex[3] & 0x7c) >> 2) == 0) if (((sysex[3] & 0x7c) >> 2) == 0)
Serial.print(F(" function")); {
Serial.print(F(" parameter ")); Serial.println(F(" voice:"));
show_patch(instance_id);
}
else
{
Serial.print(F(" function: "));
Serial.print(sysex[4], DEC); Serial.print(sysex[4], DEC);
Serial.print(F(" = ")); Serial.print(F(" = "));
Serial.print(sysex[5], DEC); Serial.print(sysex[5], DEC);
Serial.print(F(", data_index = ")); Serial.print(F(", data_index = "));
Serial.println(data_index, DEC); Serial.println(data_index, DEC);
}
#endif #endif
} }
else if (len == 163) else if (len == 163)

@ -2731,10 +2731,16 @@ void UI_func_portamento_mode(uint8_t param)
switch (configuration.dexed[instance_id].portamento_mode) switch (configuration.dexed[instance_id].portamento_mode)
{ {
case 0: case 0:
if (configuration.dexed[instance_id].monopoly == 1)
lcd.print(F("[RETAIN ]")); lcd.print(F("[RETAIN ]"));
else
lcd.print(F("[FINGERED]"));
break; break;
case 1: case 1:
if (configuration.dexed[instance_id].monopoly == 1)
lcd.print(F("[FOLLOW ]")); lcd.print(F("[FOLLOW ]"));
else
lcd.print(F("[FULL ]"));
break; break;
} }
} }

Loading…
Cancel
Save