Struct ladspa::PluginDescriptor [] [src]

pub struct PluginDescriptor {
    pub unique_id: u64,
    pub label: &'static str,
    pub properties: Properties,
    pub name: &'static str,
    pub maker: &'static str,
    pub copyright: &'static str,
    pub ports: Vec<Port>,
    pub new: fn(desc: &PluginDescriptor, sample_rate: u64) -> Box<Plugin>,
}

Describes the properties of a Plugin to be exposed as a LADSPA plugin.

Fields

unique_id: u64

Unique IDs are an unfortunate remnant of the LADSPA API. During development, it is suggested to pick one under 1000, but it should be changed before release. More information is available here: http://www.ladspa.org/ladspa_sdk/unique_ids.html

label: &'static str

Plugin labels are expected to be a unique descriptor string for this specific plugin within the library. Labels are case sensitive and expected not to contain spaces.

properties: Properties

The properties of a plugin describe restrictions and features for it's use. See documentation for Properties for info on available options.

name: &'static str

The name of the plugin. This is usually how it is identified.

maker: &'static str

The maker of the plugin. Can be empty.

copyright: &'static str

Indicates copyright of the plugin. If no copyright applies, "None" should be used.

ports: Vec<Port>

A vector of input and output ports exposed by the plugin. See the documentation for Port for more information.

new: fn(desc: &PluginDescriptor, sample_rate: u64) -> Box<Plugin>

A function which creates a new instance of the plugin.

Note: Initialization, such as resetting plugin state, should go in Plugin::activate rather than here. This should just return a basic instance, ready to be activated. If your plugin has no internal state, you may optionally not implement Plugin::activate and do everything here.