|
|
|
@ -142,24 +142,6 @@ const uint8_t meter_bar[5][8] = { |
|
|
|
|
{B00001, B00001, B00001, B00001, B00001, B00001, B00001, B00001} |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
const uint8_t block_bar[5][8] = { |
|
|
|
|
{B00000, B10000, B10000, B10000, B10000, B10000, B10000, B00000}, |
|
|
|
|
{B00000, B11000, B11000, B11000, B11000, B11000, B11000, B00000}, |
|
|
|
|
{B00000, B11100, B11100, B11100, B11100, B11100, B11100, B00000}, |
|
|
|
|
{B00000, B11110, B11110, B11110, B11110, B11110, B11110, B00000}, |
|
|
|
|
{B00000, B11111, B11111, B11111, B11111, B11111, B11111, B00000} |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
const uint8_t meter_bar[5][8] = { |
|
|
|
|
{B00000, B10000, B10000, B10000, B10000, B10000, B10000, B00000}, |
|
|
|
|
{B00000, B01000, B01000, B01000, B01000, B01000, B01000, B00000}, |
|
|
|
|
{B00000, B00100, B00100, B00100, B00100, B00100, B00100, B00000}, |
|
|
|
|
{B00000, B00010, B00010, B00010, B00010, B00010, B00010, B00000}, |
|
|
|
|
{B00000, B00001, B00001, B00001, B00001, B00001, B00001, B00000} |
|
|
|
|
}; |
|
|
|
|
*/ |
|
|
|
|
|
|
|
|
|
const uint8_t special_chars[18][8] = { |
|
|
|
|
{B11111, B11011, B10011, B11011, B11011, B11011, B11011, B11111}, // [0] 1 small invers
|
|
|
|
|
{B11111, B11011, B10101, B11101, B11011, B10111, B10001, B11111}, // [1] 2 small invers
|
|
|
|
@ -3401,7 +3383,7 @@ void UI_handle_OP(uint8_t param) |
|
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
|
|
|
|
|
|
lcd.setCursor(0, 0); |
|
|
|
|
lcd.print(F("Operator Enable")); |
|
|
|
|
lcd.print(F("OP Enable")); |
|
|
|
|
lcd.setCursor(0, 1); |
|
|
|
|
for (uint8_t i = 2; i < 8; i++) |
|
|
|
|
lcd.write(i); |
|
|
|
@ -4929,8 +4911,17 @@ void UI_func_sysex_send_bank(uint8_t param) |
|
|
|
|
sysex.read(bank_data, 4104); |
|
|
|
|
sysex.close(); |
|
|
|
|
|
|
|
|
|
lcd.show(1, 0, 16, "Sending..."); |
|
|
|
|
send_sysex_bank(configuration.dexed[selected_instance_id].midi_channel, bank_data); |
|
|
|
|
lcd.show(1, 0, 16, "Sending Ch"); |
|
|
|
|
if (configuration.dexed[selected_instance_id].midi_channel == MIDI_CHANNEL_OMNI) |
|
|
|
|
{ |
|
|
|
|
lcd.show(1, 11, 2, "01"); |
|
|
|
|
send_sysex_bank(1, bank_data); |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
{ |
|
|
|
|
lcd.show(1, 11, 2, configuration.dexed[selected_instance_id].midi_channel + 1); |
|
|
|
|
send_sysex_bank(configuration.dexed[selected_instance_id].midi_channel, bank_data); |
|
|
|
|
} |
|
|
|
|
lcd.show(1, 0, 16, "Done."); |
|
|
|
|
bank_number = 0xff; |
|
|
|
|
} |
|
|
|
@ -5069,8 +5060,18 @@ void UI_func_sysex_send_voice(uint8_t param) |
|
|
|
|
|
|
|
|
|
MicroDexed[selected_instance_id]->decodeVoice(encoded_voice_data, voice_data); |
|
|
|
|
|
|
|
|
|
lcd.show(1, 0, 16, "Sending..."); |
|
|
|
|
send_sysex_voice(configuration.dexed[selected_instance_id].midi_channel, voice_data); |
|
|
|
|
lcd.show(1, 0, 16, "Sending Ch"); |
|
|
|
|
if (configuration.dexed[selected_instance_id].midi_channel == MIDI_CHANNEL_OMNI) |
|
|
|
|
{ |
|
|
|
|
lcd.show(1, 11, 2, "01"); |
|
|
|
|
send_sysex_voice(1, voice_data); |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
{ |
|
|
|
|
lcd.show(1, 11, 2, configuration.dexed[selected_instance_id].midi_channel + 1); |
|
|
|
|
send_sysex_voice(configuration.dexed[selected_instance_id].midi_channel, voice_data); |
|
|
|
|
} |
|
|
|
|
delay(MESSAGE_WAIT_TIME); |
|
|
|
|
lcd.show(1, 0, 16, "Done."); |
|
|
|
|
sysex.close(); |
|
|
|
|
|
|
|
|
@ -5689,7 +5690,11 @@ void lcd_OP_active_instance_number(uint8_t instance_id, uint8_t op) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
lcd.createChar(0, instance_num[0]); |
|
|
|
|
#if NUM_DEXED > 1 |
|
|
|
|
lcd.createChar(1, instance_num[1]); |
|
|
|
|
#else |
|
|
|
|
lcd.createChar(1, (uint8_t *)special_chars[17]); |
|
|
|
|
#endif |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void lcd_special_chars(uint8_t mode) |
|
|
|
|