コード例 #1
0
 bool IFanartImageSourceProvider.TryCreateFanartImageSource(ListItem listItem, out FanArtImageSource fanartImageSource)
 {
   SeriesFilterItem series = listItem as SeriesFilterItem;
   if (series != null)
   {
     fanartImageSource = new FanArtImageSource
     {
       FanArtMediaType = FanArtMediaTypes.Series,
       FanArtName = series.SimpleTitle
     };
     return true;
   }
   SeriesItem episode = listItem as SeriesItem;
   if (episode != null)
   {
     fanartImageSource = new FanArtImageSource
     {
       FanArtMediaType = FanArtMediaTypes.Series,
       FanArtName = episode.Series
     };
     return true;
   }
   MovieFilterItem movieCollection = listItem as MovieFilterItem;
   if (movieCollection != null)
   {
     fanartImageSource = new FanArtImageSource
     {
       FanArtMediaType = FanArtMediaTypes.MovieCollection,
       FanArtName = movieCollection.SimpleTitle
     };
     return true;
   }
   MovieItem movie = listItem as MovieItem;
   if (movie != null)
   {
     fanartImageSource = new FanArtImageSource
     {
       FanArtMediaType = FanArtMediaTypes.Movie,
       // Fanart loading now depends on the MediaItemId to support local fanart
       FanArtName = movie.MediaItem.MediaItemId.ToString()
     };
     return true;
   }
   VideoItem video = listItem as VideoItem;
   if (video != null)
   {
     fanartImageSource = new FanArtImageSource
     {
       FanArtMediaType = FanArtMediaTypes.Movie,
       // Fanart loading now depends on the MediaItemId to support local fanart
       FanArtName = video.MediaItem.MediaItemId.ToString()
     };
     return true;
   }
   fanartImageSource = null;
   return false;
 }
コード例 #2
0
        public bool TryCreateFanartImageSource(ListItem listItem, out FanArtImageSource fanartImageSource)
        {
            GameItem item = listItem as GameItem;

            if (item != null)
            {
                fanartImageSource = new FanArtImageSource()
                {
                    FanArtMediaType = GameFanartTypes.MEDIA_TYPE_GAME,
                    FanArtName      = item.MediaItem.MediaItemId.ToString()
                };
                return(true);
            }
            fanartImageSource = null;
            return(false);
        }
コード例 #3
0
        /// <summary>
        /// Creates a new FanArtImageSource instance for exposing it using <see cref="ImageSource"/>.
        /// </summary>
        private void SetImageSource()
        {
            InitProviders();
            FanArtImageSource imageSource;

            foreach (IFanartImageSourceProvider provider in _providerList)
            {
                if (provider.TryCreateFanartImageSource(SelectedItem, out imageSource))
                {
                    ImageSource     = imageSource;
                    FanArtMediaType = imageSource.FanArtMediaType;
                    FanArtName      = imageSource.FanArtName;
                    return;
                }
            }

            ImageSource = new FanArtImageSource
            {
                FanArtMediaType = FanArtMediaTypes.Undefined,
                FanArtName      = string.Empty
            };
        }
