Support audio and image footage#95
Closed
barefootford wants to merge 1 commit into
Closed
Conversation
953e6ff to
df7f5cb
Compare
df7f5cb to
7d4bdde
Compare
ButterCut treated every clip as a video file with both a video and an audio stream. Bring audio (music, voiceover) and still images in as first-class footage: import them into a library, place them on the single timeline track, and export to Final Cut, Premiere, and Resolve. A per-clip media_type (video | audio | image) drives it. The library infers it from the file extension at import; the exporter threads it through to the generators, which require it and emit the right timeline element per kind. One discriminator covers what audio and images break — images carry no intrinsic duration, audio has no video stream, and images have no audio stream. - Library: stamp media_type on every clip, synthesize a duration for stills, and judge readiness per kind (audio and images need only a summary; audio's transcript is optional). - Processing: build contact sheets for video only; summarize audio from its transcript and images from the image; skip stills in transcription. - Export: require and validate media_type, fall back to sane defaults when a stream is absent, and give images a default 5s on-timeline duration (overridable per cut). FCP7 emits audio-only and still clipitems with correct per-track link indices; FCPX sets hasVideo/hasAudio per kind. Timelines stay strictly single-track: an audio or image clip takes its own slot and plays only during it. Migrate existing libraries with scripts/005_migrate_add_media_type.rb, which stamps every pre-existing clip media_type: video (idempotent). 249 specs pass; FCPX output validates against FCPXMLv1_8.dtd.
7d4bdde to
6fcb46f
Compare
Owner
Author
|
This is too much to add at once via ai. Going to break this off into two PRs. Add image support (core) |
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.
Adds audio (music, voiceover) and still images as first-class footage alongside video — import them into a library, place them on the single timeline track, and export to Final Cut, Premiere, and Resolve.
A per-clip
media_type(video | audio | image) drives it: the library infers it at import, and the exporter requires it to emit the right timeline element per kind. Stays single-track. Existing libraries migrate withscripts/005_migrate_add_media_type.rb.