pub trait ClapPlugin: Plugin {
    const CLAP_ID: &'static str;
    const CLAP_DESCRIPTION: Option<&'static str>;
    const CLAP_MANUAL_URL: Option<&'static str>;
    const CLAP_SUPPORT_URL: Option<&'static str>;
    const CLAP_FEATURES: &'static [ClapFeature];
    const CLAP_POLY_MODULATION_CONFIG: Option<PolyModulationConfig> = None;

    // Provided method
    fn remote_controls(&self, context: &mut impl RemoteControlsContext) { ... }
Expand description

Provides auxiliary metadata needed for a CLAP plugin.

Required Associated Constants§


const CLAP_ID: &'static str

A unique ID that identifies this particular plugin. This is usually in reverse domain name notation, e.g. com.manufacturer.plugin-name.


const CLAP_DESCRIPTION: Option<&'static str>

An optional short description for the plugin.


const CLAP_MANUAL_URL: Option<&'static str>

The URL to the plugin’s manual, if available.


const CLAP_SUPPORT_URL: Option<&'static str>

The URL to the plugin’s support page, if available.


const CLAP_FEATURES: &'static [ClapFeature]

Keywords describing the plugin. The host may use this to classify the plugin in its plugin browser.

Provided Associated Constants§


const CLAP_POLY_MODULATION_CONFIG: Option<PolyModulationConfig> = None

If set, this informs the host about the plugin’s capabilities for polyphonic modulation.

Provided Methods§


fn remote_controls(&self, context: &mut impl RemoteControlsContext)

This function can be implemented to define plugin-specific remote control pages that the host can use to provide better hardware mapping for a plugin. See the linked extension for more information.