21 May '13 - 15:12 *
Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
 
   Home   Help Search Login Register  
Pages: [1]
  Reply  |  Print  
Author Topic: TAGS_Read and BASS_ChannelGetTags cannot find ID3 data under certain conditions  (Read 827 times)
jballi
Posts: 15


« on: 31 Oct '11 - 13:28 »
Reply with quoteQuote

bass.ddl v2.4.8.1
tags.dll v0.0.16.0

The TAGS_Read function (tags.dll) and the BASS_ChannelGetTags function (bass.dll) do not return any usable ID3v1 or ID3v2 data under certain conditions.

I found the problem when I was creating a workout playlist for my brother who is training for half marathon.  By default, my collection of MP3s only have AP3v2 tags that are created when I run MP3Gain to "normalize" the volume.  Since my brother is using a iPhone to play his stuff, I figured that ID3 tags would be helpful so I added ID3v1 and ID3v2 tags with artist and title information.  I used Mp3tag to add the ID3 tags but the problem also occurs if you add the tags via the OS.  I'm using Window XP SP3.  BASS appears to have trouble reading the ID3 tags but other programs (I tried Winamp and Windows Media Player) have no trouble finding the ID3 information.

Problem synopsis: Tag functions do not work correctly on a MP3 where ID3v1 and ID3v2 tags are added to a MP3 that only has a AP3v2 tag.  In my test, I only added artist and title information.  If the ID3 tags are added to an MP3 that has no tags whatsoever, the tag functions work fine.

Thank you for your consideration.  If you are unable to duplicate the problem, I can make available one of my "problem" MP3s so that you can verify or refute the problem.
« Last Edit: 31 Oct '11 - 13:30 by jballi » Logged
Ian @ un4seen
Administrator
Posts: 15253


« Reply #1 on: 31 Oct '11 - 15:00 »
Reply with quoteQuote

Please do upload an example troublesome file to have a look at here...

   ftp.un4seen.com/incoming/
Logged
jballi
Posts: 15


« Reply #2 on: 31 Oct '11 - 16:12 »
Reply with quoteQuote


Please do upload an example troublesome file to have a look at here...

   ftp.un4seen.com/incoming/

I haven't used FTP in many years.  It's been so long I couldn't figure out how to do it.  I finally resorted to using IE.  I "think" I got it working.  For some reason, I named the file GetTagExample01.mp3.

Thank you for your assistance.  Let me know if you can't find the file.
Logged
Ian @ un4seen
Administrator
Posts: 15253


« Reply #3 on: 31 Oct '11 - 17:14 »
Reply with quoteQuote

The file was received, thanks.

I think the problem you have encountered is that the TAGS add-on gives priority to APE tags over ID3 tags, ie. if a file contains both, it will only use the APE tags. In your file's case, the ID3 tags contain title/artist information while the APE tags only contain replaygain information. To help in situations like that, an updated TAGS build was posted fairly recently, which checks all available tag types for each requested item, eg. if it doesn't find a title in the APE tags, it will check the ID3 tags. You can get the update here...

   www.un4seen.com/stuff/tags.dll

Let me know if you still have any trouble with that.
Logged
jballi
Posts: 15


« Reply #4 on: 31 Oct '11 - 20:20 »
Reply with quoteQuote

... an updated TAGS build was posted fairly recently, which checks all available tag types for each requested item, eg. if it doesn't find a title in the APE tags, it will check the ID3 tags. You can get the update here...

   www.un4seen.com/stuff/tags.dll

Let me know if you still have any trouble with that.

The updated tags.dll does fix the problem.  Thank you. Smiley

The BASS_ChannelGetTags function (bass.dll) still does not return valid ID3v1 or ID3v2 data for these MP3s.  With the updated tags.dll, I'm good to go but I just wanted to let you know that the bug is still out there.

Once again, thanks for the fix.  I appreciate it!
Logged
Ian @ un4seen
Administrator
Posts: 15253


« Reply #5 on: 1 Nov '11 - 14:43 »
Reply with quoteQuote

