|
|
@ -157,21 +157,28 @@ const uint8_t meter_bar[5][8] = { |
|
|
|
{B00000, B00001, B00001, B00001, B00001, B00001, B00001, B00000} |
|
|
|
{B00000, B00001, B00001, B00001, B00001, B00001, B00001, B00000} |
|
|
|
}; |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
const uint8_t inverse_num[8][8] = { |
|
|
|
const uint8_t inverse_num[16][8] = { |
|
|
|
{B11111, B11011, B10011, B11011, B11011, B11011, B11011, B11111}, // 1 small invers
|
|
|
|
{B11111, B11011, B10011, B11011, B11011, B11011, B11011, B11111}, // [0] 1 small invers
|
|
|
|
{B11111, B11011, B10101, B11101, B11011, B10111, B10001, B11111}, // 2 small invers
|
|
|
|
{B11111, B11011, B10101, B11101, B11011, B10111, B10001, B11111}, // [1] 2 small invers
|
|
|
|
{B11111, B11011, B10011, B11011, B11011, B11011, B11011, B11111}, // 1 OP invers
|
|
|
|
{B11111, B11011, B10011, B11011, B11011, B11011, B11011, B11111}, // [2] 1 OP invers
|
|
|
|
{B11111, B11011, B10101, B11101, B11011, B10111, B10001, B11111}, // 2 OP invers
|
|
|
|
{B11111, B11011, B10101, B11101, B11011, B10111, B10001, B11111}, // [3] 2 OP invers
|
|
|
|
{B11111, B10001, B11101, B11011, B11101, B10101, B11011, B11111}, // 3 OP invers
|
|
|
|
{B11111, B10001, B11101, B11011, B11101, B10101, B11011, B11111}, // [4] 3 OP invers
|
|
|
|
{B11111, B10111, B10111, B10101, B10001, B11101, B11101, B11111}, // 4 OP invers
|
|
|
|
{B11111, B10111, B10111, B10101, B10001, B11101, B11101, B11111}, // [5] 4 OP invers
|
|
|
|
{B11111, B10001, B10111, B10011, B11101, B11101, B10011, B11111}, // 5 OP invers
|
|
|
|
{B11111, B10001, B10111, B10011, B11101, B11101, B10011, B11111}, // [6] 5 OP invers
|
|
|
|
{B11111, B11001, B10111, B10011, B10101, B10101, B11011, B11111} // 6 OP invers
|
|
|
|
{B11111, B11001, B10111, B10011, B10101, B10101, B11011, B11111}, // [7] 6 OP invers
|
|
|
|
|
|
|
|
{B00000, B00000, B00000, B00000, B00000, B00000, B00000, B11111}, // [8] Level 1
|
|
|
|
|
|
|
|
{B00000, B00000, B00000, B00000, B00000, B00000, B11111, B11111}, // [9] Level 2
|
|
|
|
|
|
|
|
{B00000, B00000, B00000, B00000, B00000, B11111, B11111, B11111}, // [10] Level 3
|
|
|
|
|
|
|
|
{B00000, B00000, B00000, B00000, B11111, B11111, B11111, B11111}, // [11] Level 4
|
|
|
|
|
|
|
|
{B00000, B00000, B00000, B11111, B11111, B11111, B11111, B11111}, // [12] Level 5
|
|
|
|
|
|
|
|
{B00000, B00000, B11111, B11111, B11111, B11111, B11111, B11111}, // [13] Level 6
|
|
|
|
|
|
|
|
{B00000, B11111, B11111, B11111, B11111, B11111, B11111, B11111}, // [14] Level 7
|
|
|
|
|
|
|
|
{B11111, B11111, B11111, B11111, B11111, B11111, B11111, B11111}, // [15] Level 8
|
|
|
|
}; |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
enum { SCROLLBAR, BLOCKBAR, METERBAR }; |
|
|
|
enum { SCROLLBAR, BLOCKBAR, METERBAR }; |
|
|
|
enum { ENC_R, ENC_L }; |
|
|
|
enum { ENC_R, ENC_L }; |
|
|
|
enum {MENU_VOICE_BANK, MENU_VOICE_SOUND}; |
|
|
|
enum {MENU_VOICE_BANK, MENU_VOICE_SOUND}; |
|
|
|
uint8_t menu_voice_select = MENU_VOICE_SOUND; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void lcdml_menu_display(void); |
|
|
|
void lcdml_menu_display(void); |
|
|
|
void lcdml_menu_clear(void); |
|
|
|
void lcdml_menu_clear(void); |
|
|
@ -3668,36 +3675,39 @@ void UI_func_voice_select(uint8_t param) |
|
|
|
strncpy(bank_name, "*ERROR*", sizeof(bank_name)); |
|
|
|
strncpy(bank_name, "*ERROR*", sizeof(bank_name)); |
|
|
|
if (!get_voice_by_bank_name(configuration.performance.bank[selected_instance_id], bank_name, configuration.performance.voice[selected_instance_id], voice_name, sizeof(voice_name))) |
|
|
|
if (!get_voice_by_bank_name(configuration.performance.bank[selected_instance_id], bank_name, configuration.performance.voice[selected_instance_id], voice_name, sizeof(voice_name))) |
|
|
|
strncpy(voice_name, "*ERROR*", sizeof(voice_name)); |
|
|
|
strncpy(voice_name, "*ERROR*", sizeof(voice_name)); |
|
|
|
|
|
|
|
/*
|
|
|
|
lcd.show(0, 0, 2, configuration.performance.bank[selected_instance_id]); |
|
|
|
lcd.show(0, 0, 2, configuration.performance.bank[selected_instance_id]); |
|
|
|
lcd.show(1, 0, 2, configuration.performance.voice[selected_instance_id] + 1); |
|
|
|
lcd.show(1, 0, 2, configuration.performance.voice[selected_instance_id] + 1); |
|
|
|
lcd.show(0, 4, 10, bank_name); |
|
|
|
lcd.show(0, 2, 10, bank_name); |
|
|
|
lcd.show(1, 4, 10, voice_name); |
|
|
|
lcd.show(1, 2, 10, voice_name); |
|
|
|
|
|
|
|
*/ |
|
|
|
#if NUM_DEXED > 1 |
|
|
|
#if NUM_DEXED > 1 |
|
|
|
|
|
|
|
lcd.setCursor(14, 0); |
|
|
|
|
|
|
|
lcd.write(0); |
|
|
|
lcd.setCursor(15, 0); |
|
|
|
lcd.setCursor(15, 0); |
|
|
|
lcd.write(5); |
|
|
|
lcd.write(1); |
|
|
|
lcd.setCursor(15, 1); |
|
|
|
|
|
|
|
lcd.write(6); |
|
|
|
|
|
|
|
#endif |
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
switch (menu_voice_select) |
|
|
|
switch (menu_voice_select) |
|
|
|
{ |
|
|
|
{ |
|
|
|
case MENU_VOICE_BANK: |
|
|
|
case MENU_VOICE_BANK: |
|
|
|
lcd.show(0, 2, 2, " ["); |
|
|
|
lcd.show(0, 2, 1, "["); |
|
|
|
lcd.show(0, 14, 1, "]"); |
|
|
|
lcd.show(0, 13, 1, "]"); |
|
|
|
lcd.show(1, 2, 2, " "); |
|
|
|
lcd.show(1, 2, 1, " "); |
|
|
|
lcd.show(1, 14, 1, " "); |
|
|
|
lcd.show(1, 13, 1, " "); |
|
|
|
break; |
|
|
|
break; |
|
|
|
case MENU_VOICE_SOUND: |
|
|
|
case MENU_VOICE_SOUND: |
|
|
|
lcd.show(0, 2, 2, " "); |
|
|
|
lcd.show(0, 2, 2, " "); |
|
|
|
lcd.show(0, 14, 1, " "); |
|
|
|
lcd.show(0, 13, 1, " "); |
|
|
|
lcd.show(1, 2, 2, " ["); |
|
|
|
lcd.show(1, 2, 2, " ["); |
|
|
|
lcd.show(1, 14, 1, "]"); |
|
|
|
lcd.show(1, 13, 1, "]"); |
|
|
|
break; |
|
|
|
break; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
*/ |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (LCDML.FUNC_loop()) // ****** LOOP *********
|
|
|
|
if (LCDML.FUNC_loop()) // ****** LOOP *********
|
|
|
|
{ |
|
|
|
{ |
|
|
|
char bank_name[BANK_NAME_LEN]; |
|
|
|
char bank_name[BANK_NAME_LEN]; |
|
|
@ -3819,13 +3829,13 @@ void UI_func_voice_select(uint8_t param) |
|
|
|
|
|
|
|
|
|
|
|
lcd.show(0, 0, 2, configuration.performance.bank[selected_instance_id]); |
|
|
|
lcd.show(0, 0, 2, configuration.performance.bank[selected_instance_id]); |
|
|
|
lcd.show(1, 0, 2, configuration.performance.voice[selected_instance_id] + 1); |
|
|
|
lcd.show(1, 0, 2, configuration.performance.voice[selected_instance_id] + 1); |
|
|
|
lcd.show(0, 4, 10, bank_name); |
|
|
|
lcd.show(0, 3, 10, bank_name); |
|
|
|
lcd.show(1, 4, 10, voice_name); |
|
|
|
lcd.show(1, 3, 10, voice_name); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
lcd.setCursor(14, 0); |
|
|
|
|
|
|
|
lcd.write(0); |
|
|
|
lcd.setCursor(15, 0); |
|
|
|
lcd.setCursor(15, 0); |
|
|
|
lcd.write(5); |
|
|
|
lcd.write(1); |
|
|
|
lcd.setCursor(15, 1); |
|
|
|
|
|
|
|
lcd.write(6); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
else |
|
|
|
else |
|
|
|
menu_voice_select = MENU_VOICE_BANK; |
|
|
|
menu_voice_select = MENU_VOICE_BANK; |
|
|
@ -3855,22 +3865,22 @@ void UI_func_voice_select(uint8_t param) |
|
|
|
|
|
|
|
|
|
|
|
lcd.show(0, 0, 2, configuration.performance.bank[selected_instance_id]); |
|
|
|
lcd.show(0, 0, 2, configuration.performance.bank[selected_instance_id]); |
|
|
|
lcd.show(1, 0, 2, configuration.performance.voice[selected_instance_id] + 1); |
|
|
|
lcd.show(1, 0, 2, configuration.performance.voice[selected_instance_id] + 1); |
|
|
|
lcd.show(0, 4, 10, bank_name); |
|
|
|
lcd.show(0, 3, 10, bank_name); |
|
|
|
lcd.show(1, 4, 10, voice_name); |
|
|
|
lcd.show(1, 3, 10, voice_name); |
|
|
|
|
|
|
|
|
|
|
|
switch (menu_voice_select) |
|
|
|
switch (menu_voice_select) |
|
|
|
{ |
|
|
|
{ |
|
|
|
case MENU_VOICE_BANK: |
|
|
|
case MENU_VOICE_BANK: |
|
|
|
lcd.show(0, 2, 2, " ["); |
|
|
|
lcd.show(0, 2, 1, "["); |
|
|
|
lcd.show(0, 14, 1, "]"); |
|
|
|
lcd.show(0, 13, 1, "]"); |
|
|
|
lcd.show(1, 2, 2, " "); |
|
|
|
lcd.show(1, 2, 1, " "); |
|
|
|
lcd.show(1, 14, 1, " "); |
|
|
|
lcd.show(1, 13, 1, " "); |
|
|
|
break; |
|
|
|
break; |
|
|
|
case MENU_VOICE_SOUND: |
|
|
|
case MENU_VOICE_SOUND: |
|
|
|
lcd.show(0, 2, 2, " "); |
|
|
|
lcd.show(0, 2, 1, " "); |
|
|
|
lcd.show(0, 14, 1, " "); |
|
|
|
lcd.show(0, 13, 1, " "); |
|
|
|
lcd.show(1, 2, 2, " ["); |
|
|
|
lcd.show(1, 2, 1, "["); |
|
|
|
lcd.show(1, 14, 1, "]"); |
|
|
|
lcd.show(1, 13, 1, "]"); |
|
|
|
break; |
|
|
|
break; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
@ -5172,8 +5182,8 @@ void lcd_active_instance_number(uint8_t instance_id) |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
lcd.createChar(5, instance_num[0]); |
|
|
|
lcd.createChar(0, instance_num[0]); |
|
|
|
lcd.createChar(6, instance_num[1]); |
|
|
|
lcd.createChar(1, instance_num[1]); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
void lcd_OP_active_instance_number(uint8_t instance_id, uint8_t op) |
|
|
|
void lcd_OP_active_instance_number(uint8_t instance_id, uint8_t op) |
|
|
|