From e1680f8c586dfd111b794c0e6f7cc9ed81a76b0b Mon Sep 17 00:00:00 2001 From: Bad Diode Date: Fri, 15 Sep 2023 10:47:26 +0200 Subject: Prepare for release --- Makefile | 2 +- src/drawing.c | 2 +- src/main.c | 54 ++---------------------------------------------------- src/sequencer.c | 10 +++++++--- 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)) INC_FLAGS += -I$(LIBGBA_SRC) # Output library names and executables. -TARGET := STEPPER-v1.7-rc3 +TARGET := STEPPER-v1.7 ELF := $(BUILD_DIR)/$(TARGET).elf BIN := $(BUILD_DIR)/$(TARGET).gba 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() { input_handler == handle_param_selection_noise) { txt_drawf_small("L/R:ADJUST SELECT:COPY", x0 + 2, y0 + 1, color); } else if (input_handler == handle_pattern_selection) { - txt_drawf_small("L/R:CHAIN A:PARAMS B:QUEUE SEL+L/R:CLEAR", x0 + 2, y0 + 1, color); + txt_drawf_small("L/R:CHAIN A:PARAMS B:QUEUE SEL+L+R:CLEAR", x0 + 2, y0 + 1, color); } else if (input_handler == handle_pattern_chain) { switch (param_selection_loc) { 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. // - Add clipboard sharing between banks. // - Allow using B + dpad to nudge trigs. This will potentially mean switching // to key release to enable trigs. -// -// WIP (1.7) -// + Improve "grey" cursor with dithering instead. -// + New channel icons. -// + Update rcol UI and cursor management. -// + Fix bug: Copy/paste don't update the BMP drawing. -// + Blank patterns could show up as empty on the pattern view for better -// separation and section organization. -// + Pattern can be cleared on pattern view with (SEL + L + R). This is -// reversible with the same combination unless the pattern is modified. -// + Make sure there is an ALL notification when modifying channel params so -// that it's clear it's affecting all triggers. -// + Fix keyboard note drawing bugs. -// + Fix stop button behaviour. -// + Scale mode for entering notes. -// + Make sure bank switching is queued like patterns. -// + If we are on sync in, BPM should display SYNC -// + Visual feedback for scale/root note adjustment. -// + Settings page overhaul. -// + Add global mutes option. -// + Add global bpm option. -// + Add auto-save option. -// + Remove thin cursor option and make the fat one default, it's just better. -// + Restore black keys when not on scale mode -// + Enable pattern chain toggling. -// + Enable pattern chain clearing. -// + Enable pattern chain randomizing. -// + Check to make sure parameters are fully clearing the screen, the cursor -// can hang (need to clear the cursor parameter position when moving to/from -// patterns to channels) -// + If select random chain patterns when nothing there chain is propagated but -// play head doesn’t begin at first chain pattern. User must manually place -// a pattern to start chain. -// + Random chain just places A- doesn’t check if which patterns have content -// in bank for random placement. -// + Add help for scale parameters and banks E/F (consider auto-save settings -// for notification) -// + Default should be help is on -// + Cursor on bank can wrap around (up/down) but the same can't be done on -// patterns. -// + Add help for pattern chain -// + Make sure when switching to global bpm, the currently selected tempo is -// used. -// + Make sure parameters show the default ones on empty/cleared patterns and -// you can't modify non active trig params or params on empty patterns. -// + When In chain and in Square 1 should allow you to up arrow to Toggle -// button. Also Square 8 up to allow to arrow up to Random. -// + If chain Toggled OFF (and chain starts with E) and editing a Pattern -// (let’s say it’s C), hitting Start to stop will jump the pattern selected to -// E. Chain if toggled off should have no affect. -// - Add CREDITS to the documentation for now, should probably be a menu item -// later. +// - Channel parameters should only modify the parameter being edited, not all +// of them. // - Make sure sync works with the same cable for in/out. 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) { void handle_pattern_chain(void) { + static int previous_loc = 0; if (key_tap(KEY_A)) { input_handler = handle_pattern_selection; } else if (key_tap(KEY_LEFT)) { @@ -781,10 +782,13 @@ handle_pattern_chain(void) { } } else if (key_tap(KEY_UP)) { if (param_selection_loc >= 0 && param_selection_loc <= 2) { + previous_loc = param_selection_loc; param_selection_loc = 16; } else if (param_selection_loc >= 3 && param_selection_loc <= 4) { + previous_loc = param_selection_loc; param_selection_loc = 17; } else if (param_selection_loc >= 5 && param_selection_loc <= 7) { + previous_loc = param_selection_loc; param_selection_loc = 18; } else if (param_selection_loc >= 8 && param_selection_loc <= 15){ param_selection_loc -= 8; @@ -793,11 +797,11 @@ handle_pattern_chain(void) { if (param_selection_loc <= 7) { param_selection_loc += 8; } else if (param_selection_loc == 16){ - param_selection_loc = 1; + param_selection_loc = previous_loc; } else if (param_selection_loc == 17){ - param_selection_loc = 3; + param_selection_loc = previous_loc; } else if (param_selection_loc == 18){ - param_selection_loc = 5; + param_selection_loc = previous_loc; } } else if (key_tap(KEY_B)) { switch (param_selection_loc) { -- cgit v1.2.1