From 900714c866a764e76ca4d6fb0d11833addc953b4 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Thu, 10 Aug 2017 16:06:36 -0400 Subject: [PATCH] consolidate fields --- Emby.Dlna/PlayTo/Device.cs | 42 +++++++------- Emby.Server.Implementations/Dto/DtoService.cs | 45 +++------------ .../Session/SessionManager.cs | 1 - MediaBrowser.Api/ItemUpdateService.cs | 7 --- .../Configuration/ServerConfiguration.cs | 7 ++- MediaBrowser.Model/Dto/BaseItemDto.cs | 56 +------------------ MediaBrowser.Model/Dto/StudioDto.cs | 29 ---------- MediaBrowser.Model/MediaBrowser.Model.csproj | 1 - MediaBrowser.Model/Querying/ItemFields.cs | 5 -- 9 files changed, 34 insertions(+), 159 deletions(-) delete mode 100644 MediaBrowser.Model/Dto/StudioDto.cs diff --git a/Emby.Dlna/PlayTo/Device.cs b/Emby.Dlna/PlayTo/Device.cs index ff493e365e..213e7367f0 100644 --- a/Emby.Dlna/PlayTo/Device.cs +++ b/Emby.Dlna/PlayTo/Device.cs @@ -113,7 +113,7 @@ namespace Emby.Dlna.PlayTo private int GetInactiveTimerIntervalMs() { - return 30000; + return Timeout.Infinite; } public void Start() @@ -161,18 +161,15 @@ namespace Emby.Dlna.PlayTo if (_disposed) return; - if (!_timerActive) + lock (_timerLock) { - lock (_timerLock) + if (!_timerActive) { - if (!_timerActive) - { - _logger.Debug("RestartTimer"); - _timer.Change(10, GetPlaybackTimerIntervalMs()); - } - - _timerActive = true; + _logger.Debug("RestartTimer"); + _timer.Change(10, GetPlaybackTimerIntervalMs()); } + + _timerActive = true; } } @@ -184,23 +181,20 @@ namespace Emby.Dlna.PlayTo if (_disposed) return; - if (_timerActive) + lock (_timerLock) { - lock (_timerLock) + if (_timerActive) { - if (_timerActive) - { - _logger.Debug("RestartTimerInactive"); - var interval = GetInactiveTimerIntervalMs(); + _logger.Debug("RestartTimerInactive"); + var interval = GetInactiveTimerIntervalMs(); - if (_timer != null) - { - _timer.Change(interval, interval); - } + if (_timer != null) + { + _timer.Change(interval, interval); } - - _timerActive = false; } + + _timerActive = false; } } @@ -493,6 +487,10 @@ namespace Emby.Dlna.PlayTo RestartTimer(); } } + else + { + RestartTimerInactive(); + } } catch (HttpException ex) { diff --git a/Emby.Server.Implementations/Dto/DtoService.cs b/Emby.Server.Implementations/Dto/DtoService.cs index bf70cc19b4..1fab23b328 100644 --- a/Emby.Server.Implementations/Dto/DtoService.cs +++ b/Emby.Server.Implementations/Dto/DtoService.cs @@ -639,7 +639,6 @@ namespace Emby.Server.Implementations.Dto private void SetGameProperties(BaseItemDto dto, Game item) { - dto.Players = item.PlayersSupported; dto.GameSystem = item.GameSystem; dto.MultiPartGameFiles = item.MultiPartGameFiles; } @@ -1310,15 +1309,6 @@ namespace Emby.Server.Implementations.Dto Series episodeSeries = null; - if (fields.Contains(ItemFields.SeriesGenres)) - { - episodeSeries = episodeSeries ?? episode.Series; - if (episodeSeries != null) - { - dto.SeriesGenres = episodeSeries.Genres.ToList(); - } - } - //if (fields.Contains(ItemFields.SeriesPrimaryImage)) { episodeSeries = episodeSeries ?? episode.Series; @@ -1334,27 +1324,6 @@ namespace Emby.Server.Implementations.Dto if (episodeSeries != null) { dto.SeriesStudio = episodeSeries.Studios.FirstOrDefault(); - if (!string.IsNullOrWhiteSpace(dto.SeriesStudio)) - { - try - { - var studio = _libraryManager.GetStudio(dto.SeriesStudio); - - if (studio != null) - { - dto.SeriesStudioInfo = new StudioDto - { - Name = dto.SeriesStudio, - Id = studio.Id.ToString("N"), - PrimaryImageTag = GetImageCacheTag(studio, ImageType.Primary) - }; - } - } - catch (Exception ex) - { - - } - } } } } @@ -1363,7 +1332,7 @@ namespace Emby.Server.Implementations.Dto var series = item as Series; if (series != null) { - dto.AirDays = series.AirDays; + dto.AirDays = series.AirDays.ToArray(); dto.AirTime = series.AirTime; dto.Status = series.Status.HasValue ? series.Status.Value.ToString() : null; } @@ -1498,7 +1467,9 @@ namespace Emby.Server.Implementations.Dto BaseItem parent = null; var isFirst = true; - while (((!dto.HasLogo && logoLimit > 0) || (!dto.HasArtImage && artLimit > 0) || (!dto.HasThumb && thumbLimit > 0) || parent is Series) && + var imageTags = dto.ImageTags; + + while (((!(imageTags != null && imageTags.ContainsKey(ImageType.Logo)) && logoLimit > 0) || (!(imageTags != null && imageTags.ContainsKey(ImageType.Art)) && artLimit > 0) || (!(imageTags != null && imageTags.ContainsKey(ImageType.Thumb)) && thumbLimit > 0) || parent is Series) && (parent = parent ?? (isFirst ? GetImageDisplayParent(item, item) ?? owner : parent)) != null) { if (parent == null) @@ -1508,7 +1479,7 @@ namespace Emby.Server.Implementations.Dto var allImages = parent.ImageInfos; - if (logoLimit > 0 && !dto.HasLogo && dto.ParentLogoItemId == null) + if (logoLimit > 0 && !(imageTags != null && imageTags.ContainsKey(ImageType.Logo)) && dto.ParentLogoItemId == null) { var image = allImages.FirstOrDefault(i => i.Type == ImageType.Logo); @@ -1518,7 +1489,7 @@ namespace Emby.Server.Implementations.Dto dto.ParentLogoImageTag = GetImageCacheTag(parent, image); } } - if (artLimit > 0 && !dto.HasArtImage && dto.ParentArtItemId == null) + if (artLimit > 0 && !(imageTags != null && imageTags.ContainsKey(ImageType.Art)) && dto.ParentArtItemId == null) { var image = allImages.FirstOrDefault(i => i.Type == ImageType.Art); @@ -1528,7 +1499,7 @@ namespace Emby.Server.Implementations.Dto dto.ParentArtImageTag = GetImageCacheTag(parent, image); } } - if (thumbLimit > 0 && !dto.HasThumb && (dto.ParentThumbItemId == null || parent is Series) && !(parent is ICollectionFolder) && !(parent is UserView)) + if (thumbLimit > 0 && !(imageTags != null && imageTags.ContainsKey(ImageType.Thumb)) && (dto.ParentThumbItemId == null || parent is Series) && !(parent is ICollectionFolder) && !(parent is UserView)) { var image = allImages.FirstOrDefault(i => i.Type == ImageType.Thumb); @@ -1538,7 +1509,7 @@ namespace Emby.Server.Implementations.Dto dto.ParentThumbImageTag = GetImageCacheTag(parent, image); } } - if (backdropLimit > 0 && !dto.HasBackdrop) + if (backdropLimit > 0 && !((dto.BackdropImageTags != null && dto.BackdropImageTags.Length > 0) || (dto.ParentBackdropImageTags != null && dto.ParentBackdropImageTags.Length > 0))) { var images = allImages.Where(i => i.Type == ImageType.Backdrop).Take(backdropLimit).ToList(); diff --git a/Emby.Server.Implementations/Session/SessionManager.cs b/Emby.Server.Implementations/Session/SessionManager.cs index 0b39cfc477..9a1a229c59 100644 --- a/Emby.Server.Implementations/Session/SessionManager.cs +++ b/Emby.Server.Implementations/Session/SessionManager.cs @@ -1686,7 +1686,6 @@ namespace Emby.Server.Implementations.Session dtoOptions.Fields.Remove(ItemFields.RecursiveItemCount); dtoOptions.Fields.Remove(ItemFields.RemoteTrailers); dtoOptions.Fields.Remove(ItemFields.SeasonUserData); - dtoOptions.Fields.Remove(ItemFields.SeriesGenres); dtoOptions.Fields.Remove(ItemFields.Settings); dtoOptions.Fields.Remove(ItemFields.SortName); dtoOptions.Fields.Remove(ItemFields.Tags); diff --git a/MediaBrowser.Api/ItemUpdateService.cs b/MediaBrowser.Api/ItemUpdateService.cs index 68b30ec1e2..4b4520e8dc 100644 --- a/MediaBrowser.Api/ItemUpdateService.cs +++ b/MediaBrowser.Api/ItemUpdateService.cs @@ -332,13 +332,6 @@ namespace MediaBrowser.Api video.Video3DFormat = request.Video3DFormat; } - var game = item as Game; - - if (game != null) - { - game.PlayersSupported = request.Players; - } - if (request.AlbumArtists != null) { var hasAlbumArtists = item as IHasAlbumArtist; diff --git a/MediaBrowser.Model/Configuration/ServerConfiguration.cs b/MediaBrowser.Model/Configuration/ServerConfiguration.cs index a570f7b10c..5bbd7c4da3 100644 --- a/MediaBrowser.Model/Configuration/ServerConfiguration.cs +++ b/MediaBrowser.Model/Configuration/ServerConfiguration.cs @@ -349,7 +349,9 @@ namespace MediaBrowser.Model.Configuration Limit = 1, Type = ImageType.Logo } - } + }, + + DisabledImageFetchers = new [] {"FanArt"} }, new MetadataOptions(1, 1280) @@ -539,7 +541,8 @@ namespace MediaBrowser.Model.Configuration Type = ImageType.Thumb } }, - DisabledMetadataFetchers = new []{ "TheMovieDb" } + DisabledMetadataFetchers = new []{ "TheMovieDb" }, + DisabledImageFetchers = new [] { "FanArt" } }, new MetadataOptions(0, 1280) diff --git a/MediaBrowser.Model/Dto/BaseItemDto.cs b/MediaBrowser.Model/Dto/BaseItemDto.cs index e5cc22c5fb..0fbb0a45e7 100644 --- a/MediaBrowser.Model/Dto/BaseItemDto.cs +++ b/MediaBrowser.Model/Dto/BaseItemDto.cs @@ -209,12 +209,6 @@ namespace MediaBrowser.Model.Dto /// The genres. public List Genres { get; set; } - /// - /// Gets or sets the series genres. - /// - /// The series genres. - public List SeriesGenres { get; set; } - /// /// Gets or sets the community rating. /// @@ -257,12 +251,6 @@ namespace MediaBrowser.Model.Dto /// The production year. public int? ProductionYear { get; set; } - /// - /// Gets or sets the players supported by a game. - /// - /// The players. - public int? Players { get; set; } - /// /// Gets or sets a value indicating whether this instance is place holder. /// @@ -432,7 +420,7 @@ namespace MediaBrowser.Model.Dto /// Gets or sets the air days. /// /// The air days. - public List AirDays { get; set; } + public DayOfWeek[] AirDays { get; set; } /// /// Gets or sets the tags. @@ -598,8 +586,6 @@ namespace MediaBrowser.Model.Dto /// The series studio. public string SeriesStudio { get; set; } - public StudioDto SeriesStudioInfo { get; set; } - /// /// Gets or sets the parent thumb item id. /// @@ -741,46 +727,6 @@ namespace MediaBrowser.Model.Dto /// The series timer identifier. public string SeriesTimerId { get; set; } - /// - /// Gets a value indicating whether this instance has art. - /// - /// true if this instance has art; otherwise, false. - [IgnoreDataMember] - public bool HasArtImage - { - get { return ImageTags != null && ImageTags.ContainsKey(ImageType.Art); } - } - - /// - /// Gets a value indicating whether this instance has logo. - /// - /// true if this instance has logo; otherwise, false. - [IgnoreDataMember] - public bool HasLogo - { - get { return ImageTags != null && ImageTags.ContainsKey(ImageType.Logo); } - } - - /// - /// Gets a value indicating whether this instance has thumb. - /// - /// true if this instance has thumb; otherwise, false. - [IgnoreDataMember] - public bool HasThumb - { - get { return ImageTags != null && ImageTags.ContainsKey(ImageType.Thumb); } - } - - /// - /// Gets a value indicating whether this instance has thumb. - /// - /// true if this instance has thumb; otherwise, false. - [IgnoreDataMember] - public bool HasBackdrop - { - get { return (BackdropImageTags != null && BackdropImageTags.Length > 0) || (ParentBackdropImageTags != null && ParentBackdropImageTags.Length > 0); } - } - /// /// Gets or sets the program identifier. /// diff --git a/MediaBrowser.Model/Dto/StudioDto.cs b/MediaBrowser.Model/Dto/StudioDto.cs deleted file mode 100644 index 10dc606997..0000000000 --- a/MediaBrowser.Model/Dto/StudioDto.cs +++ /dev/null @@ -1,29 +0,0 @@ -using System.Diagnostics; - -namespace MediaBrowser.Model.Dto -{ - /// - /// Class StudioDto - /// - [DebuggerDisplay("Name = {Name}")] - public class StudioDto - { - /// - /// Gets or sets the name. - /// - /// The name. - public string Name { get; set; } - - /// - /// Gets or sets the identifier. - /// - /// The identifier. - public string Id { get; set; } - - /// - /// Gets or sets the primary image tag. - /// - /// The primary image tag. - public string PrimaryImageTag { get; set; } - } -} \ No newline at end of file diff --git a/MediaBrowser.Model/MediaBrowser.Model.csproj b/MediaBrowser.Model/MediaBrowser.Model.csproj index 249e970dd4..547baee663 100644 --- a/MediaBrowser.Model/MediaBrowser.Model.csproj +++ b/MediaBrowser.Model/MediaBrowser.Model.csproj @@ -284,7 +284,6 @@ - diff --git a/MediaBrowser.Model/Querying/ItemFields.cs b/MediaBrowser.Model/Querying/ItemFields.cs index a294e4a3a8..6cc6ba329f 100644 --- a/MediaBrowser.Model/Querying/ItemFields.cs +++ b/MediaBrowser.Model/Querying/ItemFields.cs @@ -153,11 +153,6 @@ /// ScreenshotImageTags, - /// - /// The series genres - /// - SeriesGenres, - SeriesPrimaryImage, ///