|
|
@ -55,7 +55,7 @@ |
|
|
|
#define _LCDML_DISP_cfg_scrollbar 1 // enable a scrollbar
|
|
|
|
#define _LCDML_DISP_cfg_scrollbar 1 // enable a scrollbar
|
|
|
|
|
|
|
|
|
|
|
|
extern bool check_sd_performance_exists(uint8_t number); |
|
|
|
extern bool check_sd_performance_exists(uint8_t number); |
|
|
|
extern bool midi_learn_mode; |
|
|
|
extern uint8_t midi_learn_mode; |
|
|
|
extern uint8_t active_sample; |
|
|
|
extern uint8_t active_sample; |
|
|
|
|
|
|
|
|
|
|
|
extern config_t configuration; |
|
|
|
extern config_t configuration; |
|
|
@ -1766,7 +1766,7 @@ void UI_func_lowest_note(uint8_t param) { |
|
|
|
lcd_active_instance_number(selected_instance_id); |
|
|
|
lcd_active_instance_number(selected_instance_id); |
|
|
|
UI_update_instance_icons(); |
|
|
|
UI_update_instance_icons(); |
|
|
|
|
|
|
|
|
|
|
|
midi_learn_mode = true; |
|
|
|
midi_learn_mode = MIDI_LEARN_MODE_ON; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if (LCDML.FUNC_loop()) // ****** LOOP *********
|
|
|
|
if (LCDML.FUNC_loop()) // ****** LOOP *********
|
|
|
@ -1794,7 +1794,7 @@ void UI_func_lowest_note(uint8_t param) { |
|
|
|
{ |
|
|
|
{ |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
midi_learn_mode = false; |
|
|
|
midi_learn_mode = MIDI_LEARN_MODE_OFF; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -1815,7 +1815,7 @@ void UI_func_highest_note(uint8_t param) { |
|
|
|
|
|
|
|
|
|
|
|
lcd_active_instance_number(selected_instance_id); |
|
|
|
lcd_active_instance_number(selected_instance_id); |
|
|
|
UI_update_instance_icons(); |
|
|
|
UI_update_instance_icons(); |
|
|
|
midi_learn_mode = true; |
|
|
|
midi_learn_mode = MIDI_LEARN_MODE_ON; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if (LCDML.FUNC_loop()) // ****** LOOP *********
|
|
|
|
if (LCDML.FUNC_loop()) // ****** LOOP *********
|
|
|
@ -1843,7 +1843,7 @@ void UI_func_highest_note(uint8_t param) { |
|
|
|
{ |
|
|
|
{ |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
midi_learn_mode = false; |
|
|
|
midi_learn_mode = MIDI_LEARN_MODE_OFF; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -2040,7 +2040,7 @@ void UI_func_epiano_lowest_note(uint8_t param) { |
|
|
|
if (LCDML.FUNC_setup()) // ****** SETUP *********
|
|
|
|
if (LCDML.FUNC_setup()) // ****** SETUP *********
|
|
|
|
{ |
|
|
|
{ |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
midi_learn_mode = true; |
|
|
|
midi_learn_mode = MIDI_LEARN_MODE_ON; |
|
|
|
|
|
|
|
|
|
|
|
getNoteName(note_name, configuration.epiano.lowest_note); |
|
|
|
getNoteName(note_name, configuration.epiano.lowest_note); |
|
|
|
display.setCursor(0, 0); |
|
|
|
display.setCursor(0, 0); |
|
|
@ -2069,7 +2069,7 @@ void UI_func_epiano_lowest_note(uint8_t param) { |
|
|
|
{ |
|
|
|
{ |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
midi_learn_mode = false; |
|
|
|
midi_learn_mode = MIDI_LEARN_MODE_OFF; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -2079,7 +2079,7 @@ void UI_func_epiano_highest_note(uint8_t param) { |
|
|
|
if (LCDML.FUNC_setup()) // ****** SETUP *********
|
|
|
|
if (LCDML.FUNC_setup()) // ****** SETUP *********
|
|
|
|
{ |
|
|
|
{ |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
midi_learn_mode = true; |
|
|
|
midi_learn_mode = MIDI_LEARN_MODE_ON; |
|
|
|
|
|
|
|
|
|
|
|
getNoteName(note_name, configuration.dexed[selected_instance_id].highest_note); |
|
|
|
getNoteName(note_name, configuration.dexed[selected_instance_id].highest_note); |
|
|
|
display.setCursor(0, 0); |
|
|
|
display.setCursor(0, 0); |
|
|
@ -2108,7 +2108,7 @@ void UI_func_epiano_highest_note(uint8_t param) { |
|
|
|
{ |
|
|
|
{ |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
midi_learn_mode = false; |
|
|
|
midi_learn_mode = MIDI_LEARN_MODE_OFF; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -4073,7 +4073,7 @@ void UI_func_drum_pitch(uint8_t param) { |
|
|
|
|
|
|
|
|
|
|
|
if (LCDML.FUNC_setup()) // ****** SETUP *********
|
|
|
|
if (LCDML.FUNC_setup()) // ****** SETUP *********
|
|
|
|
{ |
|
|
|
{ |
|
|
|
midi_learn_mode = true; |
|
|
|
midi_learn_mode = MIDI_LEARN_MODE_ON; |
|
|
|
|
|
|
|
|
|
|
|
memset(tmp_name, ' ', 8); |
|
|
|
memset(tmp_name, ' ', 8); |
|
|
|
strncpy(tmp_name, drum_config[active_sample].name, strlen(drum_config[active_sample].name)); |
|
|
|
strncpy(tmp_name, drum_config[active_sample].name, strlen(drum_config[active_sample].name)); |
|
|
@ -4137,7 +4137,7 @@ void UI_func_drum_pitch(uint8_t param) { |
|
|
|
if (LCDML.FUNC_close()) // ****** STABLE END *********
|
|
|
|
if (LCDML.FUNC_close()) // ****** STABLE END *********
|
|
|
|
{ |
|
|
|
{ |
|
|
|
encoderDir[ENC_L].reset(); |
|
|
|
encoderDir[ENC_L].reset(); |
|
|
|
midi_learn_mode = false; |
|
|
|
midi_learn_mode = MIDI_LEARN_MODE_OFF; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -4152,7 +4152,7 @@ void UI_func_drum_pan(uint8_t param) { |
|
|
|
|
|
|
|
|
|
|
|
if (LCDML.FUNC_setup()) // ****** SETUP *********
|
|
|
|
if (LCDML.FUNC_setup()) // ****** SETUP *********
|
|
|
|
{ |
|
|
|
{ |
|
|
|
midi_learn_mode = true; |
|
|
|
midi_learn_mode = MIDI_LEARN_MODE_ON; |
|
|
|
|
|
|
|
|
|
|
|
memset(tmp_name, ' ', 8); |
|
|
|
memset(tmp_name, ' ', 8); |
|
|
|
strncpy(tmp_name, drum_config[active_sample].name, strlen(drum_config[active_sample].name)); |
|
|
|
strncpy(tmp_name, drum_config[active_sample].name, strlen(drum_config[active_sample].name)); |
|
|
@ -4216,7 +4216,7 @@ void UI_func_drum_pan(uint8_t param) { |
|
|
|
if (LCDML.FUNC_close()) // ****** STABLE END *********
|
|
|
|
if (LCDML.FUNC_close()) // ****** STABLE END *********
|
|
|
|
{ |
|
|
|
{ |
|
|
|
encoderDir[ENC_L].reset(); |
|
|
|
encoderDir[ENC_L].reset(); |
|
|
|
midi_learn_mode = false; |
|
|
|
midi_learn_mode = MIDI_LEARN_MODE_OFF; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -4227,7 +4227,7 @@ void UI_func_drum_reverb_send(uint8_t param) { |
|
|
|
|
|
|
|
|
|
|
|
if (LCDML.FUNC_setup()) // ****** SETUP *********
|
|
|
|
if (LCDML.FUNC_setup()) // ****** SETUP *********
|
|
|
|
{ |
|
|
|
{ |
|
|
|
midi_learn_mode = true; |
|
|
|
midi_learn_mode = MIDI_LEARN_MODE_ON; |
|
|
|
|
|
|
|
|
|
|
|
memset(tmp_name, ' ', 8); |
|
|
|
memset(tmp_name, ' ', 8); |
|
|
|
strncpy(tmp_name, drum_config[active_sample].name, strlen(drum_config[active_sample].name)); |
|
|
|
strncpy(tmp_name, drum_config[active_sample].name, strlen(drum_config[active_sample].name)); |
|
|
@ -4291,7 +4291,7 @@ void UI_func_drum_reverb_send(uint8_t param) { |
|
|
|
if (LCDML.FUNC_close()) // ****** STABLE END *********
|
|
|
|
if (LCDML.FUNC_close()) // ****** STABLE END *********
|
|
|
|
{ |
|
|
|
{ |
|
|
|
encoderDir[ENC_L].reset(); |
|
|
|
encoderDir[ENC_L].reset(); |
|
|
|
midi_learn_mode = false; |
|
|
|
midi_learn_mode = MIDI_LEARN_MODE_OFF; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -4302,7 +4302,10 @@ void UI_func_drum_midi_note(uint8_t param) { |
|
|
|
|
|
|
|
|
|
|
|
if (LCDML.FUNC_setup()) // ****** SETUP *********
|
|
|
|
if (LCDML.FUNC_setup()) // ****** SETUP *********
|
|
|
|
{ |
|
|
|
{ |
|
|
|
midi_learn_mode = true; |
|
|
|
if (!display_name) |
|
|
|
|
|
|
|
midi_learn_mode = MIDI_LEARN_MODE_NOTE; |
|
|
|
|
|
|
|
else |
|
|
|
|
|
|
|
midi_learn_mode = MIDI_LEARN_MODE_ON; |
|
|
|
|
|
|
|
|
|
|
|
memset(tmp_name, ' ', 8); |
|
|
|
memset(tmp_name, ' ', 8); |
|
|
|
strncpy(tmp_name, drum_config[active_sample].name, strlen(drum_config[active_sample].name)); |
|
|
|
strncpy(tmp_name, drum_config[active_sample].name, strlen(drum_config[active_sample].name)); |
|
|
@ -4320,6 +4323,10 @@ void UI_func_drum_midi_note(uint8_t param) { |
|
|
|
|
|
|
|
|
|
|
|
if (LCDML.FUNC_loop()) // ****** LOOP *********
|
|
|
|
if (LCDML.FUNC_loop()) // ****** LOOP *********
|
|
|
|
{ |
|
|
|
{ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (midi_learn_mode > MIDI_LEARN_MODE_NULL) |
|
|
|
|
|
|
|
configuration.drums.midinote[active_sample] = midi_learn_mode; |
|
|
|
|
|
|
|
|
|
|
|
if ((LCDML.BT_checkDown() && encoderDir[ENC_R].Down()) || (LCDML.BT_checkUp() && encoderDir[ENC_R].Up()) || (LCDML.BT_checkEnter() && encoderDir[ENC_R].ButtonShort())) { |
|
|
|
if ((LCDML.BT_checkDown() && encoderDir[ENC_R].Down()) || (LCDML.BT_checkUp() && encoderDir[ENC_R].Up()) || (LCDML.BT_checkEnter() && encoderDir[ENC_R].ButtonShort())) { |
|
|
|
if (LCDML.BT_checkDown()) { |
|
|
|
if (LCDML.BT_checkDown()) { |
|
|
|
if (display_name == true) { |
|
|
|
if (display_name == true) { |
|
|
@ -4362,12 +4369,16 @@ void UI_func_drum_midi_note(uint8_t param) { |
|
|
|
display.print(tmp_val); |
|
|
|
display.print(tmp_val); |
|
|
|
|
|
|
|
|
|
|
|
_check_display_name(display_name, 3); |
|
|
|
_check_display_name(display_name, 3); |
|
|
|
|
|
|
|
if (!display_name) |
|
|
|
|
|
|
|
midi_learn_mode = MIDI_LEARN_MODE_NOTE; |
|
|
|
|
|
|
|
else |
|
|
|
|
|
|
|
midi_learn_mode = MIDI_LEARN_MODE_ON; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if (LCDML.FUNC_close()) // ****** STABLE END *********
|
|
|
|
if (LCDML.FUNC_close()) // ****** STABLE END *********
|
|
|
|
{ |
|
|
|
{ |
|
|
|
encoderDir[ENC_L].reset(); |
|
|
|
encoderDir[ENC_L].reset(); |
|
|
|
midi_learn_mode = false; |
|
|
|
midi_learn_mode = MIDI_LEARN_MODE_OFF; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|