A library for crafting native audio plugins as simply as possible.


Keywords
library, audio, binding, graphics, nogc, aax, audio-library, audio-plugin, audio-processing, audio-unit, dsp, flstudio, lv2, pbr-shading, physically-based-rendering, vst, vst3
License
Other
Install
dub fetch dplug --version 4.0.36

Documentation

logo

Build and Test Dub version

Dplug lets you create professional audio plug-ins with minimal headaches and maintenance cost.

🏠 Dplug.org | 📚 DPlug Wiki | 💬 Community Discord | 👩‍🏫 Getting Started

Features

Format macOS arm64 macOS x86-64 Windows x86-32 Windows x86-64 Linux x86-64
VST2
VST3
AUv2
AAX
LV2
CLAP
FLP

⚙️ Automated Mac and Windows installers, signing, notarization.
⚙️ Build plug-ins with D, a powerful, easy and fast native language. Expect serious improvements over C++ when it comes to learnability, build times, and morale. ⚙️ Package-based dependency management with DUB. Build any Dplug tool with the $ dub command.
⚙️ With PBR rendering, you can have video-game like skeuomorphism with a small RAM and disk usage.
⚙️ DAW support list here.
⚙️ Free of charge, however you'll find it's actively debugged and maintained with very low bug density. ⚙️ Ask your question on the Discord!

Made with Dplug

Come talk with us on the Dplug Discord to learn more and meet your peers!

Release notes

Keep up with major changes with the Dplug Release Notes.

Key concept: Dplug uses SemVer. If you stay on the same Dplug major version tag (eg: "~>13.0"), your plug-in wont't break, and more importantly your user sessions won't break either.

Governance

Dplug has a deep commitment to stability. All breaking changes are documented in the Changelog and issues major SemVer tags for breaking changes. If you don't want any breaking changes, you can pin Dplug to a major version in your dub.json. Breaking changes only happen for major tags.

Dplug's goal is to support existing products and build commercial companies around them. It is a part-time operation, from people who release commercial plug-ins for a living.

Being stable and relatively bug-free is deemed more important to us than implement every possible feature. It's often than enhancements get postponed in favour of product development, so please be patient!

Strengths of Dplug

  • No interaction needed with Xcode, CMake, C++, Obj-C or MSVC.
  • Lovable D language, suitable from prototyping to production.
  • Same features for VST2 / VST3 / AUv2 / AAX / LV2 / CLAP / FLP plug-in formats.
  • Same features for desktop OS: Windows / macOS / Linux.
  • Faust language integration.
  • Easy SIMD compatible with both x86, x86_64, and arm64 with same codebase.
  • Fast 2D software rasterizer in dplug:canvas, no OpenGL headaches.
  • Alternative 2D software rasterizer in canvasity.
  • Wren scripting for faster UI authoring.
  • Optional Physically Based Rendering (PBR).
  • Image support: PNG, JPEG, QOI, and specially designed QOIX codec.
  • Easy to install and update.
  • State-of-the-Art tutorials.

VST3 SDK

If you don't have the VST3 SDK, you can't make VST3 plugins with Dplug. Find the VST3 SDK there: http://www.steinberg.net/en/company/developers.html

If you don't have a licensing agreement with Steinberg, you can't distribute VST2 or VST3 plug-ins.

Licenses

Dplug has many different licenses depending on the sub-package you need. Please check individual source files for license information. Please do your homework and respect the individual licences when releasing a plug-in.

In particular: