ft2-clone

Fasttracker 2 clone
Log | Files | Refs | README | LICENSE

commit f58f8d3d980f2a97a573aab698e8729f7fc631d3
parent 8898df42f669d4140fa5404e615bf048356437f6
Author: Olav Sørensen <olav.sorensen@live.no>
Date:   Tue,  2 Feb 2021 18:39:05 +0100

Fix: Key next to left shift (Note Off) was not working on all kb layouts

Diffstat:
Msrc/ft2_edit.c | 21+++++++++++++++++++++
Msrc/ft2_header.h | 2+-
Msrc/ft2_keyboard.c | 21---------------------
3 files changed, 22 insertions(+), 22 deletions(-)

diff --git a/src/ft2_edit.c b/src/ft2_edit.c @@ -47,6 +47,27 @@ void recordNote(uint8_t note, int8_t vol); static bool testNoteKeys(SDL_Scancode scancode) { const int8_t noteNum = scancodeKeyToNote(scancode); + if (noteNum == 97) + { + // inserts "note off" if editing song + if (playMode == PLAYMODE_EDIT || playMode == PLAYMODE_RECPATT || playMode == PLAYMODE_RECSONG) + { + if (!allocatePattern(editor.editPattern)) + return true; // key pressed + + patt[editor.editPattern][(editor.pattPos * MAX_VOICES) + cursor.ch].ton = 97; + + const uint16_t pattLen = pattLens[editor.editPattern]; + if (playMode == PLAYMODE_EDIT && pattLen >= 1) + setPos(-1, (editor.pattPos + editor.ID_Add) % pattLen, true); + + ui.updatePatternEditor = true; + setSongModifiedFlag(); + } + + return true; // key pressed + } + if (noteNum > 0 && noteNum <= 96) { recordNote(noteNum, -1); diff --git a/src/ft2_header.h b/src/ft2_header.h @@ -12,7 +12,7 @@ #endif #include "ft2_replayer.h" -#define PROG_VER_STR "1.43" +#define PROG_VER_STR "1.44" // do NOT change these! It will only mess things up... diff --git a/src/ft2_keyboard.c b/src/ft2_keyboard.c @@ -331,27 +331,6 @@ static void handleKeys(SDL_Keycode keycode, SDL_Scancode scanKey) } break; - // note off - case SDLK_LESS: - case SDLK_CAPSLOCK: - { - if (playMode == PLAYMODE_EDIT || playMode == PLAYMODE_RECPATT || playMode == PLAYMODE_RECSONG) - { - if (!allocatePattern(editor.editPattern)) - break; - - patt[editor.editPattern][(editor.pattPos * MAX_VOICES) + cursor.ch].ton = 97; - - const uint16_t pattLen = pattLens[editor.editPattern]; - if (playMode == PLAYMODE_EDIT && pattLen >= 1) - setPos(-1, (editor.pattPos + editor.ID_Add) % pattLen, true); - - ui.updatePatternEditor = true; - setSongModifiedFlag(); - } - } - break; - // This is maybe not an ideal key for this anymore... //case SDLK_PRINTSCREEN: togglePatternEditorExtended(); break;