You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
bug(audio): volume not applied — GainNode gain ignored after applyMix() called pre-gesture #39
Even when audio did play, volume changes from the mixer faders had no effect. All stems played at default gain regardless of fader position.
Root cause
applyMix() was called during canplay (before any user gesture), creating a GainNode on a suspended AudioContext. The gain was set, but the AudioContext never processed it correctly. On subsequent play events, the GainNode was already set with a stale/wrong gain value.
Fix
applyMix() lazily creates the GainNode only when ctx.state === "running" (i.e. after the user's first play gesture). Pre-gesture calls fall back to audioEl.volume.
Fixed in this session: applyMix() now uses audioEl.volume for HTMLMediaElement tracks instead of GainNode, so volume is always applied regardless of AudioContext gesture state.
Activity
thcp commentedon May 17, 2026
Fixed in this session: applyMix() now uses audioEl.volume for HTMLMediaElement tracks instead of GainNode, so volume is always applied regardless of AudioContext gesture state.
feat(ui-refactor): DAW redesign, library overhaul, sections, analysis…