From b91f1e4d16299e5f861c037bf449e5718140d82c Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Fri, 10 Feb 2017 15:06:52 -0500 Subject: [PATCH] support dummied up image a/r's --- Emby.Server.Implementations/Dto/DtoService.cs | 16 +++++++++++++--- MediaBrowser.Controller/Entities/Audio/Audio.cs | 5 +++++ .../Entities/Audio/AudioPodcast.cs | 5 +++++ .../Entities/Audio/MusicAlbum.cs | 5 +++++ .../Entities/Audio/MusicArtist.cs | 5 +++++ .../Entities/Audio/MusicGenre.cs | 5 +++++ MediaBrowser.Controller/Entities/AudioBook.cs | 5 +++++ MediaBrowser.Controller/Entities/BaseItem.cs | 5 +++++ MediaBrowser.Controller/Entities/IHasImages.cs | 2 ++ .../Entities/Movies/BoxSet.cs | 8 ++++++++ MediaBrowser.Controller/Entities/Movies/Movie.cs | 8 ++++++++ MediaBrowser.Controller/Entities/Person.cs | 8 ++++++++ MediaBrowser.Controller/Entities/Studio.cs | 8 ++++++++ MediaBrowser.Controller/Entities/TV/Episode.cs | 8 ++++++++ MediaBrowser.Controller/Entities/TV/Season.cs | 8 ++++++++ MediaBrowser.Controller/Entities/TV/Series.cs | 8 ++++++++ MediaBrowser.Controller/Entities/Trailer.cs | 8 ++++++++ .../LiveTv/LiveTvAudioRecording.cs | 5 +++++ MediaBrowser.Controller/Playlists/Playlist.cs | 5 +++++ MediaBrowser.Model/Net/MimeTypes.cs | 6 +++++- .../TV/TheTVDB/TvdbEpisodeProvider.cs | 4 ++-- 21 files changed, 131 insertions(+), 6 deletions(-) diff --git a/Emby.Server.Implementations/Dto/DtoService.cs b/Emby.Server.Implementations/Dto/DtoService.cs index 9c50ad5dac..c2cefe754d 100644 --- a/Emby.Server.Implementations/Dto/DtoService.cs +++ b/Emby.Server.Implementations/Dto/DtoService.cs @@ -1396,7 +1396,7 @@ namespace Emby.Server.Implementations.Dto } catch (Exception ex) { - + } } } @@ -1630,8 +1630,20 @@ namespace Emby.Server.Implementations.Dto return null; } + var supportedEnhancers = _imageProcessor.GetSupportedEnhancers(item, ImageType.Primary).ToList(); + ImageSize size; + if (supportedEnhancers.Count == 0) + { + var defaultAspectRatio = item.GetDefaultPrimaryImageAspectRatio(); + + if (defaultAspectRatio.HasValue) + { + return defaultAspectRatio.Value; + } + } + try { size = _imageProcessor.GetImageSize(imageInfo); @@ -1642,8 +1654,6 @@ namespace Emby.Server.Implementations.Dto return null; } - var supportedEnhancers = _imageProcessor.GetSupportedEnhancers(item, ImageType.Primary).ToList(); - foreach (var enhancer in supportedEnhancers) { try diff --git a/MediaBrowser.Controller/Entities/Audio/Audio.cs b/MediaBrowser.Controller/Entities/Audio/Audio.cs index 4cc6a7c7e9..59b5a38692 100644 --- a/MediaBrowser.Controller/Entities/Audio/Audio.cs +++ b/MediaBrowser.Controller/Entities/Audio/Audio.cs @@ -46,6 +46,11 @@ namespace MediaBrowser.Controller.Entities.Audio AlbumArtists = new List(); } + public override double? GetDefaultPrimaryImageAspectRatio() + { + return 1; + } + [IgnoreDataMember] public override bool SupportsPlayedStatus { diff --git a/MediaBrowser.Controller/Entities/Audio/AudioPodcast.cs b/MediaBrowser.Controller/Entities/Audio/AudioPodcast.cs index 8c820d3677..cdb6f3f619 100644 --- a/MediaBrowser.Controller/Entities/Audio/AudioPodcast.cs +++ b/MediaBrowser.Controller/Entities/Audio/AudioPodcast.cs @@ -12,5 +12,10 @@ namespace MediaBrowser.Controller.Entities.Audio return true; } } + + public override double? GetDefaultPrimaryImageAspectRatio() + { + return null; + } } } diff --git a/MediaBrowser.Controller/Entities/Audio/MusicAlbum.cs b/MediaBrowser.Controller/Entities/Audio/MusicAlbum.cs index ffdbba6f2e..6ad38033a4 100644 --- a/MediaBrowser.Controller/Entities/Audio/MusicAlbum.cs +++ b/MediaBrowser.Controller/Entities/Audio/MusicAlbum.cs @@ -119,6 +119,11 @@ namespace MediaBrowser.Controller.Entities.Audio return Tracks; } + public override double? GetDefaultPrimaryImageAspectRatio() + { + return 1; + } + public override List GetUserDataKeys() { var list = base.GetUserDataKeys(); diff --git a/MediaBrowser.Controller/Entities/Audio/MusicArtist.cs b/MediaBrowser.Controller/Entities/Audio/MusicArtist.cs index 37631bbe8a..20b2529c06 100644 --- a/MediaBrowser.Controller/Entities/Audio/MusicArtist.cs +++ b/MediaBrowser.Controller/Entities/Audio/MusicArtist.cs @@ -68,6 +68,11 @@ namespace MediaBrowser.Controller.Entities.Audio } } + public override double? GetDefaultPrimaryImageAspectRatio() + { + return 1; + } + public override bool CanDelete() { return !IsAccessedByName; diff --git a/MediaBrowser.Controller/Entities/Audio/MusicGenre.cs b/MediaBrowser.Controller/Entities/Audio/MusicGenre.cs index bbe1a54a49..74679b4741 100644 --- a/MediaBrowser.Controller/Entities/Audio/MusicGenre.cs +++ b/MediaBrowser.Controller/Entities/Audio/MusicGenre.cs @@ -63,6 +63,11 @@ namespace MediaBrowser.Controller.Entities.Audio } } + public override double? GetDefaultPrimaryImageAspectRatio() + { + return 1; + } + public override bool CanDelete() { return false; diff --git a/MediaBrowser.Controller/Entities/AudioBook.cs b/MediaBrowser.Controller/Entities/AudioBook.cs index c15cae8b13..8b1c338f16 100644 --- a/MediaBrowser.Controller/Entities/AudioBook.cs +++ b/MediaBrowser.Controller/Entities/AudioBook.cs @@ -47,6 +47,11 @@ namespace MediaBrowser.Controller.Entities return SeriesPresentationUniqueKey; } + public override double? GetDefaultPrimaryImageAspectRatio() + { + return null; + } + [IgnoreDataMember] public override bool EnableRefreshOnDateModifiedChange { diff --git a/MediaBrowser.Controller/Entities/BaseItem.cs b/MediaBrowser.Controller/Entities/BaseItem.cs index cab7588f09..0efb7ade8a 100644 --- a/MediaBrowser.Controller/Entities/BaseItem.cs +++ b/MediaBrowser.Controller/Entities/BaseItem.cs @@ -1260,6 +1260,11 @@ namespace MediaBrowser.Controller.Entities get { return null; } } + public virtual double? GetDefaultPrimaryImageAspectRatio() + { + return null; + } + public virtual string CreatePresentationUniqueKey() { return Id.ToString("N"); diff --git a/MediaBrowser.Controller/Entities/IHasImages.cs b/MediaBrowser.Controller/Entities/IHasImages.cs index 888e2080de..4c033dc008 100644 --- a/MediaBrowser.Controller/Entities/IHasImages.cs +++ b/MediaBrowser.Controller/Entities/IHasImages.cs @@ -204,6 +204,8 @@ namespace MediaBrowser.Controller.Entities /// The image. /// The index. void SetImage(ItemImageInfo image, int index); + + double? GetDefaultPrimaryImageAspectRatio(); } public static class HasImagesExtensions diff --git a/MediaBrowser.Controller/Entities/Movies/BoxSet.cs b/MediaBrowser.Controller/Entities/Movies/BoxSet.cs index 3e6c88a85d..030831717a 100644 --- a/MediaBrowser.Controller/Entities/Movies/BoxSet.cs +++ b/MediaBrowser.Controller/Entities/Movies/BoxSet.cs @@ -57,6 +57,14 @@ namespace MediaBrowser.Controller.Entities.Movies return config.BlockUnratedItems.Contains(UnratedItem.Movie); } + public override double? GetDefaultPrimaryImageAspectRatio() + { + double value = 2; + value /= 3; + + return value; + } + public override UnratedItem GetBlockUnratedType() { return UnratedItem.Movie; diff --git a/MediaBrowser.Controller/Entities/Movies/Movie.cs b/MediaBrowser.Controller/Entities/Movies/Movie.cs index ec04879b54..de465b2f57 100644 --- a/MediaBrowser.Controller/Entities/Movies/Movie.cs +++ b/MediaBrowser.Controller/Entities/Movies/Movie.cs @@ -70,6 +70,14 @@ namespace MediaBrowser.Controller.Entities.Movies set { TmdbCollectionName = value; } } + public override double? GetDefaultPrimaryImageAspectRatio() + { + double value = 2; + value /= 3; + + return value; + } + [IgnoreDataMember] protected override bool SupportsIsInMixedFolderDetection { diff --git a/MediaBrowser.Controller/Entities/Person.cs b/MediaBrowser.Controller/Entities/Person.cs index 0c36442af3..ee1aea9387 100644 --- a/MediaBrowser.Controller/Entities/Person.cs +++ b/MediaBrowser.Controller/Entities/Person.cs @@ -38,6 +38,14 @@ namespace MediaBrowser.Controller.Entities return GetItemLookupInfo(); } + public override double? GetDefaultPrimaryImageAspectRatio() + { + double value = 2; + value /= 3; + + return value; + } + public IEnumerable GetTaggedItems(InternalItemsQuery query) { query.PersonIds = new[] { Id.ToString("N") }; diff --git a/MediaBrowser.Controller/Entities/Studio.cs b/MediaBrowser.Controller/Entities/Studio.cs index dbd9d1cef4..b8ad691a92 100644 --- a/MediaBrowser.Controller/Entities/Studio.cs +++ b/MediaBrowser.Controller/Entities/Studio.cs @@ -57,6 +57,14 @@ namespace MediaBrowser.Controller.Entities } } + public override double? GetDefaultPrimaryImageAspectRatio() + { + double value = 16; + value /= 9; + + return value; + } + public override bool CanDelete() { return false; diff --git a/MediaBrowser.Controller/Entities/TV/Episode.cs b/MediaBrowser.Controller/Entities/TV/Episode.cs index e6ebcb7fd9..d2ea8d315f 100644 --- a/MediaBrowser.Controller/Entities/TV/Episode.cs +++ b/MediaBrowser.Controller/Entities/TV/Episode.cs @@ -114,6 +114,14 @@ namespace MediaBrowser.Controller.Entities.TV { return false; } + } + + public override double? GetDefaultPrimaryImageAspectRatio() + { + double value = 16; + value /= 9; + + return value; } public override List GetUserDataKeys() diff --git a/MediaBrowser.Controller/Entities/TV/Season.cs b/MediaBrowser.Controller/Entities/TV/Season.cs index f2a6586e2f..2ff7e4ce59 100644 --- a/MediaBrowser.Controller/Entities/TV/Season.cs +++ b/MediaBrowser.Controller/Entities/TV/Season.cs @@ -54,6 +54,14 @@ namespace MediaBrowser.Controller.Entities.TV [IgnoreDataMember] public string SeriesSortName { get; set; } + public override double? GetDefaultPrimaryImageAspectRatio() + { + double value = 2; + value /= 3; + + return value; + } + public string FindSeriesSortName() { var series = Series; diff --git a/MediaBrowser.Controller/Entities/TV/Series.cs b/MediaBrowser.Controller/Entities/TV/Series.cs index eea11b167e..9388160bdf 100644 --- a/MediaBrowser.Controller/Entities/TV/Series.cs +++ b/MediaBrowser.Controller/Entities/TV/Series.cs @@ -93,6 +93,14 @@ namespace MediaBrowser.Controller.Entities.TV } } + public override double? GetDefaultPrimaryImageAspectRatio() + { + double value = 2; + value /= 3; + + return value; + } + public override string CreatePresentationUniqueKey() { if (LibraryManager.GetLibraryOptions(this).EnableAutomaticSeriesGrouping) diff --git a/MediaBrowser.Controller/Entities/Trailer.cs b/MediaBrowser.Controller/Entities/Trailer.cs index dd6d8a999f..b4a142a8e5 100644 --- a/MediaBrowser.Controller/Entities/Trailer.cs +++ b/MediaBrowser.Controller/Entities/Trailer.cs @@ -29,6 +29,14 @@ namespace MediaBrowser.Controller.Entities get { return TrailerTypes.Contains(TrailerType.LocalTrailer); } } + public override double? GetDefaultPrimaryImageAspectRatio() + { + double value = 2; + value /= 3; + + return value; + } + public override UnratedItem GetBlockUnratedType() { return UnratedItem.Trailer; diff --git a/MediaBrowser.Controller/LiveTv/LiveTvAudioRecording.cs b/MediaBrowser.Controller/LiveTv/LiveTvAudioRecording.cs index e67fc57594..8501f15809 100644 --- a/MediaBrowser.Controller/LiveTv/LiveTvAudioRecording.cs +++ b/MediaBrowser.Controller/LiveTv/LiveTvAudioRecording.cs @@ -91,6 +91,11 @@ namespace MediaBrowser.Controller.LiveTv } } + public override double? GetDefaultPrimaryImageAspectRatio() + { + return null; + } + public override string GetClientTypeName() { return "Recording"; diff --git a/MediaBrowser.Controller/Playlists/Playlist.cs b/MediaBrowser.Controller/Playlists/Playlist.cs index 9087a6e1d0..0eb4353759 100644 --- a/MediaBrowser.Controller/Playlists/Playlist.cs +++ b/MediaBrowser.Controller/Playlists/Playlist.cs @@ -58,6 +58,11 @@ namespace MediaBrowser.Controller.Playlists } } + public override double? GetDefaultPrimaryImageAspectRatio() + { + return 1; + } + public override bool IsAuthorizedToDelete(User user) { return true; diff --git a/MediaBrowser.Model/Net/MimeTypes.cs b/MediaBrowser.Model/Net/MimeTypes.cs index 2c059c8600..902253e806 100644 --- a/MediaBrowser.Model/Net/MimeTypes.cs +++ b/MediaBrowser.Model/Net/MimeTypes.cs @@ -243,7 +243,11 @@ namespace MediaBrowser.Model.Net if (StringHelper.EqualsIgnoreCase(ext, ".opus")) { return "audio/ogg"; - } + } + if (StringHelper.EqualsIgnoreCase(ext, ".ac3")) + { + return "audio/ac3"; + } // Playlists if (StringHelper.EqualsIgnoreCase(ext, ".m3u8")) diff --git a/MediaBrowser.Providers/TV/TheTVDB/TvdbEpisodeProvider.cs b/MediaBrowser.Providers/TV/TheTVDB/TvdbEpisodeProvider.cs index 99136cd858..46be614863 100644 --- a/MediaBrowser.Providers/TV/TheTVDB/TvdbEpisodeProvider.cs +++ b/MediaBrowser.Providers/TV/TheTVDB/TvdbEpisodeProvider.cs @@ -742,7 +742,7 @@ namespace MediaBrowser.Providers.TV { if (!item.LockedFields.Contains(MetadataFields.Cast)) { - AddPeople(result, val, PersonType.Writer); + //AddPeople(result, val, PersonType.Writer); } } @@ -894,7 +894,7 @@ namespace MediaBrowser.Providers.TV { if (!item.LockedFields.Contains(MetadataFields.Cast)) { - AddPeople(result, val, PersonType.Writer); + //AddPeople(result, val, PersonType.Writer); } }