aboutsummaryrefslogtreecommitdiffstats
path: root/src/sequencer.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/sequencer.c')
-rw-r--r--src/sequencer.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/sequencer.c b/src/sequencer.c
index 27874f5..8addefd 100644
--- a/src/sequencer.c
+++ b/src/sequencer.c
@@ -513,7 +513,7 @@ toggle_playing(void) {
513 chain.current = find_next_pattern(); 513 chain.current = find_next_pattern();
514 chain.playing = false; 514 chain.playing = false;
515 bar_counter = 0; 515 bar_counter = 0;
516 if (current_pattern == next_pattern && chain.len > 0) { 516 if (current_pattern == next_pattern && chain.len > 0 && chain.enabled) {
517 chain.playing = true; 517 chain.playing = true;
518 next_pattern = chain.chain[chain.current]; 518 next_pattern = chain.chain[chain.current];
519 current_pattern = next_pattern; 519 current_pattern = next_pattern;
@@ -573,7 +573,7 @@ pause_playing(void) {
573 SOUND_WAVE_CTRL = 0; 573 SOUND_WAVE_CTRL = 0;
574 SOUND_NOISE_CTRL = 0; 574 SOUND_NOISE_CTRL = 0;
575 chain.playing = false; 575 chain.playing = false;
576 if (current_pattern == next_pattern && chain.len > 0) { 576 if (current_pattern == next_pattern && chain.len > 0 && chain.enabled) {
577 chain.playing = true; 577 chain.playing = true;
578 next_pattern = chain.chain[chain.current]; 578 next_pattern = chain.chain[chain.current];
579 current_pattern = next_pattern; 579 current_pattern = next_pattern;
@@ -780,11 +780,11 @@ handle_pattern_chain(void) {
780 param_selection_loc = 8; 780 param_selection_loc = 8;
781 } 781 }
782 } else if (key_tap(KEY_UP)) { 782 } else if (key_tap(KEY_UP)) {
783 if (param_selection_loc >= 1 && param_selection_loc <= 2) { 783 if (param_selection_loc >= 0 && param_selection_loc <= 2) {
784 param_selection_loc = 16; 784 param_selection_loc = 16;
785 } else if (param_selection_loc >= 3 && param_selection_loc <= 4) { 785 } else if (param_selection_loc >= 3 && param_selection_loc <= 4) {
786 param_selection_loc = 17; 786 param_selection_loc = 17;
787 } else if (param_selection_loc >= 5 && param_selection_loc <= 6) { 787 } else if (param_selection_loc >= 5 && param_selection_loc <= 7) {
788 param_selection_loc = 18; 788 param_selection_loc = 18;
789 } else if (param_selection_loc >= 8 && param_selection_loc <= 15){ 789 } else if (param_selection_loc >= 8 && param_selection_loc <= 15){
790 param_selection_loc -= 8; 790 param_selection_loc -= 8;
@@ -1391,7 +1391,8 @@ handle_trigger_selection(void) {
1391 TriggerNote *trig = get_current_trig(); 1391 TriggerNote *trig = get_current_trig();
1392 1392
1393 bool empty = patterns[pattern_selection_loc].empty; 1393 bool empty = patterns[pattern_selection_loc].empty;
1394 if (key_tap(KEY_B)) { 1394 if (key_hold(KEY_B)) {
1395 } else if (key_released(KEY_B)) {
1395 if (key_hold(KEY_SELECT)) { 1396 if (key_hold(KEY_SELECT)) {
1396 clipboard_copy(); 1397 clipboard_copy();
1397 } else { 1398 } else {