mirror of
https://github.com/storytold/soundcraft.git
synced 2026-10-26 19:46:47 -06:00
* ui: keep SoundCraft's beside-the-session-view place for panels craft-ui has no record of * ui: Tracks and Groups and Clips in full-height dock columns The Edit window docks Tracks and Groups (168 pt) at its start edge and Clips (230 pt) at its end edge, with the MIDI editor under the session view between them; Mix docks Tracks and Groups at its start edge. Panels dragged to an empty window edge make a dock there. Saved preferences and window configurations carry docking_version. Split-frame layouts saved without it load as the new defaults, keeping every other setting. A list with no recorded place reopens in its dock group, making the dock again at its side and width when it is gone. Pins craft-ui, craft-docpath and craft-media to craft-libs#312. * Pin craft-libs at d24e4bc for the Mac round 3 * ui: test that a floating list reopens floating while its dock is shown; ui-parity revision
104 lines
4.8 KiB
TOML
104 lines
4.8 KiB
TOML
[workspace]
|
|
resolver = "3"
|
|
members = ["crates/*", "apps/*", "xtask"]
|
|
default-members = ["crates/*", "apps/*", "xtask"]
|
|
|
|
[workspace.package]
|
|
version = "0.13.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"
|
|
# All date/time conversion goes through chrono (no hand-rolled calendar code beyond the 400-year range extension; AGENTS.md).
|
|
chrono = { version = "0.4.45", default-features = false, features = ["std"] }
|
|
rayon = "1"
|
|
proptest = "1"
|
|
|
|
# audio
|
|
symphonia = { version = "0.6", 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.18"
|
|
|
|
# Which file paths stored in a session may be opened.
|
|
craft-docpath = { version = "0.1.0", git = "https://github.com/storytold/craft-libs", rev = "db19c373c8d59a545972ca340987aecfb3611a4b" }
|
|
|
|
# Video containers and bitstreams, shared with the other craft apps.
|
|
craft-media = { version = "0.1.0", git = "https://github.com/storytold/craft-libs", rev = "db19c373c8d59a545972ca340987aecfb3611a4b" }
|
|
craft-update = { version = "=0.1.0", git = "https://github.com/storytold/craft-libs", rev = "db19c373c8d59a545972ca340987aecfb3611a4b", features = ["egui"] }
|
|
|
|
# ui
|
|
craft-ui = { version = "0.1.0", git = "https://github.com/storytold/craft-libs", rev = "db19c373c8d59a545972ca340987aecfb3611a4b", features = ["serde"] }
|
|
egui = { version = "0.37" }
|
|
eframe = { version = "0.37", default-features = false }
|
|
# Monotonic clock on native and the browser (the `web_time::Instant` panics-free equivalent).
|
|
web-time = "1.1"
|
|
egui_kittest = "0.37"
|
|
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
|
|
debug = false
|
|
|
|
[profile.dev]
|
|
opt-level = 1
|
|
debug = "line-tables-only"
|
|
|
|
[profile.release]
|
|
opt-level = 3
|
|
lto = "thin"
|
|
codegen-units = 16
|
|
debug = 0
|
|
|
|
# Keep the complete egui family and native event bridge on reviewed fork commits.
|
|
[patch.crates-io]
|
|
ecolor = { git = "https://github.com/storytold/egui.git", rev = "6d518fc799681571963842f95b55a6b68431b15a" }
|
|
emath = { git = "https://github.com/storytold/egui.git", rev = "6d518fc799681571963842f95b55a6b68431b15a" }
|
|
epaint = { git = "https://github.com/storytold/egui.git", rev = "6d518fc799681571963842f95b55a6b68431b15a" }
|
|
epaint_default_fonts = { git = "https://github.com/storytold/egui.git", rev = "6d518fc799681571963842f95b55a6b68431b15a" }
|
|
egui = { git = "https://github.com/storytold/egui.git", rev = "6d518fc799681571963842f95b55a6b68431b15a" }
|
|
egui-winit = { git = "https://github.com/storytold/egui.git", rev = "6d518fc799681571963842f95b55a6b68431b15a" }
|
|
egui-wgpu = { git = "https://github.com/storytold/egui.git", rev = "6d518fc799681571963842f95b55a6b68431b15a" }
|
|
egui_glow = { git = "https://github.com/storytold/egui.git", rev = "6d518fc799681571963842f95b55a6b68431b15a" }
|
|
egui_extras = { git = "https://github.com/storytold/egui.git", rev = "6d518fc799681571963842f95b55a6b68431b15a" }
|
|
egui_kittest = { git = "https://github.com/storytold/egui.git", rev = "6d518fc799681571963842f95b55a6b68431b15a" }
|
|
egui_system_font_provider = { git = "https://github.com/storytold/egui.git", rev = "6d518fc799681571963842f95b55a6b68431b15a" }
|
|
eframe = { git = "https://github.com/storytold/egui.git", rev = "6d518fc799681571963842f95b55a6b68431b15a" }
|
|
egui_demo_lib = { git = "https://github.com/storytold/egui.git", rev = "6d518fc799681571963842f95b55a6b68431b15a" }
|
|
egui_inspection = { git = "https://github.com/storytold/egui.git", rev = "6d518fc799681571963842f95b55a6b68431b15a" }
|
|
winit = { git = "https://github.com/storytold/winit.git", rev = "a517b3846ee8457d84ee4975110bfda6797c44dc" }
|