#!/usr/bin/env bash # Lanza projectM nativo a pantalla completa. Lo invoca el servidor cuando # se selecciona el motor "projectM" desde el panel. # # El servidor pasa los ajustes del panel por variables de entorno: # FOSFENO_PM_PATH carpeta de presets (categoria o preset fijo) # FOSFENO_PM_DURATION segundos por visual # FOSFENO_PM_SHUFFLE orden aleatorio (1/0) DIR="$(cd "$(dirname "$0")/.." && pwd)" PRESETS="${FOSFENO_PM_PATH:-$DIR/data/presets-projectm}" ARGS=() if [ -d "$PRESETS" ]; then ARGS+=(--presetPath "$PRESETS") fi [ -n "${FOSFENO_PM_DURATION:-}" ] && ARGS+=(--presetDuration "$FOSFENO_PM_DURATION") [ -n "${FOSFENO_PM_SHUFFLE:-}" ] && ARGS+=(--shuffleEnabled "$FOSFENO_PM_SHUFFLE") # Pantalla completa sin bordes (sin cambiar la resolucion del proyector): # asi los relanzamientos no dejan una ventana flotante, solo un parpadeo. ARGS+=(--fullscreen 1 --exclusive 0) # Y siempre en el monitor donde esta el escenario (lo detecta el servidor): # sin esto, cada relanzamiento aterriza en la pantalla donde este el raton. if [ -n "${FOSFENO_PM_MONITOR:-}" ] && [ "$FOSFENO_PM_MONITOR" != "0" ]; then ARGS+=(--monitor "$FOSFENO_PM_MONITOR") fi exec projectMSDL "${ARGS[@]}"