iPlug2 - C++ Audio Plug-in Framework
Loading...
Searching...
No Matches
Classes
IPlugEditorDelegate.h File Reference
#include <cassert>
#include <cstring>
#include <stdint.h>
#include "ptrlist.h"
#include "IPlugParameter.h"
#include "IPlugMidi.h"
#include "IPlugStructs.h"

Go to the source code of this file.

Classes

class  IEditorDelegate
 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. More...
 

Detailed Description

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.

This is the lowest level base class in iPlug 2 that facilitates distributing editor and DSP parts for plug-in formats that need that, but also allowing non-distributed plug-ins to use the same API. In distributed plug-in architectures certain methods will be overridden in order to pipe messages to various places, using whatever mechanism that plug-in format requires. In this case, there are actually two classes that implement the IEditorDelegate interface, but only one which is directly connected to the user interface (IGraphics etc.), the other being connected to a class inheriting IPlugAPIBase that deals with processing audio, see for example IPlugVST3Processor

Note on method names:

NOTES: A parameter VALUE is a floating point number linked to an integer parameter index. TODO: Normalised ? A parameter OBJECT (IParam) is an instance of the IParam class as defined in IPlugParameter.h A parameter OBJECT is also referred to as a "param", in method names such as IEditorDelegate::GetParam(int paramIdx) and IControl::GetParam().

Definition in file IPlugEditorDelegate.h.