The base class of an IPlug plug-in, which interacts with the different plug-in APIs.  
 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...
 
 | 
|  |