feat(processed-audio-sources): phase 3 - processed audio source model
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.
This commit is contained in:
@@ -9,7 +9,7 @@
|
||||
- **Test:** `cd server && py -3.13 -m pytest tests/ --no-cov -q`
|
||||
|
||||
## Current State
|
||||
Phase 1 (Audio Filter Framework) and Phase 2 (Audio Filters) implemented.
|
||||
Phase 1 (Audio Filter Framework), Phase 2 (Audio Filters), and Phase 3 (Processed Audio Source Model) implemented.
|
||||
|
||||
Phase 1 framework:
|
||||
- `AudioFilter` base class, `AudioFilterRegistry`, `AudioFilterOptionDef` in `core/audio/filters/`
|
||||
@@ -34,10 +34,11 @@ Phase 2 filters (12 total registered, 11 real + 1 meta):
|
||||
- `PostprocessingTemplateStore` has `resolve_filter_instances()` for recursive expansion
|
||||
- Picture filters transform images; audio filters will transform `AudioAnalysis`
|
||||
|
||||
### Current Audio Source Types (to be replaced)
|
||||
- `MultichannelAudioSource` → renamed to `CaptureAudioSource`
|
||||
- `MonoAudioSource` → removed, replaced by channel_extract filter
|
||||
- `BandExtractAudioSource` → removed, replaced by band_extract filter
|
||||
### Current Audio Source Types (Phase 3 complete)
|
||||
- `CaptureAudioSource` (source_type="capture") — wraps a physical audio device
|
||||
- `ProcessedAudioSource` (source_type="processed") — references audio_source_id + audio_processing_template_id
|
||||
- `MonoAudioSource` — removed, replaced by channel_extract filter
|
||||
- `BandExtractAudioSource` — removed, replaced by band_extract filter
|
||||
|
||||
### AudioAnalysis Structure (filter input/output)
|
||||
```python
|
||||
@@ -91,7 +92,7 @@ _(none yet)_
|
||||
|-------|-----------|-------------|----------|-------|
|
||||
| Phase 1 | impl-agent | — | No | Tasks 7+8 skipped (SQLite migration made them obsolete) |
|
||||
| Phase 2 | impl-agent | — | No | All 11 filters implemented, no deviations |
|
||||
| Phase 3 | — | — | — | — |
|
||||
| Phase 3 | impl-agent | — | No | All 11 tasks done; channel/band logic deferred to Phase 4 |
|
||||
| Phase 4 | — | — | — | — |
|
||||
| Phase 5 | — | — | — | — |
|
||||
| Phase 6 | — | — | — | — |
|
||||
|
||||
Reference in New Issue
Block a user