diff options
Diffstat (limited to 'TODO.md')
| -rw-r--r-- | TODO.md | 11 |
1 files changed, 10 insertions, 1 deletions
@@ -3,6 +3,15 @@ This file tracks prioritized tasks with detailed attack plans. ## Recently Completed (February 4, 2026) +- [x] **Task #51.2: Mock Audio Backend**: + - [x] **Event Recording**: Created `VoiceTriggerEvent` structure to capture timestamp, spectrogram_id, volume, and pan. + - [x] **MockAudioBackend Class**: Implemented test-only backend with event recording and time tracking capabilities. + - [x] **Time Management**: Added `advance_time()`, `set_time()`, and `get_current_time()` for deterministic testing. + - [x] **Frame Rendering Hook**: Implemented `on_frames_rendered()` to automatically update time based on audio frames (32kHz). + - [x] **Synth Integration**: Verified mock backend correctly captures voice triggers from synth engine. + - [x] **Comprehensive Tests**: Created `test_mock_backend.cc` with 6 test scenarios covering all mock functionality. + - [x] **Build Integration**: Added mock backend to test builds, all 14 tests pass. + - [x] **Task #51.1: Audio Backend Abstraction**: - [x] **Interface Created**: Defined `AudioBackend` interface in `src/audio/audio_backend.h` with hooks for voice triggering and frame rendering. - [x] **Production Backend**: Moved miniaudio implementation to `MiniaudioBackend` class, maintaining backward compatibility. @@ -73,7 +82,7 @@ This file tracks prioritized tasks with detailed attack plans. - [ ] **Task #51: Tracker Timing Verification** - [x] **Task #51.1: Audio Backend Abstraction**: Create an interface to separate audio output from synth logic, enabling testable backends. - - [ ] **Task #51.2: Mock Audio Backend**: Implement a test backend that records voice trigger events with precise timestamps. + - [x] **Task #51.2: Mock Audio Backend**: Implement a test backend that records voice trigger events with precise timestamps. - [ ] **Task #51.3: Tracker Test Suite**: Create `test_tracker.cc` to verify pattern triggering, timing accuracy, and synchronization. - [ ] **Task #51.4: Integration with Build**: Wire up tests to CMake and ensure they run in CI. |
