aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBad Diode <bd@badd10de.dev>2023-09-15 10:47:26 +0200
committerBad Diode <bd@badd10de.dev>2023-09-15 10:47:26 +0200
commite1680f8c586dfd111b794c0e6f7cc9ed81a76b0b (patch)
tree10e7b78f67294aede60c4af4adb5c99ae5de5db3
parent140fa93b0286f2d986cc4ba30b6be33b6c48af3e (diff)
downloadstepper-e1680f8c586dfd111b794c0e6f7cc9ed81a76b0b.tar.gz
stepper-e1680f8c586dfd111b794c0e6f7cc9ed81a76b0b.zip
Prepare for release
-rw-r--r--Makefile2
-rw-r--r--src/drawing.c2
-rw-r--r--src/main.c54
-rw-r--r--src/sequencer.c10
4 files changed, 11 insertions, 57 deletions
diff --git a/Makefile b/Makefile
index 6bf8ba7..00e643d 100644
--- a/Makefile
+++ b/Makefile
@@ -27,7 +27,7 @@ INC_FLAGS := $(addprefix -I,$(INC_DIRS))
27INC_FLAGS += -I$(LIBGBA_SRC) 27INC_FLAGS += -I$(LIBGBA_SRC)
28 28
29# Output library names and executables. 29# Output library names and executables.
30TARGET := STEPPER-v1.7-rc3 30TARGET := STEPPER-v1.7
31ELF := $(BUILD_DIR)/$(TARGET).elf 31ELF := $(BUILD_DIR)/$(TARGET).elf
32BIN := $(BUILD_DIR)/$(TARGET).gba 32BIN := $(BUILD_DIR)/$(TARGET).gba
33 33
diff --git a/src/drawing.c b/src/drawing.c
index 97435ad..8226d62 100644
--- a/src/drawing.c
+++ b/src/drawing.c
@@ -1735,7 +1735,7 @@ draw_notif_bar() {
1735 input_handler == handle_param_selection_noise) { 1735 input_handler == handle_param_selection_noise) {
1736 txt_drawf_small("L/R:ADJUST SELECT:COPY", x0 + 2, y0 + 1, color); 1736 txt_drawf_small("L/R:ADJUST SELECT:COPY", x0 + 2, y0 + 1, color);
1737 } else if (input_handler == handle_pattern_selection) { 1737 } else if (input_handler == handle_pattern_selection) {
1738 txt_drawf_small("L/R:CHAIN A:PARAMS B:QUEUE SEL+L/R:CLEAR", x0 + 2, y0 + 1, color); 1738 txt_drawf_small("L/R:CHAIN A:PARAMS B:QUEUE SEL+L+R:CLEAR", x0 + 2, y0 + 1, color);
1739 } else if (input_handler == handle_pattern_chain) { 1739 } else if (input_handler == handle_pattern_chain) {
1740 switch (param_selection_loc) { 1740 switch (param_selection_loc) {
1741 case CHAIN_BTN_ENABLE: { 1741 case CHAIN_BTN_ENABLE: {
diff --git a/src/main.c b/src/main.c
index db04026..4502dbd 100644
--- a/src/main.c
+++ b/src/main.c
@@ -42,58 +42,8 @@ WITH REGARD TO THIS SOFTWARE.
42// - Add clipboard sharing between banks. 42// - Add clipboard sharing between banks.
43// - Allow using B + dpad to nudge trigs. This will potentially mean switching 43// - Allow using B + dpad to nudge trigs. This will potentially mean switching
44// to key release to enable trigs. 44// to key release to enable trigs.
45// 45// - Channel parameters should only modify the parameter being edited, not all
46// WIP (1.7) 46// of them.
47// + Improve "grey" cursor with dithering instead.
48// + New channel icons.
49// + Update rcol UI and cursor management.
50// + Fix bug: Copy/paste don't update the BMP drawing.
51// + Blank patterns could show up as empty on the pattern view for better
52// separation and section organization.
53// + Pattern can be cleared on pattern view with (SEL + L + R). This is
54// reversible with the same combination unless the pattern is modified.
55// + Make sure there is an ALL notification when modifying channel params so
56// that it's clear it's affecting all triggers.
57// + Fix keyboard note drawing bugs.
58// + Fix stop button behaviour.
59// + Scale mode for entering notes.
60// + Make sure bank switching is queued like patterns.
61// + If we are on sync in, BPM should display SYNC
62// + Visual feedback for scale/root note adjustment.
63// + Settings page overhaul.
64// + Add global mutes option.
65// + Add global bpm option.
66// + Add auto-save option.
67// + Remove thin cursor option and make the fat one default, it's just better.
68// + Restore black keys when not on scale mode
69// + Enable pattern chain toggling.
70// + Enable pattern chain clearing.
71// + Enable pattern chain randomizing.
72// + Check to make sure parameters are fully clearing the screen, the cursor
73// can hang (need to clear the cursor parameter position when moving to/from
74// patterns to channels)
75// + If select random chain patterns when nothing there chain is propagated but
76// play head doesn’t begin at first chain pattern. User must manually place
77// a pattern to start chain.
78// + Random chain just places A- doesn’t check if which patterns have content
79// in bank for random placement.
80// + Add help for scale parameters and banks E/F (consider auto-save settings
81// for notification)
82// + Default should be help is on
83// + Cursor on bank can wrap around (up/down) but the same can't be done on
84// patterns.
85// + Add help for pattern chain
86// + Make sure when switching to global bpm, the currently selected tempo is
87// used.
88// + Make sure parameters show the default ones on empty/cleared patterns and
89// you can't modify non active trig params or params on empty patterns.
90// + When In chain and in Square 1 should allow you to up arrow to Toggle
91// button. Also Square 8 up to allow to arrow up to Random.
92// + If chain Toggled OFF (and chain starts with E) and editing a Pattern
93// (let’s say it’s C), hitting Start to stop will jump the pattern selected to
94// E. Chain if toggled off should have no affect.
95// - Add CREDITS to the documentation for now, should probably be a menu item
96// later.
97// - Make sure sync works with the same cable for in/out. 47// - Make sure sync works with the same cable for in/out.
98 48
99 49
diff --git a/src/sequencer.c b/src/sequencer.c
index 8addefd..632a777 100644
--- a/src/sequencer.c
+++ b/src/sequencer.c
@@ -755,6 +755,7 @@ handle_right_col_selection(void) {
755 755
756void 756void
757handle_pattern_chain(void) { 757handle_pattern_chain(void) {
758 static int previous_loc = 0;
758 if (key_tap(KEY_A)) { 759 if (key_tap(KEY_A)) {
759 input_handler = handle_pattern_selection; 760 input_handler = handle_pattern_selection;
760 } else if (key_tap(KEY_LEFT)) { 761 } else if (key_tap(KEY_LEFT)) {
@@ -781,10 +782,13 @@ handle_pattern_chain(void) {
781 } 782 }
782 } else if (key_tap(KEY_UP)) { 783 } else if (key_tap(KEY_UP)) {
783 if (param_selection_loc >= 0 && param_selection_loc <= 2) { 784 if (param_selection_loc >= 0 && param_selection_loc <= 2) {
785 previous_loc = param_selection_loc;
784 param_selection_loc = 16; 786 param_selection_loc = 16;
785 } else if (param_selection_loc >= 3 && param_selection_loc <= 4) { 787 } else if (param_selection_loc >= 3 && param_selection_loc <= 4) {
788 previous_loc = param_selection_loc;
786 param_selection_loc = 17; 789 param_selection_loc = 17;
787 } else if (param_selection_loc >= 5 && param_selection_loc <= 7) { 790 } else if (param_selection_loc >= 5 && param_selection_loc <= 7) {
791 previous_loc = param_selection_loc;
788 param_selection_loc = 18; 792 param_selection_loc = 18;
789 } else if (param_selection_loc >= 8 && param_selection_loc <= 15){ 793 } else if (param_selection_loc >= 8 && param_selection_loc <= 15){
790 param_selection_loc -= 8; 794 param_selection_loc -= 8;
@@ -793,11 +797,11 @@ handle_pattern_chain(void) {
793 if (param_selection_loc <= 7) { 797 if (param_selection_loc <= 7) {
794 param_selection_loc += 8; 798 param_selection_loc += 8;
795 } else if (param_selection_loc == 16){ 799 } else if (param_selection_loc == 16){
796 param_selection_loc = 1; 800 param_selection_loc = previous_loc;
797 } else if (param_selection_loc == 17){ 801 } else if (param_selection_loc == 17){
798 param_selection_loc = 3; 802 param_selection_loc = previous_loc;
799 } else if (param_selection_loc == 18){ 803 } else if (param_selection_loc == 18){
800 param_selection_loc = 5; 804 param_selection_loc = previous_loc;
801 } 805 }
802 } else if (key_tap(KEY_B)) { 806 } else if (key_tap(KEY_B)) {
803 switch (param_selection_loc) { 807 switch (param_selection_loc) {