JJZolx;154140 Wrote: > gerph, thanks for the reply. I understand what you're saying, but I'm > really looking for SlimServer's behavior.
What I mean is that the TXXX one won't work the way you expect, but the TSOP (et al) should. Your best bet if you want to check these things is to try the MP3s with the MP3::Info library directly. I have a lump of code around here somewhere that I used for that... http://usenet.gerph.org/ID3/test.txt is the very simple harness I used for testing some changes I made to the MP3 parser, and http://usenet.gerph.org/ID3/test2.txt is the later version of that same thing with a better handling of some of the frames. You'll need to fix up the paths in the 'require' and the file that you want to parse. Basically anything you get out of that is potentially parsable. The MP3::Info file that's used in the source is lib/MP3/Info.pm and if you want to see how the tags are converted specially without Slimserver (rather than the 'generalised' version that MP3::Info provides) then look in the Slim/Formats/MP3.pm file - there are a whole load of conversion names in there $MP3::Info::v2_to_v1_names which provides the mapping between certain frame names and their internal forms. I realise you have to read some code to understand what's going on, but from what you've said you know the ID3v2 specification at least enough to ask the question (!) so you should be able to pick out some bits from there. Earlier today I started updating http://wiki.slimdevices.com/index.cgi?SlimServerSpecification with /some/ of the details of what will be parsed by the server (which was why I'm replying in the first place - I'd been working through the sources only a few hours earlier). It's not complete but it gives you some idea of what can be parsed. JJZolx;154140 Wrote: > I see what mean about the semantic differences between v2.3 and v2.4, > but that would seem to be mostly a parsing issue. Like you say, > there's no reason why a TSOP tag appearing within an ID3v2.3 tag > couldn't be accepted, but it's up to the application. And no reason > why tags, including those used by Flac, within TXXX frames couldn't be > accepted similarly. So that's why I'd like to find out how SlimServer > handles them. I would NOT expect non-standard acceptance of tags to > change in the future unless there's a really good reason to do so. The thing is that these 'free form' tag names don't gain you much in general. Take, for example, the COMPILATION tag which you cited. It's not defined anywhere what any of the user defined tags mean, so if you were to (say) populate the COMPILATION tag with a value to indicate 'this is a compilation' then it wouldn't mean all that much. Someone else might have set the COMPILATION tag to 'no' to mean that it's not a compilation. Or someone else might have set it to 'NOW collection' to indicate which particular compilation it's part of. Without any particular semantics for the tags, you're basically going to have to take your chances. It might be non-standard but the unfortunate iTunes use of TCMP (I wonder if they even bothered to discuss it on the ID3 mail list ? Dunno, but I'd be surprised if they did) will probably be your safest bet. JJZolx;154140 Wrote: > I'm in the process of retagging a number of mp3 files that I have and > need to balance the better flexibility of ID3v2.4 with applications and > devices that may not read v2.4 tags. I suspect that not too many apps > will choke if they encountered an unknown ID3v2.4 frame in an ID3v2.3 > tag, nor should they have problems if they see something in a TXXX > frame. Then I have to balance this with the capabilities and the > quirks of the tagging software that I'm using. <sigh> yes, I've yet to find any ID3v2 tagger that I'm happy with. They're generally dreadful, and those which are just awful don't support ID3v2.4 footers (that is, none of the taggers support footers). You do, however, have a bonus with the T??? frames. Because the form of those frames are all explicitly defined for ID3v2.3, if you conform to that style then you /should/ find that everything works. Even if you use the nul separated lists from ID3v2.4 in the text of the ID3v2.3 frame it should still work because the standard says that everything after the first nul is ignored. I'd take a deep breath and say 'TSOP' (and friends) should work fine at the moment if you did that. Sorry, that's a pretty longwinded answer. -- gerph ------------------------------------------------------------------------ gerph's Profile: http://forums.slimdevices.com/member.php?userid=1819 View this thread: http://forums.slimdevices.com/showthread.php?t=29618 _______________________________________________ discuss mailing list [email protected] http://lists.slimdevices.com/lists/listinfo/discuss
