Performance import and marking (#63) #120
No reviewers
Labels
No labels
bug
duplicate
enhancement
help wanted
invalid
needs-info
needs-triage
question
ready-for-agent
ready-for-human
wayfinder:grilling
wayfinder:map
wayfinder:prototype
wayfinder:research
wayfinder:task
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
crowmaki/ai-studio!120
Loading…
Reference in a new issue
No description provided.
Delete branch "issue-63-performance-import"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes #63. Part of #24.
What
A filmmaker can lock a Scene's dialogue timing with recorded audio.
silencedetect(from the sidecar) finds the speech. The islands go in order to the dialogue units, merged or split in proportion to their estimates. Marks are a contiguous partition:performance_mark.coveredper Line per version. A Line outside the imported run has no row and stays uncovered.LineTiming::Performance), and every event except a Take event plays the Performance's audio under it.Schema step V34 adds
performance,performance_sourceandperformance_mark.Left for later tickets:
performance_off.Notes for review
Tests
performance_marksunit tests cover silence parsing and the partition rules.tests/performance.rsimports ffmpeg-generated fixture audio and covers the marks, the run, the Cut timing and audio clips, undo, re-run, versions and the ghost, and the short-Line flag.performance.test.tscovers the lane helpers.cargo test --workspace --all-features,bun test srcandbun run checkall pass.Screenshots
Before any import:

Imported, with marks auto-placed on the waveform:

After dragging two Line marks. The short action Line gets a warning, and the selected Line says it is timed by the performance:

A second version, with v1's marks in the ghost lane:

Version history:
