[package]
edition = "2024"
name = "NeuralAmpModeler-rs"
version = "3.0.2"
authors = ["Fábio Henrique de Lima Silva <fabio.henrique.lima.silva@gmail.com>"]
build = false
include = [
"src/clap/",
"src/common/",
"src/dsp/",
"src/loader/",
"src/math/",
"src/models/",
"src/standalone/",
"src/testing/",
"src/lib.rs",
"src/main.rs",
"Cargo.toml",
"/README.md",
"/LICENSE.txt",
"/NOTICE.txt",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "An opinionated, high-performance Neural Amp Modeler (NAM) client and core implementation in Rust for Linux/PipeWire and CLAP plugins."
readme = "README.md"
keywords = [
"audio",
"dsp",
"nam",
"neural-amp-modeler",
"guitar",
]
categories = [
"multimedia::audio",
"multimedia",
]
license = "Apache-2.0"
repository = "https://github.com/fabiohl/nam-rs"
[package.metadata.docs.rs]
no-default-features = true
features = [
"clap-plugin",
"stereo",
"testing",
]
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
clap-plugin = [
"dep:clack-plugin",
"dep:clack-extensions",
"dep:clack-common",
"dep:egui",
"dep:egui_glow",
"dep:baseview",
"baseview/opengl",
"dep:rfd",
"dep:glow",
"dep:keyboard-types",
"dep:clack-host",
]
default = ["standalone"]
dynamic-engine = []
heap-audit = []
long_bench = []
pgo = []
standalone = [
"dep:pipewire",
"stereo",
]
stereo = []
testing = []
[lib]
name = "nam_rs"
crate-type = [
"rlib",
"cdylib",
]
path = "src/lib.rs"
[[bin]]
name = "nam-rs"
path = "src/main.rs"
required-features = ["standalone"]
[dependencies.anyhow]
version = "1.0.104"
[dependencies.baseview]
version = "0.1.4"
optional = true
[dependencies.clack-common]
version = "0.1"
optional = true
[dependencies.clack-extensions]
version = "0.1"
features = [
"audio-ports",
"audio-ports-activation",
"clack-plugin",
"gui",
"latency",
"log",
"params",
"state",
"raw-window-handle_05",
"thread-check",
"track-info",
"remote-controls",
"param-indication",
"clack-host",
"preset-discovery",
"render",
"state-context",
"tail",
]
optional = true
[dependencies.clack-host]
version = "0.1"
features = ["clack-plugin"]
optional = true
[dependencies.clack-plugin]
version = "0.1"
optional = true
[dependencies.egui]
version = "0.34.3"
optional = true
[dependencies.egui_glow]
version = "0.34.3"
optional = true
[dependencies.env_logger]
version = "0.11.11"
default-features = false
[dependencies.glow]
version = "0.17.0"
optional = true
[dependencies.keyboard-types]
version = "0.6"
optional = true
default-features = false
[dependencies.lexopt]
version = "0.3.2"
[dependencies.libc]
version = "0.2.189"
[dependencies.log]
version = "0.4.33"
[dependencies.pipewire]
version = "0.10.0"
optional = true
[dependencies.rfd]
version = "0.17.2"
optional = true
[dependencies.rtrb]
version = "0.3.4"
[dependencies.serde]
version = "1.0.229"
features = ["derive"]
[dependencies.serde_json]
version = "1.0.151"
[dependencies.thiserror]
version = "2.0"
[dev-dependencies.clack-host]
version = "0.1"
features = ["clack-plugin"]
[dev-dependencies.clap-sys]
version = "0.5"
[dev-dependencies.criterion]
version = "0.8.2"
default-features = false
[dev-dependencies.loom]
version = "0.7"
[dev-dependencies.proptest]
version = "1.11.0"
[dev-dependencies.serde]
version = "1.0.229"
features = ["derive"]
[dev-dependencies.serde_json]
version = "1.0.151"
[dev-dependencies.serial_test]
version = "3"
features = ["async"]
[lints.clippy]
allow_attributes = "warn"
[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = ["cfg(loom)"]
[profile.dev]
opt-level = 0
debug = 1
split-debuginfo = "unpacked"
incremental = true
[profile.dist]
panic = "abort"
inherits = "release"
[profile.release]
opt-level = 3
lto = "fat"
codegen-units = 1
panic = "unwind"
strip = true