A library for interacting with MIDI DJ controllers in JavaScript.
The library aims to be...
- Compatible: By using Mixxx's mapping format, we can use existing mappings for a wide range of controllers.
- Extensible: Adding custom DJ controllers is easy.
- Lightweight: By operating entirely abstractly in terms of interfaces it can be used anywhere, including in browsers and Node.js-based environments.
To install the dependencies, run
npm install
To build the package, run
npm run build
To continuously rebuild it in the background you can also use
npm run watch
To build and run the browser example, first make sure to have a directory named controllers
in the repository containing controller mappings in Mixxx's format (.midi.xml
mappings and .js
scripts). You can download Mixxx's mappings by running
scripts/clone-mixxx-mappings
Note: Mixxx's mappings are GPL-licensed, so if you decide to bundle them in a downstream application, make sure to comply with its licensing terms!
To start a development server, you can now run
npm run -w examples/browser serve