|
|
@ -577,7 +577,7 @@ void encoder_right_up(void) |
|
|
|
switch (menu_voice) |
|
|
|
switch (menu_voice) |
|
|
|
{ |
|
|
|
{ |
|
|
|
case MENU_VOICE_BANK: |
|
|
|
case MENU_VOICE_BANK: |
|
|
|
if (configuration.dexed[instance_id].bank < MAX_BANKS) |
|
|
|
if (configuration.dexed[instance_id].bank < MAX_BANKS - 1) |
|
|
|
{ |
|
|
|
{ |
|
|
|
configuration.dexed[instance_id].bank++; |
|
|
|
configuration.dexed[instance_id].bank++; |
|
|
|
#ifdef DISPLAY_LCD_SPI |
|
|
|
#ifdef DISPLAY_LCD_SPI |
|
|
@ -596,7 +596,7 @@ void encoder_right_up(void) |
|
|
|
configuration.dexed[instance_id].voice++; |
|
|
|
configuration.dexed[instance_id].voice++; |
|
|
|
else |
|
|
|
else |
|
|
|
{ |
|
|
|
{ |
|
|
|
if (configuration.dexed[instance_id].bank < MAX_BANKS) |
|
|
|
if (configuration.dexed[instance_id].bank < MAX_BANKS - 1) |
|
|
|
{ |
|
|
|
{ |
|
|
|
configuration.dexed[instance_id].bank++; |
|
|
|
configuration.dexed[instance_id].bank++; |
|
|
|
configuration.dexed[instance_id].voice = 0; |
|
|
|
configuration.dexed[instance_id].voice = 0; |
|
|
@ -1619,6 +1619,8 @@ void UI_func_tune(uint8_t param) |
|
|
|
// setup function
|
|
|
|
// setup function
|
|
|
|
lcd.setCursor(0, 0); |
|
|
|
lcd.setCursor(0, 0); |
|
|
|
lcd.print(F("Tune")); |
|
|
|
lcd.print(F("Tune")); |
|
|
|
|
|
|
|
lcd.setCursor(6, 1); |
|
|
|
|
|
|
|
lcd.print(F("cent")); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if (LCDML.FUNC_loop()) // ****** LOOP *********
|
|
|
|
if (LCDML.FUNC_loop()) // ****** LOOP *********
|
|
|
@ -1633,6 +1635,11 @@ void UI_func_tune(uint8_t param) |
|
|
|
{ |
|
|
|
{ |
|
|
|
if (configuration.dexed[instance_id].tune < TUNE_MAX) |
|
|
|
if (configuration.dexed[instance_id].tune < TUNE_MAX) |
|
|
|
{ |
|
|
|
{ |
|
|
|
|
|
|
|
if (configuration.dexed[instance_id].tune == 99) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
MicroDexed[instance_id]->data[DEXED_GLOBAL_PARAMETER_OFFSET + DEXED_TRANSPOSE]++; |
|
|
|
|
|
|
|
configuration.dexed[instance_id].transpose++; |
|
|
|
|
|
|
|
} |
|
|
|
configuration.dexed[instance_id].tune++; |
|
|
|
configuration.dexed[instance_id].tune++; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
@ -1640,17 +1647,22 @@ void UI_func_tune(uint8_t param) |
|
|
|
{ |
|
|
|
{ |
|
|
|
if (configuration.dexed[instance_id].tune > TUNE_MIN) |
|
|
|
if (configuration.dexed[instance_id].tune > TUNE_MIN) |
|
|
|
{ |
|
|
|
{ |
|
|
|
|
|
|
|
if (configuration.dexed[instance_id].tune == 100) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
MicroDexed[instance_id]->data[DEXED_GLOBAL_PARAMETER_OFFSET + DEXED_TRANSPOSE]--; |
|
|
|
|
|
|
|
configuration.dexed[instance_id].transpose--; |
|
|
|
|
|
|
|
} |
|
|
|
configuration.dexed[instance_id].tune--; |
|
|
|
configuration.dexed[instance_id].tune--; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
MicroDexed[instance_id]->data[DEXED_GLOBAL_PARAMETER_OFFSET + DEXED_MASTER_TUNE] = configuration.dexed[instance_id].tune; |
|
|
|
MicroDexed[instance_id]->data[DEXED_GLOBAL_PARAMETER_OFFSET + DEXED_MASTER_TUNE] = configuration.dexed[instance_id].tune; |
|
|
|
MicroDexed[instance_id]->controllers.masterTune = (MicroDexed[instance_id]->data[DEXED_GLOBAL_PARAMETER_OFFSET + DEXED_MASTER_TUNE] / 10 * 0x4000 << 11) * (1.0 / 12); |
|
|
|
MicroDexed[instance_id]->controllers.masterTune = (int(MicroDexed[instance_id]->data[DEXED_GLOBAL_PARAMETER_OFFSET + DEXED_MASTER_TUNE] % 100 / 100.0 * 0x4000) << 11) * (1.0 / 12); |
|
|
|
MicroDexed[instance_id]->doRefreshVoice(); |
|
|
|
MicroDexed[instance_id]->doRefreshVoice(); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
lcd.setCursor(0, 1); |
|
|
|
lcd.setCursor(0, 1); |
|
|
|
lcd_display_int(configuration.dexed[instance_id].tune, 2, true, true, false); |
|
|
|
lcd_display_int(configuration.dexed[instance_id].tune - 100, 1, false, true, true); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if (LCDML.FUNC_close()) // ****** STABLE END *********
|
|
|
|
if (LCDML.FUNC_close()) // ****** STABLE END *********
|
|
|
|