The Wayback Machine - https://web.archive.org/web/20200521130402/https://github.com/AuburnSounds/Dplug
Skip to content
Make audio plug-ins with D
D Other
  1. D 99.8%
  2. Other 0.2%
Branch: master
Clone or download

Latest commit

Guillaume Piolat
Guillaume Piolat [dplug:canvas] New public API calls for canvas/dplug/canvas/package.d
     - fillRect
     - fillCircle
     - arc
     - rect
Latest commit 7edf482 Apr 29, 2020

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
au/dplug/au Add isAutomatable, nonAutomatable properties to Parameter. Closes #363. Oct 8, 2019
canvas/dplug/canvas [dplug:canvas] New public API calls for canvas/dplug/canvas/package.d Apr 29, 2020
carbon/derelict/carbon Add isAutomatable, nonAutomatable properties to Parameter. Closes #363. Oct 8, 2019
client/dplug/client Fix warning in dplug:client test Nov 13, 2019
cocoa/derelict/cocoa Should fix Cocoa performance problems on large screens. Already speed… Dec 5, 2019
core/dplug/core Make explicit that .init values matter in Vec Apr 23, 2020
dsp/dplug/dsp BREAKING Feb 24, 2020
examples [dplug:canvas] Adding Canvas transforms, this was relatively straight… Apr 24, 2020
flatwidgets/dplug/flatwidgets Oops Mar 14, 2019
graphics/dplug/graphics Manual closure for JPEG decoder read function. Apr 4, 2020
gui/dplug/gui Fixes #455 RANSAC normal estimation return (NaN, NaN, NaN) if all pla… Apr 8, 2020
host/dplug/host Tools that use VST 2.4 hosting now define the `VST2` version identifier. Feb 13, 2020
lv2/dplug/lv2 Add isAutomatable, nonAutomatable properties to Parameter. Closes #363. Oct 8, 2019
pbrwidgets/dplug/pbrwidgets [pbr-widgets] Add flags to UIImageKnob to make draw to diffuse / mate… Apr 16, 2020
tests parameters handled as floats. no TLS variables. `dplug-build` Jan 9, 2019
tools 3 new tools :) Apr 14, 2020
vst/dplug/vst Detect if we try to build a VST2. Jan 30, 2020
vst3/dplug/vst3 Add missing Linux entry points for VST3. That doesn't make Bitwig see… Dec 8, 2019
window/dplug/window Fix simultaneous onDraw and onAnimate on Linux. This wasn't actually … Mar 23, 2020
x11/derelict/x11 Simplifying X11 bindings we have too much stuff there Mar 23, 2020
.gitignore parameters handled as floats. no TLS variables. `dplug-build` Jan 9, 2019
.travis.yml Preliminary work for rasterizer based upon Cerjones's work. Apr 21, 2020
CONTRIBUTING.md Fix DDoc wrt licensing. Sep 18, 2018
DSP_Asset_Store.md Add one more asset to the DSP Asset Store (tm) Nov 7, 2018
README.md Update README.md Jan 23, 2020
azure-pipelines.yml Revert "linux CI builds use dplug docker container" Oct 26, 2019
dub.json Preliminary work for rasterizer based upon Cerjones's work. Apr 21, 2020
logo.svg Add logo Oct 3, 2015
plugin-schema.json Modify dplug-build to support notarization (WIP), we add 3 keys to pl… Aug 30, 2019
secrets-for-ci.tar.enc Updated encrypted archive with correctly encoded file (on linux) Jul 6, 2018

README.md

logo

Dplug Build Status Dub version Dplug Discord server Build Status

Dplug lets you create professional audio plug-ins with unmatched simplicity and speed, using the D language.

Features

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

Community and ecosystem

These products use Dplug:

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!

Release notes

Keep up with major changes here: Release Notes

Tutorials

FAQ

  • 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.

Strengths of Dplug

  • 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

VST SDK

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.

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.

You can’t perform that action at this time.