12 KVR members have added discoLink to 3 MyKVR groups 13 times.
Download KVR Studio Manager (FREE)
discoLink
Cross-Plugin Data Transport via Shared Memory
discoLink is an open-source inter-plugin communication library that enables real-time audio streaming and bidirectional MIDI/parameter control between independent plugin processes — with near-zero latency. Route full synth paths, individual oscillators, envelopes, filters, or external effects into a host plugin using lock-free shared memory ring buffers. No DAW bus tricks. No rewiring. Just clean IPC:
Shared Memory IPC Transport — Host Plugin reads audio and sends MIDI; discoLink Effect writes audio and receives commands. No function calls cross the process boundary.
discoLink places two plugin instances on the same DAW channel. The Host Plugin (e.g. Discovery Pro) reads audio from shared memory and dispatches MIDI commands. The discoLink Effect writes audio to shared memory and receives those commands. Audio moves through lock-free ring buffers — no allocations, no mutexes, no blocking in the real-time path.
The same architecture spans separate OS processes. A standalone synth can register as a device; a DAW plugin will discover and connect to it automatically via the shared-memory bulletin board, without manual configuration.
At the core is a lock-free Single-Producer Single-Consumer (SPSC) ring buffer. Audio buffers hold 16,384 samples per channel with cache-line aligned atomics — no mutexes, no blocking, no allocations in the audio path. Command and response rings carry 256-byte fixed-size messages for MIDI, parameter changes, preset loading, and routing control. Three transport modes: Audio+MIDI, Audio-only, and MIDI-only.
Devices register in a shared-memory bulletin board with 16 slots. Hosts scan and auto-discover running devices with no manual configuration. Dead processes are cleaned via PID validation. Host claim tracking with linkTag support enables seamless DAW session recall — save your project, reload, and discoLink reconnects to the same devices automatically.
Full MIDI 1.0 (NoteOn/Off, CC, Program Change, Pitch Bend, SysEx), MIDI 2.0 Universal MIDI Packet with 32-bit velocity and CC resolution, and MPE with per-note controllers. Beyond MIDI: parameter setting (single/double precision), preset management, file exchange (WAV, SFZ), and dynamic routing — tap into any oscillator, filter, LFO, envelope, gate, or output bus.
Pure C++17 with zero external dependencies — builds as a static library with no framework lock-in. A self-contained JUCE module (juce_discoLink) is available for drop-in integration with Projucer or CMake. Reference CLI tools (device, host, master) are included for testing the full IPC chain without a DAW. Cross-platform: macOS (POSIX shm_open), Linux (POSIX shm_open), Windows (Win32 CreateFileMapping).
Specifications:
discoLink bridges as a host plugin, receiving audio from synthesizer devices over shared memory. Other plugins can act as devices. Any C++17 plugin integrates via the JUCE module or static library with minimal effort.

Please log in to join the discussion
Submit: News, Plugins, Hosts & Apps | Advertise @ KVR | Developer Account | About KVR / Contact Us | Privacy Statement | Sell @ KVR | KVR Marketplace Terms & Conditions
© KVR Audio, Inc. 2000-2026