VST 3 Interfaces VST 3.7
SDK for developing VST plug-in
|
Audio processing interface: Vst::IAudioProcessor. More...
#include <ivstaudioprocessor.h>
Public Member Functions | |
virtual tresult | setBusArrangements (SpeakerArrangement *inputs, int32 numIns, SpeakerArrangement *outputs, int32 numOuts)=0 |
Try to set (host => plug-in) a wanted arrangement for inputs and outputs. More... | |
virtual tresult | getBusArrangement (BusDirection dir, int32 index, SpeakerArrangement &arr)=0 |
Gets the bus arrangement for a given direction (input/output) and index. More... | |
virtual tresult | canProcessSampleSize (int32 symbolicSampleSize)=0 |
Asks if a given sample size is supported see SymbolicSampleSizes. More... | |
virtual uint32 | getLatencySamples ()=0 |
Gets the current Latency in samples. More... | |
virtual tresult | setupProcessing (ProcessSetup &setup)=0 |
Called in disable state (setActive not called with true) before setProcessing is called and processing will begin. More... | |
virtual tresult | setProcessing (TBool state)=0 |
Informs the plug-in about the processing state. More... | |
virtual tresult | process (ProcessData &data)=0 |
The Process call, where all information (parameter changes, event, audio buffer) are passed. More... | |
virtual uint32 | getTailSamples ()=0 |
Gets tail size in samples. More... | |
Public Member Functions inherited from FUnknown | |
virtual tresult | queryInterface (const TUID _iid, void **obj)=0 |
virtual uint32 | addRef ()=0 |
virtual uint32 | release ()=0 |
Static Public Attributes | |
static const FUID | iid |
Static Public Attributes inherited from FUnknown | |
static const FUID | iid |
Audio processing interface: Vst::IAudioProcessor.
This interface must always be supported by audio processing plug-ins.
|
pure virtual |
Try to set (host => plug-in) a wanted arrangement for inputs and outputs.
The host should always deliver the same number of input and output busses than the plug-in needs (see IComponent::getBusCount). The plug-in has 3 possibilities to react on this setBusArrangements call:
inputs | pointer to an array of /ref SpeakerArrangement |
numIns | number of /ref SpeakerArrangement in inputs array |
outputs | pointer to an array of /ref SpeakerArrangement |
numOuts | number of /ref SpeakerArrangement in outputs array Returns kResultTrue when Arrangements is supported and is the current one, else returns kResultFalse. |
Implemented in AudioEffect, and SingleComponentEffect.
|
pure virtual |
Gets the bus arrangement for a given direction (input/output) and index.
Note: IComponent::getBusInfo () and IAudioProcessor::getBusArrangement () should be always return the same information about the busses arrangements.
Implemented in AudioEffect, and SingleComponentEffect.
Asks if a given sample size is supported see SymbolicSampleSizes.
Implemented in AudioEffect, and SingleComponentEffect.
|
pure virtual |
Gets the current Latency in samples.
The returned value defines the group delay or the latency of the plug-in. For example, if the plug-in internally needs to look in advance (like compressors) 512 samples then this plug-in should report 512 as latency. If during the use of the plug-in this latency change, the plug-in has to inform the host by using IComponentHandler::restartComponent (kLatencyChanged), this could lead to audio playback interruption because the host has to recompute its internal mixer delay compensation. Note that for player live recording this latency should be zero or small.
Implemented in AudioEffect, and SingleComponentEffect.
|
pure virtual |
Called in disable state (setActive not called with true) before setProcessing is called and processing will begin.
Implemented in AudioEffect, and SingleComponentEffect.
Informs the plug-in about the processing state.
This will be called before any process calls start with true and after with false. Note that setProcessing (false) may be called after setProcessing (true) without any process calls. Note this function could be called in the UI or in Processing Thread, thats why the plug-in should only light operation (no memory allocation or big setup reconfiguration), this could be used to reset some buffers (like Delay line or Reverb). The host has to be sure that it is called only when the plug-in is enable (setActive (true) was called).
Implemented in AudioEffect, and SingleComponentEffect.
|
pure virtual |
The Process call, where all information (parameter changes, event, audio buffer) are passed.
Implemented in SingleComponentEffect, and AudioEffect.
|
pure virtual |
Gets tail size in samples.
For example, if the plug-in is a Reverb plug-in and it knows that the maximum length of the Reverb is 2sec, then it has to return in getTailSamples() (in VST2 it was getGetTailSize ()): 2*sampleRate. This information could be used by host for offline processing, process optimization and downmix (avoiding signal cut (clicks)). It should return:
Implemented in AudioEffect, and SingleComponentEffect.
|
static |