Las pestanas de capa de la barra superior no valian: mezclaban navegar por el panel con elegir sobre que se trabaja, y sacaban del panel de directo. Se quitan y todo pasa a MOTORES, con dos decisiones separadas: DONDE -> fila 'Donde se ve': SALIDA o una capa del mapping (+ crea una). QUE -> las pastillas: combinaciones guardadas por el usuario. Pinchar una pastilla la manda al destino elegido: con SALIDA cambia el motor global, con una capa cambia SOLO esa capa y el resto sigue igual. Con una capa elegida sus ajustes salen en MOTORES (la tarjeta de propiedades se mueve, no se duplica: dos formularios para lo mismo se desincronizan a la primera). Las pastillas son configurables: motor + preset + ajustes y su nombre, con 'Configurar pastillas'. Persisten en data/slots.json (gitignorado, es de cada instalacion). De fabrica vienen los cinco motores de siempre, asi que quien actualice se encuentra lo mismo que tenia. Hydra, Mezcla y projectM nativo solo pueden ir a la salida, y al intentar mandarlos a una capa se dice. Comprobado en Chromium por CDP, no con --dump-dom: ese fotografia el DOM al cargar, antes de que llegue el estado por socket, y daba falsos "esta vacio". Verificado que disparar sobre una capa deja el motor global intacto, que la tarjeta de propiedades va y vuelve de su sitio, y que las pastillas nuevas se guardan en disco. De paso, dos fallos que aparecieron al probarlo: - Restaurar la vista guardada corria al principio del fichero y llamaba a codigo que usa variables declaradas con let mas abajo: ReferenceError que se llevaba por delante el resto del script (socket incluido) y dejaba el panel en blanco. Ahora se restaura al final. - #card-destino no estaba en la lista de 'order' del CSS, asi que caia a 0 y se colaba encima de las pastillas pese a ir despues en el HTML. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
164 lines
7.1 KiB
Markdown
164 lines
7.1 KiB
Markdown
# 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.
|
|
|
|

|
|
|
|
## 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.
|
|
|
|

|
|
|
|
**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.
|
|
|
|

|
|
|
|
**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.
|