ce1f4847f3
Fix test_list_filters test (filter_id field name mismatch). Add tests for audio filters, template store, and source store. All 678 tests pass, ruff clean, tsc clean, esbuild clean. No dead code remaining from old source types.
56 lines
2.7 KiB
Markdown
56 lines
2.7 KiB
Markdown
# Feature: Processed Audio Sources
|
|
|
|
**Branch:** `feature/processed-audio-sources`
|
|
**Base branch:** `master`
|
|
**Created:** 2026-03-31
|
|
**Status:** 🟡 In Progress
|
|
**Strategy:** Big Bang
|
|
**Mode:** Automated
|
|
**Execution:** Orchestrator
|
|
|
|
## Summary
|
|
|
|
Replace hardcoded `MonoAudioSource` and `BandExtractAudioSource` types with a composable
|
|
**ProcessedAudioSource + AudioProcessingTemplate + AudioFilter** system — mirroring the
|
|
existing processed picture source pattern. Rename `MultichannelAudioSource` to
|
|
`CaptureAudioSource`. Adds 11 audio filters: channel extract, band extract, peak hold,
|
|
gain, noise gate, envelope follower, spectral smoothing, compressor, inverter, beat gate,
|
|
and delay.
|
|
|
|
Clean-slate approach: no data migration for old source types.
|
|
|
|
## Build & Test Commands
|
|
- **Build (Python):** `cd server && ruff check src/ tests/ --fix`
|
|
- **Build (TypeScript):** `cd server && npx tsc --noEmit && npm run build`
|
|
- **Test:** `cd server && py -3.13 -m pytest tests/ --no-cov -q`
|
|
|
|
## Phases
|
|
|
|
- [ ] Phase 1: Audio Filter Framework [domain: backend] → [subplan](./phase-1-audio-filter-framework.md)
|
|
- [ ] Phase 2: Audio Filters [domain: backend] → [subplan](./phase-2-audio-filters.md)
|
|
- [ ] Phase 3: Processed Audio Source Model [domain: backend] → [subplan](./phase-3-processed-audio-source-model.md)
|
|
- [ ] Phase 4: Runtime Integration [domain: backend] → [subplan](./phase-4-runtime-integration.md)
|
|
- [ ] Phase 5: Frontend — Audio Processing Templates [domain: frontend] → [subplan](./phase-5-frontend-templates.md)
|
|
- [ ] Phase 6: Frontend — Source Types [domain: frontend] → [subplan](./phase-6-frontend-source-types.md)
|
|
- [ ] Phase 7: Testing & Polish [domain: backend] → [subplan](./phase-7-testing-polish.md)
|
|
- [ ] Phase 8: Frontend Design Consistency Review [domain: frontend] → [subplan](./phase-8-frontend-design-review.md)
|
|
|
|
## Phase Progress Log
|
|
|
|
| Phase | Domain | Status | Review | Build | Committed |
|
|
|-------|--------|--------|--------|-------|-----------|
|
|
| Phase 1: Audio Filter Framework | backend | ✅ Done | ✅ | ⏭️ | ✅ |
|
|
| Phase 2: Audio Filters | backend | ✅ Done | ✅ | ⏭️ | ✅ |
|
|
| Phase 3: Processed Audio Source Model | backend | ✅ Done | ✅ | ⏭️ | ✅ |
|
|
| Phase 4: Runtime Integration | backend | ✅ Done | ✅ | ⏭️ | ✅ |
|
|
| Phase 5: Frontend — Audio Processing Templates | frontend | ✅ Done | ✅ | ⏭️ | ✅ |
|
|
| Phase 6: Frontend — Source Types | frontend | ✅ Done | ✅ | ⏭️ | ✅ |
|
|
| Phase 7: Testing & Polish | backend | ✅ Done | — | ✅ | ✅ |
|
|
| Phase 8: Frontend Design Review | frontend | ⬜ Not Started | ⬜ | ⬜ | ⬜ |
|
|
|
|
## Final Review
|
|
- [ ] Comprehensive code review
|
|
- [ ] Full build passes
|
|
- [ ] Full test suite passes
|
|
- [ ] Merged to `master`
|