Skip to main content

export_static

Macro export_static 

Source
macro_rules! export_static {
    (
        params: $params:ty,
        info: $info:expr,
        logic: $logic:ty,
    ) => { ... };
}
Expand description

Compile-time static embedding of a PluginLogic impl into the binary.

Produces a __HotShellWrapper struct that implements Plugin + PluginExport, so format export macros (export_clap!, export_vst3!, etc.) work unchanged. No dlopen, no file watcher, zero runtime overhead. Bus layouts come from <$logic as PluginLogic>::bus_layouts() - override the trait method to pick something other than the stereo default.

export_static! {
    params: GainParams,
    info: plugin_info!(...),
    logic: Gain,
}

#[cfg(feature = "clap")]
truce_clap::export_clap!(__HotShellWrapper);