소스 검색

support dummied up image a/r's

Luke Pulverenti 8 년 전
부모
커밋
b91f1e4d16

+ 13 - 3
Emby.Server.Implementations/Dto/DtoService.cs

@@ -1396,7 +1396,7 @@ namespace Emby.Server.Implementations.Dto
                             }
                             }
                             catch (Exception ex)
                             catch (Exception ex)
                             {
                             {
-                                
+
                             }
                             }
                         }
                         }
                     }
                     }
@@ -1630,8 +1630,20 @@ namespace Emby.Server.Implementations.Dto
                 return null;
                 return null;
             }
             }
 
 
+            var supportedEnhancers = _imageProcessor.GetSupportedEnhancers(item, ImageType.Primary).ToList();
+
             ImageSize size;
             ImageSize size;
 
 
+            if (supportedEnhancers.Count == 0)
+            {
+                var defaultAspectRatio = item.GetDefaultPrimaryImageAspectRatio();
+
+                if (defaultAspectRatio.HasValue)
+                {
+                    return defaultAspectRatio.Value;
+                }
+            }
+
             try
             try
             {
             {
                 size = _imageProcessor.GetImageSize(imageInfo);
                 size = _imageProcessor.GetImageSize(imageInfo);
@@ -1642,8 +1654,6 @@ namespace Emby.Server.Implementations.Dto
                 return null;
                 return null;
             }
             }
 
 
-            var supportedEnhancers = _imageProcessor.GetSupportedEnhancers(item, ImageType.Primary).ToList();
-
             foreach (var enhancer in supportedEnhancers)
             foreach (var enhancer in supportedEnhancers)
             {
             {
                 try
                 try

+ 5 - 0
MediaBrowser.Controller/Entities/Audio/Audio.cs

@@ -46,6 +46,11 @@ namespace MediaBrowser.Controller.Entities.Audio
             AlbumArtists = new List<string>();
             AlbumArtists = new List<string>();
         }
         }
 
 
+        public override double? GetDefaultPrimaryImageAspectRatio()
+        {
+            return 1;
+        }
+
         [IgnoreDataMember]
         [IgnoreDataMember]
         public override bool SupportsPlayedStatus
         public override bool SupportsPlayedStatus
         {
         {

+ 5 - 0
MediaBrowser.Controller/Entities/Audio/AudioPodcast.cs

@@ -12,5 +12,10 @@ namespace MediaBrowser.Controller.Entities.Audio
                 return true;
                 return true;
             }
             }
         }
         }
+
+        public override double? GetDefaultPrimaryImageAspectRatio()
+        {
+            return null;
+        }
     }
     }
 }
 }

+ 5 - 0
MediaBrowser.Controller/Entities/Audio/MusicAlbum.cs

@@ -119,6 +119,11 @@ namespace MediaBrowser.Controller.Entities.Audio
             return Tracks;
             return Tracks;
         }
         }
 
 
