Legg til fase 17: lydstudio-utbedring (7 oppgaver)
Kodegjennomgang av lydstudio-implementasjonen avdekket: - Responsivt design mangler (mobil-layout) - FFmpeg-parametervalidering bør strammes - Fade/silence-logikkfeil (negativ start, margin-underflow) - Frontend input-begrensninger mangler - Job-polling lekker ved navigering - Temp-filer ryddes ikke ved krasj - FFmpeg-feilmeldinger når ikke bruker Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
2ac0ba5fcb
commit
51f49fea22
2 changed files with 15 additions and 2 deletions
|
|
@ -29,18 +29,19 @@ declare -A PHASE_DEPS=(
|
||||||
[9]="3"
|
[9]="3"
|
||||||
[10]="2"
|
[10]="2"
|
||||||
[11]="5 6 7"
|
[11]="5 6 7"
|
||||||
[12]="1 2 3 4 5 6 7 8 9 10 11 13 14 15 16"
|
[12]="1 2 3 4 5 6 7 8 9 10 11 13 14 15 16 17"
|
||||||
[13]="3 4"
|
[13]="3 4"
|
||||||
[14]="6 13"
|
[14]="6 13"
|
||||||
[15]="3 10"
|
[15]="3 10"
|
||||||
[16]="11 13"
|
[16]="11 13"
|
||||||
|
[17]=""
|
||||||
)
|
)
|
||||||
|
|
||||||
# --- Finn blokkerte faser ---
|
# --- Finn blokkerte faser ---
|
||||||
# En fase er blokkert hvis den har en [?], [!] eller [~] oppgave
|
# En fase er blokkert hvis den har en [?], [!] eller [~] oppgave
|
||||||
blocked_phases() {
|
blocked_phases() {
|
||||||
local phases=""
|
local phases=""
|
||||||
for phase in $(seq 1 16); do
|
for phase in $(seq 1 17); do
|
||||||
if grep -qP "^\- \[(\?|!|~)\] ${phase}\." "$TASKS" 2>/dev/null; then
|
if grep -qP "^\- \[(\?|!|~)\] ${phase}\." "$TASKS" 2>/dev/null; then
|
||||||
phases="$phases $phase"
|
phases="$phases $phase"
|
||||||
fi
|
fi
|
||||||
|
|
|
||||||
12
tasks.md
12
tasks.md
|
|
@ -182,6 +182,18 @@ Ref: `docs/features/lydmixer.md`
|
||||||
- [ ] 16.6 EQ-effektkjede: fat bottom (`BiquadFilterNode` lowshelf ~200Hz), sparkle (`BiquadFilterNode` highshelf ~10kHz), exciter (`WaveShaperNode` + highshelf). Per-kanal toggles, synkronisert via STDB. Presets (podcast-stemme, radio-stemme).
|
- [ ] 16.6 EQ-effektkjede: fat bottom (`BiquadFilterNode` lowshelf ~200Hz), sparkle (`BiquadFilterNode` highshelf ~10kHz), exciter (`WaveShaperNode` + highshelf). Per-kanal toggles, synkronisert via STDB. Presets (podcast-stemme, radio-stemme).
|
||||||
- [ ] 16.7 Stemmeeffekter: robotstemme (ring-modulasjon: `OscillatorNode` → `GainNode.gain`), monsterstemme (egenutviklet `AudioWorkletProcessor` med phase vocoder for pitch shift). Effektvelger-UI per kanal. Parameterjustering (pitch-faktor, oscillator-frekvens).
|
- [ ] 16.7 Stemmeeffekter: robotstemme (ring-modulasjon: `OscillatorNode` → `GainNode.gain`), monsterstemme (egenutviklet `AudioWorkletProcessor` med phase vocoder for pitch shift). Effektvelger-UI per kanal. Parameterjustering (pitch-faktor, oscillator-frekvens).
|
||||||
|
|
||||||
|
## Fase 17: Lydstudio-utbedring
|
||||||
|
|
||||||
|
Ref: Kodegjennomgang av `b4c4bb8` (Lydstudio: lydredigering via FFmpeg).
|
||||||
|
|
||||||
|
- [ ] 17.1 Responsivt studio-layout: `/studio/[id]` sidebar stacker under waveform på mobil. Verktøypanel som modal/sheet på små skjermer. Ref: feedback om at alt UI skal være responsivt uten unntak.
|
||||||
|
- [ ] 17.2 FFmpeg-parametervalidering: valider at alle numeriske verdier (threshold, gain, ratio, frekvenser) er innenfor sikre grenser i `audio.rs` før de interpoleres i filterstrenger. Avvis ugyldige verdier med feilmelding.
|
||||||
|
- [ ] 17.3 Fade/silence-logikk: fiks negativ fade-out start (clamp til 0), og adaptiv silence-margin (margin skal ikke overstige halve regionens varighet). Gi feilmelding ved ugyldige fade-varigheter.
|
||||||
|
- [ ] 17.4 Frontend input-begrensninger: legg til `min`/`max` på alle tallfelter i OperationPanel (silenceThreshold, fadeMs, normTarget, compRatio). Hindre ugyldig input.
|
||||||
|
- [ ] 17.5 Job-polling opprydding: rydd opp interval/timeout ved navigering bort fra studio-siden. Vis feilmelding etter N mislykkede polling-forsøk. Wrap metadata JSON.parse i try/catch.
|
||||||
|
- [ ] 17.6 Temp-fil opprydding: legg til periodisk jobb i maskinrommet som sletter gamle temp-filer i CAS tmp-katalog. Bruk `/tmp` eller sett TTL.
|
||||||
|
- [ ] 17.7 FFmpeg feilmeldinger til bruker: propager stderr fra FFmpeg-feil til frontend via strukturert feilrespons. Vis i RenderDialog.
|
||||||
|
|
||||||
## Fase 12: Herding
|
## Fase 12: Herding
|
||||||
|
|
||||||
- [ ] 12.1 Observerbarhet: strukturert logging, metrikker (request latency, queue depth, AI cost).
|
- [ ] 12.1 Observerbarhet: strukturert logging, metrikker (request latency, queue depth, AI cost).
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue