github kirtan3d/Jellyfin.Plugin.AssignThemeSong v1.2.0
xThemeSong v1.2.0 - Major Feature Update

latest releases: v1.2.5, v1.2.4, v1.2.3...
one month ago

xThemeSong v1.2.0 - Major Feature Update ๐ŸŽต

A Jellyfin plugin to download theme songs from YouTube or upload custom MP3 files for your movies and TV shows.

โœจ What's New in v1.2.0

๐Ÿ› Fixed: Scheduled Task Error

  • Issue: Task failed with "Cannot deserialize unknown type" error
  • Fix: Modified query to use BaseItemKind enum filtering (Movie, Series only)
  • Result: Scheduled task now runs successfully without crashes

๐Ÿ“ค Export/Import Theme Mappings (NEW!)

  • Export to JSON: Backup all theme assignments with full metadata
  • Export to CSV: Open in Excel/Sheets for bulk editing
  • Import from JSON: Restore themes on another server
  • Conflict Resolution: Handles ID changes, path mismatches, duplicates
  • Use Cases: Server migrations, backups, bulk theme management

๐Ÿ” Role-Based Access Control (NEW!)

  • Permission Modes:
    • Administrators Only: Restrict theme management to admins
    • Administrators & Library Managers (Default): Include library managers
    • Everyone: Allow all authenticated users
  • Security: API returns 403 Forbidden for unauthorized access
  • UI: Easy dropdown configuration in Settings tab

๐Ÿ‘ค Per-User Theme Preferences (NEW!)

  • Enable/Disable: Users can turn off theme songs for their account
  • Duration Limit: Set max playback duration (0-300 seconds, 0 = full)
  • Volume Control: Adjust theme song volume (0-100%)
  • Server-Side Storage: Preferences sync across devices
  • Access: Dashboard โ†’ Plugins โ†’ "xThemeSong User Preferences"

๐Ÿงน Code Quality Improvements

  • Reduced compiler warnings from 5 to 1 (80% reduction)
  • Added #nullable enable for better null safety
  • Code cleanup and optimization

๐Ÿ“‹ Complete Changelog (v1.2.0)

New Features

  • โœ… Export/Import theme song mappings (JSON/CSV)
  • โœ… Role-based access control with 3 permission modes
  • โœ… Per-user theme preferences (enable/disable, volume, duration)
  • โœ… User preferences page accessible to all users

Bug Fixes

  • โœ… Fixed scheduled task deserialization error
  • โœ… Fixed nullable reference type warnings

Technical Improvements

  • โœ… Added BaseItemKind enum filtering in queries
  • โœ… Proper namespace handling for System.IO.File
  • โœ… Improved error handling and logging
  • โœ… Code quality: 5 warnings โ†’ 1 warning

๐Ÿ†• New API Endpoints

Method Endpoint Description
GET /xThemeSong/export/json Export all themes to JSON
GET /xThemeSong/export/csv Export all themes to CSV
POST /xThemeSong/export/import Import themes from JSON
GET /xThemeSong/preferences Get user's theme preferences
POST /xThemeSong/preferences Save user's theme preferences

๐Ÿ“ฆ Installation

From Repository (Recommended)

  1. Add repository URL to Jellyfin:
    https://raw.githubusercontent.com/kirtan3d/Jellyfin.Plugin.AssignThemeSong/main/manifest.json
    
  2. Go to Dashboard โ†’ Plugins โ†’ Catalog
  3. Search for "xThemeSong" and update to v1.2.0
  4. Restart Jellyfin

Prerequisites

  • Jellyfin 10.11.0+ (requires .NET 9)
  • File Transformation Plugin - Required for Web UI features

๐ŸŽฏ Key Features (All Versions)

  • ๐ŸŽต Download theme songs from YouTube (video ID or URL)
  • ๐Ÿ“ค Upload custom MP3 files as theme songs
  • ๐ŸŽฌ Supports movies and TV shows
  • ๐Ÿ—‘๏ธ Delete existing theme songs
  • โš™๏ธ Custom FFmpeg path configuration
  • ๐Ÿ“š Media Library overview with theme song status
  • ๐Ÿ“ Bulk YouTube URL assignment
  • ๐Ÿ“ฅ Export/Import for backup and migration
  • ๐Ÿ” Role-based permission control
  • ๐Ÿ‘ค Per-user preference settings
  • ๐ŸŽง Audio player for existing themes
  • โฐ Scheduled task for batch processing

๐Ÿ”— Links


๐Ÿ™ Feedback

Please report any bugs or issues on GitHub. Happy theming! ๐ŸŽฌ๐ŸŽต

Don't miss a new Jellyfin.Plugin.AssignThemeSong release

NewReleases is sending notifications on new releases.