Some SYSEX fixes.

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

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

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

Loading…
Cancel
Save