feat(02): controller UI — vertical anim list, play/pause, browser audio, terminal aesthetic

- Replace waveform+DAW layout with animation controller
- Animations as vertical list with > cursor, no icons
- Transport: play/pause button, seek slider, time display
- Browser <audio> handles playback, 10Hz ticks to server
- Sidebar: devices only (200px)
- python:3.11-slim base (replaces Alpine, fixes librosa/numba build)
- libsndfile symlink kept for soundfile
- Remove python-mpv, add librosa for beat detection
This commit is contained in:
Claude
2026-04-06 17:32:11 +00:00
parent 9c1ca03957
commit 37f483e880
4 changed files with 435 additions and 559 deletions

View File

@@ -1,13 +1,12 @@
FROM python:3.11-alpine
FROM python:3.11-slim
WORKDIR /app
# Audio stack: ffmpeg for MP3 waveform + librosa, libsndfile for soundfile
RUN apk add --no-cache \
# ffmpeg for librosa audio decoding, libsndfile for soundfile
RUN apt-get update && apt-get install -y --no-install-recommends \
ffmpeg \
ffmpeg-libs \
libsndfile && \
ln -sf /usr/lib/libsndfile.so.1 /usr/lib/libsndfile.so
libsndfile1 && \
rm -rf /var/lib/apt/lists/*
COPY pyproject.toml .
RUN pip install --no-cache-dir .