[package]
name = "fundsp"
description = "Audio processing and synthesis library."
keywords = ["dsp", "audio", "synthesizer", "sound", "no_std"]
categories = ["multimedia::audio", "no-std"]
license = "MIT OR Apache-2.0"
version = "0.23.0"
authors = ["SamiPerttu <Sami.Perttu@gmail.com>"]
homepage = "https://github.com/SamiPerttu/fundsp"
repository = "https://github.com/SamiPerttu/fundsp"
readme = "README.md"
edition = "2024"

[dependencies]
numeric-array = { version = "0.6.1", default-features = false }
dyn-clone = "1.0.20"
libm = "0.2.15"
wide = { version = "1.1.1", default-features = false }
num-complex = { version = "0.4.6", default-features = false, features = ["libm"] }
tinyvec = { version = "1.10.0", features = ["alloc"] }
hashbrown = "0.16.1"
microfft = { version = "0.6.0", features = ["size-32768"] }
funutd = { version = "0.16.0", default-features = false }
thingbuf = { version = "0.1.6", default-features = false, features = ["alloc"] }
once_cell = { version = "1.21.3", default-features = false, features = ["race", "alloc"] }
symphonia = { version = "0.5.5", optional = true, features = ["all"] }
resampler = { version = "0.4.0", features = ["no_std"] }
fft-convolver = { version = "0.3.0", optional = true }

[dev-dependencies]
anyhow = "1.0.89"
criterion = "0.8.1"
cpal = "0.17.0"
assert_no_alloc = "1.1.2"
eframe = "0.33.3"
plotters = "0.3.7"
midi-msg = "0.5.0"
midir = "0.9.1"
read_input = "0.8.6"
rayon = "1.10.0"

[features]
default = ["std", "files", "fft"]
std = []
files = ["dep:symphonia"]
fft = ["dep:fft-convolver"]

[[bench]]
name = "benchmark"
harness = false

[package.metadata.docs.rs]
all-features = true
rustc-args = ["--cfg", "docsrs"]
