QUOTE (Scream @ Apr 21 2004, 07:16 PM)
take a look at mlipod (or ml_ipod cant remember the exact name) on sourceforge, or gtkpod. lots of code you may wanna see
Thanks for the pointers - I hadn't heard about
mlipod before.
gtkpod is, AFAICT, just a C++ version of the Perl scripts in
GnuPod. From what I have read, it is probably the 2nd most complete iPod library implementation (behind Otto's iPodDB).
Except for mlipod, I have looked at nearly every open source iPod library out there, and Otto's is by far and away the cleanest and best code out there. Most of the others are obvioulsly hacked together, and lack the basic understanding of the complete iTunesDB file.
For example, I found a Winamp 5 plugin the other day, and I was curious about what, if any, features I could implement (read: steal

) from it. Actually, it is called ml_ipod.dll, but I it isn't the same code as the above link, or it was based on an earlier version. So I was browsing through the code, and it was clear that it was, quite simply, crap. This one line of code from ml_ipod.dll sums up my impression:
CODE
while(*p) *(d++)=(unsigned char)*(p++); //FUCKO: totally gay utf16 to utf8 conversion
Not only is the code completely wrong, but when you see comments like that, you know that it was written by some snot nosed 15 year old hacker (in the worst sense of the word).
Anyway, I'll get off my soap box now, but the main point is that iPodDB rulez, and there is little, if anything, that any of the other projects could add to it.