Skip to content

Latest commit

 

History

167 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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, FreeBSD, macOS (CoreAudio), 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 FreeBSD macOS Windows
Audio backend ALSA, JACK OSS, JACK CoreAudio WASAPI
CLAP hosting ✅ OOP ✅ OOP ✅ OOP ✅ OOP
VST3 hosting ✅ OOP ✅ OOP ✅ OOP ✅ OOP
LV2 hosting ✅ OOP ✅ OOP ✅ OOP N/A
GUI embedding X11 HWND (SetParent)

About

Maolan engine

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages