mirror of
https://github.com/storytold/soundcraft.git
synced 2026-10-26 03:26:49 -06:00
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>
26 lines
706 B
TOML
26 lines
706 B
TOML
[package]
|
|
name = "soundcraft-mix"
|
|
description = "SoundCraft mix engine: renders a session's tracks, plugins, sends, busses and automation to audio"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
license.workspace = true
|
|
rust-version.workspace = true
|
|
repository.workspace = true
|
|
|
|
[dependencies]
|
|
soundcraft-time.workspace = true
|
|
soundcraft-audio-io.workspace = true
|
|
soundcraft-midi.workspace = true
|
|
soundcraft-dsp.workspace = true
|
|
soundcraft-clap-host.workspace = true
|
|
soundcraft-vst3-host.workspace = true
|
|
soundcraft-au-host.workspace = true
|
|
soundcraft-model.workspace = true
|
|
log.workspace = true
|
|
|
|
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
|
|
rayon.workspace = true
|
|
|
|
[lints]
|
|
workspace = true
|