Skip to main content

Crate plugin_host

Crate plugin_host 

Source
Expand description

plugin_host — Host de plugins VST3 y CLAP para DAW.

Arquitectura:

PluginHost
  ├── scanner: PluginScanner     ← encuentra plugins en el sistema
  ├── registry: PluginRegistry   ← catálogo de plugins disponibles
  └── instances: HashMap<PluginInstanceId, PluginInstance>
        └── PluginInstance
              ├── PluginBridge (enum: InProcess | OutOfProcess)
              │     ├── ClapBridge  ← CLAP via libloading
              │     └── Vst3Bridge  ← VST3 via COM/libloading
              └── PluginNode      ← impl Node para audio_graph

Sandboxing: cada plugin puede correr en el mismo proceso (InProcess) o en un proceso hijo con IPC via shared memory (OutOfProcess).

Re-exports§

pub use descriptor::PluginDescriptor;
pub use descriptor::PluginFormat;
pub use descriptor::PluginCategory;
pub use scanner::PluginScanner;
pub use registry::PluginRegistry;
pub use instance::PluginInstance;
pub use instance::PluginInstanceId;
pub use instance::PluginStatus;
pub use process::PluginAudioBuffer;
pub use process::PluginProcessData;
pub use params::ParamDescriptor;
pub use params::ParamValue;
pub use preset::Preset;
pub use preset::PresetBank;

Modules§

bridge
descriptor
instance
params
preset
process
registry
sandbox
scanner