Dplug
lets you create professional audio plug-ins with unmatched simplicity and speed, using the D language.
Plug-in format supported | Mac 64b | Windows 32b | Windows 64b | Linux 64b |
---|---|---|---|---|
VST2 | Yes | Yes | Yes | Yes |
VST3 | Yes | Yes | Yes | Yes |
AUv2 | Yes | NA | NA | NA |
AAX | Yes | No | Yes | No |
LV2 | Yes | No | Yes | Yes |
- Automated Mac and Windows installers
- Build plug-ins with less pain using the D language, possibly the most powerful native language available today
- Leverage package-based dependencies using DUB, the D language's package manager
- Small binaries with (optional) rendering
- Static link with the MSCRT runtime libraries to distribute only one single file
- Support major DAWs
- Small, tight-knit community
These products use Dplug:
- Couture by Auburn Sounds
- Entropy by Cut Through Recordings
- Graillon by Auburn Sounds
- M4 Multiband Compressor by Cut Through Recordings
- Panagement by Auburn Sounds
- Tarabia Distortion by SMAOLAB
Increase quality and reduce time-to-market with commercial audio DSP in the DSP Asset Store.
Become one happy Dplug contributor by submitting issues and pull-requests, and come talk with us on the D Language Discord to learn more and meet your peers Dplug users!
Keep up with major changes here: Release Notes
- Does Dplug support the creation of synthesizer plug-ins?
Yes. See the simple-mono-synth and Poly Alias examples.
- Am I forced to use the PBR rendering system?
No. And if you don't use it, you don't pay for it.
- What is the oldest supported Windows version?
Windows 7.
- What is the oldest supported OS X version?
OS X 10.9+.
-
What D compiler can possibly be used?
See
.travis.yml
for supported compilers. The latest DMD or LDC should do. -
What D compilers are recommended?
For releases it is highly recommended that you use LDC >= 1.8. When in development you can use DMD for faster compilation times.
-
Is Dplug stable?
Dplug has excellent stability.
Dplug documents all breaking changes 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
.
But reality is complex, and bug fixes can be breaking too, (eg: "highpass FIR wasn't working"). In which case we have to make a judgment call as to whether it's a breaking fix, and whether the buggy feature was used.
Breaking commits, when they happen, are marked with BREAKING in the commit backlog. They are discussed on Discord to assess the impact. Make yourself known!
- Will you add feature X?
Dplug is a part-time operation, from people who spend time working on and releasing commercial plug-ins.
Dplug is there to support existing products and building commercial companies around them, not to be beta software and make empty promises. Being stable and bug-free is much more important to us than implement every possible feature.
Politically, it's very often than enhancements get postponed in favour of product development, so please be patient!
We're looking for ways to improve governance as more contributors have appeared with contrasted agendas.
- Where do I start?
Be sure to read the Wiki in depth.
- As lightweight as possible
- Public bugtracker
- Well-defined scope: for professional plug-in developers
- Maintained continuously, supported by sales for the foreseeable future
- Price is free, no personal support must be expected though
- PBR-style rendering lets you have a good visual quality with less disk space. If you don't use it, you don't pay for it.
- No dealing with resource compilers: D can
import("filename.ext")
them - Easy to install and update
- Constant push to fight complexity
If you don't have the VST SDK, you can't make plugins with Dplug. Find the VST 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.
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.