Skip to main content

clack_common/plugin/
features.rs

1//! A set of standard plugin features meant to be used for a plugin descriptor's features.
2//!
3//! Non-standard features should be formatted as: "$namespace:$feature"
4
5use clap_sys::plugin_features::*;
6use std::ffi::CStr;
7
8/// `"instrument"`: The plugin can process note events and then produce audio
9pub const INSTRUMENT: &CStr = CLAP_PLUGIN_FEATURE_INSTRUMENT;
10/// `"audio-effect"`: The plugin is an audio effect
11pub const AUDIO_EFFECT: &CStr = CLAP_PLUGIN_FEATURE_AUDIO_EFFECT;
12/// `"note-effect"`: The plugin is a note effect or a note generator/sequencer
13pub const NOTE_EFFECT: &CStr = CLAP_PLUGIN_FEATURE_NOTE_EFFECT;
14/// `"analyzer"`: The plugin is an analyzer
15pub const ANALYZER: &CStr = CLAP_PLUGIN_FEATURE_ANALYZER;
16
17/// `"synthesizer"`
18pub const SYNTHESIZER: &CStr = CLAP_PLUGIN_FEATURE_SYNTHESIZER;
19/// `"sampler"`
20pub const SAMPLER: &CStr = CLAP_PLUGIN_FEATURE_SAMPLER;
21/// `"drum"`
22pub const DRUM: &CStr = CLAP_PLUGIN_FEATURE_DRUM;
23/// `"drum-machine"`
24pub const DRUM_MACHINE: &CStr = CLAP_PLUGIN_FEATURE_DRUM_MACHINE;
25
26/// `"filter"`
27pub const FILTER: &CStr = CLAP_PLUGIN_FEATURE_FILTER;
28/// `"phaser"`
29pub const PHASER: &CStr = CLAP_PLUGIN_FEATURE_PHASER;
30/// `"equalizer"`
31pub const EQUALIZER: &CStr = CLAP_PLUGIN_FEATURE_EQUALIZER;
32/// `"de-esser"`
33pub const DEESSER: &CStr = CLAP_PLUGIN_FEATURE_DEESSER;
34/// `"phase-vocoder"`
35pub const PHASE_VOCODER: &CStr = CLAP_PLUGIN_FEATURE_PHASE_VOCODER;
36/// `"granular"`
37pub const GRANULAR: &CStr = CLAP_PLUGIN_FEATURE_GRANULAR;
38/// `"frequency-shifter"`
39pub const FREQUENCY_SHIFTER: &CStr = CLAP_PLUGIN_FEATURE_FREQUENCY_SHIFTER;
40/// `"pitch-shifter"`
41pub const PITCH_SHIFTER: &CStr = CLAP_PLUGIN_FEATURE_PITCH_SHIFTER;
42
43/// `"distortion"`
44pub const DISTORTION: &CStr = CLAP_PLUGIN_FEATURE_DISTORTION;
45/// `"transient-shaper"`
46pub const TRANSIENT_SHAPER: &CStr = CLAP_PLUGIN_FEATURE_TRANSIENT_SHAPER;
47/// `"compressor"`
48pub const COMPRESSOR: &CStr = CLAP_PLUGIN_FEATURE_COMPRESSOR;
49/// `"limiter"`
50pub const LIMITER: &CStr = CLAP_PLUGIN_FEATURE_LIMITER;
51
52/// `"flanger"`
53pub const FLANGER: &CStr = CLAP_PLUGIN_FEATURE_FLANGER;
54/// `"chorus"`
55pub const CHORUS: &CStr = CLAP_PLUGIN_FEATURE_CHORUS;
56/// `"delay"`
57pub const DELAY: &CStr = CLAP_PLUGIN_FEATURE_DELAY;
58/// `"reverb"`
59pub const REVERB: &CStr = CLAP_PLUGIN_FEATURE_REVERB;
60
61/// `"tremolo"`
62pub const TREMOLO: &CStr = CLAP_PLUGIN_FEATURE_TREMOLO;
63/// `"glitch"`
64pub const GLITCH: &CStr = CLAP_PLUGIN_FEATURE_GLITCH;
65
66/// `"utility"`
67pub const UTILITY: &CStr = CLAP_PLUGIN_FEATURE_UTILITY;
68/// `"pitch-correction"`
69pub const PITCH_CORRECTION: &CStr = CLAP_PLUGIN_FEATURE_PITCH_CORRECTION;
70/// `"restoration"`
71pub const RESTORATION: &CStr = CLAP_PLUGIN_FEATURE_RESTORATION;
72
73/// `"multi-effects"`
74pub const MULTI_EFFECTS: &CStr = CLAP_PLUGIN_FEATURE_MULTI_EFFECTS;
75
76/// `"mixing"`
77pub const MIXING: &CStr = CLAP_PLUGIN_FEATURE_MIXING;
78/// `"mastering"`
79pub const MASTERING: &CStr = CLAP_PLUGIN_FEATURE_MASTERING;
80
81/// `"mono"`
82pub const MONO: &CStr = CLAP_PLUGIN_FEATURE_MONO;
83/// `"stereo"`
84pub const STEREO: &CStr = CLAP_PLUGIN_FEATURE_STEREO;
85/// `"surround"`
86pub const SURROUND: &CStr = CLAP_PLUGIN_FEATURE_SURROUND;
87/// `"ambisonic"`
88pub const AMBISONIC: &CStr = CLAP_PLUGIN_FEATURE_AMBISONIC;