diff options
Diffstat (limited to 'Emby.Server.Implementations')
4 files changed, 24 insertions, 36 deletions
diff --git a/Emby.Server.Implementations/Data/SqliteItemRepository.cs b/Emby.Server.Implementations/Data/SqliteItemRepository.cs index 151702905..8e6a277a4 100644 --- a/Emby.Server.Implementations/Data/SqliteItemRepository.cs +++ b/Emby.Server.Implementations/Data/SqliteItemRepository.cs @@ -3855,16 +3855,18 @@ namespace Emby.Server.Implementations.Data } } - if (query.ArtistNames.Length > 0) + if (query.ArtistIds.Length > 0) { var clauses = new List<string>(); var index = 0; - foreach (var artist in query.ArtistNames) + foreach (var artistId in query.ArtistIds) { - clauses.Add("@ArtistName" + index + " in (select CleanValue from itemvalues where ItemId=Guid and Type <= 1)"); + var paramName = "@ArtistIds" + index; + + clauses.Add("(select CleanName from TypedBaseItems where guid=" + paramName + ") in (select CleanValue from itemvalues where ItemId=Guid and Type<=1)"); if (statement != null) { - statement.TryBind("@ArtistName" + index, GetCleanValue(artist)); + statement.TryBind(paramName, artistId.ToGuidParamValue()); } index++; } @@ -3963,23 +3965,6 @@ namespace Emby.Server.Implementations.Data whereClauses.Add(clause); } - if (query.Studios.Length > 0) - { - var clauses = new List<string>(); - var index = 0; - foreach (var item in query.Studios) - { - clauses.Add("@Studio" + index + " in (select CleanValue from itemvalues where ItemId=Guid and Type=3)"); - if (statement != null) - { - statement.TryBind("@Studio" + index, GetCleanValue(item)); - } - index++; - } - var clause = "(" + string.Join(" OR ", clauses.ToArray()) + ")"; - whereClauses.Add(clause); - } - if (query.Keywords.Length > 0) { var clauses = new List<string>(); diff --git a/Emby.Server.Implementations/LiveTv/EmbyTV/EmbyTV.cs b/Emby.Server.Implementations/LiveTv/EmbyTV/EmbyTV.cs index 84a255c7a..2e591711b 100644 --- a/Emby.Server.Implementations/LiveTv/EmbyTV/EmbyTV.cs +++ b/Emby.Server.Implementations/LiveTv/EmbyTV/EmbyTV.cs @@ -326,7 +326,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV { epgData = GetEpgDataForChannel(timer.ChannelId); } - await UpdateTimersForSeriesTimer(epgData, timer, true).ConfigureAwait(false); + await UpdateTimersForSeriesTimer(epgData, timer, false, true).ConfigureAwait(false); } } @@ -573,7 +573,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV } _seriesTimerProvider.Add(info); - await UpdateTimersForSeriesTimer(epgData, info, false).ConfigureAwait(false); + await UpdateTimersForSeriesTimer(epgData, info, true, false).ConfigureAwait(false); return info.Id; } @@ -614,7 +614,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV epgData = GetEpgDataForChannel(instance.ChannelId); } - await UpdateTimersForSeriesTimer(epgData, instance, true).ConfigureAwait(false); + await UpdateTimersForSeriesTimer(epgData, instance, true, true).ConfigureAwait(false); } } @@ -2159,7 +2159,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV } } - private async Task UpdateTimersForSeriesTimer(List<ProgramInfo> epgData, SeriesTimerInfo seriesTimer, bool deleteInvalidTimers) + private async Task UpdateTimersForSeriesTimer(List<ProgramInfo> epgData, SeriesTimerInfo seriesTimer, bool updateTimerSettings, bool deleteInvalidTimers) { var allTimers = GetTimersForSeries(seriesTimer, epgData) .ToList(); @@ -2204,12 +2204,15 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV enabledTimersForSeries.Add(existingTimer); } - existingTimer.KeepUntil = seriesTimer.KeepUntil; - existingTimer.IsPostPaddingRequired = seriesTimer.IsPostPaddingRequired; - existingTimer.IsPrePaddingRequired = seriesTimer.IsPrePaddingRequired; - existingTimer.PostPaddingSeconds = seriesTimer.PostPaddingSeconds; - existingTimer.PrePaddingSeconds = seriesTimer.PrePaddingSeconds; - existingTimer.Priority = seriesTimer.Priority; + if (updateTimerSettings) + { + existingTimer.KeepUntil = seriesTimer.KeepUntil; + existingTimer.IsPostPaddingRequired = seriesTimer.IsPostPaddingRequired; + existingTimer.IsPrePaddingRequired = seriesTimer.IsPrePaddingRequired; + existingTimer.PostPaddingSeconds = seriesTimer.PostPaddingSeconds; + existingTimer.PrePaddingSeconds = seriesTimer.PrePaddingSeconds; + existingTimer.Priority = seriesTimer.Priority; + } existingTimer.SeriesTimerId = seriesTimer.Id; _timerProvider.Update(existingTimer); diff --git a/Emby.Server.Implementations/LiveTv/LiveTvManager.cs b/Emby.Server.Implementations/LiveTv/LiveTvManager.cs index 265817cbe..525db4036 100644 --- a/Emby.Server.Implementations/LiveTv/LiveTvManager.cs +++ b/Emby.Server.Implementations/LiveTv/LiveTvManager.cs @@ -1681,7 +1681,7 @@ namespace Emby.Server.Implementations.LiveTv return new QueryResult<BaseItem>(); } - if (_services.Count == 1 && !(query.IsInProgress ?? false)) + if (_services.Count == 1 && !(query.IsInProgress ?? false) && (!query.IsLibraryItem.HasValue || query.IsLibraryItem.Value)) { return GetEmbyRecordings(query, new DtoOptions(), user); } diff --git a/Emby.Server.Implementations/Migrations/LibraryScanMigration.cs b/Emby.Server.Implementations/Migrations/LibraryScanMigration.cs index c494abc0b..600dd8033 100644 --- a/Emby.Server.Implementations/Migrations/LibraryScanMigration.cs +++ b/Emby.Server.Implementations/Migrations/LibraryScanMigration.cs @@ -33,10 +33,10 @@ namespace Emby.Server.Implementations.Migrations { Task.Run(() => { - var task = _taskManager.ScheduledTasks.Select(i => i.ScheduledTask) - .First(i => string.Equals(i.Key, "RefreshLibrary", StringComparison.OrdinalIgnoreCase)); - - _taskManager.QueueScheduledTask(task); + _taskManager.QueueScheduledTask(_taskManager.ScheduledTasks.Select(i => i.ScheduledTask) + .First(i => string.Equals(i.Key, "RefreshLibrary", StringComparison.OrdinalIgnoreCase))); + _taskManager.QueueScheduledTask(_taskManager.ScheduledTasks.Select(i => i.ScheduledTask) + .First(i => string.Equals(i.Key, "RefreshGuide", StringComparison.OrdinalIgnoreCase))); }); var list = _config.Configuration.Migrations.ToList(); |
