Table of Contents

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 as WasapiPlayer expects.

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 the NAudio.Sampler engine 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 .vst3 file 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 IEditController on 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 IPlugView and the host-side IPlugFrame callback.

Vst3Preset

Reads and writes Steinberg .vstpreset files — 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 .vstpreset file: 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's Transport / 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.