maolan-engine 0.2.23

Audio engine for the Maolan DAW with audio/MIDI tracks, routing, export, and out-of-process CLAP/VST3/LV2 plugin support
Documentation

maolan-engine

crates.io

maolan-engine is the Rust audio engine that powers Maolan.

It provides:

  • Audio and MIDI track processing
  • Timeline-oriented recording and clip playback
  • Track routing and plugin graph routing
  • Offline bounce and export helpers
  • Out-of-process (OOP) plugin hosting for CLAP, VST3, and LV2 (Unix) — each plugin runs in a separate OS process for crash isolation
  • Platform audio backends for Linux, macOS, FreeBSD, and Windows (WASAPI)

Architecture

The engine uses a two-tier process model:

  1. Main DAW process — hosts the UI, audio engine, and project state.
  2. Plugin host processes — one per plugin instance, launched by the engine. Each host loads the plugin binary in-process and communicates with the DAW via shared-memory IPC (mmap on Unix, CreateFileMappingW on Windows) and lightweight cross-process events (pipe on Unix, named auto-reset events on Windows).

Plugins are never loaded directly into the DAW. If a plugin crashes, only its host process dies; the DAW detects the failure, bypasses the plugin, and continues playback.

Platform support

Feature Linux macOS FreeBSD Windows
Audio backend ALSA, JACK CoreAudio ALSA, JACK WASAPI
CLAP hosting ✅ OOP ✅ OOP ✅ OOP ✅ OOP
VST3 hosting ✅ OOP ✅ OOP ✅ OOP ✅ OOP
LV2 hosting ✅ OOP ✅ OOP N/A
GUI embedding X11 X11 HWND (SetParent)

This crate is under active development alongside the main Maolan application:

Platform integrations depend on system libraries and host/plugin compatibility.