Improve linked A/V track hierarchy and timeline deletion - #159
Open
gorio wants to merge 2 commits into
Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR improves linked video/audio behavior in the timeline.
It addresses two related editing workflows:
Audio track hierarchy
Previously, extracting audio from multiple video tracks could reuse an existing audio track, causing audio clips to overlap.
The resulting layout could become inconsistent depending on the order in which audio was extracted.
This change keeps media types grouped:
Video 1
Video 2
Video 3
Audio 1
Audio 2
Audio 3
The detached audio hierarchy mirrors the source video hierarchy regardless of extraction order.
For example, extracting audio in this order:
Video 3
Video 1
Video 2
still produces:
Video 1
Video 2
Video 3
Audio 1
Audio 2
Audio 3
Each detached audio clip remains linked to its source video.
Timeline Delete / Backspace
Timeline clips can now be removed with Delete or Backspace when the timeline clip owns keyboard focus.
On macOS this supports both:
The behavior respects A/V linking:
Linked video/audio
Deleting either the video or the detached audio removes the complete linked pair.
Unlinked video/audio
After using Unlink, deleting one item removes only the selected item.
Focus safety
The keyboard handler is scoped to the focused timeline clip.
This avoids stealing Delete from:
Undo
Deletion remains a normal project edit and can be restored with a single Undo operation.
Tests
Added regression coverage for:
The full project test suite passes locally on macOS.