From 20d28e80a5c861a9d5f449ea911ab75b4f37ad0d Mon Sep 17 00:00:00 2001 From: Jef Date: Tue, 24 Sep 2024 14:54:57 +0200 Subject: Initial community commit --- Src/Plugins/Input/in_midi/genres.c | 103 +++++++++++++++++++++++++++++++++++++ 1 file changed, 103 insertions(+) create mode 100644 Src/Plugins/Input/in_midi/genres.c (limited to 'Src/Plugins/Input/in_midi/genres.c') diff --git a/Src/Plugins/Input/in_midi/genres.c b/Src/Plugins/Input/in_midi/genres.c new file mode 100644 index 00000000..c8add185 --- /dev/null +++ b/Src/Plugins/Input/in_midi/genres.c @@ -0,0 +1,103 @@ +#define STRICT +#include + +#include "genres.h" + +static char file_path[MAX_PATH]; + +static void file_init() +{ + char * p; + GetModuleFileName(0,file_path,MAX_PATH); + p=strrchr(file_path,'\\'); + if (p) p++; else p=file_path; + strcpy(p,"genres.txt"); +} + +static char eol[2]={13,10}; + +static char get_char(HANDLE f,BOOL * eof) +{ + DWORD br=0; + char r=0; + ReadFile(f,&r,1,&br,0); + if (!br) *eof=1; + return r; +} + +void genres_read(HWND wnd) +{ + HANDLE f; + char temp[MAX_GENRE] = {0}; + char add[MAX_GENRE] = {0}; + UINT ptr; + BOOL eof=0; + BOOL start; + char c; + + if (!file_path[0]) file_init(); + + + f=CreateFile(file_path,GENERIC_READ,FILE_SHARE_READ,0,OPEN_EXISTING,0,0); + if (f==INVALID_HANDLE_VALUE) return; + GetWindowText(wnd,add,MAX_GENRE); + while(!eof) + { + ptr=0; + start=1; + while(ptr