Files
raspberry-pi-mixer/tests
shawn d6480a35ed
Lint & Validate / lint (push) Has been cancelled
P3-R3: Multi-track recording engine
- WAV writer with streaming support for 16/24/32-bit integer and 32-bit float
- MultiTrackRecorder with per-channel arming, arm state machine, write-ahead
  buffer queues decoupling JACK real-time thread from SD card I/O
- Punch in/out recording on individual channels with punch region tracking
- Session file format (JSON): session metadata, takes, tracks, mixer state,
  punch regions, serialization round-trip
- Take management: create, delete, rename, list, track association
- Stereo bounce engine with pan law (-3dB constant power), normalisation,
  master bus volume/mute/dim, block-based processing for memory efficiency
- Disk space monitor with configurable warning/critical thresholds, estimated
  recording time remaining, background polling, callback on threshold change
- 117 tests: sample conversion, WAV header validation, recorder lifecycle,
  session CRUD, serialization, bounce with pan/normalisation/master, integration

Integrates with JACK capture ports → mixer → recording ports → disk.
Architecture: JACK callback → recorder.write() → buffer queue → writer thread → WAV files.
2026-05-19 21:44:28 -04:00
..