# STATUS — lan-media

> Estado del proyecto actualizado en tiempo real. Cada acción marca su check.

## Setup inicial (precargado por sesión opencode antes del spawn)

- [x] Estructura de directorios creada (`songs/`, `lyrics/`, `player/`, `scripts/`, `docs/`)
- [x] Repo de referencia clonado en `reference-mp3_karaoke/` (solo lectura, no se modifica)
- [x] `BRIEFING.md` con plan completo y constraints
- [x] Scripts utilitarios escritos:
  - [x] `scripts/download-lyrics.sh` — batch via syncedlyrics
  - [x] `scripts/build-playlist.sh` — autogenera playlist.json desde songs/
  - [x] `scripts/serve.sh` — HTTP server + imprime IP LAN
  - [x] `scripts/prep-usb.sh` — copia plan B a pendrive
- [x] Web player base escrito en `player/`:
  - [x] `index.html` — estructura HTML mínima fullscreen-ready
  - [x] `style.css` — estética default (dark, Inter 64px, fade transition)
  - [x] `app.js` — playback + sync con LRC
  - [x] `lrc-parser.js` — parser LRC con soporte enhanced (word-level si presente)
  - [x] `playlist.json` — placeholder vacío (se autogenera con build-playlist)
- [x] `docs/plan-b-vlc-android.md` — instrucciones plan B

## A hacer cuando Diego vuelva (orden estricto)

- [ ] Recibir lista de canciones (artista + título)
- [ ] Confirmar versión Android del Mecool KM1
- [ ] Recibir preferencias de estética (o aplicar defaults)
- [ ] Copiar MP3s al folder `songs/` con naming `NN - Artista - Título.mp3`
- [ ] Ejecutar `bash scripts/download-lyrics.sh`
- [ ] Revisar cobertura de lyrics. Plan C para faltantes
- [ ] Ejecutar `bash scripts/build-playlist.sh`
- [ ] Ajustar estética en `player/style.css` si aplica
- [ ] Ejecutar `bash scripts/serve.sh` (deja terminal abierta)
- [ ] En Mecool KM1: abrir browser, ir a `http://<IP-impresa>:8080/player/`, fullscreen
- [ ] Test audio HDMI + sync visual con proyector
- [ ] Ejecutar `bash scripts/prep-usb.sh /media/<mount>` para plan B
- [ ] Ensayo completo de la playlist con proyector encendido

## Pendientes operativos (orden libre)

- [ ] Verificar IP LAN del Lenovo es estable (DHCP reservation o IP estática)
- [ ] Asegurar que el firewall del Lenovo permite puerto 8080 en la LAN (`ufw allow from 192.168.1.0/24 to any port 8080`)
- [ ] Cargar el Mecool KM1 si tiene batería (no aplica si va a corriente)
- [ ] Cable HDMI verificado en el proyector
- [ ] Audio del proyector ON o conectar altavoces externos
