summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorskal <pascal.massimino@gmail.com>2026-02-08 10:01:45 +0100
committerskal <pascal.massimino@gmail.com>2026-02-08 10:01:45 +0100
commit71736cc2f935a910c737bbfe0683d286688b4d73 (patch)
tree0a3b6dcf9e9174fb0680973a59f422a0b07e6bab
parent98f51608b13e57563dc33e34e76a1deec5ec4705 (diff)
update tasks
-rw-r--r--TODO.md25
1 files changed, 25 insertions, 0 deletions
diff --git a/TODO.md b/TODO.md
index bf6aca3..a6ebe3e 100644
--- a/TODO.md
+++ b/TODO.md
@@ -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