owen and Claude 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
4a5add80b6
OpenSubsonic: playbackReport extension (reportPlayback), integrated with now-playing/history
2026-08-23 08:08:35 -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
fce44a2ffd
Add real podcast subsystem: RSS feed refresh, bounded background downloads, restart recovery
2026-08-23 00:24:43 -05:00
owen
8d93bea384
Subsonic: user management endpoints (getUser, getUsers, createUser, updateUser, deleteUser, changePassword) with full permission model mapping
2026-08-23 00:22:44 -05:00
owen
d92a25b141
Subsonic: internet radio, chat, bookmarks, play queue, scanner status endpoints
2026-08-23 00:21:13 -05:00
owen
c6e0131984
Subsonic: sharing (getShares, createShare, updateShare, deleteShare) plus real public share web pages and stream route
2026-08-23 00:18:51 -05:00
owen
c7b472ab99
Subsonic: media retrieval endpoints (stream, download, getCoverArt, getLyrics, getAvatar, hls, getCaptions) with real transcoding, embedded lyrics extraction, and folder permission enforcement
2026-08-23 00:15:00 -05:00
owen
6e2b875eaa
Subsonic: playlist endpoints (getPlaylists, getPlaylist, createPlaylist, updatePlaylist, deletePlaylist)
2026-08-23 00:09:36 -05:00
owen
a297454065
Subsonic: album/song lists (getAlbumList/2, getRandomSongs, getSongsByGenre, getNowPlaying, getStarred/2) and search (search, search2, search3)
2026-08-23 00:08:06 -05:00
owen
f40a011c46
Subsonic: browsing endpoints (getMusicFolders, getIndexes, getMusicDirectory, getGenres, getArtists/Artist, getAlbum, getSong, getVideos/VideoInfo, getArtistInfo/2, getAlbumInfo/2, getSimilarSongs/2, getTopSongs)
2026-08-23 00:06:08 -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
e0bd8bc3cb
Web UI: setup wizard, auth pages, library browsing, player, admin, streaming, cover art
2026-08-22 23:42:09 -05:00
owen
d4ea7a4ca9
Foundation: config, schema/migrations, auth, stable IDs, metadata probing
2026-08-22 23:29:16 -05:00