Exemplo n.º 1
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.º 2
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.º 3
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;
            }
        }