fwcd / fwcd/djcontroller.js

Add support for Mixxx's JS controller scripts

Open
#2 0 comments 0 reactions 0 assignees View on GitHub
enhancement
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.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.