Class Vst3Module
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
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
classInfoVst3ClassInfoThe class descriptor (typically from GetClasses()).
sampleRateintSample rate to configure on the plug-in (e.g. 44100, 48000).
maxBlockSizeintMaximum block size in samples the host will request per process call.
Returns
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
GetFactoryInfo()
Reads the factory's vendor / url / email metadata.
public Vst3FactoryInfo GetFactoryInfo()
Returns
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
pathstring