Namespace NAudio.Vst3
Classes
- Vst3ClassInfo
Description of a single class exported by a VST 3 plug-in factory.
- Vst3EffectSampleProvider
Wraps a Vst3Plugin as an ISampleProvider — pulls samples from a source provider, feeds them through the plug-in, and returns the processed output to the caller. By default also renders the plug-in's tail past source EOF, so reverbs, delays and other effects with a release tail produce a full, untruncated render without the caller having to know the tail length in advance.
- Vst3FactoryInfo
Vendor / URL / email / flags returned by a VST 3 plug-in factory.
- Vst3InstrumentSampleProvider
Exposes a VST 3® instrument (VSTi) as a continuous ISampleProvider: each Read(Span<float>) pulls the synth's output by driving Process(ReadOnlySpan<float>, Span<float>, int), with notes supplied out-of-band via SendNoteOn(int, float, int, long) /
SendNoteOff(e.g. from a live MIDI input). Unlike Vst3EffectSampleProvider, this source never ends — it keeps producing audio (silence when no notes are sounding), which is what a realtime output such asWasapiPlayerexpects.
- Vst3MidiInstrument
Adapts a hosted VST 3® instrument (VSTi) to NAudio's IMidiInstrument seam, so it plugs into the shared MIDI playback hosts in
NAudio.Midi— SequencedMidiPlayer (timeline /.mid-file playback), OfflineMidiRenderer (faster-than-real-time render to WAV) and LiveMidiInstrument (live input from another thread) — exactly as theNAudio.Samplerengine does. Feed it a MidiFileSequence through one of those hosts and a VSTi renders or plays the file with sample-accurate event timing.
- Vst3Module
A loaded VST 3® plug-in module — the host's handle to a single
.vst3file or bundle.
- Vst3ModuleInfo
A VST 3 module discovered on disk but not yet loaded. Cheap to enumerate; call Load(string) with Path to actually open the module.
- Vst3Parameter
A single VST 3® parameter exposed by the plug-in's Parameters collection. Static metadata (id, title, units, step count) is captured at construction; the value getters / setters round-trip through the plug-in's
IEditControlleron every call.
- Vst3ParameterCollection
Read-only collection of every parameter exposed by a Vst3Plugin's
IEditController, in declaration order.
- Vst3Plugin
An instantiated, activated, processing-ready VST 3® audio-effect plug-in.
- Vst3PluginScanner
Scans the standard VST 3 plug-in folders for installed modules.
- Vst3PluginView
A VST 3® plug-in's embedded editor window (its GUI). Wraps the native
IPlugViewand the host-sideIPlugFramecallback.
- Vst3Preset
Reads and writes Steinberg
.vstpresetfiles — the standard on-disk container for a VST 3 plug-in's saved state. A preset bundles the component (DSP) state blob and, optionally, the controller (UI / parameter) state blob, tagged with the plug-in's class identifier so a host can refuse to load a preset that belongs to a different plug-in.
- Vst3PresetContents
The parsed contents of a
.vstpresetfile: the plug-in class id plus the state blobs. Returned by Read(Stream).
- Vst3ProgramList
A VST 3® program list — a named set of programs (presets) the plug-in ships, enumerated from its
IUnitInfo. Surfaced via ProgramLists and ActiveProgramList.
- Vst3Unit
A VST 3® unit — a node in the plug-in's unit hierarchy, enumerated from its
IUnitInfo. Units group parameters and own program lists; the always-present root unit has Id 0. Surfaced via Units.
Structs
- Vst3MusicalContext
A per-block snapshot of musical/transport state for a hosted instrument's
ProcessContext— tempo, time signature, musical position and whether the transport is playing. Pushed to a Vst3Plugin via SetMusicalContext(in Vst3MusicalContext) before each Process(ReadOnlySpan<float>, Span<float>, int) call so tempo-following plug-ins (arpeggiators, tempo-synced delays, LFOs) lock to the host timeline. Vst3MidiInstrument builds one of these from the sequencer'sTransport/ITempoMap/TimeSignatureMap; advanced callers driving Vst3Plugin directly can populate it themselves.
- Vst3ViewSize
The pixel size of a plug-in editor view.
Enums
- Vst3ParameterFlags
Behaviour flags for a VST 3® parameter (
Vst::ParameterInfo::ParameterFlags).
- Vst3PlugKind
Coarse classification of a VST 3 audio plug-in, derived from its sub-categories — the same instrument-vs-effect split DAWs use to offer curated, type-filtered plug-in pickers.