Add LRCLIB lyrics integration for Jellyfin

- Create LrclibService to fetch lyrics from lrclib.net API
- Add LyricsInfo model for lyrics data
- Add /Audio/{itemId}/Lyrics and /Items/{itemId}/Lyrics endpoints
- Support both local and external songs
- Cache lyrics for 30 days in Redis
- Return lyrics in Jellyfin format with synced/plain lyrics
This commit is contained in:
2026-01-30 02:09:27 -05:00
parent ceaa17f018
commit f8969bea8d
4 changed files with 328 additions and 0 deletions

View File

@@ -0,0 +1,13 @@
namespace allstarr.Models.Lyrics;
public class LyricsInfo
{
public int Id { get; set; }
public string TrackName { get; set; } = string.Empty;
public string ArtistName { get; set; } = string.Empty;
public string AlbumName { get; set; } = string.Empty;
public int Duration { get; set; }
public bool Instrumental { get; set; }
public string? PlainLyrics { get; set; }
public string? SyncedLyrics { get; set; }
}