[package]
name = "nih_plug"
version = "0.0.0"
edition = "2021"
authors = ["Robbert van der Helm <mail@robbertvanderhelm.nl>"]
license = "ISC"

keywords = ["audio", "plugin", "vst", "vst3"]
description = "A simple but modern API-agnostic audio plugin framework"
repository = "https://github.com/robbert-vdh/nih-plugs"

[workspace]
members = [
  "nih_plug_derive",
  "nih_plug_egui",
  "xtask",

  "plugins/examples/gain",
  "plugins/examples/gain-gui",
  "plugins/examples/sine",

  "plugins/diopser",
]

[features]
default = []
# Enabling this feature will cause the plugin to terminate when allocations
# occur in the processing function while compiling in debug mode.
assert_process_allocs = ["assert_no_alloc"]

[dependencies]
nih_plug_derive = { path = "nih_plug_derive" }

atomic_float = "0.1"
cfg-if = "1.0"
# For CLAP 0.18
clap-sys = { git = "https://github.com/glowcoil/clap-sys", rev = "3ef7048e1d3b426a7c6b02b5d3ae18f14874d4e5" }
crossbeam = "0.8"
lazy_static = "1.4"
parking_lot = "0.12"
raw-window-handle = "0.4"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
# This contains a number of fixes for the reference counting, cross compilation
# support, and an incorrect return type
vst3-sys = { git = "https://github.com/robbert-vdh/vst3-sys.git", branch = "fix/atomic-reference-count" }
widestring = "1.0.0-beta.1"

assert_no_alloc = { version = "1.1", optional = true }

[target.'cfg(windows)'.dependencies.windows]
version = "0.32"
features = [
  "Win32_Foundation",
  "Win32_Graphics_Gdi",
  "Win32_UI_WindowsAndMessaging",
  "Win32_System_LibraryLoader",
  "Win32_System_Performance",
]