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§
- Cache
Entry - Scan
Cache <cache>/plugins/scan.json.- Scan
Error - Scan
Options - What to scan.
- Scan
Report - Scanned
Plugin - One plugin found by a scan.
Constants§
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
queryby id, name, or unique prefix/substring. - probe_
bundle - Probe one bundle. CLAP bundles are probed in a
ferraus-plughostsubprocess; VST3 bundles are read frommoduleinfo.json, else probed byferraus-plughost-vst3when 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(seePluginRef::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_PATHfor CLAP and the ferraus per-user install folder).FERRAUS_PLUGIN_STANDARD_DIRS=0limits this to the ferraus install folder (hermetic tests and sandboxes). - user_
plugin_ dir - The per-user folder
sounds installplaces plugins in.FERRAUS_PLUGIN_DIRoverrides the base (<base>/clap,<base>/vst3).