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/// `"note-detector"`: The plugin converts audio to notes
15pub const NOTE_DETECTOR: &CStr = CLAP_PLUGIN_FEATURE_NOTE_DETECTOR;
16/// `"analyzer"`: The plugin is an analyzer
17pub const ANALYZER: &CStr = CLAP_PLUGIN_FEATURE_ANALYZER;
18
19/// `"synthesizer"`
20pub const SYNTHESIZER: &CStr = CLAP_PLUGIN_FEATURE_SYNTHESIZER;
21/// `"sampler"`
22pub const SAMPLER: &CStr = CLAP_PLUGIN_FEATURE_SAMPLER;
23/// `"drum"`
24pub const DRUM: &CStr = CLAP_PLUGIN_FEATURE_DRUM;
25/// `"drum-machine"`
26pub const DRUM_MACHINE: &CStr = CLAP_PLUGIN_FEATURE_DRUM_MACHINE;
27
28/// `"filter"`
29pub const FILTER: &CStr = CLAP_PLUGIN_FEATURE_FILTER;
30/// `"phaser"`
31pub const PHASER: &CStr = CLAP_PLUGIN_FEATURE_PHASER;
32/// `"equalizer"`
33pub const EQUALIZER: &CStr = CLAP_PLUGIN_FEATURE_EQUALIZER;
34/// `"de-esser"`
35pub const DEESSER: &CStr = CLAP_PLUGIN_FEATURE_DEESSER;
36/// `"phase-vocoder"`
37pub const PHASE_VOCODER: &CStr = CLAP_PLUGIN_FEATURE_PHASE_VOCODER;
38/// `"granular"`
39pub const GRANULAR: &CStr = CLAP_PLUGIN_FEATURE_GRANULAR;
40/// `"frequency-shifter"`
41pub const FREQUENCY_SHIFTER: &CStr = CLAP_PLUGIN_FEATURE_FREQUENCY_SHIFTER;
42/// `"pitch-shifter"`
43pub const PITCH_SHIFTER: &CStr = CLAP_PLUGIN_FEATURE_PITCH_SHIFTER;
44
45/// `"distortion"`
46pub const DISTORTION: &CStr = CLAP_PLUGIN_FEATURE_DISTORTION;
47/// `"transient-shaper"`
48pub const TRANSIENT_SHAPER: &CStr = CLAP_PLUGIN_FEATURE_TRANSIENT_SHAPER;
49/// `"compressor"`
50pub const COMPRESSOR: &CStr = CLAP_PLUGIN_FEATURE_COMPRESSOR;
51/// `"expander"`
52pub const EXPANDER: &CStr = CLAP_PLUGIN_FEATURE_EXPANDER;
53/// `"gate"`
54pub const GATE: &CStr = CLAP_PLUGIN_FEATURE_GATE;
55/// `"limiter"`
56pub const LIMITER: &CStr = CLAP_PLUGIN_FEATURE_LIMITER;
57
58/// `"flanger"`
59pub const FLANGER: &CStr = CLAP_PLUGIN_FEATURE_FLANGER;
60/// `"chorus"`
61pub const CHORUS: &CStr = CLAP_PLUGIN_FEATURE_CHORUS;
62/// `"delay"`
63pub const DELAY: &CStr = CLAP_PLUGIN_FEATURE_DELAY;
64/// `"reverb"`
65pub const REVERB: &CStr = CLAP_PLUGIN_FEATURE_REVERB;
66
67/// `"tremolo"`
68pub const TREMOLO: &CStr = CLAP_PLUGIN_FEATURE_TREMOLO;
69/// `"glitch"`
70pub const GLITCH: &CStr = CLAP_PLUGIN_FEATURE_GLITCH;
71
72/// `"utility"`
73pub const UTILITY: &CStr = CLAP_PLUGIN_FEATURE_UTILITY;
74/// `"pitch-correction"`
75pub const PITCH_CORRECTION: &CStr = CLAP_PLUGIN_FEATURE_PITCH_CORRECTION;
76/// `"restoration"`
77pub const RESTORATION: &CStr = CLAP_PLUGIN_FEATURE_RESTORATION;
78
79/// `"multi-effects"`
80pub const MULTI_EFFECTS: &CStr = CLAP_PLUGIN_FEATURE_MULTI_EFFECTS;
81
82/// `"mixing"`
83pub const MIXING: &CStr = CLAP_PLUGIN_FEATURE_MIXING;
84/// `"mastering"`
85pub const MASTERING: &CStr = CLAP_PLUGIN_FEATURE_MASTERING;
86
87/// `"mono"`
88pub const MONO: &CStr = CLAP_PLUGIN_FEATURE_MONO;
89/// `"stereo"`
90pub const STEREO: &CStr = CLAP_PLUGIN_FEATURE_STEREO;
91/// `"surround"`
92pub const SURROUND: &CStr = CLAP_PLUGIN_FEATURE_SURROUND;
93/// `"ambisonic"`
94pub const AMBISONIC: &CStr = CLAP_PLUGIN_FEATURE_AMBISONIC;