Let a piece be made without a video - #34
Merged
Merged
Conversation
You could already place sounds with no clip loaded. You could set the length by hand, and export what you made. The one thing you could not do was hear it, and nothing said so: the play button was live, pressing it moved nothing, and the status line stayed empty. Underneath, `video.play()` was being refused on an element with no source and the refusal was swallowed — the catch there is for a browser blocking autoplay, which looks identical and is not what was happening. So a dead-looking button, which is the fault this app keeps having. The machinery was already there. The playhead has run off the audio clock past the end of a clip since the picture stopped being the only thing that could drive it, and no clip at all is the same case reached from the other end: nothing to follow, so the audio clock decides from the first frame rather than from wherever the picture ran out. Three changes: - the clock treats no picture as beyond the picture, in both play and seek. Where there is a frame to hold on it still holds; where there is none there is nothing to hold - the transport is greyed out on whether there is a piece rather than whether there is a clip. It was the clip, which meant even a working clock would have had stop, the step buttons and the shuttle greyed out beside a play button that ran. The video window toggle keeps the old rule, since a window with no picture in it is nothing at all - a new piece opens thirty seconds long instead of zero. A piece of no length has no ruler worth reading and no room to put anything, so the app looked broken until you found the length control. A loaded clip replaces it outright, so nobody who starts with a video ever sees it Nine tests, five on the clock and four driving the app: a new piece has a length, the transport is live, a sound can be placed and played with no picture, pausing holds where it stopped, cues are queued on the way past, and it still stops at the end of the piece. All nine fail with the three changes put back. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Ux1kydvUkLRoMbHp82ofDi
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
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.
You could already place sounds with no clip loaded. You could set the length by hand, and export what you made. The one thing you could not do was hear it, and nothing said so: the play button was live, pressing it moved nothing, and the status line stayed empty.
Underneath,
video.play()was being refused on an element with no source and the refusal was swallowed — thecatchthere is for a browser blocking autoplay, which looks identical and is not what was happening. So a dead-looking button, which is the fault this app keeps having.The machinery already existed
The playhead has run off the audio clock past the end of a clip since the picture stopped being the only thing that could drive it. No clip at all is the same case reached from the other end: nothing to follow, so the audio clock decides from the first frame rather than from wherever the picture ran out.
Three changes
playandseek. Where there is a frame to hold on it still holds; where there is none there is nothing to hold.Checking
Nine tests: five on the clock, four driving the app.
All nine fail with the three changes put back — the clock's two, the transport gate, and the zero default.
236 unit tests (was 231), 59 browser tests (was 55), build clean.
🤖 Generated with Claude Code
https://claude.ai/code/session_01Ux1kydvUkLRoMbHp82ofDi
Generated by Claude Code