private string GetEntityID(ImageDownloadRequest req) { switch (req.ImageType) { case ImageEntityType.AniDB_Cover: AniDB_AnimeVM anime = req.ImageData as AniDB_AnimeVM; return(anime.AnimeID.ToString()); case ImageEntityType.TvDB_Cover: TvDB_ImagePosterVM poster = req.ImageData as TvDB_ImagePosterVM; return(poster.TvDB_ImagePosterID.ToString()); case ImageEntityType.TvDB_Banner: TvDB_ImageWideBannerVM banner = req.ImageData as TvDB_ImageWideBannerVM; return(banner.TvDB_ImageWideBannerID.ToString()); case ImageEntityType.TvDB_Episode: TvDB_EpisodeVM episode = req.ImageData as TvDB_EpisodeVM; return(episode.TvDB_EpisodeID.ToString()); case ImageEntityType.TvDB_FanArt: TvDB_ImageFanartVM fanart = req.ImageData as TvDB_ImageFanartVM; return(fanart.TvDB_ImageFanartID.ToString()); case ImageEntityType.MovieDB_Poster: MovieDB_PosterVM moviePoster = req.ImageData as MovieDB_PosterVM; return(moviePoster.MovieDB_PosterID.ToString()); case ImageEntityType.MovieDB_FanArt: MovieDB_FanartVM movieFanart = req.ImageData as MovieDB_FanartVM; return(movieFanart.MovieDB_FanartID.ToString()); case ImageEntityType.Trakt_Poster: Trakt_ImagePosterVM traktPoster = req.ImageData as Trakt_ImagePosterVM; return(traktPoster.Trakt_ImagePosterID.ToString()); case ImageEntityType.Trakt_Fanart: Trakt_ImageFanartVM trakFanart = req.ImageData as Trakt_ImageFanartVM; return(trakFanart.Trakt_ImageFanartID.ToString()); case ImageEntityType.Trakt_CommentUser: Trakt_CommentUserVM traktShoutUser = req.ImageData as Trakt_CommentUserVM; return(traktShoutUser.User.Trakt_FriendID.ToString()); case ImageEntityType.Trakt_Episode: Trakt_EpisodeVM trakEp = req.ImageData as Trakt_EpisodeVM; return(trakEp.Trakt_EpisodeID.ToString()); case ImageEntityType.AniDB_Character: AniDB_CharacterVM chr = req.ImageData as AniDB_CharacterVM; return(chr.AniDB_CharacterID.ToString()); case ImageEntityType.AniDB_Creator: AniDB_SeiyuuVM cre = req.ImageData as AniDB_SeiyuuVM; return(cre.AniDB_SeiyuuID.ToString()); default: return(""); } }
private string GetFileName(ImageDownloadRequest req, bool thumbNailOnly) { switch (req.ImageType) { case ImageEntityType.AniDB_Cover: AniDB_AnimeVM anime = req.ImageData as AniDB_AnimeVM; return(anime.PosterPathNoDefaultPlain); case ImageEntityType.TvDB_Cover: TvDB_ImagePosterVM poster = req.ImageData as TvDB_ImagePosterVM; return(poster.FullImagePathPlain); case ImageEntityType.TvDB_Banner: TvDB_ImageWideBannerVM banner = req.ImageData as TvDB_ImageWideBannerVM; return(banner.FullImagePathPlain); case ImageEntityType.TvDB_Episode: TvDB_EpisodeVM episode = req.ImageData as TvDB_EpisodeVM; return(episode.FullImagePathPlain); case ImageEntityType.TvDB_FanArt: TvDB_ImageFanartVM fanart = req.ImageData as TvDB_ImageFanartVM; if (thumbNailOnly) { return(fanart.FullThumbnailPathPlain); } else { return(fanart.FullImagePathPlain); } case ImageEntityType.MovieDB_Poster: MovieDB_PosterVM moviePoster = req.ImageData as MovieDB_PosterVM; return(moviePoster.FullImagePathPlain); case ImageEntityType.MovieDB_FanArt: MovieDB_FanartVM movieFanart = req.ImageData as MovieDB_FanartVM; return(movieFanart.FullImagePathPlain); case ImageEntityType.Trakt_Poster: Trakt_ImagePosterVM traktPoster = req.ImageData as Trakt_ImagePosterVM; return(traktPoster.FullImagePathPlain); case ImageEntityType.Trakt_Fanart: Trakt_ImageFanartVM trakFanart = req.ImageData as Trakt_ImageFanartVM; return(trakFanart.FullImagePathPlain); case ImageEntityType.Trakt_Episode: Trakt_EpisodeVM trakEp = req.ImageData as Trakt_EpisodeVM; return(trakEp.FullImagePathPlain); case ImageEntityType.AniDB_Character: AniDB_CharacterVM chr = req.ImageData as AniDB_CharacterVM; return(chr.ImagePathPlain); case ImageEntityType.AniDB_Creator: AniDB_SeiyuuVM cre = req.ImageData as AniDB_SeiyuuVM; return(cre.ImagePathPlain); default: return(""); } }
protected override void OnClicked(int controlId, GUIControl control, MediaPortal.GUI.Library.Action.ActionType actionType) { if (this.btnGetMissingInfo != null && control == this.btnGetMissingInfo) { JMMServerVM.Instance.clientBinaryHTTP.UpdateAnimeData(mainAnime.AnimeID); setGUIProperty("Character.Status", "Request sent to server, please refresh view..."); this.btnGetMissingInfo.IsFocused = false; GUIControl.FocusControl(GetID, 50); return; } if (this.btnRefreshView != null && control == this.btnRefreshView) { MainWindow.ServerHelper.DownloadCharacterCreatorImages(mainAnime); setGUIProperty("Character.Status", "Refreshing view..."); this.btnRefreshView.IsFocused = false; GUIControl.FocusControl(GetID, 50); return; } if (this.btnSeiyuu != null && control == this.btnSeiyuu) { GUIWindowManager.ActivateWindow(Constants.WindowIDs.ACTORS, false); return; } if (MA3WindowManager.HandleWindowChangeButton(control)) { return; } try { if (actionType != MediaPortal.GUI.Library.Action.ActionType.ACTION_SELECT_ITEM) { return; // some other events raised onClicked too for some reason? } if (control == this.m_Facade) { GUIListItem item = this.m_Facade.SelectedListItem; if (item == null || item.TVTag == null || !(item.TVTag is AniDB_CharacterVM)) { return; } AniDB_CharacterVM aniChar = item.TVTag as AniDB_CharacterVM; if (aniChar == null) { return; } AniDB_SeiyuuVM actor = aniChar.Creator; MainWindow.GlobalSeiyuuID = actor.AniDB_SeiyuuID; GUIWindowManager.ActivateWindow(Constants.WindowIDs.ACTORS, false); } } catch { } base.OnClicked(controlId, control, actionType); }
private void ShowCharacters() { GUIControl.ClearControl(this.GetID, m_Facade.GetID); //if (dummyMainCharExists != null) dummyMainCharExists.Visible = false; //if (dummyMainActorExists != null) dummyMainActorExists.Visible = false; //if (dummySeriesExists != null) dummySeriesExists.Visible = false; clearGUIProperty("Actor.Name"); clearGUIProperty("Actor.Poster"); BaseConfig.MyAnimeLog.Write("ActorWindow.GlobalSeiyuuID = {0}", MainWindow.GlobalSeiyuuID.ToString()); charList.Clear(); seiyuu = null; JMMServerBinary.Contract_AniDB_Seiyuu contract = JMMServerVM.Instance.clientBinaryHTTP.GetAniDBSeiyuu(MainWindow.GlobalSeiyuuID); if (contract == null) { return; } seiyuu = new AniDB_SeiyuuVM(contract); setGUIProperty("Actor.Name", seiyuu.SeiyuuName); string imagePath = GUIGraphicsContext.Skin + @"\Media\MyAnime3\anime3_blankchar.png"; if (File.Exists(seiyuu.PosterPath)) { imagePath = seiyuu.PosterPath; } setGUIProperty("Actor.Poster", imagePath); List <JMMServerBinary.Contract_AniDB_Character> charContracts = JMMServerVM.Instance.clientBinaryHTTP.GetCharactersForSeiyuu(MainWindow.GlobalSeiyuuID); if (charContracts == null) { return; } foreach (JMMServerBinary.Contract_AniDB_Character chr in charContracts) { charList.Add(new AniDB_CharacterVM(chr)); } bool missingImages = false; string imagePathNoPicture = GUIGraphicsContext.Skin + @"\Media\MyAnime3\anime3_blankchar.png"; foreach (AniDB_CharacterVM aniChar in charList) { imagePath = imagePathNoPicture; if (!string.IsNullOrEmpty(aniChar.PosterPath) && File.Exists(aniChar.PosterPath)) { imagePath = aniChar.PosterPath; } else { missingImages = true; } GUIListItem item = new GUIListItem(""); item.IconImage = item.IconImageBig = imagePath; item.TVTag = aniChar; item.OnItemSelected += new GUIListItem.ItemSelectedHandler(onFacadeItemSelected); m_Facade.Add(item); BaseConfig.MyAnimeLog.Write(aniChar.ToString()); } if (dummyCharactersExist != null) { if (charList.Count > 0) { dummyCharactersExist.Visible = true; } else { dummyCharactersExist.Visible = false; } } setGUIProperty("Character.CharacterCount", charList.Count.ToString()); if (m_Facade.Count > 0) { m_Facade.SelectedListItemIndex = 0; AniDB_CharacterVM aniChar = m_Facade.SelectedListItem.TVTag as AniDB_CharacterVM; if (aniChar != null) { SetCharacterProperties(aniChar); } } if (missingImages) { MainWindow.ServerHelper.DownloadCharacterImagesForSeiyuu(seiyuu); } }
private void SetActorProperties(AniDB_CharacterVM aniChar) { if (dummyMainActorExists != null) { dummyMainActorExists.Visible = false; } if (dummySeriesExists != null) { dummySeriesExists.Visible = false; } clearGUIProperty("Actor.Name"); clearGUIProperty("Actor.KanjiName"); clearGUIProperty("Character.PosterMainActor"); clearGUIProperty("Character.PosterSeries"); clearGUIProperty("Character.SeriesName"); clearGUIProperty("Character.SeriesCharacter"); clearGUIProperty("Character.SeriesKanjiCharacter"); string imagePath = GUIGraphicsContext.Skin + @"\Media\MyAnime3\anime3_blankchar.png"; // get the actor from the character AniDB_SeiyuuVM actor = aniChar.Creator; if (actor == null) { try { System.Drawing.Image theImage = System.Drawing.Image.FromFile(imagePath); float width = theImage.PhysicalDimension.Width; float height = theImage.PhysicalDimension.Height; if (dummyPosterMainActor != null) { dummyPosterMainActor.Visible = height > width; } } catch { } setGUIProperty("Character.PosterMainActor", imagePath); } else { MainWindow.GlobalSeiyuuID = actor.AniDB_SeiyuuID; if (dummyMainActorExists != null) { dummyMainActorExists.Visible = true; } setGUIProperty("Actor.Name", actor.SeiyuuName); if (File.Exists(actor.PosterPath)) { imagePath = actor.PosterPath; } try { System.Drawing.Image theImage = System.Drawing.Image.FromFile(imagePath); float width = theImage.PhysicalDimension.Width; float height = theImage.PhysicalDimension.Height; if (dummyPosterMainActor != null) { dummyPosterMainActor.Visible = height > width; } } catch { } setGUIProperty("Character.PosterMainActor", imagePath); } }