►NDragAndDropHelpers | |
CDataObject | |
CDropSource | |
CEnumFORMATETC | |
CAPIBitmap | A base class interface for a bitmap abstraction around the different drawing back end bitmap representations |
CGFXLabelControl | Control to display the graphics backend |
CIAboutBoxControl | A "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 |
CIBButtonControl | A bitmap button/momentary switch control |
CIBitmap | User-facing bitmap abstraction that you use to manage bitmap data, independant of draw class/platform |
CIBitmapBase | A base interface to be combined with IControl for bitmap-based controls "IBControls", managing an IBitmap |
CIBitmapControl | A basic control to draw a bitmap, or one frame of a stacked bitmap depending on the current value |
CIBKnobControl | A bitmap knob/dial control that draws a frame from a stacked bitmap |
CIBKnobRotaterControl | A bitmap knob/dial control that rotates an image |
CIBlend | Used to manage composite/blend operations, independent of draw class/platform |
CIBMeterControl | A bitmap meter control, that can be used for VUMeters |
CIBSliderControl | A bitmap slider/fader control |
CIBSwitchControl | A bitmap switch control |
CIBTextControl | A control to display text using a monospace bitmap font |
CIBubbleControl | A 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 |
CIBufferSender | IBufferSender is a utility class which can be used to defer buffer data for sending to the GUI |
CIBusInfo | Used to manage information about a bus such as whether it's an input or output, channel count |
CIButtonControlBase | A base class for buttons/momentary switches - cannot be linked to parameters |
CIByteChunk | Manages a block of memory, for plug-in settings store/recall |
CIByteChunkReader | Helper class to maintain a read position whilst extracting data from an IByteChunk
|
CIByteGetter | A helper class for IByteChunk and IByteStream that avoids code duplication |
CIByteStream | Manages a non-owned block of memory, for receiving arbitrary message byte streams |
CICaptionControl | A control to display the textual representation of a parameter |
CIChannelData | Used to manage scratch buffers for each channel of I/O, which may involve converting from single to double precision |
CIColor | Used to manage color data, independent of draw class/platform |
CIColorPickerControl | A control for choosing a color |
CIColorStop | Used to represent a point/stop in a gradient |
CIContainerBase | IContainerBase 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 |
CIControl | The lowest level base class of an IGraphics control |
CICornerResizerControl | A control for resizing the plug-in window by clicking and dragging in the bottom right-hand corner This can be added with IGraphics::AttachCornerResizer() |
CIDirBrowseControlBase | An 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 |
CIEditableTextControl | A basic control to display some editable text |
CIEditorDelegate | This 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 |
CIFillOptions | Used to manage fill behaviour |
CIFlexBox | IFlexBox is a basic C++ helper for Yoga https://yogalayout.com |
CIFPSDisplayControl | Performance display meter, based on code from NanoVG This is a special control that lives outside the main IGraphics control stack |
CIGEditorDelegate | An editor delegate base class for a SOMETHING that uses IGraphics for it's UI |
CIGestureInfo | Used to describe a particular gesture |
CIGraphics | The lowest level base class of an IGraphics context |
►CIGraphicsCanvas | IGraphics draw class HTML5 canvas |
CBitmap | |
CIGraphicsIOS | IGraphics platform class for IOS |
CIGraphicsLinux | IGraphics platform class for linux |
CIGraphicsLiveEdit | A 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() |
CIGraphicsMac | IGraphics platform class for macOS |
►CIGraphicsNanoVG | IGraphics draw class using NanoVG
|
CBitmap | |
►CIGraphicsSkia | IGraphics draw class using Skia |
CBitmap | |
►CIGraphicsWeb | IGraphics platform class for the web |
CFileFont | |
CMemoryFont | |
►CIGraphicsWin | IGraphics platform class for Windows |
CHFontHolder | |
CInstalledFont | |
CIKeyPress | Used for key press info, such as ASCII representation, virtual key (mapped to win32 codes) and modifiers |
CIKnobControlBase | A base class for knob/dial controls, to handle mouse action and Sender |
CILambdaControl | A control that can be specialised with a lambda function, for quick experiments without making a custom IControl |
CILayer | An abstraction that is used to store a temporary raster image/framebuffer |
CILEDControl | Glowing LED control |
CIMatrix | Used to store transformation matrices |
CIMidiMsg | Encapsulates a MIDI message and provides helper functions |
CIMidiQueue | A class to help with queuing timestamped MIDI messages |
CIMouseInfo | Used to group mouse coordinates with mouse modifier information |
CIMouseMod | Used to manage mouse modifiers i.e |
CIMultiLineTextControl | A basic control to display some text that needs to span multiple lines |
►CIMultiTouchControlBase | A base class for controls that can do do multitouch |
CTrackedTouch | |
CIOConfig | An IOConfig is used to store bus info for each input/output configuration defined in the channel io string |
CIPanelControl | A basic control to fill a rectangle with a color or gradient |
►CIParam | IPlug's parameter class |
CShape | Base struct for parameter shaping |
CShapeExp | Exponential parameter shaping |
CShapeLinear | Linear parameter shaping |
CShapePowCurve | PowCurve parameter shaping |
CIPattern | Used to store pattern information for gradients |
►CIPeakAvgSender | IPeakAvgSender 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 |
CEnvelopeFollower | |
CIPeakSender | IPeakSender 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 |
CIPlatformViewControl | A control that let's you embed a HWND, UIView or NSView inside an IGraphics UI |
CIPLUG_AUVIEWCONTROLLER | |
CIPlugAAX | AAX API base class for an IPlug plug-in |
CIPlugAPIBase | The base class of an IPlug plug-in, which interacts with the different plug-in APIs |
CIPlugAPP | Standalone application base class for an IPlug plug-in |
►CIPlugAPPHost | A class that hosts an IPlug as a standalone app and provides Audio/Midi I/O |
CAppState | Used to manage changes to app i/o |
CIPlugAU | AudioUnit v2 API base class for an IPlug plug-in |
CIPlugAUFactory | AudioUnit v2 Factory Class Template |
CIPlugAUv3 | AudioUnit v3 API base class for an IPlug plug-in |
CIPluginBase | Base class that contains plug-in info and state manipulation methods |
CIPlugProcessor | The base class for IPlug Audio Processing |
CIPlugQueue | A 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/ |
CIPlugReaperVST2 | Reaper specific VST2.4 API base class for an IPlug plug-in |
CIPlugVST2 | VST2.4 API base class for an IPlug plug-in |
CIPlugVST3 | VST3 base class for a non-distributed IPlug VST3 plug-in |
CIPlugVST3BypassParameter | VST3 bypass parameter helper |
CIPlugVST3Controller | VST3 Controller API-base class for a distributed IPlug VST3 plug-in |
CIPlugVST3ControllerBase | Shared VST3 controller code |
CIPlugVST3PresetParameter | VST3 preset parameter helper |
CIPlugVST3Processor | VST3 Processor API-base class for a distributed IPlug VST3 plug-in |
CIPlugVST3ProcessorBase | Shared VST3 processor code |
CIPlugVST3State | Shared VST3 State management code |
CIPlugWAM | WebAudioModule (WAM) API base class |
CIPlugWeb | This is used for the UI "editor" - controller side of a WAM or remote editors that communicate with desktop iPlug plug-ins via web sockets |
►CIPopupMenu | A class for setting the contents of a pop up menu |
CItem | A class to specify an item of a pop up menu |
CIPopupMenuControl | A base control for a pop-up menu/drop-down list that stays within the bounds of the IGraphics context |
CIPreset | A struct used for specifying baked-in factory presets |
CIRECT | Used to manage a rectangular area, independent of draw class/platform |
CIRECTList | Used to manage a list of rectangular areas and optimize them for drawing to the screen |
CIRTTextControl | A control to display some text in the UI, driven by values in the RT audio thread |
CISender | ISender is a utility class which can be used to defer data from the realtime audio processing and send it to the GUI for visualization |
CISenderData | ISenderData is used to represent a typed data packet, that may contain values for multiple channels |
CIShaderControl | This control allows you to draw to the UI via a shader written using the Skia shading language, which is similar to GLSL |
CIShadow | Used to specify properties of a drop-shadow to a layer |
CISkLottieControl | A control that hosts a Lottie animation, via Skia's Skottie module https://skia.org/user/modules/skottie |
CISkParagraphControl | A control that demonstrates how to draw rich text using SkParagraph |
CISliderControlBase | A base class for slider/fader controls, to handle mouse action and Sender |
CIStrokeOptions | Used to manage stroke behaviour for path based drawing back ends |
CISVG | User-facing SVG abstraction that you use to manage SVG data ISVG doesn't actually own the image data |
CISVGButtonControl | A vector button/momentary switch control which shows an SVG image |
CISVGControl | A basic control to draw an SVG image to the screen |
CISVGKnobControl | A vector knob/dial control which rotates an SVG image |
CISVGSliderControl | A Slider control with and SVG for track and handle |
CISVGSwitchControl | A vector switch control which shows one of multiple SVG states |
CISVGToggleControl | A vector toggle switch control which shows an SVG image |
CISwitchControlBase | A base class for switch controls |
CISysEx | A struct for dealing with SysEx messages |
CIText | IText is used to manage font and text/text entry style for a piece of text on the UI, independent of draw class/platform |
CITextControl | A basic control to display some text |
CITextEntryControl | A Text entry widget drawn by IGraphics |
CITextToggleControl | A control to toggle between two text strings on click |
CITimeInfo | Encapsulates information about the host transport state |
CIURLControl | A control to show a clickable URL, that changes color after clicking |
CIVBakedPresetManagerControl | A "meta control" for a "preset manager" for "baked in" factory presets It adds several child buttons |
CIVButtonControl | A vector button/momentary switch control |
CIVColorSpec | Contains a set of 9 colors used to theme IVControls |
CIVColorSwatchControl | A control to show a color swatch of up to 9 colors |
CIVDiskPresetManagerControl | A "meta control" for a "preset manager" for disk-based preset files It adds several child buttons |
CIVDisplayControl | A control to display a rolling graphics of historical values |
CIVec2 | Encapsulate an xy point in one struct |
CIVectorBase | A 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! |
CIVGroupControl | A control to draw a rectangle around a named IControl group |
CIVKeyboardControl | Vectorial keyboard control |
CIVKnobControl | A vector knob control drawn using graphics primitives |
CIVLabelControl | A vector label control that can display text with a shadow |
►CIVLEDMeterControl | Vectorial multi-channel capable meter control with segmented LEDs, log response |
CLEDRange | LED Range comprises info for a range of LED segments |
CIVMenuButtonControl | A vector button that pops up a menu |
CIVMeterControl | Vectorial multi-channel capable meter control, linear or log response |
CIVMultiSliderControl | A vectorial multi-slider control |
CIVMultiToggleControl | A vectorial multi-toggle control, could be used for a trigger in a step sequencer or tarnce gate |
CIVNumberBoxControl | A "meta control" for a number box with an Inc/Dec button It adds several child buttons if buttons = true |
CIVPanelControl | A panel control which can be styled with emboss etc |
CIVPeakAvgMeterControl | Vectorial multi-channel capable meter control, with log response, held-peaks and filled-average/rms Requires an IPeakAvgSender |
►CIVPlotControl | A vector plot to display functions and waveforms |
CPlot | Groups a plot function and color |
CIVRadioButtonControl | A vector "radio buttons" switch control |
CIVRangeSliderControl | A vector range slider control, with two handles |
CIVScopeControl | Vectorial multi-channel capable oscilloscope control |
CIVSliderControl | A vector slider control |
CIVSlideSwitchControl | A switch with a slide animation when clicked |
CIVStyle | A struct encapsulating a set of properties used to configure IVControls |
CIVSwitchControl | A vector switch control |
CIVTabbedPagesControl | A control to manage tabbed pages of sub controls Basic usage example: |
CIVTabPage | A control used as the base class for a tabbed page of subcontrols |
CIVTabSwitchControl | A vector "tab" multi switch control |
CIVToggleControl | A vector toggle control |
CIVTrackControlBase | A 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 |
CIVXYPadControl | A vector XY Pad slider control |
CIWebViewControl | A 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 |
CIWheelControl | Vectorial "wheel" control for pitchbender/modwheel |
CParamTuple | In certain cases we need to queue parameter changes for transferral between threads |
CPlaceHolder | A control to use as a placeholder during development |
CReaperAction | Helper struct for registering Reaper Actions |
CReaperExtBase | Reaper extension base class interface |
CSysExData | This structure is used when queueing Sysex messages |
CTestAnimationControl | Control to test animation |
CTestArcControl | Control to test drawing arcs |
CTestBezierControl | Control to test drawing bezier curves |
CTestBlendControl | Control to test blend methods |
CTestColorControl | Control to colors |
CTestCursorControl | Control to test changing the platform cursor |
CTestCustomShaderControl | Control to test IGraphicsNanoVG with Metal Shaders |
CTestDirBrowseControl | Control to test IDirBrowseControlBase |
CTestDragAndDropControl | Control to test dropping single and multiple files |
CTestDrawContextControl | Control to test obtaining a drawing API (NanoVG, Skia, Canvas) context and using that API within an IControl |
CTestDropShadowControl | Control to test layer drop shadows |
CTestFlexBoxControl | Control to test IGraphicsFlexBox |
CTestFontControl | Control to test drawing fonts |
CTestGesturesControl | Control to test multi gesture recognizers |
CTestGradientControl | Control to test drawing gradients with path based drawing backends |
CTestImageControl | Control to test drawing bitmaps |
CTestKeyboardControl | Control to test keyboard input |
CTestLayerControl | Control to test IGraphics layers |
CTestMaskControl | Control to display the size of a region |
CTestMPSControl | Control to test IGraphicsNanoVG with Metal Performance Shaders |
CTestMTControl | Control to test multi touch |
CTestMultiPathControl | Control to test drawing paths in path-based drawing backends |
CTestPolyControl | Control to test drawing polygons |
CTestShadowGradientControl | Control to test drawing shadows with gradients |
CTestSizeControl | Control to display the size of a region |
CTestSVGControl | Control to test drawing SVGs |
CTestTextControl | Control to test drawing text |
CTestTextOrientationControl | Control to test drawing text with orientation |
CTestTextSizeControl | Control to test drawing text with varying size |
CTimer | Base class for timer |