using MediaBrowser.Model.Plugins; namespace Jellyfin.Plugin.CinemaTrailers4Jellyfins.Configuration { public class PluginConfiguration : BasePluginConfiguration { // ── TMDB ────────────────────────────────────────────────────────────── public string TmdbApiKey { get; set; } = string.Empty; // ── Sources ─────────────────────────────────────────────────────────── public bool SourceNowPlaying { get; set; } = true; public bool SourceUpcoming { get; set; } = true; public bool SourcePopular { get; set; } = false; public bool SourceTopRated { get; set; } = false; // ── Date Range ──────────────────────────────────────────────────────── public int ReleaseDateRangeMonths { get; set; } = 6; // ── Download Settings ───────────────────────────────────────────────── public string DownloadFolder { get; set; } = string.Empty; public int MaxTrailersToDownload { get; set; } = 20; public int MaxPagesPerSource { get; set; } = 3; public int PreferredVideoHeight { get; set; } = 720; public bool SkipAlreadyDownloaded { get; set; } = true; public bool SkipMoviesInLibrary { get; set; } = true; public string YtDlpPath { get; set; } = string.Empty; // ── Languages ───────────────────────────────────────────────────────── /// Comma-separated ISO 639-1 codes. Empty = all languages allowed. public string AllowedLanguages { get; set; } = string.Empty; // ── Trailer Rotation ────────────────────────────────────────────────── /// Maximum trailers to keep on disk. Oldest are deleted first when exceeded. 0 = unlimited. public int MaxTotalTrailers { get; set; } = 50; // ── IIntroProvider (Cinema Mode / Wholphin) ─────────────────────────── /// Number of trailers to inject before each movie via IIntroProvider. 0 = disabled. public int TrailersPerMovie { get; set; } = 1; /// Only pick trailers whose genre overlaps with the movie being played. public bool FilterByGenre { get; set; } = false; /// Only pick trailers rated at most the same as the movie being played. public bool FilterByRating { get; set; } = false; /// Cycle through all trailers before repeating any. public bool AvoidRepeats { get; set; } = true; } }