Table of Contents

Class Vst3Module

Namespace
NAudio.Vst3
Assembly
NAudio.Vst3.dll

A loaded VST 3® plug-in module — the host's handle to a single .vst3 file or bundle.

public sealed class Vst3Module : IDisposable
Inheritance
Vst3Module
Implements
Inherited Members

Remarks

Phase 0 surface — only enough to walk the plug-in factory and enumerate its classes. Plug-in instantiation, audio processing, UI hosting, MIDI events, and parameter access land in later phases (see Docs/Architecture/Vst3Hosting.md).

VST is a registered trademark of Steinberg Media Technologies GmbH.

Properties

Path

The resolved path of the loaded native module.

public string Path { get; }

Property Value

string

Methods

CreatePlugin(Vst3ClassInfo, int, int)

Instantiates a plug-in for the given class. The class is normally one of the "Audio Module Class" entries returned by GetClasses().

public Vst3Plugin CreatePlugin(Vst3ClassInfo classInfo, int sampleRate, int maxBlockSize)

Parameters

classInfo Vst3ClassInfo

The class descriptor (typically from GetClasses()).

sampleRate int

Sample rate to configure on the plug-in (e.g. 44100, 48000).

maxBlockSize int

Maximum block size in samples the host will request per process call.

Returns

Vst3Plugin

Remarks

Phase 2: only stereo-in / stereo-out audio effects are supported. The returned plug-in instance must be disposed before the parent Vst3Module.

Dispose()

Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.

public void Dispose()

GetClasses()

Enumerates every class exported by the factory. Uses IPluginFactory3 when available (unicode strings, version metadata), falling back to v2 and finally v1.

public IReadOnlyList<Vst3ClassInfo> GetClasses()

Returns

IReadOnlyList<Vst3ClassInfo>

GetFactoryInfo()

Reads the factory's vendor / url / email metadata.

public Vst3FactoryInfo GetFactoryInfo()

Returns

Vst3FactoryInfo

Load(string)

Loads the .vst3 at path. Accepts either a bare DLL or a VST 3 folder bundle — for the bundle form, the inner Contents/x86_64-win/<Plugin>.vst3 binary is resolved automatically.

public static Vst3Module Load(string path)

Parameters

path string

Returns

Vst3Module