# Uso del panel

Cuando la Raspberry arranca, las visuales salen solas por el proyector. Todo
lo demás se controla desde el panel.

## Entrar en el panel

Al arrancar, el proyector muestra una pantalla con un código QR y la dirección
del panel. Escanea el QR con la cámara del móvil y el panel se abre solo. Si
prefieres escribirla, la dirección es `http://fosfeno.local/`.

El móvil tiene que estar en la misma red que la Raspberry. La explicación
completa, con las tres formas de conectar y los detalles del router, está en
[Conectarse al panel](conexion.md).

Arriba a la derecha del panel hay un punto. Verde quiere decir que está
conectado con la Raspberry. Rojo quiere decir que se ha perdido la conexión.

![Panel de control de FOSFENO](assets/panel.png)

## Las dos pestañas: MOTORES y MAPPING

A la derecha del título **FOSFENO** hay dos pestañas. Separan las dos cosas que
se hacen con el panel, que no tienen nada que ver entre sí:

- **MOTORES** — el directo. Encendido, audio, sensibilidad, el motor de
  visuales y sus controles. Es la pestaña de siempre y la que está abierta al
  arrancar.
- **MAPPING** — el montaje. Encajar la imagen sobre la superficie física:
  superficies, malla y máscaras, con una previsualización grande para arrastrar
  los puntos.

Lo normal es pasar por MAPPING una vez al montar y quedarse en MOTORES el resto
de la noche. Si el mapping está activado, aparece un **punto verde** en su
pestaña, para que se sepa que la salida se está deformando aunque estés mirando
MOTORES.

El panel recuerda en qué pestaña lo dejaste.

## Avisos y errores

Justo debajo de la cabecera aparecen los avisos. Si algo va mal (la cámara no
responde, un shader tiene un error de código, projectM no está instalado), el
mensaje sale ahí en lugar de quedarse el sistema callado. Los avisos
informativos desaparecen solos. Los errores se quedan hasta que los cierras,
para que no se te escapen.

## Encendido

El botón grande de encendido pone las visuales en marcha o las apaga. Apagar
deja el proyector en negro sin tener que apagar la Raspberry.

## Pastillas y destino

La pestaña MOTORES se maneja con **dos decisiones separadas**, y esa
separación es lo que la hace usable en directo:

- **Dónde se ve** — la fila de arriba: `SALIDA` (el proyector entero) o una
  `CAPA` del mapping. El `+` crea una capa nueva y te deja ya sobre ella.
- **Pastillas** — los círculos: combinaciones tuyas guardadas (motor + preset
  + ajustes) con el nombre que les pongas.

Pinchar una pastilla la manda **al destino que tengas elegido**. Con `SALIDA`
cambia todo el proyector; con una capa elegida cambia solo esa zona y el resto
sigue igual. Con una capa elegida, además, sus ajustes (fuente, preset,
opacidad, mezcla) salen ahí mismo: no hace falta ir a MAPPING.

Con **Configurar pastillas** el toque deja de lanzar y pasa a editar: decides
qué hace cada una, la renombras, añades con el `+` o la borras. Se guardan en
el equipo (`data/slots.json`), así que al volver siguen ahí.

De fábrica vienen los cinco motores de siempre, así que puedes seguir usándolo
como antes y montarte las tuyas cuando quieras.

> **Hydra, Mezcla y projectM nativo solo van a pantalla completa.** Son
> motores globales, no fuentes que una capa sepa pintar. Si intentas mandarlos
> a una capa, el panel te lo dice en vez de no hacer nada.

## Los cinco motores

Son los que vienen de fábrica en las pastillas. Solo uno está activo a la vez
en la salida.

![Visuales estilo MilkDrop](assets/milkdrop.jpg)

**projectM.** El visualizador clásico de MilkDrop, compilado en la propia
Raspberry. Reacciona al audio por sí solo y va rotando entre miles de
presets. Es un programa nativo, así que cuando lo eliges su ventana se pone
por encima de las demás visuales.

**Butterchurn.** Es MilkDrop reescrito para el navegador. Tiene los mismos
miles de presets. Puedes elegir un preset concreto, dejar que cambie solo cada
ciertos segundos, o que cambie sincronizado con el ritmo de la música.

**Hydra.** Visuales generados por código. Trae un editor integrado donde
puedes escribir o pegar código de Hydra y ejecutarlo al momento. Incluye una
librería de fragmentos listos para usar; eliges uno y se carga en el editor.

![El entorno de Hydra](assets/hydra.png)

**Shaders.** Shaders GLSL, el tipo de visual de Shadertoy. También trae editor
de código. Los shaders reciben información del audio y del ritmo, así que se
mueven con la música.

**Mezclador.** El modo de vídeo. Monta dos capas —un fondo (la webcam o las
propias visuales de MilkDrop) y un clip encima— y las combina con efectos de
color. Es lo más parecido a un programa de VJ como Resolume, pero funcionando
dentro de la Raspberry.

## Audio y BPM

La tarjeta de audio se elige en el apartado Audio del panel. Por defecto
FOSFENO coge el micrófono USB automáticamente, pero si tienes varias entradas
puedes cambiarla ahí.

Justo al lado se ve el BPM detectado. FOSFENO analiza el sonido y estima a
cuántos pulsos por minuto va la música. Ese valor lo usan los motores para
sincronizarse: los shaders, Hydra y el cambio de preset de Butterchurn al
compás. El BPM tarda unos segundos en estabilizarse y funciona mejor con
música de pulso marcado.

La sensibilidad ajusta cuánto reaccionan las visuales al volumen. Si la sala
suena floja, súbela. Si todo se ve saturado, bájala.

## El editor de código

En Hydra y en Shaders aparece un editor. Funciona igual en los dos:

- El desplegable de la librería carga un ejemplo. Al elegirlo, el código entra
  en el editor y se ejecuta al momento.
- Puedes modificar ese código o pegar uno tuyo. El botón Ejecutar lanza lo que
  haya en el editor.
- El botón Limpiar vacía el editor.

En Hydra el código es JavaScript de Hydra y tienes disponibles `time`, los
valores de audio `a.fft[0]` a `a.fft[4]` y la variable `bpm`. En Shaders el
código es GLSL y tienes los uniforms `u_time`, `u_bass`, `u_mid`, `u_treble`,
`u_bpm`, `u_beat` y la textura `u_fft`.

## El modo Mezclador

El mezclador monta **dos capas**: un **fondo** (la cámara web, o las visuales
Butter/MilkDrop) y un **clip** encima (un vídeo o una imagen de la galería). La
tarjeta del panel va numerada en ese orden: qué se ve, el fondo, el clip y cómo
se juntan. Debajo hay una línea de resumen que dice, en una frase, lo que va a
salir por el proyector.

Para **poner visuales de fondo**, en el paso 2 cambia el desplegable de *Cámara*
a **Visuales Butter (MilkDrop)**: la cámara se apaga y su sitio lo ocupan las
visuales, con su propio selector de preset ahí mismo. Combinado con un clip de
silueta y el modo *Recorte*, el personaje queda delante de MilkDrop.

Los clips se copian a `data/videos` o se suben desde el propio panel con el
botón *Subir vídeo o imagen*. Para que vayan finos en la Raspberry conviene que
sean cortos, en 720p o menos y en H.264.

La guía completa, con los modos de mezcla, los efectos de color y las recetas:
[El Mezclador VJ](mezclador.md).

## Apagar y reiniciar

Abajo del todo están los botones para reiniciar y apagar la Raspberry. Piden
confirmación. Apagar desde aquí es la forma correcta de apagar la placa al
terminar, mejor que cortar la corriente.
