Skip to content

Dynamically load devices into the studio #170

@andremichelle

Description

@andremichelle

In order to create custom devices and keep the boot time to a minimum, we should have a system that allows the studio to dynamically load devices even from external sources (which need to run in a secure sandbox to prevent crashes).

A device consists of many different components, that need to be loaded and flushed into the system:

  • Schema - Defines the data structure (may not be necessary)
  • Box - Auto-generated runtime class from schema
  • Adapter - Wraps parameters for mappings, automation, and UI binding
  • Processor - DSP logic that processes audio
  • Editor - UI component with controls
  • Manual - User-facing documentation for the device

Edge Cases

  • Device versioning / migration
  • Managing a secure sandbox to avoid studio crashes, if the device panics
  • UI restrictions (fixed height, custom menus)

Iteration 1

  • Load stock devices dynamically

Iteration 2

  • Setup an openDAW Device SDK repository that allows injecting new devices into the studio

Metadata

Metadata

Assignees

Labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions