diff options
| author | skal <pascal.massimino@gmail.com> | 2026-02-08 10:01:45 +0100 |
|---|---|---|
| committer | skal <pascal.massimino@gmail.com> | 2026-02-08 10:01:45 +0100 |
| commit | 71736cc2f935a910c737bbfe0683d286688b4d73 (patch) | |
| tree | 0a3b6dcf9e9174fb0680973a59f422a0b07e6bab | |
| parent | 98f51608b13e57563dc33e34e76a1deec5ec4705 (diff) | |
update tasks
| -rw-r--r-- | TODO.md | 25 |
1 files changed, 25 insertions, 0 deletions
@@ -4,7 +4,22 @@ This file tracks prioritized tasks with detailed attack plans. **Note:** For a history of recently completed tasks, see `COMPLETED.md`. +## Priority 1: Audio Pipeline Simplification & Jitter Fix (Task #71) [NEW] +**Goal**: Address audio jittering in the miniaudio backend and simplify the entire audio pipeline (Synth, Tracker, AudioEngine, AudioBackend) for better maintainability and performance. + +### Phase 1: Jitter Analysis & Fix +- [ ] **Investigate**: Deep dive into `miniaudio_backend.cc` to find the root cause of audio jitter. Analyze buffer sizes, callback timing, and thread synchronization. +- [ ] **Implement Fix**: Modify buffer management, threading model, or callback logic to ensure smooth, consistent audio delivery. +- [ ] **Verify**: Create a new, specific test case in `src/tests/test_audio_backend.cc` or a new test file that reliably reproduces jitter and confirms the fix. + +### Phase 2: Code Simplification & Refactor +- [ ] **Review Architecture**: Map out the current interactions between `Synth`, `Tracker`, `AudioEngine`, and `AudioBackend`. +- [ ] **Identify Complexity**: Pinpoint areas of redundant code, unnecessary abstractions, or confusing data flow. +- [ ] **Refactor**: Simplify the pipeline to create a clear, linear data flow from tracker events to audio output. Reduce dependencies and clarify ownership of resources. +- [ ] **Update Documentation**: Modify `doc/HOWTO.md` and `doc/CONTRIBUTING.md` to reflect the new, simpler audio architecture. + +--- ## Priority 1: Spectral Brush Editor (Task #5) [IN PROGRESS] @@ -216,6 +231,16 @@ This file tracks prioritized tasks with detailed attack plans. - [ ] **Task #62.2: Position Based Dynamics (PBD)**: Refactor solver to re-evaluate velocity after resolving all collisions and constraints. - [ ] **Task #63: Refactor large files**: Split `src/gpu/gpu.cc`, `src/3d/visual_debug.cc` and `src/gpu/effect.cc` into sub-functionalities. (`src/3d/renderer.cc` was also over 500 lines and was taken care of in the past) +### Performance Optimization +- [ ] **Task #70: SIMD x86_64 Implementation**: Implement critical functions using intrinsics for x86_64 platforms. + - **Goal**: Optimize hot paths for audio and procedural generation. + - **Scope**: + - IDCT/FDCT transforms + - Audio mixing and voice synthesis + - CPU-side procedural texture/geometry generation + - **Constraint**: Non-critical; fallback to generic C++ must be maintained. + - **Priority**: Very Low + --- ## Future Goals
\ No newline at end of file |
