commit
738c8eeac4
|
@ -536,8 +536,8 @@ namespace Emby.Dlna.ContentDirectory
|
||||||
Limit = limit,
|
Limit = limit,
|
||||||
StartIndex = startIndex,
|
StartIndex = startIndex,
|
||||||
User = user,
|
User = user,
|
||||||
IsMissing = false,
|
IsVirtualItem = false,
|
||||||
PresetViews = new[] { CollectionType.Movies, CollectionType.TvShows },
|
PresetViews = new string[] { },
|
||||||
ExcludeItemTypes = new[] { typeof(Game).Name, typeof(Book).Name },
|
ExcludeItemTypes = new[] { typeof(Game).Name, typeof(Book).Name },
|
||||||
IsPlaceHolder = false,
|
IsPlaceHolder = false,
|
||||||
DtoOptions = GetDtoOptions()
|
DtoOptions = GetDtoOptions()
|
||||||
|
@ -1129,7 +1129,7 @@ namespace Emby.Dlna.ContentDirectory
|
||||||
Limit = 50,
|
Limit = 50,
|
||||||
IncludeItemTypes = new[] { typeof(Episode).Name },
|
IncludeItemTypes = new[] { typeof(Episode).Name },
|
||||||
ParentId = parent == null ? null : parent.Id.ToString("N"),
|
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();
|
}, query.DtoOptions).Select(i => i.Item1 ?? i.Item2.FirstOrDefault()).Where(i => i != null).ToList();
|
||||||
|
|
||||||
|
|
|
@ -4275,12 +4275,13 @@ namespace Emby.Server.Implementations.Data
|
||||||
whereClauses.Add("ProductionYear in (" + val + ")");
|
whereClauses.Add("ProductionYear in (" + val + ")");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (query.IsVirtualItem.HasValue)
|
var isVirtualItem = query.IsVirtualItem ?? query.IsMissing;
|
||||||
|
if (isVirtualItem.HasValue)
|
||||||
{
|
{
|
||||||
whereClauses.Add("IsVirtualItem=@IsVirtualItem");
|
whereClauses.Add("IsVirtualItem=@IsVirtualItem");
|
||||||
if (statement != null)
|
if (statement != null)
|
||||||
{
|
{
|
||||||
statement.TryBind("@IsVirtualItem", query.IsVirtualItem.Value);
|
statement.TryBind("@IsVirtualItem", isVirtualItem.Value);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (query.IsSpecialSeason.HasValue)
|
if (query.IsSpecialSeason.HasValue)
|
||||||
|
@ -4305,28 +4306,6 @@ namespace Emby.Server.Implementations.Data
|
||||||
whereClauses.Add("PremiereDate < DATETIME('now')");
|
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();
|
var queryMediaTypes = query.MediaTypes.Where(IsValidMediaType).ToArray();
|
||||||
if (queryMediaTypes.Length == 1)
|
if (queryMediaTypes.Length == 1)
|
||||||
{
|
{
|
||||||
|
|
|
@ -183,7 +183,6 @@ namespace MediaBrowser.Api.Reports
|
||||||
Limit = request.Limit,
|
Limit = request.Limit,
|
||||||
StartIndex = request.StartIndex,
|
StartIndex = request.StartIndex,
|
||||||
IsMissing = request.IsMissing,
|
IsMissing = request.IsMissing,
|
||||||
IsVirtualUnaired = request.IsVirtualUnaired,
|
|
||||||
IsUnaired = request.IsUnaired,
|
IsUnaired = request.IsUnaired,
|
||||||
CollapseBoxSetItems = request.CollapseBoxSetItems,
|
CollapseBoxSetItems = request.CollapseBoxSetItems,
|
||||||
NameLessThan = request.NameLessThan,
|
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();
|
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
|
// ExcludeLocationTypes
|
||||||
if (!string.IsNullOrEmpty(request.ExcludeLocationTypes))
|
if (!string.IsNullOrEmpty(request.ExcludeLocationTypes))
|
||||||
{
|
{
|
||||||
|
|
|
@ -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")]
|
[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; }
|
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")]
|
[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; }
|
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")]
|
[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; }
|
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")]
|
[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; }
|
public string AdjacentTo { get; set; }
|
||||||
|
|
||||||
|
@ -446,7 +440,6 @@ namespace MediaBrowser.Api
|
||||||
var seasons = (series.GetItemList(new InternalItemsQuery(user)
|
var seasons = (series.GetItemList(new InternalItemsQuery(user)
|
||||||
{
|
{
|
||||||
IsMissing = request.IsMissing,
|
IsMissing = request.IsMissing,
|
||||||
IsVirtualUnaired = request.IsVirtualUnaired,
|
|
||||||
IsSpecialSeason = request.IsSpecialSeason,
|
IsSpecialSeason = request.IsSpecialSeason,
|
||||||
AdjacentTo = request.AdjacentTo
|
AdjacentTo = request.AdjacentTo
|
||||||
|
|
||||||
|
@ -532,13 +525,6 @@ namespace MediaBrowser.Api
|
||||||
episodes = episodes.Where(i => i.IsMissingEpisode == val);
|
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))
|
if (!string.IsNullOrWhiteSpace(request.StartItemId))
|
||||||
{
|
{
|
||||||
episodes = episodes.SkipWhile(i => !string.Equals(i.Id.ToString("N"), request.StartItemId, StringComparison.OrdinalIgnoreCase));
|
episodes = episodes.SkipWhile(i => !string.Equals(i.Id.ToString("N"), request.StartItemId, StringComparison.OrdinalIgnoreCase));
|
||||||
|
|
|
@ -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")]
|
[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; }
|
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")]
|
[ApiMember(Name = "MinCommunityRating", Description = "Optional filter by minimum community rating.", IsRequired = false, DataType = "int", ParameterType = "query", Verb = "GET")]
|
||||||
public double? MinCommunityRating { get; set; }
|
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)]
|
[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; }
|
public string VideoTypes { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Gets or sets the air days.
|
|
||||||
/// </summary>
|
|
||||||
/// <value>The air days.</value>
|
|
||||||
[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; }
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the user id.
|
/// Gets or sets the user id.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
|
@ -207,7 +207,6 @@ namespace MediaBrowser.Api.UserLibrary
|
||||||
Limit = request.Limit,
|
Limit = request.Limit,
|
||||||
StartIndex = request.StartIndex,
|
StartIndex = request.StartIndex,
|
||||||
IsMissing = request.IsMissing,
|
IsMissing = request.IsMissing,
|
||||||
IsVirtualUnaired = request.IsVirtualUnaired,
|
|
||||||
IsUnaired = request.IsUnaired,
|
IsUnaired = request.IsUnaired,
|
||||||
CollapseBoxSetItems = request.CollapseBoxSetItems,
|
CollapseBoxSetItems = request.CollapseBoxSetItems,
|
||||||
NameLessThan = request.NameLessThan,
|
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();
|
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
|
// ExcludeLocationTypes
|
||||||
if (!string.IsNullOrEmpty(request.ExcludeLocationTypes))
|
if (!string.IsNullOrEmpty(request.ExcludeLocationTypes))
|
||||||
{
|
{
|
||||||
|
|
|
@ -922,12 +922,6 @@ namespace MediaBrowser.Controller.Entities
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (query.AirDays.Length > 0)
|
|
||||||
{
|
|
||||||
Logger.Debug("Query requires post-filtering due to AirDays");
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (query.SeriesStatuses.Length > 0)
|
if (query.SeriesStatuses.Length > 0)
|
||||||
{
|
{
|
||||||
Logger.Debug("Query requires post-filtering due to SeriesStatuses");
|
Logger.Debug("Query requires post-filtering due to SeriesStatuses");
|
||||||
|
@ -1388,7 +1382,7 @@ namespace MediaBrowser.Controller.Entities
|
||||||
EnableTotalRecordCount = false
|
EnableTotalRecordCount = false
|
||||||
};
|
};
|
||||||
|
|
||||||
if (!user.Configuration.DisplayMissingEpisodes || !user.Configuration.DisplayUnairedEpisodes)
|
if (!user.Configuration.DisplayMissingEpisodes)
|
||||||
{
|
{
|
||||||
query.IsVirtualItem = false;
|
query.IsVirtualItem = false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -42,7 +42,6 @@ namespace MediaBrowser.Controller.Entities
|
||||||
public bool? IsSpecialSeason { get; set; }
|
public bool? IsSpecialSeason { get; set; }
|
||||||
public bool? IsMissing { get; set; }
|
public bool? IsMissing { get; set; }
|
||||||
public bool? IsUnaired { get; set; }
|
public bool? IsUnaired { get; set; }
|
||||||
public bool? IsVirtualUnaired { get; set; }
|
|
||||||
public bool? CollapseBoxSetItems { get; set; }
|
public bool? CollapseBoxSetItems { get; set; }
|
||||||
|
|
||||||
public string NameStartsWithOrGreater { get; set; }
|
public string NameStartsWithOrGreater { get; set; }
|
||||||
|
@ -149,7 +148,6 @@ namespace MediaBrowser.Controller.Entities
|
||||||
public TrailerType[] TrailerTypes { get; set; }
|
public TrailerType[] TrailerTypes { get; set; }
|
||||||
public SourceType[] SourceTypes { get; set; }
|
public SourceType[] SourceTypes { get; set; }
|
||||||
|
|
||||||
public DayOfWeek[] AirDays { get; set; }
|
|
||||||
public SeriesStatus[] SeriesStatuses { get; set; }
|
public SeriesStatus[] SeriesStatuses { get; set; }
|
||||||
public string ExternalSeriesId { get; set; }
|
public string ExternalSeriesId { get; set; }
|
||||||
public string ExternalId { get; set; }
|
public string ExternalId { get; set; }
|
||||||
|
@ -214,7 +212,6 @@ namespace MediaBrowser.Controller.Entities
|
||||||
PresetViews = new string[] { };
|
PresetViews = new string[] { };
|
||||||
TrailerTypes = new TrailerType[] { };
|
TrailerTypes = new TrailerType[] { };
|
||||||
SourceTypes = new SourceType[] { };
|
SourceTypes = new SourceType[] { };
|
||||||
AirDays = new DayOfWeek[] { };
|
|
||||||
SeriesStatuses = new SeriesStatus[] { };
|
SeriesStatuses = new SeriesStatus[] { };
|
||||||
OrderBy = new List<Tuple<string, SortOrder>>();
|
OrderBy = new List<Tuple<string, SortOrder>>();
|
||||||
}
|
}
|
||||||
|
|
|
@ -282,16 +282,10 @@ namespace MediaBrowser.Controller.Entities.TV
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
return LocationType == LocationType.Virtual && !IsUnaired;
|
return LocationType == LocationType.Virtual;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
[IgnoreDataMember]
|
|
||||||
public bool IsVirtualUnaired
|
|
||||||
{
|
|
||||||
get { return LocationType == LocationType.Virtual && IsUnaired; }
|
|
||||||
}
|
|
||||||
|
|
||||||
[IgnoreDataMember]
|
[IgnoreDataMember]
|
||||||
public Guid? SeasonId { get; set; }
|
public Guid? SeasonId { get; set; }
|
||||||
[IgnoreDataMember]
|
[IgnoreDataMember]
|
||||||
|
@ -346,7 +340,6 @@ namespace MediaBrowser.Controller.Entities.TV
|
||||||
|
|
||||||
id.IsMissingEpisode = IsMissingEpisode;
|
id.IsMissingEpisode = IsMissingEpisode;
|
||||||
id.IndexNumberEnd = IndexNumberEnd;
|
id.IndexNumberEnd = IndexNumberEnd;
|
||||||
id.IsVirtualUnaired = IsVirtualUnaired;
|
|
||||||
|
|
||||||
return id;
|
return id;
|
||||||
}
|
}
|
||||||
|
|
|
@ -250,18 +250,10 @@ namespace MediaBrowser.Controller.Entities.TV
|
||||||
query.IncludeItemTypes = new[] { typeof(Season).Name };
|
query.IncludeItemTypes = new[] { typeof(Season).Name };
|
||||||
query.SortBy = new[] {ItemSortBy.SortName};
|
query.SortBy = new[] {ItemSortBy.SortName};
|
||||||
|
|
||||||
if (!config.DisplayMissingEpisodes && !config.DisplayUnairedEpisodes)
|
if (!config.DisplayMissingEpisodes)
|
||||||
{
|
|
||||||
query.IsVirtualItem = false;
|
|
||||||
}
|
|
||||||
else if (!config.DisplayMissingEpisodes)
|
|
||||||
{
|
{
|
||||||
query.IsMissing = false;
|
query.IsMissing = false;
|
||||||
}
|
}
|
||||||
else if (!config.DisplayUnairedEpisodes)
|
|
||||||
{
|
|
||||||
query.IsVirtualUnaired = false;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override QueryResult<BaseItem> GetItemsInternal(InternalItemsQuery query)
|
protected override QueryResult<BaseItem> GetItemsInternal(InternalItemsQuery query)
|
||||||
|
@ -309,18 +301,10 @@ namespace MediaBrowser.Controller.Entities.TV
|
||||||
DtoOptions = options
|
DtoOptions = options
|
||||||
};
|
};
|
||||||
var config = user.Configuration;
|
var config = user.Configuration;
|
||||||
if (!config.DisplayMissingEpisodes && !config.DisplayUnairedEpisodes)
|
if (!config.DisplayMissingEpisodes)
|
||||||
{
|
|
||||||
query.IsVirtualItem = false;
|
|
||||||
}
|
|
||||||
else if (!config.DisplayMissingEpisodes)
|
|
||||||
{
|
{
|
||||||
query.IsMissing = false;
|
query.IsMissing = false;
|
||||||
}
|
}
|
||||||
else if (!config.DisplayUnairedEpisodes)
|
|
||||||
{
|
|
||||||
query.IsVirtualUnaired = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
var allItems = LibraryManager.GetItemList(query);
|
var allItems = LibraryManager.GetItemList(query);
|
||||||
|
|
||||||
|
@ -428,18 +412,10 @@ namespace MediaBrowser.Controller.Entities.TV
|
||||||
if (user != null)
|
if (user != null)
|
||||||
{
|
{
|
||||||
var config = user.Configuration;
|
var config = user.Configuration;
|
||||||
if (!config.DisplayMissingEpisodes && !config.DisplayUnairedEpisodes)
|
if (!config.DisplayMissingEpisodes)
|
||||||
{
|
|
||||||
query.IsVirtualItem = false;
|
|
||||||
}
|
|
||||||
else if (!config.DisplayMissingEpisodes)
|
|
||||||
{
|
{
|
||||||
query.IsMissing = false;
|
query.IsMissing = false;
|
||||||
}
|
}
|
||||||
else if (!config.DisplayUnairedEpisodes)
|
|
||||||
{
|
|
||||||
query.IsVirtualUnaired = false;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
var allItems = LibraryManager.GetItemList(query).OfType<Episode>();
|
var allItems = LibraryManager.GetItemList(query).OfType<Episode>();
|
||||||
|
|
|
@ -779,7 +779,6 @@ namespace MediaBrowser.Controller.Entities
|
||||||
|
|
||||||
items = FilterVirtualEpisodes(items,
|
items = FilterVirtualEpisodes(items,
|
||||||
query.IsMissing,
|
query.IsMissing,
|
||||||
query.IsVirtualUnaired,
|
|
||||||
query.IsUnaired);
|
query.IsUnaired);
|
||||||
|
|
||||||
if (collapseBoxSetItems && user != null)
|
if (collapseBoxSetItems && user != null)
|
||||||
|
@ -1065,7 +1064,6 @@ namespace MediaBrowser.Controller.Entities
|
||||||
private static IEnumerable<BaseItem> FilterVirtualEpisodes(
|
private static IEnumerable<BaseItem> FilterVirtualEpisodes(
|
||||||
IEnumerable<BaseItem> items,
|
IEnumerable<BaseItem> items,
|
||||||
bool? isMissing,
|
bool? isMissing,
|
||||||
bool? isVirtualUnaired,
|
|
||||||
bool? isUnaired)
|
bool? isUnaired)
|
||||||
{
|
{
|
||||||
if (isMissing.HasValue)
|
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;
|
return items;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -925,19 +925,6 @@ namespace MediaBrowser.Controller.MediaEncoding
|
||||||
return false;
|
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
|
// Channels must fall within requested value
|
||||||
var channels = request.AudioChannels ?? request.MaxAudioChannels;
|
var channels = request.AudioChannels ?? request.MaxAudioChannels;
|
||||||
if (channels.HasValue)
|
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;
|
return request.EnableAutoStreamCopy;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -10,7 +10,6 @@ namespace MediaBrowser.Controller.Providers
|
||||||
public int? IndexNumberEnd { get; set; }
|
public int? IndexNumberEnd { get; set; }
|
||||||
|
|
||||||
public bool IsMissingEpisode { get; set; }
|
public bool IsMissingEpisode { get; set; }
|
||||||
public bool IsVirtualUnaired { get; set; }
|
|
||||||
|
|
||||||
public EpisodeInfo()
|
public EpisodeInfo()
|
||||||
{
|
{
|
||||||
|
|
|
@ -25,7 +25,6 @@ namespace MediaBrowser.Model.Configuration
|
||||||
public string SubtitleLanguagePreference { get; set; }
|
public string SubtitleLanguagePreference { get; set; }
|
||||||
|
|
||||||
public bool DisplayMissingEpisodes { get; set; }
|
public bool DisplayMissingEpisodes { get; set; }
|
||||||
public bool DisplayUnairedEpisodes { get; set; }
|
|
||||||
|
|
||||||
public string[] GroupedFolders { get; set; }
|
public string[] GroupedFolders { get; set; }
|
||||||
|
|
||||||
|
|
|
@ -302,7 +302,6 @@
|
||||||
<Compile Include="Querying\NextUpQuery.cs" />
|
<Compile Include="Querying\NextUpQuery.cs" />
|
||||||
<Compile Include="Querying\QueryFilters.cs" />
|
<Compile Include="Querying\QueryFilters.cs" />
|
||||||
<Compile Include="Querying\QueryResult.cs" />
|
<Compile Include="Querying\QueryResult.cs" />
|
||||||
<Compile Include="Querying\SeasonQuery.cs" />
|
|
||||||
<Compile Include="Querying\SessionQuery.cs" />
|
<Compile Include="Querying\SessionQuery.cs" />
|
||||||
<Compile Include="Querying\SimilarItemsQuery.cs" />
|
<Compile Include="Querying\SimilarItemsQuery.cs" />
|
||||||
<Compile Include="Querying\UpcomingEpisodesQuery.cs" />
|
<Compile Include="Querying\UpcomingEpisodesQuery.cs" />
|
||||||
|
@ -339,7 +338,6 @@
|
||||||
<Compile Include="IO\FileSystemEntryInfo.cs" />
|
<Compile Include="IO\FileSystemEntryInfo.cs" />
|
||||||
<Compile Include="Dto\ImageOptions.cs" />
|
<Compile Include="Dto\ImageOptions.cs" />
|
||||||
<Compile Include="Querying\ItemFilter.cs" />
|
<Compile Include="Querying\ItemFilter.cs" />
|
||||||
<Compile Include="Querying\ItemQuery.cs" />
|
|
||||||
<Compile Include="Entities\LibraryUpdateInfo.cs" />
|
<Compile Include="Entities\LibraryUpdateInfo.cs" />
|
||||||
<Compile Include="Entities\ParentalRating.cs" />
|
<Compile Include="Entities\ParentalRating.cs" />
|
||||||
<Compile Include="Entities\VirtualFolderInfo.cs" />
|
<Compile Include="Entities\VirtualFolderInfo.cs" />
|
||||||
|
|
|
@ -1,332 +0,0 @@
|
||||||
using MediaBrowser.Model.Entities;
|
|
||||||
using System;
|
|
||||||
|
|
||||||
namespace MediaBrowser.Model.Querying
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Contains all the possible parameters that can be used to query for items
|
|
||||||
/// </summary>
|
|
||||||
public class ItemQuery
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// The user to localize search results for
|
|
||||||
/// </summary>
|
|
||||||
/// <value>The user id.</value>
|
|
||||||
public string UserId { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Specify this to localize the search to a specific item or folder. Omit to use the root.
|
|
||||||
/// </summary>
|
|
||||||
/// <value>The parent id.</value>
|
|
||||||
public string ParentId { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Skips over a given number of items within the results. Use for paging.
|
|
||||||
/// </summary>
|
|
||||||
/// <value>The start index.</value>
|
|
||||||
public int? StartIndex { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// The maximum number of items to return
|
|
||||||
/// </summary>
|
|
||||||
/// <value>The limit.</value>
|
|
||||||
public int? Limit { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// What to sort the results by
|
|
||||||
/// </summary>
|
|
||||||
/// <value>The sort by.</value>
|
|
||||||
public string[] SortBy { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Gets or sets the artist ids.
|
|
||||||
/// </summary>
|
|
||||||
/// <value>The artist ids.</value>
|
|
||||||
public string[] ArtistIds { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// The sort order to return results with
|
|
||||||
/// </summary>
|
|
||||||
/// <value>The sort order.</value>
|
|
||||||
public SortOrder? SortOrder { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Filters to apply to the results
|
|
||||||
/// </summary>
|
|
||||||
/// <value>The filters.</value>
|
|
||||||
public ItemFilter[] Filters { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Fields to return within the items, in addition to basic information
|
|
||||||
/// </summary>
|
|
||||||
/// <value>The fields.</value>
|
|
||||||
public ItemFields[] Fields { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Gets or sets the media types.
|
|
||||||
/// </summary>
|
|
||||||
/// <value>The media types.</value>
|
|
||||||
public string[] MediaTypes { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Gets or sets the video formats.
|
|
||||||
/// </summary>
|
|
||||||
/// <value>The video formats.</value>
|
|
||||||
public bool? Is3D { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Gets or sets the video types.
|
|
||||||
/// </summary>
|
|
||||||
/// <value>The video types.</value>
|
|
||||||
public VideoType[] VideoTypes { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Whether or not to perform the query recursively
|
|
||||||
/// </summary>
|
|
||||||
/// <value><c>true</c> if recursive; otherwise, <c>false</c>.</value>
|
|
||||||
public bool Recursive { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Limit results to items containing specific genres
|
|
||||||
/// </summary>
|
|
||||||
/// <value>The genres.</value>
|
|
||||||
public string[] Genres { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Gets or sets the studio ids.
|
|
||||||
/// </summary>
|
|
||||||
/// <value>The studio ids.</value>
|
|
||||||
public string[] StudioIds { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Gets or sets the exclude item types.
|
|
||||||
/// </summary>
|
|
||||||
/// <value>The exclude item types.</value>
|
|
||||||
public string[] ExcludeItemTypes { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Gets or sets the include item types.
|
|
||||||
/// </summary>
|
|
||||||
/// <value>The include item types.</value>
|
|
||||||
public string[] IncludeItemTypes { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Limit results to items containing specific years
|
|
||||||
/// </summary>
|
|
||||||
/// <value>The years.</value>
|
|
||||||
public int[] Years { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Limit results to items containing a specific person
|
|
||||||
/// </summary>
|
|
||||||
/// <value>The person.</value>
|
|
||||||
public string[] PersonIds { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// If the Person filter is used, this can also be used to restrict to a specific person type
|
|
||||||
/// </summary>
|
|
||||||
/// <value>The type of the person.</value>
|
|
||||||
public string[] PersonTypes { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Search characters used to find items
|
|
||||||
/// </summary>
|
|
||||||
/// <value>The index by.</value>
|
|
||||||
public string SearchTerm { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Gets or sets the image types.
|
|
||||||
/// </summary>
|
|
||||||
/// <value>The image types.</value>
|
|
||||||
public ImageType[] ImageTypes { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Gets or sets the air days.
|
|
||||||
/// </summary>
|
|
||||||
/// <value>The air days.</value>
|
|
||||||
public DayOfWeek[] AirDays { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Gets or sets the series status.
|
|
||||||
/// </summary>
|
|
||||||
/// <value>The series status.</value>
|
|
||||||
public SeriesStatus[] SeriesStatuses { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Gets or sets the ids, which are specific items to retrieve
|
|
||||||
/// </summary>
|
|
||||||
/// <value>The ids.</value>
|
|
||||||
public string[] Ids { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Gets or sets the min official rating.
|
|
||||||
/// </summary>
|
|
||||||
/// <value>The min official rating.</value>
|
|
||||||
public string MinOfficialRating { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Gets or sets the max official rating.
|
|
||||||
/// </summary>
|
|
||||||
/// <value>The max official rating.</value>
|
|
||||||
public string MaxOfficialRating { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Gets or sets the min index number.
|
|
||||||
/// </summary>
|
|
||||||
/// <value>The min index number.</value>
|
|
||||||
public int? MinIndexNumber { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Gets or sets a value indicating whether this instance has parental rating.
|
|
||||||
/// </summary>
|
|
||||||
/// <value><c>null</c> if [has parental rating] contains no value, <c>true</c> if [has parental rating]; otherwise, <c>false</c>.</value>
|
|
||||||
public bool? HasParentalRating { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Gets or sets a value indicating whether this instance is HD.
|
|
||||||
/// </summary>
|
|
||||||
/// <value><c>null</c> if [is HD] contains no value, <c>true</c> if [is HD]; otherwise, <c>false</c>.</value>
|
|
||||||
public bool? IsHD { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Gets or sets the parent index number.
|
|
||||||
/// </summary>
|
|
||||||
/// <value>The parent index number.</value>
|
|
||||||
public int? ParentIndexNumber { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Gets or sets the min players.
|
|
||||||
/// </summary>
|
|
||||||
/// <value>The min players.</value>
|
|
||||||
public int? MinPlayers { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Gets or sets the max players.
|
|
||||||
/// </summary>
|
|
||||||
/// <value>The max players.</value>
|
|
||||||
public int? MaxPlayers { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Gets or sets the name starts with or greater.
|
|
||||||
/// </summary>
|
|
||||||
/// <value>The name starts with or greater.</value>
|
|
||||||
public string NameStartsWithOrGreater { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Gets or sets the name starts with.
|
|
||||||
/// </summary>
|
|
||||||
/// <value>The name starts with or greater.</value>
|
|
||||||
public string NameStartsWith { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Gets or sets the name starts with.
|
|
||||||
/// </summary>
|
|
||||||
/// <value>The name lessthan.</value>
|
|
||||||
public string NameLessThan { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Gets or sets the album artist starts with or greater.
|
|
||||||
/// </summary>
|
|
||||||
/// <value>The album artist starts with or greater.</value>
|
|
||||||
public string AlbumArtistStartsWithOrGreater { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Gets or sets a value indicating whether [include index containers].
|
|
||||||
/// </summary>
|
|
||||||
/// <value><c>true</c> if [include index containers]; otherwise, <c>false</c>.</value>
|
|
||||||
public bool IncludeIndexContainers { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Gets or sets the location types.
|
|
||||||
/// </summary>
|
|
||||||
/// <value>The location types.</value>
|
|
||||||
public LocationType[] LocationTypes { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Gets or sets a value indicating whether this instance is missing episode.
|
|
||||||
/// </summary>
|
|
||||||
/// <value><c>null</c> if [is missing episode] contains no value, <c>true</c> if [is missing episode]; otherwise, <c>false</c>.</value>
|
|
||||||
public bool? IsMissing { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Gets or sets a value indicating whether this instance is unaired episode.
|
|
||||||
/// </summary>
|
|
||||||
/// <value><c>null</c> if [is unaired episode] contains no value, <c>true</c> if [is unaired episode]; otherwise, <c>false</c>.</value>
|
|
||||||
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; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Gets or sets the exclude location types.
|
|
||||||
/// </summary>
|
|
||||||
/// <value>The exclude location types.</value>
|
|
||||||
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; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Initializes a new instance of the <see cref="ItemQuery" /> class.
|
|
||||||
/// </summary>
|
|
||||||
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[] { };
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -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[] { };
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -50,7 +50,7 @@ namespace MediaBrowser.Providers.TV
|
||||||
};
|
};
|
||||||
|
|
||||||
// Allowing this will dramatically increase scan times
|
// Allowing this will dramatically increase scan times
|
||||||
if (info.IsMissingEpisode || info.IsVirtualUnaired)
|
if (info.IsMissingEpisode)
|
||||||
{
|
{
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
|
@ -68,7 +68,7 @@ namespace MediaBrowser.Providers.TV
|
||||||
var result = new MetadataResult<Episode>();
|
var result = new MetadataResult<Episode>();
|
||||||
|
|
||||||
// Allowing this will dramatically increase scan times
|
// Allowing this will dramatically increase scan times
|
||||||
if (info.IsMissingEpisode || info.IsVirtualUnaired)
|
if (info.IsMissingEpisode)
|
||||||
{
|
{
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
|
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
|
||||||
<metadata>
|
<metadata>
|
||||||
<id>MediaBrowser.Common</id>
|
<id>MediaBrowser.Common</id>
|
||||||
<version>3.0.726</version>
|
<version>3.0.727</version>
|
||||||
<title>Emby.Common</title>
|
<title>Emby.Common</title>
|
||||||
<authors>Emby Team</authors>
|
<authors>Emby Team</authors>
|
||||||
<owners>ebr,Luke,scottisafool</owners>
|
<owners>ebr,Luke,scottisafool</owners>
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
|
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
|
||||||
<metadata>
|
<metadata>
|
||||||
<id>MediaBrowser.Server.Core</id>
|
<id>MediaBrowser.Server.Core</id>
|
||||||
<version>3.0.726</version>
|
<version>3.0.727</version>
|
||||||
<title>Emby.Server.Core</title>
|
<title>Emby.Server.Core</title>
|
||||||
<authors>Emby Team</authors>
|
<authors>Emby Team</authors>
|
||||||
<owners>ebr,Luke,scottisafool</owners>
|
<owners>ebr,Luke,scottisafool</owners>
|
||||||
|
@ -12,7 +12,7 @@
|
||||||
<description>Contains core components required to build plugins for Emby Server.</description>
|
<description>Contains core components required to build plugins for Emby Server.</description>
|
||||||
<copyright>Copyright © Emby 2013</copyright>
|
<copyright>Copyright © Emby 2013</copyright>
|
||||||
<dependencies>
|
<dependencies>
|
||||||
<dependency id="MediaBrowser.Common" version="3.0.726" />
|
<dependency id="MediaBrowser.Common" version="3.0.727" />
|
||||||
</dependencies>
|
</dependencies>
|
||||||
</metadata>
|
</metadata>
|
||||||
<files>
|
<files>
|
||||||
|
|
|
@ -1,3 +1,3 @@
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
|
|
||||||
[assembly: AssemblyVersion("3.2.26.23")]
|
[assembly: AssemblyVersion("3.2.26.24")]
|
||||||
|
|
Loading…
Reference in New Issue
Block a user