static void expandFileSongs(HWND playlistWnd, int index) { const char *fn; fileinfo fi; int song; ASAP_ModuleInfo module_info; char *p; int j; fn = (const char *) SendMessage(mod.hMainWindow, WM_WA_IPC, index, IPC_GETPLAYLISTFILE); song = extractSongNumber(fn, fi.file); if (song >= 0 || !ASAP_IsOurFile(fi.file)) return; if (!loadModule(fi.file, module, &module_len)) return; if (!ASAP_GetModuleInfo(&module_info, fi.file, module, module_len)) return; SendMessage(playlistWnd, WM_WA_IPC, IPC_PE_DELETEINDEX, index); p = fi.file + strlen(fi.file); for (j = 0; j < module_info.songs; j++) { COPYDATASTRUCT cds; sprintf(p, "#%d", j + 1); fi.index = index + j; cds.dwData = IPC_PE_INSERTFILENAME; cds.lpData = &fi; cds.cbData = sizeof(fileinfo); SendMessage(playlistWnd, WM_COPYDATA, 0, (LPARAM) &cds); } }
static BOOL loadFile(LPCTSTR pszFile) { HANDLE fh; CONVERT_FILENAME; if (!ASAP_IsOurFile(ANSI_FILENAME)) return FALSE; fh = CreateFile(pszFile, GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL | FILE_FLAG_SEQUENTIAL_SCAN, NULL); if (fh == INVALID_HANDLE_VALUE) return FALSE; if (!ReadFile(fh, module, sizeof(module), &module_len, NULL)) { CloseHandle(fh); return FALSE; } CloseHandle(fh); return TRUE; }
BOOL __cdecl IsSuitableFile(char *filename, int audioDataOffset) { return ASAP_IsOurFile(filename); }
static BOOL WINAPI asapIsValidFile(LPCTSTR pszFile) { CONVERT_FILENAME; return ASAP_IsOurFile(ANSI_FILENAME); }
static int isOurFile(char *fn) { char filename[MAX_PATH]; extractSongNumber(fn, filename); return ASAP_IsOurFile(filename); }
static int asap_is_our_file(char *filename) { return ASAP_IsOurFile(filename); }
static bool g_is_our_path(const char *p_path, const char *p_extension) { return ASAP_IsOurFile(p_path) != 0; }