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
efedf1a6bf
Add LRC/Enhanced LRC parser (line and word-level timing, UTF-8 safe)
2026-08-23 08:10:06 -05:00
owen
4a5add80b6
OpenSubsonic: playbackReport extension (reportPlayback), integrated with now-playing/history
2026-08-23 08:08:35 -05:00
owen
d3074ab6fe
OpenSubsonic: indexBasedQueue (getPlayQueueByIndex, savePlayQueueByIndex) with real duplicate-song support
2026-08-23 08:07:16 -05:00
owen
e88f4e040c
OpenSubsonic: getPodcastEpisode, topSongsByArtistId, transcodeOffset (real ffmpeg seek)
2026-08-23 08:06:12 -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
3b4883780b
Fix test-leaked HLS cache directory tracked in repo; give subsonic tests a real DataDir
2026-08-23 00:38:57 -05:00
owen
6ac50994b8
Phase 2: exhaustive Subsonic 1.16.1 compatibility matrix, README/config/Docker updates
2026-08-23 00:38:09 -05:00
owen
f1fdd8d2c2
Web UI: podcasts, radio, shares, bookmarks pages; admin podcast/jukebox management; per-user Subsonic permission editor
2026-08-23 00:34:58 -05:00
owen
2e222bd193
Subsonic: jukeboxControl endpoint wired to real mpv-backed controller
2026-08-23 00:29:59 -05:00
owen
12eb4b9d01
Add real mpv-backed jukebox controller (JSON IPC), tested against real mpv
2026-08-23 00:27:59 -05:00
owen
c2166fa7d4
Subsonic: podcast endpoints (getPodcasts, getNewestPodcasts, refreshPodcasts, createPodcastChannel, deletePodcastChannel/Episode, downloadPodcastEpisode)
2026-08-23 00:26:14 -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
b77ccd242a
Subsonic: annotation endpoints (star, unstar, setRating, scrobble)
2026-08-23 00:15:58 -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
b6ec06f272
Add real ffmpeg-backed transcoding subsystem (bounded concurrency, streaming, HLS segmenting)
2026-08-23 00:10:55 -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
f81c8704a5
go mod tidy
2026-08-22 23:45:46 -05:00
owen
89e46bf539
Fix open-redirect via next parameter, remove dead code
2026-08-22 23:45:39 -05:00
owen
b4b1ba8470
Add Docker/systemd deployment, documentation, extauth logout URL wiring
2026-08-22 23:44:46 -05:00
owen
40e1cfb630
Add web-layer route/auth tests
2026-08-22 23:42:52 -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
aa29f13846
Streaming with range requests and path safety, cover art discovery/resize cache
2026-08-22 23:33:00 -05:00
owen
49dbee617a
Library indexing and filesystem scanner with incremental rescans
2026-08-22 23:31:17 -05:00
owen
d4ea7a4ca9
Foundation: config, schema/migrations, auth, stable IDs, metadata probing
2026-08-22 23:29:16 -05:00