Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
 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"
         });
     }
 }
Exemplo n.º 5
0
        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
            });
        }
Exemplo n.º 6
0
        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;
            }
        }
Exemplo n.º 7
0
 public void ToggleMute()
 {
     if (_parent.IsConnected())
     {
         _parent.AsyncIPimpButton("volmute");
     }
 }