Hello all - I was wondering where you got the info on the iTunesDB format. Also, is this project still alive? Planning on making this work with the PC iPod? I'm about to start trying to get rid of the HFSPlus code in iTunesDB2, so I was wondering if anyone else was trying to get this to work with the fat32 ipod. Also - what was the iTunesDB module? Why the iTunesDB2 module now?
The iTunesDB format is out there on the web. Some crafty developers reversed engineered the format and published basic specs for them. I then created the source code in iTunesDB and used the source to ephpod to help fill in the holes.
As alot of other open source code there are multiple projects going on and we merged code with the developer of the sourceforge project upod and took his ipod code into our own as iTunesDB2. Both trees are there because we want to test them. let the best module win :)
The project is still alive however some of us are in school. We are planning on implementing the fat32 code however I am still waiting to find out details on how it works.
By the way, where did you get the source to ephpod? I can't seem to find a link to it.
I have been asked not to share that info. Have you tried emailling the developer?
Ok, well I'm at not at school yet, so I'm using my iPod through windows, but once I get to school I will be testing how the iPod show sup in linux. However, since fat32 is supported, i'd think that putting the ipod into drive mode will cause it to be mounted as just another device. So it should be as easy as copying the mp3 files to the correct directories under Music, and then updating the db.
I modified main.c in iTunesDB slightly to use the DB i copied off of my iPod, and it seems to have worked fine - picked up what seemed like all of the songs and outputted the corect info. So hopefully this won't be too hard. Later today I'll check to see if adding songs to the DB seems to work fine, and I'll be setting up a direcdtory structure to mimic a mounted ipod to get copying the files working correctly.
I'm glad I ran across this project - seems like the hard work with the DB has already been done!
It isn't as simple as that...Right now the DB stuff is done, but that was the easy part. The file system part is difficult. First your Linux box needs to recognize MAC partitions (in the kernel). Then you need HFSPlus support. The code that I have written is the furthest along that anyone has gotten but isn't nearly complete. Then you could mount the iPod data partition, copy a file to the harddrive and use the iTunesDB modules (or preferably the iTunesDB2 module) to modify the database and write the file back onto the iPod.
Now with the new fat32 iPods we need a way to convert an HFSPlus iPod to a fat32 iPod. Apple has windows software to do this, but I want to do it in Linux to understand the process. This will involve repartitioning the iPod, copying the windows firmware to the iPod in the correct location, formatting the data partition as fat32, building the directory structure, then building basic config files. Not the easiest tasks.
Ahhh... So, feel like donating an iPod to the cause? I don't want to damage mine in any way, so it makes it alot harder to test :) It'll take some time but we should have it...
ah, it looks like this project IS alive... Just found this, after spending most of the day "unraveling" the format for 80% of the itunesdb file... should have looked better first...
Anyway, I'm going to write something better for the Mac... So I'll pipe in if I have anything of interest.
So... I welcome myself... welcome.
Yeah the project is alive...Just hibernating for a little while...Sorry, I've actually been busy with other things. Let us know how testing with the iTunesDB stuff goes. Maybe I'll release it as a seperate module or a library file, since the rest of the project is sorta on hold right now...
> Maybe I'll release it as a seperate module or a library file
I'd love to see it as a lib! I wrote some code my self to handle the iTunesDB but didn't manage it completly :/ I can read it till entry 109/~2500 and then it breaks up....
If you would release your iTunesBD-module as a well documented multiplatform library I'd be sure I would't be the only who would love you for this!
Well, hmmm. The iTunesDB2 code is the same code I keep updated in upod (I need to update the code in ipod-on-linux, but I don't know what the status of the project is right now?).
Anyway, if you download the cvs version of upod it builds a library and some test tools which you might find helpful (though they are designed to work with a hfs+ ipod.. now thankfully supported in linux :). The tools are still rather primative since I am working out the sublties of the ipod but my iPod is running on a database build wholey with upod :). I don't think I could deal with the way iTunes wants to store songs on the iPod... uuggh