Hi,
so we managed to connect the iPhone to ml_ipod. Fine. But there is still some parts missing.

The most important problem at the moment is to read the play times, play counts and changed ratings from the iPhone/iTouch. They are stored in a file PlayCounts.plist on the device, in the itunes folder. I managed to parse this file (it's a binary encoded property list), but there is one problem I haven't found a solution for:

After parsing the file and incorporating the information into the main database, it should be emptied and the iPhone should start to record only new play times, not the ones we have parsed already. But that does not work: Neither deleting the file nor replacing it with a cut down version helps, after the first song is played the iPhone rewrites all the old playcounts to the file.

I don't know where it stores this information, because this still happens even after rebooting. There must be a second persistent store for this... weird. So if anybody finds information about this or gains some insight, please report here! Might be a OS X specific thing, so it could help if you have some Mac experience (which I don't have).

Unfortunately no, as nobody volunteered to help
I have some other iPhone specific issues in the queue, but I definitely need somebody who is active in the iPhone IRC chats etc. I just can't do it at the moment.

I'm sure all the big gaping Apple bugs and problems will be worked out after a few gen's....and it will hold 60+ gigs. I wait until than. No point in carrying a small capacity iPhone in one pocket and my 5th gen in the other. This device must REPLACE both phone and regular iPod.

Would be great if it was that way, but nope. Maybe in revision 2 or 3?
It's even worse: If run run down your battery, you can't even make a phone call immediately after plugging the charger in! It needs some minutes before the iPhone even reacts to the power switch... Bad design for a phone. Well, it's Apple's first shot in the phone area, so what should we expect? It's simply not the best phone out there, even if their ads try to convince us.

I remember before the iPhone came out, it said on the teaser site that the iPod features ran on a separate 16-hour battery. I guess that pulled that idea at the last second to keep the phone thin...

But yeah, I never wanted an iPhone at all. The trouble with music phones in general is you could be listening to music and then a phone call comes in and the music stops, even if you don't want to answer it. Ruins the song.

Anyway I agree, very poor design. It doesn't do either of its jobs right from the sound of things. Almost reminds me of the N-Gage...

Although I've done a decent bit of scripting I'm probably not the best person to help with this feature, but if you tell me what to do I'll see if I can help. Otherwise I'd like to essentially beg you guys to continue working on this.

As a music lover/part time DJ I decided it would be a great idea to use iTunes to rate all my tracks, then I could use smart playlists to help me pull songs out of my collection for specific mixes (my collection is 250GB and growing, so this speeds things up A LOT). Unfortunately there's a perfect storm of things fighting me on this:

iTunes lets me rate songs but doesn't have playlists that self-update after the collection has been updated

When my main hard drive crashed I decided to try Media Monkey only to find out that iTunes doesn't store the ratings in the MP3 (it stores it in an XML file), so I had to go through and re-rate everything, lost 2-3 years of my work doing this.

Turns out Media Monkey constantly corrupts the ratings information so I have to keep going back to re-rate songs over and over.

I give WinAmp a shot and it looks like it'll do everything I want ... except it can't update ratings from my iTouch.

Synching from my iTouch is key for me because that's how I rate my tracks. I add songs to a playlist on the iTouch and as I'm working out, or driving to work, or doing chores, or at work I'll listen to music and rate it, then when I come home sync to update the ratings.