iPlug2 - C++ Audio Plug-in Framework
Loading...
Searching...
No Matches
Public Member Functions | List of all members
IPlugWeb Class Reference

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>

Inheritance diagram for IPlugWeb:
[legend]

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...
 
- Public Member Functions inherited from IPlugAPIBase
 IPlugAPIBase (Config config, EAPI plugAPI)
 
 IPlugAPIBase (const IPlugAPIBase &)=delete
 
IPlugAPIBaseoperator= (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...
 
- Public Member Functions inherited from IPluginBase
 IPluginBase (int nParams, int nPresets)
 
 IPluginBase (const IPluginBase &)=delete
 
IPluginBaseoperator= (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 as a CString. 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...
 
IPresetGetPreset (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 containging 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 &param)> func)
 Modify a range of parameters with a lamda function. More...
 
void ForParamInGroup (const char *paramGroup, std::function< void(int paramIdx, IParam &param)> 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...
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ IPlugWeb()

IPlugWeb::IPlugWeb ( const InstanceInfo &  info,
const Config &  config 
)

Definition at line 27 of file IPlugWeb.cpp.

Member Function Documentation

◆ OnIdle()

virtual void IPlugWeb::OnIdle ( )
inlineoverridevirtual

Plug-ins that override OnIdle() must call the base class!

Reimplemented from IPlugAPIBase.

Definition at line 39 of file IPlugWeb.h.

◆ SendArbitraryMsgFromUI()

void IPlugWeb::SendArbitraryMsgFromUI ( int  msgTag,
int  ctrlTag = kNoTag,
int  dataSize = 0,
const void *  pData = nullptr 
)
override

Definition at line 103 of file IPlugWeb.cpp.

◆ SendMidiMsgFromUI()

void IPlugWeb::SendMidiMsgFromUI ( const IMidiMsg msg)
override

Definition at line 56 of file IPlugWeb.cpp.

◆ SendParameterValueFromUI()

void IPlugWeb::SendParameterValueFromUI ( int  paramIdx,
double  value 
)
override

Definition at line 38 of file IPlugWeb.cpp.

◆ SendSysexMsgFromUI()

void IPlugWeb::SendSysexMsgFromUI ( const ISysEx msg)
override

Definition at line 76 of file IPlugWeb.cpp.


The documentation for this class was generated from the following files: