diff options
| author | Cody Robibero <cody@robibe.ro> | 2024-08-05 15:59:55 -0600 |
|---|---|---|
| committer | Cody Robibero <cody@robibe.ro> | 2024-08-05 15:59:55 -0600 |
| commit | 0bf7babcbe259e2f21b5fdba7732b98c4381cce5 (patch) | |
| tree | 7bcbde0ec8eba4ff0c28b5ddc188c1864f6d9e95 | |
| parent | 82ad4b9235b6d39247ee32e182957a57af2c01da (diff) | |
Add missing lyric fetcher settings from library options
| -rw-r--r-- | Jellyfin.Api/Controllers/LibraryController.cs | 10 | ||||
| -rw-r--r-- | Jellyfin.Api/Models/LibraryDtos/LibraryOptionsResultDto.cs | 5 | ||||
| -rw-r--r-- | MediaBrowser.Model/Configuration/LibraryOptions.cs | 6 |
3 files changed, 21 insertions, 0 deletions
diff --git a/Jellyfin.Api/Controllers/LibraryController.cs b/Jellyfin.Api/Controllers/LibraryController.cs index 62cb59335..afc93c3a8 100644 --- a/Jellyfin.Api/Controllers/LibraryController.cs +++ b/Jellyfin.Api/Controllers/LibraryController.cs @@ -857,6 +857,16 @@ public class LibraryController : BaseJellyfinApiController .DistinctBy(i => i.Name, StringComparer.OrdinalIgnoreCase) .ToArray(); + result.LyricFetchers = plugins + .SelectMany(i => i.Plugins.Where(p => p.Type == MetadataPluginType.LyricFetcher)) + .Select(i => new LibraryOptionInfoDto + { + Name = i.Name, + DefaultEnabled = true + }) + .DistinctBy(i => i.Name, StringComparer.OrdinalIgnoreCase) + .ToArray(); + var typeOptions = new List<LibraryTypeOptionsDto>(); foreach (var type in types) diff --git a/Jellyfin.Api/Models/LibraryDtos/LibraryOptionsResultDto.cs b/Jellyfin.Api/Models/LibraryDtos/LibraryOptionsResultDto.cs index 78efacd94..53b5e3b7c 100644 --- a/Jellyfin.Api/Models/LibraryDtos/LibraryOptionsResultDto.cs +++ b/Jellyfin.Api/Models/LibraryDtos/LibraryOptionsResultDto.cs @@ -24,6 +24,11 @@ public class LibraryOptionsResultDto public IReadOnlyList<LibraryOptionInfoDto> SubtitleFetchers { get; set; } = Array.Empty<LibraryOptionInfoDto>(); /// <summary> + /// Gets or sets the list of lyric fetchers. + /// </summary> + public IReadOnlyList<LibraryOptionInfoDto> LyricFetchers { get; set; } = Array.Empty<LibraryOptionInfoDto>(); + + /// <summary> /// Gets or sets the type options. /// </summary> public IReadOnlyList<LibraryTypeOptionsDto> TypeOptions { get; set; } = Array.Empty<LibraryTypeOptionsDto>(); diff --git a/MediaBrowser.Model/Configuration/LibraryOptions.cs b/MediaBrowser.Model/Configuration/LibraryOptions.cs index c956bee47..b0f5c2a11 100644 --- a/MediaBrowser.Model/Configuration/LibraryOptions.cs +++ b/MediaBrowser.Model/Configuration/LibraryOptions.cs @@ -13,6 +13,8 @@ namespace MediaBrowser.Model.Configuration DisabledSubtitleFetchers = Array.Empty<string>(); SubtitleFetcherOrder = Array.Empty<string>(); DisabledLocalMetadataReaders = Array.Empty<string>(); + DisabledLyricFetchers = Array.Empty<string>(); + LyricFetcherOrder = Array.Empty<string>(); SkipSubtitlesIfAudioTrackMatches = true; RequirePerfectSubtitleMatch = true; @@ -97,6 +99,10 @@ namespace MediaBrowser.Model.Configuration [DefaultValue(false)] public bool SaveLyricsWithMedia { get; set; } + public string[] DisabledLyricFetchers { get; set; } + + public string[] LyricFetcherOrder { get; set; } + public bool AutomaticallyAddToCollection { get; set; } public EmbeddedSubtitleOptions AllowEmbeddedSubtitles { get; set; } |
