@ -602,28 +602,25 @@ void lcdml_menu_control(void)
# endif
# endif
encoderDir [ ENC_R ] . ButtonLong ( true ) ;
encoderDir [ ENC_R ] . ButtonLong ( true ) ;
# if NUM_DEXED > 1
if ( LCDML . FUNC_getID ( ) = = LCDML . OTHER_getIDFromFunction ( UI_func_voice_select ) )
if ( LCDML . FUNC_getID ( ) = = LCDML . OTHER_getIDFromFunction ( UI_func_voice_select ) )
{
{
selected_instance_id = ! selected_instance_id ;
LCDML . BT_enter ( ) ;
lcd_active_instance_number ( selected_instance_id ) ;
LCDML . OTHER_updateFunc ( ) ;
LCDML . OTHER_updateFunc ( ) ;
LCDML . loop_menu ( ) ;
LCDML . loop_menu ( ) ;
encoderDir [ ENC_R ] . ButtonPressed ( false ) ;
encoderDir [ ENC_R ] . ButtonLong ( false ) ;
}
}
else
else
{
{
# endif
if ( LCDML . FUNC_getID ( ) < 0xff )
if ( LCDML . FUNC_getID ( ) < 0xff )
LCDML . FUNC_setGBAToLastFunc ( ) ;
LCDML . FUNC_setGBAToLastFunc ( ) ;
else
else
LCDML . FUNC_setGBAToLastCursorPos ( ) ;
LCDML . FUNC_setGBAToLastCursorPos ( ) ;
LCDML . OTHER_jumpToFunc ( UI_func_voice_select ) ;
LCDML . OTHER_jumpToFunc ( UI_func_voice_select ) ;
# if NUM_DEXED > 1
}
# endif
encoderDir [ ENC_R ] . reset ( ) ;
encoderDir [ ENC_R ] . reset ( ) ;
}
}
}
// LEFT
// LEFT
if ( g_LCDML_CONTROL_Encoder_position [ ENC_L ] < = - 3 )
if ( g_LCDML_CONTROL_Encoder_position [ ENC_L ] < = - 3 )
@ -2158,7 +2155,7 @@ void UI_func_mono_poly(uint8_t param)
encoderDir [ ENC_R ] . reset ( ) ;
encoderDir [ ENC_R ] . reset ( ) ;
lcd . setCursor ( 0 , 0 ) ;
lcd . setCursor ( 0 , 0 ) ;
lcd . print ( F ( " Mono/Polyphonic " ) ) ;
lcd . print ( F ( " Mono/Poly " ) ) ;
lcd_active_instance_number ( selected_instance_id ) ;
lcd_active_instance_number ( selected_instance_id ) ;
lcd . setCursor ( 14 , 0 ) ;
lcd . setCursor ( 14 , 0 ) ;
@ -3034,7 +3031,6 @@ void UI_func_at_range(uint8_t param)
if ( LCDML . FUNC_close ( ) ) // ****** STABLE END *********
if ( LCDML . FUNC_close ( ) ) // ****** STABLE END *********
{
{
lcd_special_chars ( SCROLLBAR ) ;
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 ) ;
EEPROM . update ( EEPROM_START_ADDRESS + offsetof ( configuration_s , dexed [ 0 ] . at_range ) , configuration . dexed [ 0 ] . at_range ) ;
@ -3198,7 +3194,7 @@ void UI_func_portamento_mode(uint8_t param)
encoderDir [ ENC_R ] . reset ( ) ;
encoderDir [ ENC_R ] . reset ( ) ;
lcd . setCursor ( 0 , 0 ) ;
lcd . setCursor ( 0 , 0 ) ;
lcd . print ( F ( " Portamento Mode " ) ) ;
lcd . print ( F ( " Port. Mode " ) ) ;
lcd_active_instance_number ( selected_instance_id ) ;
lcd_active_instance_number ( selected_instance_id ) ;
lcd . setCursor ( 14 , 0 ) ;
lcd . setCursor ( 14 , 0 ) ;
@ -3267,7 +3263,7 @@ void UI_func_portamento_glissando(uint8_t param)
encoderDir [ ENC_R ] . reset ( ) ;
encoderDir [ ENC_R ] . reset ( ) ;
lcd . setCursor ( 0 , 0 ) ;
lcd . setCursor ( 0 , 0 ) ;
lcd . print ( F ( " Portam . Gliss. " ) ) ;
lcd . print ( F ( " Port. Gliss. " ) ) ;
lcd_active_instance_number ( selected_instance_id ) ;
lcd_active_instance_number ( selected_instance_id ) ;
lcd . setCursor ( 14 , 0 ) ;
lcd . setCursor ( 14 , 0 ) ;
@ -3330,7 +3326,7 @@ void UI_func_portamento_time(uint8_t param)
encoderDir [ ENC_R ] . reset ( ) ;
encoderDir [ ENC_R ] . reset ( ) ;
lcd_special_chars ( BLOCKBAR ) ;
lcd_special_chars ( BLOCKBAR ) ;
lcd_display_bar_int ( " Portam . Time " , configuration . dexed [ selected_instance_id ] . portamento_time , 1.0 , PORTAMENTO_TIME_MIN , PORTAMENTO_TIME_MAX , 2 , false , false , true ) ;
lcd_display_bar_int ( " Port. Time " , configuration . dexed [ selected_instance_id ] . portamento_time , 1.0 , PORTAMENTO_TIME_MIN , PORTAMENTO_TIME_MAX , 2 , false , false , true ) ;
lcd_active_instance_number ( selected_instance_id ) ;
lcd_active_instance_number ( selected_instance_id ) ;
lcd . setCursor ( 14 , 0 ) ;
lcd . setCursor ( 14 , 0 ) ;
@ -3534,8 +3530,15 @@ void UI_func_velocity_level(uint8_t param)
{
{
encoderDir [ ENC_R ] . reset ( ) ;
encoderDir [ ENC_R ] . reset ( ) ;
lcd_active_instance_number ( selected_instance_id ) ;
lcd_special_chars ( BLOCKBAR ) ;
lcd_special_chars ( BLOCKBAR ) ;
lcd_display_bar_int ( " Velocity Lvl " , configuration . dexed [ selected_instance_id ] . velocity_level , 1.0 , VELOCITY_LEVEL_MIN , VELOCITY_LEVEL_MAX , 3 , false , false , true ) ;
lcd_display_bar_int ( " Velocity Lvl " , configuration . dexed [ selected_instance_id ] . velocity_level , 1.0 , VELOCITY_LEVEL_MIN , VELOCITY_LEVEL_MAX , 3 , false , false , true ) ;
lcd . setCursor ( 14 , 0 ) ;
lcd . write ( 0 ) ;
lcd . setCursor ( 15 , 0 ) ;
lcd . write ( 1 ) ;
}
}
if ( LCDML . FUNC_loop ( ) ) // ****** LOOP *********
if ( LCDML . FUNC_loop ( ) ) // ****** LOOP *********
@ -3547,6 +3550,17 @@ void UI_func_velocity_level(uint8_t param)
else if ( LCDML . BT_checkUp ( ) )
else if ( LCDML . BT_checkUp ( ) )
configuration . dexed [ selected_instance_id ] . velocity_level = constrain ( configuration . dexed [ selected_instance_id ] . velocity_level - ENCODER [ ENC_R ] . speed ( ) , VELOCITY_LEVEL_MIN , VELOCITY_LEVEL_MAX ) ;
configuration . dexed [ selected_instance_id ] . velocity_level = constrain ( configuration . dexed [ selected_instance_id ] . velocity_level - ENCODER [ ENC_R ] . speed ( ) , VELOCITY_LEVEL_MIN , VELOCITY_LEVEL_MAX ) ;
}
}
# if NUM_DEXED > 1
else if ( LCDML . BT_checkEnter ( ) )
{
selected_instance_id = ! selected_instance_id ;
lcd_active_instance_number ( selected_instance_id ) ;
lcd . setCursor ( 14 , 0 ) ;
lcd . write ( 0 ) ;
lcd . setCursor ( 15 , 0 ) ;
lcd . write ( 1 ) ;
}
# endif
lcd_display_bar_int ( " Velocity Lvl " , configuration . dexed [ selected_instance_id ] . velocity_level , 1.0 , VELOCITY_LEVEL_MIN , VELOCITY_LEVEL_MAX , 3 , false , false , false ) ;
lcd_display_bar_int ( " Velocity Lvl " , configuration . dexed [ selected_instance_id ] . velocity_level , 1.0 , VELOCITY_LEVEL_MIN , VELOCITY_LEVEL_MAX , 3 , false , false , false ) ;
}
}
@ -3600,6 +3614,13 @@ void UI_func_eeprom_reset(uint8_t param)
delay ( MESSAGE_WAIT_TIME ) ;
delay ( MESSAGE_WAIT_TIME ) ;
_softRestart ( ) ;
_softRestart ( ) ;
}
}
else
{
lcd . setCursor ( 0 , 1 ) ;
lcd . print ( " Canceled. " ) ;
delay ( MESSAGE_WAIT_TIME ) ;
LCDML . FUNC_goBackToMenu ( ) ;
}
}
}
if ( yesno = = true )
if ( yesno = = true )
@ -3618,7 +3639,7 @@ void UI_func_eeprom_reset(uint8_t param)
if ( LCDML . FUNC_close ( ) ) // ****** STABLE END *********
if ( LCDML . FUNC_close ( ) ) // ****** STABLE END *********
{
{
lcd . setCursor ( 0 , 1 ) ;
lcd . setCursor ( 0 , 1 ) ;
lcd . print ( " Canceled " ) ;
lcd . print ( " Canceled. " ) ;
delay ( MESSAGE_WAIT_TIME ) ;
delay ( MESSAGE_WAIT_TIME ) ;
encoderDir [ ENC_R ] . reset ( ) ;
encoderDir [ ENC_R ] . reset ( ) ;
@ -3659,7 +3680,7 @@ void UI_func_voice_select(uint8_t param)
char bank_name [ BANK_NAME_LEN ] ;
char bank_name [ BANK_NAME_LEN ] ;
char voice_name [ VOICE_NAME_LEN ] ;
char voice_name [ VOICE_NAME_LEN ] ;
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 ( ) | | encoderDir [ ENC_R ] . ButtonLong ( ) ) ) )
{
{
uint8_t bank_tmp ;
uint8_t bank_tmp ;
int8_t voice_tmp ;
int8_t voice_tmp ;
@ -3747,13 +3768,24 @@ void UI_func_voice_select(uint8_t param)
break ;
break ;
}
}
}
}
else if ( LCDML . BT_checkEnter ( ) )
else if ( LCDML . BT_checkEnter ( ) & & encoderDir [ ENC_R ] . ButtonPressed ( ) )
{
{
if ( menu_voice_select = = MENU_VOICE_BANK )
if ( menu_voice_select = = MENU_VOICE_BANK )
menu_voice_select = MENU_VOICE_SOUND ;
menu_voice_select = MENU_VOICE_SOUND ;
else
else
menu_voice_select = MENU_VOICE_BANK ;
menu_voice_select = MENU_VOICE_BANK ;
}
}
# if NUM_DEXED > 1
else if ( LCDML . BT_checkEnter ( ) )
{
selected_instance_id = ! selected_instance_id ;
lcd_active_instance_number ( selected_instance_id ) ;
lcd . setCursor ( 14 , 0 ) ;
lcd . write ( 0 ) ;
lcd . setCursor ( 15 , 0 ) ;
lcd . write ( 1 ) ;
}
# endif
}
}
if ( strlen ( g_bank_name [ selected_instance_id ] ) > 0 )
if ( strlen ( g_bank_name [ selected_instance_id ] ) > 0 )
@ -4659,6 +4691,8 @@ void UI_func_save_voice(uint8_t param)
if ( LCDML . FUNC_close ( ) ) // ****** STABLE END *********
if ( LCDML . FUNC_close ( ) ) // ****** STABLE END *********
{
{
lcd_special_chars ( SCROLLBAR ) ;
if ( mode < 0xff )
if ( mode < 0xff )
{
{
lcd . show ( 1 , 0 , 16 , " Canceled. " ) ;
lcd . show ( 1 , 0 , 16 , " Canceled. " ) ;