refactor: extract web UI page into webui.html
web.py was 1700 lines, more than half of it a single embedded HTML string. The page now lives in webui.html (loaded once at startup), so the frontend gets real syntax highlighting and web.py is pure Python. Dockerfile copies the new file alongside web.py. Also: ASCII startup banner (the arrow glyph crashed web.py on Windows when stdout was redirected to a cp1252 file), and README fixes — document the ALSA PCM-name device fallback and drop the monitor device row, which the ALSA backend never supported. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -102,9 +102,9 @@ format = wav # wav | flac
|
||||
| Value | Behaviour |
|
||||
|-------|-----------|
|
||||
| `default` | System default input |
|
||||
| `monitor` | First loopback/monitor source (capture system audio) |
|
||||
| `<partial name>` | Case-insensitive substring match against device name |
|
||||
| `hw:X,Y` | Exact ALSA hardware ID |
|
||||
| `<pcm name>` | Any ALSA PCM defined in `asound.conf` (e.g. the `shared_mic` dsnoop device), even if it doesn't appear in `arecord -l` |
|
||||
|
||||
Run `python isr.py --list-devices` (or `arecord -l`) to see available devices and their IDs.
|
||||
|
||||
@@ -155,6 +155,8 @@ python web.py --min-gap 15 # grace period in seconds for merging
|
||||
python web.py --analyses-dir /path/to/dir # where to store analysis cache files (default: <recordings>/analyses)
|
||||
```
|
||||
|
||||
The browser UI (HTML/CSS/JS) lives in `webui.html`, which `web.py` loads at startup — keep the two files together.
|
||||
|
||||
Shows recordings grouped by day with collapsible sections. Features:
|
||||
|
||||
- **Day groups** — recordings are grouped under a collapsible day heading showing date, file count, total duration, and total size. The most recent day is expanded by default; older days start collapsed. Expanded state is preserved across filter changes.
|
||||
|
||||
Reference in New Issue
Block a user