Browse Source

Add missing lyric fetcher settings from library options

Cody Robibero 10 months ago
parent
commit
0bf7babcbe

+ 10 - 0
Jellyfin.Api/Controllers/LibraryController.cs

@@ -857,6 +857,16 @@ public class LibraryController : BaseJellyfinApiController
             .DistinctBy(i => i.Name, StringComparer.OrdinalIgnoreCase)
             .DistinctBy(i => i.Name, StringComparer.OrdinalIgnoreCase)
             .ToArray();
             .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>();
         var typeOptions = new List<LibraryTypeOptionsDto>();
 
 
         foreach (var type in types)
         foreach (var type in types)

+ 5 - 0
Jellyfin.Api/Models/LibraryDtos/LibraryOptionsResultDto.cs

@@ -23,6 +23,11 @@ public class LibraryOptionsResultDto
     /// </summary>
     /// </summary>
     public IReadOnlyList<LibraryOptionInfoDto> SubtitleFetchers { get; set; } = Array.Empty<LibraryOptionInfoDto>();
     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>
     /// <summary>
     /// Gets or sets the type options.
     /// Gets or sets the type options.
     /// </summary>
     /// </summary>

+ 6 - 0
MediaBrowser.Model/Configuration/LibraryOptions.cs

@@ -13,6 +13,8 @@ namespace MediaBrowser.Model.Configuration
             DisabledSubtitleFetchers = Array.Empty<string>();
             DisabledSubtitleFetchers = Array.Empty<string>();
             SubtitleFetcherOrder = Array.Empty<string>();
             SubtitleFetcherOrder = Array.Empty<string>();
             DisabledLocalMetadataReaders = Array.Empty<string>();
             DisabledLocalMetadataReaders = Array.Empty<string>();
+            DisabledLyricFetchers = Array.Empty<string>();
+            LyricFetcherOrder = Array.Empty<string>();
 
 
             SkipSubtitlesIfAudioTrackMatches = true;
             SkipSubtitlesIfAudioTrackMatches = true;
             RequirePerfectSubtitleMatch = true;
             RequirePerfectSubtitleMatch = true;
@@ -97,6 +99,10 @@ namespace MediaBrowser.Model.Configuration
         [DefaultValue(false)]
         [DefaultValue(false)]
         public bool SaveLyricsWithMedia { get; set; }
         public bool SaveLyricsWithMedia { get; set; }
 
 
+        public string[] DisabledLyricFetchers { get; set; }
+
+        public string[] LyricFetcherOrder { get; set; }
+
         public bool AutomaticallyAddToCollection { get; set; }
         public bool AutomaticallyAddToCollection { get; set; }
 
 
         public EmbeddedSubtitleOptions AllowEmbeddedSubtitles { get; set; }
         public EmbeddedSubtitleOptions AllowEmbeddedSubtitles { get; set; }