Skip to main content

Module loader

Module loader 

Source
Expand description

Dynamic plugin loader: PluginLoader, LoadedPlugin, and PluginId.

PluginLoader owns every loaded cdylib (libloading::Library) and hands out PluginIds that reference them. Unloading a plugin removes its entry, which drops the Library and runs dlclose — guaranteeing no outstanding AudioNode instance can outlive the library it came from (the adapter is dropped first, releasing the opaque handle, and only then the library is closed).

§Real-time safety boundary

load / unload / instantiate run on a non-RT (setup) thread. Only the AudioNode returned from PluginLoader::instantiate ever touches the RT thread.

Structs§

LoadedPlugin
A successfully loaded plugin: its library, metadata, host adapter, and id.
PluginId
Opaque, copyable handle identifying one loaded plugin inside a PluginLoader.
PluginLoader
Owner of all loaded plugin cdylibs.