Cargo Features

[dependencies]
voirs-ffi = { version = "0.1.0-alpha.2", default-features = false, features = ["logging", "python", "nodejs", "wasm", "gpu", "memory-detection", "recognition", "python-recognition", "futures", "windows-platform", "macos-platform", "linux-platform", "platform-integration", "winreg"] }
default = memory-detection

These default features are set whenever voirs-ffi is added without default-features = false somewhere in the dependency tree.

Enables futures and futures-util

logging python?

Enables tracing and tracing-subscriber

python python-recognition? = logging

Enables futures, futures-util, numpy ^0.26.0, and pyo3 ^0.26.0

Affects python::pyo3_bindings

nodejs

Enables napi ^2.16 and napi-derive ^2.16

Affects nodejs::napi_bindings

wasm

Enables console_error_panic_hook, js-sys, wasm-bindgen, wasm-bindgen-futures, and web-sys

Affects wasm::wasm_bindings

gpu

Enables gpu of voirs-acoustic and voirs-vocoder

voirs-acoustic:

On macOS, use Metal; on Linux/Windows would use cuda

memory-detection default
recognition python-recognition?

Enables futures, futures-util, and voirs-recognizer

python-recognition = python, recognition
futures

Enables futures and futures-util

windows-platform platform-integration?

Platform-specific features

Enables winapi and windows ^0.58

macos-platform platform-integration?

Enables core-foundation, cpal ^0.16, objc, and objc-foundation

linux-platform platform-integration?

Enables alsa ^0.10, dbus, procfs, and pulse

platform-integration = linux-platform, macos-platform, windows-platform

Features from optional dependencies

winreg implicit feature

Enables winreg

winreg:

Rust bindings to MS Windows Registry API