feat: add genre, rating, and avoid-repeats trailer filters
All checks were successful
Publish Release / release (push) Successful in 23s

Trailer selection now supports three optional filters:
- Genre match: prefer trailers whose fake-movie genre overlaps with the
  feature being played (requires TMDB genres in NFO)
- Age rating ceiling: exclude trailers rated higher than the feature
  (requires TMDB certification in NFO)
- Avoid repeats: cycle through all trailers before replaying any;
  resets per-user once the pool is exhausted

Genre and certification are fetched from TMDB at download time via a
single /movie/{id}?append_to_response=release_dates call and written
into the fake-movie NFO as <genre> and <mpaa> tags. All filters fall
back to the full unfiltered pool when no match is found.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Martin
2026-06-09 17:15:11 -04:00
parent 6772bde3b4
commit 83966f40ea
8 changed files with 231 additions and 24 deletions

View File

@@ -1,5 +1,5 @@
---
version: 1.0.0.2
version: 1.0.0.3
name: CinemaTrailers4Jellyfins
guid: b581493e-1046-40ed-b6dc-cb8027624984
description: >
@@ -12,10 +12,10 @@ category: General
owner: 514mart
targetAbi: 10.11.0.0
changelog:
- Add IIntroProvider support — downloaded trailers now play as pre-rolls before
movies in Jellyfin clients with cinema mode (Wholphin, etc.); configurable
trailers-per-movie count; recursion-safe so the intro items themselves never
trigger a second round of intro injection
- Add trailer selection filters — genre match, age rating ceiling, and avoid-repeats
cycle; genre and rating are written to each fake-movie NFO at download time from
TMDB so Jellyfin can use them for filtering; filters fall back to random when no
match is found
dotnetProjects:
- name: Jellyfin.Plugin.CinemaTrailers4Jellyfins