# iPlug2 ## Docs - [Debugging](https://mintlify.wiki/iPlug2/iPlug2/advanced/debugging.md): Debug iPlug2 plugins with logging, assertions, and debugger integration - [DSP Extras](https://mintlify.wiki/iPlug2/iPlug2/advanced/dsp-extras.md): Built-in DSP utilities for synthesis and effects - [MPE Support](https://mintlify.wiki/iPlug2/iPlug2/advanced/mpe.md): MIDI Polyphonic Expression for expressive instruments - [Multi-Bus I/O](https://mintlify.wiki/iPlug2/iPlug2/advanced/multibus.md): Configure multiple input and output buses for complex routing - [State Management](https://mintlify.wiki/iPlug2/iPlug2/advanced/state-management.md): Managing plugin state with chunks and serialization - [Threading & Concurrency](https://mintlify.wiki/iPlug2/iPlug2/advanced/threading.md): Thread-safe communication between audio and UI threads - [Audio Visualization](https://mintlify.wiki/iPlug2/iPlug2/advanced/visualization.md): Send audio data from DSP to UI for meters, scopes, and analyzers - [Buttons & Switches](https://mintlify.wiki/iPlug2/iPlug2/api/controls/buttons-switches.md): Momentary buttons, switches, toggles, tabs, and radio button controls - [Displays & Meters](https://mintlify.wiki/iPlug2/iPlug2/api/controls/displays.md): Level meters, scopes, displays, and real-time visualization controls - [Knobs & Sliders](https://mintlify.wiki/iPlug2/iPlug2/api/controls/knobs-sliders.md): Rotary knobs, linear sliders, range sliders, and XY pad controls - [Menus & Text Entry](https://mintlify.wiki/iPlug2/iPlug2/api/controls/menus.md): Pop-up menus, text entry, and number box controls - [Controls Overview](https://mintlify.wiki/iPlug2/iPlug2/api/controls/overview.md): Introduction to the iPlug2 IGraphics controls library - [Special Controls](https://mintlify.wiki/iPlug2/iPlug2/api/controls/special.md): Keyboards, color pickers, LEDs, plots, groups, and other specialized controls - [Effects](https://mintlify.wiki/iPlug2/iPlug2/api/dsp/effects.md): DSP effects and utilities including LFO, oversampling, smoothing, and convolution - [Envelopes](https://mintlify.wiki/iPlug2/iPlug2/api/dsp/envelopes.md): ADSR envelope generator for amplitude and modulation control - [Filters](https://mintlify.wiki/iPlug2/iPlug2/api/dsp/filters.md): State Variable Filter (SVF) for multi-mode audio filtering - [Oscillators](https://mintlify.wiki/iPlug2/iPlug2/api/dsp/oscillators.md): Audio oscillator classes for waveform generation - [IControl](https://mintlify.wiki/iPlug2/iPlug2/api/icontrol.md): Base class for all UI controls in iPlug2 - [IGraphics](https://mintlify.wiki/iPlug2/iPlug2/api/igraphics.md): Core graphics context class for rendering UI in iPlug2 - [IGraphics Structs](https://mintlify.wiki/iPlug2/iPlug2/api/igraphics-structs.md): Data structures and helper classes used throughout IGraphics - [MIDI & SysEx](https://mintlify.wiki/iPlug2/iPlug2/api/iplug-midi.md): MIDI message handling and utilities in iPlug2 - [IParam](https://mintlify.wiki/iPlug2/iPlug2/api/iplug-parameter.md): iPlug2's parameter class for plugin automation and control - [IPluginBase](https://mintlify.wiki/iPlug2/iPlug2/api/iplug-plugin-base.md): Base class containing plugin info and state manipulation methods - [IPlugProcessor](https://mintlify.wiki/iPlug2/iPlug2/api/iplug-processor.md): Base class for audio processing in iPlug2 plugins - [AAX Platform API](https://mintlify.wiki/iPlug2/iPlug2/api/platforms/aax.md): AAX API implementation for iPlug2 plugins in Pro Tools - [Audio Unit v2 Platform API](https://mintlify.wiki/iPlug2/iPlug2/api/platforms/auv2.md): AUv2 API implementation for iPlug2 plugins on macOS - [Audio Unit v3 Platform API](https://mintlify.wiki/iPlug2/iPlug2/api/platforms/auv3.md): AUv3 API implementation for iPlug2 plugins on macOS and iOS - [CLAP Platform API](https://mintlify.wiki/iPlug2/iPlug2/api/platforms/clap.md): CLAP API implementation for iPlug2 plugins - [Standalone App Platform API](https://mintlify.wiki/iPlug2/iPlug2/api/platforms/standalone.md): Standalone application API implementation for iPlug2 plugins - [VST3 Platform API](https://mintlify.wiki/iPlug2/iPlug2/api/platforms/vst3.md): VST3 API implementation for iPlug2 plugins - [WAM Platform API](https://mintlify.wiki/iPlug2/iPlug2/api/platforms/wam.md): Web Audio Module API implementation for browser-based iPlug2 plugins - [Building with CMake](https://mintlify.wiki/iPlug2/iPlug2/building/cmake.md): Modern cross-platform build system for iPlug2 projects - [Building for iOS](https://mintlify.wiki/iPlug2/iPlug2/building/ios.md): Build AUv3 audio plugins for iOS and iPadOS using Xcode - [Building for macOS](https://mintlify.wiki/iPlug2/iPlug2/building/macos.md): Build iPlug2 audio plugins for macOS using Xcode - [Building Overview](https://mintlify.wiki/iPlug2/iPlug2/building/overview.md): Cross-platform build system overview for iPlug2 audio plugins - [Building for Web](https://mintlify.wiki/iPlug2/iPlug2/building/web.md): Build WebAssembly audio plugins using Emscripten - [Building for Windows](https://mintlify.wiki/iPlug2/iPlug2/building/windows.md): Build iPlug2 audio plugins for Windows using Visual Studio - [Architecture Overview](https://mintlify.wiki/iPlug2/iPlug2/concepts/architecture.md): Understanding iPlug2 architecture: IPlug core vs IGraphics, plugin lifecycle, and threading model - [Audio Processing](https://mintlify.wiki/iPlug2/iPlug2/concepts/audio-processing.md): Master real-time audio processing in iPlug2: ProcessBlock, sample rates, buffers, and real-time safety - [Parameters](https://mintlify.wiki/iPlug2/iPlug2/concepts/parameters.md): Complete guide to iPlug2 parameters: types, automation, GetParam usage, parameter groups, and best practices - [Plugin Formats](https://mintlify.wiki/iPlug2/iPlug2/concepts/plugin-formats.md): Comprehensive guide to all plugin formats supported by iPlug2: VST3, AUv2, AUv3, AAX, CLAP, and WAM - [Project Structure](https://mintlify.wiki/iPlug2/iPlug2/concepts/project-structure.md): Understanding iPlug2 project organization: config.h, Plugin.h, Plugin.cpp, and the build system - [Cocoa UI](https://mintlify.wiki/iPlug2/iPlug2/examples/cocoa-ui.md): Build native macOS and iOS plugin interfaces using Cocoa/UIKit with Interface Builder - [Convolution Engine Example](https://mintlify.wiki/iPlug2/iPlug2/examples/convo-engine.md): Build a convolution reverb using WDL's fast convolution engine with impulse response resampling - [Drum Synthesizer Example](https://mintlify.wiki/iPlug2/iPlug2/examples/drum-synth.md): Build a MIDI-triggered drum synthesizer with custom DSP and multi-output routing - [IPlugControls Example](https://mintlify.wiki/iPlug2/iPlug2/examples/iplug-controls.md): A comprehensive showcase of all available UI controls in the IControls library - [IPlugEffect Example](https://mintlify.wiki/iPlug2/iPlug2/examples/iplug-effect.md): A basic audio effect plugin demonstrating volume control and fundamental iPlug2 concepts - [IPlugInstrument Example](https://mintlify.wiki/iPlug2/iPlug2/examples/iplug-instrument.md): An MPE-capable polyphonic synthesizer demonstrating MIDI processing, voice management, and modulation - [MIDI Effect Example](https://mintlify.wiki/iPlug2/iPlug2/examples/midi-effect.md): Learn how to create a MIDI effect plugin that processes and generates MIDI messages - [Examples Overview](https://mintlify.wiki/iPlug2/iPlug2/examples/overview.md): Introduction to iPlug2 example projects and templates - [P5.js](https://mintlify.wiki/iPlug2/iPlug2/examples/p5js.md): Build creative, generative plugin interfaces using P5.js - [REAPER Extension](https://mintlify.wiki/iPlug2/iPlug2/examples/reaper-extension.md): Build standalone REAPER extensions with native Windows UI integration - [REAPER Plugin](https://mintlify.wiki/iPlug2/iPlug2/examples/reaper-plugin.md): Create audio plugins that can call REAPER API functions and support embedded UI - [Responsive UI](https://mintlify.wiki/iPlug2/iPlug2/examples/responsive-ui.md): Build plugins with responsive IGraphics layouts that adapt to window resizing - [Sidechain Input Example](https://mintlify.wiki/iPlug2/iPlug2/examples/sidechain.md): Learn how to create an audio effect with sidechain input for compression and ducking - [Surround Sound Example](https://mintlify.wiki/iPlug2/iPlug2/examples/surround.md): Learn how to create plugins that support surround sound formats including Atmos - [Svelte UI](https://mintlify.wiki/iPlug2/iPlug2/examples/svelte-ui.md): Build reactive plugin interfaces using Svelte and Vite - [SwiftUI](https://mintlify.wiki/iPlug2/iPlug2/examples/swiftui.md): Build native macOS and iOS plugin interfaces using SwiftUI - [Visualizer Example](https://mintlify.wiki/iPlug2/iPlug2/examples/visualizer.md): Build audio visualizations with FFT spectrum analysis and real-time metering - [Web UI](https://mintlify.wiki/iPlug2/iPlug2/examples/web-ui.md): Build cross-platform plugin interfaces using HTML, CSS, and JavaScript - [Building Audio Effects](https://mintlify.wiki/iPlug2/iPlug2/guides/audio-effect.md): Create audio effect plugins with DSP processing and parameters - [Creating iPlug2 Plugins](https://mintlify.wiki/iPlug2/iPlug2/guides/creating-plugins.md): Learn how to create new iPlug2 audio plugins using the duplicate.py script - [Building Instrument Plugins](https://mintlify.wiki/iPlug2/iPlug2/guides/instrument.md): Create MIDI synthesizers and virtual instruments with polyphony and DSP - [Building MIDI Effect Plugins](https://mintlify.wiki/iPlug2/iPlug2/guides/midi-effect.md): Create MIDI processors that transform, generate, or filter MIDI messages - [Building REAPER Extensions](https://mintlify.wiki/iPlug2/iPlug2/guides/reaper-extensions.md): Create custom extensions for REAPER with UI, actions, and API integration - [Sidechain Input Processing](https://mintlify.wiki/iPlug2/iPlug2/guides/sidechain.md): Build audio effects with sidechain inputs for compression, gating, and ducking - [Surround Sound Processing](https://mintlify.wiki/iPlug2/iPlug2/guides/surround.md): Build plugins for 5.1, 7.1, Atmos, and other surround formats - [Web Audio Modules (WASM)](https://mintlify.wiki/iPlug2/iPlug2/guides/web-audio-modules.md): Build plugins for the web with WebAssembly and Web Audio API - [IGraphics Controls](https://mintlify.wiki/iPlug2/iPlug2/igraphics/controls.md): Built-in UI controls including knobs, sliders, buttons, and visualizations - [Creating Custom Controls](https://mintlify.wiki/iPlug2/iPlug2/igraphics/custom-controls.md): Build your own IGraphics controls with custom drawing and interaction - [Drawing Backends](https://mintlify.wiki/iPlug2/iPlug2/igraphics/drawing-backends.md): Understanding NanoVG and Skia rendering engines - [Getting Started with IGraphics](https://mintlify.wiki/iPlug2/iPlug2/igraphics/getting-started.md): Learn how to set up and build your first IGraphics user interface - [IGraphics Overview](https://mintlify.wiki/iPlug2/iPlug2/igraphics/overview.md): Cross-platform GPU-accelerated graphics framework for iPlug2 audio plugins - [Responsive UI Design](https://mintlify.wiki/iPlug2/iPlug2/igraphics/responsive-ui.md): Handle window resizing, scaling, and layout adaptation - [Installation](https://mintlify.wiki/iPlug2/iPlug2/installation.md): Set up your development environment for building iPlug2 audio plugins - [Introduction](https://mintlify.wiki/iPlug2/iPlug2/introduction.md): Build cross-platform audio plugins with iPlug2's powerful C++ framework - [MIDI Handling](https://mintlify.wiki/iPlug2/iPlug2/iplug/midi.md): Process MIDI messages, SysEx, and MIDI queues in iPlug2 - [iPlug2 Core Overview](https://mintlify.wiki/iPlug2/iPlug2/iplug/overview.md): Introduction to the iPlug2 audio plugin framework architecture - [Parameters (IParam)](https://mintlify.wiki/iPlug2/iPlug2/iplug/parameters.md): Type-safe parameters with ranges, shapes, display functions, and automation - [IPluginBase](https://mintlify.wiki/iPlug2/iPlug2/iplug/plugin-base.md): Plugin properties, parameters, presets, and state serialization - [Presets](https://mintlify.wiki/iPlug2/iPlug2/iplug/presets.md): Factory presets, preset banks, and state management - [IPlugProcessor](https://mintlify.wiki/iPlug2/iPlug2/iplug/processor.md): Audio processing, channel I/O configuration, and MIDI handling - [Quickstart](https://mintlify.wiki/iPlug2/iPlug2/quickstart.md): Build your first iPlug2 audio plugin in minutes - [Cocoa Interface](https://mintlify.wiki/iPlug2/iPlug2/ui-frameworks/cocoa.md): Building native macOS and iOS plugin UIs with AppKit/UIKit and Interface Builder - [UI Framework Options](https://mintlify.wiki/iPlug2/iPlug2/ui-frameworks/overview.md): Overview of the different UI frameworks available in iPlug2 - [Svelte Interface](https://mintlify.wiki/iPlug2/iPlug2/ui-frameworks/svelte.md): Building reactive plugin UIs with Svelte and TypeScript - [SwiftUI Interface](https://mintlify.wiki/iPlug2/iPlug2/ui-frameworks/swiftui.md): Building native macOS and iOS plugin UIs with SwiftUI - [WebView Interface](https://mintlify.wiki/iPlug2/iPlug2/ui-frameworks/webview.md): Building plugin UIs with HTML, CSS, and JavaScript using native webviews