BASS - Mp3 info (ID3v2)

BlitzMax Forums/Brucey's Modules/BASS - Mp3 info (ID3v2)

degac(Posted 2009) [#1]
I noticed the BASS has a method to retrive info about the mp3/ogg stream/file you are playing.
After some test I discovered the BASS works perfectly with ID3v1, while testing with some Id3v2 I got not useful information (to be precise I've got an array of 1 items like this ID3...)

I 'discovered' that you are working on a wrapper for TagLib, so I could use this lib to get the informations I need...but the point is: the GetTags() method of BASS is 'left' uncompleted? (I've looked at the bass.h and I found only a struct for ID3...)

Just to know


Brucey(Posted 2009) [#2]
The problem with supporting ID3v2, is this :

ID3v2 tags. A pointer to a variable length block is returned. ID3v2 tags are supported at both the start and end of the file. See http://www.id3.org/ for details of the block's structure.


Given that the data contained within the tag can be quite complex, it's harder to knock together something which works - unlike for ID3v1.
If you look in glue.cpp, you'll see that bmx_bass_channelgettags() tries to implement support for most tags - other than ID3v2.

This is perhaps where TagLib comes in - and is designed for, of course.

Of course, if you would like the raw data returned from the ID3v2 tag, I'm sure I could get that for you, and let you figure it out from the v2 spec yourself :-)


Although TagLib is functional, as far as reading/writing standard text tag information, the support for extracting all the other data you can associate (like cover images, etc), still needs some work. But as it stands, it could be released, and the rest built into a later release.
It's available in SVN if you want to try it - bah.taglib.


Luke111(Posted 2009) [#3]
Cool dll files. I need to make a module sometime...


Brucey(Posted 2009) [#4]
I try not to rely on dlls if I can help it :-p

So, taglib compiles into the module for example, but alas, BASS is an external library... oh well .. :-)


degac(Posted 2009) [#5]

Of course, if you would like the raw data returned from the ID3v2 tag, I'm sure I could get that for you, and let you figure it out from the v2 spec yourself :-)



No thanks :-P
It was only curiosity because the array returns a 'string' - so I can't figure it as pointer...anyway I'll stay with TagLibs, no problem for me.

Thank you anyway.