 |
|
 |
This is a very good wrapper for id3lib. It is confirmed working well under Windows CE.
|
|
|
|
 |
|
 |
It's complete and works even for very odd usages of the Id3v2 specification!
|
|
|
|
 |
|
 |
I'm sorry,My english is poll.
Yesterday,I download your source code with my project.
It occured one bug,which is the buffer is too small.
void MP3FileInfo::m_parseGenre(void)
{
if(bHasV2Tag) // Use V2 if present
{
szGenre = m_getNewString(ID3FID_CONTENTTYPE);
return;
}
char buf[10]; // *************************the buffer is too small,the reason see in 'm_getString' func,char buf[30]***************** ;P
if(!m_getString(ID3FID_CONTENTTYPE, buf))
{
szGenre = 0;
return;
}
int gid;
sscanf(buf, "(%i)", &gid); // filter Genre ID
if(gid >= ID3_NR_OF_V1_GENRES) // genre ID too large
{
szGenre = new char[strlen(buf)+1];
sprintf(szGenre, buf);
return;
}
szGenre = new char[strlen(ID3_V1GENRE2DESCRIPTION(gid))+1];
sprintf(szGenre, ID3_V1GENRE2DESCRIPTION(gid));
}
|
|
|
|
 |
|
 |
good project, thank you. but there is some problem with duration and bitrate. Please look at screenshot http://autotesting.110mb.com/cp/mp3info.JPG
mp3 file is here http://autotesting.110mb.com/cp/04.Catharsis_Shatter_My_Dreams.zip
any ideas?
|
|
|
|
 |
|
 |
Is it available for eVC++?
|
|
|
|
 |
|
 |
I don't know, but I think the issue would be that there is probably no binary distribution of id3lib available for this.
Just try it.
Best Regards,
Christian Richardt
|
|
|
|
 |
|
 |
Very, very clumsy.
|
|
|
|
 |
|
 |
Hi,
Grey hair allover the office
When compiling with Borland Builder 6, I'm getting this error:
[Linker Error] 'E:\TOOLS\MP3FILEINFO\SOURCES\ID3LIB.LIB' contains invalid OMF record, type 0x21 (possibly COFF)
Any idea?
Claus
|
|
|
|
 |
|
 |
As far as I know, the ID3LIB.LIB file is a Microsoft .lib file which is incompatible with the Borland compiler. But I seem to remember there is a Borland tool that can convert Microsoft to Borland formats, but I don't remember the name.
Best Regards,
Christian Richardt
|
|
|
|
 |
|
 |
Is there a way to handle tag in foreign languaga, say japanese, using different code page(say UTF-8)?
|
|
|
|
 |
|
 |
