Skip to content

nguillaumin/ym-jukebox

Repository files navigation

YM Jukebox

HTML player for YM music files (Atari ST).

Uses an Emscripten port of the ST-Sound library by Leonard. Music is from the defunct BrainBug ST-Sound archive and Modland.

Build Setup

Install dependencies:

npm install

Building the ST-Sound library Emscripten port

docker run --rm -v $PWD/stsound:/data -w /data emscripten/emsdk:1.39.15 emmake make clean libym.js

Generating the songs JSON index file

npm run scan-songs

Running in development mode

⚠️ In development mode you must manually copy stsound/libym.wasm to the root of the project.

npm run dev

This will serve the app at http://0.0.0.0:8080/ with hot reload.

Building the production version

npm run build

Contributing

Feel free to contribute with new features and improvements via pull requests.

Another way to contribute is to help curate and organize the song library. There are issues such as invalid or missing metadata, as well as duplicate songs (that have different metadata, but are actually the same song). To assist in doing so, consider using the YMTool utility.