diff options
author | Bad Diode <bd@badd10de.dev> | 2023-04-24 12:25:30 +0200 |
---|---|---|
committer | Bad Diode <bd@badd10de.dev> | 2023-04-24 12:25:30 +0200 |
commit | 78b04e72e67eb41b67732673ef043e990ad6c57e (patch) | |
tree | 2bf434e810f50049294703efda24e5384a06190d | |
parent | c7c789096ec6aa31ed98396fd066f1b39dfa8e01 (diff) | |
download | stepper-78b04e72e67eb41b67732673ef043e990ad6c57e.tar.gz stepper-78b04e72e67eb41b67732673ef043e990ad6c57e.zip |
Add octave switching with SEL+L/R on trig select
-rw-r--r-- | src/sequencer.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/sequencer.c b/src/sequencer.c index 4528e0f..d3f2483 100644 --- a/src/sequencer.c +++ b/src/sequencer.c | |||
@@ -800,16 +800,24 @@ handle_trigger_selection(void) { | |||
800 | redraw_trigs = true; | 800 | redraw_trigs = true; |
801 | } | 801 | } |
802 | } else if (key_tap(KEY_L)) { | 802 | } else if (key_tap(KEY_L)) { |
803 | s32 inc = -1; | ||
804 | if (key_hold(KEY_SELECT)) { | ||
805 | inc = -12; | ||
806 | } | ||
803 | // Decrease note. | 807 | // Decrease note. |
804 | if (trig->active) { | 808 | if (trig->active) { |
805 | trig->note = MAX(trig->note - 1, NOTE_C_2); | 809 | trig->note = MAX((s32)trig->note + inc, (s32)NOTE_C_2); |
806 | } | 810 | } |
807 | redraw_trigs = true; | 811 | redraw_trigs = true; |
808 | redraw_piano_note = true; | 812 | redraw_piano_note = true; |
809 | } else if (key_tap(KEY_R)) { | 813 | } else if (key_tap(KEY_R)) { |
814 | s32 inc = 1; | ||
815 | if (key_hold(KEY_SELECT)) { | ||
816 | inc = 12; | ||
817 | } | ||
810 | // Increase note. | 818 | // Increase note. |
811 | if (trig->active) { | 819 | if (trig->active) { |
812 | trig->note = MIN( trig->note + 1, NOTE_C_8 - 1); | 820 | trig->note = MIN((s32)trig->note + inc, (s32)NOTE_C_8 - 1); |
813 | } | 821 | } |
814 | redraw_trigs = true; | 822 | redraw_trigs = true; |
815 | redraw_piano_note = true; | 823 | redraw_piano_note = true; |