Can you clarify what sort of problem you're having with BASS_ChannelGetTags, eg. is it returning nothing (NULL) when you request ID3 tags, or is it just that the ID3 tags aren't in string form like the APE tags are? If it's returning nothing, are the same files fine with the TAGS add-on update? The TAGS add-on uses the BASS_ChannelGetTags function internally, so it would be impossible for the TAGS add-on to work properly if the BASS_ChannelGetTags function isn't Smiley
Logged
jballi
Posts: 15


« Reply #6 on: 2 Nov '11 - 14:09 »
Reply with quoteQuote

Can you clarify what sort of problem you're having with BASS_ChannelGetTags, eg. is it returning nothing (NULL) when you request ID3 tags, or is it just that the ID3 tags aren't in string form like the APE tags are? If it's returning nothing, are the same files fine with the TAGS add-on update? The TAGS add-on uses the BASS_ChannelGetTags function internally, so it would be impossible for the TAGS add-on to work properly if the BASS_ChannelGetTags function isn't Smiley

I'm not sure anymore.

First of all, I only assumed the problem encompassed ID3v2 but I never got around to coding for ID3v2 when I ran into the problem.  With the release of the updated tags.dll (thanks again), hopefully I never will.

The problem I'm experiencing appears to be limited to ID3v1.  In my example problem MP3, only the first 2 fields,  ID ("TAG") and Title, are available.  All other fields are blank/null.  In the example problem MP3, the only other field that was populated was the Artist, so to make sure I wasn't just seeing things, I manually (using the OS ("Properties" dialog)) added values to all of the other ID3v1 fields.  Problem persists.  Just in case you wanted to see this problem for yourself, I loaded GetTagExample02.mp3 to your ftp server.

But and however, the tags.dll add-on has no problem accessing this information.  If this add-on is internally using the BASS_ChannelGetTags function, then I must be doing something wrong but it does leave me confused.  I have no problem reading ID3v1 tags from other MP3s.

Bottom line: The tags.dll add-on is working well.  While researching this problem, I put it through the wringer by making all kinds of changes to the tag fields and adding and deleting tags.  The TAGS_Read function returned the correct information every time.  Since the tags.dll add-on is working well, this is definitely a non-issue for me.

Thank you for your assistance and support.
« Last Edit: 2 Nov '11 - 14:13 by jballi » Logged
Ian @ un4seen
Administrator
Posts: 15253


« Reply #7 on: 3 Nov '11 - 15:22 »
Reply with quoteQuote

The problem I'm experiencing appears to be limited to ID3v1.  In my example problem MP3, only the first 2 fields,  ID ("TAG") and Title, are available.  All other fields are blank/null.  In the example problem MP3, the only other field that was populated was the Artist, so to make sure I wasn't just seeing things, I manually (using the OS ("Properties" dialog)) added values to all of the other ID3v1 fields.  Problem persists.  Just in case you wanted to see this problem for yourself, I loaded GetTagExample02.mp3 to your ftp server.

That file seems fine, so I think the problem must be in how the tag structure is being processed. Are you using the TAG_ID3 structure to do that? If not, please give that a try (an example snippet can be found in the TAG_ID3 documentation).
Logged
jballi
Posts: 15


« Reply #8 on: 4 Nov '11 - 23:00 »
Reply with quoteQuote

... I think the problem must be in how the tag structure is being processed. Are you using the TAG_ID3 structure to do that? If not, please give that a try (an example snippet can be found in the TAG_ID3 documentation).

It was definitely a programming error on my side.  I was using a function that was reading the ID3v1 tag as a single string and then breaking up the string into the individual fields.  Since the function worked on 99% of my MP3s, I incorrectly assumed that there might be as problem with the BASS_ChannelGetTags function.  It turns out the problem MP3 that I sent you was lousy with null characters within the ID3v1 tag and so my function only returned the first 18 characters.

Sorry 'bout that.  Thank you for your assistance and your support.
Logged
Pages: [1]
  Reply  |  Print  
 
Jump to:  

Powered by SMF 1.1.18 | SMF © 2013, Simple Machines