Files
soundcraft/docs/file-format-parity.md
Brandon ThomasandClaude Opus 5.5 330a698397 Progress docs: target-app parity, gaps, alpha gate, readiness by audience (#155)
* Progress docs to the craftrules standard; full re-measure against Pro Tools 2026.4.1

Stage: alpha. Menu breadth 482/512 (94.1%, measured), feature breadth ~70%,
ready for real work ~40%; ~350-570 agent-hours to beta, ~950-1,450 to full parity,
calibrated on this repo's PR history.

- ROADMAP.md rewritten: stage banner, two numbers, dimension/feature/language tables
- docs/target-app-parity.md: authoritative assessment (area table moved from ROADMAP)
- docs/gaps.md: 22 ranked gaps with evidence and estimates
- docs/roadmap.md: milestones, current focus, beta plan
- docs/ui-, file-format-, hardware-, plugin-, localization-parity.md: new checklists
- docs/parity.md -> docs/parity-checklist.md (generated by cargo xtask parity)
- architecture.md: video, vst3-host, au-host crates; device I/O limits

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Stage: pre-alpha under the core-workflow gate

Add the alpha gate to docs/roadmap.md: interface recording at a chosen buffer
size, MIDI recording, and session interchange with Pro Tools fail, so the stage
moves from alpha to pre-alpha (~5 points and ~110-180 agent-hours to alpha).
Mark the alpha blockers in docs/gaps.md; update ROADMAP.md, target-app-parity.md
and README.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Add mainstream-practitioner and essentials-user readiness numbers

Mainstream practitioner ~36% (weekly-area depth 50.6% x 0.90 interaction x 0.92
stability x 0.85 file exchange) and essentials user ~57% (core-feature depth
72.4% x 0.90 launch/stability x 0.90 discoverability x 0.97 files), with written
weights, discounts and GitHub user evidence. Full ready-for-real-work checked
against its written dimension weights (40.6%); unchanged at ~40%, stage unchanged.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Readiness by audience: hours to ~95% for full, mainstream and essentials

Full ~40% / 950-1,450 h, mainstream ~36% / 380-600 h, essentials ~57% / 110-200 h,
calibrated on this repo's PR history. The full number is already an additive
weighted sum over the written dimension table; method unchanged.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-10 14:08:49 -04:00

4.7 KiB
Raw Permalink Blame History

File-format parity

Last reviewed: 2026-10-10 · Last updated: 2026-10-10 · Change: major (first format inventory against Pro Tools 2026.4.1) · Target: Avid Pro Tools Ultimate 2026.4.1

Every format Pro Tools reads or writes, and ours. The Pro Tools list comes from the document types its bundle declares (CFBundleDocumentTypes in Info.plist: names only, nothing else read) and its documented import/bounce options. Ours comes from crates/audio-io (detect_format, decode, ENCODE_EXTENSIONS), crates/engine/src/cmd/file.rs, crates/engine/src/score.rs, crates/engine/src/clip_group_file.rs and crates/video.

File formats: ~40 % ready (estimated: weighted by how often a Pro Tools user hits each row; session interchange carries a third of the weight and is at 0 %). Remaining ≈ 70–120 h.

Legend: ✅ supported and tested · 🟡 partial · ❌ missing · — not applicable.

Sessions and interchange

Format Pro Tools Read Write Tests / notes
Pro Tools session .ptx (and .ptf from 7–9) native ❌ ❌ Proprietary, undocumented. Owner decision needed on black-box format study (G-03)
Session templates .ptxt read/write ❌ ❌ We have no templates at all (G-16)
AAF (Advanced Authoring Format) import/export ❌ ❌ #40. The post-production handoff from picture editors (G-03)
OMF import/export ❌ ❌ Legacy, still delivered by some editors
Media Composer–compatible session export ❌ ❌ AAF variant
ADM BWF (Dolby Atmos master) import/export ❌ ❌ G-12
SoundCraft session .scraft + Audio Files/ — ✅ ✅ JSON (serde); mutated-file property test loads or fails cleanly; plugin state embedded
Import Session Data (from another session) Pro Tools sessions 🟡 — From .scraft only
Session info as text export — ✅ file.export_session_text
Clip groups .rgrp / ours .scgrp read/write 🟡 🟡 Our own .scgrp format; Pro Tools' clip-group files not read
Track presets, fade presets, I/O settings, workspace, sync settings read/write ❌ ❌ Their equivalents don't exist yet (G-16)

Audio

Format Pro Tools Read Write Tests / notes
WAV / BWF (PCM 16/24/32, float 32), bext native ✅ ✅ Native reader/writer, TPDF dither option; also 8-bit and float 64 read
RF64 / BW64 (> 4 GiB) read/write ✅ ✅ encode_wav_rf64
WAV WAVE_FORMAT_EXTENSIBLE multichannel with channel mask read/write ✅ ✅ encode_with_channel_mask; default 5.1 import creates a stereo track (#89, PR #128)
AIFF / AIFF-C native ✅ ✅ (fl32) Native
FLAC import ✅ ✅ Own encoder
MP3 import, bounce ✅ (symphonia) ❌ G-21
AAC / M4A / MP4 audio import, bounce ✅ (symphonia) ❌ G-21
ALAC import ✅ ❌
Ogg Vorbis — ✅ ❌ Beyond Pro Tools
CAF — ✅ ❌
Sound Designer / SD II import (legacy) ❌ — Rare today
ReCycle / REX import ❌ — Loops
MXF audio (OP-Atom, OP1a) import ❌ ❌ Avid media; FilmCraft has an MXF reader to learn from
iXML / polyphonic field-recorder metadata read ❌ ❌ G-17
Peak overviews .wfm cache ✅ (own, in memory) — audio-io::peaks; not cached on disk

MIDI and notation

Format Pro Tools Read Write Tests / notes
Standard MIDI File (type 0/1) import/export ✅ 🟡 Exported MIDI omits imported controllers and ignores the tracks filter (#87, #98; PR #125)
MusicXML (to Sibelius) export — ✅ file.export_sibelius, score.rs
Printable score print — ✅ (SVG)

Video

Format Pro Tools Read Write Tests / notes
QuickTime / MP4, H.264 import, bounce ✅ ❌ Own pure-Rust decoder (Baseline/Main/High); mutated-movie fuzzing
ProRes (all flavours) import ✅ ❌ Own decoder
Motion JPEG import ✅ ❌
HEVC, AV1 import ❌ ❌ G-17
DNxHD / DNxHR, MXF video import ❌ ❌ G-17
Bounce with video export — ❌ G-17

Plugin and preset files

Format Pro Tools Ours
AAX plug-ins the only format it hosts ❌ (cannot: Avid SDK licence, PACE signing)
VST3 / Audio Units / CLAP — (AAX only) ✅ hosted (ahead of Pro Tools)
Plug-in settings .tfx read/write ❌ (our own JSON presets per plugin)

Revision history

Date Change Summary
2026-10-10 major Created: format inventory against Pro Tools 2026.4.1's declared document types and import/bounce options