Merge pull request #1160 from YohananDiamond/command-palette

undefined

WAHAHA nice one GitHub
see? that's why I hate JavaScript. couldn't you throw exception on out of bounds/undefined result, like EVERY normal language?
This commit is contained in:
tildearrow 2024-02-07 02:53:33 -05:00 committed by GitHub
commit a6aa4b66d1
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
8 changed files with 465 additions and 98 deletions

View file

@ -606,6 +606,15 @@ enum FurnaceGUIActions {
GUI_ACTION_PANIC,
GUI_ACTION_CLEAR,
GUI_ACTION_COMMAND_PALETTE,
GUI_ACTION_CMDPAL_MIN,
GUI_ACTION_CMDPAL_RECENT,
GUI_ACTION_CMDPAL_INSTRUMENTS,
GUI_ACTION_CMDPAL_SAMPLES,
GUI_ACTION_CMDPAL_INSTRUMENT_CHANGE,
GUI_ACTION_CMDPAL_ADD_CHIP,
GUI_ACTION_CMDPAL_MAX,
GUI_ACTION_WINDOW_EDIT_CONTROLS,
GUI_ACTION_WINDOW_ORDERS,
GUI_ACTION_WINDOW_INS_LIST,
@ -1452,7 +1461,7 @@ class FurnaceGUI {
int sampleTexW, sampleTexH;
bool updateSampleTex;
String workingDir, fileName, clipboard, warnString, errorString, lastError, curFileName, nextFile, sysSearchQuery, newSongQuery;
String workingDir, fileName, clipboard, warnString, errorString, lastError, curFileName, nextFile, sysSearchQuery, newSongQuery, paletteQuery;
String workingDirSong, workingDirIns, workingDirWave, workingDirSample, workingDirAudioExport;
String workingDirVGMExport, workingDirZSMExport, workingDirROMExport, workingDirFont, workingDirColors, workingDirKeybinds;
String workingDirLayout, workingDirROM, workingDirTest;
@ -1463,6 +1472,7 @@ class FurnaceGUI {
std::vector<DivSystem> sysSearchResults;
std::vector<FurnaceGUISysDef> newSongSearchResults;
std::vector<int> paletteSearchResults;
FixedQueue<String,32> recentFile;
std::vector<DivInstrumentType> makeInsTypeList;
std::vector<FurnaceGUIWaveSizeEntry> waveSizeList;
@ -1473,7 +1483,7 @@ class FurnaceGUI {
bool vgmExportDirectStream, displayInsTypeList, displayWaveSizeList;
bool portrait, injectBackUp, mobileMenuOpen, warnColorPushed;
bool wantCaptureKeyboard, oldWantCaptureKeyboard, displayMacroMenu;
bool displayNew, displayExport, fullScreen, preserveChanPos, wantScrollList, noteInputPoly, notifyWaveChange;
bool displayNew, displayExport, displayPalette, fullScreen, preserveChanPos, wantScrollList, noteInputPoly, notifyWaveChange;
bool displayPendingIns, pendingInsSingle, displayPendingRawSample, snesFilterHex, modTableHex, displayEditString;
bool mobileEdit;
bool killGraphics;
@ -1991,6 +2001,7 @@ class FurnaceGUI {
int loopOrder, loopRow, loopEnd, isClipping, newSongCategory, latchTarget;
int wheelX, wheelY, dragSourceX, dragSourceXFine, dragSourceY, dragDestinationX, dragDestinationXFine, dragDestinationY, oldBeat, oldBar;
int curGroove, exitDisabledTimer;
int curPaletteChoice, curPaletteType;
float soloTimeout;
double exportFadeOut;
@ -1998,7 +2009,7 @@ class FurnaceGUI {
bool patExtraButtons, patChannelNames, patChannelPairs;
unsigned char patChannelHints;
bool newSongFirstFrame, oldRowChanged;
bool newSongFirstFrame, paletteFirstFrame, oldRowChanged;
bool editControlsOpen, ordersOpen, insListOpen, songInfoOpen, patternOpen, insEditOpen;
bool waveListOpen, waveEditOpen, sampleListOpen, sampleEditOpen, aboutOpen, settingsOpen;
bool mixerOpen, debugOpen, inspectorOpen, oscOpen, volMeterOpen, statsOpen, compatFlagsOpen;
@ -2510,6 +2521,7 @@ class FurnaceGUI {
void drawSettings();
void drawDebug();
void drawNewSong();
void drawPalette();
void drawExport();
void drawLog();
void drawEffectList();
@ -2615,6 +2627,7 @@ class FurnaceGUI {
int save(String path, int dmfVersion);
int load(String path);
int loadStream(String path);
void openRecentFile(String path);
void pushRecentFile(String path);
void pushRecentSys(const char* path);
void exportAudio(String path, DivAudioExportModes mode);