However, You can use the iPod & iPhone Driver plugin (requires iTunes): http://getmusicbee.com/addons/plugins/48/ipod-amp-iphone-driver/
I figured I would list my experience with this plugin here because I ended up hitting this thread a lot while trying to search for any info on it.
I used iTunes 10.7. The last version before Apple stupidly removed Cover Flow and iTunes DJ.
Lets get important stuff out of the way, in it's current form, this plugin does not sync play count and ratings back to MusicBee from itunes (or devices) anymore. That is because the 2 way sync checkbox in the devices settings is permanently greyed out and the plugin uses that to decide if it should sync this data from iTunes.
I modified the source code to ignore this checkbox and always perform a 2 way sync then recompiled it.
I hope I'm not treading on any toes with this but you can find the files here - https://www.mediafire.com/file/tjge82yvat0co1g/MB_iPod_%2526_iPhone_Plugin_2way_Sync_Enabled.zip/fileImportant:
Make sure you read the concerns section below Also, use at your own risk, it's the first time I've ever edited and compiled a file in C#. I literally just commented out 2 parts that looked at the 2 way sync checkbox.
When you turn on the iPod and iPhone driver this is the process that occurs as far as I can tell.
It will open iTunes and prompt you to plug in your device. Sometimes this produced an error for me about my device being corrupted. When this happened I just closed everything, restarted the iPod and started the process again.
Once your device is detected it will sync with iTunes updating any play count information in the process to iTunes only (not MB)
At this point it will wait for you to do something.
I found my iPod would also appear as a device in MB, I would ignore that and only use the iPod and iPhone Driver
Once you click sync it will iterate through whatever songs match your sync criteria.
If the last played date in MB is greater than iTunes it will set the play count in iTunes to match MB otherwise it won't change.
If the last played date in MB is greater than iTunes it will set the rating in iTunes to match MB, otherwise it won't change.
Once MB has finished iterating all the songs, iTunes will sync with the device again.
At this point with the fix I mention above, it will sync play counts and ratings back to MB from iTunes based on the last played date.Sync problems -
1. It's quite slow. I'm using a library of 36,000 songs and the initial sync took over 7 hours which is crazy considering no file transfers are taking place, it's just transferring records from one database to another. Most likely due to the iTunes API being garbage. Subsequent syncs take about 50 minutes even if no changes are required.
2. During the inital sync, make sure iTunes is in the foreground, for some reason that makes it import 2x faster. Even if I gave it max processor priority, it still died in the ass as soon as you minimized it or gave another app focus.
Do not do anything in iTunes while this is happening. I right clicked a song just to check "get info" as I wanted to see what file path it was importing with, this caused over 200 songs to fail in the couple of seconds it took me to close the window.
I had 5 songs fail. 4 of them were from 2 different albums that had quite long filename paths. Coincidentally they were all 109 characters long. I made the filename shorter, edited the song in MusicBee twice and it prompted me to find the new filename. This made them work but I don't know why, there were other songs on those 2 albums that were 109 characters long and they worked.
The last song was Nãgá by In Hearts Wake. I had to remove the accented a's in the song title for it to work.
3. When a song play count is synced back to MB, the last played timestamp is incorrect. For my tests, instead of 12:40 PM that is listed in iTunes, MB had 12:40 AM.
4. Syncing some videos said it failed to add to the iTunes library but they actually did appear in iTunes and synced to the iPod successfully.Concerns
The play count and rating sync is based on the last played date. Whichever has the newest date in the 2 systems gets their play count overwritten. Nothing wrong with this if you only listen to music on one device. If not it's a bit crap.
eg) Song starts with zero plays.
Play the song 20 times on Tuesday on your iPod.
Play the song once in MusicBee on Wednesday your PC.
At this point the iPod - 20, MB - 1, iTunes - 0
When you start the sync process, iTunes is updated from the iPod with the 20 play count figure with a last played date of Tuesday.
Then MB will iterate through your songs and see Wed is greater than Tue and update iTunes back to a play count of 1.
And even if it synced the iPod play count after the iteration, it would only copy 20 back to MB and overwrite the play count of 1.
Either way, the play counts will be wrong.
I believe iTunes can't handle half star ratings so they get cropped back to whole stars when importing into iTunes and would eventually get synced back to MB.
My plan is to try and alter the plugin code some more to change how it works to the following -
- Disable sending play counts from MB to iTunes.
- When a sync is launched it clears all the play counts in iTunes to zero. (or clears them at the end).
- Prompts to plugin the iPod which will update iTunes with play counts that occurred since last sync. I'm fairly certain this sync involves incrementing play counts and not overwriting them. There is a file called "playcounts" on the iPod that this updates from I'm fairly sure.
- Send all the music to iTunes (as above, will not update play counts to iTunes)
- Any songs with a play count greater than zero will have that figure added (not overwritten) to the play count figure in MB.
- Any songs with a last played date greater than MB will update the last played date in MB.
- Ratings sync will stay as they are. Whichever has the last played date wins.
Obviously iTunes will no longer be kept in sync with MB but it will be much more accurate for play counts when more than one device is being used and the iTunes database isn't important anyway, it's just being used as gateway to sync apple devices.
Just have to see how I go....