Skip to content

Soundtrack: migrate the four effect-bearing compositions and test-effects-lib.py to the rewritten audioeffects (effects program Phase 6) #6

Description

@bdbarnett

Stakes

The effects program rewrites every audioeffects class from scratch, and its options, macros and patches may all change (Brad's D2: the soundtrack is our art and a playspace; it can be rewritten; it should not limit our work). When that lands, the four soundtrack directories that build effects stop rendering and bouncing until they are migrated:

Directory How it builds effects
AureliaOverture audioeffects.create(...) in script strings (composition.py)
VelvetCircuit the same; the soundtrack's only user of the drive classes
Perihelion fx_shimmer.py loaded through _read_effect
ShimmerLab ShimmerHall / AirSpace by name through mpvst_effect_adapter

Automata, NeonMeridian (no effect inserts, by design) and PatchTest build none. tools/test-effects-lib.py also calls every class with legacy constructor keywords and is rewritten in the same step.

What to do, when the effects roadmap reaches Phase 6

  1. Migrate the four compositions to the new surfaces. A piece may be re-voiced rather than forced to sound as it did — there is no baseline (D4).
  2. Rebuild the sidecar engine on the pinned audioif, both ports, clear a stale MPVST_AUDIOIF_LIB cache entry if present, rebuild and ctest, reinstall the plug-in (full build), and confirm the installed engine imports synthio with audioeffects/ staged beside it. The staged lib goes stale silently.
  3. Render every piece offline and bounce it; run reaper/verify_song.py per piece (peaks, section levels, ordering, dead air).
  4. Re-capture the render reference as a new reference: audioif/tests/parity/capture_render_reference.py --capture --python micropython-vst3/.venv/bin/python. D4 is the approval that re-capture needs.
  5. Rewrite tools/test-effects-lib.py against the new surfaces; ctests green.

Plan: workspace docs/effects-roadmap.md, Phase 6. Trigger: the effects program closes Phase 5.

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

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions