1
0
Fork 0
nih-plug/Cargo.toml

145 lines
4.6 KiB
TOML
Raw Normal View History

[package]
name = "nih_plug"
version = "0.0.0"
edition = "2021"
2022-10-19 21:49:19 +11:00
rust-version = "1.63"
authors = ["Robbert van der Helm <mail@robbertvanderhelm.nl>"]
2022-02-13 02:03:28 +11:00
license = "ISC"
keywords = ["audio", "plugin", "vst", "vst3"]
description = "A simple but modern API-agnostic audio plugin framework"
2022-03-08 06:03:05 +11:00
repository = "https://github.com/robbert-vdh/nih-plug"
2022-01-25 22:23:19 +11:00
[workspace]
members = [
"nih_plug_derive",
2022-02-06 10:22:33 +11:00
"nih_plug_egui",
2022-03-13 08:10:14 +11:00
"nih_plug_iced",
2022-03-18 09:14:45 +11:00
"nih_plug_vizia",
"nih_plug_xtask",
"cargo_nih_plug",
"xtask",
"plugins/examples/gain",
"plugins/examples/gain_gui_egui",
"plugins/examples/gain_gui_iced",
"plugins/examples/gain_gui_vizia",
"plugins/examples/midi_inverter",
"plugins/examples/poly_mod_synth",
"plugins/examples/sine",
"plugins/examples/stft",
2023-02-02 00:52:01 +11:00
"plugins/examples/sysex",
2023-04-06 04:07:13 +10:00
"plugins/soft_vacuum",
2022-11-10 01:47:26 +11:00
"plugins/buffr_glitch",
2022-03-09 03:41:23 +11:00
"plugins/crisp",
2022-05-29 21:42:45 +10:00
"plugins/crossover",
"plugins/diopser",
2022-04-27 23:37:17 +10:00
"plugins/loudness_war_winner",
"plugins/puberty_simulator",
2022-05-25 07:57:11 +10:00
"plugins/safety_limiter",
"plugins/spectral_compressor",
]
[features]
default = ["vst3"]
# Enabling this feature will cause the plugin to terminate when allocations
2022-07-08 10:18:24 +10:00
# occur in the processing function during debug builds. Keep in mind that panics
# may also allocate if they use string formatting, so temporarily disabling this
# feature may be necessary when debugging panics in DSP code.
assert_process_allocs = ["dep:assert_no_alloc"]
# Enables an export target for standalone binaries through the
2022-07-08 10:18:24 +10:00
# `nih_export_standalone()` function. Disabled by default as this requires
# building additional dependencies for audio and MIDI handling.
standalone = ["dep:baseview", "dep:clap", "dep:cpal", "dep:jack", "dep:midir", "dep:rtrb"]
# Enables the `nih_export_vst3!()` macro. Enabled by default. This feature
# exists mostly for GPL-compliance reasons, since even if you don't use the VST3
# wrapper you might otherwise still include a couple (unused) symbols from the
2022-07-08 10:18:24 +10:00
# `vst3-sys` crate.
vst3 = ["dep:vst3-sys"]
# Add adapters to the Buffer object for reading the channel data to and from
# `std::simd` vectors. Requires a nightly compiler.
simd = []
# Compress plugin state using the Zstandard algorithm. Loading uncompressed
# state is still supported so existing state will still load after enabling this
# feature for a plugin, but it can not be disabled again without losing state
# compatibility.
zstd = ["dep:zstd"]
# Only relevant when generating docs, adds the `doc_auto_cfg` nightly feature
docs = []
[dependencies]
nih_plug_derive = { path = "nih_plug_derive" }
anyhow = "1.0"
2023-05-22 07:43:09 +10:00
anymap = "1.0.0-beta.2"
atomic_float = "0.1"
atomic_refcell = "0.1"
backtrace = "0.3.65"
bitflags = "1.3"
2022-02-04 01:58:00 +11:00
cfg-if = "1.0"
2023-04-23 00:09:37 +10:00
# This supports CLAP 1.1.8
clap-sys = { git = "https://github.com/robbert-vdh/clap-sys.git", branch = "feature/cstr-macro" }
2022-02-05 22:46:26 +11:00
crossbeam = "0.8"
lazy_static = "1.4"
log = { version = "0.4", features = ["std", "release_max_level_info"] }
2022-04-08 07:28:31 +10:00
midi-consts = "0.1"
nih_log = "0.3.1"
parking_lot = "0.12"
raw-window-handle = "0.4"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
2022-01-27 07:02:52 +11:00
widestring = "1.0.0-beta.1"
2022-02-04 01:58:00 +11:00
# Used for the `assert_process_allocs` feature
assert_no_alloc = { git = "https://github.com/robbert-vdh/rust-assert-no-alloc.git", branch = "feature/nested-permit-forbid", features = ["backtrace", "log"], optional = true }
2022-02-04 01:58:00 +11:00
# Used for the `standalone` feature
# NOTE: OpenGL support is not needed here, but rust-analyzer gets confused when
# some crates do use it and others don't
baseview = { git = "https://github.com/RustAudio/baseview.git", rev = "7001c2521fa1a439a01967cb881b411cd75d9ee0", features = ["opengl"], optional = true }
# All the claps!
clap = { version = "4.1.8", features = ["derive", "wrap_help"], optional = true }
cpal = { version = "0.15", optional = true }
jack = { version = "0.11.4", optional = true }
midir = { version = "0.9.1", optional = true }
rtrb = { version = "0.2.2", optional = true }
# Used for the `vst3` feature
vst3-sys = { git = "https://github.com/robbert-vdh/vst3-sys.git", branch = "fix/drop-box-from-raw", optional = true }
# Used for the `zstd` feature
2023-03-02 08:35:00 +11:00
zstd = { version = "0.12.3", optional = true }
[dev-dependencies]
approx = "0.5.1"
2022-04-21 03:36:04 +10:00
[target.'cfg(all(target_family = "unix", not(target_os = "macos")))'.dependencies]
libc = "0.2.124"
2023-01-07 01:14:57 +11:00
[target.'cfg(target_os = "macos")'.dependencies]
objc = "0.2.7"
core-foundation = "0.9.3"
2022-04-21 03:36:04 +10:00
[target.'cfg(target_os = "windows")'.dependencies.windows]
2023-03-02 08:34:46 +11:00
version = "0.44"
features = [
"Win32_Foundation",
"Win32_Graphics_Gdi",
"Win32_UI_WindowsAndMessaging",
"Win32_System_LibraryLoader",
"Win32_System_Performance",
]
[profile.release]
2022-03-09 11:16:48 +11:00
lto = "thin"
strip = "symbols"
[profile.profiling]
inherits = "release"
debug = true
strip = "none"