more MIDI work... still not there

This commit is contained in:
tildearrow 2022-03-29 16:09:15 -05:00
parent c26123e782
commit 77798f6ed7
6 changed files with 657 additions and 176 deletions

View file

@ -21,13 +21,11 @@
#include "fonts.h"
#include "../ta-log.h"
#include "util.h"
#include "guiConst.h"
#include "ImGuiFileDialog.h"
#include "IconsFontAwesome4.h"
#include "misc/cpp/imgui_stdlib.h"
#include <SDL_keycode.h>
#include <SDL_scancode.h>
#include <fmt/printf.h>
#include <imgui.h>
#ifdef __APPLE__
#define FURKMOD_CMD FURKMOD_META
@ -102,10 +100,10 @@ const char* saaCores[]={
ImGui::EndTable(); \
}
#define UI_KEYBIND_CONFIG(what,label) \
#define UI_KEYBIND_CONFIG(what) \
ImGui::TableNextRow(); \
ImGui::TableNextColumn(); \
ImGui::Text(label); \
ImGui::TextUnformatted(guiActions[what][1]); \
ImGui::TableNextColumn(); \
if (ImGui::Button(fmt::sprintf("%s##KC_" #what,(bindSetPending && bindSetTarget==what)?"Press key...":getKeyName(actionKeys[what])).c_str())) { \
promptKey(what); \
@ -662,30 +660,30 @@ void FurnaceGUI::drawSettings() {
if (ImGui::TreeNode("Global hotkeys")) {
KEYBIND_CONFIG_BEGIN("keysGlobal");
UI_KEYBIND_CONFIG(GUI_ACTION_OPEN,"Open file");
UI_KEYBIND_CONFIG(GUI_ACTION_OPEN_BACKUP,"Restore backup");
UI_KEYBIND_CONFIG(GUI_ACTION_SAVE,"Save file");
UI_KEYBIND_CONFIG(GUI_ACTION_SAVE_AS,"Save as");
UI_KEYBIND_CONFIG(GUI_ACTION_UNDO,"Undo");
UI_KEYBIND_CONFIG(GUI_ACTION_REDO,"Redo");
UI_KEYBIND_CONFIG(GUI_ACTION_PLAY_TOGGLE,"Play/Stop (toggle)");
UI_KEYBIND_CONFIG(GUI_ACTION_PLAY,"Play");
UI_KEYBIND_CONFIG(GUI_ACTION_STOP,"Stop");
UI_KEYBIND_CONFIG(GUI_ACTION_PLAY_REPEAT,"Play (repeat pattern)");
UI_KEYBIND_CONFIG(GUI_ACTION_PLAY_CURSOR,"Play from cursor");
UI_KEYBIND_CONFIG(GUI_ACTION_STEP_ONE,"Step row");
UI_KEYBIND_CONFIG(GUI_ACTION_OCTAVE_UP,"Octave up");
UI_KEYBIND_CONFIG(GUI_ACTION_OCTAVE_DOWN,"Octave down");
UI_KEYBIND_CONFIG(GUI_ACTION_INS_UP,"Previous instrument");
UI_KEYBIND_CONFIG(GUI_ACTION_INS_DOWN,"Next instrument");
UI_KEYBIND_CONFIG(GUI_ACTION_STEP_UP,"Increase edit step");
UI_KEYBIND_CONFIG(GUI_ACTION_STEP_DOWN,"Decrease edit step");
UI_KEYBIND_CONFIG(GUI_ACTION_TOGGLE_EDIT,"Toggle edit mode");
UI_KEYBIND_CONFIG(GUI_ACTION_METRONOME,"Metronome");
UI_KEYBIND_CONFIG(GUI_ACTION_REPEAT_PATTERN,"Toggle repeat pattern");
UI_KEYBIND_CONFIG(GUI_ACTION_FOLLOW_ORDERS,"Follow orders");
UI_KEYBIND_CONFIG(GUI_ACTION_FOLLOW_PATTERN,"Follow pattern");
UI_KEYBIND_CONFIG(GUI_ACTION_PANIC,"Panic");
UI_KEYBIND_CONFIG(GUI_ACTION_OPEN);
UI_KEYBIND_CONFIG(GUI_ACTION_OPEN_BACKUP);
UI_KEYBIND_CONFIG(GUI_ACTION_SAVE);
UI_KEYBIND_CONFIG(GUI_ACTION_SAVE_AS);
UI_KEYBIND_CONFIG(GUI_ACTION_UNDO);
UI_KEYBIND_CONFIG(GUI_ACTION_REDO);
UI_KEYBIND_CONFIG(GUI_ACTION_PLAY_TOGGLE);
UI_KEYBIND_CONFIG(GUI_ACTION_PLAY);
UI_KEYBIND_CONFIG(GUI_ACTION_STOP);
UI_KEYBIND_CONFIG(GUI_ACTION_PLAY_REPEAT);
UI_KEYBIND_CONFIG(GUI_ACTION_PLAY_CURSOR);
UI_KEYBIND_CONFIG(GUI_ACTION_STEP_ONE);
UI_KEYBIND_CONFIG(GUI_ACTION_OCTAVE_UP);
UI_KEYBIND_CONFIG(GUI_ACTION_OCTAVE_DOWN);
UI_KEYBIND_CONFIG(GUI_ACTION_INS_UP);
UI_KEYBIND_CONFIG(GUI_ACTION_INS_DOWN);
UI_KEYBIND_CONFIG(GUI_ACTION_STEP_UP);
UI_KEYBIND_CONFIG(GUI_ACTION_STEP_DOWN);
UI_KEYBIND_CONFIG(GUI_ACTION_TOGGLE_EDIT);
UI_KEYBIND_CONFIG(GUI_ACTION_METRONOME);
UI_KEYBIND_CONFIG(GUI_ACTION_REPEAT_PATTERN);
UI_KEYBIND_CONFIG(GUI_ACTION_FOLLOW_ORDERS);
UI_KEYBIND_CONFIG(GUI_ACTION_FOLLOW_PATTERN);
UI_KEYBIND_CONFIG(GUI_ACTION_PANIC);
KEYBIND_CONFIG_END;
ImGui::TreePop();
@ -693,31 +691,31 @@ void FurnaceGUI::drawSettings() {
if (ImGui::TreeNode("Window activation")) {
KEYBIND_CONFIG_BEGIN("keysWindow");
UI_KEYBIND_CONFIG(GUI_ACTION_WINDOW_EDIT_CONTROLS,"Edit Controls");
UI_KEYBIND_CONFIG(GUI_ACTION_WINDOW_ORDERS,"Orders");
UI_KEYBIND_CONFIG(GUI_ACTION_WINDOW_INS_LIST,"Instrument List");
UI_KEYBIND_CONFIG(GUI_ACTION_WINDOW_INS_EDIT,"Instrument Editor");
UI_KEYBIND_CONFIG(GUI_ACTION_WINDOW_SONG_INFO,"Song Information");
UI_KEYBIND_CONFIG(GUI_ACTION_WINDOW_PATTERN,"Pattern");
UI_KEYBIND_CONFIG(GUI_ACTION_WINDOW_WAVE_LIST,"Wavetable List");
UI_KEYBIND_CONFIG(GUI_ACTION_WINDOW_WAVE_EDIT,"Wavetable Editor");
UI_KEYBIND_CONFIG(GUI_ACTION_WINDOW_SAMPLE_LIST,"Sample List");
UI_KEYBIND_CONFIG(GUI_ACTION_WINDOW_SAMPLE_EDIT,"Sample Editor");
UI_KEYBIND_CONFIG(GUI_ACTION_WINDOW_ABOUT,"About");
UI_KEYBIND_CONFIG(GUI_ACTION_WINDOW_SETTINGS,"Settings");
UI_KEYBIND_CONFIG(GUI_ACTION_WINDOW_MIXER,"Mixer");
UI_KEYBIND_CONFIG(GUI_ACTION_WINDOW_DEBUG,"Debug Menu");
UI_KEYBIND_CONFIG(GUI_ACTION_WINDOW_OSCILLOSCOPE,"Oscilloscope");
UI_KEYBIND_CONFIG(GUI_ACTION_WINDOW_VOL_METER,"Volume Meter");
UI_KEYBIND_CONFIG(GUI_ACTION_WINDOW_STATS,"Statistics");
UI_KEYBIND_CONFIG(GUI_ACTION_WINDOW_COMPAT_FLAGS,"Compatibility Flags");
UI_KEYBIND_CONFIG(GUI_ACTION_WINDOW_PIANO,"Piano");
UI_KEYBIND_CONFIG(GUI_ACTION_WINDOW_NOTES,"Song Comments");
UI_KEYBIND_CONFIG(GUI_ACTION_WINDOW_CHANNELS,"Channels");
UI_KEYBIND_CONFIG(GUI_ACTION_WINDOW_REGISTER_VIEW,"Register View");
UI_KEYBIND_CONFIG(GUI_ACTION_WINDOW_EDIT_CONTROLS);
UI_KEYBIND_CONFIG(GUI_ACTION_WINDOW_ORDERS);
UI_KEYBIND_CONFIG(GUI_ACTION_WINDOW_INS_LIST);
UI_KEYBIND_CONFIG(GUI_ACTION_WINDOW_INS_EDIT);
UI_KEYBIND_CONFIG(GUI_ACTION_WINDOW_SONG_INFO);
UI_KEYBIND_CONFIG(GUI_ACTION_WINDOW_PATTERN);
UI_KEYBIND_CONFIG(GUI_ACTION_WINDOW_WAVE_LIST);
UI_KEYBIND_CONFIG(GUI_ACTION_WINDOW_WAVE_EDIT);
UI_KEYBIND_CONFIG(GUI_ACTION_WINDOW_SAMPLE_LIST);
UI_KEYBIND_CONFIG(GUI_ACTION_WINDOW_SAMPLE_EDIT);
UI_KEYBIND_CONFIG(GUI_ACTION_WINDOW_ABOUT);
UI_KEYBIND_CONFIG(GUI_ACTION_WINDOW_SETTINGS);
UI_KEYBIND_CONFIG(GUI_ACTION_WINDOW_MIXER);
UI_KEYBIND_CONFIG(GUI_ACTION_WINDOW_DEBUG);
UI_KEYBIND_CONFIG(GUI_ACTION_WINDOW_OSCILLOSCOPE);
UI_KEYBIND_CONFIG(GUI_ACTION_WINDOW_VOL_METER);
UI_KEYBIND_CONFIG(GUI_ACTION_WINDOW_STATS);
UI_KEYBIND_CONFIG(GUI_ACTION_WINDOW_COMPAT_FLAGS);
UI_KEYBIND_CONFIG(GUI_ACTION_WINDOW_PIANO);
UI_KEYBIND_CONFIG(GUI_ACTION_WINDOW_NOTES);
UI_KEYBIND_CONFIG(GUI_ACTION_WINDOW_CHANNELS);
UI_KEYBIND_CONFIG(GUI_ACTION_WINDOW_REGISTER_VIEW);
UI_KEYBIND_CONFIG(GUI_ACTION_COLLAPSE_WINDOW,"Collapse/expand current window");
UI_KEYBIND_CONFIG(GUI_ACTION_CLOSE_WINDOW,"Close current window");
UI_KEYBIND_CONFIG(GUI_ACTION_COLLAPSE_WINDOW);
UI_KEYBIND_CONFIG(GUI_ACTION_CLOSE_WINDOW);
KEYBIND_CONFIG_END;
ImGui::TreePop();
@ -808,49 +806,49 @@ void FurnaceGUI::drawSettings() {
if (ImGui::TreeNode("Pattern")) {
KEYBIND_CONFIG_BEGIN("keysPattern");
UI_KEYBIND_CONFIG(GUI_ACTION_PAT_NOTE_UP,"Transpose (semitone up)");
UI_KEYBIND_CONFIG(GUI_ACTION_PAT_NOTE_DOWN,"Transpose (semitone down");
UI_KEYBIND_CONFIG(GUI_ACTION_PAT_OCTAVE_UP,"Transpose (octave up)");
UI_KEYBIND_CONFIG(GUI_ACTION_PAT_OCTAVE_DOWN,"Transpose (octave down)");
UI_KEYBIND_CONFIG(GUI_ACTION_PAT_SELECT_ALL,"Select all");
UI_KEYBIND_CONFIG(GUI_ACTION_PAT_CUT,"Cut");
UI_KEYBIND_CONFIG(GUI_ACTION_PAT_COPY,"Copy");
UI_KEYBIND_CONFIG(GUI_ACTION_PAT_PASTE,"Paste");
UI_KEYBIND_CONFIG(GUI_ACTION_PAT_CURSOR_UP,"Move cursor up");
UI_KEYBIND_CONFIG(GUI_ACTION_PAT_CURSOR_DOWN,"Move cursor down");
UI_KEYBIND_CONFIG(GUI_ACTION_PAT_CURSOR_LEFT,"Move cursor left");
UI_KEYBIND_CONFIG(GUI_ACTION_PAT_CURSOR_RIGHT,"Move cursor right");
UI_KEYBIND_CONFIG(GUI_ACTION_PAT_CURSOR_UP_ONE,"Move cursor up by one (override Edit Step)");
UI_KEYBIND_CONFIG(GUI_ACTION_PAT_CURSOR_DOWN_ONE,"Move cursor down by one (override Edit Step)");
UI_KEYBIND_CONFIG(GUI_ACTION_PAT_CURSOR_LEFT_CHANNEL,"Move cursor to previous channel");
UI_KEYBIND_CONFIG(GUI_ACTION_PAT_CURSOR_RIGHT_CHANNEL,"Move cursor to next channel");
UI_KEYBIND_CONFIG(GUI_ACTION_PAT_CURSOR_PREVIOUS_CHANNEL,"Move cursor to previous channel (overflow)");
UI_KEYBIND_CONFIG(GUI_ACTION_PAT_CURSOR_NEXT_CHANNEL,"Move cursor to next channel (overflow)");
UI_KEYBIND_CONFIG(GUI_ACTION_PAT_CURSOR_BEGIN,"Move cursor to beginning of pattern");
UI_KEYBIND_CONFIG(GUI_ACTION_PAT_CURSOR_END,"Move cursor to end of pattern");
UI_KEYBIND_CONFIG(GUI_ACTION_PAT_CURSOR_UP_COARSE,"Move cursor up (coarse)");
UI_KEYBIND_CONFIG(GUI_ACTION_PAT_CURSOR_DOWN_COARSE,"Move cursor down (coarse)");
UI_KEYBIND_CONFIG(GUI_ACTION_PAT_SELECTION_UP,"Expand selection upwards");
UI_KEYBIND_CONFIG(GUI_ACTION_PAT_SELECTION_DOWN,"Expand selection downwards");
UI_KEYBIND_CONFIG(GUI_ACTION_PAT_SELECTION_LEFT,"Expand selection to the left");
UI_KEYBIND_CONFIG(GUI_ACTION_PAT_SELECTION_RIGHT,"Expand selection to the right");
UI_KEYBIND_CONFIG(GUI_ACTION_PAT_SELECTION_UP_ONE,"Expand selection upwards by one (override Edit Step)");
UI_KEYBIND_CONFIG(GUI_ACTION_PAT_SELECTION_DOWN_ONE,"Expand selection downwards by one (override Edit Step)");
UI_KEYBIND_CONFIG(GUI_ACTION_PAT_SELECTION_BEGIN,"Expand selection to beginning of pattern");
UI_KEYBIND_CONFIG(GUI_ACTION_PAT_SELECTION_END,"Expand selection to end of pattern");
UI_KEYBIND_CONFIG(GUI_ACTION_PAT_SELECTION_UP_COARSE,"Expand selection upwards (coarse)");
UI_KEYBIND_CONFIG(GUI_ACTION_PAT_SELECTION_DOWN_COARSE,"Expand selection downwards (coarse)");
UI_KEYBIND_CONFIG(GUI_ACTION_PAT_DELETE,"Delete");
UI_KEYBIND_CONFIG(GUI_ACTION_PAT_PULL_DELETE,"Pull delete");
UI_KEYBIND_CONFIG(GUI_ACTION_PAT_INSERT,"Insert");
UI_KEYBIND_CONFIG(GUI_ACTION_PAT_MUTE_CURSOR,"Mute channel at cursor");
UI_KEYBIND_CONFIG(GUI_ACTION_PAT_SOLO_CURSOR,"Solo channel at cursor");
UI_KEYBIND_CONFIG(GUI_ACTION_PAT_UNMUTE_ALL,"Unmute all channels");
UI_KEYBIND_CONFIG(GUI_ACTION_PAT_NEXT_ORDER,"Go to next order");
UI_KEYBIND_CONFIG(GUI_ACTION_PAT_PREV_ORDER,"Go to previous order");
UI_KEYBIND_CONFIG(GUI_ACTION_PAT_COLLAPSE,"Collapse channel at cursor");
UI_KEYBIND_CONFIG(GUI_ACTION_PAT_INCREASE_COLUMNS,"Increase effect columns");
UI_KEYBIND_CONFIG(GUI_ACTION_PAT_DECREASE_COLUMNS,"Decrease effect columns");
UI_KEYBIND_CONFIG(GUI_ACTION_PAT_NOTE_UP);
UI_KEYBIND_CONFIG(GUI_ACTION_PAT_NOTE_DOWN);
UI_KEYBIND_CONFIG(GUI_ACTION_PAT_OCTAVE_UP);
UI_KEYBIND_CONFIG(GUI_ACTION_PAT_OCTAVE_DOWN);
UI_KEYBIND_CONFIG(GUI_ACTION_PAT_SELECT_ALL);
UI_KEYBIND_CONFIG(GUI_ACTION_PAT_CUT);
UI_KEYBIND_CONFIG(GUI_ACTION_PAT_COPY);
UI_KEYBIND_CONFIG(GUI_ACTION_PAT_PASTE);
UI_KEYBIND_CONFIG(GUI_ACTION_PAT_CURSOR_UP);
UI_KEYBIND_CONFIG(GUI_ACTION_PAT_CURSOR_DOWN);
UI_KEYBIND_CONFIG(GUI_ACTION_PAT_CURSOR_LEFT);
UI_KEYBIND_CONFIG(GUI_ACTION_PAT_CURSOR_RIGHT);
UI_KEYBIND_CONFIG(GUI_ACTION_PAT_CURSOR_UP_ONE);
UI_KEYBIND_CONFIG(GUI_ACTION_PAT_CURSOR_DOWN_ONE);
UI_KEYBIND_CONFIG(GUI_ACTION_PAT_CURSOR_LEFT_CHANNEL);
UI_KEYBIND_CONFIG(GUI_ACTION_PAT_CURSOR_RIGHT_CHANNEL);
UI_KEYBIND_CONFIG(GUI_ACTION_PAT_CURSOR_PREVIOUS_CHANNEL);
UI_KEYBIND_CONFIG(GUI_ACTION_PAT_CURSOR_NEXT_CHANNEL);
UI_KEYBIND_CONFIG(GUI_ACTION_PAT_CURSOR_BEGIN);
UI_KEYBIND_CONFIG(GUI_ACTION_PAT_CURSOR_END);
UI_KEYBIND_CONFIG(GUI_ACTION_PAT_CURSOR_UP_COARSE);
UI_KEYBIND_CONFIG(GUI_ACTION_PAT_CURSOR_DOWN_COARSE);
UI_KEYBIND_CONFIG(GUI_ACTION_PAT_SELECTION_UP);
UI_KEYBIND_CONFIG(GUI_ACTION_PAT_SELECTION_DOWN);
UI_KEYBIND_CONFIG(GUI_ACTION_PAT_SELECTION_LEFT);
UI_KEYBIND_CONFIG(GUI_ACTION_PAT_SELECTION_RIGHT);
UI_KEYBIND_CONFIG(GUI_ACTION_PAT_SELECTION_UP_ONE);
UI_KEYBIND_CONFIG(GUI_ACTION_PAT_SELECTION_DOWN_ONE);
UI_KEYBIND_CONFIG(GUI_ACTION_PAT_SELECTION_BEGIN);
UI_KEYBIND_CONFIG(GUI_ACTION_PAT_SELECTION_END);
UI_KEYBIND_CONFIG(GUI_ACTION_PAT_SELECTION_UP_COARSE);
UI_KEYBIND_CONFIG(GUI_ACTION_PAT_SELECTION_DOWN_COARSE);
UI_KEYBIND_CONFIG(GUI_ACTION_PAT_DELETE);
UI_KEYBIND_CONFIG(GUI_ACTION_PAT_PULL_DELETE);
UI_KEYBIND_CONFIG(GUI_ACTION_PAT_INSERT);
UI_KEYBIND_CONFIG(GUI_ACTION_PAT_MUTE_CURSOR);
UI_KEYBIND_CONFIG(GUI_ACTION_PAT_SOLO_CURSOR);
UI_KEYBIND_CONFIG(GUI_ACTION_PAT_UNMUTE_ALL);
UI_KEYBIND_CONFIG(GUI_ACTION_PAT_NEXT_ORDER);
UI_KEYBIND_CONFIG(GUI_ACTION_PAT_PREV_ORDER);
UI_KEYBIND_CONFIG(GUI_ACTION_PAT_COLLAPSE);
UI_KEYBIND_CONFIG(GUI_ACTION_PAT_INCREASE_COLUMNS);
UI_KEYBIND_CONFIG(GUI_ACTION_PAT_DECREASE_COLUMNS);
KEYBIND_CONFIG_END;
ImGui::TreePop();
@ -858,16 +856,16 @@ void FurnaceGUI::drawSettings() {
if (ImGui::TreeNode("Instrument list")) {
KEYBIND_CONFIG_BEGIN("keysInsList");
UI_KEYBIND_CONFIG(GUI_ACTION_INS_LIST_ADD,"Add");
UI_KEYBIND_CONFIG(GUI_ACTION_INS_LIST_DUPLICATE,"Duplicate");
UI_KEYBIND_CONFIG(GUI_ACTION_INS_LIST_OPEN,"Open");
UI_KEYBIND_CONFIG(GUI_ACTION_INS_LIST_SAVE,"Save");
UI_KEYBIND_CONFIG(GUI_ACTION_INS_LIST_MOVE_UP,"Move up");
UI_KEYBIND_CONFIG(GUI_ACTION_INS_LIST_MOVE_DOWN,"Move down");
UI_KEYBIND_CONFIG(GUI_ACTION_INS_LIST_DELETE,"Delete");
UI_KEYBIND_CONFIG(GUI_ACTION_INS_LIST_EDIT,"Edit");
UI_KEYBIND_CONFIG(GUI_ACTION_INS_LIST_UP,"Cursor up");
UI_KEYBIND_CONFIG(GUI_ACTION_INS_LIST_DOWN,"Cursor down");
UI_KEYBIND_CONFIG(GUI_ACTION_INS_LIST_ADD);
UI_KEYBIND_CONFIG(GUI_ACTION_INS_LIST_DUPLICATE);
UI_KEYBIND_CONFIG(GUI_ACTION_INS_LIST_OPEN);
UI_KEYBIND_CONFIG(GUI_ACTION_INS_LIST_SAVE);
UI_KEYBIND_CONFIG(GUI_ACTION_INS_LIST_MOVE_UP);
UI_KEYBIND_CONFIG(GUI_ACTION_INS_LIST_MOVE_DOWN);
UI_KEYBIND_CONFIG(GUI_ACTION_INS_LIST_DELETE);
UI_KEYBIND_CONFIG(GUI_ACTION_INS_LIST_EDIT);
UI_KEYBIND_CONFIG(GUI_ACTION_INS_LIST_UP);
UI_KEYBIND_CONFIG(GUI_ACTION_INS_LIST_DOWN);
KEYBIND_CONFIG_END;
ImGui::TreePop();
@ -875,16 +873,16 @@ void FurnaceGUI::drawSettings() {
if (ImGui::TreeNode("Wavetable list")) {
KEYBIND_CONFIG_BEGIN("keysWaveList");
UI_KEYBIND_CONFIG(GUI_ACTION_WAVE_LIST_ADD,"Add");
UI_KEYBIND_CONFIG(GUI_ACTION_WAVE_LIST_DUPLICATE,"Duplicate");
UI_KEYBIND_CONFIG(GUI_ACTION_WAVE_LIST_OPEN,"Open");
UI_KEYBIND_CONFIG(GUI_ACTION_WAVE_LIST_SAVE,"Save");
UI_KEYBIND_CONFIG(GUI_ACTION_WAVE_LIST_MOVE_UP,"Move up");
UI_KEYBIND_CONFIG(GUI_ACTION_WAVE_LIST_MOVE_DOWN,"Move down");
UI_KEYBIND_CONFIG(GUI_ACTION_WAVE_LIST_DELETE,"Delete");
UI_KEYBIND_CONFIG(GUI_ACTION_WAVE_LIST_EDIT,"Edit");
UI_KEYBIND_CONFIG(GUI_ACTION_WAVE_LIST_UP,"Cursor up");
UI_KEYBIND_CONFIG(GUI_ACTION_WAVE_LIST_DOWN,"Cursor down");
UI_KEYBIND_CONFIG(GUI_ACTION_WAVE_LIST_ADD);
UI_KEYBIND_CONFIG(GUI_ACTION_WAVE_LIST_DUPLICATE);
UI_KEYBIND_CONFIG(GUI_ACTION_WAVE_LIST_OPEN);
UI_KEYBIND_CONFIG(GUI_ACTION_WAVE_LIST_SAVE);
UI_KEYBIND_CONFIG(GUI_ACTION_WAVE_LIST_MOVE_UP);
UI_KEYBIND_CONFIG(GUI_ACTION_WAVE_LIST_MOVE_DOWN);
UI_KEYBIND_CONFIG(GUI_ACTION_WAVE_LIST_DELETE);
UI_KEYBIND_CONFIG(GUI_ACTION_WAVE_LIST_EDIT);
UI_KEYBIND_CONFIG(GUI_ACTION_WAVE_LIST_UP);
UI_KEYBIND_CONFIG(GUI_ACTION_WAVE_LIST_DOWN);
KEYBIND_CONFIG_END;
ImGui::TreePop();
@ -892,18 +890,18 @@ void FurnaceGUI::drawSettings() {
if (ImGui::TreeNode("Sample list")) {
KEYBIND_CONFIG_BEGIN("keysSampleList");
UI_KEYBIND_CONFIG(GUI_ACTION_SAMPLE_LIST_ADD,"Add");
UI_KEYBIND_CONFIG(GUI_ACTION_SAMPLE_LIST_DUPLICATE,"Duplicate");
UI_KEYBIND_CONFIG(GUI_ACTION_SAMPLE_LIST_OPEN,"Open");
UI_KEYBIND_CONFIG(GUI_ACTION_SAMPLE_LIST_SAVE,"Save");
UI_KEYBIND_CONFIG(GUI_ACTION_SAMPLE_LIST_MOVE_UP,"Move up");
UI_KEYBIND_CONFIG(GUI_ACTION_SAMPLE_LIST_MOVE_DOWN,"Move down");
UI_KEYBIND_CONFIG(GUI_ACTION_SAMPLE_LIST_DELETE,"Delete");
UI_KEYBIND_CONFIG(GUI_ACTION_SAMPLE_LIST_EDIT,"Edit");
UI_KEYBIND_CONFIG(GUI_ACTION_SAMPLE_LIST_UP,"Cursor up");
UI_KEYBIND_CONFIG(GUI_ACTION_SAMPLE_LIST_DOWN,"Cursor down");
UI_KEYBIND_CONFIG(GUI_ACTION_SAMPLE_LIST_PREVIEW,"Preview");
UI_KEYBIND_CONFIG(GUI_ACTION_SAMPLE_LIST_STOP_PREVIEW,"Stop preview");
UI_KEYBIND_CONFIG(GUI_ACTION_SAMPLE_LIST_ADD);
UI_KEYBIND_CONFIG(GUI_ACTION_SAMPLE_LIST_DUPLICATE);
UI_KEYBIND_CONFIG(GUI_ACTION_SAMPLE_LIST_OPEN);
UI_KEYBIND_CONFIG(GUI_ACTION_SAMPLE_LIST_SAVE);
UI_KEYBIND_CONFIG(GUI_ACTION_SAMPLE_LIST_MOVE_UP);
UI_KEYBIND_CONFIG(GUI_ACTION_SAMPLE_LIST_MOVE_DOWN);
UI_KEYBIND_CONFIG(GUI_ACTION_SAMPLE_LIST_DELETE);
UI_KEYBIND_CONFIG(GUI_ACTION_SAMPLE_LIST_EDIT);
UI_KEYBIND_CONFIG(GUI_ACTION_SAMPLE_LIST_UP);
UI_KEYBIND_CONFIG(GUI_ACTION_SAMPLE_LIST_DOWN);
UI_KEYBIND_CONFIG(GUI_ACTION_SAMPLE_LIST_PREVIEW);
UI_KEYBIND_CONFIG(GUI_ACTION_SAMPLE_LIST_STOP_PREVIEW);
KEYBIND_CONFIG_END;
ImGui::TreePop();
@ -911,23 +909,23 @@ void FurnaceGUI::drawSettings() {
if (ImGui::TreeNode("Orders")) {
KEYBIND_CONFIG_BEGIN("keysOrders");
UI_KEYBIND_CONFIG(GUI_ACTION_ORDERS_UP,"Previous order");
UI_KEYBIND_CONFIG(GUI_ACTION_ORDERS_DOWN,"Next order");
UI_KEYBIND_CONFIG(GUI_ACTION_ORDERS_LEFT,"Cursor left");
UI_KEYBIND_CONFIG(GUI_ACTION_ORDERS_RIGHT,"Cursor right");
UI_KEYBIND_CONFIG(GUI_ACTION_ORDERS_INCREASE,"Increase value");
UI_KEYBIND_CONFIG(GUI_ACTION_ORDERS_DECREASE,"Decrease value");
UI_KEYBIND_CONFIG(GUI_ACTION_ORDERS_EDIT_MODE,"Switch edit mode");
UI_KEYBIND_CONFIG(GUI_ACTION_ORDERS_LINK,"Toggle alter entire row");
UI_KEYBIND_CONFIG(GUI_ACTION_ORDERS_ADD,"Add");
UI_KEYBIND_CONFIG(GUI_ACTION_ORDERS_DUPLICATE,"Duplicate");
UI_KEYBIND_CONFIG(GUI_ACTION_ORDERS_DEEP_CLONE,"Deep clone");
UI_KEYBIND_CONFIG(GUI_ACTION_ORDERS_DUPLICATE_END,"Duplicate to end of song");
UI_KEYBIND_CONFIG(GUI_ACTION_ORDERS_DEEP_CLONE_END,"Deep clone to end of song");
UI_KEYBIND_CONFIG(GUI_ACTION_ORDERS_REMOVE,"Remove");
UI_KEYBIND_CONFIG(GUI_ACTION_ORDERS_MOVE_UP,"Move up");
UI_KEYBIND_CONFIG(GUI_ACTION_ORDERS_MOVE_DOWN,"Move down");
UI_KEYBIND_CONFIG(GUI_ACTION_ORDERS_REPLAY,"Replay");
UI_KEYBIND_CONFIG(GUI_ACTION_ORDERS_UP);
UI_KEYBIND_CONFIG(GUI_ACTION_ORDERS_DOWN);
UI_KEYBIND_CONFIG(GUI_ACTION_ORDERS_LEFT);
UI_KEYBIND_CONFIG(GUI_ACTION_ORDERS_RIGHT);
UI_KEYBIND_CONFIG(GUI_ACTION_ORDERS_INCREASE);
UI_KEYBIND_CONFIG(GUI_ACTION_ORDERS_DECREASE);
UI_KEYBIND_CONFIG(GUI_ACTION_ORDERS_EDIT_MODE);
UI_KEYBIND_CONFIG(GUI_ACTION_ORDERS_LINK);
UI_KEYBIND_CONFIG(GUI_ACTION_ORDERS_ADD);
UI_KEYBIND_CONFIG(GUI_ACTION_ORDERS_DUPLICATE);
UI_KEYBIND_CONFIG(GUI_ACTION_ORDERS_DEEP_CLONE);
UI_KEYBIND_CONFIG(GUI_ACTION_ORDERS_DUPLICATE_END);
UI_KEYBIND_CONFIG(GUI_ACTION_ORDERS_DEEP_CLONE_END);
UI_KEYBIND_CONFIG(GUI_ACTION_ORDERS_REMOVE);
UI_KEYBIND_CONFIG(GUI_ACTION_ORDERS_MOVE_UP);
UI_KEYBIND_CONFIG(GUI_ACTION_ORDERS_MOVE_DOWN);
UI_KEYBIND_CONFIG(GUI_ACTION_ORDERS_REPLAY);
KEYBIND_CONFIG_END;
ImGui::TreePop();
@ -935,33 +933,33 @@ void FurnaceGUI::drawSettings() {
if (ImGui::TreeNode("Sample editor")) {
KEYBIND_CONFIG_BEGIN("keysSampleEdit");
UI_KEYBIND_CONFIG(GUI_ACTION_SAMPLE_SELECT,"Edit mode: Select");
UI_KEYBIND_CONFIG(GUI_ACTION_SAMPLE_DRAW,"Edit mode: Draw");
UI_KEYBIND_CONFIG(GUI_ACTION_SAMPLE_CUT,"Cut");
UI_KEYBIND_CONFIG(GUI_ACTION_SAMPLE_COPY,"Copy");
UI_KEYBIND_CONFIG(GUI_ACTION_SAMPLE_PASTE,"Paste");
UI_KEYBIND_CONFIG(GUI_ACTION_SAMPLE_PASTE_REPLACE,"Paste replace");
UI_KEYBIND_CONFIG(GUI_ACTION_SAMPLE_PASTE_MIX,"Paste mix");
UI_KEYBIND_CONFIG(GUI_ACTION_SAMPLE_SELECT_ALL,"Select all");
UI_KEYBIND_CONFIG(GUI_ACTION_SAMPLE_RESIZE,"Resize");
UI_KEYBIND_CONFIG(GUI_ACTION_SAMPLE_RESAMPLE,"Resample");
UI_KEYBIND_CONFIG(GUI_ACTION_SAMPLE_AMPLIFY,"Amplify");
UI_KEYBIND_CONFIG(GUI_ACTION_SAMPLE_NORMALIZE,"Normalize");
UI_KEYBIND_CONFIG(GUI_ACTION_SAMPLE_FADE_IN,"Fade in");
UI_KEYBIND_CONFIG(GUI_ACTION_SAMPLE_FADE_OUT,"Fade out");
UI_KEYBIND_CONFIG(GUI_ACTION_SAMPLE_INSERT,"Insert silence");
UI_KEYBIND_CONFIG(GUI_ACTION_SAMPLE_SILENCE,"Apply silence");
UI_KEYBIND_CONFIG(GUI_ACTION_SAMPLE_DELETE,"Delete");
UI_KEYBIND_CONFIG(GUI_ACTION_SAMPLE_TRIM,"Trim");
UI_KEYBIND_CONFIG(GUI_ACTION_SAMPLE_REVERSE,"Reverse");
UI_KEYBIND_CONFIG(GUI_ACTION_SAMPLE_INVERT,"Invert");
UI_KEYBIND_CONFIG(GUI_ACTION_SAMPLE_SIGN,"Signed/unsigned exchange");
UI_KEYBIND_CONFIG(GUI_ACTION_SAMPLE_FILTER,"Apply filter");
UI_KEYBIND_CONFIG(GUI_ACTION_SAMPLE_PREVIEW,"Preview sample");
UI_KEYBIND_CONFIG(GUI_ACTION_SAMPLE_STOP_PREVIEW,"Stop sample preview");
UI_KEYBIND_CONFIG(GUI_ACTION_SAMPLE_ZOOM_IN,"Zoom in");
UI_KEYBIND_CONFIG(GUI_ACTION_SAMPLE_ZOOM_OUT,"Zoom out");
UI_KEYBIND_CONFIG(GUI_ACTION_SAMPLE_ZOOM_AUTO,"Toggle auto-zoom");
UI_KEYBIND_CONFIG(GUI_ACTION_SAMPLE_SELECT);
UI_KEYBIND_CONFIG(GUI_ACTION_SAMPLE_DRAW);
UI_KEYBIND_CONFIG(GUI_ACTION_SAMPLE_CUT);
UI_KEYBIND_CONFIG(GUI_ACTION_SAMPLE_COPY);
UI_KEYBIND_CONFIG(GUI_ACTION_SAMPLE_PASTE);
UI_KEYBIND_CONFIG(GUI_ACTION_SAMPLE_PASTE_REPLACE);
UI_KEYBIND_CONFIG(GUI_ACTION_SAMPLE_PASTE_MIX);
UI_KEYBIND_CONFIG(GUI_ACTION_SAMPLE_SELECT_ALL);
UI_KEYBIND_CONFIG(GUI_ACTION_SAMPLE_RESIZE);
UI_KEYBIND_CONFIG(GUI_ACTION_SAMPLE_RESAMPLE);
UI_KEYBIND_CONFIG(GUI_ACTION_SAMPLE_AMPLIFY);
UI_KEYBIND_CONFIG(GUI_ACTION_SAMPLE_NORMALIZE);
UI_KEYBIND_CONFIG(GUI_ACTION_SAMPLE_FADE_IN);
UI_KEYBIND_CONFIG(GUI_ACTION_SAMPLE_FADE_OUT);
UI_KEYBIND_CONFIG(GUI_ACTION_SAMPLE_INSERT);
UI_KEYBIND_CONFIG(GUI_ACTION_SAMPLE_SILENCE);
UI_KEYBIND_CONFIG(GUI_ACTION_SAMPLE_DELETE);
UI_KEYBIND_CONFIG(GUI_ACTION_SAMPLE_TRIM);
UI_KEYBIND_CONFIG(GUI_ACTION_SAMPLE_REVERSE);
UI_KEYBIND_CONFIG(GUI_ACTION_SAMPLE_INVERT);
UI_KEYBIND_CONFIG(GUI_ACTION_SAMPLE_SIGN);
UI_KEYBIND_CONFIG(GUI_ACTION_SAMPLE_FILTER);
UI_KEYBIND_CONFIG(GUI_ACTION_SAMPLE_PREVIEW);
UI_KEYBIND_CONFIG(GUI_ACTION_SAMPLE_STOP_PREVIEW);
UI_KEYBIND_CONFIG(GUI_ACTION_SAMPLE_ZOOM_IN);
UI_KEYBIND_CONFIG(GUI_ACTION_SAMPLE_ZOOM_OUT);
UI_KEYBIND_CONFIG(GUI_ACTION_SAMPLE_ZOOM_AUTO);
KEYBIND_CONFIG_END;
ImGui::TreePop();
@ -2071,4 +2069,4 @@ void FurnaceGUI::applyUISettings() {
if (fileDialog!=NULL) delete fileDialog;
fileDialog=new FurnaceGUIFileDialog(settings.sysFileDialog);
}
}