public Collection <ApiTvSeason> GetTvSeasons() { var seasons = new Collection <ApiTvSeason>(); if (!_parent.IsConnected()) { return(seasons); } var dblines = _parent.IPimpDBCommand(new CommandInfoIPimp { Action = "getallseasons" }, "seasons"); if (dblines == null) { return(seasons); } foreach (JsonObject dbline in dblines) { var tvSeason = new ApiTvSeason { Fanart = (string)dbline["fanart"], Hash = MediaPortal.Hash((string)dbline["id"]), IdShow = 0, Thumb = (string)dbline["thumb"], EpisodeCount = Convert.ToInt32(dbline["episodecount"], CultureInfo.InvariantCulture), SeasonNumber = Convert.ToInt32(dbline["seasonnumber"], CultureInfo.InvariantCulture), Show = (string)dbline["show"] }; seasons.Add(tvSeason); } return(seasons); }
public Collection <ApiAudioGenre> GetGenres() { var genres = new Collection <ApiAudioGenre>(); if (!_parent.IsConnected()) { return(genres); } var dblines = _parent.IPimpDBCommand(new CommandInfoIPimp { Action = "getallmusicgenres" }, "genres"); if (dblines == null) { return(genres); } foreach (JsonObject dbline in dblines) { var genre = new ApiAudioGenre { Thumb = (string)dbline["thumb"], Fanart = (string)dbline["fanart"], Name = (string)dbline["genre"], AlbumCount = Convert.ToInt32("0" + (string)dbline["numalbums"], CultureInfo.InvariantCulture), IdGenre = Convert.ToInt32("0" + (string)dbline["id"], CultureInfo.InvariantCulture) }; genres.Add(genre); } return(genres); }
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 PlayMovie(ApiMovie video) { if (video == null) { return; } if (!_parent.IsConnected()) { return; } if (video.IdFile == 0) { _parent.AsyncIPimpCommand(new CommandInfoIPimp { Action = "playmovie", Filter = video.IdMovie.ToString(CultureInfo.InvariantCulture), Value = "force", Tracks = "no" }); } if (video.IdFile == 1) { _parent.AsyncIPimpCommand(new CommandInfoIPimp { Action = "playmovingpicture", Filter = video.IdMovie.ToString(CultureInfo.InvariantCulture), Value = "force", Tracks = "no" }); } }
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; } }
public void ToggleMute() { if (_parent.IsConnected()) { _parent.AsyncIPimpButton("volmute"); } }