diff --git a/README-upstream.md b/README-upstream.md new file mode 100644 index 00000000..b1208e7b --- /dev/null +++ b/README-upstream.md @@ -0,0 +1,52 @@ +# strudel + +Live coding patterns on the web + + +- Try it here: +- Docs: +- Source: https://codeberg.org/uzu/strudel/ + * Along with many other live coding projects, we have moved from Microsoft's Github platform to Codeberg for ethical reasons. **Please don't fork the project back to github**. +- Technical Blog Post: +- 1 Year of Strudel Blog Post: +- 2 Years of Strudel Blog Post: + + +## Running Locally + +After cloning the project, you can run the REPL locally: + +1. Install [Node.js](https://nodejs.org/) 18 or newer +2. Install [pnpm](https://pnpm.io/installation) +3. Install dependencies by running the following command: + ```bash + pnpm i + ``` +4. Run the development server: + ```bash + pnpm dev + ``` + +## Using Strudel In Your Project + +This project is organized into many [packages](./packages), which are also available on [npm](https://www.npmjs.com/search?q=%40strudel). + +Read more about how to use these in your own project [here](https://strudel.cc/technical-manual/project-start). + +You will need to abide by the terms of the [GNU Affero Public Licence v3](LICENSE). As such, Strudel code can only be shared within free/open source projects under the same license -- see the license for details. + +Licensing info for the default sound banks can be found over on the [dough-samples](https://github.com/felixroos/dough-samples/blob/main/README.md) repository. + +## Contributing + +There are many ways to contribute to this project! See [contribution guide](./CONTRIBUTING.md). You can find the full list of contributors [here](https://codeberg.org/uzu/strudel/activity/contributors). + +## Community + +There is a #strudel channel on the TidalCycles discord: + +You can also ask questions and find related discussions on the tidal club forum: + +The discord and forum is shared with the haskell (tidal) and python (vortex) siblings of this project. + +We also have a mastodon account: social.toplap.org/@strudel diff --git a/README.md b/README.md index efe55bd9..e048806e 100644 --- a/README.md +++ b/README.md @@ -1,57 +1,81 @@ -# strudel +# Strudel · fork del hacklab -> **Fork del hacklab** con interfaz multiidioma, pestaña de proyectos, barra -> de transporte con seek, guía de sonidos y lanzador de escritorio. -> Ver [README-HACKLAB.md](./README-HACKLAB.md). Upstream: -> +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 para +pinchar en directo. Misma licencia que upstream: AGPL-3.0 (ver `LICENSE`). -Live coding patterns on the web +## Qué añade +- Interfaz multiidioma (castellano, inglés, francés, alemán, italiano, + portugués y más). Selector en el header. +- Pestaña Projects: proyectos locales con carpetas, buscador y una librería + de tracks de fábrica para empezar a pinchar. +- Barra de transporte bajo el editor: anterior / play-pausa / siguiente, + tiempo y barra de progreso arrastrable (seek real sobre el reloj del + scheduler). Al cargar un track el loop arranca desde cero; editar y + actualizar en vivo no reinicia nada. +- Pestaña Guía: chuleta de síntesis y sonidos. +- Packs de temas del editor: neon-madrid y hacklab-pack. +- Lanzador de escritorio: `strudel-launcher.sh`. -- Try it here: -- Docs: -- Source: https://codeberg.org/uzu/strudel/ - * Along with many other live coding projects, we have moved from Microsoft's Github platform to Codeberg for ethical reasons. **Please don't fork the project back to github**. -- Technical Blog Post: -- 1 Year of Strudel Blog Post: -- 2 Years of Strudel Blog Post: +## Instalación (Linux) +Requisitos: `git`, `node` >= 20 y `pnpm` (`corepack enable`). -## Running Locally +```bash +git clone https://gitea.laenre.net/hacklab/strudel.git +cd strudel +pnpm i +``` -After cloning the project, you can run the REPL locally: +Desarrollo (recarga en vivo): -1. Install [Node.js](https://nodejs.org/) 18 or newer -2. Install [pnpm](https://pnpm.io/installation) -3. Install dependencies by running the following command: - ```bash - pnpm i - ``` -4. Run the development server: - ```bash - pnpm dev - ``` +```bash +pnpm dev # http://localhost:4321 +``` -## Using Strudel In Your Project +Uso diario (build estática + lanzador): -This project is organized into many [packages](./packages), which are also available on [npm](https://www.npmjs.com/search?q=%40strudel). +```bash +pnpm build +./strudel-launcher.sh # sirve http://127.0.0.1:3009 y abre el navegador +``` -Read more about how to use these in your own project [here](https://strudel.cc/technical-manual/project-start). +Icono de escritorio: `~/.local/share/applications/strudel.desktop` -You will need to abide by the terms of the [GNU Affero Public Licence v3](LICENSE). As such, Strudel code can only be shared within free/open source projects under the same license -- see the license for details. +```ini +[Desktop Entry] +Type=Application +Name=Strudel +Comment=Live coding de musica +Exec=/ruta/a/strudel/strudel-launcher.sh +Icon=audio-x-generic +Terminal=false +Categories=AudioVideo;Audio; +``` -Licensing info for the default sound banks can be found over on the [dough-samples](https://github.com/felixroos/dough-samples/blob/main/README.md) repository. +## Packs de proyectos propios -## Contributing +La librería de fábrica está en +`website/src/repl/components/panel/default-projects.mjs`. Para un pack +personal crea un módulo con el mismo formato `{name, folder, code}` y +concaténalo en `DEFAULT_PROJECTS` (los packs personales están en +`.gitignore`). También se pueden crear proyectos desde la propia pestaña. -There are many ways to contribute to this project! See [contribution guide](./CONTRIBUTING.md). You can find the full list of contributors [here](https://codeberg.org/uzu/strudel/activity/contributors). +## Actualizar desde upstream -## Community +```bash +git fetch upstream +git merge upstream/main +``` -There is a #strudel channel on the TidalCycles discord: +## Enlaces -You can also ask questions and find related discussions on the tidal club forum: - -The discord and forum is shared with the haskell (tidal) and python (vortex) siblings of this project. - -We also have a mastodon account: social.toplap.org/@strudel +- Strudel (upstream): — su README original: [README-upstream.md](./README-upstream.md) +- Documentación / tutorial: +- TidalCycles, el original en Haskell: +- Algorave, la escena: +- Samples para empezar a jugar: + - Dirt-Samples (la librería clásica de Tidal): + - tidal-drum-machines (Roland TR-808/909 y muchas más): +- Para ver de qué va esto en directo: diff --git a/strudel-launcher.sh b/strudel-launcher.sh index f0b02936..cc34afc2 100755 --- a/strudel-launcher.sh +++ b/strudel-launcher.sh @@ -6,7 +6,7 @@ # ./strudel-launcher.sh # puerto 3009 # STRUDEL_PORT=4000 ./strudel-launcher.sh # -# Requiere haber hecho antes: pnpm i && pnpm build (ver README-HACKLAB.md) +# Requiere haber hecho antes: pnpm i && pnpm build (ver README.md) set -u DIR="$(cd "$(dirname "$0")" && pwd)"