示例#1
0
        public Collection <ApiAudioArtist> GetArtists()
        {
            var artists = new Collection <ApiAudioArtist>();

            if (!_parent.IsConnected())
            {
                return(artists);
            }
            var dblines = _parent.IPimpDBCommand(new CommandInfoIPimp {
                Action = "getallmusicartists"
            }, "artists");

            if (dblines == null)
            {
                return(artists);
            }

            foreach (JsonObject dbline in dblines)
            {
                var artist = new ApiAudioArtist
                {
                    Thumb     = (string)dbline["thumb"],
                    Fanart    = (string)dbline["fanart"],
                    Hash      = MediaPortal.Hash((string)dbline["files"]),
                    Biography = (string)dbline["biography"],
                    IdArtist  = Convert.ToInt32("0" + (string)dbline["id"], CultureInfo.InvariantCulture),
                    Name      = (string)dbline["name"]
                };

                artists.Add(artist);
            }


            return(artists);
        }
示例#2
0
        public Collection <ApiAudioArtist> GetArtists()
        {
            var artists = new Collection <ApiAudioArtist>();
            var dblines = _parent.DBCommand("music", "SELECT idArtist,strArtist FROM artist");

            if (dblines == null)
            {
                return(artists);
            }
            foreach (var dbline in dblines)
            {
                if (dbline.Length < 2)
                {
                    _parent.Log("Invalid request DATA : " + dbline);
                    continue;
                }
                var hash  = Xbmc.Hash(dbline[1]);
                var hash2 = Xbmc.Hash("artist" + dbline[1]);
                var genre = new ApiAudioArtist
                {
                    IdArtist = Xbmc.StringToNumber(dbline[0]),
                    Name     = dbline[1],
                    Thumb    = @"special://profile/Thumbnails/Music/Artists/" + hash2 + ".tbn",
                    Fanart   = @"special://profile/Thumbnails/Music/Fanart/" + hash + ".tbn",
                    Hash     = hash2
                };
                artists.Add(genre);
            }

            dblines = _parent.DBCommand("music", "SELECT idArtist,strBiography FROM artistinfo");
            if (dblines == null)
            {
                return(artists);
            }

            foreach (var dbline in dblines)
            {
                if (dbline.Length < 2)
                {
                    _parent.Log("Invalid request DATA : " + dbline);
                    continue;
                }
                foreach (var artist in artists)
                {
                    if (artist.IdArtist.ToString(CultureInfo.InvariantCulture) == dbline[0])
                    {
                        artist.Biography = dbline[1];
                    }
                }
            }

            return(artists);
        }
示例#3
0
 public Yatse2AudioArtist(ApiAudioArtist apiAudioArtist)
 {
     if (apiAudioArtist == null)
     {
         return;
     }
     IdArtist  = apiAudioArtist.IdArtist;
     Name      = apiAudioArtist.Name;
     Biography = apiAudioArtist.Biography;
     Thumb     = apiAudioArtist.Thumb;
     Fanart    = apiAudioArtist.Fanart;
     Hash      = apiAudioArtist.Hash;
 }
示例#4
0
        public Collection <ApiAudioArtist> GetArtists()
        {
            _parent.Trace("JRiver Get Artists Running");
            var artists = new Collection <ApiAudioArtist>();

            return(artists);

            try
            {
                getallItems("/MCWS/v1/Files/Search?Action=mpl&ActiveFile=-1&Zone=-1&ZoneType=ID&Query=[Media%20Type]=[Audio]");
                foreach (var Field in Allitems)
                {
                    string result = "";
                    if (Field.TryGetValue("Album", out result))
                    {
                        if (result != "" & result != null)
                        {
                            //Only take Artists from those entries that have Album Name -

                            string GenreName = Field.ValueOrDefault("Genre");
                            string Artist    = Field.ValueOrDefault("Artist");

                            if (Artist != "" && Artist != null)
                            {
                                var artist = new ApiAudioArtist
                                {
                                    IdArtist  = (long)Xbmc.IDstringtoNumber(Artist),
                                    Name      = Artist,
                                    Thumb     = "",
                                    Fanart    = "",
                                    Biography = ""
                                };


                                if (!artists.Any(a => a.Name == Artist))
                                {
                                    artists.Add(artist);
                                }
                            }
                        }
                    }
                }
                return(artists);
            }
            catch (Exception ex)
            {
                _parent.Trace("JRiver GetArtists:" + ex);
                return(artists);
            }
        }
