daniel-c-harvey
f10e20a0e2
Merge branch 'p1.2-w1-t1-format-processors' into dev
...
# Conflicts:
# DeepDrftAPI/Controllers/TrackController.cs
2026-06-11 08:20:05 -04:00
daniel-c-harvey
3bb8104967
feat(audio): add MP3 and FLAC upload support via format-routed processors
...
AudioProcessorRouter dispatches by extension; vault stores original bytes with correct MIME type.
2026-06-11 05:49:17 -04:00
daniel-c-harvey
d47a5e00af
feat(tracks): add ReleaseType and TrackNumber to track metadata model and CMS edit form
2026-06-10 21:36:00 -04:00
daniel-c-harvey
5cae83b9ed
feat: add search/album/genre filtering and /albums + /genres browse pages
2026-06-10 10:54:56 -04:00
daniel-c-harvey
f602eb9772
chore: remove WavOffsetService and ?offset= seek path, superseded by Range header (Phase 4.1)
2026-06-09 07:30:36 -04:00
daniel-c-harvey
aaa9f732ae
feat: replace ?offset= seek with HTTP Range streaming across API, proxy, and client
...
- API: enableRangeProcessing true on no-offset FileStream path
- Proxy: transparent Range relay, forwards 206/416/Content-Range verbatim
- TrackMediaClient: Range: bytes=X- replaces ?offset=X; response disposed via TrackMediaResponse
- StreamDecoder: reinitializeForRangeContinuation retains wavHeader, counts raw PCM against 206 Content-Length
- AudioPlayer: seekBeyondBuffer adds headerSize for file-absolute offset; duration guard prevents continuation overwriting full-track duration
- StreamingAudioPlayerService: seek guard corrected to >= 0 (file-absolute offset contract)
2026-06-09 07:00:35 -04:00
daniel-c-harvey
0d4ef369b9
feat: Stream Now instant-play of a random track from the nav button
2026-06-07 18:33:08 -04:00
daniel-c-harvey
627d5623f0
feat: image vault + cover-art API (upload/serve endpoints, ImagePath metadata link)
2026-06-07 16:16:38 -04:00
daniel-c-harvey
3de88c786a
feat: capture and display original upload filename for tracks
2026-06-07 09:00:17 -04:00
daniel-c-harvey
c83b132522
feature: Embed Frame Player
2026-06-06 15:43:09 -04:00
daniel-c-harvey
6e25ad3085
Add CMS waveform pre-processing panel with backfill endpoints
...
GET api/track/waveform-status and POST api/track/{id}/waveform (ApiKey);
CmsTrackService methods; TrackPreProcessing page with per-row and
sequential bulk generation; nav links from TrackList and Index.
2026-06-05 17:56:25 -04:00
daniel-c-harvey
de4583b759
Add waveform profile HTTP transport: API endpoint, public proxy, content client method
2026-06-05 16:57:42 -04:00
Daniel Harvey
e334886022
Eliminate DeepDrftPublic internal track API
2026-05-25 12:55:30 -04:00
Daniel Harvey
4351302a25
Flip ITrackService/TrackManager to DTO output; TrackConverter is the sole entity<->DTO path across all consumers
2026-05-25 11:35:04 -04:00
Daniel Harvey
551cef0fe8
DeepDrftAPI Rename
2026-05-25 10:38:36 -04:00