🔌 VST3 / CLAP / LV2 / VST2 Plugins and Hosting Modes
Omni DAW allows you to use external effect plugins and synthesizers in the VST3, CLAP, LV2, and (for legacy libraries) VST2 standards. To guarantee both low latency and stability without the risk of a faulty plugin crashing the application, Omni DAW offers two independent hosting modes:
1. Two Plugin Hosting Modes
In the application settings (Settings → Plugins), you can select the default operating mode for loaded plugins:
┌───────────────────────────────────────────────┐
│ Omni DAW Audio Engine │
└───────┬───────────────────────────────┬───────┘
│ │
[ Mode 1: IN-PROCESS ] [ Mode 2: OUT-OF-PROCESS SANDBOX ]
│ │
┌─────────────────────▼────────────────┐ ┌─────────▼──────────────────┐
│ Audio Thread + Circuit Breaker │ │ Shared Memory IPC │
│ (Direct memory, 0 latency) │ │ (Isolated process) │
└──────────────────────────────────────┘ └────────────────────────────┘
Mode 1: In-Process with Circuit-Breaker Protection
- Operating Principle: The plugin processes audio directly inside the main DAW audio process.
- Advantages: The lowest possible latency, no buffer copying over the IPC bus.
- Circuit-Breaker Protection System:
- Every processing call saves a non-blocking timestamp.
- A dedicated Watchdog thread checks every 25 ms to ensure the plugin has not been processing for longer than 100 ms.
- If this limit is exceeded, the Circuit-Breaker immediately blocks the plugin — further calls return silence instead of stalling the audio engine, allowing the rest of the project to keep playing without interruption.
Mode 2: Out-of-Process Sandbox IPC
- Operating Principle: The plugin is loaded in a separate, isolated child process (
omni_plugin_host). - Crash Isolation: If a plugin causes a memory fault, only the child process crashes — the main Omni DAW application, your project, and recorded tracks remain intact. A dedicated watchdog thread detects the crashed process and automatically restarts it ("resurrection") without stopping the audio engine.
- Shared Memory: Audio frames are passed between processes via the operating system's shared memory. Synchronization is handled via native futex (on Linux) or active spin-waiting on other platforms.
2. Plugin Scanning and Validation
When scanning plugin folders, Omni DAW employs a secure probing procedure:
- Short-lived Process Probing: A new plugin is loaded and tested in a separate, disposable scanning process — never directly in the DAW.
- Quarantine and Blocklist: If the plugin crashes or exceeds the scanning timeout (15 seconds), it is automatically added to the blocklist with the specified reason (Crashed or Timeout).
- Plugin Trust Statuses:
- Safe: Built-in effects/synths and OmniScript scripts.
- Trusted: An external plugin verified and approved by the user.
- Blocklisted: An unstable, blocked plugin.
- Unknown: A newly detected plugin — when loading a project with such plugins, Omni will display a prompt with options to "Trust all & load", "Block all", or "Skip" (the decision applies to all pending plugins in the project at once).
3. Managing Plugins
Plugin hosting management is divided between two places in the interface:
- Settings → Plugins: The switch for the default hosting mode (In-Process / Sandbox).
- Browser Panel → Plugins Tab: The list of folders scanned for VST3/CLAP/LV2/VST2 plugins (added via the "+" button), a Scan button triggering a background scan, and a browser of detected plugins ready to be dragged onto a track.
A guide to the ScratchDeck player, ElevenLabs Sound FX integration, audio waveform editing, transient detection, and Slice-to-MIDI.
A manual for writing custom generative algorithms, MIDI processors, modulators, and simple DSP effects in the integrated OmniScript language.
