Initial commit: CinemaTrailers4Jellyfins plugin
Some checks failed
Publish Release / release (push) Failing after 17s

Adapted from Trailers4Jellyfin: keeps TMDB/YouTube trailer downloading,
the scheduled task, language/source/date filters, and trailer rotation,
but drops cinema-mode/IIntroProvider entirely. Each trailer now ships in
its own fake-movie folder (placeholder video + locked NFO + trailer) for
use with a Cinema Mode / trailer pre-roll plugin.
This commit is contained in:
Martin
2026-06-08 14:24:28 -04:00
commit c2d2b1ae44
17 changed files with 1637 additions and 0 deletions

View File

@@ -0,0 +1,42 @@
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 ─────────────────────────────────────────────────────────
/// <summary>Comma-separated ISO 639-1 codes. Empty = all languages allowed.</summary>
public string AllowedLanguages { get; set; } = string.Empty;
// ── Trailer Rotation ──────────────────────────────────────────────────
/// <summary>Maximum trailers to keep on disk. Oldest are deleted first when exceeded. 0 = unlimited.</summary>
public int MaxTotalTrailers { get; set; } = 50;
}
}