Пример #1
0
        public MediaLibrarySeriesItem(MediaItem item, EndPointSettings client)
            : base(item, NECESSARY_SEASON_MIA_TYPE_IDS, OPTIONAL_SEASON_MIA_TYPE_IDS,
                   new RelationshipFilter(SeasonAspect.ROLE_SEASON, SeriesAspect.ROLE_SERIES, item.MediaItemId), client)
        {
            Genre       = new List <string>();
            Artist      = new List <string>();
            Contributor = new List <string>();

            if (Client.Profile.Settings.Metadata.Delivery == MetadataDelivery.All)
            {
                if (MediaItemAspect.TryGetAspect(item.Aspects, SeriesAspect.Metadata, out SingleMediaItemAspect seriesAspect))
                {
                    IList <MultipleMediaItemAspect> genreAspects;
                    if (MediaItemAspect.TryGetAspects(item.Aspects, GenreAspect.Metadata, out genreAspects))
                    {
                        CollectionUtils.AddAll(Genre, genreAspects.Select(g => g.GetAttributeValue <string>(GenreAspect.ATTR_GENRE)));
                    }

                    var artistObj = seriesAspect.GetCollectionAttribute <object>(SeriesAspect.ATTR_ACTORS);
                    if (artistObj != null)
                    {
                        CollectionUtils.AddAll(Artist, artistObj.Cast <string>());
                    }

                    Description     = seriesAspect.GetAttributeValue <string>(SeriesAspect.ATTR_DESCRIPTION);
                    LongDescription = Description;
                }
            }

            //Support alternative ways to get album art
            var albumArt = new MediaLibraryAlbumArt(item, Client);

            if (albumArt != null)
            {
                albumArt.Initialise();
                if (Client.Profile.Settings.Thumbnails.Delivery == ThumbnailDelivery.All || Client.Profile.Settings.Thumbnails.Delivery == ThumbnailDelivery.Resource)
                {
                    var albumResource = new MediaLibraryAlbumArtResource(albumArt);
                    albumResource.Initialise();
                    Resources.Add(albumResource);
                }
                if (Client.Profile.Settings.Thumbnails.Delivery == ThumbnailDelivery.All || Client.Profile.Settings.Thumbnails.Delivery == ThumbnailDelivery.AlbumArt)
                {
                    AlbumArtUrl = albumArt.Uri;
                }
            }
        }
Пример #2
0
        public MediaLibraryItem(string key, MediaItem item, EndPointSettings client)
            : base(key, client)
        {
            MediaItemId = item.MediaItemId;
            SingleMediaItemAspect aspect;

            if (MediaItemAspect.TryGetAspect(item.Aspects, MediaAspect.Metadata, out aspect))
            {
                Title = aspect.GetAttributeValue <string>(MediaAspect.ATTR_TITLE);
            }

            AlbumArtUrls = new List <IDirectoryAlbumArt>();
            var albumArt = new MediaLibraryAlbumArt(item, client);

            albumArt.Initialise();
            AlbumArtUrls.Add(albumArt);
        }
Пример #3
0
        public MediaLibrarySeasonItem(MediaItem item, EndPointSettings client)
            : base(item, NECESSARY_EPISODE_MIA_TYPE_IDS, OPTIONAL_EPISODE_MIA_TYPE_IDS,
                   new RelationshipFilter(EpisodeAspect.ROLE_EPISODE, SeasonAspect.ROLE_SEASON, item.MediaItemId), client)
        {
            Genre       = new List <string>();
            Artist      = new List <string>();
            Contributor = new List <string>();

            if (Client.Profile.Settings.Metadata.Delivery == MetadataDelivery.All)
            {
                SingleMediaItemAspect seriesAspect;
                if (MediaItemAspect.TryGetAspect(item.Aspects, SeasonAspect.Metadata, out seriesAspect))
                {
                    var descriptionObj = seriesAspect.GetAttributeValue(SeasonAspect.ATTR_DESCRIPTION);
                    if (descriptionObj != null)
                    {
                        Description = descriptionObj.ToString();
                    }
                }
            }

            //Support alternative ways to get album art
            var albumArt = new MediaLibraryAlbumArt(item, Client);

            if (albumArt != null)
            {
                albumArt.Initialise();
                if (Client.Profile.Settings.Thumbnails.Delivery == ThumbnailDelivery.All || Client.Profile.Settings.Thumbnails.Delivery == ThumbnailDelivery.Resource)
                {
                    var albumResource = new MediaLibraryAlbumArtResource(albumArt);
                    albumResource.Initialise();
                    Resources.Add(albumResource);
                }
                if (Client.Profile.Settings.Thumbnails.Delivery == ThumbnailDelivery.All || Client.Profile.Settings.Thumbnails.Delivery == ThumbnailDelivery.AlbumArt)
                {
                    AlbumArtUrl = albumArt.Uri;
                }
            }
        }
Пример #4
0
 public MediaLibraryAlbumArtResource(MediaLibraryAlbumArt item)
 {
     Item = item;
 }