Log InCreate An Account
  1. Plugins
  2. »
  3. discoDSP
  4. »
  5. discoLink
  6. »
  7. Details

discoLink

Audio Tools Plugin by discoDSP
MyKVRFAVORITE3WANT9
discoLink
discoLink by discoDSP is a Virtual Effect Audio Plugin and a Software Application and a Development Tool for macOS, Windows and Linux. It functions as an Audio Units Plugin, a VST 3 Plugin and a Standalone Application.
Product
Version
0.1
Product
Version
0.1
Product
Version
0.1
Effect
Formats
Other
Development Tool
Copy Protection
None
Open Source
MIT

MyKVR: Groups, Versions, ...

12 KVR members have added discoLink to 3 MyKVR groups 13 times.

Download KVR Studio Manager (FREE)

Not In Your MY KVR Groups
(or group limitation prevents versioning)
+3 in private groups

KVR Rank

Overall: 618   533   607   116

30-Day: 8634; 7-Day: 13000; Yesterday: 10770

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:

Architecture

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.

How It Works

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.

Shared Memory Transport

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.

Device Registry

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.

MIDI 1.0, MIDI 2.0 UMP & MPE

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.

Integration

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:

  • License: MIT — github.com/reales/discolink
  • Formats: VST3, AU, Standalone (+ static library / JUCE module).
  • Platforms: macOS, Linux, Windows.
  • Language: Pure C++17, zero external dependencies.
  • Audio Buffer: 16,384 samples/channel, stereo, lock-free SPSC.
  • IPC Messages: 256-byte fixed-size, 256-message ring (command + response).
  • Device Slots: 16 (shared-memory bulletin board).
  • Transport Modes: Audio+MIDI · Audio-only · MIDI-only.
  • MIDI Support: MIDI 1.0, MIDI 2.0 UMP (32-bit), MPE.
  • Multichannel: Mono through 12-channel multi-out.

Works Great With

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.

Latest User Reviews

Average user rating of 0.00 from 0 reviews

Comments & Discussion for discoDSP discoLink

Discussion
Discussion: Active

Please log in to join the discussion

Log In To KVR Audio