Stretched layers copied the nearest source sample for each output sample, which adds error: at
48 kHz the worst error on a 440 Hz tone was 0.025, and 0.15 at 8 kHz. They now blend the two
source samples either side. Layers at 100% and 50% speed keep their exact samples.
The render tests cover a plain precomp, which mixes the same audio as its layers, and the stretch
error against the exact tone.
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
Comps expose controls (properties typed as text/color/slider/checkbox/point/angle/dropdown,
Media Replacement, groups, comments); precomp layers get an Essential Properties group whose
edits override per instance (Push to Comp / Revert); templates export/import as an open ZIP
(manifest.json + project subset + media + poster). Stretched precomps keep protected regions
at their original speed.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
8/16 bpc projects clamp and quantise layer pixels after source/masks and
every effect, and the comp after every layer (16 bpc = 0..32768); 32 bpc
keeps over-range values. Blend modes without HDR support clamp their inputs
in 32 bpc. Working space (sRGB, Rec. 709, Rec. 2020, Display P3; matrices
derived from the published primaries), footage colour profiles from stream
metadata or Interpret Footage, Linearize Working Space and Blend Colors Using
1.0 Gamma. Layer cache keys include the colour settings. Project panel depth
button: click cycles, Alt-click opens Project Settings.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Audio effects (Backwards, Bass & Treble, Delay, Flange & Chorus,
High-Low Pass, Modulator, Parametric EQ, Reverb, Stereo Mixer, Tone)
applied per layer in the comp mixdown, so export and preview share them.
RBJ-cookbook biquads, Schroeder/Moorer reverb, modulated delay lines;
stateless per block via pre-roll. Tone makes any layer audible.
- Real-time audio preview: ui-egui AudioFeed/AudioPlayback (feeder thread
mixing ahead) behind an AudioDevice hook; the desktop app implements it
with cpal (L6). Audio clock drives playback (consumed frames minus device
latency, looped through the work area). Preview panel Include Audio /
playback.muteAudio.
- Audio panel VU meters with peak hold and clip indicators; selected
layer's Audio Levels.
- Timeline Audio > Waveform for footage with audio (L reveals Audio
Levels, LL the Waveform), drawn from a cached per-item peak summary.
- ui.playback reports audio state and meter levels.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>