plugin_host/lib.rs
1//! `plugin_host` — Host de plugins VST3 y CLAP para DAW.
2//!
3//! Arquitectura:
4//! ```
5//! PluginHost
6//! ├── scanner: PluginScanner ← encuentra plugins en el sistema
7//! ├── registry: PluginRegistry ← catálogo de plugins disponibles
8//! └── instances: HashMap<PluginInstanceId, PluginInstance>
9//! └── PluginInstance
10//! ├── PluginBridge (enum: InProcess | OutOfProcess)
11//! │ ├── ClapBridge ← CLAP via libloading
12//! │ └── Vst3Bridge ← VST3 via COM/libloading
13//! └── PluginNode ← impl Node para audio_graph
14//! ```
15//!
16//! Sandboxing: cada plugin puede correr en el mismo proceso (InProcess)
17//! o en un proceso hijo con IPC via shared memory (OutOfProcess).
18
19pub mod descriptor;
20pub mod scanner;
21pub mod registry;
22pub mod bridge;
23pub mod instance;
24pub mod process;
25pub mod params;
26pub mod preset;
27pub mod sandbox;
28
29pub use descriptor::{PluginDescriptor, PluginFormat, PluginCategory};
30pub use scanner::PluginScanner;
31pub use registry::PluginRegistry;
32pub use instance::{PluginInstance, PluginInstanceId, PluginStatus};
33pub use process::{PluginAudioBuffer, PluginProcessData};
34pub use params::{ParamDescriptor, ParamValue};
35pub use preset::{Preset, PresetBank};