Skip to content

OpenScreen Studio v0.3.0

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 12 Jun 13:12

Changelog

Recording & capture

  • Multi-track recording — screen mp4 plus optional sidecars:
    • System audio and microphone → sidecar WAVs via ScreenCaptureKit (audio_tap.rs)
    • Webcam → sidecar movie via AVFoundation (camera.rs)
  • Native device enumeration — cameras and mics listed without parsing ffmpeg output
  • CaptureAVSettings — HUD passes systemAudio, micDeviceId, and cameraDeviceId into start_capture
  • AV toggles start off every launch; only chosen device IDs persist in localStorage
  • Per-toggle TCC checks for camera, microphone, and screen recording, with links to the right Privacy pane
  • Pause/restart segment concat — bundled ffmpeg stitches segments on stop
  • Rust backend refactor — monolithic lib.rs split into capture, picker, permissions, editor, project, export, camera, and audio_tap

HUD & pre-record UI

  • HudWindow — dedicated HUD phase machine (idlecountdownrecording) with window resizing per phase
  • Configurable countdown — gear menu: off / 3 / 5 / 10 seconds (persisted); countdown pill with cancel and “Continue now”
  • Floating webcam previewcamera-preview window via CameraPreview.tsx (getUserMedia, matched by device label)
  • Redesigned source pills — camera / mic / system toggles with device pickers when multiple devices exist
  • HudIco — separate icon set for HUD windows
  • Close (✕) behavior — quits the app unless the editor is open (then hides the HUD)

Editor

  • Sidecar audio tracks — system and mic with trimming, waveforms, and Web Audio preview playback
  • Camera bubble — position/size keyframes; GPU compositing via new compositorGL.ts
  • Project format v2 — saves audio-track and camera-bubble state
  • .openscreen file association — Finder icon, UTI, and double-click to open projects

Export

  • Rust export pipeline (export.rs) — frame streaming, ffmpeg encode/mux, path picker, clipboard copy
  • Export dialog updated for multi-track audio and camera settings

Permissions & platform

  • New commands: check_camera_access, request_camera_access, check_mic_access, request_mic_access, open_privacy_settings
  • Info.plist — camera/microphone usage strings and document-type declarations for .openscreen

Docs & tooling

  • README — clearer macOS “first open” steps for notarized builds
  • AGENTS.md — updated architecture, capture flow, and module layout
  • New Rust deps: hound, objc2-av-foundation, block2

Commits

Commit Summary
91e2241 README: macOS launch instructions
89f89c2 Audio/camera sidecars, CaptureAVSettings, GL compositor, export audio/camera
dd6c182 Camera preview window, countdown options, HudIco
0b9b04b HudWindow, Rust module split, capture/export backend