<feed xmlns='http://www.w3.org/2005/Atom'>
<title>opencut/apps/web/src/voiceover/voiceover-store.ts, branch rust-rewrite</title>
<subtitle></subtitle>
<id>http://git.cashmere.rs/opencut/atom/apps/web/src/voiceover/voiceover-store.ts?h=rust-rewrite</id>
<link rel='self' href='http://git.cashmere.rs/opencut/atom/apps/web/src/voiceover/voiceover-store.ts?h=rust-rewrite'/>
<link rel='alternate' type='text/html' href='http://git.cashmere.rs/opencut/'/>
<updated>2026-07-26T23:21:20Z</updated>
<entry>
<title>feat: voice-over recording into the timeline</title>
<updated>2026-07-26T23:21:20Z</updated>
<author>
<name>cashmere</name>
<email>cashmere@autistici.org</email>
</author>
<published>2026-07-26T23:21:20Z</published>
<link rel='alternate' type='text/html' href='http://git.cashmere.rs/opencut/commit/?id=783e9ac8462751adc14d78b070095fd63e45bda0'/>
<id>urn:sha1:783e9ac8462751adc14d78b070095fd63e45bda0</id>
<content type='text'>
MediaRecorder mic capture (defensive mimeType picking, permission/no-mic
toasts) with elapsed display in the timeline toolbar. Stop produces an
audio asset and inserts it at the playhead on an audio track as ONE
BatchCommand undo step, freeze-frame precedent. voice-over action
registered, no default keybinding. 20 tests; smoke-tested in Chromium
with a fake mic end to end.
</content>
</entry>
</feed>
