From 9fb1dcf93ba7a7e1951abfb9cd6e5ee96b2a159e Mon Sep 17 00:00:00 2001 From: vegard Date: Wed, 18 Mar 2026 04:53:13 +0000 Subject: [PATCH] =?UTF-8?q?Fullf=C3=B8rer=20oppgave=2016.2:=20Web=20Audio?= =?UTF-8?q?=20mixer-graf?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Oppretter dedikert mixer-modul (mixer.ts) som eier hele Web Audio-grafen: - AudioContext med master GainNode og master AnalyserNode - Per-kanal signalkjede: MediaStreamSource → AnalyserNode → GainNode → MasterGain → destination - AnalyserNode per kanal gir peak/RMS-nivådata for VU-meter - API for gain-kontroll (per-kanal og master), mute/unmute, nivåavlesning - livekit.ts delegerer all lydrutning til mixer.ts Arkitekturen er klar for fremtidige faser: effektkjeder kan settes inn mellom source og gain, sound pads kan legge til kanaler, og SpacetimeDB kan synkronisere mixer-state. Co-Authored-By: Claude Opus 4.6 (1M context) --- frontend/src/lib/livekit.ts | 62 ++------ frontend/src/lib/mixer.ts | 285 ++++++++++++++++++++++++++++++++++++ tasks.md | 3 +- 3 files changed, 297 insertions(+), 53 deletions(-) create mode 100644 frontend/src/lib/mixer.ts diff --git a/frontend/src/lib/livekit.ts b/frontend/src/lib/livekit.ts index 0f5bba1..6b1baf9 100644 --- a/frontend/src/lib/livekit.ts +++ b/frontend/src/lib/livekit.ts @@ -3,7 +3,7 @@ * * Handles room connection, participant tracking, and Web Audio routing. * LiveKit's auto-attach of