public Collection<ApiAudioGenre> GetGenres()
    {
      var genres = new Collection<ApiAudioGenre>();

      var properties = new JsonArray(new[] { "title", "thumbnail" });
      var param = new JsonObject();
      param["properties"] = properties;
      var result = (JsonObject)_parent.JsonCommand("AudioLibrary.GetGenres", param);
      if (result != null)
      {
        if (result.Contains("genres"))
        {
          foreach (JsonObject genre in (JsonArray)result["genres"])
          {
            try
            {
              var gen = new ApiAudioGenre
                {
                  IdGenre = (long)(JsonNumber)genre["genreid"],
                  Name = genre["title"].ToString(),
                  AlbumCount = 0,
                  Thumb = genre["thumbnail"].ToString()
                };
              genres.Add(gen);
            }
            catch (Exception)
            {
            }
          }
        }
      }
      return genres;
    }
        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 Collection<ApiAudioGenre> GetGenres()
 {
     var genres = new Collection<ApiAudioGenre>();
     var dblines = _parent.DBCommand("music", "SELECT idGenre,strGenre,COUNT(DISTINCT strAlbum) AS albumCount FROM albumview GROUP BY idGenre");
     if (dblines == null) return genres;
     foreach (var dbline in dblines)
     {
         if (dbline.Length < 3)
         {
             _parent.Log("Invalid request DATA : " + dbline);
             continue;
         }
         var genre = new ApiAudioGenre { IdGenre = Xbmc.StringToNumber(dbline[0]), Name = dbline[1], AlbumCount = Xbmc.StringToNumber(dbline[2]) };
         genres.Add(genre);
     }
     return genres;
 }
        public Collection<ApiAudioGenre> GetGenres()
        {

            var MusicID = GetMainSelection("Genres");  //Genres bit no longer needed
            // Change away from GetMainSelection which is no longer working
            // Use Emby Genres to get info.

            var genres = new Collection<ApiAudioGenre>();

            try
            {
                _parent.Trace("Getting Music Genres: Parent IP: " + _parent.IP);
                string NPurl = "http://" + _parent.IP + ":" + _parent.Port + "/MusicGenres?ParentId="+ MusicID;
                var request = WebRequest.CreateHttp(NPurl);
                request.Method = "get";
                request.Timeout = 150000;
                _parent.Trace("Genre 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();
//REMOTETHIS        System.IO.StreamReader reader = new System.IO.StreamReader(dataStream);

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

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

                        foreach (var genre in ItemData.Items)
                        {
                            try
                            {
                                var gen = new ApiAudioGenre
                                {
                                    IdGenre = Xbmc.IDtoNumber(genre.Id),
                                    Name = genre.Name ?? "",
                                    AlbumCount = 0, //genre.ChildCount,
                                    Thumb = "http://" + _parent.IP + ":" + _parent.Port + "/Items/" + genre.Id + "/Images/Primary" ?? ""
                                };
                                genres.Add(gen);
                            }
                            catch (Exception ex)
                            {
                                _parent.Trace("Music Genres Exception Caught " + ex);
                            }
                        }

                    }
                }
            }
            catch (Exception Ex)
            {
                _parent.Trace("Another Music Genres exception" + Ex);
            }
            
            
            return genres;
        }
Exemple #5
0
 public Yatse2AudioGenre(ApiAudioGenre apiAudioGenre)
 {
     if (apiAudioGenre == null)
         return;
     IdGenre = apiAudioGenre.IdGenre;
     Name = apiAudioGenre.Name;
     AlbumCount = apiAudioGenre.AlbumCount;
     Thumb = apiAudioGenre.Thumb;
     Fanart = apiAudioGenre.Fanart;
 }
Exemple #6
0
 public ApiAudioGenre ToApi()
 {
     var api = new ApiAudioGenre
                   {
                       Fanart = Fanart,
                       AlbumCount = AlbumCount,
                       IdGenre = IdGenre,
                       Name = Name,
                       Thumb = Thumb
                   };
     return api;
 }