Skip to content

Arrangement WAV export #50

Description

@britle20

Feature Spec

Related feature document: docs/features/21-arrangement-wav-export.md

Goal

Render the current arrangement to a downloadable WAV file.

Context

WAV is the first export target because it can be generated directly from rendered PCM without adding a codec dependency. Export timing should come from audio engine/offline scheduling, not UI timers.

Scope

Included:

  • Export action for the current arrangement.
  • Offline rendering of the full arrangement length.
  • WAV Blob encoding, initially stereo 44.1 kHz 16-bit PCM unless implementation constraints justify another format.
  • Include arranged clips and mixer routing available at implementation time.
  • Busy/progress/error UI.

Excluded:

  • MP3/FLAC/AAC.
  • Stem export.
  • Realtime recording.
  • Mastering/normalization.
  • Cloud upload.

Constraints

  • Do not mutate live playback state while exporting.
  • Keep offline rendering separate from React components.
  • Do not add an encoder dependency unless the PR justifies it.

Done when

  • Export downloads a playable WAV file.
  • WAV duration matches the arrangement length.
  • Missing sample data produces a clear error.
  • Live playback still works after export completes or fails.

Verification

  • npm run typecheck --if-present
  • npm run lint --if-present
  • npm run test --if-present
  • npm run build --if-present

Notes

Planning created from the agentic workflow discuss-feature process.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions