Table of Contents

Class Vst3ClassInfo

Namespace
NAudio.Vst3
Assembly
NAudio.Vst3.dll

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

ClassId string

16-byte raw class identifier (TUID), hex-encoded.

Category string

Category string — "Audio Module Class" for processors, "Component Controller Class" for controllers.

Name string

User-visible class name.

Vendor string

Vendor string (empty when only v1 class-info is available).

Version string

Version string (empty when only v1 class-info is available).

SdkVersion string

SDK version the class was built against (empty for v1-only).

SubCategories string

OR-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

string

InstrumentSubCategory

The sub-category token that marks an instrument (VST 3 PlugType).

public const string InstrumentSubCategory = "Instrument"

Field Value

string

Properties

Category

Category string — "Audio Module Class" for processors, "Component Controller Class" for controllers.

public string Category { get; init; }

Property Value

string

ClassId

16-byte raw class identifier (TUID), hex-encoded.

public string ClassId { get; init; }

Property Value

string

IsAudioModule

true when this class is an instantiable audio plug-in (an "Audio Module Class").

public bool IsAudioModule { get; }

Property Value

bool

IsEffect

true for an audio effect — an audio module that is not an instrument.

public bool IsEffect { get; }

Property Value

bool

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

bool

Kind

Coarse instrument / effect / other classification for type-filtered plug-in lists.

public Vst3PlugKind Kind { get; }

Property Value

Vst3PlugKind

Name

User-visible class name.

public string Name { get; init; }

Property Value

string

SdkVersion

SDK version the class was built against (empty for v1-only).

public string SdkVersion { get; init; }

Property Value

string

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

string

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

IReadOnlyList<string>

Vendor

Vendor string (empty when only v1 class-info is available).

public string Vendor { get; init; }

Property Value

string

Version

Version string (empty when only v1 class-info is available).

public string Version { get; init; }

Property Value

string

Methods

HasSubCategory(string)

true if token is one of this class's sub-categories (case-insensitive).

public bool HasSubCategory(string token)

Parameters

token string

Returns

bool