80 lines
1.8 KiB
TOML
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"
|