@ -148,6 +148,7 @@ 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 ) ;
void UI_function_not_enabled ( void ) ;
void UI_function_not_enabled ( void ) ;
void UI_function_not_implemented ( void ) ;
void lcd_display_int ( int16_t var , uint8_t size , bool zeros , bool brackets , bool sign ) ;
void lcd_display_int ( int16_t var , uint8_t size , bool zeros , bool brackets , bool sign ) ;
void lcd_display_float ( float var , uint8_t size_number , uint8_t size_fraction , bool zeros , bool brackets , bool sign ) ;
void lcd_display_float ( float var , uint8_t size_number , uint8_t size_fraction , bool zeros , bool brackets , bool sign ) ;
@ -156,34 +157,91 @@ LCDMenuLib2_menu LCDML_0(255, 0, 0, NULL, NULL); // normal root menu element (do
LCDMenuLib2 LCDML ( LCDML_0 , _LCDML_DISP_rows , _LCDML_DISP_cols , lcdml_menu_display , lcdml_menu_clear , lcdml_menu_control ) ;
LCDMenuLib2 LCDML ( LCDML_0 , _LCDML_DISP_rows , _LCDML_DISP_cols , lcdml_menu_display , lcdml_menu_clear , lcdml_menu_control ) ;
// LCDML_add(id, prev_layer, new_num, lang_char_array, callback_function)
// LCDML_add(id, prev_layer, new_num, lang_char_array, callback_function)
LCDML_add ( 0 , LCDML_0 , 1 , " Sound " , UI_func_sound ) ;
LCDML_add ( 0 , LCDML_0 , 1 , " Setup " , NULL ) ;
LCDML_add ( 1 , LCDML_0 , 2 , " Effect " , NULL ) ;
LCDML_add ( 1 , LCDML_0_1 , 1 , " Instances " , UI_function_not_implemented ) ;
LCDML_add ( 2 , LCDML_0_2 , 1 , " Reverb " , NULL ) ;
LCDML_add ( 2 , LCDML_0_1 , 2 , " Instance 1 " , NULL ) ;
LCDML_add ( 3 , LCDML_0_2_1 , 1 , " Roomsize " , UI_func_reverb_roomsize ) ;
LCDML_add ( 3 , LCDML_0_1_2 , 1 , " Mono/Poly 1 " , UI_function_not_implemented ) ;
LCDML_add ( 4 , LCDML_0_2_1 , 2 , " Damping " , UI_func_reverb_damping ) ;
LCDML_add ( 4 , LCDML_0_1_2 , 2 , " Pitchbend 1 " , NULL ) ;
LCDML_add ( 5 , LCDML_0_2_1 , 3 , " Level " , UI_func_reverb_level ) ;
LCDML_add ( 5 , LCDML_0_1_2_2 , 1 , " PB Range 1 " , UI_function_not_implemented ) ;
LCDML_add ( 6 , LCDML_0_2 , 2 , " Chorus " , NULL ) ;
LCDML_add ( 6 , LCDML_0_1_2_2 , 2 , " PB Step 1 " , UI_function_not_implemented ) ;
LCDML_add ( 7 , LCDML_0_2_2 , 1 , " Frequency " , UI_func_chorus_frequency ) ;
LCDML_add ( 7 , LCDML_0_1_2 , 3 , " Mod Wheel 1 " , NULL ) ;
LCDML_add ( 8 , LCDML_0_2_2 , 2 , " Waveform " , UI_func_chorus_waveform ) ;
LCDML_add ( 8 , LCDML_0_1_2_3 , 1 , " MW Range 1 " , UI_function_not_implemented ) ;
LCDML_add ( 9 , LCDML_0_2_2 , 3 , " Depth " , UI_func_chorus_depth ) ;
LCDML_add ( 9 , LCDML_0_1_2_3 , 2 , " MW Assign 1 " , UI_function_not_implemented ) ;
LCDML_add ( 10 , LCDML_0_2_2 , 4 , " Level " , UI_func_chorus_level ) ;
LCDML_add ( 10 , LCDML_0_1_2 , 4 , " Foot Ctrl 1 " , NULL ) ;
LCDML_add ( 11 , LCDML_0_2 , 3 , " Delay " , NULL ) ;
LCDML_add ( 11 , LCDML_0_1_2_4 , 1 , " FC Range 1 " , UI_function_not_implemented ) ;
LCDML_add ( 12 , LCDML_0_2_3 , 1 , " Time " , UI_func_delay_time ) ;
LCDML_add ( 12 , LCDML_0_1_2_4 , 2 , " FC Assign 1 " , UI_function_not_implemented ) ;
LCDML_add ( 13 , LCDML_0_2_3 , 2 , " Feedback " , UI_func_delay_feedback ) ;
LCDML_add ( 13 , LCDML_0_1_2 , 5 , " Breath Ctrl 1 " , NULL ) ;
LCDML_add ( 14 , LCDML_0_2_3 , 3 , " Level " , UI_func_delay_level ) ;
LCDML_add ( 14 , LCDML_0_1_2_5 , 1 , " BC Range 1 " , UI_function_not_implemented ) ;
LCDML_add ( 15 , LCDML_0_2 , 4 , " Filter " , NULL ) ;
LCDML_add ( 15 , LCDML_0_1_2_5 , 2 , " BC Assign 1 " , UI_function_not_implemented ) ;
LCDML_add ( 16 , LCDML_0_2_4 , 1 , " Cutoff " , UI_func_filter_cutoff ) ;
LCDML_add ( 16 , LCDML_0_1_2 , 6 , " Aftertouch 1 " , NULL ) ;
LCDML_add ( 17 , LCDML_0_2_4 , 2 , " Resonance " , UI_func_filter_resonance ) ;
LCDML_add ( 17 , LCDML_0_1_2_6 , 1 , " AT Range 1 " , UI_function_not_implemented ) ;
LCDML_add ( 18 , LCDML_0 , 3 , " Store " , NULL ) ;
LCDML_add ( 18 , LCDML_0_1_2_6 , 2 , " AT Assign 1 " , UI_function_not_implemented ) ;
LCDML_add ( 19 , LCDML_0 , 4 , " System " , NULL ) ;
LCDML_add ( 19 , LCDML_0_1_2 , 7 , " Portamento 1 " , NULL ) ;
LCDML_add ( 20 , LCDML_0_4 , 1 , " MIDI Channel " , UI_func_midi_channel ) ;
LCDML_add ( 20 , LCDML_0_1_2_7 , 1 , " Port. Mode 1 " , UI_function_not_enabled ) ;
LCDML_add ( 21 , LCDML_0_4 , 2 , " Loudness " , UI_func_loudness ) ;
LCDML_add ( 21 , LCDML_0_1_2_7 , 2 , " Port. Gliss 1 " , UI_function_not_enabled ) ;
LCDML_add ( 22 , LCDML_0_4 , 3 , " Panorama " , UI_func_panorama ) ;
LCDML_add ( 22 , LCDML_0_1_2_7 , 3 , " Port. Time 1 " , UI_function_not_enabled ) ;
LCDML_add ( 23 , LCDML_0_4 , 4 , " Stereo/Mono " , UI_func_stereo_mono ) ;
LCDML_add ( 23 , LCDML_0_1_2 , 8 , " Operator 1 " , NULL ) ;
LCDML_add ( 24 , LCDML_0_4 , 5 , " Polyphony " , UI_func_polyphony ) ;
LCDML_add ( 24 , LCDML_0_1_2_8 , 1 , " OP1 1 " , UI_function_not_implemented ) ;
LCDML_add ( 25 , LCDML_0_4 , 6 , " Engine " , UI_func_engine ) ;
LCDML_add ( 25 , LCDML_0_1_2_8 , 2 , " OP2 1 " , UI_function_not_implemented ) ;
LCDML_add ( 26 , LCDML_0 , 5 , " Info " , UI_func_information ) ;
LCDML_add ( 26 , LCDML_0_1_2_8 , 3 , " OP3 1 " , UI_function_not_implemented ) ;
# define _LCDML_DISP_cnt 26
LCDML_add ( 27 , LCDML_0_1_2_8 , 4 , " OP4 1 " , UI_function_not_implemented ) ;
LCDML_add ( 28 , LCDML_0_1_2_8 , 5 , " OP5 1 " , UI_function_not_implemented ) ;
LCDML_add ( 29 , LCDML_0_1_2_8 , 6 , " OP6 1 " , UI_function_not_implemented ) ;
LCDML_add ( 30 , LCDML_0_1 , 3 , " Instance 2 " , NULL ) ;
LCDML_add ( 31 , LCDML_0_1_3 , 1 , " Mono/Poly 2 " , UI_function_not_implemented ) ;
LCDML_add ( 32 , LCDML_0_1_3 , 2 , " Pitchbend 2 " , NULL ) ;
LCDML_add ( 33 , LCDML_0_1_3_2 , 1 , " PB Range 2 " , UI_function_not_implemented ) ;
LCDML_add ( 34 , LCDML_0_1_3_2 , 2 , " PB Step 2 " , UI_function_not_implemented ) ;
LCDML_add ( 35 , LCDML_0_1_3 , 3 , " Mod Wheel 2 " , NULL ) ;
LCDML_add ( 36 , LCDML_0_1_3_3 , 1 , " MW Range 2 " , UI_function_not_implemented ) ;
LCDML_add ( 37 , LCDML_0_1_3_3 , 2 , " MW Assign 2 " , UI_function_not_implemented ) ;
LCDML_add ( 38 , LCDML_0_1_3 , 4 , " Foot Ctrl 2 " , NULL ) ;
LCDML_add ( 39 , LCDML_0_1_3_4 , 1 , " FC Range 2 " , UI_function_not_implemented ) ;
LCDML_add ( 40 , LCDML_0_1_3_4 , 2 , " FC Assign 2 " , UI_function_not_implemented ) ;
LCDML_add ( 41 , LCDML_0_1_3 , 5 , " Breat Ctrl 2 " , NULL ) ;
LCDML_add ( 42 , LCDML_0_1_3_5 , 1 , " BC Range 2 " , UI_function_not_implemented ) ;
LCDML_add ( 43 , LCDML_0_1_3_5 , 2 , " BC Assign 2 " , UI_function_not_implemented ) ;
LCDML_add ( 44 , LCDML_0_1_3 , 6 , " Aftertouch 2 " , NULL ) ;
LCDML_add ( 45 , LCDML_0_1_3_6 , 1 , " AT Range 2 " , UI_function_not_implemented ) ;
LCDML_add ( 46 , LCDML_0_1_3_6 , 2 , " AT Assign 2 " , UI_function_not_implemented ) ;
LCDML_add ( 47 , LCDML_0_1_3 , 7 , " Portamento 2 " , NULL ) ;
LCDML_add ( 48 , LCDML_0_1_3_7 , 1 , " Port. Mode 2 " , UI_function_not_enabled ) ;
LCDML_add ( 49 , LCDML_0_1_3_7 , 2 , " Port. Gliss 2 " , UI_function_not_enabled ) ;
LCDML_add ( 50 , LCDML_0_1_3_7 , 3 , " Port. Time 2 " , UI_function_not_enabled ) ;
LCDML_add ( 51 , LCDML_0_1_3 , 8 , " Operator 2 " , NULL ) ;
LCDML_add ( 52 , LCDML_0_1_3_8 , 1 , " OP1 2 " , UI_function_not_implemented ) ;
LCDML_add ( 53 , LCDML_0_1_3_8 , 2 , " OP2 2 " , UI_function_not_implemented ) ;
LCDML_add ( 54 , LCDML_0_1_3_8 , 3 , " OP3 2 " , UI_function_not_implemented ) ;
LCDML_add ( 55 , LCDML_0_1_3_8 , 4 , " OP4 2 " , UI_function_not_implemented ) ;
LCDML_add ( 56 , LCDML_0_1_3_8 , 5 , " OP5 2 " , UI_function_not_implemented ) ;
LCDML_add ( 57 , LCDML_0_1_3_8 , 6 , " OP6 2 " , UI_function_not_implemented ) ;
LCDML_add ( 58 , LCDML_0 , 2 , " Effect " , NULL ) ;
LCDML_add ( 59 , LCDML_0_2 , 1 , " Reverb " , NULL ) ;
LCDML_add ( 60 , LCDML_0_2_1 , 1 , " Roomsize " , UI_func_reverb_roomsize ) ;
LCDML_add ( 61 , LCDML_0_2_1 , 2 , " Damping " , UI_func_reverb_damping ) ;
LCDML_add ( 62 , LCDML_0_2_1 , 3 , " Level " , UI_func_reverb_level ) ;
LCDML_add ( 63 , LCDML_0_2 , 2 , " Chorus " , NULL ) ;
LCDML_add ( 64 , LCDML_0_2_2 , 1 , " Frequency " , UI_func_chorus_frequency ) ;
LCDML_add ( 65 , LCDML_0_2_2 , 2 , " Waveform " , UI_func_chorus_waveform ) ;
LCDML_add ( 66 , LCDML_0_2_2 , 3 , " Depth " , UI_func_chorus_depth ) ;
LCDML_add ( 67 , LCDML_0_2_2 , 4 , " Level " , UI_func_chorus_level ) ;
LCDML_add ( 68 , LCDML_0_2 , 3 , " Delay " , NULL ) ;
LCDML_add ( 69 , LCDML_0_2_3 , 1 , " Time " , UI_func_delay_time ) ;
LCDML_add ( 70 , LCDML_0_2_3 , 2 , " Feedback " , UI_func_delay_feedback ) ;
LCDML_add ( 71 , LCDML_0_2_3 , 3 , " Level " , UI_func_delay_level ) ;
LCDML_add ( 72 , LCDML_0_2 , 4 , " Filter " , NULL ) ;
LCDML_add ( 73 , LCDML_0_2_4 , 1 , " Cutoff " , UI_func_filter_cutoff ) ;
LCDML_add ( 74 , LCDML_0_2_4 , 2 , " Resonance " , UI_func_filter_resonance ) ;
LCDML_add ( 75 , LCDML_0 , 3 , " Store " , NULL ) ;
LCDML_add ( 76 , LCDML_0 , 4 , " System " , NULL ) ;
LCDML_add ( 77 , LCDML_0_4 , 1 , " MIDI Channel " , UI_func_midi_channel ) ;
LCDML_add ( 78 , LCDML_0_4 , 2 , " Loudness " , UI_func_loudness ) ;
LCDML_add ( 79 , LCDML_0_4 , 3 , " Panorama " , UI_func_panorama ) ;
LCDML_add ( 80 , LCDML_0_4 , 4 , " Stereo/Mono " , UI_func_stereo_mono ) ;
LCDML_add ( 81 , LCDML_0_4 , 5 , " Polyphony " , UI_func_polyphony ) ;
LCDML_add ( 82 , LCDML_0_4 , 6 , " Engine " , UI_func_engine ) ;
LCDML_add ( 83 , LCDML_0 , 5 , " Info " , UI_func_information ) ;
# define _LCDML_DISP_cnt 83
// create menu
// create menu
LCDML_createMenu ( _LCDML_DISP_cnt ) ;
LCDML_createMenu ( _LCDML_DISP_cnt ) ;
@ -1778,6 +1836,30 @@ void UI_function_not_enabled(void)
}
}
}
}
void UI_function_not_implemented ( void )
{
if ( LCDML . FUNC_setup ( ) ) // ****** SETUP *********
{
// setup function
lcd . setCursor ( 0 , 0 ) ;
lcd . print ( F ( " Function not " ) ) ;
lcd . setCursor ( 0 , 1 ) ;
lcd . print ( F ( " implemented! " ) ) ;
}
if ( LCDML . FUNC_loop ( ) ) // ****** LOOP *********
{
if ( LCDML . BT_checkEnter ( ) )
{
LCDML . FUNC_goBackToMenu ( ) ;
}
}
if ( LCDML . FUNC_close ( ) ) // ****** STABLE END *********
{
// you can here reset some global vars or do nothing
}
}
void lcd_display_int ( int16_t var , uint8_t size , bool zeros , bool brackets , bool sign )
void lcd_display_int ( int16_t var , uint8_t size , bool zeros , bool brackets , bool sign )
{
{
int16_t tmp = 0 ;
int16_t tmp = 0 ;