Skip to content

Latest commit

 

History

History
83 lines (54 loc) · 3.03 KB

README.md

File metadata and controls

83 lines (54 loc) · 3.03 KB

dplug Build Status

Join the chat at https://gitter.im/p0nce/dplug

dplug is a library for creating audio plugins. Additionally it comes with music DSP algorithms that might be useful for your next-generation MS converter plugin. Currently support VST 2.x plugins on Windows and Mac OS X.

Mandatory distortion example

Contents

dplug:plugin

  • Abstract plugin client interface. Currently implemented once for VST.

dplug:vst

  • VST SDK D bindings
  • VST plugin client

dplug:dsp

  • Basic support for audio processing:
    • FFT and windowing functions (include STFT with tunable overlap and zero-phase windowing)
    • FIR and RJB biquads (no higher order IIR sorry)
    • mipmapped wavetables for antialiased oscillators
    • noise generation including white/pink/demo noise
    • various kinds of smoothers and envelopes
    • delay-line and interpolation

dplug:gui

  • Needed for plugins that do have an UI
  • Toolkit includes common widgets (knob/slider/switch)
  • PBR-based renderer for a fully procedural UI (updates are lazy and parallel)

Examples

  • examples/distort: mandatory distortion plugin
  • time_stretch: resampling x2 through FFT zero-padding
  • examples/just_windowing: test program for the windowing sub-package

How to build plugins

Licenses

dplug has three different licenses depending on the part you need. For an audio plugin, you would typically need all three. I recommend that you check individual source files for license information.

VST SDK translation

This sub-package falls under the Steinberg VST license.

VST is a trademark of Steinberg Media Technologies GmbH. Please register the SDK via the 3rd party developper license on Steinberg site.

Before you make VST plugins with dplug, you need to read and agree with the license for the VST3 SDK by Steinberg. If you don't agree with the license, don't make plugins with dplug. Find the VST3 SDK there: http://www.steinberg.net/en/company/developers.html

Plugin format wrapping

Plugin wrapping is heavily inspired by the WDL library (best represented here: https://github.com/olilarkin/wdl-ol).

Some files falls under the Cockos WDL license.

However dplug is not a translation of WDL. For example a significant difference compared to WDL is that there is no plugin-wide mutex lock.

Important contributors to WDL include:

Misc

Other source files fall under the Boost 1.0 license.