123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153 |
- #pragma warning disable CS1591
- using System;
- using System.ComponentModel;
- using System.Linq;
- namespace MediaBrowser.Model.Configuration
- {
- public class LibraryOptions
- {
- private static readonly string[] _defaultTagDelimiters = ["/", "|", ";", "\\"];
- public LibraryOptions()
- {
- TypeOptions = Array.Empty<TypeOptions>();
- DisabledSubtitleFetchers = Array.Empty<string>();
- DisabledMediaSegmentProviders = Array.Empty<string>();
- MediaSegmentProviderOrder = Array.Empty<string>();
- SubtitleFetcherOrder = Array.Empty<string>();
- DisabledLocalMetadataReaders = Array.Empty<string>();
- DisabledLyricFetchers = Array.Empty<string>();
- LyricFetcherOrder = Array.Empty<string>();
- SkipSubtitlesIfAudioTrackMatches = true;
- RequirePerfectSubtitleMatch = true;
- AllowEmbeddedSubtitles = EmbeddedSubtitleOptions.AllowAll;
- AutomaticallyAddToCollection = false;
- EnablePhotos = true;
- SaveSubtitlesWithMedia = true;
- SaveLyricsWithMedia = false;
- SaveTrickplayWithMedia = false;
- PathInfos = Array.Empty<MediaPathInfo>();
- EnableAutomaticSeriesGrouping = true;
- SeasonZeroDisplayName = "Specials";
- PreferNonstandardArtistsTag = false;
- UseCustomTagDelimiters = false;
- CustomTagDelimiters = _defaultTagDelimiters;
- DelimiterWhitelist = Array.Empty<string>();
- }
- public bool Enabled { get; set; } = true;
- public bool EnablePhotos { get; set; }
- public bool EnableRealtimeMonitor { get; set; }
- public bool EnableLUFSScan { get; set; }
- public bool EnableChapterImageExtraction { get; set; }
- public bool ExtractChapterImagesDuringLibraryScan { get; set; }
- public bool EnableTrickplayImageExtraction { get; set; }
- public bool ExtractTrickplayImagesDuringLibraryScan { get; set; }
- public MediaPathInfo[] PathInfos { get; set; }
- public bool SaveLocalMetadata { get; set; }
- [Obsolete("Disable remote providers in TypeOptions instead")]
- public bool EnableInternetProviders { get; set; }
- public bool EnableAutomaticSeriesGrouping { get; set; }
- public bool EnableEmbeddedTitles { get; set; }
- public bool EnableEmbeddedExtrasTitles { get; set; }
- public bool EnableEmbeddedEpisodeInfos { get; set; }
- public int AutomaticRefreshIntervalDays { get; set; }
- /// <summary>
- /// Gets or sets the preferred metadata language.
- /// </summary>
- /// <value>The preferred metadata language.</value>
- public string? PreferredMetadataLanguage { get; set; }
- /// <summary>
- /// Gets or sets the metadata country code.
- /// </summary>
- /// <value>The metadata country code.</value>
- public string? MetadataCountryCode { get; set; }
- public string SeasonZeroDisplayName { get; set; }
- public string[]? MetadataSavers { get; set; }
- public string[] DisabledLocalMetadataReaders { get; set; }
- public string[]? LocalMetadataReaderOrder { get; set; }
- public string[] DisabledSubtitleFetchers { get; set; }
- public string[] SubtitleFetcherOrder { get; set; }
- public string[] DisabledMediaSegmentProviders { get; set; }
- public string[] MediaSegmentProviderOrder { get; set; }
- public bool SkipSubtitlesIfEmbeddedSubtitlesPresent { get; set; }
- public bool SkipSubtitlesIfAudioTrackMatches { get; set; }
- public string[]? SubtitleDownloadLanguages { get; set; }
- public bool RequirePerfectSubtitleMatch { get; set; }
- public bool SaveSubtitlesWithMedia { get; set; }
- [DefaultValue(false)]
- public bool SaveLyricsWithMedia { get; set; }
- [DefaultValue(false)]
- public bool SaveTrickplayWithMedia { get; set; }
- public string[] DisabledLyricFetchers { get; set; }
- public string[] LyricFetcherOrder { get; set; }
- [DefaultValue(false)]
- public bool PreferNonstandardArtistsTag { get; set; }
- [DefaultValue(false)]
- public bool UseCustomTagDelimiters { get; set; }
- public string[] CustomTagDelimiters { get; set; }
- public string[] DelimiterWhitelist { get; set; }
- public bool AutomaticallyAddToCollection { get; set; }
- public EmbeddedSubtitleOptions AllowEmbeddedSubtitles { get; set; }
- public TypeOptions[] TypeOptions { get; set; }
- public TypeOptions? GetTypeOptions(string type)
- {
- foreach (var options in TypeOptions)
- {
- if (string.Equals(options.Type, type, StringComparison.OrdinalIgnoreCase))
- {
- return options;
- }
- }
- return null;
- }
- }
- }
|