示例#1
0
        private void OnTrackFinished(object o, AudioCdRipperTrackFinishedArgs args)
        {
            if (user_job == null || ripper == null)
            {
                return;
            }

            AudioCdTrackInfo track = (AudioCdTrackInfo)args.Track;

            ripped_duration    += track.Duration;
            track.PrimarySource = ServiceManager.SourceManager.MusicLibrary;
            track.Uri           = args.Uri;

            track.FileSize          = Banshee.IO.File.GetSize(track.Uri);
            track.FileModifiedStamp = Banshee.IO.File.GetModifiedTime(track.Uri);
            track.LastSyncedStamp   = DateTime.Now;

            using (var file = StreamTagger.ProcessUri(track.Uri)) {
                StreamTagger.TrackInfoMerge(track, file, true);
            }

            track.Save();

            source.UnlockTrack(track);
            RipNextTrack();
        }