Skip to content

Add support for Mixxx's JS controller scripts #2

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?

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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