msvc compilation fixes

This commit is contained in:
berkeviktor@aol.com 2011-01-25 23:44:52 +01:00
parent 8dba900025
commit d5854a90cb
5 changed files with 148 additions and 92 deletions

View File

@ -14,17 +14,18 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/ */
/*
typedef int (*MYPROC)(HWND,HWND,char*,char*,BOOL,BOOL); typedef int (*MYPROC)(HWND,HWND,char*,char*,BOOL,BOOL);
int dllProc(char *name, char *data){ int dllProc(char *name, char *data){
HINSTANCE hinstLib; HINSTANCE hinstLib;
hinstLib = LoadLibrary("mpcinfo"); hinstLib = LoadLibrary("mpcinfo");
MYPROC proc; //MYPROC proc;
int res; int res;
if (hinstLib != NULL){ if (hinstLib != NULL){
proc = (MYPROC) GetProcAddress(hinstLib, name); //proc = ;
if (proc!=NULL){ if ((MYPROC) GetProcAddress(hinstLib, name)!=NULL){
res=(proc)(NULL,NULL,data,NULL,TRUE,TRUE); res=(MYPROC)(NULL,NULL,data,NULL,TRUE,TRUE);
} }
else{fprintf(stderr,"can't get proc: %s\n",name);res=-2;} else{fprintf(stderr,"can't get proc: %s\n",name);res=-2;}
} }
@ -32,6 +33,25 @@ int dllProc(char *name, char *data){
FreeLibrary(hinstLib); FreeLibrary(hinstLib);
return res; return res;
} }
*/
/*
int dllProc(char *name, char *data)
{
static HMODULE lib = NULL;
if (!lib)
{
lib = LoadLibraryA ("mpcinfo");
if (!lib)
{
return FALSE;
}
FreeLibrary (lib);
}
return TRUE;
}
*/
char *split(char *text, char seperator){ char *split(char *text, char seperator){
//if (DEBUG==1) putlog("splitting"); //if (DEBUG==1) putlog("splitting");
@ -66,7 +86,8 @@ int inStr(char *s1, int sl1, char *s2){
static char *subString(char *text, int first, int length, int spcKill){ static char *subString(char *text, int first, int length, int spcKill){
//if (DEBUG==1) putlog("creating substring"); //if (DEBUG==1) putlog("creating substring");
char *ret=(char*) calloc (length+1,sizeof(char)); //malloc(sizeof(char)*(length+1)); char *ret=(char*) calloc (length+1,sizeof(char)); //malloc(sizeof(char)*(length+1));
ret[length]=0;int i; int i;
ret[length]=0;
for (i=0;i<length;i++){ for (i=0;i<length;i++){
ret[i]=text[i+first]; ret[i]=text[i+first];
//if (ret[i]==0) ret[i]='0'; //if (ret[i]==0) ret[i]='0';

View File

@ -133,12 +133,12 @@ static char *substring(char *text, int first, int length){return subString(text,
static char *tagExtract(char *tag, int tagLen, char* info){ static char *tagExtract(char *tag, int tagLen, char* info){
//if (DEBUG==1) putlog("extracting tag"); //if (DEBUG==1) putlog("extracting tag");
int pos=inStr(tag,tagLen,info); int pos, len, i;
pos=inStr(tag,tagLen,info);
//xchat_printf(ph,"pos=%i",pos); //xchat_printf(ph,"pos=%i",pos);
if (pos==-1) return "";//NULL; if (pos==-1) return "";//NULL;
//printf("position of %s = %i\n",info,pos); //printf("position of %s = %i\n",info,pos);
int len=0; len=0;
int i;
//for (i=pos;i<pos+10;i++)printf("tag[%i]=%i \n",i,tag[i]); //for (i=pos;i<pos+10;i++)printf("tag[%i]=%i \n",i,tag[i]);
for (i=0;i<4;i++) { for (i=0;i<4;i++) {
len+=tag[pos+strlen(info)+i]*iPow(255,3-i); len+=tag[pos+strlen(info)+i]*iPow(255,3-i);
@ -153,20 +153,25 @@ static char *tagExtract(char *tag, int tagLen, char* info){
struct tagInfo readID3V1(char *file){ struct tagInfo readID3V1(char *file){
//if (DEBUG==1) putlog("reading ID3V1"); //if (DEBUG==1) putlog("reading ID3V1");
FILE *f=fopen(file,"rb"); FILE *f;
struct tagInfo ret; ret.artist=NULL; struct tagInfo ret;
char *tag =(char*) malloc(sizeof(char)*129); int res, i, c, val;
char *tag;
char *id;
char *tmp;
tag = (char*) malloc(sizeof(char)*129);
ret.artist=NULL;
f=fopen(file,"rb");
if (f==NULL){ if (f==NULL){
xchat_print(ph,"file not found while trying to read id3v1"); xchat_print(ph,"file not found while trying to read id3v1");
//if (DEBUG==1) putlog("file not found while trying to read id3v1"); //if (DEBUG==1) putlog("file not found while trying to read id3v1");
return ret; return ret;
} }
//int offset=getSize(file)-128; //int offset=getSize(file)-128;
int res=fseek(f,-128,SEEK_END); res=fseek(f,-128,SEEK_END);
if (res!=0) {printf("seek failed\n");fclose(f);return ret;} if (res!=0) {printf("seek failed\n");fclose(f);return ret;}
//long int pos=ftell(f); //long int pos=ftell(f);
//printf("position= %li\n",pos); //printf("position= %li\n",pos);
int i;int c;
for (i=0;i<128;i++) { for (i=0;i<128;i++) {
c=fgetc(f); c=fgetc(f);
if (c==EOF) {xchat_printf(ph,"read ID3V1 failed\n");fclose(f);return ret;} if (c==EOF) {xchat_printf(ph,"read ID3V1 failed\n");fclose(f);return ret;}
@ -174,17 +179,17 @@ struct tagInfo readID3V1(char *file){
} }
fclose(f); fclose(f);
//printf("tag readed: \n"); //printf("tag readed: \n");
char *id=substring(tag,0,3); id=substring(tag,0,3);
//printf("header: %s\n",id); //printf("header: %s\n",id);
if (strcmp(id,"TAG")!=0){xchat_printf(ph,"no id3 v1 found\n");return ret;} if (strcmp(id,"TAG")!=0){xchat_printf(ph,"no id3 v1 found\n");return ret;}
ret.title=subString(tag,3,30,1); ret.title=subString(tag,3,30,1);
ret.artist=subString(tag,33,30,1); ret.artist=subString(tag,33,30,1);
ret.album=subString(tag,63,30,1); ret.album=subString(tag,63,30,1);
ret.comment=subString(tag,97,30,1); ret.comment=subString(tag,97,30,1);
char *tmp=substring(tag,127,1); tmp=substring(tag,127,1);
//ret.genre=substring(tag,127,1); //ret.genre=substring(tag,127,1);
int val=(int)tmp[0]; val=(int)tmp[0];
if (val<0)val+=256; if (val<0)val+=256;
//xchat_printf(ph, "tmp[0]=%i (%i)",val,tmp[0]); //xchat_printf(ph, "tmp[0]=%i (%i)",val,tmp[0]);
if ((val<148)&&(val>=0)) if ((val<148)&&(val>=0))
@ -220,17 +225,21 @@ char *extractID3Genre(char *tag){
struct tagInfo readID3V2(char *file){ struct tagInfo readID3V2(char *file){
//if (DEBUG==1) putlog("reading id3v2"); //if (DEBUG==1) putlog("reading id3v2");
FILE *f=fopen(file,"rb"); FILE *f;
//xchat_printf(ph,"file :%s",file); int i, c, len;
char header[10];
char *tag;
struct tagInfo ret; struct tagInfo ret;
if (f==NULL){
f = fopen(file,"rb");
//xchat_printf(ph,"file :%s",file);
if (f==NULL)
{
xchat_print(ph,"file not found whilt trying to read ID3V2"); xchat_print(ph,"file not found whilt trying to read ID3V2");
//if (DEBUG==1)putlog("file not found while trying to read ID3V2"); //if (DEBUG==1)putlog("file not found while trying to read ID3V2");
return ret; return ret;
} }
int i;
char header[10];
int c;
ret.artist=NULL; ret.artist=NULL;
for (i=0;i<10;i++){ for (i=0;i<10;i++){
c=fgetc(f); c=fgetc(f);
@ -242,11 +251,11 @@ struct tagInfo readID3V2(char *file){
} }
if (strstr(header,"ID3")==header){ if (strstr(header,"ID3")==header){
//xchat_printf(ph,"found id3v2\n"); //xchat_printf(ph,"found id3v2\n");
int len=0; len=0;
for (i=6;i<10;i++) len+=(int)header[i]*iPow(256,9-i); for (i=6;i<10;i++) len+=(int)header[i]*iPow(256,9-i);
//char *tag=(char*)malloc(sizeof(char)*len); //char *tag=(char*)malloc(sizeof(char)*len);
char *tag=(char*) calloc(len,sizeof(char)); //malloc(sizeof(char)*len); tag=(char*) calloc(len,sizeof(char)); //malloc(sizeof(char)*len);
for (i=0;i<len;i++){c=fgetc(f);tag[i]=(char)c;} for (i=0;i<len;i++){c=fgetc(f);tag[i]=(char)c;}
//xchat_printf(ph,"tag length: %i\n",len); //xchat_printf(ph,"tag length: %i\n",len);
//xchat_printf(ph,"tag: %s\n",tag); //xchat_printf(ph,"tag: %s\n",tag);
@ -273,13 +282,18 @@ struct tagInfo readID3V2(char *file){
struct tagInfo readHeader(char *file){ struct tagInfo readHeader(char *file){
//if (DEBUG==1) putlog("reading header"); //if (DEBUG==1) putlog("reading header");
FILE *f=fopen(file,"rb"); FILE *f;
//int buffer[5120]; //int buffer[5120];
int versionB, layerB, bitrateB, freqB, modeB;
int header[4]; int header[4];
int count=0; int count=0;
int cc=0; int cc=0;
struct tagInfo info; info.artist=NULL; struct tagInfo info;
if (f==NULL){ info.artist=NULL;
f = fopen(file,"rb");
if (f==NULL)
{
xchat_print(ph,"file not found while trying to read mp3 header"); xchat_print(ph,"file not found while trying to read mp3 header");
//if (DEBUG==1) putlog("file not found while trying to read mp3 header"); //if (DEBUG==1) putlog("file not found while trying to read mp3 header");
return info; return info;
@ -310,11 +324,11 @@ struct tagInfo readHeader(char *file){
header[count]=fgetc(f); header[count]=fgetc(f);
//printf("header[%i]=%i\n",count,header[count]); //printf("header[%i]=%i\n",count,header[count]);
} }
int versionB=(header[1]&8)>>3; versionB=(header[1]&8)>>3;
int layerB=(header[1]&6)>>1; layerB=(header[1]&6)>>1;
int bitrateB=(header[2]&240)>>4; //4 bitrateB=(header[2]&240)>>4; //4
int freqB=(header[2]&12)>>2;//2 freqB=(header[2]&12)>>2;//2
int modeB=(header[3]&192)>>6;//6 modeB=(header[3]&192)>>6;//6
//printf("Mpeg: %i\nLayer: %i\nBitrate: %i\nFreq: %i\nMode: %i\n",versionB, layerB, bitrateB, freqB, modeB); //printf("Mpeg: %i\nLayer: %i\nBitrate: %i\nFreq: %i\nMode: %i\n",versionB, layerB, bitrateB, freqB, modeB);
//int Bitrate=RATES[versionB][layerB-1][bitrateB]; //int Bitrate=RATES[versionB][layerB-1][bitrateB];
//int Freq=FREQS[versionB][freqB]; //int Freq=FREQS[versionB][freqB];

View File

@ -43,12 +43,14 @@ static int mpc_themeReload(char *word[], char *word_eol[], void *userdata){
} }
static int mpc_tell(char *word[], char *word_eol[], void *userdata){ static int mpc_tell(char *word[], char *word_eol[], void *userdata){
HWND hwnd = FindWindow("MediaPlayerClassicW",NULL); char *tTitle, *zero, *oggLine, *line;
struct tagInfo info;
HWND hwnd = FindWindow("MediaPlayerClassicW",NULL);
if (hwnd==0) {xchat_command(ph, randomLine(notRunTheme));return XCHAT_EAT_ALL;} if (hwnd==0) {xchat_command(ph, randomLine(notRunTheme));return XCHAT_EAT_ALL;}
char *tTitle=(char*)malloc(sizeof(char)*1024); tTitle=(char*)malloc(sizeof(char)*1024);
GetWindowText(hwnd, tTitle, 1024); GetWindowText(hwnd, tTitle, 1024);
char *zero=strstr(tTitle," - Media Player Classic"); zero=strstr(tTitle," - Media Player Classic");
if (zero!=NULL) zero[0]=0; if (zero!=NULL) zero[0]=0;
else xchat_print(ph,"pattern not found"); else xchat_print(ph,"pattern not found");
@ -56,7 +58,7 @@ static int mpc_tell(char *word[], char *word_eol[], void *userdata){
//xchat_print(ph,"seams to be full path"); //xchat_print(ph,"seams to be full path");
if (endsWith(tTitle,".mp3")==1){ if (endsWith(tTitle,".mp3")==1){
//xchat_print(ph,"seams to be a mp3 file"); //xchat_print(ph,"seams to be a mp3 file");
struct tagInfo info = readHeader(tTitle); info = readHeader(tTitle);
if ((info.artist!=NULL)&&(strcmp(info.artist,"")!=0)){ if ((info.artist!=NULL)&&(strcmp(info.artist,"")!=0)){
char *mode=MODES[info.mode]; char *mode=MODES[info.mode];
@ -86,11 +88,11 @@ static int mpc_tell(char *word[], char *word_eol[], void *userdata){
} }
if (endsWith(tTitle,".ogg")==1){ if (endsWith(tTitle,".ogg")==1){
xchat_printf(ph,"Ogg detected\n"); xchat_printf(ph,"Ogg detected\n");
struct tagInfo info = getOggHeader(tTitle); info = getOggHeader(tTitle);
if (info.artist!=NULL){ if (info.artist!=NULL){
char *cbr; char *cbr;
if (info.cbr==1) cbr="CBR"; else cbr="VBR"; if (info.cbr==1) cbr="CBR"; else cbr="VBR";
char *oggLine=randomLine(oggTheme); oggLine=randomLine(oggTheme);
//if (cue==1) oggLine=cueLine; //if (cue==1) oggLine=cueLine;
//xchat_printf(ph,"ogg-line: %s\n",oggLine); //xchat_printf(ph,"ogg-line: %s\n",oggLine);
oggLine=replace(oggLine,"%art",info.artist); oggLine=replace(oggLine,"%art",info.artist);
@ -114,7 +116,7 @@ static int mpc_tell(char *word[], char *word_eol[], void *userdata){
} }
} }
} }
char *line=randomLine(titleTheme); line=randomLine(titleTheme);
line=replace(line,"%title", tTitle); line=replace(line,"%title", tTitle);
xchat_command(ph,line); xchat_command(ph,line);
return XCHAT_EAT_ALL; return XCHAT_EAT_ALL;

View File

@ -28,9 +28,9 @@ static int getOggInt(char *buff, int beg, int bytes){
static char *upperStr(char *text){ static char *upperStr(char *text){
//if (DEBUG==1) putlog("converting text to uc"); //if (DEBUG==1) putlog("converting text to uc");
//printf("upperStr(%s)\n",text); //printf("upperStr(%s)\n",text);
int i;
char *ret=(char*) malloc(sizeof(char)*(strlen(text)+1)); char *ret=(char*) malloc(sizeof(char)*(strlen(text)+1));
ret[strlen(text)]=0; ret[strlen(text)]=0;
int i;
for (i=0;i<strlen(text);i++) ret[i]=toupper(text[i]); for (i=0;i<strlen(text);i++) ret[i]=toupper(text[i]);
//printf("Result: %s\n",ret); //printf("Result: %s\n",ret);
return ret; return ret;
@ -38,42 +38,52 @@ static char *upperStr(char *text){
struct tagInfo getOggHeader(char *file){ struct tagInfo getOggHeader(char *file){
//if (DEBUG==1) putlog("reading ogg header"); //if (DEBUG==1) putlog("reading ogg header");
FILE *f=fopen(file,"rb"); char header[4096];
struct tagInfo info; info.artist=NULL; int i, c;
int h1pos, h3pos, maxBr, nomBr, minBr, pos, count, tagLen;
char *sub;
char *name;
char *val;
char *HEADLOC1, *HEADLOC3, *HEADLOC5;
FILE *f;
struct tagInfo info;
info.artist=NULL;
f = fopen(file,"rb");
if (f==NULL){ if (f==NULL){
xchat_print(ph,"file not found while trying to read ogg header"); xchat_print(ph,"file not found while trying to read ogg header");
//if (DEBUG==1) putlog("file not found while trying to read ogg header"); //if (DEBUG==1) putlog("file not found while trying to read ogg header");
return info; return info;
} }
char header[4096];
int i;int c;
for (i=0;i<4095;i++) {c=fgetc(f);header[i]=(char)c;} for (i=0;i<4095;i++) {c=fgetc(f);header[i]=(char)c;}
fclose(f); fclose(f);
char HEADLOC1[]="_vorbis";HEADLOC1[0]=1; HEADLOC1="_vorbis";
char HEADLOC3[]="_vorbis";HEADLOC3[0]=3; HEADLOC1[0]=1;
char HEADLOC5[]="_vorbis";HEADLOC5[0]=5; HEADLOC3="_vorbis";
int h1pos=inStr(header,4096,HEADLOC1); HEADLOC3[0]=3;
int h3pos=inStr(header,4096,HEADLOC3); HEADLOC5="_vorbis";
HEADLOC5[0]=5;
h1pos=inStr(header,4096,HEADLOC1);
h3pos=inStr(header,4096,HEADLOC3);
//int h5pos=inStr(header,4096,HEADLOC5); //not needed //int h5pos=inStr(header,4096,HEADLOC5); //not needed
//printf("loc1: %i\n",h1pos);printf("loc3: %i\n",h3pos);printf("loc5: %i\n",h5pos); //printf("loc1: %i\n",h1pos);printf("loc3: %i\n",h3pos);printf("loc5: %i\n",h5pos);
int maxBr=getOggInt(header,h1pos+7+9,4); maxBr=getOggInt(header,h1pos+7+9,4);
int nomBr=getOggInt(header,h1pos+7+13,4); nomBr=getOggInt(header,h1pos+7+13,4);
int minBr=getOggInt(header,h1pos+7+17,4); minBr=getOggInt(header,h1pos+7+17,4);
info.freq=getOggInt(header,h1pos+7+5,4); info.freq=getOggInt(header,h1pos+7+5,4);
info.mode=header[h1pos+7+4]; info.mode=header[h1pos+7+4];
info.bitrate=nomBr; info.bitrate=nomBr;
if (((maxBr==nomBr)&&(nomBr=minBr))||((minBr==0)&&(maxBr==0))||((minBr=-1)&&(maxBr=-1)) )info.cbr=1;else info.cbr=0; if (((maxBr==nomBr)&&(nomBr=minBr))||((minBr==0)&&(maxBr==0))||((minBr=-1)&&(maxBr=-1)) )info.cbr=1;else info.cbr=0;
printf("bitrates: %i|%i|%i\n",maxBr,nomBr,minBr); printf("bitrates: %i|%i|%i\n",maxBr,nomBr,minBr);
printf("freq: %i\n",info.freq); printf("freq: %i\n",info.freq);
int pos=h3pos+7; pos=h3pos+7;
pos+=getOggInt(header,pos,4)+4; pos+=getOggInt(header,pos,4)+4;
int count=getOggInt(header,pos,4); count=getOggInt(header,pos,4);
//printf("tags: %i\n",count); //printf("tags: %i\n",count);
pos+=4; pos+=4;
int tagLen;
char *sub;
char *name;char *val;
info.artist=NULL;info.title=NULL;info.album=NULL;info.comment=NULL;info.genre=NULL; info.artist=NULL;info.title=NULL;info.album=NULL;info.comment=NULL;info.genre=NULL;
for (i=0;i<count;i++){ for (i=0;i<count;i++){
tagLen=getOggInt(header,pos,4); tagLen=getOggInt(header,pos,4);

View File

@ -51,7 +51,7 @@ void printThemes(){
void cbFix(char *line){ void cbFix(char *line){
//if (DEBUG==1) putlog("cbfix"); //if (DEBUG==1) putlog("cbfix");
int i; int i, j;
for (i=0;i<strlen(line);i++){ for (i=0;i<strlen(line);i++){
if (line[i]=='%'){ if (line[i]=='%'){
if ((line[i+1]=='C')||(line[i+1]=='B')||(line[i+1]=='U')||(line[i+1]=='O')||(line[i+1]=='R')){ if ((line[i+1]=='C')||(line[i+1]=='B')||(line[i+1]=='U')||(line[i+1]=='O')||(line[i+1]=='R')){
@ -60,7 +60,7 @@ void cbFix(char *line){
if(line[i+1]=='U') line[i]=37; if(line[i+1]=='U') line[i]=37;
if(line[i+1]=='O') line[i]=17; if(line[i+1]=='O') line[i]=17;
if(line[i+1]=='R') line[i]=26; if(line[i+1]=='R') line[i]=26;
int j;
for (j=i+1;j<strlen(line)-1;j++) line[j]=line[j+1]; for (j=i+1;j<strlen(line)-1;j++) line[j]=line[j+1];
line[strlen(line)-1]=0; line[strlen(line)-1]=0;
} }
@ -83,39 +83,48 @@ struct theme themeAdd(struct theme data, char *info){
} }
void loadThemes(){ void loadThemes(){
xchat_print(ph,"loading themes\n"); char *hDir, *hFile, *line, *val;
char *hDir=(char*)calloc(1024,sizeof(char)); FILE *f;
strcpy(hDir,xchat_get_info(ph,"xchatdirfs")); xchat_print(ph,"loading themes\n");
char *hFile=str3cat(hDir,"\\","mpcInfo.theme.txt"); hDir=(char*)calloc(1024,sizeof(char));
FILE *f=fopen(hFile,"r"); strcpy(hDir,xchat_get_info(ph,"xchatdirfs"));
if(f==NULL){ hFile=str3cat(hDir,"\\","mpcInfo.theme.txt");
xchat_print(ph,"no theme in homedir, checking global theme"); f = fopen(hFile,"r");
f=fopen("mpcInfo.theme.txt","r"); if(f==NULL)
} {
//xchat_printf(ph,"file_desc: %p\n",f); xchat_print(ph,"no theme in homedir, checking global theme");
if (f==NULL) xchat_print(ph, "no theme found, using hardcoded\n"); f=fopen("mpcInfo.theme.txt","r");
else { }
char *line; //xchat_printf(ph,"file_desc: %p\n",f);
if (f>0) line=" ";else line="\0"; if (f==NULL) xchat_print(ph, "no theme found, using hardcoded\n");
char *val; else {
while (line[0]!=0){ if (f > 0)
line=readLine(f); {
val=split(line,'='); line=" ";
printf("line: %s\n",line); } else
printf("val: %s\n",val); {
if (strcmp(toUpper(line),"OFF_LINE")==0) notRunTheme=themeAdd(notRunTheme,val); line="\0";
if (strcmp(toUpper(line),"TITLE_LINE")==0) titleTheme=themeAdd(titleTheme,val); }
if (strcmp(toUpper(line),"MP3_LINE")==0) mp3Theme=themeAdd(mp3Theme,val);
if (strcmp(toUpper(line),"OGG_LINE")==0) mp3Theme=themeAdd(oggTheme,val); while (line[0]!=0)
} {
fclose(f); line=readLine(f);
xchat_print(ph, "theme loaded successfull\n"); val=split(line,'=');
} printf("line: %s\n",line);
if (notRunTheme.size==0) notRunTheme=themeAdd(notRunTheme,"say Media Player Classic not running"); printf("val: %s\n",val);
if (titleTheme.size==0) titleTheme=themeAdd(titleTheme,"say Playing %title in Media Player Classic"); if (strcmp(toUpper(line),"OFF_LINE")==0) notRunTheme=themeAdd(notRunTheme,val);
if (mp3Theme.size==0) mp3Theme=themeAdd(mp3Theme,"me listens to %art with %tit from %alb [%gen|%br kbps|%frq kHz|%mode] in Media Player Classic "); if (strcmp(toUpper(line),"TITLE_LINE")==0) titleTheme=themeAdd(titleTheme,val);
if (oggTheme.size==0) oggTheme=themeAdd(oggTheme,"me listens to %art with %tit from %alb [%gen|%br kbps|%frq kHz|%chan channels] in Media Player Classic "); if (strcmp(toUpper(line),"MP3_LINE")==0) mp3Theme=themeAdd(mp3Theme,val);
//mp3Theme=themeAdd(mp3Theme,"me listens to %art with %tit from %alb [%time|%length|%perc%|%br kbps|%frq kHz|%mode] in Media Player Classic "); if (strcmp(toUpper(line),"OGG_LINE")==0) mp3Theme=themeAdd(oggTheme,val);
}
fclose(f);
xchat_print(ph, "theme loaded successfull\n");
}
if (notRunTheme.size==0) notRunTheme=themeAdd(notRunTheme,"say Media Player Classic not running");
if (titleTheme.size==0) titleTheme=themeAdd(titleTheme,"say Playing %title in Media Player Classic");
if (mp3Theme.size==0) mp3Theme=themeAdd(mp3Theme,"me listens to %art with %tit from %alb [%gen|%br kbps|%frq kHz|%mode] in Media Player Classic ");
if (oggTheme.size==0) oggTheme=themeAdd(oggTheme,"me listens to %art with %tit from %alb [%gen|%br kbps|%frq kHz|%chan channels] in Media Player Classic ");
//mp3Theme=themeAdd(mp3Theme,"me listens to %art with %tit from %alb [%time|%length|%perc%|%br kbps|%frq kHz|%mode] in Media Player Classic ");
} }
int rnd(int max){ int rnd(int max){