@ -158,6 +158,13 @@ void UI_func_bc_range(uint8_t param);
void UI_func_bc_assign ( uint8_t param ) ;
void UI_func_bc_assign ( uint8_t param ) ;
void UI_func_at_range ( uint8_t param ) ;
void UI_func_at_range ( uint8_t param ) ;
void UI_func_at_assign ( uint8_t param ) ;
void UI_func_at_assign ( uint8_t param ) ;
void UI_func_OP1 ( uint8_t param ) ;
void UI_func_OP2 ( uint8_t param ) ;
void UI_func_OP3 ( uint8_t param ) ;
void UI_func_OP4 ( uint8_t param ) ;
void UI_func_OP5 ( uint8_t param ) ;
void UI_func_OP6 ( uint8_t param ) ;
void UI_handle_OP ( uint8_t param , uint8_t op , uint8_t instance_id ) ;
void UI_func_information ( uint8_t param ) ;
void UI_func_information ( uint8_t param ) ;
void UI_func_voice_selection ( uint8_t param ) ;
void UI_func_voice_selection ( uint8_t param ) ;
void UI_func_volume ( uint8_t param ) ;
void UI_func_volume ( uint8_t param ) ;
@ -204,12 +211,12 @@ LCDML_add(28, LCDML_0_1_2_12, 1, "Port. Mode 1", UI_function_not_enabled);
LCDML_add ( 29 , LCDML_0_1_2_12 , 2 , " Port. Gliss 1 " , UI_function_not_enabled ) ;
LCDML_add ( 29 , LCDML_0_1_2_12 , 2 , " Port. Gliss 1 " , UI_function_not_enabled ) ;
LCDML_add ( 30 , LCDML_0_1_2_12 , 3 , " Port. Time 1 " , UI_function_not_enabled ) ;
LCDML_add ( 30 , LCDML_0_1_2_12 , 3 , " Port. Time 1 " , UI_function_not_enabled ) ;
LCDML_add ( 31 , LCDML_0_1_2 , 16 , " Operator 1 " , NULL ) ;
LCDML_add ( 31 , LCDML_0_1_2 , 16 , " Operator 1 " , NULL ) ;
LCDML_add ( 32 , LCDML_0_1_2_13 , 1 , " OP1 1 " , UI_function_not_implemented ) ;
LCDML_add ( 32 , LCDML_0_1_2_13 , 1 , " OP1 1 " , UI_func_OP1 ) ;
LCDML_add ( 33 , LCDML_0_1_2_13 , 2 , " OP2 1 " , UI_function_not_implemented ) ;
LCDML_add ( 33 , LCDML_0_1_2_13 , 2 , " OP2 1 " , UI_func_OP2 ) ;
LCDML_add ( 34 , LCDML_0_1_2_13 , 3 , " OP3 1 " , UI_function_not_implemented ) ;
LCDML_add ( 34 , LCDML_0_1_2_13 , 3 , " OP3 1 " , UI_func_OP3 ) ;
LCDML_add ( 35 , LCDML_0_1_2_13 , 4 , " OP4 1 " , UI_function_not_implemented ) ;
LCDML_add ( 35 , LCDML_0_1_2_13 , 4 , " OP4 1 " , UI_func_OP4 ) ;
LCDML_add ( 36 , LCDML_0_1_2_13 , 5 , " OP5 1 " , UI_function_not_implemented ) ;
LCDML_add ( 36 , LCDML_0_1_2_13 , 5 , " OP5 1 " , UI_func_OP5 ) ;
LCDML_add ( 37 , LCDML_0_1_2_13 , 6 , " OP6 1 " , UI_function_not_implemented ) ;
LCDML_add ( 37 , LCDML_0_1_2_13 , 6 , " OP6 1 " , UI_func_OP6 ) ;
LCDML_add ( 38 , LCDML_0_1 , 3 , " Instance 2 " , NULL ) ;
LCDML_add ( 38 , LCDML_0_1 , 3 , " Instance 2 " , NULL ) ;
LCDML_add ( 39 , LCDML_0_1_3 , 1 , " MIDI Channel 2 " , UI_func_midi_channel ) ;
LCDML_add ( 39 , LCDML_0_1_3 , 1 , " MIDI Channel 2 " , UI_func_midi_channel ) ;
LCDML_add ( 40 , LCDML_0_1_3 , 2 , " Loudness 2 " , UI_func_loudness ) ;
LCDML_add ( 40 , LCDML_0_1_3 , 2 , " Loudness 2 " , UI_func_loudness ) ;
@ -240,12 +247,12 @@ LCDML_add(64, LCDML_0_1_3_12, 1, "Port. Mode 2", UI_function_not_enabled);
LCDML_add ( 65 , LCDML_0_1_3_12 , 2 , " Port. Gliss 2 " , UI_function_not_enabled ) ;
LCDML_add ( 65 , LCDML_0_1_3_12 , 2 , " Port. Gliss 2 " , UI_function_not_enabled ) ;
LCDML_add ( 66 , LCDML_0_1_3_12 , 3 , " Port. Time 2 " , UI_function_not_enabled ) ;
LCDML_add ( 66 , LCDML_0_1_3_12 , 3 , " Port. Time 2 " , UI_function_not_enabled ) ;
LCDML_add ( 67 , LCDML_0_1_3 , 16 , " Operator 2 " , NULL ) ;
LCDML_add ( 67 , LCDML_0_1_3 , 16 , " Operator 2 " , NULL ) ;
LCDML_add ( 68 , LCDML_0_1_3_13 , 1 , " OP1 2 " , UI_function_not_implemented ) ;
LCDML_add ( 68 , LCDML_0_1_3_13 , 1 , " OP1 2 " , UI_func_OP1 ) ;
LCDML_add ( 69 , LCDML_0_1_3_13 , 2 , " OP2 2 " , UI_function_not_implemented ) ;
LCDML_add ( 69 , LCDML_0_1_3_13 , 2 , " OP2 2 " , UI_func_OP2 ) ;
LCDML_add ( 70 , LCDML_0_1_3_13 , 3 , " OP3 2 " , UI_function_not_implemented ) ;
LCDML_add ( 70 , LCDML_0_1_3_13 , 3 , " OP3 2 " , UI_func_OP3 ) ;
LCDML_add ( 71 , LCDML_0_1_3_13 , 4 , " OP4 2 " , UI_function_not_implemented ) ;
LCDML_add ( 71 , LCDML_0_1_3_13 , 4 , " OP4 2 " , UI_func_OP4 ) ;
LCDML_add ( 72 , LCDML_0_1_3_13 , 5 , " OP5 2 " , UI_function_not_implemented ) ;
LCDML_add ( 72 , LCDML_0_1_3_13 , 5 , " OP5 2 " , UI_func_OP5 ) ;
LCDML_add ( 73 , LCDML_0_1_3_13 , 6 , " OP6 2 " , UI_function_not_implemented ) ;
LCDML_add ( 73 , LCDML_0_1_3_13 , 6 , " OP6 2 " , UI_func_OP6 ) ;
LCDML_add ( 74 , LCDML_0 , 2 , " Effect " , NULL ) ;
LCDML_add ( 74 , LCDML_0 , 2 , " Effect " , NULL ) ;
LCDML_add ( 75 , LCDML_0_2 , 1 , " Reverb " , NULL ) ;
LCDML_add ( 75 , LCDML_0_2 , 1 , " Reverb " , NULL ) ;
LCDML_add ( 76 , LCDML_0_2_1 , 1 , " Roomsize " , UI_func_reverb_roomsize ) ;
LCDML_add ( 76 , LCDML_0_2_1 , 1 , " Roomsize " , UI_func_reverb_roomsize ) ;
@ -297,12 +304,12 @@ LCDML_add(26, LCDML_0_1_15, 1, "Port. Mode", UI_function_not_implemented);
LCDML_add ( 27 , LCDML_0_1_15 , 2 , " Port. Gliss " , UI_function_not_implemented ) ;
LCDML_add ( 27 , LCDML_0_1_15 , 2 , " Port. Gliss " , UI_function_not_implemented ) ;
LCDML_add ( 28 , LCDML_0_1_15 , 3 , " Port. Time " , UI_function_not_implemented ) ;
LCDML_add ( 28 , LCDML_0_1_15 , 3 , " Port. Time " , UI_function_not_implemented ) ;
LCDML_add ( 29 , LCDML_0_1 , 16 , " Operator " , NULL ) ;
LCDML_add ( 29 , LCDML_0_1 , 16 , " Operator " , NULL ) ;
LCDML_add ( 30 , LCDML_0_1_16 , 1 , " OP1 " , UI_function_not_implemented ) ;
LCDML_add ( 30 , LCDML_0_1_16 , 1 , " OP1 " , UI_func_OP1 ) ;
LCDML_add ( 31 , LCDML_0_1_16 , 2 , " OP2 " , UI_function_not_implemented ) ;
LCDML_add ( 31 , LCDML_0_1_16 , 2 , " OP2 " , UI_func_OP2 ) ;
LCDML_add ( 32 , LCDML_0_1_16 , 3 , " OP3 " , UI_function_not_implemented ) ;
LCDML_add ( 32 , LCDML_0_1_16 , 3 , " OP3 " , UI_func_OP3 ) ;
LCDML_add ( 33 , LCDML_0_1_16 , 4 , " OP4 " , UI_function_not_implemented ) ;
LCDML_add ( 33 , LCDML_0_1_16 , 4 , " OP4 " , UI_func_OP4 ) ;
LCDML_add ( 34 , LCDML_0_1_16 , 5 , " OP5 " , UI_function_not_implemented ) ;
LCDML_add ( 34 , LCDML_0_1_16 , 5 , " OP5 " , UI_func_OP5 ) ;
LCDML_add ( 35 , LCDML_0_1_16 , 6 , " OP6 " , UI_function_not_implemented ) ;
LCDML_add ( 35 , LCDML_0_1_16 , 6 , " OP6 " , UI_func_OP6 ) ;
LCDML_add ( 36 , LCDML_0 , 2 , " Effect " , NULL ) ;
LCDML_add ( 36 , LCDML_0 , 2 , " Effect " , NULL ) ;
LCDML_add ( 37 , LCDML_0_2 , 1 , " Reverb " , NULL ) ;
LCDML_add ( 37 , LCDML_0_2 , 1 , " Reverb " , NULL ) ;
LCDML_add ( 38 , LCDML_0_2_1 , 1 , " Roomsize " , UI_func_reverb_roomsize ) ;
LCDML_add ( 38 , LCDML_0_2_1 , 1 , " Roomsize " , UI_func_reverb_roomsize ) ;
@ -2483,6 +2490,109 @@ void UI_func_at_assign(uint8_t param)
}
}
}
}
void UI_func_OP1 ( uint8_t param )
{
uint8_t instance_id = 0 ;
if ( LCDML . FUNC_getID ( ) > MENU_ID_OF_INSTANCE_2 )
instance_id = 1 ;
UI_handle_OP ( param , 0 , instance_id ) ;
}
void UI_func_OP2 ( uint8_t param )
{
uint8_t instance_id = 0 ;
if ( LCDML . FUNC_getID ( ) > MENU_ID_OF_INSTANCE_2 )
instance_id = 1 ;
UI_handle_OP ( param , 0 , instance_id ) ;
}
void UI_func_OP3 ( uint8_t param )
{
uint8_t instance_id = 0 ;
if ( LCDML . FUNC_getID ( ) > MENU_ID_OF_INSTANCE_2 )
instance_id = 1 ;
UI_handle_OP ( param , 2 , instance_id ) ;
}
void UI_func_OP4 ( uint8_t param )
{
uint8_t instance_id = 0 ;
if ( LCDML . FUNC_getID ( ) > MENU_ID_OF_INSTANCE_2 )
instance_id = 1 ;
UI_handle_OP ( param , 3 , instance_id ) ;
}
void UI_func_OP5 ( uint8_t param )
{
uint8_t instance_id = 0 ;
if ( LCDML . FUNC_getID ( ) > MENU_ID_OF_INSTANCE_2 )
instance_id = 1 ;
UI_handle_OP ( param , 4 , instance_id ) ;
}
void UI_func_OP6 ( uint8_t param )
{
uint8_t instance_id = 0 ;
if ( LCDML . FUNC_getID ( ) > MENU_ID_OF_INSTANCE_2 )
instance_id = 1 ;
UI_handle_OP ( param , 5 , instance_id ) ;
}
void UI_handle_OP ( uint8_t param , uint8_t op , uint8_t instance_id )
{
bool state = bitRead ( configuration . dexed [ instance_id ] . op_enabled , op ) ;
if ( LCDML . FUNC_setup ( ) ) // ****** SETUP *********
{
// setup function
lcd . setCursor ( 0 , 0 ) ;
lcd . print ( F ( " Operator " ) ) ;
lcd . print ( op + 1 ) ;
}
if ( LCDML . FUNC_loop ( ) ) // ****** LOOP *********
{
if ( LCDML . BT_checkEnter ( ) )
{
LCDML . FUNC_goBackToMenu ( ) ;
}
else if ( LCDML . BT_checkUp ( ) & & state = = true )
bitClear ( configuration . dexed [ instance_id ] . op_enabled , op ) ;
else if ( LCDML . BT_checkDown ( ) & & state = = false )
bitSet ( configuration . dexed [ instance_id ] . op_enabled , op ) ;
}
lcd . setCursor ( 0 , 1 ) ;
if ( state = = true )
{
lcd . print ( F ( " [ENABLED ] " ) ) ;
}
else
{
lcd . print ( F ( " [DISABLED] " ) ) ;
}
MicroDexed [ instance_id ] - > setOPs ( configuration . dexed [ instance_id ] . op_enabled ) ;
MicroDexed [ instance_id ] - > doRefreshVoice ( ) ;
if ( LCDML . FUNC_close ( ) ) // ****** STABLE END *********
{
// you can here reset some global vars or do nothing
eeprom_write ( ) ;
}
}
void UI_func_information ( uint8_t param )
void UI_func_information ( uint8_t param )
{
{
if ( LCDML . FUNC_setup ( ) ) // ****** SETUP *********
if ( LCDML . FUNC_setup ( ) ) // ****** SETUP *********