Fork me on GitHub

iPlug 2 - C++ audio plug-in framework

iPlug 2 is a simple-to-use C++ framework for developing cross platform audio plug-ins/apps and targeting multiple plug-in APIs with the same minimalistic code. It abstracts an audio plug-in (IPlug) and it's drawing engine/GUI toolkit (IGraphics), although IPlug can be used in bring-your-own GUI library mode without IGraphics. IGraphics contains a collection of common controls well suited for audio plug-in GUIs, either using bitmap or vector graphics. The original version of iPlug was released in 2008 as part of Cockos' WDL library. iPlug 2 (2018) is a substantial reworking that brings multiple vector graphics backends to IGraphics (including GPU accelerated options and HiDPI/scaling), a better approach to concurrency, support for distributed plug-in formats and compiling to WebAssembly via emscripten, amongst many other things. iPlug 2 targets the VST2, VST3, AUv2, AUv3, AAX (Native) and the Web Audio Module (WAM) plug-in APIs. It can also produce standalone win32/macOS apps with audio and MIDI I/O, as well as Reaper extensions. Windows 8, macOS 10.11, and iOS 13 are the official minimum target platforms, but depending on the graphics backend used, you may be able to make it work on earlier operating systems.

Web Audio Module Examples

src
IPlugEffect .h | .cpp WebGL | Canvas
IPlugInstrument .h | .cpp WebGL | Canvas
IPlugControls .h | .cpp WebGL | Canvas
IPlugResponsiveUI .h | .cpp WebGL | Canvas
IGraphicsTest .h | .cpp WebGL | Canvas
IGraphicsStressTest .h | .cpp WebGL | Canvas

Plug-in Examples

iPlug2 binary releases page

Documentation

iPlug2 Wiki | Doxygen docs

Conference talks / papers

Videos

Community

You can discuss iPlug 2 on the iPlug2 forum or on the iPlug user's slack channel.

Support the project

iPlug2 is a time consuming project. You can help make the project financially viable in several ways, preferably via github sponsors but also via patreon or paypal donations. With regular financial support, more time can be spent maintaining and improving the project. Even small contributions are very much appreciated.

Significant sponsors of over $50/month include

Become a Patron!