Updated 23rd February 2015Now free and open source!
https://github.com/prod1/mcisMCiS is an application that synchronizes MC and iTunes ratings, play & skip counts, last played & skipped dates. It also exports fields such as Name, Artist, Album, Compilation and Lyrics flags from MC to iTunes, and Album Rating information from iTunes to MC. As well as this, MCiS can automatically import files to and remove any broken links (missing file links) from the iTunes library.
This is how the general synchronization process works;
The first time the sync is run is slightly different to subsequent runs, the following happens in the first run that doesn't happen in subsequent runs;
- Three fields are added to the MC library; iTunesRatingSync, iTunesPlayedCountSync and iTunesSkippedCountSync.
- An aggregate play count is reached for each track by adding the number of plays in iTunes and the number of plays in MC.
- An aggregate skip count is reached for each track by adding the number of skips in iTunes and the number of skips in MC.
- If the track is rated in iTunes but NOT rated in MC the rating in iTunes is used. Otherwise the rating in MC is used.
As opposed to subsequent runs when;
- An aggregate play count is reached for each track by adding the number of plays in iTunes since the last sync and the number of plays in MC.
- An aggregate skip count is reached for each track by adding the number of skips in iTunes since the last sync and the number of skips in MC.
- If the rating since the last sync is now different in MC the MC rating is used. If the rating since the last sync is the same in MC but different in iTunes, the iTunes rating is used.
Assuming the various options are selected, the following happens on all syncs;
- The latest Last Played date for each track is used.
- The latest Last Skipped date for each track is used.
- If the track has Mix Album set to 1 in MC, Compilation in iTunes is set to true. If the track has Mix Album set to 0 in MC, Compilation in iTunes is set to false.
- Any other selected fields are also sync'd to iTunes if different
- Any files of the specified types that exist in the MC library but not in the iTunes library are imported
- Any entries in the iTunes library where the physical file can not be found are removed
- Playlists and contents are sync'd across to iTunes
Only tracks that already exist in
both the iTunes and MC libraries are sync'd.
MCiS can also synchronize your playlists from MC to iTunes. Smartlists are also sync'd - they are created in iTunes as normal playlists. There are two choices;
- Synchronize to the root playlist folder in iTunes
- MCiS will create the playlists directly under the Playlists section in iTunes. Playlists will be removed from iTunes where a playlist exists in MC but has not been selected for synchronization. Also, a playlist will be removed from iTunes where the parent folder is selected for synchronize and the playlist does not exist in MC.
- Synchronize to a specifed folder in iTunes
- You specify a folder in which to put the playlists in iTunes (note that this should be a unique name in your iTunes playlist folders). Note that all existing playlists in this iTunes playlist folder you specify will be deleted. If the iTunes playlist folder does not exist, MCiS will create it. MCiS will sync the MC playlists you select into that folder.
Right-clicking a playlist in the tree will present a menu;
Rebuild instructs MCiS to always rebuild from scratch the playlist or playlist group. Rebuilding from scratch merely clears out all the tracks from the iTunes playlist before inserting them again - this guarantees the sequence in which they are inserted is the same as the sequence in MC. However, it is much slower - you may want to do this when the sequence is important, can not be duplicated using the playlist sorting options in iTunes, and has changed since the first time the playlist was sync'd.
Shuffle shuffles the playlist (or the children playlists if it is a playlist group) in either MC or iTunes, dependent on the following conditions;
- Playlist is standard playlist or smartlist, Shuffle selected, Rebuild not selected = playlist is sync'd from MC to iTunes and then shuffled in iTunes
- Playlist is standard playlist, both Shuffle and Rebuild selected = playlist is shuffled in MC and then rebuilt exactly as is in iTunes
- Playlist is smartlist, both Shuffle and Rebuild selected = Shuffle is ignored, playlist is rebuilt exactly as is in iTunes
Hide prevents the playlist (and any children if it is a playlist group) being seen in MCiS. You can click on the hide/show hidden playlists button to reveal hidden playlists and un-hide them if desired. Even if a hidden playlist is checked, it will not be sync'd.
Untick only appears if
Manage ticks with playlists is checked. This unticks all tracks in iTunes that appear in the playlist. All other tracks are ticked.
Remove Tracks will remove all tracks in the selected MC playlist from the
iTunes library.
The option
Synchronize On-The-Go playlists from iTunes to MC synchronizes all On-The-Go playlists from iTunes to MC under the MC playlist group "On-The-Go" (directly under the playlist root).
Caution: if you already have an "On-The-Go" playlist group directly under the playlist root in MC, rename it or it will be lost when using this option.
There is no installation, just unzip the contents of the file and run it. By default on the first run nothing is selected to be synchronized, and MCiS will do nothing until you press the Synchronize button.
Screenshots:
I suggest you backup your MC and iTunes libraries before synchronizing the first couple of times. MCiS doesn't alter libraries directly but through interfaces exposed by MC and iTunes.
The following command line arguments can be used:
- /StartSync - starts synchronization immediately on startup
- /ExitAfterSync - exits once synchronization is complete
- /RunMinimized - runs minimized
- /ExportAggregatesOnlyFrom:MC - Overrides the aggregated field calculations and performs a simple export from MC to iTunes of these fields instead
- /ExportAggregatesOnlyFrom:iTunes - Overrides the aggregated field calculations and performs a simple export from iTunes to MC of these fields instead
- /LibraryName - The name of the MC library to sync
- /ViewScheme - The MC view scheme path to use. Only tracks in this view scheme will be sync'd.
- /Playlist - The MC playlist (or smartlist) path and name to use. Only tracks in this playlist will be sync'd.
- /Settings - use an alternative .settings file, if not specified uses the default MCiTunesSynchronizer.
You can not specify both a view scheme AND a playlist. If neither are specified the whole library is sync'd.
Argument usage:MCiTunesSynchronizer.exe [/StartSync] [/ExitAfterSync] [/RunMinimized] [/ExportAggregatesOnlyFrom:[MC|iTunes]] [/LibraryName:"
sss"] [[/ViewScheme:"
vvv"] | [/Playlist:"
ppp"]] [/Settings:"
xxx"]
Where
sss is the name of the library to use,
vvv is the name of the viewscheme (e.g. "Audio\Albums\MyView"),
ppp is the name and path of the playlist (e.g. "Tasks\Miscellaneous\MCiS Sync Playlist"), and
xxx is the name of the settings file.
A few tips for speeding up sync'ing;
- Retrieving lyrics from iTunes can be a costly business and slows the sync down - so only check the lyrics option if necessary
- Selecting "neutral ground" in the iTunes tree can speed the sync up because the iTunes UI won't need to update each time a change is made
- Likewise in MC, if intensive visualizations are running and Playing Now is selected this can slow the sync down
Please also note that, depending on the tag being changed and how your MC and iTunes are configured, the MC and iTunes interfaces will write the new value to the file tag also.MCiS includes the ability to sync using MC expressions by right-clicking the desired field.
However, this should be used with the utmost care.
Remember that altering a field in iTunes will in many cases write the value to the tag of the physical file also - and this in turn may then be picked up in MC, overwriting your original values! The outcome depends on your configuration in iTunes, MC and MCiS. You need to know exactly what you are doing to use this option, if you are not sure, please ask about it here on the MC forums or leave it alone. This option is included to allow the user to swap fields over, for instance use
Composer for
Artist,
Album Artist (auto) for
Sort Album Artist or such like. That's not all though, any expression, simple or complex, may be entered to be sync'd to the destination file. I personally recommend using this mainly with the iTunes Sort fields or when using the
Use Alternative File Keys option.
Tested using MC12, MC13, MC14, MC15, MC16, MC17, MC18 and iTunes 8, 9, 10, 11.SourceBinary [zip]