Skip to content

fix: Make plugin chain order authoritative in PluginEngine for VST3 and WAM #1792

@ChuxiJ

Description

@ChuxiJ

Problem

Plugin chain ordering is UI/store-level only and cross-format order is undefined. VST3/WAM stores keep pluginOrder, but PluginEngine has no authoritative reorder method and effect sync only updates bypass state.

Root Cause

UI ordering was added without making the live audio engine order the source of truth across VST3, WAM, and built-in effects.

Solution

  • Add explicit plugin chain ordering to PluginEngine.
  • Sync VST3/WAM order changes into the live audio chain.
  • Define cross-format ordering semantics with built-in effects.
  • Add tests for reorder, bypass, remove, and mixed VST3/WAM chains.

Verification

  • Add unit tests proving UI reorder changes audio chain order.
  • Add integration/E2E coverage for mixed plugin order.
  • Confirm project reload preserves order if persistence is implemented.

Files to Touch

  • src/engine/PluginEngine.ts
  • src/hooks/useEffectsSync.ts
  • src/store/vst3Store.ts
  • src/store/wamStore.ts
  • src/components/plugins/*

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions