Dateien hochladen nach „“

pull/95/head
positionhigh 3 years ago
parent 8a209e54f2
commit 7bb3c034f3
  1. 21
      sequencer.cpp

@ -47,9 +47,12 @@ void sequencer_part1(void)
{ {
if (seq_track_type[d] == 1 || (seq_track_type[d] == 3 && arp_play_basenote) ) if (seq_track_type[d] == 1 || (seq_track_type[d] == 3 && arp_play_basenote) )
{ {
handleNoteOn(configuration.dexed[seq_inst_dexed[d]].midi_channel, seq_data[ seq_patternchain[seq_chain_active_step][d] ][seq_step], seq_vel[ seq_patternchain[seq_chain_active_step][d] ][seq_step]); if (seq_data[seq_patternchain[seq_chain_active_step][d]][seq_step] != 130 )
seq_prev_note[d] = seq_data[ seq_patternchain[seq_chain_active_step][d] ][seq_step]; {
seq_prev_vel[d] = seq_vel[ seq_patternchain[seq_chain_active_step][d] ][seq_step]; handleNoteOn(configuration.dexed[seq_inst_dexed[d]].midi_channel, seq_data[ seq_patternchain[seq_chain_active_step][d] ][seq_step], seq_vel[ seq_patternchain[seq_chain_active_step][d] ][seq_step]);
seq_prev_note[d] = seq_data[ seq_patternchain[seq_chain_active_step][d] ][seq_step];
seq_prev_vel[d] = seq_vel[ seq_patternchain[seq_chain_active_step][d] ][seq_step];
}
} }
else if (seq_track_type[d] == 2 ) //Chords else if (seq_track_type[d] == 2 ) //Chords
{ {
@ -69,9 +72,7 @@ void sequencer_part1(void)
if (seq_track_type[d] == 3) { //Arp if (seq_track_type[d] == 3) { //Arp
arp_step = 0; arp_step = 0;
arp_counter = 0; arp_counter = 0;
arp_note = seq_data[ seq_patternchain[seq_chain_active_step][d] ][seq_step] + (seq_oct_shift * 12); arp_note = seq_data[ seq_patternchain[seq_chain_active_step][d] ][seq_step] + (seq_oct_shift * 12);
// if (seq_vel[seq_patternchain[seq_chain_active_step][d] ][seq_step] - 200 >= 0)
arp_chord = seq_vel[seq_patternchain[seq_chain_active_step][d] ][seq_step] - 200; arp_chord = seq_vel[seq_patternchain[seq_chain_active_step][d] ][seq_step] - 200;
} }
} }
@ -165,25 +166,29 @@ void sequencer_part2(void)
if (seq_noteoffsent[d] == false) { if (seq_noteoffsent[d] == false) {
if ( seq_prev_note[d] > 0 && seq_track_type[d] > 0) if ( seq_prev_note[d] > 0 && seq_track_type[d] > 0)
{ {
handleNoteOff(configuration.dexed[seq_inst_dexed[d]].midi_channel, seq_prev_note[d] , 0); if (seq_data[ seq_patternchain[seq_chain_active_step][d] ][seq_step] != 130)
{
handleNoteOff(configuration.dexed[seq_inst_dexed[d]].midi_channel, seq_prev_note[d] , 0);
seq_noteoffsent[d] = true;
}
if (seq_track_type[d] == 2) { //Chords if (seq_track_type[d] == 2) { //Chords
if ( seq_prev_vel[d] > 199) { if ( seq_prev_vel[d] > 199) {
for (uint8_t x = seq_element_shift; x < seq_element_shift + seq_chord_key_ammount; x++) //play chord notes for (uint8_t x = seq_element_shift; x < seq_element_shift + seq_chord_key_ammount; x++) //play chord notes
{ {
handleNoteOff(configuration.dexed[seq_chord_dexed_inst].midi_channel, seq_prev_note[d] + seq_arps[seq_prev_vel[d] - 200][x], 0); handleNoteOff(configuration.dexed[seq_chord_dexed_inst].midi_channel, seq_prev_note[d] + seq_arps[seq_prev_vel[d] - 200][x], 0);
seq_noteoffsent[d] = true;
} }
} }
} }
else if (seq_track_type[d] == 3) else if (seq_track_type[d] == 3)
{ //Arp { //Arp
handleNoteOff(configuration.dexed[seq_chord_dexed_inst].midi_channel, arp_note_prev, 0); handleNoteOff(configuration.dexed[seq_chord_dexed_inst].midi_channel, arp_note_prev, 0);
seq_noteoffsent[d] = true;
} }
} }
seq_noteoffsent[d] = true;
} }
} }
} }
void sequencer(void) void sequencer(void)
{ // Runs in Interrupt Timer. Switches between the Noteon and Noteoff Task, each cycle { // Runs in Interrupt Timer. Switches between the Noteon and Noteoff Task, each cycle

Loading…
Cancel
Save