v2.0.0.0
🇮🇹 Italiano
Plugin avanzato per Jellyfin che scarica le sigle anime (OP ed ED) da animethemes.moe con supporto multi-provider, gestione multi-stagione e generazione playlist globale.
| 🎬 Supporto Multi-Stagione (NEW v2.0) | Rilevamento automatico della stagione tramite regex multilingua (Season 2, 2a Stagione, Part II, numeri romani...). Mapping dei range episodi API alle stagioni Jellyfin. Elaborazione delle stagioni figlie di una Series. |
| 🎵 Multi-OP/ED per Stagione (NEW v2.0) | Modalità AllPerSeason: scarica tutte le sigle della stagione rilevata. Ogni OP/ED è un file separato per la rotazione continua in Jellyfin. |
| 🏷 Naming Migliorato (NEW v2.0) | Formato: OP1 - Guren no Yumiya__50.mp3. Nome tema dall'API + tipo e sequenza. Fallback a OP1__50.mp3 se troppo lungo. |
| 📋 Playlist Globale (NEW v2.0) | Generazione automatica M3U con tutte le sigle scaricate. Aggiornata dopo ogni sync. Nome playlist personalizzabile. |
| 🔧 Gestione Temi per Item (NEW v2.0) | API REST per sync, lista e cancellazione temi per singolo item. Pagina dedicata con badge scaricato/non e pulsanti one-click. |
| 🔄 Risoluzione Multi-Provider | AniDB, MyAnimeList, AniList, Kitsu, AniSearch — ordine di priorità configurabile. Fallback per titolo con fuzzy matching (Levenshtein). Compatibile con AnimeClick. |
| 🎵 Supporto Completo Sigle | Download audio (MP3) e video (WebM). Filtri configurabili: OP/ED, overlap, crediti, spoiler, NSFW. Normalizzazione volume via ffmpeg. Impostazioni separate per Serie e Film. |
| ⚡ Performance & Resilienza | Cache JSON persistente con TTL configurabili. Rate limiting token bucket (default 60 req/min). Retry Polly (3x backoff esponenziale) + circuit breaker. Download paralleli. |
- Gestore Plugin: aggiungi l'URL del catalogo ai repository di Jellyfin:
https://raw.githubusercontent.com/iCosiSenpai/iCosiSenpai-Plugins/main/manifest.json, trova "KometaThemes" e installa. - Manuale: scarica l'ultima release dalla pagina GitHub, estrai in
config/plugins/KometaThemes/, riavvia Jellyfin.
Dopo l'aggiornamento, fai un hard refresh della dashboard:
Ctrl+Shift+R.
- Priorità Provider: AniDB → AniList → MyAnimeList → Kitsu → AniSearch (riordinabile)
- Multi-Stagione: modalità Auto (nome + range episodi), Solo Nome, Solo Range Episodi
- Max temi per stagione: limita quanti OP/ED scaricare per stagione
- AllPerSeason: scarica TUTTI gli OP/ED appartenenti alla stagione rilevata
- Playlist: attiva la generazione automatica, nome personalizzabile
Per "Attack on Titan" Stagione 1:
theme-music/
OP1 - Guren no Yumiya__50.mp3
OP2 - Jiyuu no Tsubasa__50.mp3
ED1 - Utsukushiki Zankoku na Sekai__50.mp3
ED2 - Great Escape__50.mp3
backdrops/
OP1 - Guren no Yumiya__0.webm
- Aggiunto: supporto multi-stagione con mapping range episodi, rilevamento regex (EN/IT/JP), FetchType AllPerSeason, download paralleli, naming OP1 - Nome.mp3, PlaylistManager M3U, API REST per-item, pagina gestione temi, pulsante Force Sync Now con log live, adattamento tema chiaro/scuro. AniList metadata matching. Skip/Ignore system.
- Modificato: video themes abilitati di default (Single), sync task include Season items, UI riorganizzata
- Risolto: temi assegnati a tutte le stagioni indiscriminatamente, impossibilità di scaricare OP1 e OP2 insieme, nessun tracking dei download
dotnet build -c Release
Richiede .NET 9.0 SDK.
GPL-3.0 — Vedi LICENSE
🇬🇧 English
Enhanced plugin for Jellyfin that fetches anime themes (OPs and EDs) from animethemes.moe with multi-provider support, multi-season handling, and global playlist generation.
| 🎬 Multi-Season Support (NEW v2.0) | Automatic season detection via multi-language regex (Season 2, 2nd Season, Part II, roman numerals...). Episode range mapping from API to Jellyfin seasons. Child season processing within Series. |
| 🎵 Multi-OP/ED per Season (NEW v2.0) | AllPerSeason fetch type: downloads all themes belonging to the detected season. Each OP/ED is a separate file for continuous rotation in Jellyfin. |
| 🏷 Improved Naming (NEW v2.0) | Format: OP1 - Guren no Yumiya__50.mp3. Theme name from API + type + sequence. Fallback to OP1__50.mp3 if slug is too long. |
| 📋 Global Playlist (NEW v2.0) | Automatic M3U generation with all downloaded themes. Refreshed after every sync. Customizable playlist name. |
| 🔧 Per-Item Management (NEW v2.0) | REST API for per-item sync, listing, and deletion. Dedicated page with downloaded/missing badges and one-click buttons. |
| 🔄 Multi-Provider Resolution | AniDB, MyAnimeList, AniList, Kitsu, AniSearch — configurable priority order. Title fallback with fuzzy matching (Levenshtein). AnimeClick compatible. |
| 🎵 Full Theme Support | Audio (MP3) and video (WebM) downloads. Configurable filters: OP/ED, overlap, credits, spoilers, NSFW. Volume normalization via ffmpeg. Separate Series/Movie settings. |
| ⚡ Performance & Resilience | Persistent JSON cache with configurable TTLs. Token bucket rate limiting (default 60 req/min). Polly retry (3x exponential backoff) + circuit breaker. Parallel downloads. |
- Plugin Manager: add the catalog URL to Jellyfin repositories:
https://raw.githubusercontent.com/iCosiSenpai/iCosiSenpai-Plugins/main/manifest.json, find "KometaThemes", install. - Manual: download the latest release from GitHub, extract to
config/plugins/KometaThemes/, restart Jellyfin.
After upgrading, hard refresh the dashboard:
Ctrl+Shift+R.
- Provider Priority: AniDB → AniList → MyAnimeList → Kitsu → AniSearch (reorderable)
- Multi-Season: Auto mode (name + episode range), By Name, By Episode Range
- Max themes per season: limit how many OP/ED to download per season
- AllPerSeason: download ALL themes belonging to the detected season
- Playlist: enable automatic generation, customizable name
For "Attack on Titan" Season 1:
theme-music/
OP1 - Guren no Yumiya__50.mp3
OP2 - Jiyuu no Tsubasa__50.mp3
ED1 - Utsukushiki Zankoku na Sekai__50.mp3
ED2 - Great Escape__50.mp3
backdrops/
OP1 - Guren no Yumiya__0.webm
- Added: multi-season support with episode range mapping, regex-based season detection (EN/IT/JP), AllPerSeason fetch type, parallel downloads, OP1 - Name.mp3 naming, M3U PlaylistManager, per-item REST API, per-item management page, Force Sync Now button with live log, dark/light theme adaptation. AniList metadata matching. Skip/Ignore system.
- Changed: video themes default to Single, sync task includes Season items, UI reorganized
- Fixed: themes assigned to all seasons indiscriminately, couldn't download OP1+OP2 together, no download tracking
dotnet build -c Release
Requires .NET 9.0 SDK.
GPL-3.0 — See LICENSE
Author: iCosiSenpai | Repository: github.com/iCosiSenpai/KometaTheme | Themes source: animethemes.moe
