- Pestaña KISUM: sube audio/vídeo y lo convierte en código Strudel vía un mini-servidor Python local (kisum/, puerto 3010) que arranca el lanzador. - Pestaña Visor: piano-roll (pentagrama) + osciloscopio + espectro en vivo de lo que suena, sin escribir .pianoroll()/.scope(). - Botones en la cabecera: projects, KISUM, visor, ajustes. - KISUM empaquetado en kisum/ (código, sin venv) + install.sh de un comando y lanzador portable (sin rutas absolutas). - .gitignore excluye venv/cachés/logs de KISUM. Docs en README. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
51 lines
2.2 KiB
Bash
Executable file
51 lines
2.2 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
# Instalador todo-en-uno del fork de Strudel (hacklab) + KISUM, para Linux.
|
|
# NO descarga nada raro: usa pnpm para Node y venv+pip para KISUM.
|
|
#
|
|
# git clone https://gitea.laenre.net/hacklab/strudel.git
|
|
# cd strudel && ./install.sh && ./strudel-launcher.sh
|
|
#
|
|
set -euo pipefail
|
|
DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
cd "$DIR"
|
|
|
|
echo "════════════════════════════════════════════"
|
|
echo " Instalador Strudel (fork hacklab) + KISUM"
|
|
echo "════════════════════════════════════════════"
|
|
|
|
# ── Node / pnpm ─────────────────────────────────────────────────────
|
|
# Si node no está en el PATH pero hay nvm, lo usamos.
|
|
if ! command -v node >/dev/null 2>&1 && [ -d "$HOME/.nvm/versions/node" ]; then
|
|
NODE_BIN="$(ls -d "$HOME"/.nvm/versions/node/*/bin 2>/dev/null | sort -V | tail -1)"
|
|
[ -n "${NODE_BIN:-}" ] && export PATH="${NODE_BIN}:${PATH}"
|
|
fi
|
|
if ! command -v node >/dev/null 2>&1; then
|
|
echo "ERROR: falta Node.js (>= 20)." >&2
|
|
echo " Instálalo con nvm: https://github.com/nvm-sh/nvm" >&2
|
|
echo " nvm install 20 && nvm use 20" >&2
|
|
exit 1
|
|
fi
|
|
if ! command -v pnpm >/dev/null 2>&1; then
|
|
echo "==> activando pnpm con corepack"
|
|
corepack enable pnpm 2>/dev/null || {
|
|
echo "ERROR: no pude activar pnpm. Instálalo: npm i -g pnpm" >&2
|
|
exit 1
|
|
}
|
|
fi
|
|
|
|
echo "==> Strudel: instalando dependencias de Node (pnpm i)…"
|
|
pnpm i
|
|
echo "==> Strudel: construyendo la web (pnpm build)…"
|
|
pnpm build
|
|
|
|
# ── KISUM (opcional; si falla, Strudel funciona igual) ──────────────
|
|
if [ -f "$DIR/kisum/install.sh" ]; then
|
|
echo "==> Configurando KISUM (audio → código Strudel)…"
|
|
bash "$DIR/kisum/install.sh" || echo "AVISO: KISUM no se instaló del todo. Strudel funciona igual; revisa python3/ffmpeg."
|
|
fi
|
|
|
|
echo
|
|
echo "✔ Instalación completa."
|
|
echo " Arranca con: ./strudel-launcher.sh"
|
|
echo " Strudel: http://127.0.0.1:3009"
|
|
echo " KISUM server: http://127.0.0.1:3010 (arranca solo con el lanzador)"
|