Summary
Synchronize audio playback with the sequence preview timeline using the Web Audio API.
Acceptance Criteria
Tests (Vitest)
Architecture Notes
src/engine/ — Audio playback engine (AudioContext management, buffer loading, sync logic)
src/store/ — Playback state (isPlaying, currentTime) already exists; audio sync hooks into it
src/composer/ — Volume slider wired to store
- Keep audio engine decoupled from renderer — communicate through Zustand store
Dependencies
Priority
Phase 5, Item 02 — Jules priority queue position: 4
Summary
Synchronize audio playback with the sequence preview timeline using the Web Audio API.
Acceptance Criteria
AudioBuffer, play throughAudioBufferSourceNodeaudio.offsetis set in the spec, audio playback begins at that point in the sequence timeline (e.g., offset=2 means audio starts 2 seconds into the sequence)audio.volumefrom the spec controlsGainNodevalue in real-timeAudioContextand all buffers are properly released when:Tests (Vitest)
Architecture Notes
src/engine/— Audio playback engine (AudioContext management, buffer loading, sync logic)src/store/— Playback state (isPlaying, currentTime) already exists; audio sync hooks into itsrc/composer/— Volume slider wired to storeDependencies
Priority
Phase 5, Item 02 — Jules priority queue position: 4