- 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
81 lines
2.7 KiB
Markdown
81 lines
2.7 KiB
Markdown
# Strudel · fork del hacklab
|
|
|
|
Fork de [Strudel](https://codeberg.org/uzu/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).
|
|
|
|
```bash
|
|
git clone https://gitea.laenre.net/hacklab/strudel.git
|
|
cd strudel
|
|
pnpm i # instala las dependencias del monorepo
|
|
```
|
|
|
|
### Modo desarrollo (recarga en vivo)
|
|
|
|
```bash
|
|
pnpm dev # abre http://localhost:4321
|
|
```
|
|
|
|
### Modo "aparato" (build estática + lanzador)
|
|
|
|
```bash
|
|
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`:
|
|
|
|
```ini
|
|
[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:
|
|
|
|
```bash
|
|
git fetch upstream
|
|
git merge upstream/main # y resolver conflictos si los hay
|
|
```
|