From 9b185e19e9afebabf244541068e1268339ccf019 Mon Sep 17 00:00:00 2001 From: Jason Dove Date: Sun, 25 Sep 2022 22:27:34 -0500 Subject: [PATCH] fix other video search results when nfo metadata is used (#970) * add debug no sync build config * fix other video search results * update dependencies --- CHANGELOG.md | 3 ++- ErsatzTV.Infrastructure/Search/SearchIndex.cs | 7 +++++-- ErsatzTV.sln | 17 +++++++++++++++++ ErsatzTV/ErsatzTV.csproj | 4 +++- ErsatzTV/Services/SchedulerService.cs | 2 ++ ErsatzTV/Services/WorkerService.cs | 2 ++ ErsatzTV/Startup.cs | 4 +++- 7 files changed, 34 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 00c4d63f5..71b56c5dd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,7 +7,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). ### Fixed - Fix typo introduced in `0.6.7-beta` that stopped QSV HEVC encoder from working - Fix scaling logic for `Nvidia` acceleration and software mode -- Attempt to position watermarks within content (not over added black padding) +- Attempt to position watermarks within content (not over added black padding) +- Fix search results for `Other Videos` when NFO metadata is used ### Added - Add `QSV Device` option to ffmpeg profile on linux diff --git a/ErsatzTV.Infrastructure/Search/SearchIndex.cs b/ErsatzTV.Infrastructure/Search/SearchIndex.cs index a23898b06..daabf553d 100644 --- a/ErsatzTV.Infrastructure/Search/SearchIndex.cs +++ b/ErsatzTV.Infrastructure/Search/SearchIndex.cs @@ -89,7 +89,7 @@ public sealed class SearchIndex : ISearchIndex _initialized = false; } - public int Version => 30; + public int Version => 31; public async Task Initialize( ILocalFileSystem localFileSystem, @@ -1144,7 +1144,7 @@ public sealed class SearchIndex : ISearchIndex EpisodeMetadata em => $"{em.Title}_{em.Episode.Season.Show.ShowMetadata.Head().Title}_{em.Year}_{em.Episode.Season.SeasonNumber}_{em.EpisodeNumber}_{em.Episode.State}" .ToLowerInvariant(), - OtherVideoMetadata ovm => $"{ovm.OriginalTitle}_{ovm.Year}_{ovm.OtherVideo.State}".ToLowerInvariant(), + OtherVideoMetadata ovm => $"{OtherVideoTitle(ovm)}_{ovm.Year}_{ovm.OtherVideo.State}".ToLowerInvariant(), SongMetadata sm => $"{sm.Title}_{sm.Year}_{sm.Song.State}".ToLowerInvariant(), MovieMetadata mm => $"{mm.Title}_{mm.Year}_{mm.Movie.State}".ToLowerInvariant(), ArtistMetadata am => $"{am.Title}_{am.Year}_{am.Artist.State}".ToLowerInvariant(), @@ -1163,4 +1163,7 @@ public sealed class SearchIndex : ISearchIndex _ => "#" }; } + + private static string OtherVideoTitle(OtherVideoMetadata ovm) => + string.IsNullOrWhiteSpace(ovm.OriginalTitle) ? ovm.Title : ovm.OriginalTitle; } diff --git a/ErsatzTV.sln b/ErsatzTV.sln index 2b4ae94e8..7160e020a 100644 --- a/ErsatzTV.sln +++ b/ErsatzTV.sln @@ -20,40 +20,57 @@ Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU Release|Any CPU = Release|Any CPU + Debug No Sync|Any CPU = Debug No Sync|Any CPU EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {E83551AD-27E4-46E5-AD06-5B0DF797B8FF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {E83551AD-27E4-46E5-AD06-5B0DF797B8FF}.Debug|Any CPU.Build.0 = Debug|Any CPU {E83551AD-27E4-46E5-AD06-5B0DF797B8FF}.Release|Any CPU.ActiveCfg = Release|Any CPU {E83551AD-27E4-46E5-AD06-5B0DF797B8FF}.Release|Any CPU.Build.0 = Release|Any CPU + {E83551AD-27E4-46E5-AD06-5B0DF797B8FF}.Debug No Sync|Any CPU.ActiveCfg = Debug No Sync|Any CPU + {E83551AD-27E4-46E5-AD06-5B0DF797B8FF}.Debug No Sync|Any CPU.Build.0 = Debug No Sync|Any CPU {C56FC23D-B863-401E-8E7C-E92BC307AFC1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {C56FC23D-B863-401E-8E7C-E92BC307AFC1}.Debug|Any CPU.Build.0 = Debug|Any CPU {C56FC23D-B863-401E-8E7C-E92BC307AFC1}.Release|Any CPU.ActiveCfg = Release|Any CPU {C56FC23D-B863-401E-8E7C-E92BC307AFC1}.Release|Any CPU.Build.0 = Release|Any CPU + {C56FC23D-B863-401E-8E7C-E92BC307AFC1}.Debug No Sync|Any CPU.ActiveCfg = Debug|Any CPU + {C56FC23D-B863-401E-8E7C-E92BC307AFC1}.Debug No Sync|Any CPU.Build.0 = Debug|Any CPU {BAC52351-F5CC-47A7-9C60-3E9551A3E26A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {BAC52351-F5CC-47A7-9C60-3E9551A3E26A}.Debug|Any CPU.Build.0 = Debug|Any CPU {BAC52351-F5CC-47A7-9C60-3E9551A3E26A}.Release|Any CPU.ActiveCfg = Release|Any CPU {BAC52351-F5CC-47A7-9C60-3E9551A3E26A}.Release|Any CPU.Build.0 = Release|Any CPU + {BAC52351-F5CC-47A7-9C60-3E9551A3E26A}.Debug No Sync|Any CPU.ActiveCfg = Debug|Any CPU + {BAC52351-F5CC-47A7-9C60-3E9551A3E26A}.Debug No Sync|Any CPU.Build.0 = Debug|Any CPU {CBA93B70-0241-4A73-ABC6-A6E3976A6D7C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {CBA93B70-0241-4A73-ABC6-A6E3976A6D7C}.Debug|Any CPU.Build.0 = Debug|Any CPU {CBA93B70-0241-4A73-ABC6-A6E3976A6D7C}.Release|Any CPU.ActiveCfg = Release|Any CPU {CBA93B70-0241-4A73-ABC6-A6E3976A6D7C}.Release|Any CPU.Build.0 = Release|Any CPU + {CBA93B70-0241-4A73-ABC6-A6E3976A6D7C}.Debug No Sync|Any CPU.ActiveCfg = Debug|Any CPU + {CBA93B70-0241-4A73-ABC6-A6E3976A6D7C}.Debug No Sync|Any CPU.Build.0 = Debug|Any CPU {CE7F1ACD-F286-4761-A7BC-A541A1E25C86}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {CE7F1ACD-F286-4761-A7BC-A541A1E25C86}.Debug|Any CPU.Build.0 = Debug|Any CPU {CE7F1ACD-F286-4761-A7BC-A541A1E25C86}.Release|Any CPU.ActiveCfg = Release|Any CPU {CE7F1ACD-F286-4761-A7BC-A541A1E25C86}.Release|Any CPU.Build.0 = Release|Any CPU + {CE7F1ACD-F286-4761-A7BC-A541A1E25C86}.Debug No Sync|Any CPU.ActiveCfg = Debug|Any CPU + {CE7F1ACD-F286-4761-A7BC-A541A1E25C86}.Debug No Sync|Any CPU.Build.0 = Debug|Any CPU {1B6A8CD8-7E5A-448E-BED2-2774BC87A20F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {1B6A8CD8-7E5A-448E-BED2-2774BC87A20F}.Debug|Any CPU.Build.0 = Debug|Any CPU {1B6A8CD8-7E5A-448E-BED2-2774BC87A20F}.Release|Any CPU.ActiveCfg = Release|Any CPU {1B6A8CD8-7E5A-448E-BED2-2774BC87A20F}.Release|Any CPU.Build.0 = Release|Any CPU + {1B6A8CD8-7E5A-448E-BED2-2774BC87A20F}.Debug No Sync|Any CPU.ActiveCfg = Debug|Any CPU + {1B6A8CD8-7E5A-448E-BED2-2774BC87A20F}.Debug No Sync|Any CPU.Build.0 = Debug|Any CPU {1C892530-CF92-4F43-8C64-BCEEF958D726}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {1C892530-CF92-4F43-8C64-BCEEF958D726}.Debug|Any CPU.Build.0 = Debug|Any CPU {1C892530-CF92-4F43-8C64-BCEEF958D726}.Release|Any CPU.ActiveCfg = Release|Any CPU {1C892530-CF92-4F43-8C64-BCEEF958D726}.Release|Any CPU.Build.0 = Release|Any CPU + {1C892530-CF92-4F43-8C64-BCEEF958D726}.Debug No Sync|Any CPU.ActiveCfg = Debug|Any CPU + {1C892530-CF92-4F43-8C64-BCEEF958D726}.Debug No Sync|Any CPU.Build.0 = Debug|Any CPU {591FB3F4-4DD8-441B-B7C8-F2A42BF69992}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {591FB3F4-4DD8-441B-B7C8-F2A42BF69992}.Debug|Any CPU.Build.0 = Debug|Any CPU {591FB3F4-4DD8-441B-B7C8-F2A42BF69992}.Release|Any CPU.ActiveCfg = Release|Any CPU {591FB3F4-4DD8-441B-B7C8-F2A42BF69992}.Release|Any CPU.Build.0 = Release|Any CPU + {591FB3F4-4DD8-441B-B7C8-F2A42BF69992}.Debug No Sync|Any CPU.ActiveCfg = Debug|Any CPU + {591FB3F4-4DD8-441B-B7C8-F2A42BF69992}.Debug No Sync|Any CPU.Build.0 = Debug|Any CPU EndGlobalSection GlobalSection(NestedProjects) = preSolution EndGlobalSection diff --git a/ErsatzTV/ErsatzTV.csproj b/ErsatzTV/ErsatzTV.csproj index bfe7adec7..8d3f7a8fd 100644 --- a/ErsatzTV/ErsatzTV.csproj +++ b/ErsatzTV/ErsatzTV.csproj @@ -10,6 +10,8 @@ enable VSTHRD200 true + Debug;Release;Debug No Sync + AnyCPU @@ -72,7 +74,7 @@ all runtime; build; native; contentfiles; analyzers; buildtransitive - + diff --git a/ErsatzTV/Services/SchedulerService.cs b/ErsatzTV/Services/SchedulerService.cs index 1624febae..ff4059e3f 100644 --- a/ErsatzTV/Services/SchedulerService.cs +++ b/ErsatzTV/Services/SchedulerService.cs @@ -93,10 +93,12 @@ public class SchedulerService : BackgroundService { await DeleteOrphanedArtwork(cancellationToken); await BuildPlayouts(cancellationToken); +#if !DEBUG_NO_SYNC await ScanLocalMediaSources(cancellationToken); await ScanPlexMediaSources(cancellationToken); await ScanJellyfinMediaSources(cancellationToken); await ScanEmbyMediaSources(cancellationToken); +#endif await MatchTraktLists(cancellationToken); } catch (Exception ex) when (ex is TaskCanceledException or OperationCanceledException) diff --git a/ErsatzTV/Services/WorkerService.cs b/ErsatzTV/Services/WorkerService.cs index afefc143b..39283e57f 100644 --- a/ErsatzTV/Services/WorkerService.cs +++ b/ErsatzTV/Services/WorkerService.cs @@ -60,6 +60,7 @@ public class WorkerService : BackgroundService error.Value)); break; case IScanLocalLibrary scanLocalLibrary: +#if !DEBUG_NO_SYNC Either scanResult = await mediator.Send( scanLocalLibrary, cancellationToken); @@ -71,6 +72,7 @@ public class WorkerService : BackgroundService "Unable to scan local library {LibraryId}: {Error}", scanLocalLibrary.LibraryId, error.Value)); +#endif break; case RebuildSearchIndex rebuildSearchIndex: await mediator.Send(rebuildSearchIndex, cancellationToken); diff --git a/ErsatzTV/Startup.cs b/ErsatzTV/Startup.cs index 389a9cb50..360241640 100644 --- a/ErsatzTV/Startup.cs +++ b/ErsatzTV/Startup.cs @@ -437,14 +437,16 @@ public class Startup services.AddHostedService(); // background services +#if !DEBUG_NO_SYNC services.AddHostedService(); services.AddHostedService(); services.AddHostedService(); + services.AddHostedService(); +#endif services.AddHostedService(); services.AddHostedService(); services.AddHostedService(); services.AddHostedService(); - services.AddHostedService(); } private void AddChannel(IServiceCollection services)