xtc/src/audio
2026-10-27 16:15:34 +01:00
..
arrangement.c Phase 24: add mix buses, coherent peak meters and master clipping indicators 2026-10-27 16:15:34 +01:00
README.md Phase 8: Add stereo track mixer, automation and undo/redo 2026-10-27 01:06:57 +01:00
recorder.c Phase 13: protect recordings and recover retained audio after write failures 2026-10-27 03:46:09 +01:00
recovery.c Phase 13: protect recordings and recover retained audio after write failures 2026-10-27 03:46:09 +01:00
wave.c Added tons of documentation headers to functions in source files. 2026-10-27 01:58:27 +01:00
wave_internal.h Phase 13: protect recordings and recover retained audio after write failures 2026-10-27 03:46:09 +01:00
waveform.c Phase 22: add non-destructive audio splitting, clip gain and fades, and cached waveforms 2026-10-27 15:46:41 +01:00

Audio files and capture

C99/POSIX control code loads bounded WAV files and prepares immutable clip plans. Callback rendering reads only preloaded samples. The audio source node passes the mono or paired stereo timeline mix through the ordinary modular graph.

The recorder uses a lock-free SPSC ring: callback push, control-thread drain, and finish/destroy only after callback quiescence. WAV headers, file writing and final rename occur on the control thread. See docs/AUDIO_FILES.md and include/xtc/xtc_audio.h for ownership, limits and recovery behavior.

Phase 8 track gain/pan/mute/solo and automation are prepared with each region; see ../../docs/MIXER.md. Raw recording remains mono and bypasses track settings.