# El Mezclador VJ (mezclas)
El **Mezclador** es el motor de vídeo de FOSFENO. No es un motor de visuales
generativas como los otros: es una **mesa de mezclas de dos capas** que combina
en directo una capa de fondo con un clip, y les aplica efectos de color.
Se elige con el botón redondo **Mezcla** del apartado *Motor de visuales*, en la
pestaña **MOTORES**.
## El modelo mental: siempre dos capas
Todo el mezclador se entiende con esta idea. Hay **dos capas y solo dos**, y
siempre son las mismas:
```
┌──────────────────────────────────────────────┐
│ CAPA DE ENCIMA :: el CLIP │ un vídeo o una imagen
│ (data/videos/…) │ de la galería
├──────────────────────────────────────────────┤
│ CAPA DE ABAJO :: el FONDO │ la cámara web
│ (cámara o visuales Butter / MilkDrop) │ o las visuales Butter
└──────────────────────────────────────────────┘
▼
[ modo de mezcla ] → proyector
```
La tarjeta del panel está numerada en ese mismo orden, y ese orden es la
respuesta a casi cualquier duda:
| Paso | Qué decide |
|------|------------|
| **1 · Qué se ve** | si sale solo el fondo, solo el clip, o los dos |
| **2 · Fondo** | qué hay en la capa de abajo: **cámara** o **visuales Butter** |
| **3 · Clip** | qué vídeo o imagen va en la capa de encima |
| **4 · Cómo se juntan** | el modo de mezcla (solo aparece si se ven los dos) |
Debajo del paso 4 hay una **línea naranja de resumen** que dice, en una frase,
lo que va a salir por el proyector con los ajustes que tengas puestos. Si en
algún momento no sabes qué estás montando, esa línea lo dice.
## Poner visuales de fondo (MilkDrop detrás del vídeo)
Esto es lo que suele costar encontrar, así que va aparte. **Sí está integrado**
y funciona así:
1. Motor **Mezcla**.
2. Paso 2, desplegable **Fondo (capa de abajo)** → **Visuales Butter
(MilkDrop)**.
3. La cámara se apaga sola (piloto incluido) y su sitio en la capa de abajo lo
ocupan las visuales de MilkDrop.
4. Justo debajo aparece el **preset de MilkDrop** que hace de fondo, con
**« Anterior / Siguiente »** y la casilla **Cambiar el fondo solo**.
Ese preset es **el mismo del motor Butter**: lo que elijas aquí queda elegido
también allí, y al revés. El cambio automático también es el mismo (los
segundos o los compases se ajustan en la tarjeta del motor Butter).
> **projectM no puede ir de fondo.** projectM es un programa nativo que corre
> en su propia ventana, fuera del navegador, así que el mezclador no puede
> leerlo como capa. El fondo de visuales es siempre Butterchurn — que es el
> mismo MilkDrop, con los mismos presets, dentro del navegador.
## Receta: un personaje recortado sobre las visuales
Es el uso estrella del mezclador y encadena todo lo anterior:
1. **1 · Qué se ve** → **Los dos**.
2. **2 · Fondo** → **Visuales Butter (MilkDrop)**, y elige ahí el preset.
3. **3 · Clip** → un clip de silueta sobre negro (los `_silueta-negro` que
genera DETEKTION, el proyecto hermano de `VISUALES/`, o cualquier vídeo con
fondo negro).
4. **4 · Cómo se juntan** → **Recorte (personaje delante)**.
El negro del clip se vuelve transparente y la figura queda **delante** de
MilkDrop, latiendo con la música. En este modo el primer deslizador deja de ser
la mezcla A/B y pasa a llamarse **Umbral del recorte**: súbelo si queda un halo
oscuro alrededor de la figura, bájalo si se está comiendo partes del personaje.
## Paso 1 · Qué se ve
- **Solo el fondo** — a pantalla completa. El clip no se usa.
- **Solo el clip** — a pantalla completa. El fondo no se usa (ni la cámara ni
las visuales Butter: si eliges esto, el fondo queda atenuado en el panel).
- **Los dos** — se combinan según el paso 4.
Los controles que en ese momento no pintan nada **no desaparecen: se atenúan**,
para que se vea que existen sin que despisten.
## Paso 2 · Fondo (capa de abajo)
**Cámara.** Con la casilla *Cámara activada* y, si tienes más de una, el
desplegable para elegirla. Si la cámara falla, el aviso sale en la banda de
arriba del panel; para reintentar, apaga y enciende la casilla.
**Visuales Butter (MilkDrop).** Lo explicado más arriba. La cámara se libera de
verdad mientras tanto.
## Paso 3 · Clip (capa de encima)
Los clips salen de la carpeta `data/videos/`. Hay dos formas de meterlos:
- **Copiándolos a la carpeta** y pulsando **Actualizar lista**.
- **Con el botón Subir vídeo o imagen**, desde el móvil o el ordenador, sin
tocar carpetas.
Formatos que van bien:
| Tipo | Formatos | Nota |
|------|----------|------|
| Vídeo | `.mp4` (H.264), `.webm` | En Raspberry, 720p o menos |
| Imagen | `.jpg`, `.png`, `.gif`, `.webp` | Se queda fija como capa |
Los vídeos se reproducen **en bucle y sin sonido** (FOSFENO escucha la música de
la sala, no la del clip).
## Paso 4 · Cómo se juntan
Solo aparece con **Los dos**.
| Modo | Qué hace |
|------|----------|
| **Recorte** | El negro del clip se vuelve transparente: la figura queda **delante** del fondo. El deslizador pasa a ser el umbral |
| **Fundido** | Disuelve una capa sobre la otra según el deslizador de mezcla |
| **Diferencia** | Resta las dos capas: contornos y colores invertidos donde coinciden |
| **Multiplicar** | Oscurece: solo sobrevive lo que es claro en las dos |
| **Sumar** | Aclara: suma la luz de las dos capas |
| **Capa** | Superpone el clip usando su canal alfa |
## Los efectos de color
Se aplican **al resultado ya mezclado**, en este orden (importa: el
caleidoscopio deforma antes de que el color entre en juego):
```
caleidoscopio → rotación → pixelado → tono → saturación → contraste →
brillo → colorama → posterizar → invertir → pulso al ritmo → feedback
```
- **Mezcla A/B** — cuánta capa de encima frente a la de abajo (o el umbral, en
modo Recorte).
- **Tono / Saturación / Contraste / Brillo** — corrección de color de toda la
vida.
- **Colorama** — recicla los colores; en valores altos psicodelia pura.
- **Posterizar** — reduce el número de colores por franjas.
- **Pixelado** — baja la resolución aparente en bloques.
- **Caleidoscopio** — repite la imagen en N sectores en espejo.
- **Rotación** — gira la imagen.
- **Feedback** — realimenta el fotograma anterior: estelas y túneles. Con
valores altos la imagen tarda en limpiarse.
- **Invertir colores** — el negativo.
- **Pulso al ritmo** — la imagen late con los graves detectados (usa el mismo
análisis de audio que alimenta el BPM).
## Por debajo
El mezclador **no es un motor aparte**: genera código [Hydra](https://hydra.ojack.xyz/)
a partir de los controles y lo ejecuta. La cámara entra como fuente `s0` (o el
lienzo de Butterchurn, si el fondo son visuales) y el clip como `s1`. Por eso
el mezclador y el motor Hydra comparten el mismo lienzo y nunca están activos a
la vez.
Como todo lo que corre en el navegador, la salida del mezclador **se puede
mapear**: ver [Projection mapping](mapping.md).
## Si algo no se ve
FOSFENO no se queda callado: el motivo sale en la banda de avisos, arriba del
panel.
| Aviso | Qué hacer |
|-------|-----------|
| «La cámara está apagada» | Marca *Cámara activada* en el paso 2 |
| «No hay vídeo elegido» | Elige uno en el paso 3 |
| «No hay vídeos» | Sube uno, o copia archivos a `data/videos` y pulsa *Actualizar lista* |
| «No se pudo activar la cámara» | Comprueba el cable, pulsa *Buscar dispositivos de nuevo* y apaga/enciende la casilla |
| «No se pudo cargar …» | El formato no lo traga el navegador: pásalo a `.mp4` (H.264) o `.webm` |
Más casos en [Solución de problemas](problemas.md).