1
0
Fork 0

Add the other CLAP metadata fields

This commit is contained in:
Robbert van der Helm 2022-02-28 17:18:11 +01:00
parent c7f1c46f18
commit 1151a80769
5 changed files with 31 additions and 0 deletions

View file

@ -412,6 +412,11 @@ fn unnormalize_automation_precision(normalized: f32) -> u32 {
impl ClapPlugin for Diopser { impl ClapPlugin for Diopser {
const CLAP_ID: &'static str = "nl.robbertvanderhelm.diopser"; const CLAP_ID: &'static str = "nl.robbertvanderhelm.diopser";
const CLAP_DESCRIPTION: &'static str = "A totally original phase rotation plugin";
const CLAP_KEYWORDS: &'static [&'static str] =
&["audio_effect", "mono", "stereo", "filter", "utility"];
const CLAP_MANUAL_URL: &'static str = Self::URL;
const CLAP_SUPPORT_URL: &'static str = Self::URL;
} }
impl Vst3Plugin for Diopser { impl Vst3Plugin for Diopser {

View file

@ -204,6 +204,10 @@ impl Plugin for Gain {
impl ClapPlugin for Gain { impl ClapPlugin for Gain {
const CLAP_ID: &'static str = "com.moist-plugins-gmbh.gain"; const CLAP_ID: &'static str = "com.moist-plugins-gmbh.gain";
const CLAP_DESCRIPTION: &'static str = "A smoothed gain parameter example plugin";
const CLAP_KEYWORDS: &'static [&'static str] = &["audio_effect", "mono", "stereo", "tool"];
const CLAP_MANUAL_URL: &'static str = Self::URL;
const CLAP_SUPPORT_URL: &'static str = Self::URL;
} }
impl Vst3Plugin for Gain { impl Vst3Plugin for Gain {

View file

@ -131,6 +131,10 @@ impl Plugin for Gain {
impl ClapPlugin for Gain { impl ClapPlugin for Gain {
const CLAP_ID: &'static str = "com.moist-plugins-gmbh.gain"; const CLAP_ID: &'static str = "com.moist-plugins-gmbh.gain";
const CLAP_DESCRIPTION: &'static str = "A smoothed gain parameter example plugin";
const CLAP_KEYWORDS: &'static [&'static str] = &["audio_effect", "mono", "stereo", "tool"];
const CLAP_MANUAL_URL: &'static str = Self::URL;
const CLAP_SUPPORT_URL: &'static str = Self::URL;
} }
impl Vst3Plugin for Gain { impl Vst3Plugin for Gain {

View file

@ -178,6 +178,10 @@ impl Plugin for Sine {
impl ClapPlugin for Sine { impl ClapPlugin for Sine {
const CLAP_ID: &'static str = "com.moist-plugins-gmbh.sine"; const CLAP_ID: &'static str = "com.moist-plugins-gmbh.sine";
const CLAP_DESCRIPTION: &'static str = "An optionally MIDI controlled sine test tone";
const CLAP_KEYWORDS: &'static [&'static str] = &["instrument", "mono", "stereo", "utility"];
const CLAP_MANUAL_URL: &'static str = Self::URL;
const CLAP_SUPPORT_URL: &'static str = Self::URL;
} }
impl Vst3Plugin for Sine { impl Vst3Plugin for Sine {

View file

@ -106,6 +106,20 @@ pub trait ClapPlugin: Plugin {
/// A unique ID that identifies this particular plugin. This is usually in reverse domain name /// A unique ID that identifies this particular plugin. This is usually in reverse domain name
/// notation, e.g. `com.manufacturer.plugin-name`. /// notation, e.g. `com.manufacturer.plugin-name`.
const CLAP_ID: &'static str; const CLAP_ID: &'static str;
/// A short description for the plugin.
const CLAP_DESCRIPTION: &'static str;
/// Arbitrary keywords describing the plugin. See the CLAP specification for examples:
/// <https://github.com/free-audio/clap/blob/main/include/clap/plugin.h>.
//
// TODO: CLAP mentions that `win32-dpi-aware` is a special keyword that informs the host that
// the plugin is DPI aware, can and should we have special handling for this?
const CLAP_KEYWORDS: &'static [&'static str];
/// A URL to the plugin's manual, CLAP does not specify what to do when there is none.
//
// TODO: CLAP does not specify this, can these manual fields be null pointers?
const CLAP_MANUAL_URL: &'static str;
/// A URL to the plugin's support page, CLAP does not specify what to do when there is none.
const CLAP_SUPPORT_URL: &'static str;
} }
/// Provides auxiliary metadata needed for a VST3 plugin. /// Provides auxiliary metadata needed for a VST3 plugin.