|
|
@ -101,8 +101,8 @@ extern AudioAnalyzePeak master_peak_l; |
|
|
|
extern char sd_string[LCD_cols + 1]; |
|
|
|
extern char sd_string[LCD_cols + 1]; |
|
|
|
extern char g_voice_name[NUM_DEXED][VOICE_NAME_LEN]; |
|
|
|
extern char g_voice_name[NUM_DEXED][VOICE_NAME_LEN]; |
|
|
|
extern char g_bank_name[NUM_DEXED][BANK_NAME_LEN]; |
|
|
|
extern char g_bank_name[NUM_DEXED][BANK_NAME_LEN]; |
|
|
|
extern int perform_attack_mod; |
|
|
|
extern int perform_attack_mod[NUM_DEXED]; |
|
|
|
extern int perform_release_mod; |
|
|
|
extern int perform_release_mod[NUM_DEXED]; |
|
|
|
/***********************************************************************
|
|
|
|
/***********************************************************************
|
|
|
|
GLOBAL |
|
|
|
GLOBAL |
|
|
|
************************************************************************/ |
|
|
|
************************************************************************/ |
|
|
@ -3766,8 +3766,11 @@ void UI_func_voice_select(uint8_t param) |
|
|
|
int8_t voice_tmp; |
|
|
|
int8_t voice_tmp; |
|
|
|
|
|
|
|
|
|
|
|
// Reset Performance Modifiers to 0 after every preset change
|
|
|
|
// Reset Performance Modifiers to 0 after every preset change
|
|
|
|
perform_attack_mod=0; |
|
|
|
for (uint8_t count_tmp = 0; count_tmp < NUM_DEXED; count_tmp++) |
|
|
|
perform_release_mod=0; |
|
|
|
{ |
|
|
|
|
|
|
|
perform_attack_mod[count_tmp] = 0; |
|
|
|
|
|
|
|
perform_release_mod[count_tmp] = 0; |
|
|
|
|
|
|
|
} |
|
|
|
active_perform_page = 1; |
|
|
|
active_perform_page = 1; |
|
|
|
|
|
|
|
|
|
|
|
if (LCDML.BT_checkUp()) |
|
|
|
if (LCDML.BT_checkUp()) |
|
|
@ -4045,7 +4048,7 @@ void UI_func_volume(uint8_t param) |
|
|
|
lcd.setCursor(0, 1); |
|
|
|
lcd.setCursor(0, 1); |
|
|
|
lcd.print("Attack = "); |
|
|
|
lcd.print("Attack = "); |
|
|
|
lcd.setCursor(13, 1); |
|
|
|
lcd.setCursor(13, 1); |
|
|
|
sprintf(tmp, "%03d", perform_attack_mod); |
|
|
|
sprintf(tmp, "%03d", perform_attack_mod[selected_instance_id]); |
|
|
|
lcd.print(tmp); |
|
|
|
lcd.print(tmp); |
|
|
|
back_from_volume = 0; |
|
|
|
back_from_volume = 0; |
|
|
|
} |
|
|
|
} |
|
|
@ -4057,7 +4060,7 @@ void UI_func_volume(uint8_t param) |
|
|
|
lcd.setCursor(11, 1); |
|
|
|
lcd.setCursor(11, 1); |
|
|
|
lcd.print("Release = "); |
|
|
|
lcd.print("Release = "); |
|
|
|
lcd.setCursor(13, 1); |
|
|
|
lcd.setCursor(13, 1); |
|
|
|
sprintf(tmp, "%03d", perform_release_mod); |
|
|
|
sprintf(tmp, "%03d", perform_release_mod[selected_instance_id]); |
|
|
|
lcd.print(tmp); |
|
|
|
lcd.print(tmp); |
|
|
|
back_from_volume = 0; |
|
|
|
back_from_volume = 0; |
|
|
|
} |
|
|
|
} |
|
|
@ -4107,11 +4110,16 @@ void UI_func_volume(uint8_t param) |
|
|
|
|
|
|
|
|
|
|
|
if (LCDML.BT_checkDown() ) |
|
|
|
if (LCDML.BT_checkDown() ) |
|
|
|
{ |
|
|
|
{ |
|
|
|
perform_attack_mod = constrain(perform_attack_mod + ENCODER[ENC_L].speed(), -MAX_PERF_MOD, MAX_PERF_MOD); |
|
|
|
perform_attack_mod[selected_instance_id] = constrain(perform_attack_mod[selected_instance_id] + ENCODER[ENC_L].speed(), -MAX_PERF_MOD, MAX_PERF_MOD); |
|
|
|
|
|
|
|
for (uint8_t i = 0; i < 6; i++) |
|
|
|
|
|
|
|
MicroDexed[selected_instance_id]->setRateOP(i, ATTACK, MicroDexed[selected_instance_id]->getRateOP(i, ATTACK) - perform_attack_mod[selected_instance_id] ); |
|
|
|
} |
|
|
|
} |
|
|
|
else if (LCDML.BT_checkUp() ) |
|
|
|
else if (LCDML.BT_checkUp() ) |
|
|
|
{ |
|
|
|
{ |
|
|
|
perform_attack_mod = constrain(perform_attack_mod - ENCODER[ENC_L].speed(), -MAX_PERF_MOD, MAX_PERF_MOD); |
|
|
|
perform_attack_mod[selected_instance_id] = constrain(perform_attack_mod[selected_instance_id] - ENCODER[ENC_L].speed(), -MAX_PERF_MOD, MAX_PERF_MOD); |
|
|
|
|
|
|
|
for (uint8_t i = 0; i < 6; i++) |
|
|
|
|
|
|
|
MicroDexed[selected_instance_id]->setRateOP(i, ATTACK, MicroDexed[selected_instance_id]->getRateOP(i, ATTACK) - perform_attack_mod[selected_instance_id] ); |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -4121,11 +4129,17 @@ void UI_func_volume(uint8_t param) |
|
|
|
|
|
|
|
|
|
|
|
if (LCDML.BT_checkDown() ) |
|
|
|
if (LCDML.BT_checkDown() ) |
|
|
|
{ |
|
|
|
{ |
|
|
|
perform_release_mod = constrain(perform_release_mod + ENCODER[ENC_L].speed(), -MAX_PERF_MOD, MAX_PERF_MOD); |
|
|
|
perform_release_mod[selected_instance_id] = constrain(perform_release_mod[selected_instance_id] + ENCODER[ENC_L].speed(), -MAX_PERF_MOD, MAX_PERF_MOD); |
|
|
|
|
|
|
|
for (uint8_t i = 0; i < 6; i++) |
|
|
|
|
|
|
|
MicroDexed[selected_instance_id]->setRateOP(i, RELEASE, MicroDexed[selected_instance_id]->getRateOP(i, RELEASE) - perform_release_mod[selected_instance_id] ); |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
else if (LCDML.BT_checkUp() ) |
|
|
|
else if (LCDML.BT_checkUp() ) |
|
|
|
{ |
|
|
|
{ |
|
|
|
perform_release_mod = constrain(perform_release_mod - ENCODER[ENC_L].speed(), -MAX_PERF_MOD, MAX_PERF_MOD); |
|
|
|
perform_release_mod[selected_instance_id] = constrain(perform_release_mod[selected_instance_id] - ENCODER[ENC_L].speed(), -MAX_PERF_MOD, MAX_PERF_MOD); |
|
|
|
|
|
|
|
for (uint8_t i = 0; i < 6; i++) |
|
|
|
|
|
|
|
MicroDexed[selected_instance_id]->setRateOP(i, RELEASE, MicroDexed[selected_instance_id]->getRateOP(i, RELEASE) - perform_release_mod[selected_instance_id] ); |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
@ -4146,7 +4160,7 @@ void UI_func_volume(uint8_t param) |
|
|
|
lcd.setCursor(0, 1); |
|
|
|
lcd.setCursor(0, 1); |
|
|
|
lcd.print("Attack = "); |
|
|
|
lcd.print("Attack = "); |
|
|
|
lcd.setCursor(13, 1); |
|
|
|
lcd.setCursor(13, 1); |
|
|
|
sprintf(tmp, "%03d", perform_attack_mod); |
|
|
|
sprintf(tmp, "%03d", perform_attack_mod[selected_instance_id]); |
|
|
|
lcd.print(tmp); |
|
|
|
lcd.print(tmp); |
|
|
|
back_from_volume = 0; |
|
|
|
back_from_volume = 0; |
|
|
|
} |
|
|
|
} |
|
|
@ -4156,7 +4170,7 @@ void UI_func_volume(uint8_t param) |
|
|
|
lcd.setCursor(0, 1); |
|
|
|
lcd.setCursor(0, 1); |
|
|
|
lcd.print("Release = "); |
|
|
|
lcd.print("Release = "); |
|
|
|
lcd.setCursor(13, 1); |
|
|
|
lcd.setCursor(13, 1); |
|
|
|
sprintf(tmp, "%03d", perform_release_mod); |
|
|
|
sprintf(tmp, "%03d", perform_release_mod[selected_instance_id]); |
|
|
|
lcd.print(tmp); |
|
|
|
lcd.print(tmp); |
|
|
|
back_from_volume = 0; |
|
|
|
back_from_volume = 0; |
|
|
|
} |
|
|
|
} |
|
|
|