Parallel lane in multiview-audio + the bake-consumer seam.
- SW-D1
M — Audio control seam (the subtitle seam's twin; unblocks the production-HELD Command::RouteAudio) — ADR-0059
- SW-D2
M — Honor gain_db/mute at apply + gain-preserving mute — ADR-0059
- SW-D3
M — Master/program gain stage (FTB audio fade + master gain envelope) — ADR-0059
- SW-D4
M — AFV: transition-coupled equal-power crossfade; ramp_frames = SampleClock::total_at(s+T) − SampleClock::total_at(s) (never the naive product); program-bus crossfade = Class-1 — ADR-0059/T015
- SW-D5
M — Live meters: Event::AudioMeter emitters at ~30 Hz conflated (required before the switcher UI) — ADR-0059
- SW-D6
S — Program audio config-declared / default-on for switcher use — ADR-0059
Design docs: production-switcher brief · media-playout brief · SW backlog · work-schedule SW stream — all delivered in PR #112. Implementation starts only after the design PR is reviewed/merged and the operator green-lights coding.
🤖 Generated with Claude Code
Parallel lane in multiview-audio + the bake-consumer seam.
M— Audio control seam (the subtitle seam's twin; unblocks the production-HELDCommand::RouteAudio) — ADR-0059M— Honorgain_db/muteat apply + gain-preserving mute — ADR-0059M— Master/program gain stage (FTB audio fade + master gain envelope) — ADR-0059M— AFV: transition-coupled equal-power crossfade;ramp_frames = SampleClock::total_at(s+T) − SampleClock::total_at(s)(never the naive product); program-bus crossfade = Class-1 — ADR-0059/T015M— Live meters:Event::AudioMeteremitters at ~30 Hz conflated (required before the switcher UI) — ADR-0059S— Program audio config-declared / default-on for switcher use — ADR-0059Design docs: production-switcher brief · media-playout brief · SW backlog · work-schedule SW stream — all delivered in PR #112. Implementation starts only after the design PR is reviewed/merged and the operator green-lights coding.
🤖 Generated with Claude Code