@ -157,7 +157,7 @@ const uint8_t meter_bar[5][8] = {
} ;
} ;
*/
*/
const uint8_t special_chars [ 16 ] [ 8 ] = {
const uint8_t special_chars [ 17 ] [ 8 ] = {
{ B11111 , B11011 , B10011 , B11011 , B11011 , B11011 , B11011 , B11111 } , // [0] 1 small invers
{ B11111 , B11011 , B10011 , B11011 , B11011 , B11011 , B11011 , B11111 } , // [0] 1 small invers
{ B11111 , B11011 , B10101 , B11101 , B11011 , B10111 , B10001 , B11111 } , // [1] 2 small invers
{ B11111 , B11011 , B10101 , B11101 , B11011 , B10111 , B10001 , B11111 } , // [1] 2 small invers
{ B11111 , B11011 , B10011 , B11011 , B11011 , B11011 , B11011 , B11111 } , // [2] 1 OP invers
{ B11111 , B11011 , B10011 , B11011 , B11011 , B11011 , B11011 , B11111 } , // [2] 1 OP invers
@ -174,6 +174,7 @@ const uint8_t special_chars[16][8] = {
{ B00000 , B00000 , B11111 , B11111 , B11111 , B11111 , B11111 , B11111 } , // [13] Level 6
{ B00000 , B00000 , B11111 , B11111 , B11111 , B11111 , B11111 , B11111 } , // [13] Level 6
{ B00000 , B11111 , B11111 , B11111 , B11111 , B11111 , B11111 , B11111 } , // [14] Level 7
{ B00000 , B11111 , B11111 , B11111 , B11111 , B11111 , B11111 , B11111 } , // [14] Level 7
{ B11111 , B11111 , B11111 , B11111 , B11111 , B11111 , B11111 , B11111 } , // [15] Level 8
{ B11111 , B11111 , B11111 , B11111 , B11111 , B11111 , B11111 , B11111 } , // [15] Level 8
{ B00100 , B00110 , B00101 , B00101 , B01101 , B11101 , B11100 , B11000 } // [16] Note
} ;
} ;
enum { SCROLLBAR , BLOCKBAR , METERBAR } ;
enum { SCROLLBAR , BLOCKBAR , METERBAR } ;
@ -1111,6 +1112,7 @@ void UI_func_chorus_waveform(uint8_t param)
if ( LCDML . FUNC_close ( ) ) // ****** STABLE END *********
if ( LCDML . FUNC_close ( ) ) // ****** STABLE END *********
{
{
lcd_special_chars ( SCROLLBAR ) ;
encoderDir [ ENC_R ] . reset ( ) ;
encoderDir [ ENC_R ] . reset ( ) ;
EEPROM . update ( EEPROM_START_ADDRESS + offsetof ( configuration_s , fx . chorus_waveform [ 0 ] ) , configuration . fx . chorus_waveform [ 0 ] ) ;
EEPROM . update ( EEPROM_START_ADDRESS + offsetof ( configuration_s , fx . chorus_waveform [ 0 ] ) , configuration . fx . chorus_waveform [ 0 ] ) ;
# if NUM_DEXED > 1
# if NUM_DEXED > 1
@ -2073,9 +2075,17 @@ void UI_func_polyphony(uint8_t param)
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 ( ) ) )
{
{
if ( LCDML . BT_checkDown ( ) )
if ( LCDML . BT_checkDown ( ) )
configuration . dexed [ selected_instance_id ] . polyphony = constrain ( configuration . dexed [ selected_instance_id ] . polyphony + ENCODER [ ENC_R ] . speed ( ) , POLYPHONY_MIN , POLYPHONY_MAX ) ;
{
if ( configuration . dexed [ 0 ] . polyphony + configuration . dexed [ 1 ] . polyphony + 1 < = POLYPHONY_MAX )
configuration . dexed [ selected_instance_id ] . polyphony = constrain ( configuration . dexed [ selected_instance_id ] . polyphony + 1 , POLYPHONY_MIN , POLYPHONY_MAX ) ;
}
else if ( LCDML . BT_checkUp ( ) )
else if ( LCDML . BT_checkUp ( ) )
configuration . dexed [ selected_instance_id ] . polyphony = constrain ( configuration . dexed [ selected_instance_id ] . polyphony - ENCODER [ ENC_R ] . speed ( ) , POLYPHONY_MIN , POLYPHONY_MAX ) ;
{
if ( configuration . dexed [ selected_instance_id ] . polyphony - 1 < 0 )
configuration . dexed [ selected_instance_id ] . polyphony = 0 ;
else
configuration . dexed [ selected_instance_id ] . polyphony = constrain ( configuration . dexed [ selected_instance_id ] . polyphony - 1 , POLYPHONY_MIN , POLYPHONY_MAX ) ;
}
# if NUM_DEXED > 1
# if NUM_DEXED > 1
else if ( LCDML . BT_checkEnter ( ) )
else if ( LCDML . BT_checkEnter ( ) )
{
{
@ -2228,6 +2238,8 @@ void UI_func_mono_poly(uint8_t param)
if ( LCDML . FUNC_close ( ) ) // ****** STABLE END *********
if ( LCDML . FUNC_close ( ) ) // ****** STABLE END *********
{
{
lcd_special_chars ( SCROLLBAR ) ;
encoderDir [ ENC_R ] . reset ( ) ;
encoderDir [ ENC_R ] . reset ( ) ;
EEPROM . update ( EEPROM_START_ADDRESS + offsetof ( configuration_s , dexed [ 0 ] . monopoly ) , configuration . dexed [ 0 ] . monopoly ) ;
EEPROM . update ( EEPROM_START_ADDRESS + offsetof ( configuration_s , dexed [ 0 ] . monopoly ) , configuration . dexed [ 0 ] . monopoly ) ;
# if NUM_DEXED > 1
# if NUM_DEXED > 1
@ -2291,6 +2303,8 @@ void UI_func_note_refresh(uint8_t param)
if ( LCDML . FUNC_close ( ) ) // ****** STABLE END *********
if ( LCDML . FUNC_close ( ) ) // ****** STABLE END *********
{
{
lcd_special_chars ( SCROLLBAR ) ;
encoderDir [ ENC_R ] . reset ( ) ;
encoderDir [ ENC_R ] . reset ( ) ;
EEPROM . update ( EEPROM_START_ADDRESS + offsetof ( configuration_s , dexed [ 0 ] . note_refresh ) , configuration . dexed [ 0 ] . note_refresh ) ;
EEPROM . update ( EEPROM_START_ADDRESS + offsetof ( configuration_s , dexed [ 0 ] . note_refresh ) , configuration . dexed [ 0 ] . note_refresh ) ;
# if NUM_DEXED > 1
# if NUM_DEXED > 1
@ -2537,6 +2551,7 @@ void UI_func_mw_assign(uint8_t param)
if ( LCDML . FUNC_close ( ) ) // ****** STABLE END *********
if ( LCDML . FUNC_close ( ) ) // ****** STABLE END *********
{
{
lcd_special_chars ( SCROLLBAR ) ;
encoderDir [ ENC_R ] . reset ( ) ;
encoderDir [ ENC_R ] . reset ( ) ;
EEPROM . update ( EEPROM_START_ADDRESS + offsetof ( configuration_s , dexed [ 0 ] . mw_assign ) , configuration . dexed [ 0 ] . mw_assign ) ;
EEPROM . update ( EEPROM_START_ADDRESS + offsetof ( configuration_s , dexed [ 0 ] . mw_assign ) , configuration . dexed [ 0 ] . mw_assign ) ;
# if NUM_DEXED > 1
# if NUM_DEXED > 1
@ -2604,6 +2619,7 @@ void UI_func_mw_mode(uint8_t param)
if ( LCDML . FUNC_close ( ) ) // ****** STABLE END *********
if ( LCDML . FUNC_close ( ) ) // ****** STABLE END *********
{
{
lcd_special_chars ( SCROLLBAR ) ;
encoderDir [ ENC_R ] . reset ( ) ;
encoderDir [ ENC_R ] . reset ( ) ;
EEPROM . update ( EEPROM_START_ADDRESS + offsetof ( configuration_s , dexed [ 0 ] . mw_mode ) , configuration . dexed [ 0 ] . mw_mode ) ;
EEPROM . update ( EEPROM_START_ADDRESS + offsetof ( configuration_s , dexed [ 0 ] . mw_mode ) , configuration . dexed [ 0 ] . mw_mode ) ;
# if NUM_DEXED > 1
# if NUM_DEXED > 1
@ -2741,6 +2757,7 @@ void UI_func_fc_assign(uint8_t param)
if ( LCDML . FUNC_close ( ) ) // ****** STABLE END *********
if ( LCDML . FUNC_close ( ) ) // ****** STABLE END *********
{
{
lcd_special_chars ( SCROLLBAR ) ;
encoderDir [ ENC_R ] . reset ( ) ;
encoderDir [ ENC_R ] . reset ( ) ;
EEPROM . update ( EEPROM_START_ADDRESS + offsetof ( configuration_s , dexed [ 0 ] . fc_assign ) , configuration . dexed [ 0 ] . fc_assign ) ;
EEPROM . update ( EEPROM_START_ADDRESS + offsetof ( configuration_s , dexed [ 0 ] . fc_assign ) , configuration . dexed [ 0 ] . fc_assign ) ;
# if NUM_DEXED > 1
# if NUM_DEXED > 1
@ -2808,6 +2825,7 @@ void UI_func_fc_mode(uint8_t param)
if ( LCDML . FUNC_close ( ) ) // ****** STABLE END *********
if ( LCDML . FUNC_close ( ) ) // ****** STABLE END *********
{
{
lcd_special_chars ( SCROLLBAR ) ;
encoderDir [ ENC_R ] . reset ( ) ;
encoderDir [ ENC_R ] . reset ( ) ;
EEPROM . update ( EEPROM_START_ADDRESS + offsetof ( configuration_s , dexed [ 0 ] . fc_mode ) , configuration . dexed [ 0 ] . fc_mode ) ;
EEPROM . update ( EEPROM_START_ADDRESS + offsetof ( configuration_s , dexed [ 0 ] . fc_mode ) , configuration . dexed [ 0 ] . fc_mode ) ;
# if NUM_DEXED > 1
# if NUM_DEXED > 1
@ -2944,6 +2962,7 @@ void UI_func_bc_assign(uint8_t param)
if ( LCDML . FUNC_close ( ) ) // ****** STABLE END *********
if ( LCDML . FUNC_close ( ) ) // ****** STABLE END *********
{
{
lcd_special_chars ( SCROLLBAR ) ;
encoderDir [ ENC_R ] . reset ( ) ;
encoderDir [ ENC_R ] . reset ( ) ;
EEPROM . update ( EEPROM_START_ADDRESS + offsetof ( configuration_s , dexed [ 0 ] . bc_assign ) , configuration . dexed [ 0 ] . bc_assign ) ;
EEPROM . update ( EEPROM_START_ADDRESS + offsetof ( configuration_s , dexed [ 0 ] . bc_assign ) , configuration . dexed [ 0 ] . bc_assign ) ;
# if NUM_DEXED > 1
# if NUM_DEXED > 1
@ -3011,6 +3030,7 @@ void UI_func_bc_mode(uint8_t param)
if ( LCDML . FUNC_close ( ) ) // ****** STABLE END *********
if ( LCDML . FUNC_close ( ) ) // ****** STABLE END *********
{
{
lcd_special_chars ( SCROLLBAR ) ;
encoderDir [ ENC_R ] . reset ( ) ;
encoderDir [ ENC_R ] . reset ( ) ;
EEPROM . update ( EEPROM_START_ADDRESS + offsetof ( configuration_s , dexed [ 0 ] . bc_mode ) , configuration . dexed [ 0 ] . bc_mode ) ;
EEPROM . update ( EEPROM_START_ADDRESS + offsetof ( configuration_s , dexed [ 0 ] . bc_mode ) , configuration . dexed [ 0 ] . bc_mode ) ;
# if NUM_DEXED > 1
# if NUM_DEXED > 1
@ -3065,6 +3085,7 @@ 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 ) ;
@ -3147,6 +3168,7 @@ void UI_func_at_assign(uint8_t param)
if ( LCDML . FUNC_close ( ) ) // ****** STABLE END *********
if ( LCDML . FUNC_close ( ) ) // ****** STABLE END *********
{
{
lcd_special_chars ( SCROLLBAR ) ;
encoderDir [ ENC_R ] . reset ( ) ;
encoderDir [ ENC_R ] . reset ( ) ;
EEPROM . update ( EEPROM_START_ADDRESS + offsetof ( configuration_s , dexed [ 0 ] . at_assign ) , configuration . dexed [ 0 ] . at_assign ) ;
EEPROM . update ( EEPROM_START_ADDRESS + offsetof ( configuration_s , dexed [ 0 ] . at_assign ) , configuration . dexed [ 0 ] . at_assign ) ;
# if NUM_DEXED > 1
# if NUM_DEXED > 1
@ -3214,6 +3236,7 @@ void UI_func_at_mode(uint8_t param)
if ( LCDML . FUNC_close ( ) ) // ****** STABLE END *********
if ( LCDML . FUNC_close ( ) ) // ****** STABLE END *********
{
{
lcd_special_chars ( SCROLLBAR ) ;
encoderDir [ ENC_R ] . reset ( ) ;
encoderDir [ ENC_R ] . reset ( ) ;
EEPROM . update ( EEPROM_START_ADDRESS + offsetof ( configuration_s , dexed [ 0 ] . at_mode ) , configuration . dexed [ 0 ] . at_mode ) ;
EEPROM . update ( EEPROM_START_ADDRESS + offsetof ( configuration_s , dexed [ 0 ] . at_mode ) , configuration . dexed [ 0 ] . at_mode ) ;
# if NUM_DEXED > 1
# if NUM_DEXED > 1
@ -3283,6 +3306,7 @@ void UI_func_portamento_mode(uint8_t param)
if ( LCDML . FUNC_close ( ) ) // ****** STABLE END *********
if ( LCDML . FUNC_close ( ) ) // ****** STABLE END *********
{
{
lcd_special_chars ( SCROLLBAR ) ;
encoderDir [ ENC_R ] . reset ( ) ;
encoderDir [ ENC_R ] . reset ( ) ;
EEPROM . update ( EEPROM_START_ADDRESS + offsetof ( configuration_s , dexed [ 0 ] . portamento_mode ) , configuration . dexed [ 0 ] . portamento_mode ) ;
EEPROM . update ( EEPROM_START_ADDRESS + offsetof ( configuration_s , dexed [ 0 ] . portamento_mode ) , configuration . dexed [ 0 ] . portamento_mode ) ;
# if NUM_DEXED > 1
# if NUM_DEXED > 1
@ -3346,6 +3370,7 @@ void UI_func_portamento_glissando(uint8_t param)
if ( LCDML . FUNC_close ( ) ) // ****** STABLE END *********
if ( LCDML . FUNC_close ( ) ) // ****** STABLE END *********
{
{
lcd_special_chars ( SCROLLBAR ) ;
encoderDir [ ENC_R ] . reset ( ) ;
encoderDir [ ENC_R ] . reset ( ) ;
EEPROM . update ( EEPROM_START_ADDRESS + offsetof ( configuration_s , dexed [ 0 ] . portamento_glissando ) , configuration . dexed [ 0 ] . portamento_glissando ) ;
EEPROM . update ( EEPROM_START_ADDRESS + offsetof ( configuration_s , dexed [ 0 ] . portamento_glissando ) , configuration . dexed [ 0 ] . portamento_glissando ) ;
# if NUM_DEXED > 1
# if NUM_DEXED > 1
@ -3675,12 +3700,7 @@ void UI_func_voice_select(uint8_t param)
strncpy ( bank_name , " *ERROR* " , sizeof ( bank_name ) ) ;
strncpy ( bank_name , " *ERROR* " , sizeof ( bank_name ) ) ;
if ( ! get_voice_by_bank_name ( configuration . performance . bank [ selected_instance_id ] , bank_name , configuration . performance . voice [ selected_instance_id ] , voice_name , sizeof ( voice_name ) ) )
if ( ! get_voice_by_bank_name ( configuration . performance . bank [ selected_instance_id ] , bank_name , configuration . performance . voice [ selected_instance_id ] , voice_name , sizeof ( voice_name ) ) )
strncpy ( voice_name , " *ERROR* " , sizeof ( voice_name ) ) ;
strncpy ( voice_name , " *ERROR* " , sizeof ( voice_name ) ) ;
/*
lcd . show ( 0 , 0 , 2 , configuration . performance . bank [ selected_instance_id ] ) ;
lcd . show ( 1 , 0 , 2 , configuration . performance . voice [ selected_instance_id ] + 1 ) ;
lcd . show ( 0 , 2 , 10 , bank_name ) ;
lcd . show ( 1 , 2 , 10 , voice_name ) ;
*/
# if NUM_DEXED > 1
# if NUM_DEXED > 1
lcd . setCursor ( 14 , 0 ) ;
lcd . setCursor ( 14 , 0 ) ;
lcd . write ( 0 ) ;
lcd . write ( 0 ) ;
@ -3688,23 +3708,9 @@ void UI_func_voice_select(uint8_t param)
lcd . write ( 1 ) ;
lcd . write ( 1 ) ;
# endif
# endif
/*
# ifdef TEENSY3
switch ( menu_voice_select )
lcd . createChar ( 6 , ( uint8_t * ) special_chars [ 16 ] ) ; // MIDI activity note symbol
{
# endif
case MENU_VOICE_BANK :
lcd . show ( 0 , 2 , 1 , " [ " ) ;
lcd . show ( 0 , 13 , 1 , " ] " ) ;
lcd . show ( 1 , 2 , 1 , " " ) ;
lcd . show ( 1 , 13 , 1 , " " ) ;
break ;
case MENU_VOICE_SOUND :
lcd . show ( 0 , 2 , 2 , " " ) ;
lcd . show ( 0 , 13 , 1 , " " ) ;
lcd . show ( 1 , 2 , 2 , " [ " ) ;
lcd . show ( 1 , 13 , 1 , " ] " ) ;
break ;
}
*/
}
}