示例#5
0
        public ApiAudioArtist ToApi()
        {
            var api = new ApiAudioArtist
            {
                Biography = Biography,
                Fanart    = Fanart,
                Hash      = Hash,
                IdArtist  = IdArtist,
                Name      = Name,
                Thumb     = Thumb
            };

            return(api);
        }
示例#6
0
        public Collection <ApiAudioArtist> GetArtists()
        {
            var artists = new Collection <ApiAudioArtist>();

            var properties = new JsonArray(new[] { "thumbnail", "fanart", "description" });
            var param      = new JsonObject();

            param["properties"] = properties;
            var result = (JsonObject)_parent.JsonCommand("AudioLibrary.GetArtists", param);

            if (result != null)
            {
                if (result.Contains("artists"))
                {
                    foreach (JsonObject genre in (JsonArray)result["artists"])
                    {
                        try
                        {
                            var artist = new ApiAudioArtist
                            {
                                IdArtist  = (long)(JsonNumber)genre["artistid"],
                                Name      = genre["artist"].ToString(),
                                Thumb     = genre["thumbnail"].ToString(),
                                Fanart    = genre["fanart"].ToString(),
                                Biography = genre["description"].ToString()
                            };
                            artists.Add(artist);
                        }
                        catch (Exception)
                        {
                        }
                    }
                }
            }
            return(artists);
        }
示例#7
0
        public Collection <ApiAudioArtist> GetArtists()
        {
            var artists = new Collection <ApiAudioArtist>();


            //var MusicID = GetMainSelection("Album Artists");


            try
            {
                _parent.Trace("Getting Album ARtists: Parent IP: " + _parent.IP);
                string NPurl   = "http://" + _parent.IP + ":" + _parent.Port + "/emby/Artists/AlbumArtists?Recursive=true&EnableImages=true"; // /" + Globals.CurrentUserID + "/Items?ParentId=" + ;
                var    request = WebRequest.CreateHttp(NPurl);
                request.Method  = "get";
                request.Timeout = 150000;
                _parent.Trace("Album Artists Music Selection: " + NPurl);
                var authString = _parent.GetAuthString();
                request.Headers.Add("X-MediaBrowser-Token", Globals.EmbyAuthToken);
                request.Headers.Add("X-Emby-Authorization", authString);
                request.ContentType = "application/json; charset=utf-8";
                request.Accept      = "application/json; charset=utf-8";

                var response = request.GetResponse();

                if (((HttpWebResponse)response).StatusCode == HttpStatusCode.OK)
                {
                    System.IO.Stream dataStream = response.GetResponseStream();


                    using (var sr = new System.IO.StreamReader(response.GetResponseStream()))
                    {
                        string json = sr.ReadToEnd();
                        _parent.Trace("--------------GETTING Album Artists Genres Selection Result ------" + json);

                        var deserializer = new JavaScriptSerializer();
                        var ItemData     = deserializer.Deserialize <AlbumArtists.Rootobject>(json);
                        _parent.Trace("---------------Get Album Artists :  Issue: Results.Record Count: " + ItemData.TotalRecordCount);

                        foreach (var genre in ItemData.Items)
                        {
                            MusicSingleArtistInfo.Rootobject ArtistItem = GetSingleArtist(genre.Id);

                            try
                            {
                                var artist = new ApiAudioArtist
                                {
                                    IdArtist  = Xbmc.IDtoNumber(genre.Id),
                                    Name      = genre.Name ?? "",
                                    Thumb     = "http://" + _parent.IP + ":" + _parent.Port + "/Items/" + genre.Id + "/Images/Primary" ?? "",
                                    Fanart    = "http://" + _parent.IP + ":" + _parent.Port + "/Items/" + genre.Id + "/Images/Backdrop" ?? "",
                                    Biography = ArtistItem.Overview
                                };
                                artists.Add(artist);
                            }

                            catch (Exception ex)
                            {
                                _parent.Trace("Another Album Artists Exception Caught " + ex);
                            }
                        }
                    }
                }
            }
            catch (Exception Ex)
            {
                _parent.Trace("Another Album Artists  exception" + Ex);
            }


            return(artists);
        }