1 #pragma once 2 3 #include <stdint.h> 4 #include "ft2_unicode.h" 5 6 #define DISKOP_ENTRY_NUM 15 7 8 enum 9 { 10 DISKOP_ITEM_MODULE = 0, 11 DISKOP_ITEM_INSTR = 1, 12 DISKOP_ITEM_SAMPLE = 2, 13 DISKOP_ITEM_PATTERN = 3, 14 DISKOP_ITEM_TRACK = 4, 15 16 MOD_SAVE_MODE_MOD = 0, 17 MOD_SAVE_MODE_XM = 1, 18 MOD_SAVE_MODE_WAV = 2, 19 SMP_SAVE_MODE_RAW = 0, 20 SMP_SAVE_MODE_IFF = 1, 21 SMP_SAVE_MODE_WAV = 2 22 }; 23 24 bool setupExecutablePath(void); 25 int32_t getFileSize(UNICHAR *fileNameU); 26 uint8_t getDiskOpItem(void); 27 void updateCurrSongFilename(void); // for window title 28 char *getCurrSongFilename(void); // for window title 29 char *getDiskOpFilename(void); 30 const UNICHAR *getDiskOpCurPath(void); 31 const UNICHAR *getDiskOpModPath(void); 32 const UNICHAR *getDiskOpSmpPath(void); 33 void changeFilenameExt(char *name, char *ext, int32_t nameMaxLen); 34 void diskOpChangeFilenameExt(char *ext); 35 void freeDiskOp(void); 36 bool setupDiskOp(void); 37 void diskOpSetFilename(uint8_t type, UNICHAR *pathU); 38 void sanitizeFilename(const char *src); 39 bool diskOpGoParent(void); 40 void pbDiskOpRoot(void); 41 int32_t getExtOffset(char *s, int32_t stringLen); // get byte offset of file extension (last '.') 42 bool testDiskOpMouseDown(bool mouseHeldDown); 43 void testDiskOpMouseRelease(void); 44 void diskOp_StartDirReadThread(void); 45 void diskOp_DrawFilelist(void); 46 void diskOp_DrawDirectory(void); 47 void showDiskOpScreen(void); 48 void hideDiskOpScreen(void); 49 void exitDiskOpScreen(void); 50 void toggleDiskOpScreen(void); 51 void sbDiskOpSetPos(uint32_t pos); 52 void pbDiskOpListUp(void); 53 void pbDiskOpListDown(void); 54 void pbDiskOpParent(void); 55 void pbDiskOpShowAll(void); 56 #ifdef _WIN32 57 void pbDiskOpDrive1(void); 58 void pbDiskOpDrive2(void); 59 void pbDiskOpDrive3(void); 60 void pbDiskOpDrive4(void); 61 void pbDiskOpDrive5(void); 62 void pbDiskOpDrive6(void); 63 void pbDiskOpDrive7(void); 64 void pbDiskOpDrive8(void); 65 #endif 66 void pbDiskOpSave(void); 67 void pbDiskOpDelete(void); 68 void pbDiskOpRename(void); 69 void pbDiskOpMakeDir(void); 70 void pbDiskOpRefresh(void); 71 void pbDiskOpSetPath(void); 72 void pbDiskOpExit(void); 73 void rbDiskOpModule(void); 74 void rbDiskOpInstr(void); 75 void rbDiskOpSample(void); 76 void rbDiskOpPattern(void); 77 void rbDiskOpTrack(void); 78 void rbDiskOpModSaveXm(void); 79 void rbDiskOpModSaveMod(void); 80 void rbDiskOpModSaveWav(void); 81 void rbDiskOpSmpSaveWav(void); 82 void rbDiskOpSmpSaveRaw(void); 83 void rbDiskOpSmpSaveIff(void); 84 void trimEntryName(char *name, bool isDir); 85 void createFileOverwriteText(char *filename, char *buffer); 86 bool fileExistsAnsi(char *str); 87