Commit Graph
3 Commits
Author SHA1 Message Date
coygeek 1f5bc965fe fix(ui): follow live system appearance
Resolve System appearance from egui on every frame and fall back to Dark when the integration cannot report a theme. Keep receiving OS changes during manual modes and apply the selected palette to both widget style branches and the current root UI.

Remove the cached detector and its unused dependency. Cover startup, live transitions, manual overrides, saved System preferences, and user colors with an application-frame regression. Add reproducible offscreen system-theme inputs and document the fallback.
2026-10-09 18:28:07 -07:00
Brandon ThomasandClaude Opus 5.5 cdefc57c91 Video track, Audio Unit hosting, plugin state and editors, Renderer and UI Customization
Video (new standalone crate soundcraft-video):
- Pure-Rust H.264 (Baseline/Main/High), ProRes (all flavours) and Motion JPEG decoding with
  ISO-BMFF demux, adapted from FilmCraft's crates; fuzzed with mutated/truncated movies
- TrackKind::Video with ClipContent::Video referencing Session.videos; file.import_video adds
  the picture track and the movie's audio; relinking on open; video.offset/online/list
- Video and Video Universe windows, thumbnails on the timeline, background decoding

Third-party plugins:
- Plugin state (CLAP state ext, VST3 component + controller state) saved in sessions
- Hosted instances created, state-loaded and dropped on the UI thread, never the audio thread
- Plugin editors: floating CLAP GUIs and VST3 views on macOS (verified with Melodyne)
- New isolated FFI crate soundcraft-au-host: Audio Units on macOS (effects and instruments,
  parameters, latency, MIDI, ClassInfo state), wired into the mixer and plugin browser

UI: Window > Renderer (speaker layout with live levels and object positions), Window > UI
Customization (interface scale, reduce motion), Window > Configurations > Auto-Update.

Fix: saturating sample-index math in clip rendering (hostile stretch values overflowed).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-06 01:41:05 -04:00
Brandon ThomasandClaude Opus 5.5 f41c1310fc UI, desktop app, CLI and MCP: Edit and Mix windows, playback, agent control
- soundcraft-ui-egui: Edit window (toolbar with edit modes, zoom, tools,
  counters, grid/nudge, transport; rulers; track headers; waveforms, MIDI
  and automation lanes; Smart/Selector/Grabber/Trim/Pencil/Zoom/Scrubber
  gestures), Mix window strips, menus built from the incumbent catalog,
  dialogs, floating windows, JSON control channel, offscreen ui_shot
- soundcraft app: eframe/wgpu, cpal playback, control server, drag-drop
- soundcraft-automation: MCP server (stdio) with headless and remote
  backends; agent acceptance test of 9 realistic tasks
- soundcraft-cli: info, convert, run, script, commands, app, mcp, parity
- engine: AudioSuite offline processing command

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-05 22:59:40 -04:00