Skip to content

Plugin Manager

The Plugin Manager discovers, validates, and organizes audio plugins installed on your system. Open it with Cmd+Shift+P or plugins:open-audio-plugins.

The manager scans standard plugin directories for each format:

FormatmacOS Path
AU/Library/Audio/Plug-Ins/Components/, ~/Library/Audio/Plug-Ins/Components/
VST3/Library/Audio/Plug-Ins/VST3/, ~/Library/Audio/Plug-Ins/VST3/
CLAP/Library/Audio/Plug-Ins/CLAP/, ~/Library/Audio/Plug-Ins/CLAP/

WCLAP plugins are not scanned from disk — they come from the Plinken registry and are always available, no scan needed.

  1. Discovery — Walk directories and find plugin bundles
  2. Validation — Load each plugin and verify it initializes correctly
  3. Metadata extraction — Read name, vendor, version, type, and architecture
  4. Status assignment — Mark as Valid, Failed, or ArchMismatch
  5. Persistence — Save results to SQLite for instant loading on next launch
PropertyTypeDescription
scanningboolWhether a scan is in progress
scan_progressf32Progress from 0.0 to 1.0

After scanning, the manager displays all discovered plugins with filtering and sorting options.

Filter by:

  • Format — AU, VST3, CLAP, WCLAP (or all)
  • Type — Instrument, Effect, MIDI Effect
  • Status — Valid, Failed, Architecture Mismatch
  • Search — Filter by name or vendor
ActionDescription
Enable / DisableToggle whether a plugin is available for use in tracks
RescanRe-validate a single plugin
Rescan AllRe-scan all plugin directories

On Apple Silicon Macs, the manager detects plugin architecture:

ArchitectureDescription
arm64Native Apple Silicon — fastest
x86_64Intel — runs via Rosetta 2
universalContains both architectures

Plugins with architecture mismatches are flagged as ArchMismatch and disabled by default.

Some VST3 plugins (e.g., Waves WaveShell) are “shell” plugins containing multiple sub-plugins. The manager uses the vst3_class_id (hex-encoded 16-byte CID) to identify and select specific sub-plugins.

Plinken includes built-in plugins that appear alongside third-party plugins:

PluginTypeDescription
SynomeInstrumentBuilt-in synthesizer (see Synth)
SamplerInstrumentSample playback engine with webview GUI

Internal plugins are identified by the is_internal flag and may include a webview_bundle path for their GUI.

-- Open the plugin manager
pl.cmd("plugins:open-audio-plugins")
-- The plugin manager state is read-only from Lua
-- Plugins are managed interactively through the UI

Plugin scan results are persisted in a local SQLite database, separate from project files. This means:

  • Scan results survive app restarts
  • Plugin state is per-machine (not per-project)
  • First launch triggers an automatic full scan
  • Subsequent launches load cached results instantly