|
|
@ -3,17 +3,16 @@ uint8_t seq_active_track = 0; |
|
|
|
uint8_t seq_menu; |
|
|
|
uint8_t seq_menu; |
|
|
|
bool seq_button_r = false; |
|
|
|
bool seq_button_r = false; |
|
|
|
bool seq_noteoffsent[4] = {false, false, false, false}; |
|
|
|
bool seq_noteoffsent[4] = {false, false, false, false}; |
|
|
|
elapsedMillis seq_millis_timer; |
|
|
|
|
|
|
|
uint8_t seq_step = 0; |
|
|
|
uint8_t seq_step = 0; |
|
|
|
uint32_t seq_timer_previous = 0; |
|
|
|
|
|
|
|
bool seq_running = false; |
|
|
|
bool seq_running = false; |
|
|
|
bool seq_recording = false; |
|
|
|
bool seq_recording = false; |
|
|
|
uint8_t seq_note_in; |
|
|
|
uint8_t seq_note_in; |
|
|
|
uint8_t seq_note_in_velocity; |
|
|
|
uint8_t seq_note_in_velocity; |
|
|
|
int seq_transpose; |
|
|
|
int seq_transpose; |
|
|
|
uint8_t seq_inst_dexed[4] = { 1, 1, 1, 1 }; |
|
|
|
uint8_t seq_inst_dexed[4] = { 0, 0, 0, 1 }; |
|
|
|
uint8_t seq_chord_dexed_inst = 0; |
|
|
|
uint8_t seq_chord_dexed_inst = 0; |
|
|
|
uint8_t seq_chord_velocity = 50; |
|
|
|
uint8_t seq_chord_velocity = 50; |
|
|
|
|
|
|
|
uint8_t arp_style = 0; // up, down, up&down, random
|
|
|
|
uint8_t seq_chords[6][4] = { 4, 7, 12, 0, //major
|
|
|
|
uint8_t seq_chords[6][4] = { 4, 7, 12, 0, //major
|
|
|
|
3, 7, 12, 0, //minor
|
|
|
|
3, 7, 12, 0, //minor
|
|
|
|
4, 7, 10, 12, //seventh
|
|
|
|
4, 7, 10, 12, //seventh
|
|
|
@ -21,12 +20,26 @@ uint8_t seq_chords[6][4] = { 4, 7, 12, 0, //major |
|
|
|
3, 6, 12, 0, //dim
|
|
|
|
3, 6, 12, 0, //dim
|
|
|
|
4, 7, 11 , 0 //maj7,
|
|
|
|
4, 7, 11 , 0 //maj7,
|
|
|
|
}; |
|
|
|
}; |
|
|
|
|
|
|
|
char seq_chord_names[6][4] = { 'M', 'a', 'j', ' ' , //major
|
|
|
|
|
|
|
|
'M', 'i', 'n', ' ' , |
|
|
|
|
|
|
|
's', 'e', 'v', ' ' , |
|
|
|
|
|
|
|
'a', 'u', 'g', ' ' , |
|
|
|
|
|
|
|
'd', 'i', 'm', ' ' , |
|
|
|
|
|
|
|
'M', 'a', 'j', '7' , |
|
|
|
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
char arp_style_names[4][3] = { 'u', 'p', ' ', |
|
|
|
|
|
|
|
'd', 'w', 'n', |
|
|
|
|
|
|
|
'u', '&', 'd', |
|
|
|
|
|
|
|
'R', 'N', 'D', |
|
|
|
|
|
|
|
}; |
|
|
|
int seq_tempo_ms = 147; |
|
|
|
int seq_tempo_ms = 147; |
|
|
|
int seq_bpm = 102; |
|
|
|
int seq_bpm = 102; |
|
|
|
uint8_t seq_temp_select_menu; |
|
|
|
uint8_t seq_temp_select_menu; |
|
|
|
uint8_t seq_temp_active_menu = 99; |
|
|
|
uint8_t seq_temp_active_menu = 99; |
|
|
|
uint8_t seq_chain_active_chainstep; |
|
|
|
uint8_t seq_chain_active_chainstep; |
|
|
|
uint8_t seq_chain_lenght = 3; // 0=16 steps, 1=32 Steps, 2=46 Steps, 3=64 Steps
|
|
|
|
uint8_t seq_chain_lenght = 3; // 0 = 16 steps, 1 = 32 Steps, 2 = 46 Steps, 3 = 64 Steps
|
|
|
|
uint8_t seq_chain_active_step = 0; |
|
|
|
uint8_t seq_chain_active_step = 0; |
|
|
|
uint8_t seq_prev_note[4]; // note_offs for every (instr.) track
|
|
|
|
uint8_t seq_prev_note[4]; // note_offs for every (instr.) track
|
|
|
|
uint8_t seq_prev_vel[4]; |
|
|
|
uint8_t seq_prev_vel[4]; |
|
|
@ -36,21 +49,23 @@ uint8_t arp_chord; |
|
|
|
uint8_t arp_note_prev; |
|
|
|
uint8_t arp_note_prev; |
|
|
|
uint8_t arp_octave; |
|
|
|
uint8_t arp_octave; |
|
|
|
uint8_t arp_prev_oct; |
|
|
|
uint8_t arp_prev_oct; |
|
|
|
|
|
|
|
uint8_t arp_speed = 0; |
|
|
|
|
|
|
|
uint8_t arp_counter = 0; |
|
|
|
|
|
|
|
uint8_t arp_oct_usersetting = 1; |
|
|
|
uint8_t seq_data[10][16] = {72 , 0 , 0 , 0 , 72 , 0 , 0 , 0 , 72 , 0 , 0 , 0 , 72 , 0 , 0 , 0 , |
|
|
|
uint8_t seq_data[10][16] = {72 , 0 , 0 , 0 , 72 , 0 , 0 , 0 , 72 , 0 , 0 , 0 , 72 , 0 , 0 , 0 , |
|
|
|
78 , 78 , 78 , 78 , 78 , 78 , 78 , 78 , 78 , 78 , 78 , 78 , 78 , 78 , 78 , 78 , |
|
|
|
78 , 78 , 78 , 78 , 78 , 78 , 78 , 78 , 78 , 78 , 78 , 78 , 78 , 78 , 78 , 78 , |
|
|
|
72 , 0 , 0 , 0 , 72 , 0 , 0 , 0 , 72 , 0 , 0 , 75 , 72 , 0 , 0 , 0 , |
|
|
|
72 , 0 , 0 , 0 , 72 , 0 , 0 , 0 , 72 , 0 , 0 , 75 , 72 , 0 , 0 , 0 , |
|
|
|
60 , 61 , 62 , 63 , 64 , 65 , 66 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , |
|
|
|
60 , 61 , 62 , 63 , 64 , 65 , 66 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , |
|
|
|
0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , |
|
|
|
0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , |
|
|
|
55 , 0 , 0 , 0 , 0 , 0 , 52 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , //c1
|
|
|
|
55 , 0 , 0 , 0 , 0 , 0 , 52 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , |
|
|
|
57 , 0 , 0 , 0 , 0 , 0 , 53 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , //C2
|
|
|
|
57 , 0 , 0 , 0 , 0 , 0 , 53 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , |
|
|
|
74 , 0 , 0 , 72 , 0 , 0 , 74 , 0 , 0 , 0 , 76 , 0 , 0 , 0 , 0 , 0 , |
|
|
|
74 , 0 , 0 , 72 , 0 , 0 , 74 , 0 , 0 , 0 , 76 , 0 , 0 , 0 , 0 , 0 , |
|
|
|
74 , 0 , 0 , 72 , 0 , 0 , 71 , 0 , 0 , 0 , 67 , 0 , 0 , 0 , 0 , 0 , |
|
|
|
74 , 0 , 0 , 72 , 0 , 0 , 71 , 0 , 0 , 0 , 67 , 0 , 0 , 0 , 0 , 0 , |
|
|
|
69 , 0 , 0 , 76 , 0 , 0 , 69 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 |
|
|
|
69 , 0 , 0 , 76 , 0 , 0 , 69 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 |
|
|
|
|
|
|
|
|
|
|
|
}; |
|
|
|
}; |
|
|
|
uint8_t seq_vel[10][16] = {120, 0, 0, 0, 120, 0, 0, 0, 120, 0, 0, 0, 120, 0, 0, 0, |
|
|
|
uint8_t seq_vel[10][16] = {120, 0, 0, 0, 120, 0, 0, 0, 120, 0, 0, 0, 120, 0, 0, 0, |
|
|
|
105, 80, 105, 70, 106, 98, 106, 70, 126, 97, 106, 70, 106, 99, 90, 65, |
|
|
|
105, 80, 105, 70, 106, 98, 106, 70, 126, 97, 106, 70, 106, 99, 90, 65, |
|
|
|
120, 0, 0, 0, 120, 0, 0, 0, 120, 0, 120, 50, 120, 120, 0, 0, |
|
|
|
120, 0, 0, 0, 120, 0, 0, 0, 120, 0, 120, 60, 120, 120, 0, 0, |
|
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
|
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
|
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 200, |
|
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 200, |
|
|
|
200, 200, 200, 200, 200, 200, 201, 0, 0, 0, 0, 0, 0, 0, 0, 200, |
|
|
|
200, 200, 200, 200, 200, 200, 201, 0, 0, 0, 0, 0, 0, 0, 0, 200, |
|
|
@ -62,8 +77,8 @@ uint8_t seq_vel[10][16] = {120, 0, 0, 0, 120, 0, 0, 0, 120, 0, 0, 0, 120, 0, 0, |
|
|
|
|
|
|
|
|
|
|
|
uint8_t seq_patternchain[4][4] = { 0 , 1 , 6 , 9 , 0 , 1 , 5 , 8 , 0 , 1 , 6 , 9 , 2 , 1 , 5 , 7 |
|
|
|
uint8_t seq_patternchain[4][4] = { 0 , 1 , 6 , 9 , 0 , 1 , 5 , 8 , 0 , 1 , 6 , 9 , 2 , 1 , 5 , 7 |
|
|
|
}; |
|
|
|
}; |
|
|
|
uint8_t seq_content_type[10] = { 0, 0, 0, 0 , 1, 2, 2 , 1 , 1 , 1 }; // 0 = track is Drumtrack, 1= Instrumenttrack, 2= Chord, 3= Arpeggio
|
|
|
|
uint8_t seq_content_type[10] = { 0, 0, 0, 0 , 1, 1, 1 , 1 , 1 , 1 }; // 0 = track is Drumtrack, 1= Instrumenttrack, 2= Chord or Arpeggio
|
|
|
|
uint8_t seq_track_type[4] = { 0, 0, 3, 1 }; // 0 = track is Drumtrack, 1= Instrumenttrack, 2= Chord, 3=Arp, 4=Chord+Arp
|
|
|
|
uint8_t seq_track_type[4] = { 0, 0, 1, 1 }; // 0 = track is Drumtrack, 1 = Instrumenttrack, 2 = Chord, 3 = Arp
|
|
|
|
|
|
|
|
|
|
|
|
//uint8_t seq_reverb[4][16] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
|
|
//uint8_t seq_reverb[4][16] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
|
|
// 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 36, 0, 0, 0,
|
|
|
|
// 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 36, 0, 0, 0,
|
|
|
|