DISTRHO Plugin Framework
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
falkTX 34d4ea55b8 Fix utils/package-osx-bundles.sh for cmake builds 2 years ago
.github Skip standalones on example-plugins CI artifacts for windows 2 years ago
cmake Define dpf__target_link_directories for compat with old cmake 2 years ago
dgl Put internal stb_image stuff used by nanovg in its own namespace 2 years ago
distrho Use the more verbose MIDI CC definition for LV2, fixes validation 2 years ago
examples Implement CLAP latency, cleanup 2 years ago
lac Update pres 11 years ago
tests wasm and egl/gles related things 2 years ago
utils Fix utils/package-osx-bundles.sh for cmake builds 2 years ago
.gitignore Update .gitignore 3 years ago
.gitmodules Start adding some actual implementation to Window class 4 years ago
CMakeLists.txt Add NO_SHARED_RESOURCES cmake option 2 years ago
FEATURES.md Cleanup FEATURES.md, updating VST3 state and adding CLAP 2 years ago
LICENSE Remove project name from license file 3 years ago
LICENSING.md Replace vestige with a more liberally-licensed version 2 years ago
Makefile Add makefile extra rules for MOD Audio stuff 2 years ago
Makefile.base.mk Use the updated toolchains for modduo and modduox builds 2 years ago
Makefile.plugins.mk Fix build 2 years ago
README.md Fix typo leading some VST3 groups having 0 ports 2 years ago
dpf.doxygen Skip doxygen timestamps for online docs 2 years ago
dpf.kdev4 Fix typo 11 years ago

README.md

DPF - DISTRHO Plugin Framework

makefile cmake example-plugins

DPF is designed to make development of new plugins an easy and enjoyable task.
It allows developers to create plugins with custom UIs using a simple C++ API.
The framework facilitates exporting various different plugin formats from the same code-base.

DPF can build for LADSPA, DSSI, LV2, VST2, VST3 and CLAP formats.
A JACK/Standalone mode is also available, allowing you to quickly test plugins.

Plugin DSP and UI communication is done via key-value string pairs.
You send messages from the UI to the DSP side, which is automatically saved in the host when required.
(You can also store state internally if needed, but this breaks DSSI compatibility).

Getting time information from the host is possible.
It uses the same format as the JACK Transport API, making porting some code easier.

Provided features and implementation status for specific plugin formats can be seen in FEATURES.md.

Licensing

DPF is released under ISC, which basically means you can do whatever you want as long as you credit the original authors.
Some plugin formats may have additional restrictions, see LICENSING.md for details.

Help and documentation

Bug reports happen on the DPF github project.

Online documentation is available at https://distrho.github.io/DPF/.

Online help and discussion about DPF happens in the kx.studio chat, DPF room.

List of plugins made with DPF:

See this wiki page for a list of plugins made with DPF.

Plugin examples are also available in the example/ folder inside this repo.