headroom/Cargo.toml
2026-05-19 16:33:09 +10:00

80 lines
1.8 KiB
TOML

[workspace]
resolver = "2"
members = [
"crates/headroom-dsp",
"crates/headroom-ipc",
"crates/headroom-client",
"crates/headroom-core",
"crates/headroom-cli",
]
[workspace.package]
version = "0.1.0"
edition = "2021"
rust-version = "1.86"
license = "GPL-3.0-or-later"
homepage = "https://github.com/amaanq/headroom"
repository = "https://github.com/amaanq/headroom"
authors = ["Headroom contributors"]
[workspace.dependencies]
# Internal crates
headroom-dsp = { path = "crates/headroom-dsp", version = "0.1.0" }
headroom-ipc = { path = "crates/headroom-ipc", version = "0.1.0" }
headroom-client = { path = "crates/headroom-client", version = "0.1.0" }
headroom-core = { path = "crates/headroom-core", version = "0.1.0" }
# Serde / JSON / TOML
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
toml = "0.8"
# Errors / logging
thiserror = "2.0"
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter", "fmt"] }
# CLI
clap = { version = "4.5", features = ["derive"] }
# Concurrency / control plane
crossbeam-channel = "0.5"
parking_lot = "0.12"
signal-hook = "0.3"
# Realtime audio
rtrb = "0.3"
basedrop = "0.1"
assert_no_alloc = "1.1"
# DSP
ebur128 = "0.1"
fundsp = "0.20"
# PipeWire
pipewire = "0.8"
libspa = "0.8"
# Profile hot-reload
notify = "6.1"
notify-debouncer-mini = "0.4"
# Logging — journald optional
tracing-journald = "0.3"
[profile.release]
opt-level = 3
lto = "thin"
codegen-units = 1
debug = "line-tables-only"
overflow-checks = false
panic = "abort"
[profile.dev]
opt-level = 1 # audio code is unusable at -O0
debug = true
overflow-checks = true
[profile.bench]
inherits = "release"
debug = "full"