|
|
@ -89,6 +89,14 @@ extern uint8_t seq_temp_active_menu; |
|
|
|
extern uint8_t seq_chain_active_chainstep; //for editor
|
|
|
|
extern uint8_t seq_chain_active_chainstep; //for editor
|
|
|
|
extern uint8_t seq_chain_active_step; |
|
|
|
extern uint8_t seq_chain_active_step; |
|
|
|
extern int seq_transpose; |
|
|
|
extern int seq_transpose; |
|
|
|
|
|
|
|
extern uint8_t arp_step; |
|
|
|
|
|
|
|
extern uint8_t arp_note; |
|
|
|
|
|
|
|
extern uint8_t arp_chord; |
|
|
|
|
|
|
|
extern uint8_t arp_octave; |
|
|
|
|
|
|
|
extern uint8_t arp_oct_usersetting; |
|
|
|
|
|
|
|
extern uint8_t arp_style; |
|
|
|
|
|
|
|
extern uint8_t arp_speed; |
|
|
|
|
|
|
|
extern char arp_style_names[4][3]; |
|
|
|
#endif |
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
|
|
#ifdef DISPLAY_LCD_SPI |
|
|
|
#ifdef DISPLAY_LCD_SPI |
|
|
@ -273,6 +281,7 @@ void UI_func_seq_live_transpose_oct(uint8_t param); |
|
|
|
void UI_func_seq_lenght(uint8_t param); |
|
|
|
void UI_func_seq_lenght(uint8_t param); |
|
|
|
void UI_func_seq_tempo(uint8_t param); |
|
|
|
void UI_func_seq_tempo(uint8_t param); |
|
|
|
void UI_func_seq_pat_chain(uint8_t param); |
|
|
|
void UI_func_seq_pat_chain(uint8_t param); |
|
|
|
|
|
|
|
void UI_func_arpeggio(uint8_t param); |
|
|
|
void UI_func_seq_track_setup(uint8_t param); |
|
|
|
void UI_func_seq_track_setup(uint8_t param); |
|
|
|
void UI_func_seq_display_style(uint8_t param); |
|
|
|
void UI_func_seq_display_style(uint8_t param); |
|
|
|
void UI_func_seq_pattern_load(uint8_t param); |
|
|
|
void UI_func_seq_pattern_load(uint8_t param); |
|
|
@ -3915,14 +3924,9 @@ void UI_func_seq_display_style(uint8_t param) |
|
|
|
lcd.setCursor(0, 0); |
|
|
|
lcd.setCursor(0, 0); |
|
|
|
lcd.print("Seq. Disp. Style"); |
|
|
|
lcd.print("Seq. Disp. Style"); |
|
|
|
lcd.setCursor(0, 1); |
|
|
|
lcd.setCursor(0, 1); |
|
|
|
lcd.print("Seq."); |
|
|
|
lcd.print("Pat."); |
|
|
|
lcd.setCursor(8, 1); |
|
|
|
lcd.setCursor(8, 1); |
|
|
|
lcd.print("="); |
|
|
|
lcd.print("="); |
|
|
|
lcd.setCursor(11, 1); |
|
|
|
|
|
|
|
if (seq_content_type[seq_active_track] == 0) |
|
|
|
|
|
|
|
lcd.print("Drum"); |
|
|
|
|
|
|
|
else |
|
|
|
|
|
|
|
lcd.print("Inst"); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
if (LCDML.FUNC_loop()) // ****** LOOP *********
|
|
|
|
if (LCDML.FUNC_loop()) // ****** LOOP *********
|
|
|
|
{ |
|
|
|
{ |
|
|
@ -3943,21 +3947,17 @@ void UI_func_seq_display_style(uint8_t param) |
|
|
|
{ |
|
|
|
{ |
|
|
|
if (LCDML.BT_checkDown()) |
|
|
|
if (LCDML.BT_checkDown()) |
|
|
|
{ |
|
|
|
{ |
|
|
|
seq_content_type[seq_active_track] = constrain(seq_content_type[seq_active_track] + ENCODER[ENC_R].speed(), 0, 1); |
|
|
|
seq_content_type[seq_active_track] = constrain(seq_content_type[seq_active_track] + ENCODER[ENC_R].speed(), 0, 2); |
|
|
|
} |
|
|
|
} |
|
|
|
else if (LCDML.BT_checkUp()) |
|
|
|
else if (LCDML.BT_checkUp()) |
|
|
|
{ |
|
|
|
{ |
|
|
|
seq_content_type[seq_active_track] = constrain(seq_content_type[seq_active_track] - ENCODER[ENC_R].speed(), 0, 1); |
|
|
|
seq_content_type[seq_active_track] = constrain(seq_content_type[seq_active_track] - ENCODER[ENC_R].speed(), 0, 2); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
if (LCDML.BT_checkEnter()) |
|
|
|
if (LCDML.BT_checkEnter()) |
|
|
|
{ |
|
|
|
{ |
|
|
|
if (menu_select_toggle) { |
|
|
|
menu_select_toggle = !menu_select_toggle; |
|
|
|
menu_select_toggle = false; |
|
|
|
|
|
|
|
} else |
|
|
|
|
|
|
|
{ menu_select_toggle = true; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
if (menu_select_toggle == false) { |
|
|
|
if (menu_select_toggle == false) { |
|
|
|
lcd.setCursor(10, 1); |
|
|
|
lcd.setCursor(10, 1); |
|
|
@ -3968,10 +3968,6 @@ void UI_func_seq_display_style(uint8_t param) |
|
|
|
lcd.print("["); |
|
|
|
lcd.print("["); |
|
|
|
lcd.print(seq_active_track); |
|
|
|
lcd.print(seq_active_track); |
|
|
|
lcd.print("]"); |
|
|
|
lcd.print("]"); |
|
|
|
lcd.setCursor(11, 1); |
|
|
|
|
|
|
|
if (seq_content_type[seq_active_track] == 0) lcd.print("Drum"); |
|
|
|
|
|
|
|
else |
|
|
|
|
|
|
|
lcd.print("Inst"); |
|
|
|
|
|
|
|
} else { |
|
|
|
} else { |
|
|
|
lcd.setCursor(4, 1); |
|
|
|
lcd.setCursor(4, 1); |
|
|
|
lcd.print(" "); |
|
|
|
lcd.print(" "); |
|
|
@ -3979,12 +3975,16 @@ void UI_func_seq_display_style(uint8_t param) |
|
|
|
lcd.print(" "); |
|
|
|
lcd.print(" "); |
|
|
|
lcd.setCursor(10, 1); |
|
|
|
lcd.setCursor(10, 1); |
|
|
|
lcd.print("["); |
|
|
|
lcd.print("["); |
|
|
|
if (seq_content_type[seq_active_track] == 0) |
|
|
|
lcd.setCursor(15, 1); |
|
|
|
lcd.print("Drum"); |
|
|
|
|
|
|
|
else |
|
|
|
|
|
|
|
lcd.print("Inst"); |
|
|
|
|
|
|
|
lcd.print("]"); |
|
|
|
lcd.print("]"); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
lcd.setCursor(11, 1); |
|
|
|
|
|
|
|
if (seq_content_type[seq_active_track] == 0) |
|
|
|
|
|
|
|
lcd.print("Drum"); |
|
|
|
|
|
|
|
else if (seq_content_type[seq_active_track] == 1) |
|
|
|
|
|
|
|
lcd.print("Inst"); |
|
|
|
|
|
|
|
else |
|
|
|
|
|
|
|
lcd.print("Chrd"); |
|
|
|
} |
|
|
|
} |
|
|
|
if (LCDML.FUNC_close()) // ****** STABLE END *********
|
|
|
|
if (LCDML.FUNC_close()) // ****** STABLE END *********
|
|
|
|
{ |
|
|
|
{ |
|
|
@ -4152,7 +4152,7 @@ void UI_func_seq_vel_editor(uint8_t param) |
|
|
|
else if (LCDML.BT_checkUp()) |
|
|
|
else if (LCDML.BT_checkUp()) |
|
|
|
seq_vel[seq_active_track][seq_menu - 1] = constrain(seq_vel[seq_active_track][seq_menu - 1] - 1, 0, 127); |
|
|
|
seq_vel[seq_active_track][seq_menu - 1] = constrain(seq_vel[seq_active_track][seq_menu - 1] - 1, 0, 127); |
|
|
|
} |
|
|
|
} |
|
|
|
} else if (seq_active_function == 1 && seq_content_type[seq_active_track] > 1 ) { |
|
|
|
} else if (seq_active_function == 1 && seq_content_type[seq_active_track] > 1 ) { //is in Chord or Arp Mode
|
|
|
|
if ((LCDML.BT_checkDown() && encoderDir[ENC_R].Down()) || (LCDML.BT_checkUp() && encoderDir[ENC_R].Up())) |
|
|
|
if ((LCDML.BT_checkDown() && encoderDir[ENC_R].Down()) || (LCDML.BT_checkUp() && encoderDir[ENC_R].Up())) |
|
|
|
{ |
|
|
|
{ |
|
|
|
if (LCDML.BT_checkDown()) |
|
|
|
if (LCDML.BT_checkDown()) |
|
|
@ -4179,8 +4179,8 @@ void UI_func_seq_vel_editor(uint8_t param) |
|
|
|
} |
|
|
|
} |
|
|
|
//button check end <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
|
|
|
|
//button check end <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
|
|
|
|
|
|
|
|
|
|
|
|
if ( seq_content_type[seq_active_track] > 1 && seq_vel[seq_active_track][seq_menu - 1]<200) seq_vel[seq_active_track][seq_menu - 1]=200; |
|
|
|
if ( seq_content_type[seq_active_track] > 1 && seq_vel[seq_active_track][seq_menu - 1] < 200) seq_vel[seq_active_track][seq_menu - 1] = 200; |
|
|
|
|
|
|
|
|
|
|
|
if (seq_menu == 0) { |
|
|
|
if (seq_menu == 0) { |
|
|
|
lcd.setCursor(4, 0); |
|
|
|
lcd.setCursor(4, 0); |
|
|
|
lcd.print("--- --- "); |
|
|
|
lcd.print("--- --- "); |
|
|
@ -4232,7 +4232,7 @@ void UI_func_seq_vel_editor(uint8_t param) |
|
|
|
lcd.print(" "); |
|
|
|
lcd.print(" "); |
|
|
|
} |
|
|
|
} |
|
|
|
else { |
|
|
|
else { |
|
|
|
if (seq_vel[seq_active_track][seq_menu - 1] == 200) lcd.print("Maj" ); |
|
|
|
if (seq_vel[seq_active_track][seq_menu - 1] == 200) lcd.print("Maj" ); |
|
|
|
else if (seq_vel[seq_active_track][seq_menu - 1] == 201) lcd.print("Min" ); |
|
|
|
else if (seq_vel[seq_active_track][seq_menu - 1] == 201) lcd.print("Min" ); |
|
|
|
else if (seq_vel[seq_active_track][seq_menu - 1] == 202) lcd.print("Sev" ); |
|
|
|
else if (seq_vel[seq_active_track][seq_menu - 1] == 202) lcd.print("Sev" ); |
|
|
|
else if (seq_vel[seq_active_track][seq_menu - 1] == 203) lcd.print("Aug" ); |
|
|
|
else if (seq_vel[seq_active_track][seq_menu - 1] == 203) lcd.print("Aug" ); |
|
|
@ -4283,6 +4283,21 @@ void seq_refresh_display_play_status() |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void arp_refresh_display_play_status() |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
lcd.setCursor(12, 0); |
|
|
|
|
|
|
|
if (seq_running == false ) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
lcd.print("PLY"); |
|
|
|
|
|
|
|
} else if (seq_running == true ) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
seq_note_in = 0; |
|
|
|
|
|
|
|
lcd.print("STP"); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void UI_func_sequencer(uint8_t param) |
|
|
|
void UI_func_sequencer(uint8_t param) |
|
|
|
{ |
|
|
|
{ |
|
|
|
if (LCDML.FUNC_setup()) // ****** SETUP *********
|
|
|
|
if (LCDML.FUNC_setup()) // ****** SETUP *********
|
|
|
@ -4759,9 +4774,173 @@ void UI_func_sequencer(uint8_t param) |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
void UI_func_seq_pat_chain(uint8_t param) |
|
|
|
void UI_func_arpeggio(uint8_t param) |
|
|
|
{ |
|
|
|
{ |
|
|
|
|
|
|
|
if (LCDML.FUNC_setup()) // ****** SETUP *********
|
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
|
|
|
|
seq_temp_active_menu = 0; |
|
|
|
|
|
|
|
lcd.setCursor( 0, 0); |
|
|
|
|
|
|
|
lcd.print("Oct"); |
|
|
|
|
|
|
|
lcd.setCursor( 0, 1); |
|
|
|
|
|
|
|
lcd.print("Style"); |
|
|
|
|
|
|
|
lcd.setCursor( 7, 0); |
|
|
|
|
|
|
|
lcd.print("Maj"); |
|
|
|
|
|
|
|
lcd.setCursor( 11, 1); |
|
|
|
|
|
|
|
lcd.print("1/16"); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
arp_refresh_display_play_status(); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
if (LCDML.FUNC_loop()) // ****** LOOP *********
|
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
if ((LCDML.BT_checkDown() && encoderDir[ENC_R].Down()) || (LCDML.BT_checkUp() && encoderDir[ENC_R].Up()) || (LCDML.BT_checkEnter() && encoderDir[ENC_R].ButtonShort())) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
if (seq_temp_active_menu == 0) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
if (LCDML.BT_checkDown()) |
|
|
|
|
|
|
|
seq_temp_select_menu = constrain(seq_temp_select_menu + ENCODER[ENC_R].speed(), 0, 3); |
|
|
|
|
|
|
|
else if (LCDML.BT_checkUp()) |
|
|
|
|
|
|
|
seq_temp_select_menu = constrain(seq_temp_select_menu - ENCODER[ENC_R].speed(), 0, 3); |
|
|
|
|
|
|
|
} else if (seq_temp_active_menu == 1) // Octave setting
|
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
if (LCDML.BT_checkDown()) |
|
|
|
|
|
|
|
arp_oct_usersetting = constrain(arp_oct_usersetting + ENCODER[ENC_R].speed(), 0, 3); |
|
|
|
|
|
|
|
else if (LCDML.BT_checkUp()) |
|
|
|
|
|
|
|
arp_oct_usersetting = constrain(arp_oct_usersetting - ENCODER[ENC_R].speed(), 0, 3); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
else if (seq_temp_active_menu == 2) // Style setting
|
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
if (LCDML.BT_checkDown()) |
|
|
|
|
|
|
|
arp_style = constrain(arp_style + ENCODER[ENC_R].speed(), 0, 3); |
|
|
|
|
|
|
|
else if (LCDML.BT_checkUp()) |
|
|
|
|
|
|
|
arp_style = constrain(arp_style - ENCODER[ENC_R].speed(), 0, 3); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
else if (seq_temp_active_menu == 3) // Arp Speed setting
|
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
if (LCDML.BT_checkDown()) |
|
|
|
|
|
|
|
arp_speed = constrain(arp_speed + ENCODER[ENC_R].speed(), 0, 1); |
|
|
|
|
|
|
|
else if (LCDML.BT_checkUp()) |
|
|
|
|
|
|
|
arp_speed = constrain(arp_speed - ENCODER[ENC_R].speed(), 0, 1); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
if (LCDML.BT_checkEnter()) //handle button presses during menu >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
if ( seq_temp_select_menu == 0 && seq_temp_active_menu == 0 ) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
seq_temp_active_menu = 1; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
else if ( seq_temp_select_menu == 0 && seq_temp_active_menu == 1 ) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
seq_temp_active_menu = 0; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
if ( seq_temp_select_menu == 1 && seq_temp_active_menu == 0 ) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
seq_temp_active_menu = 2; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
else if ( seq_temp_select_menu == 1 && seq_temp_active_menu == 2 ) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
seq_temp_active_menu = 0; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
else if ( seq_temp_select_menu == 2 && seq_temp_active_menu == 0 ) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
seq_running = !seq_running; |
|
|
|
|
|
|
|
arp_refresh_display_play_status(); |
|
|
|
|
|
|
|
MicroDexed[0]->panic(); |
|
|
|
|
|
|
|
seq_step = 0; |
|
|
|
|
|
|
|
arp_octave = 0; |
|
|
|
|
|
|
|
arp_step = 0; |
|
|
|
|
|
|
|
seq_chain_active_step = 0; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
else if ( seq_temp_select_menu == 3 && seq_temp_active_menu == 0 ) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
seq_temp_active_menu = 3; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
else if ( seq_temp_select_menu == 3 && seq_temp_active_menu == 3 ) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
seq_temp_active_menu = 0; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
lcd.setCursor( 4, 0); |
|
|
|
|
|
|
|
lcd.print(arp_oct_usersetting); |
|
|
|
|
|
|
|
lcd.setCursor( 6, 1); |
|
|
|
|
|
|
|
lcd.print( arp_style_names[arp_style][0] ); |
|
|
|
|
|
|
|
lcd.print( arp_style_names[arp_style][1] ); |
|
|
|
|
|
|
|
lcd.print( arp_style_names[arp_style][2] ); |
|
|
|
|
|
|
|
lcd.setCursor( 11, 1); |
|
|
|
|
|
|
|
if (arp_speed == 0)lcd.print("1/16"); else if (arp_speed == 1)lcd.print("1/8 "); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (seq_temp_select_menu == 0) { |
|
|
|
|
|
|
|
lcd.setCursor( 11, 0); |
|
|
|
|
|
|
|
lcd.print(" "); |
|
|
|
|
|
|
|
lcd.setCursor( 15, 0); |
|
|
|
|
|
|
|
lcd.print(" "); |
|
|
|
|
|
|
|
lcd.setCursor( 5, 1); |
|
|
|
|
|
|
|
lcd.print(" "); |
|
|
|
|
|
|
|
lcd.setCursor( 9, 1); |
|
|
|
|
|
|
|
lcd.print(" "); |
|
|
|
|
|
|
|
lcd.setCursor( 3, 0); |
|
|
|
|
|
|
|
lcd.print("["); |
|
|
|
|
|
|
|
lcd.setCursor( 5, 0); |
|
|
|
|
|
|
|
lcd.print("]"); |
|
|
|
|
|
|
|
lcd.setCursor( 10, 1); |
|
|
|
|
|
|
|
lcd.print(" "); |
|
|
|
|
|
|
|
lcd.setCursor( 15, 1); |
|
|
|
|
|
|
|
lcd.print(" "); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
else if (seq_temp_select_menu == 1) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
lcd.setCursor( 11, 0); |
|
|
|
|
|
|
|
lcd.print(" "); |
|
|
|
|
|
|
|
lcd.print(" "); |
|
|
|
|
|
|
|
lcd.setCursor( 3, 0); |
|
|
|
|
|
|
|
lcd.print(" "); |
|
|
|
|
|
|
|
lcd.setCursor( 5, 0); |
|
|
|
|
|
|
|
lcd.print(" "); |
|
|
|
|
|
|
|
lcd.setCursor( 5, 1); |
|
|
|
|
|
|
|
lcd.print("["); |
|
|
|
|
|
|
|
lcd.setCursor( 9, 1); |
|
|
|
|
|
|
|
lcd.print("]"); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
else if (seq_temp_select_menu == 2) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
lcd.setCursor( 5, 1); |
|
|
|
|
|
|
|
lcd.print(" "); |
|
|
|
|
|
|
|
lcd.setCursor( 9, 1); |
|
|
|
|
|
|
|
lcd.print(" "); |
|
|
|
|
|
|
|
lcd.setCursor( 11, 0); |
|
|
|
|
|
|
|
lcd.print("["); |
|
|
|
|
|
|
|
lcd.setCursor( 15, 0); |
|
|
|
|
|
|
|
lcd.print("]"); |
|
|
|
|
|
|
|
lcd.setCursor( 10, 1); |
|
|
|
|
|
|
|
lcd.print(" "); |
|
|
|
|
|
|
|
lcd.setCursor( 15, 1); |
|
|
|
|
|
|
|
lcd.print(" "); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
else if (seq_temp_select_menu == 3) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
lcd.setCursor( 11, 0); |
|
|
|
|
|
|
|
lcd.print(" "); |
|
|
|
|
|
|
|
lcd.setCursor( 15, 0); |
|
|
|
|
|
|
|
lcd.print(" "); |
|
|
|
|
|
|
|
lcd.setCursor( 10, 1); |
|
|
|
|
|
|
|
lcd.print("["); |
|
|
|
|
|
|
|
lcd.setCursor( 15, 1); |
|
|
|
|
|
|
|
lcd.print("]"); |
|
|
|
|
|
|
|
lcd.setCursor( 3, 0); |
|
|
|
|
|
|
|
lcd.print(" "); |
|
|
|
|
|
|
|
lcd.setCursor( 5, 0); |
|
|
|
|
|
|
|
lcd.print(" "); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
if (LCDML.FUNC_close()) // ****** STABLE END *********
|
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void UI_func_seq_pat_chain(uint8_t param) |
|
|
|
|
|
|
|
{ |
|
|
|
if (LCDML.FUNC_setup()) // ****** SETUP *********
|
|
|
|
if (LCDML.FUNC_setup()) // ****** SETUP *********
|
|
|
|
{ |
|
|
|
{ |
|
|
|
// setup function
|
|
|
|
// setup function
|
|
|
@ -4793,7 +4972,6 @@ void UI_func_seq_pat_chain(uint8_t param) |
|
|
|
lcd.setCursor(8 , 1); |
|
|
|
lcd.setCursor(8 , 1); |
|
|
|
lcd.print( seq_patternchain[seq_chain_active_chainstep][3]); |
|
|
|
lcd.print( seq_patternchain[seq_chain_active_chainstep][3]); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if (LCDML.FUNC_loop()) // ****** LOOP *********
|
|
|
|
if (LCDML.FUNC_loop()) // ****** LOOP *********
|
|
|
|
{ |
|
|
|
{ |
|
|
|
if (seq_temp_active_menu == 99) { |
|
|
|
if (seq_temp_active_menu == 99) { |
|
|
@ -4951,7 +5129,6 @@ void UI_func_seq_pat_chain(uint8_t param) |
|
|
|
|
|
|
|
|
|
|
|
void UI_func_seq_track_setup(uint8_t param) |
|
|
|
void UI_func_seq_track_setup(uint8_t param) |
|
|
|
{ |
|
|
|
{ |
|
|
|
|
|
|
|
|
|
|
|
if (LCDML.FUNC_setup()) // ****** SETUP *********
|
|
|
|
if (LCDML.FUNC_setup()) // ****** SETUP *********
|
|
|
|
{ |
|
|
|
{ |
|
|
|
// setup function
|
|
|
|
// setup function
|
|
|
@ -4965,13 +5142,13 @@ void UI_func_seq_track_setup(uint8_t param) |
|
|
|
lcd.setCursor(9 , 1); |
|
|
|
lcd.setCursor(9 , 1); |
|
|
|
lcd.print("T4"); |
|
|
|
lcd.print("T4"); |
|
|
|
lcd.setCursor(3 , 0); |
|
|
|
lcd.setCursor(3 , 0); |
|
|
|
if (seq_track_type[0] == 0 ) lcd.print("Drm"); else lcd.print("Ins"); |
|
|
|
if (seq_track_type[0] == 0 ) lcd.print("Drm"); else if (seq_track_type[0] == 1 ) lcd.print("Ins"); else if (seq_track_type[0] == 2 )lcd.print("Chd"); else lcd.print("Arp"); |
|
|
|
lcd.setCursor(3 , 1); |
|
|
|
lcd.setCursor(3 , 1); |
|
|
|
if (seq_track_type[1] == 0 ) lcd.print("Drm"); else lcd.print("Ins"); |
|
|
|
if (seq_track_type[1] == 0 ) lcd.print("Drm"); else if (seq_track_type[1] == 1 ) lcd.print("Ins"); else if (seq_track_type[1] == 2 )lcd.print("Chd"); else lcd.print("Arp"); |
|
|
|
lcd.setCursor(12 , 0); |
|
|
|
lcd.setCursor(12 , 0); |
|
|
|
if (seq_track_type[2] == 0 ) lcd.print("Drm"); else lcd.print("Ins"); |
|
|
|
if (seq_track_type[2] == 0 ) lcd.print("Drm"); else if (seq_track_type[2] == 1 ) lcd.print("Ins"); else if (seq_track_type[2] == 2 )lcd.print("Chd"); else lcd.print("Arp"); |
|
|
|
lcd.setCursor(12 , 1); |
|
|
|
lcd.setCursor(12 , 1); |
|
|
|
if (seq_track_type[3] == 0 ) lcd.print("Drm"); else lcd.print("Ins"); |
|
|
|
if (seq_track_type[3] == 0 ) lcd.print("Drm"); else if (seq_track_type[3] == 1 ) lcd.print("Ins"); else if (seq_track_type[3] == 2 )lcd.print("Chd"); else lcd.print("Arp"); |
|
|
|
} |
|
|
|
} |
|
|
|
if (LCDML.FUNC_loop()) // ****** LOOP *********
|
|
|
|
if (LCDML.FUNC_loop()) // ****** LOOP *********
|
|
|
|
{ |
|
|
|
{ |
|
|
@ -4987,9 +5164,9 @@ void UI_func_seq_track_setup(uint8_t param) |
|
|
|
if ((LCDML.BT_checkDown() && encoderDir[ENC_R].Down()) || (LCDML.BT_checkUp() && encoderDir[ENC_R].Up())) |
|
|
|
if ((LCDML.BT_checkDown() && encoderDir[ENC_R].Down()) || (LCDML.BT_checkUp() && encoderDir[ENC_R].Up())) |
|
|
|
{ |
|
|
|
{ |
|
|
|
if (LCDML.BT_checkDown()) |
|
|
|
if (LCDML.BT_checkDown()) |
|
|
|
seq_track_type[seq_temp_active_menu] = constrain(seq_track_type[seq_temp_active_menu] + 1, 0, 1); |
|
|
|
seq_track_type[seq_temp_active_menu] = constrain(seq_track_type[seq_temp_active_menu] + 1, 0, 3); |
|
|
|
else if (LCDML.BT_checkUp()) |
|
|
|
else if (LCDML.BT_checkUp()) |
|
|
|
seq_track_type[seq_temp_active_menu] = constrain(seq_track_type[seq_temp_active_menu] - 1, 0, 1); |
|
|
|
seq_track_type[seq_temp_active_menu] = constrain(seq_track_type[seq_temp_active_menu] - 1, 0, 3); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
if (LCDML.BT_checkEnter()) //handle button presses during menu >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
|
|
|
if (LCDML.BT_checkEnter()) //handle button presses during menu >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
|
|
@ -5012,7 +5189,7 @@ void UI_func_seq_track_setup(uint8_t param) |
|
|
|
lcd.setCursor(6 , 1); |
|
|
|
lcd.setCursor(6 , 1); |
|
|
|
lcd.print(" "); |
|
|
|
lcd.print(" "); |
|
|
|
lcd.setCursor(3 , 0); |
|
|
|
lcd.setCursor(3 , 0); |
|
|
|
if (seq_track_type[0] == 0 ) lcd.print("Drm"); else lcd.print("Ins"); |
|
|
|
if (seq_track_type[0] == 0 ) lcd.print("Drm"); else if (seq_track_type[0] == 1 ) lcd.print("Ins"); else if (seq_track_type[0] == 2 )lcd.print("Chd"); else lcd.print("Arp"); |
|
|
|
} else if (seq_temp_select_menu == 1) |
|
|
|
} else if (seq_temp_select_menu == 1) |
|
|
|
{ |
|
|
|
{ |
|
|
|
lcd.setCursor(2 , 0); |
|
|
|
lcd.setCursor(2 , 0); |
|
|
@ -5028,7 +5205,7 @@ void UI_func_seq_track_setup(uint8_t param) |
|
|
|
lcd.setCursor(15 , 0); |
|
|
|
lcd.setCursor(15 , 0); |
|
|
|
lcd.print(" "); |
|
|
|
lcd.print(" "); |
|
|
|
lcd.setCursor(3 , 1); |
|
|
|
lcd.setCursor(3 , 1); |
|
|
|
if (seq_track_type[1] == 0 ) lcd.print("Drm"); else lcd.print("Ins"); |
|
|
|
if (seq_track_type[1] == 0 ) lcd.print("Drm"); else if (seq_track_type[1] == 1 ) lcd.print("Ins"); else if (seq_track_type[1] == 2 )lcd.print("Chd"); else lcd.print("Arp"); |
|
|
|
} else if (seq_temp_select_menu == 2) |
|
|
|
} else if (seq_temp_select_menu == 2) |
|
|
|
{ |
|
|
|
{ |
|
|
|
lcd.setCursor(2 , 1); |
|
|
|
lcd.setCursor(2 , 1); |
|
|
@ -5044,7 +5221,7 @@ void UI_func_seq_track_setup(uint8_t param) |
|
|
|
lcd.setCursor(15 , 1); |
|
|
|
lcd.setCursor(15 , 1); |
|
|
|
lcd.print(" "); |
|
|
|
lcd.print(" "); |
|
|
|
lcd.setCursor(12 , 0); |
|
|
|
lcd.setCursor(12 , 0); |
|
|
|
if (seq_track_type[2] == 0 ) lcd.print("Drm"); else lcd.print("Ins"); |
|
|
|
if (seq_track_type[2] == 0 ) lcd.print("Drm"); else if (seq_track_type[2] == 1 ) lcd.print("Ins"); else if (seq_track_type[2] == 2 )lcd.print("Chd"); else lcd.print("Arp"); |
|
|
|
} else if (seq_temp_select_menu == 3) |
|
|
|
} else if (seq_temp_select_menu == 3) |
|
|
|
{ |
|
|
|
{ |
|
|
|
lcd.setCursor(11 , 0); |
|
|
|
lcd.setCursor(11 , 0); |
|
|
@ -5056,7 +5233,7 @@ void UI_func_seq_track_setup(uint8_t param) |
|
|
|
lcd.setCursor(15 , 1); |
|
|
|
lcd.setCursor(15 , 1); |
|
|
|
lcd.print("]"); |
|
|
|
lcd.print("]"); |
|
|
|
lcd.setCursor(12 , 1); |
|
|
|
lcd.setCursor(12 , 1); |
|
|
|
if (seq_track_type[3] == 0 ) lcd.print("Drm"); else lcd.print("Ins"); |
|
|
|
if (seq_track_type[3] == 0 ) lcd.print("Drm"); else if (seq_track_type[3] == 1 ) lcd.print("Ins"); else if (seq_track_type[3] == 2 )lcd.print("Chd"); else lcd.print("Arp"); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
if (LCDML.FUNC_close()) // ****** STABLE END *********
|
|
|
|
if (LCDML.FUNC_close()) // ****** STABLE END *********
|
|
|
@ -5065,7 +5242,6 @@ void UI_func_seq_track_setup(uint8_t param) |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void UI_func_seq_pattern_load(uint8_t param) |
|
|
|
void UI_func_seq_pattern_load(uint8_t param) |
|
|
|
{ |
|
|
|
{ |
|
|
|
static uint8_t mode; |
|
|
|
static uint8_t mode; |
|
|
@ -5134,7 +5310,7 @@ void UI_func_seq_pattern_save(uint8_t param) |
|
|
|
{ |
|
|
|
{ |
|
|
|
char tmp[FILENAME_LEN]; |
|
|
|
char tmp[FILENAME_LEN]; |
|
|
|
yesno = false; |
|
|
|
yesno = false; |
|
|
|
temp_int=0; |
|
|
|
temp_int = 0; |
|
|
|
mode = 0; |
|
|
|
mode = 0; |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
encoderDir[ENC_R].reset(); |
|
|
|
lcd.setCursor(0, 0); |
|
|
|
lcd.setCursor(0, 0); |
|
|
@ -7357,7 +7533,7 @@ void UI_func_eq_treble(uint8_t param) |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
lcd_display_meter_float("EQ Treble", configuration.fx.eq_treble, 0.1, 0.0, EQ_TREBLE_MIN, EQ_TREBLE_MAX, 1, 1, false, true, true); |
|
|
|
lcd_display_meter_float("EQ Treble", configuration.fx.eq_treble, 0.1, 0.0, EQ_TREBLE_MIN, EQ_TREBLE_MAX, 1, 1, false, true, true); |
|
|
|
sgtl5000_1.eqBand(4,mapfloat(configuration.fx.eq_treble, EQ_TREBLE_MIN, EQ_TREBLE_MAX, -1.0, 1.0)); |
|
|
|
sgtl5000_1.eqBand(4, mapfloat(configuration.fx.eq_treble, EQ_TREBLE_MIN, EQ_TREBLE_MAX, -1.0, 1.0)); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if (LCDML.FUNC_close()) // ****** STABLE END *********
|
|
|
|
if (LCDML.FUNC_close()) // ****** STABLE END *********
|
|
|
|