|
|
@ -59,12 +59,7 @@ extern config_t configuration; |
|
|
|
extern void set_volume(uint8_t v, uint8_t m); |
|
|
|
extern void set_volume(uint8_t v, uint8_t m); |
|
|
|
extern bool load_sysex(uint8_t b, uint8_t v); |
|
|
|
extern bool load_sysex(uint8_t b, uint8_t v); |
|
|
|
extern void generate_version_string(char* buffer, uint8_t len); |
|
|
|
extern void generate_version_string(char* buffer, uint8_t len); |
|
|
|
extern void initial_values_from_eeprom(bool init); |
|
|
|
|
|
|
|
extern void _softRestart(void); |
|
|
|
extern void _softRestart(void); |
|
|
|
extern void eeprom_update_sys(void); |
|
|
|
|
|
|
|
extern void eeprom_update_performance(void); |
|
|
|
|
|
|
|
extern void eeprom_update_fx(void); |
|
|
|
|
|
|
|
extern void eeprom_update_dexed(uint8_t instance_id); |
|
|
|
|
|
|
|
//extern float pseudo_log_curve(float value);
|
|
|
|
//extern float pseudo_log_curve(float value);
|
|
|
|
extern float midi_volume_transform(uint8_t midi_amp); |
|
|
|
extern float midi_volume_transform(uint8_t midi_amp); |
|
|
|
extern float volume_transform(float amp); |
|
|
|
extern float volume_transform(float amp); |
|
|
@ -321,7 +316,6 @@ void UI_func_drum_midi_channel(uint8_t param); |
|
|
|
void UI_func_load_performance(uint8_t param); |
|
|
|
void UI_func_load_performance(uint8_t param); |
|
|
|
void UI_func_save_performance(uint8_t param); |
|
|
|
void UI_func_save_performance(uint8_t param); |
|
|
|
void UI_func_save_voice(uint8_t param); |
|
|
|
void UI_func_save_voice(uint8_t param); |
|
|
|
void UI_func_eeprom_reset(uint8_t param); |
|
|
|
|
|
|
|
void UI_func_midi_soft_thru(uint8_t param); |
|
|
|
void UI_func_midi_soft_thru(uint8_t param); |
|
|
|
void UI_func_velocity_level(uint8_t param); |
|
|
|
void UI_func_velocity_level(uint8_t param); |
|
|
|
void UI_func_voice_select(uint8_t param); |
|
|
|
void UI_func_voice_select(uint8_t param); |
|
|
@ -350,7 +344,6 @@ void lcd_display_meter_float(const char* title, float value, float factor, float |
|
|
|
void lcd_active_instance_number(uint8_t instance_id); |
|
|
|
void lcd_active_instance_number(uint8_t instance_id); |
|
|
|
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); |
|
|
|
void lcd_special_chars(uint8_t mode); |
|
|
|
void lcd_special_chars(uint8_t mode); |
|
|
|
void eeprom_update_var(uint16_t pos, uint8_t val, const char* val_string); |
|
|
|
|
|
|
|
void lcd_display_delay_sync(uint8_t sync); |
|
|
|
void lcd_display_delay_sync(uint8_t sync); |
|
|
|
void string_trim(char *s); |
|
|
|
void string_trim(char *s); |
|
|
|
void save_favorite(uint8_t b, uint8_t v, uint8_t instance_id); |
|
|
|
void save_favorite(uint8_t b, uint8_t v, uint8_t instance_id); |
|
|
@ -1128,7 +1121,6 @@ void UI_func_reverb_roomsize(uint8_t param) |
|
|
|
{ |
|
|
|
{ |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, fx.reverb_roomsize), configuration.fx.reverb_roomsize); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -1162,7 +1154,6 @@ void UI_func_reverb_damping(uint8_t param) |
|
|
|
{ |
|
|
|
{ |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, fx.reverb_damping), configuration.fx.reverb_damping); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
#else |
|
|
|
#else |
|
|
@ -1195,7 +1186,6 @@ void UI_func_reverb_lowpass(uint8_t param) |
|
|
|
{ |
|
|
|
{ |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, fx.reverb_lowpass), configuration.fx.reverb_lowpass); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -1228,7 +1218,6 @@ void UI_func_reverb_lodamp(uint8_t param) |
|
|
|
{ |
|
|
|
{ |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, fx.reverb_lodamp), configuration.fx.reverb_lodamp); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -1261,7 +1250,6 @@ void UI_func_reverb_hidamp(uint8_t param) |
|
|
|
{ |
|
|
|
{ |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, fx.reverb_hidamp), configuration.fx.reverb_hidamp); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -1294,7 +1282,6 @@ void UI_func_reverb_diffusion(uint8_t param) |
|
|
|
{ |
|
|
|
{ |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, fx.reverb_diffusion), configuration.fx.reverb_diffusion); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
#endif // PLATEREVERB != 1
|
|
|
|
#endif // PLATEREVERB != 1
|
|
|
@ -1331,7 +1318,6 @@ void UI_func_reverb_level(uint8_t param) |
|
|
|
{ |
|
|
|
{ |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, fx.reverb_level), configuration.fx.reverb_level); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -1374,10 +1360,6 @@ void UI_func_chorus_frequency(uint8_t param) |
|
|
|
{ |
|
|
|
{ |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, fx.chorus_frequency[0]), configuration.fx.chorus_frequency[0]); |
|
|
|
|
|
|
|
#if NUM_DEXED > 1 |
|
|
|
|
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, fx.chorus_frequency[1]), configuration.fx.chorus_frequency[1]); |
|
|
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -1431,10 +1413,6 @@ void UI_func_chorus_waveform(uint8_t param) |
|
|
|
{ |
|
|
|
{ |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, fx.chorus_waveform[0]), configuration.fx.chorus_waveform[0]); |
|
|
|
|
|
|
|
#if NUM_DEXED > 1 |
|
|
|
|
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, fx.chorus_waveform[1]), configuration.fx.chorus_waveform[1]); |
|
|
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -1478,10 +1456,6 @@ void UI_func_chorus_depth(uint8_t param) |
|
|
|
{ |
|
|
|
{ |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, fx.chorus_depth[0]), configuration.fx.chorus_depth[0]); |
|
|
|
|
|
|
|
#if NUM_DEXED > 1 |
|
|
|
|
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, fx.chorus_depth[1]), configuration.fx.chorus_depth[1]); |
|
|
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -1534,10 +1508,6 @@ void UI_func_chorus_level(uint8_t param) |
|
|
|
{ |
|
|
|
{ |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, fx.chorus_level[0]), configuration.fx.chorus_level[0]); |
|
|
|
|
|
|
|
#if NUM_DEXED > 1 |
|
|
|
|
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, fx.chorus_level[1]), configuration.fx.chorus_level[1]); |
|
|
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -1631,12 +1601,6 @@ void UI_func_delay_time(uint8_t param) |
|
|
|
{ |
|
|
|
{ |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, fx.delay_time[0]), configuration.fx.delay_time[0]); |
|
|
|
|
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, fx.delay_sync[0]), configuration.fx.delay_sync[0]); |
|
|
|
|
|
|
|
#if NUM_DEXED > 1 |
|
|
|
|
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, fx.delay_time[1]), configuration.fx.delay_time[1]); |
|
|
|
|
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, fx.delay_sync[1]), configuration.fx.delay_sync[1]); |
|
|
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -1686,10 +1650,6 @@ void UI_func_delay_feedback(uint8_t param) |
|
|
|
{ |
|
|
|
{ |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, fx.delay_feedback[0]), configuration.fx.delay_feedback[0]); |
|
|
|
|
|
|
|
#if NUM_DEXED > 1 |
|
|
|
|
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, fx.delay_feedback[1]), configuration.fx.delay_feedback[1]); |
|
|
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -1739,10 +1699,6 @@ void UI_func_delay_level(uint8_t param) |
|
|
|
{ |
|
|
|
{ |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, fx.delay_level[0]), configuration.fx.delay_level[0]); |
|
|
|
|
|
|
|
#if NUM_DEXED > 1 |
|
|
|
|
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, fx.delay_level[1]), configuration.fx.delay_level[1]); |
|
|
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -1793,10 +1749,6 @@ void UI_func_reverb_send(uint8_t param) |
|
|
|
{ |
|
|
|
{ |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, fx.reverb_send[0]), configuration.fx.reverb_send[0]); |
|
|
|
|
|
|
|
#if NUM_DEXED > 1 |
|
|
|
|
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, fx.reverb_send[1]), configuration.fx.reverb_send[1]); |
|
|
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -1846,10 +1798,6 @@ void UI_func_filter_cutoff(uint8_t param) |
|
|
|
{ |
|
|
|
{ |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, fx.filter_cutoff[0]), configuration.fx.filter_cutoff[0]); |
|
|
|
|
|
|
|
#if NUM_DEXED > 1 |
|
|
|
|
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, fx.filter_cutoff[1]), configuration.fx.filter_cutoff[1]); |
|
|
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -1899,10 +1847,6 @@ void UI_func_filter_resonance(uint8_t param) |
|
|
|
{ |
|
|
|
{ |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, fx.filter_resonance[0]), configuration.fx.filter_resonance[0]); |
|
|
|
|
|
|
|
#if NUM_DEXED > 1 |
|
|
|
|
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, fx.filter_resonance[1]), configuration.fx.filter_resonance[1]); |
|
|
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
#endif |
|
|
|
#endif |
|
|
@ -1949,10 +1893,6 @@ void UI_func_transpose(uint8_t param) |
|
|
|
{ |
|
|
|
{ |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, dexed[0].transpose), configuration.dexed[0].transpose); |
|
|
|
|
|
|
|
#if NUM_DEXED > 1 |
|
|
|
|
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, dexed[1].transpose), configuration.dexed[1].transpose); |
|
|
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -2003,10 +1943,6 @@ void UI_func_tune(uint8_t param) |
|
|
|
{ |
|
|
|
{ |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, dexed[0].tune), configuration.dexed[0].tune); |
|
|
|
|
|
|
|
#if NUM_DEXED > 1 |
|
|
|
|
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, dexed[1].tune), configuration.dexed[1].tune); |
|
|
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -2052,12 +1988,7 @@ void UI_func_midi_channel(uint8_t param) |
|
|
|
if (LCDML.FUNC_close()) // ****** STABLE END *********
|
|
|
|
if (LCDML.FUNC_close()) // ****** STABLE END *********
|
|
|
|
{ |
|
|
|
{ |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
|
|
|
|
|
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, dexed[0].midi_channel), configuration.dexed[0].midi_channel); |
|
|
|
|
|
|
|
#if NUM_DEXED > 1 |
|
|
|
|
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, dexed[1].midi_channel), configuration.dexed[1].midi_channel); |
|
|
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -2116,12 +2047,7 @@ void UI_func_lowest_note(uint8_t param) |
|
|
|
if (LCDML.FUNC_close()) // ****** STABLE END *********
|
|
|
|
if (LCDML.FUNC_close()) // ****** STABLE END *********
|
|
|
|
{ |
|
|
|
{ |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
|
|
|
|
|
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, dexed[0].lowest_note), configuration.dexed[0].lowest_note); |
|
|
|
|
|
|
|
#if NUM_DEXED > 1 |
|
|
|
|
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, dexed[1].lowest_note), configuration.dexed[1].lowest_note); |
|
|
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -2171,12 +2097,7 @@ void UI_func_highest_note(uint8_t param) |
|
|
|
if (LCDML.FUNC_close()) // ****** STABLE END *********
|
|
|
|
if (LCDML.FUNC_close()) // ****** STABLE END *********
|
|
|
|
{ |
|
|
|
{ |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
|
|
|
|
|
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, dexed[0].highest_note), configuration.dexed[0].highest_note); |
|
|
|
|
|
|
|
#if NUM_DEXED > 1 |
|
|
|
|
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, dexed[1].highest_note), configuration.dexed[1].highest_note); |
|
|
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -2228,10 +2149,6 @@ void UI_func_sound_intensity(uint8_t param) |
|
|
|
{ |
|
|
|
{ |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, dexed[0].sound_intensity), configuration.dexed[0].sound_intensity); |
|
|
|
|
|
|
|
#if NUM_DEXED > 1 |
|
|
|
|
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, dexed[1].sound_intensity), configuration.dexed[1].sound_intensity); |
|
|
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -2288,10 +2205,6 @@ void UI_func_panorama(uint8_t param) |
|
|
|
{ |
|
|
|
{ |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, dexed[0].pan), configuration.dexed[0].pan); |
|
|
|
|
|
|
|
#if NUM_DEXED > 1 |
|
|
|
|
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, dexed[1].pan), configuration.dexed[1].pan); |
|
|
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -2347,10 +2260,7 @@ void UI_func_favorites(uint8_t param) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if (LCDML.FUNC_close()) // ****** STABLE END *********
|
|
|
|
if (LCDML.FUNC_close()) // ****** STABLE END *********
|
|
|
|
{ |
|
|
|
|
|
|
|
encoderDir[ENC_L].reset(); |
|
|
|
encoderDir[ENC_L].reset(); |
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, sys.favorites), configuration.sys.favorites); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -2415,10 +2325,7 @@ void UI_func_stereo_mono(uint8_t param) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if (LCDML.FUNC_close()) // ****** STABLE END *********
|
|
|
|
if (LCDML.FUNC_close()) // ****** STABLE END *********
|
|
|
|
{ |
|
|
|
|
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, sys.mono), configuration.sys.mono); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
void UI_func_polyphony(uint8_t param) |
|
|
|
void UI_func_polyphony(uint8_t param) |
|
|
@ -2486,10 +2393,6 @@ void UI_func_polyphony(uint8_t param) |
|
|
|
{ |
|
|
|
{ |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, dexed[0].polyphony), configuration.dexed[0].polyphony); |
|
|
|
|
|
|
|
#if NUM_DEXED > 1 |
|
|
|
|
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, dexed[1].polyphony), configuration.dexed[1].polyphony); |
|
|
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -2543,12 +2446,7 @@ void UI_func_mono_poly(uint8_t param) |
|
|
|
if (LCDML.FUNC_close()) // ****** STABLE END *********
|
|
|
|
if (LCDML.FUNC_close()) // ****** STABLE END *********
|
|
|
|
{ |
|
|
|
{ |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
|
|
|
|
|
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, dexed[0].monopoly), configuration.dexed[0].monopoly); |
|
|
|
|
|
|
|
#if NUM_DEXED > 1 |
|
|
|
|
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, dexed[1].monopoly), configuration.dexed[1].monopoly); |
|
|
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -2600,12 +2498,7 @@ void UI_func_note_refresh(uint8_t param) |
|
|
|
if (LCDML.FUNC_close()) // ****** STABLE END *********
|
|
|
|
if (LCDML.FUNC_close()) // ****** STABLE END *********
|
|
|
|
{ |
|
|
|
{ |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
|
|
|
|
|
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, dexed[0].note_refresh), configuration.dexed[0].note_refresh); |
|
|
|
|
|
|
|
#if NUM_DEXED > 1 |
|
|
|
|
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, dexed[1].note_refresh), configuration.dexed[1].note_refresh); |
|
|
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -2650,10 +2543,6 @@ void UI_func_pb_range(uint8_t param) |
|
|
|
{ |
|
|
|
{ |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, dexed[0].pb_range), configuration.dexed[0].pb_range); |
|
|
|
|
|
|
|
#if NUM_DEXED > 1 |
|
|
|
|
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, dexed[1].pb_range), configuration.dexed[1].pb_range); |
|
|
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -2698,10 +2587,6 @@ void UI_func_pb_step(uint8_t param) |
|
|
|
{ |
|
|
|
{ |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, dexed[0].pb_step), configuration.dexed[0].pb_step); |
|
|
|
|
|
|
|
#if NUM_DEXED > 1 |
|
|
|
|
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, dexed[1].pb_step), configuration.dexed[1].pb_step); |
|
|
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -2746,10 +2631,6 @@ void UI_func_mw_range(uint8_t param) |
|
|
|
{ |
|
|
|
{ |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, dexed[0].mw_range), configuration.dexed[0].mw_range); |
|
|
|
|
|
|
|
#if NUM_DEXED > 1 |
|
|
|
|
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, dexed[1].mw_range), configuration.dexed[1].mw_range); |
|
|
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -2821,10 +2702,6 @@ void UI_func_mw_assign(uint8_t param) |
|
|
|
{ |
|
|
|
{ |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, dexed[0].mw_assign), configuration.dexed[0].mw_assign); |
|
|
|
|
|
|
|
#if NUM_DEXED > 1 |
|
|
|
|
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, dexed[1].mw_assign), configuration.dexed[1].mw_assign); |
|
|
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -2881,10 +2758,6 @@ void UI_func_mw_mode(uint8_t param) |
|
|
|
{ |
|
|
|
{ |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, dexed[0].mw_mode), configuration.dexed[0].mw_mode); |
|
|
|
|
|
|
|
#if NUM_DEXED > 1 |
|
|
|
|
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, dexed[1].mw_mode), configuration.dexed[1].mw_mode); |
|
|
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -2929,10 +2802,6 @@ void UI_func_fc_range(uint8_t param) |
|
|
|
{ |
|
|
|
{ |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, dexed[0].fc_range), configuration.dexed[0].fc_range); |
|
|
|
|
|
|
|
#if NUM_DEXED > 1 |
|
|
|
|
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, dexed[1].fc_range), configuration.dexed[1].fc_range); |
|
|
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -3004,10 +2873,6 @@ void UI_func_fc_assign(uint8_t param) |
|
|
|
{ |
|
|
|
{ |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, dexed[0].fc_assign), configuration.dexed[0].fc_assign); |
|
|
|
|
|
|
|
#if NUM_DEXED > 1 |
|
|
|
|
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, dexed[1].fc_assign), configuration.dexed[1].fc_assign); |
|
|
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -3064,10 +2929,6 @@ void UI_func_fc_mode(uint8_t param) |
|
|
|
{ |
|
|
|
{ |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, dexed[0].fc_mode), configuration.dexed[0].fc_mode); |
|
|
|
|
|
|
|
#if NUM_DEXED > 1 |
|
|
|
|
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, dexed[1].fc_mode), configuration.dexed[1].fc_mode); |
|
|
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -3112,10 +2973,6 @@ void UI_func_bc_range(uint8_t param) |
|
|
|
{ |
|
|
|
{ |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, dexed[0].bc_range), configuration.dexed[0].bc_range); |
|
|
|
|
|
|
|
#if NUM_DEXED > 1 |
|
|
|
|
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, dexed[1].bc_range), configuration.dexed[1].bc_range); |
|
|
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -3187,10 +3044,6 @@ void UI_func_bc_assign(uint8_t param) |
|
|
|
{ |
|
|
|
{ |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, dexed[0].bc_assign), configuration.dexed[0].bc_assign); |
|
|
|
|
|
|
|
#if NUM_DEXED > 1 |
|
|
|
|
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, dexed[1].bc_assign), configuration.dexed[1].bc_assign); |
|
|
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -3247,10 +3100,6 @@ void UI_func_bc_mode(uint8_t param) |
|
|
|
{ |
|
|
|
{ |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, dexed[0].bc_mode), configuration.dexed[0].bc_mode); |
|
|
|
|
|
|
|
#if NUM_DEXED > 1 |
|
|
|
|
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, dexed[1].bc_mode), configuration.dexed[1].bc_mode); |
|
|
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -3295,10 +3144,6 @@ void UI_func_at_range(uint8_t param) |
|
|
|
{ |
|
|
|
{ |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, dexed[0].at_range), configuration.dexed[0].at_range); |
|
|
|
|
|
|
|
#if NUM_DEXED > 1 |
|
|
|
|
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, dexed[1].at_range), configuration.dexed[1].at_range); |
|
|
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -3370,10 +3215,6 @@ void UI_func_at_assign(uint8_t param) |
|
|
|
{ |
|
|
|
{ |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, dexed[0].at_assign), configuration.dexed[0].at_assign); |
|
|
|
|
|
|
|
#if NUM_DEXED > 1 |
|
|
|
|
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, dexed[1].at_assign), configuration.dexed[1].at_assign); |
|
|
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -3430,10 +3271,6 @@ void UI_func_at_mode(uint8_t param) |
|
|
|
{ |
|
|
|
{ |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, dexed[0].at_mode), configuration.dexed[0].at_mode); |
|
|
|
|
|
|
|
#if NUM_DEXED > 1 |
|
|
|
|
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, dexed[1].at_mode), configuration.dexed[1].at_mode); |
|
|
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -3493,10 +3330,6 @@ void UI_func_portamento_mode(uint8_t param) |
|
|
|
{ |
|
|
|
{ |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, dexed[0].portamento_mode), configuration.dexed[0].portamento_mode); |
|
|
|
|
|
|
|
#if NUM_DEXED > 1 |
|
|
|
|
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, dexed[1].portamento_mode), configuration.dexed[1].portamento_mode); |
|
|
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -3550,10 +3383,6 @@ void UI_func_portamento_glissando(uint8_t param) |
|
|
|
{ |
|
|
|
{ |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, dexed[0].portamento_glissando), configuration.dexed[0].portamento_glissando); |
|
|
|
|
|
|
|
#if NUM_DEXED > 1 |
|
|
|
|
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, dexed[1].portamento_glissando), configuration.dexed[1].portamento_glissando); |
|
|
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -3598,10 +3427,6 @@ void UI_func_portamento_time(uint8_t param) |
|
|
|
{ |
|
|
|
{ |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, dexed[0].portamento_time), configuration.dexed[0].portamento_time); |
|
|
|
|
|
|
|
#if NUM_DEXED > 1 |
|
|
|
|
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, dexed[1].portamento_time), configuration.dexed[1].portamento_time); |
|
|
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -3677,12 +3502,7 @@ void UI_handle_OP(uint8_t param) |
|
|
|
lcd.noBlink(); |
|
|
|
lcd.noBlink(); |
|
|
|
lcd.noCursor(); |
|
|
|
lcd.noCursor(); |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
|
|
|
|
|
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, dexed[0].op_enabled), configuration.dexed[0].op_enabled); |
|
|
|
|
|
|
|
#if NUM_DEXED > 1 |
|
|
|
|
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, dexed[1].op_enabled), configuration.dexed[1].op_enabled); |
|
|
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -3802,10 +3622,7 @@ void UI_func_drum_midi_channel(uint8_t param) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if (LCDML.FUNC_close()) // ****** STABLE END *********
|
|
|
|
if (LCDML.FUNC_close()) // ****** STABLE END *********
|
|
|
|
{ |
|
|
|
|
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
// EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, dexed[0].midi_channel), configuration.dexed[0].midi_channel); }
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
void UI_func_drums_main_volume(uint8_t param) |
|
|
|
void UI_func_drums_main_volume(uint8_t param) |
|
|
|
{ |
|
|
|
{ |
|
|
@ -4923,10 +4740,10 @@ void seq_print_current_note() |
|
|
|
void check_variable_samples_basespeed() |
|
|
|
void check_variable_samples_basespeed() |
|
|
|
{ |
|
|
|
{ |
|
|
|
for (uint8_t i = 0; i < 6; i++) |
|
|
|
for (uint8_t i = 0; i < 6; i++) |
|
|
|
{ |
|
|
|
{ |
|
|
|
if (drum_config[i].p_offset == 0) |
|
|
|
if (drum_config[i].p_offset == 0) |
|
|
|
drum_config[i].p_offset=1; |
|
|
|
drum_config[i].p_offset = 1; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
void UI_func_seq_pattern_editor(uint8_t param) |
|
|
|
void UI_func_seq_pattern_editor(uint8_t param) |
|
|
|
{ |
|
|
|
{ |
|
|
@ -6627,10 +6444,7 @@ void UI_func_midi_soft_thru(uint8_t param) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if (LCDML.FUNC_close()) // ****** STABLE END *********
|
|
|
|
if (LCDML.FUNC_close()) // ****** STABLE END *********
|
|
|
|
{ |
|
|
|
|
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, sys.soft_midi_thru), configuration.sys.soft_midi_thru); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
void UI_func_smart_filter(uint8_t param) |
|
|
|
void UI_func_smart_filter(uint8_t param) |
|
|
@ -6698,79 +6512,6 @@ void UI_func_velocity_level(uint8_t param) |
|
|
|
{ |
|
|
|
{ |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
if (selected_instance_id == 0) |
|
|
|
|
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, dexed[0].velocity_level), configuration.dexed[0].velocity_level); |
|
|
|
|
|
|
|
#if NUM_DEXED > 1 |
|
|
|
|
|
|
|
else |
|
|
|
|
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, dexed[1].velocity_level), configuration.dexed[1].velocity_level); |
|
|
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void UI_func_eeprom_reset(uint8_t param) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
static bool yesno = false; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (LCDML.FUNC_setup()) // ****** SETUP *********
|
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// setup function
|
|
|
|
|
|
|
|
lcd.print("Reset EEPROM?"); |
|
|
|
|
|
|
|
lcd.setCursor(0, 1); |
|
|
|
|
|
|
|
lcd.print("[NO ]"); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (LCDML.FUNC_loop()) // ****** LOOP *********
|
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
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()) |
|
|
|
|
|
|
|
yesno = true; |
|
|
|
|
|
|
|
else if (LCDML.BT_checkUp()) |
|
|
|
|
|
|
|
yesno = false; |
|
|
|
|
|
|
|
else if (LCDML.BT_checkEnter()) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
if (yesno == true) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
LCDML.DISP_clear(); |
|
|
|
|
|
|
|
lcd.print("EEPROM Reset"); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
initial_values_from_eeprom(true); |
|
|
|
|
|
|
|
lcd.setCursor(0, 1); |
|
|
|
|
|
|
|
lcd.print("Done."); |
|
|
|
|
|
|
|
delay(MESSAGE_WAIT_TIME); |
|
|
|
|
|
|
|
_softRestart(); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
else |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
lcd.setCursor(0, 1); |
|
|
|
|
|
|
|
lcd.print("Canceled."); |
|
|
|
|
|
|
|
delay(MESSAGE_WAIT_TIME); |
|
|
|
|
|
|
|
LCDML.FUNC_goBackToMenu(); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (yesno == true) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
lcd.setCursor(1, 1); |
|
|
|
|
|
|
|
lcd.print("YES"); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
else |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
lcd.setCursor(1, 1); |
|
|
|
|
|
|
|
lcd.print("NO "); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (LCDML.FUNC_close()) // ****** STABLE END *********
|
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
lcd.setCursor(0, 1); |
|
|
|
|
|
|
|
lcd.print("Canceled."); |
|
|
|
|
|
|
|
delay(MESSAGE_WAIT_TIME); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -7097,29 +6838,14 @@ void UI_func_voice_select(uint8_t param) |
|
|
|
if (LCDML.FUNC_close()) // ****** STABLE END *********
|
|
|
|
if (LCDML.FUNC_close()) // ****** STABLE END *********
|
|
|
|
{ |
|
|
|
{ |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
|
|
|
|
|
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
if (selected_instance_id == 0) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
//eeprom_update_var(offsetof(configuration_s, performance.voice[0]), configuration.performance.voice[0], "configuration.performance.voice[0]");
|
|
|
|
|
|
|
|
//eeprom_update_var(offsetof(configuration_s, performance.bank[0]), configuration.performance.bank[0], "configuration.performance.bank[0]");
|
|
|
|
|
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, performance.voice[0]), configuration.performance.voice[0]); |
|
|
|
|
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, performance.bank[0]), configuration.performance.bank[0]); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
#if NUM_DEXED > 1 |
|
|
|
|
|
|
|
else |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, performance.voice[1]), configuration.performance.voice[1]); |
|
|
|
|
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, performance.bank[1]), configuration.performance.bank[1]); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
void UI_func_volume(uint8_t param) |
|
|
|
void UI_func_volume(uint8_t param) |
|
|
|
{ |
|
|
|
{ |
|
|
|
|
|
|
|
|
|
|
|
char tmp[6]; |
|
|
|
char tmp[6]; |
|
|
|
|
|
|
|
|
|
|
|
if (LCDML.FUNC_setup()) // ****** SETUP *********
|
|
|
|
if (LCDML.FUNC_setup()) // ****** SETUP *********
|
|
|
|
{ |
|
|
|
{ |
|
|
|
|
|
|
|
|
|
|
@ -7283,11 +7009,10 @@ void UI_func_volume(uint8_t param) |
|
|
|
if (LCDML.FUNC_close()) // ****** STABLE END *********
|
|
|
|
if (LCDML.FUNC_close()) // ****** STABLE END *********
|
|
|
|
{ |
|
|
|
{ |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
|
|
|
|
|
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, sys.vol), configuration.sys.vol); |
|
|
|
|
|
|
|
encoderDir[ENC_L].reset(); |
|
|
|
encoderDir[ENC_L].reset(); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + 3, configuration.sys.vol); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
void UI_func_save_voice(uint8_t param) |
|
|
|
void UI_func_save_voice(uint8_t param) |
|
|
@ -7454,21 +7179,6 @@ void UI_func_save_voice(uint8_t param) |
|
|
|
lcd.show(1, 0, 16, "Canceled."); |
|
|
|
lcd.show(1, 0, 16, "Canceled."); |
|
|
|
delay(MESSAGE_WAIT_TIME); |
|
|
|
delay(MESSAGE_WAIT_TIME); |
|
|
|
} |
|
|
|
} |
|
|
|
else |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
if (selected_instance_id == 0) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, performance.voice[0]), configuration.performance.voice[0]); |
|
|
|
|
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, performance.bank[0]), configuration.performance.bank[0]); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
#if NUM_DEXED > 1 |
|
|
|
|
|
|
|
else |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, performance.voice[0]), configuration.performance.voice[1]); |
|
|
|
|
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, performance.bank[0]), configuration.performance.bank[1]); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
@ -8012,7 +7722,6 @@ void UI_func_eq_1(uint8_t param) |
|
|
|
{ |
|
|
|
{ |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, fx.eq_1), configuration.fx.eq_1); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
#endif |
|
|
|
#endif |
|
|
|
} |
|
|
|
} |
|
|
@ -8060,7 +7769,6 @@ void UI_func_eq_2(uint8_t param) |
|
|
|
{ |
|
|
|
{ |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, fx.eq_2), configuration.fx.eq_2); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
#endif |
|
|
|
#endif |
|
|
|
} |
|
|
|
} |
|
|
@ -8108,7 +7816,6 @@ void UI_func_eq_3(uint8_t param) |
|
|
|
{ |
|
|
|
{ |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, fx.eq_3), configuration.fx.eq_3); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
#endif |
|
|
|
#endif |
|
|
|
} |
|
|
|
} |
|
|
@ -8156,7 +7863,6 @@ void UI_func_eq_4(uint8_t param) |
|
|
|
{ |
|
|
|
{ |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, fx.eq_4), configuration.fx.eq_4); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
#endif |
|
|
|
#endif |
|
|
|
} |
|
|
|
} |
|
|
@ -8204,7 +7910,6 @@ void UI_func_eq_5(uint8_t param) |
|
|
|
{ |
|
|
|
{ |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, fx.eq_5), configuration.fx.eq_5); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
#endif |
|
|
|
#endif |
|
|
|
} |
|
|
|
} |
|
|
@ -8252,7 +7957,6 @@ void UI_func_eq_6(uint8_t param) |
|
|
|
{ |
|
|
|
{ |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, fx.eq_6), configuration.fx.eq_6); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
#endif |
|
|
|
#endif |
|
|
|
} |
|
|
|
} |
|
|
@ -8300,7 +8004,6 @@ void UI_func_eq_7(uint8_t param) |
|
|
|
{ |
|
|
|
{ |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
lcd_special_chars(SCROLLBAR); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, fx.eq_7), configuration.fx.eq_7); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
#endif |
|
|
|
#endif |
|
|
|
} |
|
|
|
} |
|
|
@ -8876,16 +8579,6 @@ void lcd_display_delay_sync(uint8_t sync) |
|
|
|
} |
|
|
|
} |
|
|
|
#endif |
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
|
|
void eeprom_update_var(uint16_t pos, uint8_t val, const char* val_string) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
#ifdef DEBUG |
|
|
|
|
|
|
|
char tmp[80]; |
|
|
|
|
|
|
|
sprintf(tmp, "EEPROM update '%s' at position %d with value %d.", val_string, pos, val); |
|
|
|
|
|
|
|
Serial.println(tmp); |
|
|
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
EEPROM.update(EEPROM_START_ADDRESS + pos, val); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void string_trim(char *s) |
|
|
|
void string_trim(char *s) |
|
|
|
{ |
|
|
|
{ |
|
|
|
int i; |
|
|
|
int i; |
|
|
|