353c090b42
Replace MultichannelAudioSource with CaptureAudioSource, add ProcessedAudioSource (audio_source_id + audio_processing_template_id), remove MonoAudioSource and BandExtractAudioSource entirely. Update store resolution to walk processed chains collecting template IDs. Update all API schemas, routes, and frontend references.
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 | 🔨 In Progress | ⬜ | ⬜ | ⬜ |
|
|
| Phase 2: Audio Filters | backend | 🔨 In Progress | ⬜ | ⬜ | ⬜ |
|
|
| Phase 3: Processed Audio Source Model | backend | ✅ Done | ⬜ | ⬜ | ⬜ |
|
|
| Phase 4: Runtime Integration | backend | ⬜ Not Started | ⬜ | ⬜ | ⬜ |
|
|
| Phase 5: Frontend — Audio Processing Templates | frontend | ⬜ Not Started | ⬜ | ⬜ | ⬜ |
|
|
| Phase 6: Frontend — Source Types | frontend | ⬜ Not Started | ⬜ | ⬜ | ⬜ |
|
|
| Phase 7: Testing & Polish | backend | ⬜ Not Started | ⬜ | ⬜ | ⬜ |
|
|
| Phase 8: Frontend Design Review | frontend | ⬜ Not Started | ⬜ | ⬜ | ⬜ |
|
|
|
|
## Final Review
|
|
- [ ] Comprehensive code review
|
|
- [ ] Full build passes
|
|
- [ ] Full test suite passes
|
|
- [ ] Merged to `master`
|