iPlug2 - C++ Audio Plug-in Framework
File List
Here is a list of all documented files with brief descriptions:
 AppDelegate.h
 AppDelegate.m
 AppViewController.h
 AppViewController.mm
 IBubbleControl.hA special control to draw contextual info as a slider etc is moved If used in the main IControl stack, you probably want it to be the very last control that is added, so that it gets drawn on top.
 IColorPickerControl.hA control for choosing a color.
 IControl.cpp
 IControl.hThis file contains the base IControl implementation, along with some base classes for specific types of control
 IControls.cppIControls implementation
 IControls.hA collection of IControls for common UI widgets, such as knobs, sliders, switches
 ICornerResizerControl.hA control for resizing the plug-in window by clicking and dragging in the bottom right-hand corner This can be added with IGraphics::AttachCornerResizer().
 IFPSDisplayControl.hPerformance display meter, based on code from NanoVG This is a special control that lives outside the main IGraphics control stack.
 IGraphics.cpp
 IGraphics.hThe lowest level base class of an IGraphics context.
 IGraphics_include_in_plug_hdr.hIGraphics header include Include this file in the main header if using IGraphics outside a plugin context
 IGraphics_include_in_plug_src.h
 IGraphics_select.hUsed for choosing a drawing backend
 IGraphicsCanvas.cpp
 IGraphicsCanvas.h
 IGraphicsConstants.h
 IGraphicsCoreText.h
 IGraphicsCoreText.mm
 IGraphicsEditorDelegate.cpp
 IGraphicsEditorDelegate.hAn editor delegate base class for a SOMETHING that uses IGraphics for it's UI.
 IGraphicsFlexBox.cpp
 IGraphicsFlexBox.h
 IGraphicsImGui.cpp
 IGraphicsImGui.h
 IGraphicsImGui_src.mm
 IGraphicsIOS.h
 IGraphicsIOS.mm
 IGraphicsIOS_view.h
 IGraphicsIOS_view.mm
 IGraphicsLinux.cpp
 IGraphicsLinux.h
 IGraphicsLiveEdit.hA control to enable live modification of control layout in an IGraphics context in debug builds This is based on the work of Youlean, who first included it in iPlug-Youlean The lives outside the main IGraphics control stack and it can be added with IGraphics::EnableLiveEdit().
 IGraphicsMac.h
 IGraphicsMac.mm
 IGraphicsMac_view.h
 IGraphicsMac_view.mm
 IGraphicsNanoVG.cpp
 IGraphicsNanoVG.h
 IGraphicsNanoVG_src.m
 IGraphicsPopupMenu.hA class for setting the contents of a pop up menu.
 IGraphicsPrivate.h
 IGraphicsSkia.cpp
 IGraphicsSkia.h
 IGraphicsStructs.h
 IGraphicsUtilities.h
 IGraphicsWeb.cpp
 IGraphicsWeb.h
 IGraphicsWin.cpp
 IGraphicsWin.h
 ILEDControl.hGlowing LED control.
 IPlug_include_in_plug_hdr.hIPlug header include Include this file in the main header for your plugin A preprocessor macro for a particular API such as VST2_API should be defined at project level
 IPlug_include_in_plug_src.hIPlug source include Include this file in the main source for your plugin, after #including the main header for your plugin
 IPlugAAX.cpp
 IPlugAAX.hAAX API base class for an IPlug plug-in.
 IPlugAPIBase.cppIPlugAPIBase implementation
 IPlugAPIBase.hThe base class of an IPlug plug-in, which interacts with the different plug-in APIs.
 IPlugAPP.cpp
 IPlugAPP.hStandalone application base class for an IPlug plug-in.
 IPlugAPP_dialog.cpp
 IPlugAPP_host.cpp
 IPlugAPP_host.h
 IPlugAPP_main.cpp
 IPlugAU.cpp
 IPlugAU.hAudioUnit v2 API base class for an IPlug plug-in.
 IPlugAU_ioconfig.h
 IPlugAUPlayer.h
 IPlugAUPlayer.mm
 IPlugAUv3.hAudioUnit v3 API base class for an IPlug plug-in.
 IPlugAUv3.mm
 IPlugAUv3Appex.m
 IPlugAUViewController.h
 IPlugConstants.hIPlug Constant definitions, Types, magic numbers
 IPlugDelegate_select.hUsed for choosing an editor delegate
 IPlugEditorDelegate.hThis pure virtual interface delegates communication in both directions between a UI editor and something else (which is usually a plug-in) It is also the class that owns parameter objects (for historical reasons) - although it's not necessary to allocate them.
 IPlugLogger.hIPlug logging a.k.a tracing functionality
 IPlugMidi.hMIDI and sysex structs/utilites
 IPlugParameter.cppIParam implementation
 IPlugParameter.hIPlug's parameter class.
 IPlugPaths.cppIPlugPaths implementation for Windows and Linux
 IPlugPaths.hCommon paths useful for plug-ins
 IPlugPaths.mmIPlugPaths implementation for macOS and iOS
 IPlugPlatform.hInclude to get consistently named preprocessor macros for different platforms and logging functionality
 IPlugPluginBase.cppIPluginBase implementation
 IPlugPluginBase.hBase class that contains plug-in info and state manipulation methods.
 IPlugProcessor.cppIPlugProcessor implementation
 IPlugProcessor.hThe base class for IPlug Audio Processing.
 IPlugQueue.hA lock-free SPSC queue used to transfer data between threads based on MLQueue.h by Randy Jones based on https://kjellkod.wordpress.com/2012/11/28/c-debt-paid-in-full-wait-free-lock-free-queue/.
 IPlugReaperVST2.h
 IPlugStructs.h
 IPlugSWELL.h
 IPlugTimer.cppTimer implementation
 IPlugTimer.hThis file includes classes for implementing timers - in order to get a regular callback on the main thread The interface is partially based on the api of Steinberg's timer.cpp from the VST3_SDK for compatibility, base/source/timer.cpp, so thanks to them
 IPlugUtilities.hUtility functions and macros
 IPlugVST2.cpp
 IPlugVST2.h
 IPlugVST3.cpp
 IPlugVST3.hVST3 base class for a non-distributed IPlug VST3 plug-in.
 IPlugVST3_Common.h
 IPlugVST3_Controller.cpp
 IPlugVST3_Controller.hVST3 Controller API-base class for a distributed IPlug VST3 plug-in.
 IPlugVST3_ControllerBase.h
 IPlugVST3_Defs.h
 IPlugVST3_Parameter.h
 IPlugVST3_Processor.cpp
 IPlugVST3_Processor.hVST3 Processor API-base class for a distributed IPlug VST3 plug-in.
 IPlugVST3_ProcessorBase.cpp
 IPlugVST3_ProcessorBase.h
 IPlugVST3_View.h
 IPlugWAM.cpp
 IPlugWAM.h
 IPlugWeb.cpp
 IPlugWeb.h
 IPopupMenuControl.cppIPopupMenuControl implementation
 IPopupMenuControl.hA base control for a pop-up menu/drop-down list that stays within the bounds of the IGraphics context.
 IRTTextControl.hA control to display some text in the UI, driven by values in the RT audio thread.
 ISender.hISender is a utility class which can be used to defer data from the realtime audio processing and send it to the GUI for visualization.
 IShaderControl.hThis control allows you to draw to the UI via a shader written using the Skia shading language, which is similar to GLSL.
 ISkLottieControl.hA control that hosts a Lottie animation, via Skia's Skottie module https://skia.org/user/modules/skottie.
 ISkParagraphControl.hA control that demonstrates how to draw rich text using SkParagraph.
 ITextEntryControl.cppITextEntryControl implementation
 ITextEntryControl.hA Text entry widget drawn by IGraphics to optionally override platform text entries
 IVDisplayControl.hA control to display a rolling graphics of historical values.
 IVKeyboardControl.hVectorial keyboard control.
 IVMeterControl.hVectorial multi-channel capable meter control.
 IVMultiSliderControl.hA vectorial multi-slider control.
 IVNumberBoxControl.hA "meta control" for a number box with an Inc/Dec button It adds several child buttons.
 IVPresetManagerControl.hA "meta control" for a "preset manager" for disk-based preset files It adds several child buttons.
 IVScopeControl.hVectorial multi-channel capable oscilloscope control.
 IWebViewControl.hA control that allows the embedding of HTML UI inside an IGraphics context using a platform-native webview and bi-directional communication with that content NOTE: this control attaches a sub view on top of the IGraphics view, so it will render all content on-top The platform native webviews run in a separate process and communicate via IPC.
 main.m
 ReaperExt_include_in_plug_hdr.hIPlug ReaperExt header include Include this file in the main header for your reaper extension
 ReaperExt_include_in_plug_src.h
 ReaperExtBase.cpp
 ReaperExtBase.hReaper extension base class interface Include this file in the main header for your reaper extension
 TestAnimationControl.hControl to test animation.
 TestArcControl.hControl to test drawing arcs.
 TestBezierControl.hControl to test drawing bezier curves.
 TestBlendControl.hControl to test blend methods.
 TestColorControl.hControl to colors.
 TestControls.hInclude all the test controls
 TestCursorControl.hControl to test changing the platform cursor.
 TestDirBrowseControl.hControl to test IDirBrowseControlBase.
 TestDrawContextControl.hControl to test obtaining a drawing API (NanoVG, Skia, Canvas) context and using that API within an IControl.
 TestDropShadowControl.hControl to test layer drop shadows.
 TestFlexBoxControl.hControl to test IGraphicsFlexBox.
 TestFontControl.hControl to test drawing fonts.
 TestGesturesControl.hControl to test multi gesture recognizers.
 TestGFXLabel.hControl to display the graphics backend.
 TestGLControl.hControl to test Drawing in using OpenGL in supporting backends.
 TestGradientControl.hControl to test drawing gradients with path based drawing backends.
 TestImageControl.hControl to test drawing bitmaps.
 TestKeyboardControl.hControl to test keyboard input.
 TestLayerControl.hControl to test IGraphics layers.
 TestMaskControl.hControl to display the size of a region.
 TestMPSControl.h
 TestMPSControl.mm
 TestMultiPathControl.hControl to test drawing paths in path-based drawing backends.
 TestMultiTouchControl.hControl to test multi touch.
 TestPolyControl.hControl to test drawing polygons.
 TestShadowGradientControl.hControl to test drawing shadows with gradients.
 TestSizeControl.hControl to display the size of a region.
 TestSVGControl.hControl to test drawing SVGs.
 TestTextControl.hControl to test drawing text.
 TestTextOrientationControl.hControl to test drawing text with orientation.
 TestTextSizeControl.hControl to test drawing text with varying size.