Class Vst3PluginScanner
Scans the standard VST 3 plug-in folders for installed modules.
public static class Vst3PluginScanner
- Inheritance
-
Vst3PluginScanner
- Inherited Members
Remarks
Phase 1 surface — pure file-system enumeration. The scanner does not load any of the discovered modules, so it's safe to call at startup against a large plug-in collection without paying native-load costs.
The default search paths follow Steinberg's documented locations (Plugin Locations):
%CommonProgramFiles%\VST3— system-wide%LOCALAPPDATA%\Programs\Common\VST3— per-user
Properties
DefaultSearchPaths
The standard VST 3 search paths used by EnumerateInstalled(). Exposed so callers can display them or pass them to EnumerateIn(string) individually.
public static IReadOnlyList<string> DefaultSearchPaths { get; }
Property Value
Methods
EnumerateIn(string)
Enumerates the .vst3 entries in a folder and any of its sub-folders, treating each
.vst3 entry as a leaf (we never descend into a bundle, even though the bundle is
itself a directory). Vendor sub-folders like VST3\iZotope\Ozone 11.vst3 and
VST3\Line 6\Helix Native.vst3 are part of the VST 3 spec, so a flat
top-level-only scan would miss them.
public static IReadOnlyList<Vst3ModuleInfo> EnumerateIn(string folder)
Parameters
folderstring
Returns
Remarks
Returns an empty list if the folder does not exist. I/O errors on individual sub-folders (e.g. access-denied) are silently skipped so a single permission glitch can't blackhole the whole scan.
EnumerateInstalled()
Enumerates every .vst3 entry across the DefaultSearchPaths. Results
are ordered case-insensitively by name within each folder; entries that appear in more
than one folder are returned multiple times — callers that want a unique list should
deduplicate by Name.
public static IReadOnlyList<Vst3ModuleInfo> EnumerateInstalled()