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 + Send>, }
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 + Send>
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.