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§
- Loaded
Plugin - A successfully loaded plugin: its library, metadata, host adapter, and id.
- Plugin
Id - Opaque, copyable handle identifying one loaded plugin inside a
PluginLoader. - Plugin
Loader - Owner of all loaded plugin
cdylibs.