private void OnDownloaderStateChanged(DBus.ObjectPath path, TorrentState from, TorrentState to) { if (downloader.GetState() == TorrentState.Seeding) { SetProgress(100); SetStatus(TaskStatus.Succeeded); OnTaskCompleted(null, false); } }
public Metadata(TrackInfo track) { data_store = new Dictionary <string, object> (); if (track == null) { // Managed dbus doesn't like null or empty dictionaries data_store["mpris:trackid"] = String.Concat(object_path, "Empty"); return; } // The trackid must be formatted like a dbus object path data_store["mpris:trackid"] = new DBus.ObjectPath(String.Concat(object_path, track.CacheModelId, track.CacheEntryId)); SetInfo("mpris:length", (long)track.Duration.TotalMilliseconds * 1000); SetInfo("xesam:url", track.Uri.ToString()); SetInfo("xesam:title", track.TrackTitle); SetInfo("xesam:album", track.AlbumTitle); if (!String.IsNullOrEmpty(track.ArtistName)) { SetInfo("xesam:artist", new string [] { track.ArtistName }); } if (!String.IsNullOrEmpty(track.AlbumArtist)) { SetInfo("xesam:albumArtist", new string [] { track.AlbumArtist }); } if (!String.IsNullOrEmpty(track.Genre)) { SetInfo("xesam:genre", new string [] { track.Genre }); } if (!String.IsNullOrEmpty(track.Comment)) { SetInfo("xesam:comment", new string [] { track.Comment }); } if (track.TrackNumber > 0) { data_store["xesam:trackNumber"] = track.TrackNumber; } if (track.ReleaseDate.Ticks > 0) { SetInfo("xesam:contentCreated", track.ReleaseDate.ToString("s")); } if (track.Rating > 0) { // Scale is 0.0 to 1.0 SetInfo("xesam:userRating", (double)track.Rating / 5); } string artid = track.ArtworkId; if (artid != null) { SetInfo("mpris:artUrl", String.Concat("file://", CoverArtSpec.GetPath(artid))); } }
public Metadata(TrackInfo track) { data_store = new Dictionary<string, object> (); if (track == null) { // Managed dbus doesn't like null or empty dictionaries data_store["mpris:trackid"] = String.Concat (object_path, "Empty"); return; } // The trackid must be formatted like a dbus object path data_store["mpris:trackid"] = new DBus.ObjectPath (String.Concat (object_path, track.CacheModelId, track.CacheEntryId)); SetInfo ("mpris:length", (long)track.Duration.TotalMilliseconds * 1000); SetInfo ("xesam:url", track.Uri.ToString ()); SetInfo ("xesam:title", track.TrackTitle); SetInfo ("xesam:album", track.AlbumTitle); if (!String.IsNullOrEmpty (track.ArtistName)) { SetInfo ("xesam:artist", new string [] {track.ArtistName}); } if (!String.IsNullOrEmpty (track.AlbumArtist)) { SetInfo ("xesam:albumArtist", new string [] {track.AlbumArtist}); } if (!String.IsNullOrEmpty (track.Genre)) { SetInfo ("xesam:genre", new string [] {track.Genre}); } if (!String.IsNullOrEmpty (track.Comment)) { SetInfo ("xesam:comment", new string [] {track.Comment}); } if (track.TrackNumber > 0) { data_store["xesam:trackNumber"] = track.TrackNumber; } if (track.ReleaseDate.Ticks > 0) { SetInfo ("xesam:contentCreated", track.ReleaseDate.ToString ("s")); } if (track.Rating > 0) { // Scale is 0.0 to 1.0 SetInfo ("xesam:userRating", (double)track.Rating / 5); } string artid = track.ArtworkId; if (artid != null) { SetInfo ("mpris:artUrl", String.Concat ("file://", CoverArtSpec.GetPath (artid))); } }