Skip to content

Add support for Mixxx's JS controller scripts #2

@fwcd

Description

@fwcd

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:

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?

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions