[workspace] resolver = "3" members = ["crates/*", "apps/*", "xtask"] default-members = ["crates/*", "apps/*", "xtask"] [workspace.package] version = "0.6.1" 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" # Session bundles (one file holding a session and its audio, for the browser): stored entries only. zip = { version = "9", default-features = false } cpal = "0.16" # ui craft-ui = { version = "0.1.0", git = "https://github.com/storytold/craft-libs", rev = "5c874d51eeb3de70e735c8ce87a59a7dedd47675", features = ["serde"] } 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