iPlug2 - C++ Audio Plug-in Framework
|
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. More...
#include <IPlugWeb.h>
Public Member Functions | |
IPlugWeb (const InstanceInfo &info, const Config &config) | |
void | SendParameterValueFromUI (int paramIdx, double value) override |
void | SendMidiMsgFromUI (const IMidiMsg &msg) override |
void | SendSysexMsgFromUI (const ISysEx &msg) override |
void | SendArbitraryMsgFromUI (int msgTag, int ctrlTag=kNoTag, int dataSize=0, const void *pData=nullptr) override |
virtual void | OnIdle () override |
Plug-ins that override OnIdle() must call the base class! More... | |
![]() | |
IPlugAPIBase (Config config, EAPI plugAPI) | |
IPlugAPIBase (const IPlugAPIBase &)=delete | |
IPlugAPIBase & | operator= (const IPlugAPIBase &)=delete |
virtual bool | CompareState (const uint8_t *pIncomingState, int startPos) const |
Override this method to implement a custom comparison of incoming state data with your plug-ins state data, in order to support the ProTools compare light when using custom state chunks. More... | |
virtual bool | OnHostRequestingAboutBox () |
virtual bool | OnHostRequestingProductHelp () |
virtual void | OnHostIdentified () |
Implement this to do something specific when IPlug becomes aware of the particular host that is hosting the plug-in. More... | |
virtual void | OnHostRequestingImportantParameters (int count, WDL_TypedBuf< int > &results) |
Called by AUv3 plug-ins to get the "overview parameters". More... | |
virtual bool | OnHostRequestingSupportedViewConfiguration (int width, int height) |
Called by AUv3 plug-in hosts to query support for multiple UI sizes. More... | |
virtual void | OnHostSelectedViewConfiguration (int width, int height) |
Called by some AUv3 plug-in hosts when a particular UI size is selected. More... | |
virtual bool | GetMidiNoteText (int noteNumber, char *str) const |
Override this method to provide custom text linked to MIDI note numbers in API classes that support that (VST2) Typically this might be used for a drum machine plug-in, in order to label a certainty "kick drum" etc. More... | |
virtual void * | GetAAXViewInterface () |
You need to implement this method if you are not using IGraphics and you want to support AAX's view interface functionality (special shortcuts to add automation for a parameter etc.) More... | |
virtual void | OnIdle () |
Override this method to get an "idle"" call on the main thread. More... | |
void | SetParameterValue (int paramIdx, double normalizedValue) |
SetParameterValue is called from the UI in the middle of a parameter change gesture (possibly via delegate) in order to update a parameter's value. More... | |
virtual void | GetTrackColor (int &r, int &g, int &b) |
Get the color of the track that the plug-in is inserted on. More... | |
virtual void | GetTrackName (WDL_String &str) |
Get the name of the track that the plug-in is inserted on. More... | |
virtual int | GetTrackIndex () |
Get the index of the track that the plug-in is inserted on. More... | |
virtual void | GetTrackNamespace (WDL_String &str) |
Get the namespace of the track that the plug-in is inserted on. More... | |
virtual int | GetTrackNamespaceIndex () |
Get the namespace index of the track that the plug-in is inserted on. More... | |
virtual void | DirtyParametersFromUI () override |
In a distributed VST3 or WAM plugin, if you modify the parameters on the UI side (e.g. More... | |
virtual void | SendParameterValueFromAPI (int paramIdx, double value, bool normalized) |
This is called from the plug-in API class in order to update UI controls linked to plug-in parameters, prior to calling OnParamChange() NOTE: It may be called on the high priority audio thread. More... | |
void | SetHost (const char *host, int version) |
Called to set the name of the current host, if known (calls on to HostSpecificInit() and OnHostIdentified()). More... | |
virtual void | HostSpecificInit () |
This method is implemented in some API classes, in order to do specific initialisation for particular problematic hosts. More... | |
void | BeginInformHostOfParamChangeFromUI (int paramIdx) override |
void | EndInformHostOfParamChangeFromUI (int paramIdx) override |
bool | EditorResizeFromUI (int viewWidth, int viewHeight, bool needsPlatformResize) override |
void | SendParameterValueFromUI (int paramIdx, double normalisedValue) override |
void | SendMidiMsgFromUI (const IMidiMsg &msg) override |
void | SendSysexMsgFromUI (const ISysEx &msg) override |
void | SendArbitraryMsgFromUI (int msgTag, int ctrlTag=kNoTag, int dataSize=0, const void *pData=nullptr) override |
void | DeferMidiMsg (const IMidiMsg &msg) override |
void | DeferSysexMsg (const ISysEx &msg) override |
void | CreateTimer () |
Called by the API class to create the timer that pumps the parameter/message queues. More... | |
![]() | |
IPluginBase (int nParams, int nPresets) | |
IPluginBase (const IPluginBase &)=delete | |
IPluginBase & | operator= (const IPluginBase &)=delete |
const char * | GetPluginName () const |
int | GetPluginVersion (bool decimal) const |
Get the plug-in version number. More... | |
void | GetPluginVersionStr (WDL_String &str) const |
Gets the plug-in version as a string. More... | |
const char * | GetMfrName () const |
Get the manufacturer name as a CString. More... | |
const char * | GetProductName () const |
Get the product name as a CString. More... | |
int | GetUniqueID () const |
int | GetMfrID () const |
EHost | GetHost () const |
void | GetHostStr (WDL_String &str) const |
Get the host name (name is normalized) More... | |
void | GetRawHostStr (WDL_String &str) const |
Get raw host name (as it is reported from the host) More... | |
int | GetHostVersion (bool decimal) const |
Get the host version number as an integer. More... | |
void | GetHostVersionStr (WDL_String &str) const |
Get the host version number as a string. More... | |
EAPI | GetAPI () const |
const char * | GetAPIStr () const |
const char * | GetArchStr () const |
void | GetBuildInfoStr (WDL_String &str, const char *date, const char *time) const |
Get the build date of the plug-in and architecture/api details in one string. More... | |
bool | HasUI () const |
bool | GetHostResizeEnabled () const |
const char * | GetBundleID () const |
const char * | GetAppGroupID () const |
int | NParamGroups () const |
int | AddParamGroup (const char *name) |
Called to add a parameter group name, when a unique group name is discovered. More... | |
const char * | GetParamGroupName (int idx) const |
Get the parameter group name as a particular index. More... | |
virtual void | InformHostOfParameterDetailsChange () |
Implemented by the API class, call this if you update parameter labels and hopefully the host should update it's displays (not applicable to all APIs) More... | |
bool | DoesStateChunks () const |
bool | SerializeParams (IByteChunk &chunk) const |
Serializes the current double precision floating point, non-normalised values (IParam::mValue) of all parameters, into a binary byte chunk. More... | |
int | UnserializeParams (const IByteChunk &chunk, int startPos) |
Unserializes double precision floating point, non-normalised values from a byte chunk into mParams. More... | |
virtual bool | SerializeState (IByteChunk &chunk) const |
Override this method to serialize custom state data, if your plugin does state chunks. More... | |
virtual int | UnserializeState (const IByteChunk &chunk, int startPos) |
Override this method to unserialize custom state data, if your plugin does state chunks. More... | |
virtual bool | SerializeVST3CtrlrState (IByteChunk &chunk) const |
VST3 ONLY! - THIS IS ONLY INCLUDED FOR COMPATIBILITY - NOONE ELSE SHOULD NEED IT! More... | |
virtual int | UnserializeVST3CtrlrState (const IByteChunk &chunk, int startPos) |
VST3 ONLY! - THIS IS ONLY INCLUDED FOR COMPATIBILITY - NOONE ELSE SHOULD NEED IT! More... | |
int | GetCurrentPresetIdx () const |
Get the index of the current, active preset. More... | |
void | SetCurrentPresetIdx (int idx) |
Set the index of the current, active preset. More... | |
virtual void | InformHostOfPresetChange () |
Implemented by the API class, called by the UI (etc) when the plug-in initiates a program/preset change (not applicable to all APIs) More... | |
IPreset * | GetPreset (int idx) |
Get a ptr to a factory preset @ param idx The index number of the preset you are referring to. More... | |
void | ModifyCurrentPreset (const char *name=0) |
This method should update the current preset with current values NOTE: This is only relevant for VST2 plug-ins, which is the only format to have the notion of banks? More... | |
int | NPresets () const |
Gets the number of factory presets. More... | |
bool | RestorePreset (int idx) |
Restore a preset by index. More... | |
bool | RestorePreset (const char *name) |
Restore a preset by name. More... | |
const char * | GetPresetName (int idx) const |
Get the name a preset. More... | |
void | CopyPreset (IPreset *pSrc, int destIdx, bool copyname=false) |
Copy source preset to preset at index. More... | |
void | MakeDefaultPreset (const char *name=0, int nPresets=1) |
This method can be used to initialize baked-in factory presets with the default parameter values. More... | |
void | MakePreset (const char *name,...) |
Create a baked-in factory preset, specifiying parameter values sequentially usage: MakePreset(name, param1, param2, ..., paramN) See DumpMakePresetSrc() which is a utility that can be used to create the code for MakePreset() calls. More... | |
void | MakePresetFromNamedParams (const char *name, int nParamsNamed,...) |
Create a baked-in factory preset, specifiying parameter values with a list of parameter index and value pairs usage: MakePresetFromNamedParams(name, nParamsNamed, paramEnum1, paramVal1, paramEnum2, paramVal2, ..., paramEnumN, paramVal2) See DumpMakePresetFromNamedParamsSrc() which is a utility that can be used to create the code for MakePreset() calls nParamsNamed may be less than the total number of params. More... | |
void | MakePresetFromChunk (const char *name, IByteChunk &chunk) |
Creates a preset from an IByteChunk containing serialized data. More... | |
void | MakePresetFromBlob (const char *name, const char *blob, int sizeOfChunk) |
Creates a preset from a base64 encoded CString. More... | |
void | PruneUninitializedPresets () |
[AUV2 only] Removes any presets that weren't initialized More... | |
virtual void | OnPresetsModified () |
[VST2 only] Called when the preset name is changed by the host More... | |
void | EnsureDefaultPreset () |
[VST2 only] Called to fill uninitialzed presets More... | |
bool | SerializePresets (IByteChunk &chunk) const |
[VST2 only] Called when the VST2 host calls effGetChunk for a bank * More... | |
int | UnserializePresets (const IByteChunk &chunk, int startPos) |
[VST2 only] Called when the VST2 host calls effSetChunk for a bank * More... | |
void | DumpMakePresetSrc (const char *file) const |
Writes a call to MakePreset() for the current preset to a new text file. More... | |
void | DumpMakePresetFromNamedParamsSrc (const char *file, const char *paramEnumNames[]) const |
Writes a call to MakePresetFromNamedParams() for the current preset to a new text file. More... | |
void | DumpPresetBlob (const char *file) const |
Writes a call to MakePresetFromBlob() for the current preset to a new text file. More... | |
bool | SavePresetAsFXP (const char *file) const |
Save current state as a VST2 format preset. More... | |
bool | SaveBankAsFXB (const char *file) const |
Save current bank as a VST2 format bank [VST2 only]. More... | |
bool | LoadPresetFromFXP (const char *file) |
Load VST2 format preset. More... | |
bool | LoadBankFromFXB (const char *file) |
Load VST2 format bank [VST2 only]. More... | |
void | InitParamRange (int startIdx, int endIdx, int countStart, const char *nameFmtStr, double defaultVal, double minVal, double maxVal, double step, const char *label="", int flags=0, const char *group="", const IParam::Shape &shape=IParam::ShapeLinear(), IParam::EParamUnit unit=IParam::kUnitCustom, IParam::DisplayFunc displayFunc=nullptr) |
Initialise a range of parameters simultaneously. More... | |
void | CloneParamRange (int cloneStartIdx, int cloneEndIdx, int startIdx, const char *searchStr="", const char *replaceStr="", const char *newGroup="") |
Clone a range of parameters, optionally doing a string substitution on the parameter name. More... | |
void | ForParamInRange (int startIdx, int endIdx, std::function< void(int paramIdx, IParam ¶m)> func) |
Modify a range of parameters with a lamda function. More... | |
void | ForParamInGroup (const char *paramGroup, std::function< void(int paramIdx, IParam ¶m)> func) |
Modify a parameter group simulataneously. More... | |
void | CopyParamValues (int startIdx, int destIdx, int nParams) |
Copy a range of parameter values. More... | |
void | CopyParamValues (const char *inGroup, const char *outGroup) |
Copy a range of parameter values for a parameter group. More... | |
void | RandomiseParamValues () |
Randomise all parameters. More... | |
void | RandomiseParamValues (int startIdx, int endIdx) |
Randomise parameter values within a range. More... | |
void | RandomiseParamValues (const char *paramGroup) |
Randomise parameter values for a parameter group. More... | |
void | DefaultParamValues () |
Set all parameters to their default values. More... | |
void | DefaultParamValues (int startIdx, int endIdx) |
Default parameter values within a range. More... | |
void | DefaultParamValues (const char *paramGroup) |
Default parameter values for a parameter group. More... | |
void | PrintParamValues () |
Default parameter values for a parameter group More... | |
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.
Definition at line 25 of file IPlugWeb.h.
IPlugWeb::IPlugWeb | ( | const InstanceInfo & | info, |
const Config & | config | ||
) |
Definition at line 27 of file IPlugWeb.cpp.
|
inlineoverridevirtual |
Plug-ins that override OnIdle() must call the base class!
Reimplemented from IPlugAPIBase.
Definition at line 39 of file IPlugWeb.h.
|
override |
Definition at line 103 of file IPlugWeb.cpp.
|
override |
Definition at line 56 of file IPlugWeb.cpp.
|
override |
Definition at line 38 of file IPlugWeb.cpp.
|
override |
Definition at line 76 of file IPlugWeb.cpp.