Quick Sign In:  

Forum: Old versions

Topic: ID3 tags

This topic is old and might contain outdated or incorrect information.

mcnacHome userMember since 2003
I need a parser.dll that read my id3 tags (with bpm included) in virtualdj. I don't know how to do it. Please somebody can help me?
 

Posted Mon 01 Sep 03 @ 10:58 pm
I am confused what you mean?
 

Posted Tue 02 Sep 03 @ 12:57 am
kaleoPRO InfinityMember since 2003
Sorry, didn't look at the code yet so I can't help you now. I may have a look at this in some weeks.
Maybe someone else could help you sooner?
 

Posted Tue 02 Sep 03 @ 8:57 am
i'll keep you up to date, im having a friend work on this for me

See Ya
djchicago.net
 

Posted Wed 03 Sep 03 @ 5:10 am
ok here is the code for the defauilt cpp on this site lets all work it and see what happens
//
// Default filename parser for VirtualDJ
// -------------------------------------
//
// (c) Atomix Productions 2003
//
//
// You can modify this file according to your need.
// Compile as a DLL library and copy in the VirtualDJ directory.
//

#ifdef __cplusplus
extern "C" {
#endif
__declspec( dllexport ) void __stdcall Parse(char*,char*,char*,char*);
#ifdef __cplusplus
}
#endif

#include
#include


#define MAXLENGTH 512



// This function is called each time a filename need to be parsed:
// - FileName is the name of the file to be parsed
// - FilePath is the full path to the file (can be NULL)
// - Title is a buffer of MAXLENGTH length where you can write the title
// - Author is a buffer of MAXLENGTH length where you can write the author
//
void __stdcall Parse(char *FileName,char *FilePath,char *Title,char *Author)
{
char *s,*st,*se,*scopy;
scopy=strdup(FileName); // make a local copy we can modify
s=scopy;while(*s!=0) {if(*s=='_') *s=' ';s++;} // replace "_" by spaces
int i;for(i=0;(iscopy);i++) if(*(--s)=='.') {*s=0;break;} // remove extension
st=scopy;while(*st==' ') st++; // trim leading spaces
if(*st=='(') // syntax is like "(author) title" ?
{
st++;while(*st==' ') st++; // trim leading spaces
se=st;while((*se!=')')&&(*se!=0)) se++; // look for ending ")"
s=se;if(*s!=0) s++; // save position
se--;while(*se==' ') se--; // trim tailing spaces
*(se+1)=0;strncpy(Author,st,MAXLENGTH); // copy author substring
while(*s==' ') s++; // trim leading spaces
strncpy(Title,s,MAXLENGTH); // copy title substring
}
else
{
bool num=true;
se=st;char c=*se;
while(c&&(c!='-')) // look for a "-"
{
if((c!=' ')&&((c'9'))) num=false; // check if like "01 - title"
c=*(++se);
}
if(num||!c) // if not like "author - title"
{
strncpy(Title,st,MAXLENGTH); // copy everything in title
*Author=0; // and nothing in author
}
else
{
s=se+1; // save position
se--;while(*se==' ') se--; // trim tailing spaces
*(se+1)=0;strncpy(Author,st,MAXLENGTH); // copy author substring
while(*s==' ') s++; // trim leading spaces
strncpy(Title,s,MAXLENGTH); // copy title substring
}
}
free(scopy); // free the local copy of filename
}


 

Posted Wed 03 Sep 03 @ 7:13 am


(Old topics and forums are automatically closed)