diff options
author | Bad Diode <bd@badd10de.dev> | 2023-09-15 10:47:26 +0200 |
---|---|---|
committer | Bad Diode <bd@badd10de.dev> | 2023-09-15 10:47:26 +0200 |
commit | e1680f8c586dfd111b794c0e6f7cc9ed81a76b0b (patch) | |
tree | 10e7b78f67294aede60c4af4adb5c99ae5de5db3 | |
parent | 140fa93b0286f2d986cc4ba30b6be33b6c48af3e (diff) | |
download | stepper-e1680f8c586dfd111b794c0e6f7cc9ed81a76b0b.tar.gz stepper-e1680f8c586dfd111b794c0e6f7cc9ed81a76b0b.zip |
Prepare for release
-rw-r--r-- | Makefile | 2 | ||||
-rw-r--r-- | src/drawing.c | 2 | ||||
-rw-r--r-- | src/main.c | 54 | ||||
-rw-r--r-- | src/sequencer.c | 10 |
4 files changed, 11 insertions, 57 deletions
@@ -27,7 +27,7 @@ INC_FLAGS := $(addprefix -I,$(INC_DIRS)) | |||
27 | INC_FLAGS += -I$(LIBGBA_SRC) | 27 | INC_FLAGS += -I$(LIBGBA_SRC) |
28 | 28 | ||
29 | # Output library names and executables. | 29 | # Output library names and executables. |
30 | TARGET := STEPPER-v1.7-rc3 | 30 | TARGET := STEPPER-v1.7 |
31 | ELF := $(BUILD_DIR)/$(TARGET).elf | 31 | ELF := $(BUILD_DIR)/$(TARGET).elf |
32 | BIN := $(BUILD_DIR)/$(TARGET).gba | 32 | BIN := $(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: { |
@@ -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 | ||
756 | void | 756 | void |
757 | handle_pattern_chain(void) { | 757 | handle_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) { |