Skip to main content

Module entry

Module entry 

Source
Expand description

Types to expose and customize a CLAP file’s entry.

On Windows and Linux (and other non-macOS UNIXes), CLAP plugins are distributed as prebuilt dynamically-loaded libraries (usually .dll or .so files) with a .clap extension. They expose a single EntryDescriptor, which, once initialized, acts as the entry point for the host to read into the library file.

On macOS, CLAP plugins are distributed as a standard bundle, which contains the aforementioned dynamically-loaded libraries as its executable file.

A CLAP’s Entry is the only exposed symbol in the library. Once initialized, its role is to expose a number of factories, which are singletons implementing various functionalities. The most relevant is the PluginFactory, which allows to list and instantiate plugins. See the factory module documentation to learn more about factories.

An entry type can then be exposed to the host reading the library file by using the clack_export_entry macro.

See the Entry trait documentation for information and examples on how to implement your own entry type, or see the provided SinglePluginEntry convenience type if you only need to expose a single plugin type to the host.

Modules§

prelude
A prelude that’s helpful for implementing custom Entry and PluginFactory types.

Structs§

EntryFactories
A lightweight collection of all the factories a given plugin entry supports.
EntryLoadError
An error indicating an entry has failed loading.
SinglePluginEntry
An Entry that only exposes a single plugin type to the host.

Traits§

DefaultPluginFactory
An optional trait used by SinglePluginEntry that provides simplified, methods for generic plugin factories.
Entry
A CLAP file’s entry point.

Type Aliases§

EntryDescriptor
A C-FFI compatible descriptor of a CLAP file’s entry point.