Unfortunately, MP3FileInfo only supports ASCII ID3 tags. If you would like to use UTF8, you will need to either use ID3Lib directly (http://id3lib.sourceforge.net/), or use a different wrapper. Sorry.
Best Regards,
Christian Richardt
|
|
|
|
 |
|
 |
Ok..How do I make the application uses the id3lib.lib static?
I want to use the application without id3lib.dll... thanks!
-- modified at 20:53 Saturday 11th November, 2006
|
|
|
|
 |
|
 |
If you don't want to use id3lib.dll, you'll need to compile ID3Lib in to your application. Unfortunately, I have no idea whether this is possible or not, you'll just need to try.
From my understanding, id3lib.lib is the library specifying the interface to id3lib.dll, so static linking would link this .lib file into your application so that id3lib.dll is automatically loaded when you start up the application. So this is unrelated to not using id3lib.dll, what you'd like to do.
Best Regards,
Christian Richardt
Those who know don't talk.
Those who talk don't know.
|
|
|
|
 |
|
 |
: fatal error C1083: Cannot open include file: 'id3/tag.h': No such file or directory
Where do i download this file?
Thanks
Daniel
|
|
|
|
 |
|
|
 |
|
 |
ID3V1, ID3V2 Equal...
dsgdgdfgadfgadsdfasdf
|
|
|
|
 |
|
 |
hi :S i am using this library to get some information
from mp3 files but i cant get it working :S
i am using Visual Studi 2005 (VC++)
here is whole buildlog http://ninel.mine.nu/BuildLog.htm
pls help :S
|
|
|
|
 |
|
 |
I haven't tried it using Visual Studio 2005 yet, but I think you were using managed C++. The library uses unmanaged C++, so please give that a try.
Best Regards,
Christian Richardt
Those who know don't talk.
Those who talk don't know.
|
|
|
|
 |
|
 |
oky :S that is something new to me :S do you maybe know
what i need to set that it will compile unmanaged c++ :S
lp
|
|
|
|
 |
|
 |
I have the same problem, just can't get this thing working...any suggestions?
|
|
|
|
 |
|
 |
file: MP3FileInfo.cpp
line: 252
sometimes the error ("Run-Time Check Failure #2 - Stack around the variable 'buf' was corrupted.") occures
solve:
replace code
char buf[10];
with
char buf[12];
explanation:
when m_getString(ID3_FrameID fid, char* szBuffer) function fills szBuffer with "[not found]\0" (12 chars) there is not enough memory in buffer to hold the string...
Best regards, Alexander Dronov
|
|
|
|
 |
|
 |
I'm not a C++ developer, but I want to use this in my C# or VB.NET application. Do you happen to have a dll compiled that I can use to get to all the info?
|
|
|
|
 |
|
 |
No. You could try
- http://www.codeproject.com/csharp/ShellID3TagReader.asp
- http://erinjones.org/id3.php
Best Regards,
Christian Richardt
Those who know don't talk.
Those who talk don't know.
|
|
|
|
 |
|
 |
I tried to use your MP3FileInfo in a program made in C++ Builder 6, but I got the following Linker Errors(before the Builder accepted the 'id3lib.lib' found in your example, I had to convert it using 'coff20mf.exe', as I was advised by the Builder's Help):
[C++ Warning] MP3FileInfo.cpp(242): W8004 'field' is assigned a value that is never used
[C++ Warning] MP3FileInfo.cpp(238): W8004 'frame' is assigned a value that is never used
[C++ Warning] MP3FileInfo.cpp(190): W8004 'buf' is assigned a value that is never used
[C++ Warning] MP3FileInfo.cpp(242): W8004 'field' is assigned a value that is never used
[C++ Warning] MP3FileInfo.cpp(238): W8004 'frame' is assigned a value that is never used
[C++ Warning] MP3FileInfo.cpp(190): W8004 'buf' is assigned a value that is never used
[C++ Warning] MP3FileInfo.cpp(242): W8004 'field' is assigned a value that is never used
[C++ Warning] MP3FileInfo.cpp(238): W8004 'frame' is assigned a value that is never used
[C++ Warning] MP3FileInfo.cpp(190): W8004 'buf' is assigned a value that is never used
[Linker Error] Unresolved external 'ID3_Tag::~ID3_Tag()' referenced from D:\MY DOCUMENTS\ANDREI\PROGRAMARE\SELECTORMP3\MAIN.OBJ
[Linker Error] Unresolved external 'ID3_Tag::ID3_Tag(const char *)' referenced from D:\MY DOCUMENTS\ANDREI\PROGRAMARE\SELECTORMP3\MAIN.OBJ
[Linker Error] Unresolved external 'ID3_Tag::Link(const char *, unsigned short)' referenced from D:\MY DOCUMENTS\ANDREI\PROGRAMARE\SELECTORMP3\MAIN.OBJ
[Linker Error] Unresolved external 'ID3_Tag::HasLyrics() const' referenced from D:\MY DOCUMENTS\ANDREI\PROGRAMARE\SELECTORMP3\MAIN.OBJ
[Linker Error] Unresolved external 'ID3_Tag::HasV1Tag() const' referenced from D:\MY DOCUMENTS\ANDREI\PROGRAMARE\SELECTORMP3\MAIN.OBJ
[Linker Error] Unresolved external 'ID3_Tag::HasV2Tag() const' referenced from D:\MY DOCUMENTS\ANDREI\PROGRAMARE\SELECTORMP3\MAIN.OBJ
[Linker Error] Unresolved external 'ID3_Tag::GetFileSize() const' referenced from D:\MY DOCUMENTS\ANDREI\PROGRAMARE\SELECTORMP3\MAIN.OBJ
[Linker Error] Unresolved external 'ID3_Tag::GetMp3HeaderInfo() const' referenced from D:\MY DOCUMENTS\ANDREI\PROGRAMARE\SELECTORMP3\MAIN.OBJ
[Linker Error] Unresolved external 'ID3_Frame::~ID3_Frame()' referenced from D:\MY DOCUMENTS\ANDREI\PROGRAMARE\SELECTORMP3\MAIN.OBJ
[Linker Error] Unresolved external 'ID3_Tag::Find(ID3_FrameID) const' referenced from D:\MY DOCUMENTS\ANDREI\PROGRAMARE\SELECTORMP3\MAIN.OBJ
[Linker Error] Unresolved external 'ID3_Frame::Contains(ID3_FieldID) const' referenced from D:\MY DOCUMENTS\ANDREI\PROGRAMARE\SELECTORMP3\MAIN.OBJ
[Linker Error] Unresolved external 'ID3_Frame::GetField(ID3_FieldID) const' referenced from D:\MY DOCUMENTS\ANDREI\PROGRAMARE\SELECTORMP3\MAIN.OBJ
What could be the problem?
Isn't there an easier way to read the Mp3's Artist, Title and play length, without using include files that might be known only to Visual C++?
|
|
|
|
 |
|
 |
There are several ways of using ID3Lib. I used a DLL which is linked with the application. There are differences in how this works in Borland and Microsoft compilers and ID3Lib only offers the Microsoft LIB file which is needed to link to the DLL. However, I think there is also the possibility of compiling ID3Lib directly into your program, see http://www.id3lib.org/[^] for further information.
I think you missed including a reference to the LIB file in your Borland project, because of all these unresolved external references of functions of ID3Lib.
Best Regards,
Christian Richardt
Those who know don't talk.
Those who talk don't know.
|
|
|
|
 |