xtc/src/persistence
2026-11-06 01:34:08 +01:00
..
collect.c feat: collect portable project media with transactional cleanup and qualify composition workflows 2026-11-06 00:49:37 +01:00
project_file.c feat(project): persist bounded per-track effect chains (phase 81) 2026-11-06 01:34:08 +01:00
README.md Phase 8: Add stereo track mixer, automation and undo/redo 2026-10-27 01:06:57 +01:00

Persistence

project_file.c implements bounded version-2 project metadata loading (including explicit version-1 migration) and atomic temporary-file/fsync/rename saving in C. Loading validates a candidate before replacing the existing model. All I/O is control-thread only. See docs/PROJECT_FORMAT.md for the schema, limits and durability guarantees.

Phase 8 writes format v4 with per-track MIX records and bounded AUTOMATION/POINT records, reading v1–v3 with unity/center/no-automation defaults. History stays session-only. See ../../docs/PROJECT_FORMAT.md.