mirror of
https://github.com/aphrody-labs/soundcraft.git
synced 2026-10-14 03:29:05 +00:00
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.
70 lines
1.8 KiB
TOML
70 lines
1.8 KiB
TOML
[workspace]
|
|
resolver = "3"
|
|
members = ["crates/*", "apps/*", "xtask"]
|
|
default-members = ["crates/*", "apps/*", "xtask"]
|
|
|
|
[workspace.package]
|
|
version = "0.4.0"
|
|
edition = "2024"
|
|
license = "MIT OR Apache-2.0"
|
|
rust-version = "1.90"
|
|
repository = "https://github.com/storytold/soundcraft"
|
|
|
|
[workspace.dependencies]
|
|
# internal
|
|
soundcraft-time = { path = "crates/time" }
|
|
soundcraft-audio-io = { path = "crates/audio-io" }
|
|
soundcraft-midi = { path = "crates/midi" }
|
|
soundcraft-video = { path = "crates/video" }
|
|
soundcraft-dsp = { path = "crates/dsp" }
|
|
soundcraft-clap-host = { path = "crates/clap-host" }
|
|
soundcraft-vst3-host = { path = "crates/vst3-host" }
|
|
soundcraft-au-host = { path = "crates/au-host" }
|
|
soundcraft-model = { path = "crates/model" }
|
|
soundcraft-mix = { path = "crates/mix" }
|
|
soundcraft-engine = { path = "crates/engine" }
|
|
soundcraft-playback = { path = "crates/playback" }
|
|
soundcraft-automation = { path = "crates/automation" }
|
|
soundcraft-ui-egui = { path = "crates/ui-egui" }
|
|
|
|
# foundation
|
|
thiserror = "2"
|
|
serde = { version = "1", features = ["derive", "rc"] }
|
|
serde_json = { version = "1", features = ["float_roundtrip"] }
|
|
log = "0.4"
|
|
rayon = "1"
|
|
proptest = "1"
|
|
|
|
# audio
|
|
symphonia = { version = "0.5", default-features = false, features = ["mp3", "flac", "vorbis", "ogg", "wav", "pcm", "aiff", "isomp4", "aac", "alac", "adpcm", "caf", "mkv"] }
|
|
rustfft = "6"
|
|
cpal = "0.16"
|
|
|
|
# ui
|
|
egui = "0.36"
|
|
eframe = { version = "0.36", default-features = false }
|
|
egui_kittest = "0.36"
|
|
rfd = "0.17"
|
|
image = { version = "0.25", default-features = false, features = ["png"] }
|
|
|
|
[workspace.lints.rust]
|
|
unsafe_code = "forbid"
|
|
|
|
[workspace.lints.clippy]
|
|
dbg_macro = "warn"
|
|
todo = "warn"
|
|
too_many_arguments = "allow"
|
|
type_complexity = "allow"
|
|
|
|
[profile.dev.package."*"]
|
|
opt-level = 2
|
|
|
|
[profile.dev]
|
|
opt-level = 1
|
|
|
|
[profile.release]
|
|
opt-level = 3
|
|
lto = "thin"
|
|
codegen-units = 16
|
|
debug = 0
|