public static void SyncMusicBeeHistoryToITunes(this IITTrack itTrack, MusicBeeFile mbFile)
 {
     itTrack.RepeatTrackOperationUntilNoConflicts(t => t.PlayedDate  = mbFile.LastPlayed.MusicBeeToITunes());
     itTrack.RepeatTrackOperationUntilNoConflicts(t => t.PlayedCount = mbFile.PlayCount);
     itTrack.RepeatTrackOperationUntilNoConflicts(t => t.SetMusicBeeRating(mbFile.Rating));
     if (itTrack.Kind == ITTrackKind.ITTrackKindFile)
     {
         itTrack.RepeatTrackOperationUntilNoConflicts(t => ((IITFileOrCDTrack)t).SkippedCount = mbFile.SkipCount);
         itTrack.RepeatTrackOperationUntilNoConflicts(t => ((IITFileOrCDTrack)t).SetMusicBeeAlbumRating(mbFile.RatingAlbum));
     }
 }
        public static void SyncITunesHistoryToMusicBee(this IITFileOrCDTrack track, MusicBeeFile file)
        {
            var mbLastPlayed = file.LastPlayed;
            var itLastPlayed = track.PlayedDate.AddSeconds(-track.PlayedDate.Second);

            if (mbLastPlayed == null || mbLastPlayed < itLastPlayed)
            {
                file.PlayCount   = track.PlayedCount;
                file.LastPlayed  = track.PlayedDate.ToUniversalTime();
                file.SkipCount   = track.SkippedCount;
                file.Rating      = track.MusicBeeRating();
                file.RatingAlbum = track.MusicBeeAlbumRating();
                file.CommitChanges();
                Plugin.MbApiInterface.MB_RefreshPanels();
            }
        }