Skip to main content

Module scan

Module scan 

Source
Expand description

Plugin discovery: standard per-OS folders plus extra folders, CLAP probing in a host subprocess (a crashing plugin cannot kill the scan), VST3 metadata from moduleinfo.json, and a cache at <cache>/plugins/scan.json keyed by path and mtime.

Structs§

CacheEntry
ScanCache
<cache>/plugins/scan.json.
ScanError
ScanOptions
What to scan.
ScanReport
ScannedPlugin
One plugin found by a scan.

Constants§

CACHE_VERSION

Functions§

bundle_mtime
Change stamp of a bundle: the newest mtime of the bundle and the files inside it.
default_cache_path
Default cache location.
find_bundles
Every plugin bundle under dir (recursive; bundles themselves are not descended into).
match_plugins
Pick plugins matching query by id, name, or unique prefix/substring.
probe_bundle
Probe one bundle. CLAP bundles are probed in a ferraus-plughost subprocess; VST3 bundles are read from moduleinfo.json, else probed by ferraus-plughost-vst3 when available, else listed by bundle name.
read_vst3_moduleinfo
Plugins declared by a VST3 bundle’s moduleinfo.json, when it has one.
resolve_plugin
Resolve a plugin name, id, or path to a PluginRef (see PluginRef::resolve).
resolve_plugin_with
scan
Scan, probing only bundles that are new or changed since the cached scan (or all of them with rescan), and update the cache.
scan_dirs
The folders a scan will visit.
standard_dirs
The standard per-OS plugin folders from the PRD (plus CLAP_PATH for CLAP and the ferraus per-user install folder). FERRAUS_PLUGIN_STANDARD_DIRS=0 limits this to the ferraus install folder (hermetic tests and sandboxes).
user_plugin_dir
The per-user folder sounds install places plugins in. FERRAUS_PLUGIN_DIR overrides the base (<base>/clap, <base>/vst3).