diff --git a/Emby.Dlna/ContentDirectory/ControlHandler.cs b/Emby.Dlna/ContentDirectory/ControlHandler.cs index 4be2dc945c..96b282d04b 100644 --- a/Emby.Dlna/ContentDirectory/ControlHandler.cs +++ b/Emby.Dlna/ContentDirectory/ControlHandler.cs @@ -536,8 +536,8 @@ namespace Emby.Dlna.ContentDirectory Limit = limit, StartIndex = startIndex, User = user, - IsMissing = false, - PresetViews = new[] { CollectionType.Movies, CollectionType.TvShows }, + IsVirtualItem = false, + PresetViews = new string[] { }, ExcludeItemTypes = new[] { typeof(Game).Name, typeof(Book).Name }, IsPlaceHolder = false, DtoOptions = GetDtoOptions() @@ -1129,7 +1129,7 @@ namespace Emby.Dlna.ContentDirectory Limit = 50, IncludeItemTypes = new[] { typeof(Episode).Name }, ParentId = parent == null ? null : parent.Id.ToString("N"), - GroupItems = true + GroupItems = false }, query.DtoOptions).Select(i => i.Item1 ?? i.Item2.FirstOrDefault()).Where(i => i != null).ToList(); diff --git a/Emby.Server.Implementations/Data/SqliteItemRepository.cs b/Emby.Server.Implementations/Data/SqliteItemRepository.cs index e8a9b2eaa5..c468da1e0c 100644 --- a/Emby.Server.Implementations/Data/SqliteItemRepository.cs +++ b/Emby.Server.Implementations/Data/SqliteItemRepository.cs @@ -4275,12 +4275,13 @@ namespace Emby.Server.Implementations.Data whereClauses.Add("ProductionYear in (" + val + ")"); } - if (query.IsVirtualItem.HasValue) + var isVirtualItem = query.IsVirtualItem ?? query.IsMissing; + if (isVirtualItem.HasValue) { whereClauses.Add("IsVirtualItem=@IsVirtualItem"); if (statement != null) { - statement.TryBind("@IsVirtualItem", query.IsVirtualItem.Value); + statement.TryBind("@IsVirtualItem", isVirtualItem.Value); } } if (query.IsSpecialSeason.HasValue) @@ -4305,28 +4306,6 @@ namespace Emby.Server.Implementations.Data whereClauses.Add("PremiereDate < DATETIME('now')"); } } - if (query.IsMissing.HasValue) - { - if (query.IsMissing.Value) - { - whereClauses.Add("(IsVirtualItem=1 AND PremiereDate < DATETIME('now'))"); - } - else - { - whereClauses.Add("(IsVirtualItem=0 OR PremiereDate >= DATETIME('now'))"); - } - } - if (query.IsVirtualUnaired.HasValue) - { - if (query.IsVirtualUnaired.Value) - { - whereClauses.Add("(IsVirtualItem=1 AND PremiereDate >= DATETIME('now'))"); - } - else - { - whereClauses.Add("(IsVirtualItem=0 OR PremiereDate < DATETIME('now'))"); - } - } var queryMediaTypes = query.MediaTypes.Where(IsValidMediaType).ToArray(); if (queryMediaTypes.Length == 1) { diff --git a/MediaBrowser.Api/Reports/ReportsService.cs b/MediaBrowser.Api/Reports/ReportsService.cs index d4201e73c4..76d282990b 100644 --- a/MediaBrowser.Api/Reports/ReportsService.cs +++ b/MediaBrowser.Api/Reports/ReportsService.cs @@ -183,7 +183,6 @@ namespace MediaBrowser.Api.Reports Limit = request.Limit, StartIndex = request.StartIndex, IsMissing = request.IsMissing, - IsVirtualUnaired = request.IsVirtualUnaired, IsUnaired = request.IsUnaired, CollapseBoxSetItems = request.CollapseBoxSetItems, NameLessThan = request.NameLessThan, @@ -283,12 +282,6 @@ namespace MediaBrowser.Api.Reports query.SeriesStatuses = request.SeriesStatus.Split(',').Select(d => (SeriesStatus)Enum.Parse(typeof(SeriesStatus), d, true)).ToArray(); } - // Filter by Series AirDays - if (!string.IsNullOrEmpty(request.AirDays)) - { - query.AirDays = request.AirDays.Split(',').Select(d => (DayOfWeek)Enum.Parse(typeof(DayOfWeek), d, true)).ToArray(); - } - // ExcludeLocationTypes if (!string.IsNullOrEmpty(request.ExcludeLocationTypes)) { diff --git a/MediaBrowser.Api/TvShowsService.cs b/MediaBrowser.Api/TvShowsService.cs index 891221d411..148e65b492 100644 --- a/MediaBrowser.Api/TvShowsService.cs +++ b/MediaBrowser.Api/TvShowsService.cs @@ -166,9 +166,6 @@ namespace MediaBrowser.Api [ApiMember(Name = "IsMissing", Description = "Optional filter by items that are missing episodes or not.", IsRequired = false, DataType = "bool", ParameterType = "query", Verb = "GET")] public bool? IsMissing { get; set; } - [ApiMember(Name = "IsVirtualUnaired", Description = "Optional filter by items that are virtual unaired episodes or not.", IsRequired = false, DataType = "bool", ParameterType = "query", Verb = "GET")] - public bool? IsVirtualUnaired { get; set; } - [ApiMember(Name = "AdjacentTo", Description = "Optional. Return items that are siblings of a supplied item.", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "GET")] public string AdjacentTo { get; set; } @@ -234,9 +231,6 @@ namespace MediaBrowser.Api [ApiMember(Name = "IsMissing", Description = "Optional filter by items that are missing episodes or not.", IsRequired = false, DataType = "bool", ParameterType = "query", Verb = "GET")] public bool? IsMissing { get; set; } - [ApiMember(Name = "IsVirtualUnaired", Description = "Optional filter by items that are virtual unaired episodes or not.", IsRequired = false, DataType = "bool", ParameterType = "query", Verb = "GET")] - public bool? IsVirtualUnaired { get; set; } - [ApiMember(Name = "AdjacentTo", Description = "Optional. Return items that are siblings of a supplied item.", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "GET")] public string AdjacentTo { get; set; } @@ -446,7 +440,6 @@ namespace MediaBrowser.Api var seasons = (series.GetItemList(new InternalItemsQuery(user) { IsMissing = request.IsMissing, - IsVirtualUnaired = request.IsVirtualUnaired, IsSpecialSeason = request.IsSpecialSeason, AdjacentTo = request.AdjacentTo @@ -532,13 +525,6 @@ namespace MediaBrowser.Api episodes = episodes.Where(i => i.IsMissingEpisode == val); } - // Filter after the fact in case the ui doesn't want them - if (request.IsVirtualUnaired.HasValue) - { - var val = request.IsVirtualUnaired.Value; - episodes = episodes.Where(i => i.IsVirtualUnaired == val); - } - if (!string.IsNullOrWhiteSpace(request.StartItemId)) { episodes = episodes.SkipWhile(i => !string.Equals(i.Id.ToString("N"), request.StartItemId, StringComparison.OrdinalIgnoreCase)); diff --git a/MediaBrowser.Api/UserLibrary/BaseItemsRequest.cs b/MediaBrowser.Api/UserLibrary/BaseItemsRequest.cs index 074c1b60a2..a9c5ae700d 100644 --- a/MediaBrowser.Api/UserLibrary/BaseItemsRequest.cs +++ b/MediaBrowser.Api/UserLibrary/BaseItemsRequest.cs @@ -70,9 +70,6 @@ namespace MediaBrowser.Api.UserLibrary [ApiMember(Name = "IsUnaired", Description = "Optional filter by items that are unaired episodes or not.", IsRequired = false, DataType = "bool", ParameterType = "query", Verb = "GET")] public bool? IsUnaired { get; set; } - [ApiMember(Name = "IsVirtualUnaired", Description = "Optional filter by items that are virtual unaired episodes or not.", IsRequired = false, DataType = "bool", ParameterType = "query", Verb = "GET")] - public bool? IsVirtualUnaired { get; set; } - [ApiMember(Name = "MinCommunityRating", Description = "Optional filter by minimum community rating.", IsRequired = false, DataType = "int", ParameterType = "query", Verb = "GET")] public double? MinCommunityRating { get; set; } @@ -299,13 +296,6 @@ namespace MediaBrowser.Api.UserLibrary [ApiMember(Name = "VideoTypes", Description = "Optional filter by VideoType (videofile, dvd, bluray, iso). Allows multiple, comma delimeted.", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "GET", AllowMultiple = true)] public string VideoTypes { get; set; } - /// - /// Gets or sets the air days. - /// - /// The air days. - [ApiMember(Name = "AirDays", Description = "Optional filter by Series Air Days. Allows multiple, comma delimeted.", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "GET", AllowMultiple = true)] - public string AirDays { get; set; } - /// /// Gets or sets the user id. /// diff --git a/MediaBrowser.Api/UserLibrary/ItemsService.cs b/MediaBrowser.Api/UserLibrary/ItemsService.cs index b9231629ba..f3d7772fca 100644 --- a/MediaBrowser.Api/UserLibrary/ItemsService.cs +++ b/MediaBrowser.Api/UserLibrary/ItemsService.cs @@ -207,7 +207,6 @@ namespace MediaBrowser.Api.UserLibrary Limit = request.Limit, StartIndex = request.StartIndex, IsMissing = request.IsMissing, - IsVirtualUnaired = request.IsVirtualUnaired, IsUnaired = request.IsUnaired, CollapseBoxSetItems = request.CollapseBoxSetItems, NameLessThan = request.NameLessThan, @@ -320,12 +319,6 @@ namespace MediaBrowser.Api.UserLibrary query.SeriesStatuses = request.SeriesStatus.Split(',').Select(d => (SeriesStatus)Enum.Parse(typeof(SeriesStatus), d, true)).ToArray(); } - // Filter by Series AirDays - if (!string.IsNullOrEmpty(request.AirDays)) - { - query.AirDays = request.AirDays.Split(',').Select(d => (DayOfWeek)Enum.Parse(typeof(DayOfWeek), d, true)).ToArray(); - } - // ExcludeLocationTypes if (!string.IsNullOrEmpty(request.ExcludeLocationTypes)) { diff --git a/MediaBrowser.Controller/Entities/Folder.cs b/MediaBrowser.Controller/Entities/Folder.cs index c0e1423964..46ae9230b7 100644 --- a/MediaBrowser.Controller/Entities/Folder.cs +++ b/MediaBrowser.Controller/Entities/Folder.cs @@ -922,12 +922,6 @@ namespace MediaBrowser.Controller.Entities return true; } - if (query.AirDays.Length > 0) - { - Logger.Debug("Query requires post-filtering due to AirDays"); - return true; - } - if (query.SeriesStatuses.Length > 0) { Logger.Debug("Query requires post-filtering due to SeriesStatuses"); @@ -1388,7 +1382,7 @@ namespace MediaBrowser.Controller.Entities EnableTotalRecordCount = false }; - if (!user.Configuration.DisplayMissingEpisodes || !user.Configuration.DisplayUnairedEpisodes) + if (!user.Configuration.DisplayMissingEpisodes) { query.IsVirtualItem = false; } diff --git a/MediaBrowser.Controller/Entities/InternalItemsQuery.cs b/MediaBrowser.Controller/Entities/InternalItemsQuery.cs index d9c8223c16..04833d0499 100644 --- a/MediaBrowser.Controller/Entities/InternalItemsQuery.cs +++ b/MediaBrowser.Controller/Entities/InternalItemsQuery.cs @@ -42,7 +42,6 @@ namespace MediaBrowser.Controller.Entities public bool? IsSpecialSeason { get; set; } public bool? IsMissing { get; set; } public bool? IsUnaired { get; set; } - public bool? IsVirtualUnaired { get; set; } public bool? CollapseBoxSetItems { get; set; } public string NameStartsWithOrGreater { get; set; } @@ -149,7 +148,6 @@ namespace MediaBrowser.Controller.Entities public TrailerType[] TrailerTypes { get; set; } public SourceType[] SourceTypes { get; set; } - public DayOfWeek[] AirDays { get; set; } public SeriesStatus[] SeriesStatuses { get; set; } public string ExternalSeriesId { get; set; } public string ExternalId { get; set; } @@ -214,7 +212,6 @@ namespace MediaBrowser.Controller.Entities PresetViews = new string[] { }; TrailerTypes = new TrailerType[] { }; SourceTypes = new SourceType[] { }; - AirDays = new DayOfWeek[] { }; SeriesStatuses = new SeriesStatus[] { }; OrderBy = new List>(); } diff --git a/MediaBrowser.Controller/Entities/TV/Episode.cs b/MediaBrowser.Controller/Entities/TV/Episode.cs index 3cdfd19f10..c30e0ef8e7 100644 --- a/MediaBrowser.Controller/Entities/TV/Episode.cs +++ b/MediaBrowser.Controller/Entities/TV/Episode.cs @@ -282,16 +282,10 @@ namespace MediaBrowser.Controller.Entities.TV { get { - return LocationType == LocationType.Virtual && !IsUnaired; + return LocationType == LocationType.Virtual; } } - [IgnoreDataMember] - public bool IsVirtualUnaired - { - get { return LocationType == LocationType.Virtual && IsUnaired; } - } - [IgnoreDataMember] public Guid? SeasonId { get; set; } [IgnoreDataMember] @@ -346,7 +340,6 @@ namespace MediaBrowser.Controller.Entities.TV id.IsMissingEpisode = IsMissingEpisode; id.IndexNumberEnd = IndexNumberEnd; - id.IsVirtualUnaired = IsVirtualUnaired; return id; } diff --git a/MediaBrowser.Controller/Entities/TV/Series.cs b/MediaBrowser.Controller/Entities/TV/Series.cs index 7d1c7314d0..854c1d4da2 100644 --- a/MediaBrowser.Controller/Entities/TV/Series.cs +++ b/MediaBrowser.Controller/Entities/TV/Series.cs @@ -250,18 +250,10 @@ namespace MediaBrowser.Controller.Entities.TV query.IncludeItemTypes = new[] { typeof(Season).Name }; query.SortBy = new[] {ItemSortBy.SortName}; - if (!config.DisplayMissingEpisodes && !config.DisplayUnairedEpisodes) - { - query.IsVirtualItem = false; - } - else if (!config.DisplayMissingEpisodes) + if (!config.DisplayMissingEpisodes) { query.IsMissing = false; } - else if (!config.DisplayUnairedEpisodes) - { - query.IsVirtualUnaired = false; - } } protected override QueryResult GetItemsInternal(InternalItemsQuery query) @@ -309,18 +301,10 @@ namespace MediaBrowser.Controller.Entities.TV DtoOptions = options }; var config = user.Configuration; - if (!config.DisplayMissingEpisodes && !config.DisplayUnairedEpisodes) - { - query.IsVirtualItem = false; - } - else if (!config.DisplayMissingEpisodes) + if (!config.DisplayMissingEpisodes) { query.IsMissing = false; } - else if (!config.DisplayUnairedEpisodes) - { - query.IsVirtualUnaired = false; - } var allItems = LibraryManager.GetItemList(query); @@ -428,18 +412,10 @@ namespace MediaBrowser.Controller.Entities.TV if (user != null) { var config = user.Configuration; - if (!config.DisplayMissingEpisodes && !config.DisplayUnairedEpisodes) - { - query.IsVirtualItem = false; - } - else if (!config.DisplayMissingEpisodes) + if (!config.DisplayMissingEpisodes) { query.IsMissing = false; } - else if (!config.DisplayUnairedEpisodes) - { - query.IsVirtualUnaired = false; - } } var allItems = LibraryManager.GetItemList(query).OfType(); diff --git a/MediaBrowser.Controller/Entities/UserViewBuilder.cs b/MediaBrowser.Controller/Entities/UserViewBuilder.cs index a012603976..9323404e38 100644 --- a/MediaBrowser.Controller/Entities/UserViewBuilder.cs +++ b/MediaBrowser.Controller/Entities/UserViewBuilder.cs @@ -779,7 +779,6 @@ namespace MediaBrowser.Controller.Entities items = FilterVirtualEpisodes(items, query.IsMissing, - query.IsVirtualUnaired, query.IsUnaired); if (collapseBoxSetItems && user != null) @@ -1065,7 +1064,6 @@ namespace MediaBrowser.Controller.Entities private static IEnumerable FilterVirtualEpisodes( IEnumerable items, bool? isMissing, - bool? isVirtualUnaired, bool? isUnaired) { if (isMissing.HasValue) @@ -1096,20 +1094,6 @@ namespace MediaBrowser.Controller.Entities }); } - if (isVirtualUnaired.HasValue) - { - var val = isVirtualUnaired.Value; - items = items.Where(i => - { - var e = i as Episode; - if (e != null) - { - return e.IsVirtualUnaired == val; - } - return true; - }); - } - return items; } diff --git a/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs b/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs index e0153f878e..4fecc34e5d 100644 --- a/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs +++ b/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs @@ -925,19 +925,6 @@ namespace MediaBrowser.Controller.MediaEncoding return false; } - // Video bitrate must fall within requested value - if (request.AudioBitRate.HasValue) - { - if (!audioStream.BitRate.HasValue || audioStream.BitRate.Value <= 0) - { - return false; - } - if (audioStream.BitRate.Value > request.AudioBitRate.Value) - { - return false; - } - } - // Channels must fall within requested value var channels = request.AudioChannels ?? request.MaxAudioChannels; if (channels.HasValue) @@ -965,6 +952,19 @@ namespace MediaBrowser.Controller.MediaEncoding } } + // Video bitrate must fall within requested value + if (request.AudioBitRate.HasValue) + { + if (!audioStream.BitRate.HasValue || audioStream.BitRate.Value <= 0) + { + return false; + } + if (audioStream.BitRate.Value > request.AudioBitRate.Value) + { + return false; + } + } + return request.EnableAutoStreamCopy; } diff --git a/MediaBrowser.Controller/Providers/EpisodeInfo.cs b/MediaBrowser.Controller/Providers/EpisodeInfo.cs index b8e88ea53a..5df999ab05 100644 --- a/MediaBrowser.Controller/Providers/EpisodeInfo.cs +++ b/MediaBrowser.Controller/Providers/EpisodeInfo.cs @@ -10,7 +10,6 @@ namespace MediaBrowser.Controller.Providers public int? IndexNumberEnd { get; set; } public bool IsMissingEpisode { get; set; } - public bool IsVirtualUnaired { get; set; } public EpisodeInfo() { diff --git a/MediaBrowser.Model/Configuration/UserConfiguration.cs b/MediaBrowser.Model/Configuration/UserConfiguration.cs index 30b5f384fb..15bd003aef 100644 --- a/MediaBrowser.Model/Configuration/UserConfiguration.cs +++ b/MediaBrowser.Model/Configuration/UserConfiguration.cs @@ -25,7 +25,6 @@ namespace MediaBrowser.Model.Configuration public string SubtitleLanguagePreference { get; set; } public bool DisplayMissingEpisodes { get; set; } - public bool DisplayUnairedEpisodes { get; set; } public string[] GroupedFolders { get; set; } diff --git a/MediaBrowser.Model/MediaBrowser.Model.csproj b/MediaBrowser.Model/MediaBrowser.Model.csproj index 60cad44db0..0e4cc0623f 100644 --- a/MediaBrowser.Model/MediaBrowser.Model.csproj +++ b/MediaBrowser.Model/MediaBrowser.Model.csproj @@ -302,7 +302,6 @@ - @@ -339,7 +338,6 @@ - diff --git a/MediaBrowser.Model/Querying/ItemQuery.cs b/MediaBrowser.Model/Querying/ItemQuery.cs deleted file mode 100644 index 11c0464522..0000000000 --- a/MediaBrowser.Model/Querying/ItemQuery.cs +++ /dev/null @@ -1,332 +0,0 @@ -using MediaBrowser.Model.Entities; -using System; - -namespace MediaBrowser.Model.Querying -{ - /// - /// Contains all the possible parameters that can be used to query for items - /// - public class ItemQuery - { - /// - /// The user to localize search results for - /// - /// The user id. - public string UserId { get; set; } - - /// - /// Specify this to localize the search to a specific item or folder. Omit to use the root. - /// - /// The parent id. - public string ParentId { get; set; } - - /// - /// Skips over a given number of items within the results. Use for paging. - /// - /// The start index. - public int? StartIndex { get; set; } - - /// - /// The maximum number of items to return - /// - /// The limit. - public int? Limit { get; set; } - - /// - /// What to sort the results by - /// - /// The sort by. - public string[] SortBy { get; set; } - - /// - /// Gets or sets the artist ids. - /// - /// The artist ids. - public string[] ArtistIds { get; set; } - - /// - /// The sort order to return results with - /// - /// The sort order. - public SortOrder? SortOrder { get; set; } - - /// - /// Filters to apply to the results - /// - /// The filters. - public ItemFilter[] Filters { get; set; } - - /// - /// Fields to return within the items, in addition to basic information - /// - /// The fields. - public ItemFields[] Fields { get; set; } - - /// - /// Gets or sets the media types. - /// - /// The media types. - public string[] MediaTypes { get; set; } - - /// - /// Gets or sets the video formats. - /// - /// The video formats. - public bool? Is3D { get; set; } - - /// - /// Gets or sets the video types. - /// - /// The video types. - public VideoType[] VideoTypes { get; set; } - - /// - /// Whether or not to perform the query recursively - /// - /// true if recursive; otherwise, false. - public bool Recursive { get; set; } - - /// - /// Limit results to items containing specific genres - /// - /// The genres. - public string[] Genres { get; set; } - - /// - /// Gets or sets the studio ids. - /// - /// The studio ids. - public string[] StudioIds { get; set; } - - /// - /// Gets or sets the exclude item types. - /// - /// The exclude item types. - public string[] ExcludeItemTypes { get; set; } - - /// - /// Gets or sets the include item types. - /// - /// The include item types. - public string[] IncludeItemTypes { get; set; } - - /// - /// Limit results to items containing specific years - /// - /// The years. - public int[] Years { get; set; } - - /// - /// Limit results to items containing a specific person - /// - /// The person. - public string[] PersonIds { get; set; } - - /// - /// If the Person filter is used, this can also be used to restrict to a specific person type - /// - /// The type of the person. - public string[] PersonTypes { get; set; } - - /// - /// Search characters used to find items - /// - /// The index by. - public string SearchTerm { get; set; } - - /// - /// Gets or sets the image types. - /// - /// The image types. - public ImageType[] ImageTypes { get; set; } - - /// - /// Gets or sets the air days. - /// - /// The air days. - public DayOfWeek[] AirDays { get; set; } - - /// - /// Gets or sets the series status. - /// - /// The series status. - public SeriesStatus[] SeriesStatuses { get; set; } - - /// - /// Gets or sets the ids, which are specific items to retrieve - /// - /// The ids. - public string[] Ids { get; set; } - - /// - /// Gets or sets the min official rating. - /// - /// The min official rating. - public string MinOfficialRating { get; set; } - - /// - /// Gets or sets the max official rating. - /// - /// The max official rating. - public string MaxOfficialRating { get; set; } - - /// - /// Gets or sets the min index number. - /// - /// The min index number. - public int? MinIndexNumber { get; set; } - - /// - /// Gets or sets a value indicating whether this instance has parental rating. - /// - /// null if [has parental rating] contains no value, true if [has parental rating]; otherwise, false. - public bool? HasParentalRating { get; set; } - - /// - /// Gets or sets a value indicating whether this instance is HD. - /// - /// null if [is HD] contains no value, true if [is HD]; otherwise, false. - public bool? IsHD { get; set; } - - /// - /// Gets or sets the parent index number. - /// - /// The parent index number. - public int? ParentIndexNumber { get; set; } - - /// - /// Gets or sets the min players. - /// - /// The min players. - public int? MinPlayers { get; set; } - - /// - /// Gets or sets the max players. - /// - /// The max players. - public int? MaxPlayers { get; set; } - - /// - /// Gets or sets the name starts with or greater. - /// - /// The name starts with or greater. - public string NameStartsWithOrGreater { get; set; } - - /// - /// Gets or sets the name starts with. - /// - /// The name starts with or greater. - public string NameStartsWith { get; set; } - - /// - /// Gets or sets the name starts with. - /// - /// The name lessthan. - public string NameLessThan { get; set; } - - /// - /// Gets or sets the album artist starts with or greater. - /// - /// The album artist starts with or greater. - public string AlbumArtistStartsWithOrGreater { get; set; } - - /// - /// Gets or sets a value indicating whether [include index containers]. - /// - /// true if [include index containers]; otherwise, false. - public bool IncludeIndexContainers { get; set; } - - /// - /// Gets or sets the location types. - /// - /// The location types. - public LocationType[] LocationTypes { get; set; } - - /// - /// Gets or sets a value indicating whether this instance is missing episode. - /// - /// null if [is missing episode] contains no value, true if [is missing episode]; otherwise, false. - public bool? IsMissing { get; set; } - - /// - /// Gets or sets a value indicating whether this instance is unaired episode. - /// - /// null if [is unaired episode] contains no value, true if [is unaired episode]; otherwise, false. - public bool? IsUnaired { get; set; } - - public bool? IsVirtualUnaired { get; set; } - - public bool? IsInBoxSet { get; set; } - - public bool? CollapseBoxSetItems { get; set; } - - public bool? IsPlayed { get; set; } - - /// - /// Gets or sets the exclude location types. - /// - /// The exclude location types. - public LocationType[] ExcludeLocationTypes { get; set; } - - public double? MinCommunityRating { get; set; } - public double? MinCriticRating { get; set; } - - public int? AiredDuringSeason { get; set; } - - public DateTime? MinPremiereDate { get; set; } - - public DateTime? MaxPremiereDate { get; set; } - - public bool? EnableImages { get; set; } - public int? ImageTypeLimit { get; set; } - public ImageType[] EnableImageTypes { get; set; } - - [Obsolete] - public string[] Artists { get; set; } - [Obsolete] - public string[] Studios { get; set; } - [Obsolete] - public string Person { get; set; } - - public bool EnableTotalRecordCount { get; set; } - - /// - /// Initializes a new instance of the class. - /// - public ItemQuery() - { - LocationTypes = new LocationType[] { }; - ExcludeLocationTypes = new LocationType[] { }; - - SortBy = new string[] { }; - - Filters = new ItemFilter[] { }; - - Fields = new ItemFields[] { }; - - MediaTypes = new string[] { }; - - VideoTypes = new VideoType[] { }; - - EnableTotalRecordCount = true; - - Artists = new string[] { }; - Studios = new string[] { }; - - Genres = new string[] { }; - StudioIds = new string[] { }; - IncludeItemTypes = new string[] { }; - ExcludeItemTypes = new string[] { }; - Years = new int[] { }; - PersonTypes = new string[] { }; - Ids = new string[] { }; - ArtistIds = new string[] { }; - PersonIds = new string[] { }; - - ImageTypes = new ImageType[] { }; - AirDays = new DayOfWeek[] { }; - SeriesStatuses = new SeriesStatus[] { }; - EnableImageTypes = new ImageType[] { }; - } - } -} diff --git a/MediaBrowser.Model/Querying/SeasonQuery.cs b/MediaBrowser.Model/Querying/SeasonQuery.cs deleted file mode 100644 index b1fe635bbe..0000000000 --- a/MediaBrowser.Model/Querying/SeasonQuery.cs +++ /dev/null @@ -1,22 +0,0 @@ -namespace MediaBrowser.Model.Querying -{ - public class SeasonQuery - { - public string UserId { get; set; } - - public string SeriesId { get; set; } - - public bool? IsMissing { get; set; } - - public bool? IsVirtualUnaired { get; set; } - - public ItemFields[] Fields { get; set; } - - public bool? IsSpecialSeason { get; set; } - - public SeasonQuery() - { - Fields = new ItemFields[] { }; - } - } -} \ No newline at end of file diff --git a/MediaBrowser.Providers/TV/Omdb/OmdbEpisodeProvider.cs b/MediaBrowser.Providers/TV/Omdb/OmdbEpisodeProvider.cs index daf493ad9c..48af89830c 100644 --- a/MediaBrowser.Providers/TV/Omdb/OmdbEpisodeProvider.cs +++ b/MediaBrowser.Providers/TV/Omdb/OmdbEpisodeProvider.cs @@ -50,7 +50,7 @@ namespace MediaBrowser.Providers.TV }; // Allowing this will dramatically increase scan times - if (info.IsMissingEpisode || info.IsVirtualUnaired) + if (info.IsMissingEpisode) { return result; } diff --git a/MediaBrowser.Providers/TV/TheMovieDb/MovieDbEpisodeProvider.cs b/MediaBrowser.Providers/TV/TheMovieDb/MovieDbEpisodeProvider.cs index 619e56baf7..31785ca9c7 100644 --- a/MediaBrowser.Providers/TV/TheMovieDb/MovieDbEpisodeProvider.cs +++ b/MediaBrowser.Providers/TV/TheMovieDb/MovieDbEpisodeProvider.cs @@ -68,7 +68,7 @@ namespace MediaBrowser.Providers.TV var result = new MetadataResult(); // Allowing this will dramatically increase scan times - if (info.IsMissingEpisode || info.IsVirtualUnaired) + if (info.IsMissingEpisode) { return result; } diff --git a/Nuget/MediaBrowser.Common.nuspec b/Nuget/MediaBrowser.Common.nuspec index fedb815cf1..c7eb70f598 100644 --- a/Nuget/MediaBrowser.Common.nuspec +++ b/Nuget/MediaBrowser.Common.nuspec @@ -2,7 +2,7 @@ MediaBrowser.Common - 3.0.726 + 3.0.727 Emby.Common Emby Team ebr,Luke,scottisafool diff --git a/Nuget/MediaBrowser.Server.Core.nuspec b/Nuget/MediaBrowser.Server.Core.nuspec index 58432679be..2837a812e5 100644 --- a/Nuget/MediaBrowser.Server.Core.nuspec +++ b/Nuget/MediaBrowser.Server.Core.nuspec @@ -2,7 +2,7 @@ MediaBrowser.Server.Core - 3.0.726 + 3.0.727 Emby.Server.Core Emby Team ebr,Luke,scottisafool @@ -12,7 +12,7 @@ Contains core components required to build plugins for Emby Server. Copyright © Emby 2013 - + diff --git a/SharedVersion.cs b/SharedVersion.cs index 647892115e..85fc89fc0a 100644 --- a/SharedVersion.cs +++ b/SharedVersion.cs @@ -1,3 +1,3 @@ using System.Reflection; -[assembly: AssemblyVersion("3.2.26.23")] +[assembly: AssemblyVersion("3.2.26.24")]