コード例 #4
0
        bool IFanartImageSourceProvider.TryCreateFanartImageSource(ListItem listItem, out FanArtImageSource fanartImageSource)
        {
            string fanArtName = GetFanArtName(listItem);

            SeriesFilterItem series = listItem as SeriesFilterItem;

            if (series != null)
            {
                fanartImageSource = new FanArtImageSource
                {
                    FanArtMediaType = FanArtMediaTypes.Series,
                    FanArtName      = fanArtName
                };
                return(true);
            }
            SeasonFilterItem season = listItem as SeasonFilterItem;

            if (season != null)
            {
                fanartImageSource = new FanArtImageSource
                {
                    FanArtMediaType = FanArtMediaTypes.SeriesSeason,
                    FanArtName      = fanArtName
                };
                return(true);
            }
            EpisodeItem episode = listItem as EpisodeItem;

            if (episode != null)
            {
                fanartImageSource = new FanArtImageSource
                {
                    FanArtMediaType = FanArtMediaTypes.Episode,
                    FanArtName      = fanArtName
                };
                return(true);
            }
            MovieFilterItem movieCollection = listItem as MovieFilterItem;

            if (movieCollection != null)
            {
                fanartImageSource = new FanArtImageSource
                {
                    FanArtMediaType = FanArtMediaTypes.MovieCollection,
                    FanArtName      = fanArtName
                };
                return(true);
            }
            MovieItem movie = listItem as MovieItem;

            if (movie != null)
            {
                fanartImageSource = new FanArtImageSource
                {
                    FanArtMediaType = FanArtMediaTypes.Movie,
                    FanArtName      = fanArtName
                };
                return(true);
            }
            VideoItem video = listItem as VideoItem;

            if (video != null)
            {
                fanartImageSource = new FanArtImageSource
                {
                    FanArtMediaType = FanArtMediaTypes.Movie,
                    FanArtName      = fanArtName
                };
                return(true);
            }
            AlbumFilterItem albumItem = listItem as AlbumFilterItem;

            if (albumItem != null)
            {
                fanartImageSource = new FanArtImageSource
                {
                    FanArtMediaType = FanArtMediaTypes.Album,
                    FanArtName      = fanArtName
                };
                return(true);
            }
            AudioItem audioItem = listItem as AudioItem;

            if (audioItem != null)
            {
                fanartImageSource = new FanArtImageSource
                {
                    FanArtMediaType = FanArtMediaTypes.Audio,
                    FanArtName      = fanArtName
                };
                return(true);
            }
            ActorFilterItem actorItem = listItem as ActorFilterItem;

            if (actorItem != null)
            {
                fanartImageSource = new FanArtImageSource
                {
                    FanArtMediaType = FanArtMediaTypes.Actor,
                    FanArtName      = fanArtName
                };
                return(true);
            }
            DirectorFilterItem directorItem = listItem as DirectorFilterItem;

            if (directorItem != null)
            {
                fanartImageSource = new FanArtImageSource
                {
                    FanArtMediaType = FanArtMediaTypes.Director,
                    FanArtName      = fanArtName
                };
                return(true);
            }
            WriterFilterItem writerItem = listItem as WriterFilterItem;

            if (writerItem != null)
            {
                fanartImageSource = new FanArtImageSource
                {
                    FanArtMediaType = FanArtMediaTypes.Writer,
                    FanArtName      = fanArtName
                };
                return(true);
            }
            ArtistFilterItem artisitItem = listItem as ArtistFilterItem;

            if (artisitItem != null)
            {
                fanartImageSource = new FanArtImageSource
                {
                    FanArtMediaType = FanArtMediaTypes.Artist,
                    FanArtName      = fanArtName
                };
                return(true);
            }
            ComposerFilterItem composerItem = listItem as ComposerFilterItem;

            if (composerItem != null)
            {
                fanartImageSource = new FanArtImageSource
                {
                    FanArtMediaType = FanArtMediaTypes.Composer,
                    FanArtName      = fanArtName
                };
                return(true);
            }
            CharacterFilterItem characterItem = listItem as CharacterFilterItem;

            if (characterItem != null)
            {
                fanartImageSource = new FanArtImageSource
                {
                    FanArtMediaType = FanArtMediaTypes.Character,
                    FanArtName      = fanArtName
                };
                return(true);
            }
            CompanyFilterItem companyItem = listItem as CompanyFilterItem;

            if (companyItem != null)
            {
                fanartImageSource = new FanArtImageSource
                {
                    FanArtMediaType = FanArtMediaTypes.Company,
                    FanArtName      = fanArtName
                };
                return(true);
            }
            TVNetworkFilterItem tvNetworkItem = listItem as TVNetworkFilterItem;

            if (tvNetworkItem != null)
            {
                fanartImageSource = new FanArtImageSource
                {
                    FanArtMediaType = FanArtMediaTypes.TVNetwork,
                    FanArtName      = fanArtName
                };
                return(true);
            }
            ImageItem imgItem = listItem as ImageItem;

            if (imgItem != null)
            {
                fanartImageSource = new FanArtImageSource
                {
                    FanArtMediaType = FanArtMediaTypes.Image,
                    FanArtName      = fanArtName
                };
                return(true);
            }
            fanartImageSource = null;
            return(false);
        }
