[Home] All Posts - beatgammit

Post Titles:

All Posts:


Today I "finished" the library to turn id3 tags into JSON so that it is relatively usable. It now outputs JSON for nearly every tag out there. There are only a few non-standard tags that I don't output, but I think that's acceptable for now. This means that this library now nearly 100% supports the id3 standard for mp3 tag names. There are still a couple things to do, but that is lower on the totem pole than getting something usable out there. Right now, the jpegs are just being saved to disk, and I'm not entirely sure if it even works because I don't have any files to check it against. I use the built in "ToFile" method, so everything should work smoothly. I pushed everything to github, so I'm pretty excited about that. Next up, getting something working for MPEG4 tags. Woohoo!!


I finally got my ID3 library to output JSON!! Woohoo!! My code is not yet on github, but it finally works. I still have a little cleaning up to do, and I might restructure the whole thing, but at least I have something working that gets all of the tags. There are only a few things left to implement, namely binary output and the weird "NUMTYPES" field. I am not sure what that is, but it should not be difficult to figure out. I just really wanted to get some formatted JSON out the door. I also need to figure out what to call the fields (I couldn't find any standards or naming conventions for them, but there are only 24 of them). My next step is to make sure that the code will work with ID3v1 tags as well, since they moved everything around when they moved to ID3v2, but the id3tag library claims to be able to handle it. When I get everything working I'll push my code to github and perhaps document all of the frames/fields here on the blog. Until then, onward and upward!


I started learning about ID3 tags and the id3lib library looks like it can handle everything in the ID3 standard. There are several versions of the ID3 standard, and I'm going to start with ID3V2.3.0 because that's what my mp3s use as their standard (and it should be pretty common). I set up the basic infrastructure of the ID3 to JSON program and I'll probably have a working version this week... if everything goes as planned. I am already able to read out the data from text blocks, which means that all I really have to do is print out the ID3 standard name for the tag and then format it in JSON. When that is complete, all I have to do is make sure taht it runs decently fast, and if it doesn't, then I need to decide whether I can optimize it in my code or whether I'll have ro rewrite the id3lib library (I hope that I don't have to do that because that would take a lot longer).

So far the ID3 standard seems to support 74 unique tags, and id3lib supports 78 (I think those extra ones are left over from ID3V2.2 or something). Anyway, onward and upward!!


I just finished setting up this blog on github, and it's ironically the first repository that I have every created using git. The entire process wasn't too painful. I started by trying to just clone AJ's template, but that didn't work very well because I didn't know where to change the name of the repository. I ended up creating a new repository named beatgammit.github.com and I copied over all of AJ's template code, so hopefully it works.

Well, we'll see what happens with this.