feat: play real music from local library in Memories slideshow

Scans MUSIC_DIR (mounted at /music in Docker) with music-metadata to
read embedded BPM/genre tags and classify tracks as upbeat/cinematic/
dreamy. Falls back to untagged general pool when mood bucket is thin.
Slideshow plays real audio via <audio> element with range-request
streaming; Web Audio synth is kept as fallback when MUSIC_DIR is unset.
Shows now-playing title/artist in the slideshow bottom bar.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
nmemmertandClaude Sonnet 4.6 committed 2026-08-18 15:26:18 -04:00
1 parent d35836131a
commit 6f4e90a1c8
6 files changed
+493 -24

No files matched your search

+5
View File
@@ -11,6 +11,7 @@ services:
PORT: "3000"
DB_PATH: /data/library.db
POSTER_DIR: /data/posters
MUSIC_DIR: /music
NODE_ENV: production
volumes:
- type: volume
@@ -19,6 +20,10 @@ services:
- type: bind
source: /media/Plex/Gallery
target: /photos
- type: bind
source: /DATA/Media/Music
target: /music
read_only: true
healthcheck:
test: ["CMD", "wget", "-qO-", "http://localhost:3000/api/health"]
interval: 30s