Dateien hochladen nach „“

pull/71/head
positionhigh 3 years ago
parent ca3dbd136a
commit f707082624
  1. 258
      UI.hpp

258
UI.hpp

@ -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 *********

Loading…
Cancel
Save