This is a fork of the original iPod & iPhone Driver Plugin 2.0 made by Boroda. Most of it is the original code, I've just changed the functionality enough that it deserves to be listed separately.
I will update this post with more info after I have finished uploading the plugin to website.
edit: Ok that's done. https://getmusicbee.com/addons/plugins/463/ipod-amp-iphone-driver-2-0/
Here are the main differences.
- An option form when you first activate the plugin to choose what you want to sync.
- Play counts and skip counts will be added
to MB play/skip count total and be zeroed in iTunes. The original plugin overwrote values depending on last played date.
- The option to disable refreshing metadata from files in iTunes. This substantially increased the sync time on the library I used for testing. It was 36000 songs stored on a mechanical drive. Normal sync was 40-50min, with metadata refresh turned off this went down to 8 minutes.
It's only necessary if you change data for a song that is stored in the id3 tags. It's quicker to just delete the song out of itunes and let it get added in the next sync. Just be careful not to delete a song with play counts and if you have played the song on your device, click work offline instead of plugging in your device and do a sync. When it's finished sync your device with iTunes separately. Any play counts will get incremented the next time you sync with MB.
Obviously if you have changed a lot of songs then tick refresh meta and wait it out or if you have a smaller library it's probably worth leaving it ticked.
- Playlists are now deleted from iTunes and added straight back in to be repopulated. There was a bug (in iTunes 10 anyway) where the tracks wouldn't all get removed before repopulating which would result in double ups. It's a work around for the bug and means less api calls.
Clearly this means iTunes is no longer an exact sync of MB. It assumes iTunes is solely there to facilitate communications between MB and iDevices.
Not sure if it makes much difference but I deleted auto playlists out of iTunes. Recently added etc...
The progress information is all over the place but I think that is an MB issue. It will say "5 of No Files" instead of "5 of 36000". And the message bar at the bottom of the screen has incorrect percentages.
I have only tested this on an iPod Classic. I have no idea how it will go with an iPhone. I assume if the plugin doesn't play nice with it you can just click the work offline button, sync to iTunes and then sync your iPhone with iTunes separately. It's just the play counts will not get updated until you do another sync with MB.
I would recommend not syncing ratings from iTunes to MB. iTunes does that stupid pseudo rating thing with hollow stars and I'm not sure how that gets returned by the API. Use at your own risk.
Out of the 36000 songs, 5 failed to copy initially. If your library is big you have to wait a little while for MB to produce a summary window (just be patient). The screen isn't fun to navigate. It isn't obvious but you can click on the right side of the screen and scroll down. My issues seemed to be some really long files paths (109 characters) and a track with accented characters in name. Nāgá - In Hearts Wake.
This is the order that things occur assuming everything is enabled.
1. Any missing tracks are added to iTunes. If it's a playlist it gets deleted in iTunes and recreated (empty at this stage).
2. Any tracks that have been previously synced will refresh metadata from files, ratings will be synced to iTunes and the last played date in iTunes will be overwritten if MB is greater.
3. Playlists are repopulated with tracks. Any files not selected in the sync are removed from iTunes (if deleting missing items is checked)
4. Ratings, play counts and skip counts are synced back to MB (play/skip counts increment MB). If any of these options are enabled the last play date in MB will be overwritten if iTunes is greater. There is no progress indicator for this part, just a message at the bottom of the screen, just be patient, it took less than a minute on my library.
Once its done it will display a successful message at the bottom of the screen (assuming there were no copy fails in point 1.)