iPlug2 - C++ Audio Plug-in Framework
Loading...
Searching...
No Matches
Class List
Here are the classes, structs, unions and interfaces with brief descriptions:
[detail level 12]
 NDragAndDropHelpers
 CAPIBitmapA base class interface for a bitmap abstraction around the different drawing back end bitmap representations
 CGFXLabelControlControl to display the graphics backend
 CIAboutBoxControlA "meta control" which you can attach child controls to display an about box, or preferences panel When you attach the control to the IGraphics context, it should be added last so it sits on top of other controls, and set hidden
 CIBButtonControlA bitmap button/momentary switch control
 CIBitmapUser-facing bitmap abstraction that you use to manage bitmap data, independant of draw class/platform
 CIBitmapBaseA base interface to be combined with IControl for bitmap-based controls "IBControls", managing an IBitmap
 CIBitmapControlA basic control to draw a bitmap, or one frame of a stacked bitmap depending on the current value
 CIBKnobControlA bitmap knob/dial control that draws a frame from a stacked bitmap
 CIBKnobRotaterControlA bitmap knob/dial control that rotates an image
 CIBlendUsed to manage composite/blend operations, independent of draw class/platform
 CIBMeterControlA bitmap meter control, that can be used for VUMeters
 CIBSliderControlA bitmap slider/fader control
 CIBSwitchControlA bitmap switch control
 CIBTextControlA control to display text using a monospace bitmap font
 CIBubbleControlA 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
 CIBufferSenderIBufferSender is a utility class which can be used to defer buffer data for sending to the GUI
 CIBusInfoUsed to manage information about a bus such as whether it's an input or output, channel count
 CIButtonControlBaseA base class for buttons/momentary switches - cannot be linked to parameters
 CIByteChunkManages a block of memory, for plug-in settings store/recall
 CIByteChunkReaderHelper class to maintain a read position whilst extracting data from an IByteChunk
 CIByteGetterA helper class for IByteChunk and IByteStream that avoids code duplication
 CIByteStreamManages a non-owned block of memory, for receiving arbitrary message byte streams
 CICaptionControlA control to display the textual representation of a parameter
 CIChannelDataUsed to manage scratch buffers for each channel of I/O, which may involve converting from single to double precision
 CIColorUsed to manage color data, independent of draw class/platform
 CIColorPickerControlA control for choosing a color
 CIColorStopUsed to represent a point/stop in a gradient
 CIContainerBaseIContainerBase allows a control to nest sub controls and it clips the drawing of those subcontrols Inheritors can add child controls by overriding OnAttached() and calling AddChildControl(), or passing in an AttachFunc lambda to the construtor
 CIControlThe lowest level base class of an IGraphics control
 CICornerResizerControlA control for resizing the plug-in window by clicking and dragging in the bottom right-hand corner This can be added with IGraphics::AttachCornerResizer()
 CIDirBrowseControlBaseAn abstract IControl base class that you can inherit from in order to make a control that pops up a menu to browse files Optionally with a specific extension
 CIEditableTextControlA basic control to display some editable text
 CIEditorDelegateThis 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
 CIFillOptionsUsed to manage fill behaviour
 CIFlexBoxIFlexBox is a basic C++ helper for Yoga https://yogalayout.com
 CIFPSDisplayControlPerformance display meter, based on code from NanoVG This is a special control that lives outside the main IGraphics control stack
 CIGEditorDelegateAn editor delegate base class for a SOMETHING that uses IGraphics for it's UI
 CIGestureInfoUsed to describe a particular gesture
 CIGraphicsThe lowest level base class of an IGraphics context
 CIGraphicsCanvasIGraphics draw class HTML5 canvas
 CIGraphicsIOSIGraphics platform class for IOS
 CIGraphicsLinuxIGraphics platform class for linux
 CIGraphicsLiveEditA 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()
 CIGraphicsMacIGraphics platform class for macOS
 CIGraphicsNanoVGIGraphics draw class using NanoVG
 CIGraphicsSkiaIGraphics draw class using Skia
 CIGraphicsWebIGraphics platform class for the web
 CIGraphicsWinIGraphics platform class for Windows
 CIKeyPressUsed for key press info, such as ASCII representation, virtual key (mapped to win32 codes) and modifiers
 CIKnobControlBaseA base class for knob/dial controls, to handle mouse action and Sender
 CILambdaControlA control that can be specialised with a lambda function, for quick experiments without making a custom IControl
 CILayerAn abstraction that is used to store a temporary raster image/framebuffer
 CILEDControlGlowing LED control
 CIMatrixUsed to store transformation matrices
 CIMidiMsgEncapsulates a MIDI message and provides helper functions
 CIMidiQueueA class to help with queuing timestamped MIDI messages
 CIMouseInfoUsed to group mouse coordinates with mouse modifier information
 CIMouseModUsed to manage mouse modifiers i.e
 CIMultiLineTextControlA basic control to display some text that needs to span multiple lines
 CIMultiTouchControlBaseA base class for controls that can do do multitouch
 CIOConfigAn IOConfig is used to store bus info for each input/output configuration defined in the channel io string
 CIPanelControlA basic control to fill a rectangle with a color or gradient
 CIParamIPlug's parameter class
 CIPatternUsed to store pattern information for gradients
 CIPeakAvgSenderIPeakAvgSender is a utility class which can be used to defer peak & avg/RMS data from sample buffers for sending to the GUI It also features an envelope follower to control meter ballistics
 CIPeakSenderIPeakSender is a utility class which can be used to defer peak data from sample buffers for sending to the GUI It sends the average peak value over a certain time window
 CIPlatformViewControlA control that let's you embed a HWND, UIView or NSView inside an IGraphics UI
 CIPLUG_AUVIEWCONTROLLER
 CIPlugAAXAAX API base class for an IPlug plug-in
 CIPlugAPIBaseThe base class of an IPlug plug-in, which interacts with the different plug-in APIs
 CIPlugAPPStandalone application base class for an IPlug plug-in
 CIPlugAPPHostA class that hosts an IPlug as a standalone app and provides Audio/Midi I/O
 CIPlugAUAudioUnit v2 API base class for an IPlug plug-in
 CIPlugAUFactoryAudioUnit v2 Factory Class Template
 CIPlugAUv3AudioUnit v3 API base class for an IPlug plug-in
 CIPluginBaseBase class that contains plug-in info and state manipulation methods
 CIPlugProcessorThe base class for IPlug Audio Processing
 CIPlugQueueA 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/
 CIPlugReaperVST2Reaper specific VST2.4 API base class for an IPlug plug-in
 CIPlugVST2VST2.4 API base class for an IPlug plug-in
 CIPlugVST3VST3 base class for a non-distributed IPlug VST3 plug-in
 CIPlugVST3BypassParameterVST3 bypass parameter helper
 CIPlugVST3ControllerVST3 Controller API-base class for a distributed IPlug VST3 plug-in
 CIPlugVST3ControllerBaseShared VST3 controller code
 CIPlugVST3PresetParameterVST3 preset parameter helper
 CIPlugVST3ProcessorVST3 Processor API-base class for a distributed IPlug VST3 plug-in
 CIPlugVST3ProcessorBaseShared VST3 processor code
 CIPlugVST3StateShared VST3 State management code
 CIPlugWAMWebAudioModule (WAM) API base class
 CIPlugWebThis is used for the UI "editor" - controller side of a WAM or remote editors that communicate with desktop iPlug plug-ins via web sockets
 CIPopupMenuA class for setting the contents of a pop up menu
 CIPopupMenuControlA base control for a pop-up menu/drop-down list that stays within the bounds of the IGraphics context
 CIPresetA struct used for specifying baked-in factory presets
 CIRECTUsed to manage a rectangular area, independent of draw class/platform
 CIRECTListUsed to manage a list of rectangular areas and optimize them for drawing to the screen
 CIRTTextControlA control to display some text in the UI, driven by values in the RT audio thread
 CISenderISender is a utility class which can be used to defer data from the realtime audio processing and send it to the GUI for visualization
 CISenderDataISenderData is used to represent a typed data packet, that may contain values for multiple channels
 CIShaderControlThis control allows you to draw to the UI via a shader written using the Skia shading language, which is similar to GLSL
 CIShadowUsed to specify properties of a drop-shadow to a layer
 CISkLottieControlA control that hosts a Lottie animation, via Skia's Skottie module https://skia.org/user/modules/skottie
 CISkParagraphControlA control that demonstrates how to draw rich text using SkParagraph
 CISliderControlBaseA base class for slider/fader controls, to handle mouse action and Sender
 CIStrokeOptionsUsed to manage stroke behaviour for path based drawing back ends
 CISVGUser-facing SVG abstraction that you use to manage SVG data ISVG doesn't actually own the image data
 CISVGButtonControlA vector button/momentary switch control which shows an SVG image
 CISVGControlA basic control to draw an SVG image to the screen
 CISVGKnobControlA vector knob/dial control which rotates an SVG image
 CISVGSliderControlA Slider control with and SVG for track and handle
 CISVGSwitchControlA vector switch control which shows one of multiple SVG states
 CISVGToggleControlA vector toggle switch control which shows an SVG image
 CISwitchControlBaseA base class for switch controls
 CISysExA struct for dealing with SysEx messages
 CITextIText is used to manage font and text/text entry style for a piece of text on the UI, independent of draw class/platform
 CITextControlA basic control to display some text
 CITextEntryControlA Text entry widget drawn by IGraphics
 CITextToggleControlA control to toggle between two text strings on click
 CITimeInfoEncapsulates information about the host transport state
 CIURLControlA control to show a clickable URL, that changes color after clicking
 CIVBakedPresetManagerControlA "meta control" for a "preset manager" for "baked in" factory presets It adds several child buttons
 CIVButtonControlA vector button/momentary switch control
 CIVColorSpecContains a set of 9 colors used to theme IVControls
 CIVColorSwatchControlA control to show a color swatch of up to 9 colors
 CIVDiskPresetManagerControlA "meta control" for a "preset manager" for disk-based preset files It adds several child buttons
 CIVDisplayControlA control to display a rolling graphics of historical values
 CIVec2Encapsulate an xy point in one struct
 CIVectorBaseA base interface to be combined with IControl for vectorial controls "IVControls", in order for them to share a common style If you need more flexibility, you're on your own!
 CIVGroupControlA control to draw a rectangle around a named IControl group
 CIVKeyboardControlVectorial keyboard control
 CIVKnobControlA vector knob control drawn using graphics primitives
 CIVLabelControlA vector label control that can display text with a shadow
 CIVLEDMeterControlVectorial multi-channel capable meter control with segmented LEDs, log response
 CIVMenuButtonControlA vector button that pops up a menu
 CIVMeterControlVectorial multi-channel capable meter control, linear or log response
 CIVMultiSliderControlA vectorial multi-slider control
 CIVMultiToggleControlA vectorial multi-toggle control, could be used for a trigger in a step sequencer or tarnce gate
 CIVNumberBoxControlA "meta control" for a number box with an Inc/Dec button It adds several child buttons if buttons = true
 CIVPanelControlA panel control which can be styled with emboss etc
 CIVPeakAvgMeterControlVectorial multi-channel capable meter control, with log response, held-peaks and filled-average/rms Requires an IPeakAvgSender
 CIVPlotControlA vector plot to display functions and waveforms
 CIVRadioButtonControlA vector "radio buttons" switch control
 CIVRangeSliderControlA vector range slider control, with two handles
 CIVScopeControlVectorial multi-channel capable oscilloscope control
 CIVSliderControlA vector slider control
 CIVSlideSwitchControlA switch with a slide animation when clicked
 CIVStyleA struct encapsulating a set of properties used to configure IVControls
 CIVSwitchControlA vector switch control
 CIVTabbedPagesControlA control to manage tabbed pages of sub controls Basic usage example:
 CIVTabPageA control used as the base class for a tabbed page of subcontrols
 CIVTabSwitchControlA vector "tab" multi switch control
 CIVToggleControlA vector toggle control
 CIVTrackControlBaseA base class for mult-strip/track controls, such as multi-sliders, meters Track refers to the channel/strip, Step refers to cross-axis steps, e.g
 CIVXYPadControlA vector XY Pad slider control
 CIWebViewControlA 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
 CIWheelControlVectorial "wheel" control for pitchbender/modwheel
 CParamTupleIn certain cases we need to queue parameter changes for transferral between threads
 CPlaceHolderA control to use as a placeholder during development
 CReaperActionHelper struct for registering Reaper Actions
 CReaperExtBaseReaper extension base class interface
 CSysExDataThis structure is used when queueing Sysex messages
 CTestAnimationControlControl to test animation
 CTestArcControlControl to test drawing arcs
 CTestBezierControlControl to test drawing bezier curves
 CTestBlendControlControl to test blend methods
 CTestColorControlControl to colors
 CTestCursorControlControl to test changing the platform cursor
 CTestCustomShaderControlControl to test IGraphicsNanoVG with Metal Shaders
 CTestDirBrowseControlControl to test IDirBrowseControlBase
 CTestDragAndDropControlControl to test dropping single and multiple files
 CTestDrawContextControlControl to test obtaining a drawing API (NanoVG, Skia, Canvas) context and using that API within an IControl
 CTestDropShadowControlControl to test layer drop shadows
 CTestFlexBoxControlControl to test IGraphicsFlexBox
 CTestFontControlControl to test drawing fonts
 CTestGesturesControlControl to test multi gesture recognizers
 CTestGradientControlControl to test drawing gradients with path based drawing backends
 CTestImageControlControl to test drawing bitmaps
 CTestKeyboardControlControl to test keyboard input
 CTestLayerControlControl to test IGraphics layers
 CTestMaskControlControl to display the size of a region
 CTestMPSControlControl to test IGraphicsNanoVG with Metal Performance Shaders
 CTestMTControlControl to test multi touch
 CTestMultiPathControlControl to test drawing paths in path-based drawing backends
 CTestPolyControlControl to test drawing polygons
 CTestShadowGradientControlControl to test drawing shadows with gradients
 CTestSizeControlControl to display the size of a region
 CTestSVGControlControl to test drawing SVGs
 CTestTextControlControl to test drawing text
 CTestTextOrientationControlControl to test drawing text with orientation
 CTestTextSizeControlControl to test drawing text with varying size
 CTimerBase class for timer