#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum Vst3SubCategory {
Fx,
Instrument,
Spatial,
Analyzer,
Delay,
Distortion,
Drum,
Dynamics,
Eq,
External,
Filter,
Generator,
Mastering,
Modulation,
Network,
Piano,
PitchShift,
Restoration,
Reverb,
Sampler,
Synth,
Tools,
UpDownmix,
Mono,
Stereo,
Surround,
Ambisonics,
Custom(&'static str),
}
impl Vst3SubCategory {
pub fn as_str(&self) -> &'static str {
match self {
Vst3SubCategory::Fx => "Fx",
Vst3SubCategory::Instrument => "Instrument",
Vst3SubCategory::Spatial => "Spatial",
Vst3SubCategory::Analyzer => "Analyzer",
Vst3SubCategory::Delay => "Delay",
Vst3SubCategory::Distortion => "Distortion",
Vst3SubCategory::Drum => "Drum",
Vst3SubCategory::Dynamics => "Dynamics",
Vst3SubCategory::Eq => "EQ",
Vst3SubCategory::External => "External",
Vst3SubCategory::Filter => "Filter",
Vst3SubCategory::Generator => "Generator",
Vst3SubCategory::Mastering => "Mastering",
Vst3SubCategory::Modulation => "Modulation",
Vst3SubCategory::Network => "Network",
Vst3SubCategory::Piano => "Piano",
Vst3SubCategory::PitchShift => "Pitch Shift",
Vst3SubCategory::Restoration => "Restoration",
Vst3SubCategory::Reverb => "Reverb",
Vst3SubCategory::Sampler => "Sampler",
Vst3SubCategory::Synth => "Synth",
Vst3SubCategory::Tools => "Tools",
Vst3SubCategory::UpDownmix => "Up-Downmix",
Vst3SubCategory::Mono => "Mono",
Vst3SubCategory::Stereo => "Stereo",
Vst3SubCategory::Surround => "Surround",
Vst3SubCategory::Ambisonics => "Ambisonics",
Vst3SubCategory::Custom(s) => {
crate::nice_debug_assert!(
!s.contains('|'),
"'{}' contains a pipe character ('|'), which is not allowed",
s
);
s
}
}
}
}