5 Commits
Author SHA1 Message Date
owen 866f243f1b weee 2026-08-23 14:13:18 -05:00
owenandClaude Sonnet 5 e48f063f03 Add structured lyrics storage and indexing (line/word timing, byte offsets)
Adds database.InsertLyrics/GetSongStructuredLyrics storing multiple
lyrics entries per song with per-line start times and, when the
source provides it, word-level cues carrying precomputed UTF-8 byte
offsets. library.IndexLyrics wires this into the scanner: embedded
plain-text tags are stored unsynced, and a same-basename sidecar .lrc
(plain or Enhanced) is parsed and stored synced, with word cues when
present. IndexFile now takes the media file's absolute path so lyrics
indexing can locate sidecar files.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014r98AtcBbevpscWLsfwVvv
2026-08-23 08:16:42 -05:00
owen e38d31d384 Phase 3: OpenSubsonic core (response envelope, error codes 42-44, getOpenSubsonicExtensions) and apiKeyAuthentication extension with tokenInfo, web API key management 2026-08-23 08:04:01 -05:00
owen b5e2bf01e2 Phase 2: Subsonic REST API framework (auth, response formatting, error handling, routing) plus user permission model 2026-08-22 23:58:54 -05:00
owen d4ea7a4ca9 Foundation: config, schema/migrations, auth, stable IDs, metadata probing 2026-08-22 23:29:16 -05:00