Phase 9.3 - Automation Playback: - Added real-time automation evaluation during playback - Automation values are applied continuously via requestAnimationFrame - Volume automation: Interpolates between points and applies to gain nodes - Pan automation: Converts 0-1 values to -1 to 1 for StereoPannerNode Implementation details: - New applyAutomation() function runs in RAF loop alongside level monitoring - Evaluates automation at current playback time using evaluateAutomationLinear - Applies values using setValueAtTime for smooth Web Audio API parameter changes - Automation loop lifecycle matches playback (start/pause/stop/cleanup) - Respects automation mode (only applies when mode !== 'read') Technical improvements: - Added automationFrameRef for RAF management - Proper cleanup in pause(), unmount, and playback end scenarios - Integrated with existing effect chain restart mechanism - Volume automation multiplied with track gain (mute/solo state) Next steps: - Effect parameter automation (TODO in code) - Automation recording (write mode implementation) - Touch and latch modes 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
22 KiB
22 KiB