xrrhythmsuk / xruk-player

A pattern-based drumming machine based on TypeScript, beatbox.js, Vue.js and Bootstrap.
https://player.xrrhythms.uk
GNU Affero General Public License v3.0
1 stars 0 forks source link

The XR Rhythms Player is a browser-based player for XR Rhythms tunes. It is based on the Rhythms of Resistance player. It is written in TypeScript and relies heavily on beatbox.js, Vue.js and Bootstrap. The core features are:

More information can be found in the documentation.

The technologies used are:

Technical notes

Build and host it yourself

Customise it

The tunes are configured in assets/tunes, along with tune descriptions. The format is very similar to the format that can be generated in .rhythm files downloaded from the player.

All the parameters (such as the instruments, samples, time measurements) are configured in src/config.ts.

The samples are available as MP3 files in assets/audio.

More details can be found in the documentation.

Build it

Once you have made your modifications, you can build the player to get a HTML file that you can use in your browser:

  1. Make sure you have an up-to-date version of Node.js installed.
  2. In a terminal, navigate to the main code directory of the player and run npm install to install the dependencies.
  3. Run npm run build to build the project.
  4. The file build/index.html is a self-sufficient build of the player that can be opened in the browser

While you are playing around with some changes and don't want to rebuild the whole project each time you made a small change, after step 2 you can run npm run dev-server instead. This will start a webserver on http://localhost:8080/ that will serve the built player. When you make any changes to a file, it detects that and rebuild just that file. Simply reload the page to see the updated player.

Host it

Information how to host XR Rhythms Player can be found in the documentation.