private List<MediaArtwork> genMA(List<Entry> entries, MediaArtworkType type) { List<MediaArtwork> artworks = new ArrayList<>(); for (Entry image : ListUtils.nullSafe(entries)) { MediaArtwork ma = new MediaArtwork(providerInfo.getId(), type); ma.setDefaultUrl(BASE_URL + image.getOriginal()); ma.setPreviewUrl(BASE_URL + image.getImage()); ma.setAnimated(true); // ma.setImdbId(m.getImdbid()); ma.setLanguage(image.getLanguage().toLowerCase(Locale.ROOT)); artworks.add(ma); } return artworks; }
private List<MediaArtwork> prepareArtwork(List<Image> images, ImageType type) { List<MediaArtwork> artworks = new ArrayList<>(); for (Image image : ListUtils.nullSafe(images)) { MediaArtwork ma = new MediaArtwork(providerInfo.getId(), type.type); ma.setDefaultUrl(image.url); ma.setPreviewUrl(image.url.replace("/fanart/", "/preview/")); ma.setLanguage(image.lang); ma.setLikes(image.likes); ma.addImageSize(type.width, type.height, image.url); ma.setSizeOrder(type.sizeOrder); if ("all".equals(image.season)) { ma.setSeason(0); } else { try { ma.setSeason(Integer.valueOf(image.season)); } catch (Exception ignored) { } } artworks.add(ma); // fanart.tv only knows clearlogo; copy that for the logo type if (type.type == MediaArtworkType.CLEARLOGO) { artworks.add(new MediaArtwork(ma, MediaArtworkType.LOGO)); } } return artworks; }
/** * A copy constructor for MediaArtwork - to clone an existing one for a new type * * @param oldArtwork * the instance to copy * @param type * the new type */ public MediaArtwork(MediaArtwork oldArtwork, MediaArtworkType type) { this.imdbId = oldArtwork.getImdbId(); this.tmdbId = oldArtwork.getTmdbId(); this.season = oldArtwork.getSeason(); this.previewUrl = oldArtwork.getPreviewUrl(); this.defaultUrl = oldArtwork.getDefaultUrl(); this.language = oldArtwork.getLanguage(); this.providerId = oldArtwork.getProviderId(); this.sizeOrder = oldArtwork.getSizeOrder(); this.likes = oldArtwork.getLikes(); for (ImageSizeAndUrl oldImageSizeAndUrl : oldArtwork.getImageSizes()) { this.imageSizes.add(new ImageSizeAndUrl(oldImageSizeAndUrl.width, oldImageSizeAndUrl.height, oldImageSizeAndUrl.url)); } this.type = type; }
private void processMediaArt(MediaMetadata md, MediaArtworkType type, String label, String image) { MediaArtwork ma = new MediaArtwork(md.getProviderId(), type); ma.setPreviewUrl(image); ma.setDefaultUrl(image); md.addMediaArt(ma); }
ma = new MediaArtwork(providerInfo.getId(), BACKGROUND); break; ma = new MediaArtwork(providerInfo.getId(), POSTER); break; ma = new MediaArtwork(providerInfo.getId(), SEASON); try { ma.setSeason(Integer.parseInt(image.subKey)); ma = new MediaArtwork(providerInfo.getId(), BANNER); break; int width = Integer.parseInt(matcher.group(1)); int height = Integer.parseInt(matcher.group(2)); ma.addImageSize(width, height, artworkUrl + image.fileName); switch (ma.getType()) { case POSTER: if (width >= 1000) { ma.setSizeOrder(MediaArtwork.PosterSizes.LARGE.getOrder()); ma.setSizeOrder(MediaArtwork.PosterSizes.BIG.getOrder()); ma.setSizeOrder(MediaArtwork.PosterSizes.MEDIUM.getOrder()); ma.setSizeOrder(MediaArtwork.PosterSizes.SMALL.getOrder()); ma.setSizeOrder(MediaArtwork.FanartSizes.LARGE.getOrder());
switch (type) { case BANNER: art = new MediaArtwork("", MediaArtworkType.BANNER); break; case CLEARART: art = new MediaArtwork("", MediaArtworkType.CLEARART); break; case DISC: art = new MediaArtwork("", MediaArtworkType.DISC); break; case FANART: art = new MediaArtwork("", MediaArtworkType.BACKGROUND); break; case LOGO: art = new MediaArtwork("", MediaArtworkType.LOGO); break; case CLEARLOGO: art = new MediaArtwork("", MediaArtworkType.CLEARLOGO); break; case POSTER: art = new MediaArtwork("", MediaArtworkType.POSTER); break; case SEASON: art = new MediaArtwork("", MediaArtworkType.SEASON); break; case THUMB: art = new MediaArtwork("", MediaArtworkType.THUMB); break; default:
MediaArtwork ma = new MediaArtwork(TmdbMetadataProvider.providerInfo.getId(), MediaArtworkType.POSTER); ma.setPreviewUrl(baseUrl + "w185" + image.file_path); ma.setLanguage(image.iso_639_1); ma.setTmdbId(tmdbId); ma.addImageSize(image.width, image.height, baseUrl + "original" + image.file_path); ma.addImageSize(500, image.height * 500 / image.width, baseUrl + "w500" + image.file_path); ma.addImageSize(342, image.height * 342 / image.width, baseUrl + "w342" + image.file_path); ma.addImageSize(185, image.height * 185 / image.width, baseUrl + "w185" + image.file_path); MediaArtwork ma = new MediaArtwork(TmdbMetadataProvider.providerInfo.getId(), MediaArtworkType.BACKGROUND); ma.setPreviewUrl(baseUrl + "w300" + image.file_path); ma.setLanguage(image.iso_639_1); ma.setTmdbId(tmdbId); ma.addImageSize(image.width, image.height, baseUrl + "original" + image.file_path); ma.addImageSize(1280, image.height * 1280 / image.width, baseUrl + "w1280" + image.file_path); ma.addImageSize(300, image.height * 300 / image.width, baseUrl + "w300" + image.file_path);
String value = reader.nextString(); LOGGER.trace("SYNO: found backdrop: " + value); MediaArtwork ma = new MediaArtwork("com.synology", MediaArtworkType.BACKGROUND); ma.setDefaultUrl(value); artworks.add(ma); String value = reader.nextString(); LOGGER.trace("SYNO: found poster: " + value); MediaArtwork ma = new MediaArtwork("com.synology", MediaArtworkType.POSTER); ma.setDefaultUrl(value); artworks.add(ma);
static void processMediaArt(MediaMetadata md, MediaArtworkType type, String image) { MediaArtwork ma = new MediaArtwork(providerInfo.getId(), type); ma.setPreviewUrl(image); md.addMediaArt(ma); }
private void prepareDefaultFanart(MediaArtwork ma, MediaScrapeOptions options) { for (MediaArtwork.ImageSizeAndUrl image : ma.getImageSizes()) { ma.setDefaultUrl(image.getUrl()); ma.setSizeOrder(MediaArtwork.FanartSizes.XLARGE.getOrder()); break; ma.setDefaultUrl(image.getUrl()); ma.setSizeOrder(MediaArtwork.FanartSizes.LARGE.getOrder()); break; ma.setDefaultUrl(image.getUrl()); ma.setSizeOrder(MediaArtwork.FanartSizes.MEDIUM.getOrder()); break; ma.setDefaultUrl(image.getUrl()); ma.setSizeOrder(MediaArtwork.FanartSizes.SMALL.getOrder()); break;
if (art.getType() == MediaArtwork.MediaArtworkType.POSTER && art.getLanguage().equals(preferredLanguage) && art.getSizeOrder() == preferredSizeOrder) { foundPoster = art; break; int maxOrder = preferredSizeOrder + 1; for (MediaArtwork art : artwork) { if (art.getType() == MediaArtwork.MediaArtworkType.POSTER && art.getLanguage().equals(preferredLanguage) && (art.getSizeOrder() == minOrder || art.getSizeOrder() == maxOrder)) { foundPoster = art; break; if (art.getType() == MediaArtwork.MediaArtworkType.POSTER && art.getSizeOrder() == preferredSizeOrder) { foundPoster = art; break; if (art.getType() == MediaArtwork.MediaArtworkType.POSTER) { foundPoster = art; break; movieSet.setArtworkUrl(foundPoster.getDefaultUrl(), MediaFileType.POSTER);
/** * choose the best artwork for this movieSet * * @param movieSet * our movie set * @param artwork * the artwork list * @param type * the type to download */ private static void setBestArtwork(MovieSet movieSet, List<MediaArtwork> artwork, MediaArtwork.MediaArtworkType type) { for (MediaArtwork art : artwork) { if (art.getType() == type) { movieSet.setArtworkUrl(art.getDefaultUrl(), MediaFileType.getMediaFileType(type)); break; } } }
for (MediaArtwork art : artwork) { if (art.getType() == MediaArtworkType.BACKGROUND && art.getSizeOrder() == MovieModuleManager.MOVIE_SETTINGS.getImageFanartSize().getOrder()) { extrathumbs.add(art.getDefaultUrl()); if (extrathumbs.size() >= MovieModuleManager.MOVIE_SETTINGS.getImageExtraThumbsCount()) { break; for (MediaArtwork art : artwork) { if (art.getType() == MediaArtworkType.BACKGROUND && art.getSizeOrder() == MovieModuleManager.MOVIE_SETTINGS.getImageFanartSize().getOrder()) { extrafanarts.add(art.getDefaultUrl()); if (extrafanarts.size() >= MovieModuleManager.MOVIE_SETTINGS.getImageExtraFanartCount()) { break;
if (art.getType() == MediaArtworkType.POSTER) { setArtworkUrl(art.getDefaultUrl(), MediaFileType.POSTER); if (art.getType() == MediaArtworkType.BACKGROUND) { setArtworkUrl(art.getDefaultUrl(), MediaFileType.FANART); if (art.getType() == MediaArtworkType.BANNER) { setArtworkUrl(art.getDefaultUrl(), MediaFileType.BANNER); if (art.getType() == MediaArtworkType.LOGO) { setArtworkUrl(art.getDefaultUrl(), MediaFileType.LOGO); if (art.getType() == MediaArtworkType.CLEARLOGO) { setArtworkUrl(art.getDefaultUrl(), MediaFileType.CLEARLOGO); if (art.getType() == MediaArtworkType.CLEARART) { setArtworkUrl(art.getDefaultUrl(), MediaFileType.CLEARART); if (art.getType() == MediaArtworkType.THUMB) { setArtworkUrl(art.getDefaultUrl(), MediaFileType.THUMB); if (art.getType() == MediaArtworkType.SEASON && art.getSeason() >= 0) {
@Override public void actionPerformed(ActionEvent e) { ImagePreviewDialog dialog = new ImagePreviewDialog(artwork.getDefaultUrl()); dialog.setVisible(true); } });
button.setUI(toggleButtonUI); button.setMargin(new Insets(10, 10, 10, 10)); if (artwork.isAnimated()) { button.setText("<html><img width=\"" + size.x + "\" height=\"" + size.y + "\" src='" + artwork.getPreviewUrl() + "'/></html>"); button.setBorder(BorderFactory.createLineBorder(Color.GREEN, 3)); if (artwork.getImageSizes().size() > 0) { cb = new JComboBox(artwork.getImageSizes().toArray());
if (StringUtils.isBlank(season.getPoster())) { for (MediaArtwork art : artwork) { if (art.getSeason() == season.getSeason()) { tvShow.setSeasonPosterUrl(art.getSeason(), art.getDefaultUrl()); downloadSeasonPoster(tvShow, art.getSeason());
/** * Gets the media art. * * @param type * the type * @return the media art */ public List<MediaArtwork> getMediaArt(MediaArtworkType type) { List<MediaArtwork> mediaArt = getFanart(); if (mediaArt == null || type == MediaArtworkType.ALL) { return mediaArt; } // get all artwork List<MediaArtwork> l = new ArrayList<>(mediaArt.size()); for (MediaArtwork ma : mediaArt) { if (ma.getType() == type) { l.add(ma); } } return l; }
MediaArtwork ma = new MediaArtwork(ImdbMetadataProvider.providerInfo.getId(), MediaArtwork.MediaArtworkType.THUMB); ma.setPreviewUrl(posterUrl); ma.setDefaultUrl(posterUrl); ep.artwork.add(ma);
MediaArtwork artwork = new MediaArtwork(OmdbMetadataProvider.providerInfo.getId(), MediaArtwork.MediaArtworkType.POSTER); artwork.setDefaultUrl(result.poster); metadata.addMediaArt(artwork);