Skip to content

Record: drag the bubble, crop and colour each source, mic modes - #12

Merged
calvin-archastro merged 1 commit into
mainfrom
record-bubble-drag
Oct 29, 2026
Merged

calvin-archastro merged 1 commit into
mainfrom
record-bubble-drag

Conversation

@calvin-archastro

Copy link
Copy Markdown
Contributor

What

  • Drag the bubble. In Record's preview the camera bubble follows the pointer, a ring shows the corner it will land in, and letting go puts it there (one undo step). ctl ui now reports the Record scene and bubble.
  • Crop and colour per source. Under Screen and Camera: crop sliders for each edge, brightness, contrast, saturation and warmth, and for the camera a green/blue-screen key. Live in the preview, laid out right in every layout, and each take's clips start with it (files untouched, still editable afterwards). ctl record adjust screen|camera takes any look option except place and size, so effects and redaction work too.
  • Mic mode. With a mic live, a "Mic mode" row (and ctl record mic-mode) opens macOS's menu for Voice Isolation, Wide Spectrum or Standard. record status reports mic_mode.
  • Viewer and export sound match. The viewer's decoder skipped -ss for clips starting at 0, which changed how the clean-up filters adapted. It now seeks as export does.

How a crop fits the layouts

Studio::looks lays each picture out as if it were only what its crop keeps, then maps that look onto the whole picture: scale and centre moved, any crop the layout made added inside the source crop, masks left on the kept part. A test checks that every layout puts a cropped source exactly where it would put an uncropped one of the cropped size.

Checks

  • Unit tests: core 104 (new: crop placement in every layout, live tone maths, studio round trip), app 31 (ctl parsing for adjust and mic-mode). fmt, clippy and doc are clean.
  • By hand: dragging the bubble with ctl drag lands in the right corner, a drag off the bubble doesn't move it, and a tiny drag keeps it put. A side-by-side take with screen crop and greyscale renders as expected in ctl frame, and the clips carry the composed crops. The panel's sliders and green-screen switch work, and a slider drag is one undo step.
  • Not checked: whether macOS's Mic Mode menu actually opens (nothing showed in a screenshot or the log), the live preview with a real green screen, and how keyed edges look.

🤖 Generated with Claude Code

- Drag the camera bubble on the preview to another corner: it follows the
  pointer, a ring shows where it will land. `ctl ui` reports the scene
  and bubble while Record is showing.
- Each source has a look template (`Studio.screen_look`/`camera_look`):
  crop, colour, a green-screen key, effects. Layouts treat a cropped
  picture as only what it keeps, in every layout. The preview cuts and
  tones frames live (`tone.rs`); takes' clips start with the look, the
  files stay as recorded. Controls under each source in the Record tab,
  and `ctl record adjust screen|camera [look options]`.
- Mic mode: the Record tab and `ctl record mic-mode` open macOS's menu
  (Voice Isolation, Wide Spectrum); `record status` reports `mic_mode`.
- The viewer's decoder always seeks, as export does, so cleaned-up sound
  plays at the level it exports at.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
@calvin-archastro
calvin-archastro merged commit ca06f19 into main Oct 29, 2026
6 checks passed
@calvin-archastro
calvin-archastro deleted the record-bubble-drag branch October 29, 2026 19:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant