strudel/README-HACKLAB.md
hacklab b6dbe97a62
Some checks are pending
Build and Deploy to warm (strudel.cc) / build (push) Waiting to run
Strudel tests / build (20) (push) Waiting to run
Distribución: lanzador de escritorio, README del fork y gitignore
- strudel-launcher.sh portable (sirve la build estática y abre el navegador;
  rutas relativas, puerto configurable, detecta node/nvm)
- README-HACKLAB.md: qué añade el fork, instalación en Linux, icono de
  escritorio, packs propios y cómo seguir a upstream
- gitignore: patterns personales, remixes generados y logs fuera del repo
2026-07-17 01:47:12 +02:00

2.7 KiB

Strudel · fork del hacklab

Fork de Strudel (live coding de música en el navegador, port de TidalCycles a JavaScript) con mejoras de usabilidad pensadas para pinchar en directo y para gente que empieza.

Upstream: https://codeberg.org/uzu/strudel · Licencia: AGPL-3.0 (la misma, ver LICENSE). Gracias al equipo de Strudel/TidalCycles por la base ♥

Qué añade este fork

  • Interfaz multiidioma (website/src/i18n.mjs): castellano, inglés, francés, alemán, italiano, portugués y más. Se cambia desde el selector del header y se guarda en los ajustes.
  • Pestaña Projects: gestor de proyectos locales (localStorage) con carpetas, buscador y una librería de tracks de fábrica lista para pinchar (bases techno/acid originales, de la casa).
  • Barra de transporte estilo reproductor bajo el editor: anterior / play-pausa / siguiente, tiempo transcurrido y barra de progreso arrastrable (seek real: se añadió Cyclist.setCycle() en packages/core).
  • Pestaña Guía: chuleta de síntesis y sonidos para tener a mano mientras se pincha.
  • Packs de temas para el editor (neon-madrid + hacklab-pack: 5 neón sobre negro y 5 estándar).
  • Lanzador de escritorio (strudel-launcher.sh): sirve la build estática en local y abre el navegador. Ideal para un icono clicable.

Instalación (Linux)

Requisitos: git, node >= 20 y pnpm (corepack enable lo activa).

git clone https://gitea.laenre.net/hacklab/strudel.git
cd strudel
pnpm i          # instala las dependencias del monorepo

Modo desarrollo (recarga en vivo)

pnpm dev        # abre http://localhost:4321

Modo "aparato" (build estática + lanzador)

pnpm build              # genera la web estática
./strudel-launcher.sh   # la sirve en http://127.0.0.1:3009 y abre el navegador

Para el icono de escritorio, crea ~/.local/share/applications/strudel.desktop:

[Desktop Entry]
Type=Application
Name=Strudel
Comment=Live coding de música
Exec=/ruta/a/strudel/strudel-launcher.sh
Icon=audio-x-generic
Terminal=false
Categories=AudioVideo;Audio;

Añadir tus propios packs de proyectos

La librería de fábrica vive en website/src/repl/components/panel/default-projects.mjs. Para un pack personal sin tocar el repo, crea un módulo local con el mismo formato {name, folder, code} y concaténalo en DEFAULT_PROJECTS (los packs personales están en .gitignore). También puedes crear y organizar proyectos directamente desde la pestaña Projects de la interfaz.

Mantenerse al día con upstream

El remoto upstream apunta al Strudel original:

git fetch upstream
git merge upstream/main    # y resolver conflictos si los hay