public bool Download(string fileName, string destination) { if (String.IsNullOrEmpty(fileName)) { return(false); } if (!_parent.IsConnected()) { return(false); } try { var result = _parent.IPimpCommand(new CommandInfoIPimp { Action = "getfile", Value = fileName }); if (Convert.ToBoolean(result["result"], CultureInfo.InvariantCulture) == false) { return(false); } var imageData = Convert.FromBase64String(Convert.ToString(result["data"], CultureInfo.InvariantCulture)); ByteArrayToFile(destination, imageData); _parent.Log("DOWNLOAD : " + fileName); return(true); } catch (Exception exception) { _parent.Log("ERROR - DOWNLOAD : " + fileName + " - " + exception.Message); } return(false); }
public void PlayFiles(Collection <ApiAudioSong> songs) { if (songs == null) { return; } if (!_parent.IsConnected()) { return; } var tracks = new List <string>(); foreach (var apiAudioSong in songs) { tracks.Add(apiAudioSong.IdSong.ToString(CultureInfo.InvariantCulture)); } _parent.IPimpCommand(new CommandInfoIPimp { Action = "playtracks", Tracks = string.Join(",", tracks.ToArray()), Shuffle = false, Enqueue = false }); }
public void RefreshNowPlaying() { if (!_parent.IsConnected()) { return; } lock (Locker) { var data = _parent.IPimpCommand(new CommandInfoIPimp { Action = "nowplaying" }); if (!Convert.ToBoolean(data["result"], CultureInfo.InvariantCulture)) { return; } _nowPlaying.FileName = Convert.ToString(data["filename"], CultureInfo.InvariantCulture); _nowPlaying.Title = Convert.ToString(data["title"], CultureInfo.InvariantCulture); _nowPlaying.Artist = Convert.ToString(data["artist"], CultureInfo.InvariantCulture); _nowPlaying.Album = Convert.ToString(data["album"], CultureInfo.InvariantCulture); _nowPlaying.Year = Convert.ToInt32(data["year"], CultureInfo.InvariantCulture); _nowPlaying.Track = Convert.ToInt32(data["track"], CultureInfo.InvariantCulture); _nowPlaying.Genre = Convert.ToString(data["genre"], CultureInfo.InvariantCulture); _nowPlaying.ThumbURL = Convert.ToString(data["thumb"], CultureInfo.InvariantCulture); _nowPlaying.FanartURL = Convert.ToString(data["fanart"], CultureInfo.InvariantCulture); _nowPlaying.ShowTitle = Convert.ToString(data["showtitle"], CultureInfo.InvariantCulture); // _nowPlaying.FirstAired = new DateTime(); // Convert.ToString(data["firstaired"]); _nowPlaying.Plot = Convert.ToString(data["plot"], CultureInfo.InvariantCulture); _nowPlaying.Tagline = Convert.ToString(data["tagline"], CultureInfo.InvariantCulture); _nowPlaying.Rating = Convert.ToString(data["rating"], CultureInfo.InvariantCulture); _nowPlaying.Director = Convert.ToString(data["director"], CultureInfo.InvariantCulture); _nowPlaying.SeasonNumber = Convert.ToInt32(data["season"], CultureInfo.InvariantCulture); _nowPlaying.EpisodeNumber = Convert.ToInt32(data["episode"], CultureInfo.InvariantCulture); _nowPlaying.Studio = Convert.ToString(data["studio"], CultureInfo.InvariantCulture); _nowPlaying.IsPlaying = (Convert.ToString(data["playstatus"], CultureInfo.InvariantCulture) == "playing") ? true : false; _nowPlaying.IsPaused = (Convert.ToString(data["playstatus"], CultureInfo.InvariantCulture) == "paused") ? true : false; var percent = Math.Floor(100.0 * Convert.ToDouble("0" + data["position"], CultureInfo.CurrentCulture) / Convert.ToDouble("0" + data["duration"], CultureInfo.CurrentCulture)); if (Double.IsNaN(percent)) { percent = 0; } _nowPlaying.Progress = (int)percent; var type = Convert.ToString(data["media"], CultureInfo.InvariantCulture); switch (type) { case "video": _nowPlaying.MediaType = "Movie"; break; case "movingpicture": _nowPlaying.MediaType = "Movie"; break; case "tvepisode": _nowPlaying.MediaType = "TvShow"; break; case "music": _nowPlaying.MediaType = "Audio"; break; default: _nowPlaying.MediaType = "Unknown"; break; } var firstaired = Convert.ToString(data["firstaired"], CultureInfo.InvariantCulture); if (!string.IsNullOrEmpty(firstaired)) { var splitaired = firstaired.Split('-'); if (splitaired.Length > 2) { _nowPlaying.FirstAired = new DateTime(Convert.ToInt32("0" + splitaired[0], CultureInfo.InvariantCulture), Convert.ToInt32("0" + splitaired[1], CultureInfo.InvariantCulture), Convert.ToInt32("0" + splitaired[2], CultureInfo.InvariantCulture)); } } _nowPlaying.Volume = Convert.ToInt32(data["volume"], CultureInfo.InvariantCulture); _nowPlaying.Time = new TimeSpan(0, 0, (int)Convert.ToDouble("0" + ((string)data["position"]))); _nowPlaying.Duration = new TimeSpan(0, 0, (int)Convert.ToDouble("0" + ((string)data["duration"]))); _nowPlaying.IsMuted = (_nowPlaying.Volume == 0) ? true : false; } }