コード例 #5
0
        bool IFanartImageSourceProvider.TryCreateFanartImageSource(ListItem listItem, out FanArtImageSource fanartImageSource)
        {
            SeriesFilterItem series = listItem as SeriesFilterItem;

            if (series != null)
            {
                fanartImageSource = new FanArtImageSource
                {
                    FanArtMediaType = FanArtMediaTypes.Series,
                    FanArtName      = series.SimpleTitle
                };
                return(true);
            }
            SeriesItem episode = listItem as SeriesItem;

            if (episode != null)
            {
                fanartImageSource = new FanArtImageSource
                {
                    FanArtMediaType = FanArtMediaTypes.Series,
                    FanArtName      = episode.Series
                };
                return(true);
            }
            MovieFilterItem movieCollection = listItem as MovieFilterItem;

            if (movieCollection != null)
            {
                fanartImageSource = new FanArtImageSource
                {
                    FanArtMediaType = FanArtMediaTypes.MovieCollection,
                    FanArtName      = movieCollection.SimpleTitle
                };
                return(true);
            }
            MovieItem movie = listItem as MovieItem;

            if (movie != null)
            {
                fanartImageSource = new FanArtImageSource
                {
                    FanArtMediaType = FanArtMediaTypes.Movie,
                    // Fanart loading now depends on the MediaItemId to support local fanart
                    FanArtName = movie.MediaItem.MediaItemId.ToString()
                };
                return(true);
            }
            VideoItem video = listItem as VideoItem;

            if (video != null)
            {
                fanartImageSource = new FanArtImageSource
                {
                    FanArtMediaType = FanArtMediaTypes.Movie,
                    // Fanart loading now depends on the MediaItemId to support local fanart
                    FanArtName = video.MediaItem.MediaItemId.ToString()
                };
                return(true);
            }
            fanartImageSource = null;
            return(false);
        }
