Add support for Mixxx's JS controller scripts
- Dominant language
- TypeScript
- Stars
- 9
- Forks
- 1
- PR merge metrics
- No merged PRs in 30d
Description
This is probably a bit more involved than #1 since it involves running the script with the same API as Mixxx (e.g. providing an `engine` that interfaces with the DJ application).
Since most (all?) invocations of the script are quick one-shot calls to functions mapped in the XML script, IIUC, we might be able to 'collect' a list of actions to take that we can return to the consumer of this library, instead of requiring them to provide callbacks/an interface to us.
The type declarations here might be interesting:
- https://github.com/mixxxdj/mixxx/pull/4759
In-script APIs to implement:
- [ ] `engine` (partially implemented)
- [ ] `getValue`
- [ ] `setValue` (partially implemented)
- [ ] `setParameter` (partially implemented)
- [ ] `script` (partially implemented)
To be investigate:
- Could we use Web Workers or some other means of isolation to properly sandbox the scripts while still providing them with context to interact with the app?
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.