private void UpdateTrack (string track)
{
using (var reader = ServiceManager.DbConnection.Query (
DatabaseTrackInfo.Provider.CreateFetchCommand (
"CoreTracks.PrimarySourceID = ? AND CoreTracks.Uri = ? LIMIT 1"), library.DbId, new SafeUri (track).AbsoluteUri)) {
if (reader.Read ()) {
var track_info = DatabaseTrackInfo.Provider.Load (reader);
if (Banshee.IO.File.GetModifiedTime (track_info.Uri) > track_info.FileModifiedStamp) {
using (var file = StreamTagger.ProcessUri (track_info.Uri)) {
StreamTagger.TrackInfoMerge (track_info, file, false);
}
track_info.LastSyncedStamp = DateTime.Now;
track_info.Save (false);
}
}
}
}