コード例 #6
0
        bool IFanartImageSourceProvider.TryCreateFanartImageSource(ListItem listItem, out FanArtImageSource fanartImageSource)
        {
            SeriesFilterItem series = listItem as SeriesFilterItem;

            if (series != null)
            {
                fanartImageSource = new FanArtImageSource
                {
                    FanArtMediaType = FanArtMediaTypes.Series,
                    FanArtName      = series.MediaItem.MediaItemId.ToString()
                };
                return(true);
            }
            SeasonFilterItem season = listItem as SeasonFilterItem;

            if (season != null)
            {
                fanartImageSource = new FanArtImageSource
                {
                    FanArtMediaType = FanArtMediaTypes.SeriesSeason,
                    FanArtName      = season.MediaItem.MediaItemId.ToString()
                };
                return(true);
            }
            EpisodeItem episode = listItem as EpisodeItem;

            if (episode != null)
            {
                fanartImageSource = new FanArtImageSource
                {
                    FanArtMediaType = FanArtMediaTypes.Episode,
                    FanArtName      = episode.MediaItem.MediaItemId.ToString()
                };
                return(true);
            }
            MovieFilterItem movieCollection = listItem as MovieFilterItem;

            if (movieCollection != null)
            {
                fanartImageSource = new FanArtImageSource
                {
                    FanArtMediaType = FanArtMediaTypes.MovieCollection,
                    FanArtName      = movieCollection.MediaItem.MediaItemId.ToString()
                };
                return(true);
            }
            MovieItem movie = listItem as MovieItem;

            if (movie != null)
            {
                fanartImageSource = new FanArtImageSource
                {
                    FanArtMediaType = FanArtMediaTypes.Movie,
                    // Fanart loading now depends on the MediaItemId to support local fanart
                    FanArtName = movie.MediaItem.MediaItemId.ToString()
                };
                return(true);
            }
            VideoItem video = listItem as VideoItem;

            if (video != null)
            {
                fanartImageSource = new FanArtImageSource
                {
                    FanArtMediaType = FanArtMediaTypes.Movie,
                    // Fanart loading now depends on the MediaItemId to support local fanart
                    FanArtName = video.MediaItem.MediaItemId.ToString()
                };
                return(true);
            }
            AlbumFilterItem albumItem = listItem as AlbumFilterItem;

            if (albumItem != null)
            {
                fanartImageSource = new FanArtImageSource
                {
                    FanArtMediaType = FanArtMediaTypes.Album,
                    // Fanart loading now depends on the MediaItemId to support local fanart
                    FanArtName = albumItem.MediaItem.MediaItemId.ToString()
                };
                return(true);
            }
            AudioItem audioItem = listItem as AudioItem;

            if (audioItem != null)
            {
                fanartImageSource = new FanArtImageSource
                {
                    FanArtMediaType = FanArtMediaTypes.Audio,
                    // Fanart loading now depends on the MediaItemId to support local fanart
                    FanArtName = audioItem.MediaItem.MediaItemId.ToString()
                };
                return(true);
            }
            ActorFilterItem actorItem = listItem as ActorFilterItem;

            if (actorItem != null)
            {
                fanartImageSource = new FanArtImageSource
                {
                    FanArtMediaType = FanArtMediaTypes.Actor,
                    // Fanart loading now depends on the MediaItemId to support local fanart
                    FanArtName = actorItem.MediaItem.MediaItemId.ToString()
                };
                return(true);
            }
            DirectorFilterItem directorItem = listItem as DirectorFilterItem;

            if (directorItem != null)
            {
                fanartImageSource = new FanArtImageSource
                {
                    FanArtMediaType = FanArtMediaTypes.Director,
                    // Fanart loading now depends on the MediaItemId to support local fanart
                    FanArtName = directorItem.MediaItem.MediaItemId.ToString()
                };
                return(true);
            }
            WriterFilterItem writerItem = listItem as WriterFilterItem;

            if (writerItem != null)
            {
                fanartImageSource = new FanArtImageSource
                {
                    FanArtMediaType = FanArtMediaTypes.Writer,
                    // Fanart loading now depends on the MediaItemId to support local fanart
                    FanArtName = writerItem.MediaItem.MediaItemId.ToString()
                };
                return(true);
            }
            ArtistFilterItem artisitItem = listItem as ArtistFilterItem;

            if (artisitItem != null)
            {
                fanartImageSource = new FanArtImageSource
                {
                    FanArtMediaType = FanArtMediaTypes.Artist,
                    // Fanart loading now depends on the MediaItemId to support local fanart
                    FanArtName = artisitItem.MediaItem.MediaItemId.ToString()
                };
                return(true);
            }
            ComposerFilterItem composerItem = listItem as ComposerFilterItem;

            if (composerItem != null)
            {
                fanartImageSource = new FanArtImageSource
                {
                    FanArtMediaType = FanArtMediaTypes.Composer,
                    // Fanart loading now depends on the MediaItemId to support local fanart
                    FanArtName = composerItem.MediaItem.MediaItemId.ToString()
                };
                return(true);
            }
            CharacterFilterItem characterItem = listItem as CharacterFilterItem;

            if (characterItem != null)
            {
                fanartImageSource = new FanArtImageSource
                {
                    FanArtMediaType = FanArtMediaTypes.Character,
                    // Fanart loading now depends on the MediaItemId to support local fanart
                    FanArtName = characterItem.MediaItem.MediaItemId.ToString()
                };
                return(true);
            }
            CompanyFilterItem companyItem = listItem as CompanyFilterItem;

            if (companyItem != null)
            {
                fanartImageSource = new FanArtImageSource
                {
                    FanArtMediaType = FanArtMediaTypes.Company,
                    // Fanart loading now depends on the MediaItemId to support local fanart
                    FanArtName = companyItem.MediaItem.MediaItemId.ToString()
                };
                return(true);
            }
            TVNetworkFilterItem tvNetworkItem = listItem as TVNetworkFilterItem;

            if (tvNetworkItem != null)
            {
                fanartImageSource = new FanArtImageSource
                {
                    FanArtMediaType = FanArtMediaTypes.TVNetwork,
                    // Fanart loading now depends on the MediaItemId to support local fanart
                    FanArtName = tvNetworkItem.MediaItem.MediaItemId.ToString()
                };
                return(true);
            }
            ImageItem imgItem = listItem as ImageItem;

            if (imgItem != null)
            {
                fanartImageSource = new FanArtImageSource
                {
                    FanArtMediaType = FanArtMediaTypes.Image,
                    // Fanart loading now depends on the MediaItemId to support local fanart
                    FanArtName = imgItem.MediaItem.MediaItemId.ToString()
                };
                return(true);
            }
            fanartImageSource = null;
            return(false);
        }