xtc/src/project/README.md

624 B

Project model

project.c owns the opaque C project: graph, bounded tracks, silent/audio arrangement regions and external asset references, tempo and stable ID allocation. The GUI borrows handles and edits through xtc_project.h. Tick/sample conversion and source-preserving trim validation live here; no FLTK, file I/O or callback scheduling belongs in this module.

Phase 8 adds track mix settings, bounded automation and 32-edit C snapshot history in history.c. Checkout/accept separates candidate installation from history cursor movement; allocation IDs stay monotonic across history branches. See ../../docs/MIXER.md.