+        public override double? GetDefaultPrimaryImageAspectRatio()
+        {
+            return 1;
+        }
+
         public override List<string> GetUserDataKeys()
         public override List<string> GetUserDataKeys()
         {
         {
             var list = base.GetUserDataKeys();
             var list = base.GetUserDataKeys();

+ 5 - 0
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()
         public override bool CanDelete()
         {
         {
             return !IsAccessedByName;
             return !IsAccessedByName;

+ 5 - 0
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()
         public override bool CanDelete()
         {
         {
             return false;
             return false;

+ 5 - 0
MediaBrowser.Controller/Entities/AudioBook.cs

@@ -47,6 +47,11 @@ namespace MediaBrowser.Controller.Entities
             return SeriesPresentationUniqueKey;
             return SeriesPresentationUniqueKey;
         }
         }
 
 
+        public override double? GetDefaultPrimaryImageAspectRatio()
+        {
+            return null;
+        }
+
         [IgnoreDataMember]
         [IgnoreDataMember]
         public override bool EnableRefreshOnDateModifiedChange
         public override bool EnableRefreshOnDateModifiedChange
         {
         {

+ 5 - 0
MediaBrowser.Controller/Entities/BaseItem.cs

@@ -1260,6 +1260,11 @@ namespace MediaBrowser.Controller.Entities
             get { return null; }
             get { return null; }
         }
         }
 
 
+        public virtual double? GetDefaultPrimaryImageAspectRatio()
+        {
+            return null;
+        }
+
         public virtual string CreatePresentationUniqueKey()
         public virtual string CreatePresentationUniqueKey()
         {
         {
             return Id.ToString("N");
             return Id.ToString("N");

+ 2 - 0
MediaBrowser.Controller/Entities/IHasImages.cs

@@ -204,6 +204,8 @@ namespace MediaBrowser.Controller.Entities
         /// <param name="image">The image.</param>
         /// <param name="image">The image.</param>
         /// <param name="index">The index.</param>
         /// <param name="index">The index.</param>
         void SetImage(ItemImageInfo image, int index);
         void SetImage(ItemImageInfo image, int index);
+
+        double? GetDefaultPrimaryImageAspectRatio();
     }
     }
 
 
     public static class HasImagesExtensions
     public static class HasImagesExtensions

+ 8 - 0
MediaBrowser.Controller/Entities/Movies/BoxSet.cs

@@ -57,6 +57,14 @@ namespace MediaBrowser.Controller.Entities.Movies
             return config.BlockUnratedItems.Contains(UnratedItem.Movie);
             return config.BlockUnratedItems.Contains(UnratedItem.Movie);
         }
         }
 
 
+        public override double? GetDefaultPrimaryImageAspectRatio()
+        {
+            double value = 2;
+            value /= 3;
+
+            return value;
+        }
+
         public override UnratedItem GetBlockUnratedType()
         public override UnratedItem GetBlockUnratedType()
         {
         {
             return UnratedItem.Movie;
             return UnratedItem.Movie;

+ 8 - 0
MediaBrowser.Controller/Entities/Movies/Movie.cs

@@ -70,6 +70,14 @@ namespace MediaBrowser.Controller.Entities.Movies
             set { TmdbCollectionName = value; }
             set { TmdbCollectionName = value; }
         }
         }
 
 
+        public override double? GetDefaultPrimaryImageAspectRatio()
+        {
+            double value = 2;
+            value /= 3;
+
+            return value;
+        }
+
         [IgnoreDataMember]
         [IgnoreDataMember]
         protected override bool SupportsIsInMixedFolderDetection
         protected override bool SupportsIsInMixedFolderDetection
         {
         {

+ 8 - 0
MediaBrowser.Controller/Entities/Person.cs

@@ -38,6 +38,14 @@ namespace MediaBrowser.Controller.Entities
             return GetItemLookupInfo<PersonLookupInfo>();
             return GetItemLookupInfo<PersonLookupInfo>();
         }
         }
 
 
+        public override double? GetDefaultPrimaryImageAspectRatio()
+        {
+            double value = 2;
+            value /= 3;
+
+            return value;
+        }
+
         public IEnumerable<BaseItem> GetTaggedItems(InternalItemsQuery query)
         public IEnumerable<BaseItem> GetTaggedItems(InternalItemsQuery query)
         {
         {
             query.PersonIds = new[] { Id.ToString("N") };
             query.PersonIds = new[] { Id.ToString("N") };

+ 8 - 0
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()
         public override bool CanDelete()
         {
         {
             return false;
             return false;

+ 8 - 0
MediaBrowser.Controller/Entities/TV/Episode.cs

@@ -114,6 +114,14 @@ namespace MediaBrowser.Controller.Entities.TV
             {
             {
                 return false;
                 return false;
             }
             }
+        }
+
+        public override double? GetDefaultPrimaryImageAspectRatio()
+        {
+            double value = 16;
+            value /= 9;
+
+            return value;
         }
         }
 
 
         public override List<string> GetUserDataKeys()
         public override List<string> GetUserDataKeys()

+ 8 - 0
MediaBrowser.Controller/Entities/TV/Season.cs

@@ -54,6 +54,14 @@ namespace MediaBrowser.Controller.Entities.TV
         [IgnoreDataMember]
         [IgnoreDataMember]
         public string SeriesSortName { get; set; }
         public string SeriesSortName { get; set; }
 
 
+        public override double? GetDefaultPrimaryImageAspectRatio()
+        {
+            double value = 2;
+            value /= 3;
+
+            return value;
+        }
+
         public string FindSeriesSortName()
         public string FindSeriesSortName()
         {
         {
             var series = Series;
             var series = Series;

+ 8 - 0
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()
         public override string CreatePresentationUniqueKey()
         {
         {
             if (LibraryManager.GetLibraryOptions(this).EnableAutomaticSeriesGrouping)
             if (LibraryManager.GetLibraryOptions(this).EnableAutomaticSeriesGrouping)

+ 8 - 0
MediaBrowser.Controller/Entities/Trailer.cs

@@ -29,6 +29,14 @@ namespace MediaBrowser.Controller.Entities
             get { return TrailerTypes.Contains(TrailerType.LocalTrailer); }
             get { return TrailerTypes.Contains(TrailerType.LocalTrailer); }
         }
         }
 
 
+        public override double? GetDefaultPrimaryImageAspectRatio()
+        {
+            double value = 2;
+            value /= 3;
+
+            return value;
+        }
+
         public override UnratedItem GetBlockUnratedType()
         public override UnratedItem GetBlockUnratedType()
         {
         {
             return UnratedItem.Trailer;
             return UnratedItem.Trailer;

+ 5 - 0
MediaBrowser.Controller/LiveTv/LiveTvAudioRecording.cs

@@ -91,6 +91,11 @@ namespace MediaBrowser.Controller.LiveTv
             }
             }
         }
         }
 
 
+        public override double? GetDefaultPrimaryImageAspectRatio()
+        {
+            return null;
+        }
+
         public override string GetClientTypeName()
         public override string GetClientTypeName()
         {
         {
             return "Recording";
             return "Recording";

+ 5 - 0
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)
         public override bool IsAuthorizedToDelete(User user)
         {
         {
             return true;
             return true;

+ 5 - 1
MediaBrowser.Model/Net/MimeTypes.cs

@@ -243,7 +243,11 @@ namespace MediaBrowser.Model.Net
 			if (StringHelper.EqualsIgnoreCase(ext, ".opus"))
 			if (StringHelper.EqualsIgnoreCase(ext, ".opus"))
 			{
 			{
 				return "audio/ogg";
 				return "audio/ogg";
-			}
+            }
+            if (StringHelper.EqualsIgnoreCase(ext, ".ac3"))
+            {
+                return "audio/ac3";
+            }
 
 
             // Playlists
             // Playlists
             if (StringHelper.EqualsIgnoreCase(ext, ".m3u8"))
             if (StringHelper.EqualsIgnoreCase(ext, ".m3u8"))

+ 2 - 2
MediaBrowser.Providers/TV/TheTVDB/TvdbEpisodeProvider.cs

@@ -742,7 +742,7 @@ namespace MediaBrowser.Providers.TV
                                     {
                                     {
                                         if (!item.LockedFields.Contains(MetadataFields.Cast))
                                         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))
                                         if (!item.LockedFields.Contains(MetadataFields.Cast))
                                         {
                                         {
-                                            AddPeople(result, val, PersonType.Writer);
+                                            //AddPeople(result, val, PersonType.Writer);
                                         }
                                         }
                                     }
                                     }