public Yatse2AudioAlbum(ApiAudioAlbum apiAudioAlbum) { if (apiAudioAlbum == null) { return; } Title = apiAudioAlbum.Title; IdAlbum = apiAudioAlbum.IdAlbum; IdArtist = apiAudioAlbum.IdArtist; Artist = apiAudioAlbum.Artist; Genre = apiAudioAlbum.Genre; IdGenre = apiAudioAlbum.IdGenre; Year = apiAudioAlbum.Year; Thumb = apiAudioAlbum.Thumb; Fanart = apiAudioAlbum.Fanart; Hash = apiAudioAlbum.Hash; }
public ApiAudioAlbum ToApi() { var api = new ApiAudioAlbum { Artist = Artist, Fanart = Fanart, Genre = Genre, Hash = Hash, IdAlbum = IdAlbum, IdArtist = IdArtist, IdGenre = IdGenre, Thumb = Thumb, Title = Title, Year = Year }; return(api); }
public Collection <ApiAudioAlbum> GetAlbums() { var albums = new Collection <ApiAudioAlbum>(); var properties = new JsonArray(new[] { "title", "thumbnail", "genre", "genreid", "artist", "year" }); var param = new JsonObject(); param["properties"] = properties; var result = (JsonObject)_parent.JsonCommand("AudioLibrary.GetAlbums", param); if (result != null) { if (result.Contains("albums")) { foreach (JsonObject genre in (JsonArray)result["albums"]) { try { var album = new ApiAudioAlbum { IdAlbum = (long)(JsonNumber)genre["albumid"], Title = genre["title"].ToString(), IdGenre = 0, IdArtist = 0, Artist = _parent.JsonArrayToString((JsonArray)genre["artist"]), Genre = _parent.JsonArrayToString((JsonArray)genre["genre"]), Year = (long)(JsonNumber)genre["year"], Thumb = genre["thumbnail"].ToString() }; albums.Add(album); } catch (Exception) { } } } } return(albums); }
public Collection <ApiAudioAlbum> GetAlbums() { var albums = new Collection <ApiAudioAlbum>(); const string req = "SELECT idAlbum,strAlbum,idGenre,idArtist,strArtist,strGenre,iYear,strThumb FROM albumview GROUP BY strAlbum"; var dblines = _parent.DBCommand("music", req); if (dblines == null) { return(albums); } foreach (var dbline in dblines) { if (dbline.Length < 8) { _parent.Log("Invalid request DATA : " + dbline); continue; } var album = new ApiAudioAlbum { IdAlbum = Xbmc.StringToNumber(dbline[0]), Title = dbline[1], IdGenre = Xbmc.StringToNumber(dbline[2]), IdArtist = Xbmc.StringToNumber(dbline[3]), Artist = dbline[4], Genre = dbline[5], Year = Xbmc.StringToNumber(dbline[6]), Thumb = dbline[7] }; var thumbparts = dbline[7].Split('/'); var hash = thumbparts[thumbparts.Length - 1].Replace(".tbn", ""); album.Hash = hash; albums.Add(album); } return(albums); }
public Collection <ApiAudioAlbum> GetAlbums() { var albums = new Collection <ApiAudioAlbum>(); if (!_parent.IsConnected()) { return(albums); } var dblines = _parent.IPimpDBCommand(new CommandInfoIPimp { Action = "getallmusicalbums" }, "albums"); if (dblines == null) { return(albums); } foreach (JsonObject dbline in dblines) { var album = new ApiAudioAlbum { IdAlbum = Convert.ToInt32("0" + (string)dbline["id"], CultureInfo.InvariantCulture), Thumb = (string)dbline["thumb"], Fanart = (string)dbline["fanart"], IdGenre = 0, Artist = (string)dbline["albumartist"], Genre = (string)dbline["genre"], Title = (string)dbline["name"], Year = Convert.ToInt32("0" + (string)dbline["year"], CultureInfo.InvariantCulture), Hash = MediaPortal.Hash((string)dbline["name"]), IdArtist = 0 }; albums.Add(album); } return(albums); }
public Collection <ApiAudioAlbum> GetAlbums() { _parent.Trace("JRiver GetAlbums Running"); var albums = new Collection <ApiAudioAlbum>(); return(albums); 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 Name = Field.ValueOrDefault("Name"); long Year; if (Field.ValueOrDefault("Year") != "") { Year = Convert.ToInt64(Field.ValueOrDefault("Date (readable)")); } else { Year = 1900; } string FileKey = ""; string Thumb2 = ""; string Fanart2 = ""; string cdart = ""; string Frontjpg = ""; if (Field.TryGetValue("Key", out FileKey)) { Thumb2 = "http://" + _parent.IP + ":" + _parent.Port + "/MCWS/v1/File/GetImage?File=" + FileKey + "&FileType=Key&Type=Thumbnail&Format=jpg&Token=" + _parent.JRiverAuthToken ?? ""; Fanart2 = "http://" + _parent.IP + ":" + _parent.Port + "/MCWS/v1/File/GetImage?File=" + FileKey + "&FileType=Key&Type=Full&Format=jpg&Token=" + _parent.JRiverAuthToken ?? ""; } // use directory for fanart if exists var filename = Field.ValueOrDefault("Filename"); if (filename != null & filename != "") { FileInfo[] fiJpgs = new System.IO.FileInfo(filename).Directory.GetFiles("*.jpg"); FileInfo[] fiPngs = new System.IO.FileInfo(filename).Directory.GetFiles("*.png"); if (fiJpgs.Length == 0 && fiPngs.Length == 0) { _parent.Trace("No Jpgs or PngsFound"); } else { if (fiJpgs.Any(item => item.FullName.Contains("Front"))) { Thumb2 = fiJpgs.First(item => item.FullName.Contains("Front")).FullName; } else if (fiJpgs.Any(item => item.FullName.Contains("folder"))) { Thumb2 = fiJpgs.First(item => item.FullName.Contains("folder")).FullName; } else if (fiPngs.Any(item => item.FullName.Contains("cdart"))) { Thumb2 = fiPngs.First(item => item.FullName.Contains("cdart")).FullName; } else if (fiJpgs.Any(item => item.FullName.Contains("jpg"))) { Thumb2 = fiJpgs.First(item => item.FullName.Contains("jpg")).FullName; } // **************************************************** if (fiJpgs.Any(item => item.FullName.Contains("fanart"))) { Fanart2 = fiJpgs.First(item => item.FullName.Contains(@"*fanart*")).FullName; } else if (fiPngs.Any(item => item.FullName.Contains("fanart.png"))) { Fanart2 = fiPngs.First(item => item.FullName.Contains("fanart")).FullName; } else if (fiJpgs.Any(item => item.FullName.Contains("jpg"))) { Fanart2 = fiJpgs.First(item => item.FullName.Contains("jpg")).FullName; } //var filePath = Path.GetDirectoryName(Field.ValueOrDefault("Filename")); //var fanartPath = Path.Combine(filePath, "fanart.jpg"); //var cdartpath = Path.Combine(filePath, "cdart.png"); //var ThumbPath = Path.Combine(filePath, "folder.jpg"); //var BannerPath = Path.Combine(filePath, "banner.jpg"); //var Frontpath = Path.Combine(filePath, "*Front.jpg"); //System.IO.FileInfo fi = new System.IO.FileInfo(fanartPath); //System.IO.FileInfo ficdart = new System.IO.FileInfo(cdartpath); //System.IO.FileInfo fiThumb = new System.IO.FileInfo(ThumbPath); //if (fi.Exists) //{ // Fanart2 = fanartPath; //if fanart.jpg exisits in directory with movie use this otherwise default to JRiver Thumb //} //if (fiThumb.Exists) //{ // Thumb2 = ThumbPath; //} } } _parent.Trace("GetAlbum Art: " + Thumb2); string GenreName = "Unknown"; if (Field.TryGetValue("Genre", out result)) { GenreName = Field.ValueOrDefault("Genre"); } string Album = "Unknown"; if (Field.TryGetValue("Album", out result)) { Album = Field.ValueOrDefault("Album"); } string Artist = "Unknown"; if (Field.TryGetValue("Artist", out result)) { Artist = Field.ValueOrDefault("Artist"); } if (Album != "" && Album != null) { var album = new ApiAudioAlbum { IdAlbum = (long)Xbmc.IDstringtoNumber(Album), Title = Album, IdGenre = (long)Xbmc.IDstringtoNumber(GenreName), IdArtist = (long)Xbmc.IDstringtoNumber(Artist), Artist = Artist, Genre = GenreName, Year = Year, Thumb = Thumb2, Fanart = Fanart2, Hash = Xbmc.Hash(Album) }; if (!albums.Any(a => a.Title == Album)) { albums.Add(album); } } } } } return(albums); } catch (Exception ex) { _parent.Trace("JRiver GetALbums:" + ex); return(albums); } }
public Collection <ApiAudioAlbum> GetAlbums() { var albums = new Collection <ApiAudioAlbum>(); //var AlbumID = GetMainSelection("Albums"); try { _parent.Trace("Getting Album : Parent IP: " + _parent.IP); string NPurl = "http://" + _parent.IP + ":" + _parent.Port + "/emby/Users/" + Globals.CurrentUserID + "/Items?Recursive=true&IncludeItemTypes=MusicAlbum&EnableImages=true"; var request = WebRequest.CreateHttp(NPurl); request.Method = "get"; request.Timeout = 500000; _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(); //REMOVETHIS 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 Albums Selection Result ------" + json); var deserializer = new JavaScriptSerializer(); var ItemData = deserializer.Deserialize <MusicAlbums.Rootobject>(json); _parent.Trace("---------------Get Album : Issue: Results.Record Count: " + ItemData.TotalRecordCount); long GenreIDSet = 0; MusicGenres.Rootobject MusicGenres = GetMusicGenres(); foreach (var genre in ItemData.Items) { MusicSingleAlbumItem.Rootobject AlbumItem = GetSingleAlbum(genre.Id); foreach (var findingid in MusicGenres.Items) { if (AlbumItem.Genres != null && AlbumItem.Genres.Length != 0) { if (findingid.Name == AlbumItem.Genres.FirstOrDefault().ToString()) { GenreIDSet = Xbmc.IDtoNumber(findingid.Id); } } } try { string TempAlbumGenreID = ""; if (genre.AlbumArtists != null && genre.AlbumArtists.Length != 0) { if (genre.AlbumArtists.FirstOrDefault() != null) { TempAlbumGenreID = genre.AlbumArtists.FirstOrDefault().Id; } } string TempAlbumGenre = ""; if (AlbumItem.Genres != null && AlbumItem.Genres.Length != 0) { if (AlbumItem.Genres.FirstOrDefault() != null) { TempAlbumGenre = AlbumItem.Genres.FirstOrDefault().ToString(); } } _parent.Trace("AudioLIBRARY Single Album Checks"); _parent.Trace(genre.Id.ToString()); _parent.Trace(genre.Name ?? ""); _parent.Trace(GenreIDSet.ToString()); _parent.Trace(Xbmc.IDtoNumber(TempAlbumGenreID).ToString()); _parent.Trace(genre.AlbumArtist ?? ""); _parent.Trace(TempAlbumGenre ?? ""); _parent.Trace(genre.ProductionYear.ToString()); _parent.Trace("http://" + _parent.IP + ":" + _parent.Port + "/Items/" + genre.Id + "/Images/Primary" ?? ""); var album = new ApiAudioAlbum { IdAlbum = Xbmc.IDtoNumber(genre.Id), Title = genre.Name ?? "", IdGenre = GenreIDSet, IdArtist = Xbmc.IDtoNumber(TempAlbumGenreID), Artist = genre.AlbumArtist ?? "", Genre = TempAlbumGenre ?? "", Year = genre.ProductionYear ?? 1999, Thumb = "http://" + _parent.IP + ":" + _parent.Port + "/Items/" + genre.Id + "/Images/Primary" ?? "", }; albums.Add(album); } catch (Exception ex) { _parent.Trace("Music Album exception" + ex); } } } } } catch (Exception Ex) { _parent.Trace("Music Album exception" + Ex); } return(albums); }
public Collection <ApiAudioAlbum> GetAlbums() { var albums = new Collection <ApiAudioAlbum>(); var AlbumID = GetMainSelection("Albums"); try { _parent.Trace("Getting Album ARtists: Parent IP: " + _parent.IP); string NPurl = "http://" + _parent.IP + ":" + _parent.Port + "/emby/Users/" + Globals.CurrentUserID + "/Items?ParentId=" + AlbumID; 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(); //REMOVETHIS 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 Albums Selection Result ------" + json); var deserializer = new JavaScriptSerializer(); var ItemData = deserializer.Deserialize <MusicAlbums.Rootobject>(json); _parent.Trace("---------------Get Album : Issue: Results.Record Count: " + ItemData.TotalRecordCount); foreach (var genre in ItemData.Items) { try { var album = new ApiAudioAlbum { IdAlbum = Xbmc.IDtoNumber(genre.Id), Title = genre.Name ?? "", IdGenre = 0, IdArtist = 0, Artist = genre.AlbumArtist ?? "", Genre = "", Year = genre.ProductionYear, Thumb = "http://" + _parent.IP + ":" + _parent.Port + "/Items/" + genre.Id + "/Images/Primary" ?? "", }; albums.Add(album); } catch (Exception ex) { _parent.Trace("Music Album exception" + ex); } } } } } catch (Exception Ex) { _parent.Trace("Music Album exception" + Ex); } return(albums); }