Class Vst3ClassInfo
Description of a single class exported by a VST 3 plug-in factory.
public sealed record Vst3ClassInfo : IEquatable<Vst3ClassInfo>
- Inheritance
-
Vst3ClassInfo
- Implements
- Inherited Members
Constructors
Vst3ClassInfo(string, string, string, string, string, string, string)
Description of a single class exported by a VST 3 plug-in factory.
public Vst3ClassInfo(string ClassId, string Category, string Name, string Vendor, string Version, string SdkVersion, string SubCategories)
Parameters
ClassIdstring16-byte raw class identifier (TUID), hex-encoded.
CategorystringCategory string —
"Audio Module Class"for processors,"Component Controller Class"for controllers.NamestringUser-visible class name.
VendorstringVendor string (empty when only v1 class-info is available).
VersionstringVersion string (empty when only v1 class-info is available).
SdkVersionstringSDK version the class was built against (empty for v1-only).
SubCategoriesstringOR-combined sub-categories such as
"Fx|Reverb"or"Instrument|Synth"(empty when only v1 class-info is available).
Fields
AudioModuleCategory
The category string the SDK uses for an instantiable audio plug-in.
public const string AudioModuleCategory = "Audio Module Class"
Field Value
InstrumentSubCategory
The sub-category token that marks an instrument (VST 3 PlugType).
public const string InstrumentSubCategory = "Instrument"
Field Value
Properties
Category
Category string — "Audio Module Class" for processors,
"Component Controller Class" for controllers.
public string Category { get; init; }
Property Value
ClassId
16-byte raw class identifier (TUID), hex-encoded.
public string ClassId { get; init; }
Property Value
IsAudioModule
true when this class is an instantiable audio plug-in (an "Audio Module Class").
public bool IsAudioModule { get; }
Property Value
IsEffect
true for an audio effect — an audio module that is not an instrument.
public bool IsEffect { get; }
Property Value
IsInstrument
true for a VST instrument — an audio module whose sub-categories include
"Instrument". This is the convention DAWs (and JUCE) use to split synths from effects.
public bool IsInstrument { get; }
Property Value
Kind
Coarse instrument / effect / other classification for type-filtered plug-in lists.
public Vst3PlugKind Kind { get; }
Property Value
Name
User-visible class name.
public string Name { get; init; }
Property Value
SdkVersion
SDK version the class was built against (empty for v1-only).
public string SdkVersion { get; init; }
Property Value
SubCategories
OR-combined sub-categories such as "Fx|Reverb" or
"Instrument|Synth" (empty when only v1 class-info is available).
public string SubCategories { get; init; }
Property Value
SubCategoryList
SubCategories split into its individual tokens (e.g. "Instrument|Synth"
→ ["Instrument", "Synth"]). Useful for finer filtering (by "Reverb",
"Delay", "Synth", …).
public IReadOnlyList<string> SubCategoryList { get; }
Property Value
Vendor
Vendor string (empty when only v1 class-info is available).
public string Vendor { get; init; }
Property Value
Version
Version string (empty when only v1 class-info is available).
public string Version { get; init; }
Property Value
Methods
HasSubCategory(string)
true if token is one of this class's sub-categories (case-insensitive).
public bool HasSubCategory(string token)
Parameters
tokenstring