Creates the editor view of the Plug-in, currently only "editor" is supported, see \ref ViewType. The life time of the editor view will never exceed the life time of this controller instance.
Returns the normalized value of the parameter associated to the paramID.
Gets for a given paramID and normalized value its associated string representation.
Gets for a given paramID and string its normalized value.
Gets for a given program list ID, program index and attributeId the associated attribute value.
Gets the count of Program List.
Gets for a given index the Program List Info.
Gets for a given program list ID and program index its program name.
Gets the PitchName for a given program list ID, program index and pitch. If PitchNames are changed the Plug-in should inform the host with IUnitHandler::notifyProgramListChange.
Gets the current selected unit.
Gets the according unit if there is an unambiguous relation between a channel or a bus and a unit. This method mainly is intended to find out which unit is related to a given MIDI input channel.
Gets UnitInfo for a given index in the flat list of unit.
Returns kResultTrue if the given program index of a given program list ID supports PitchNames.
The host passes a number of interfaces as context to initialize the Plug-in class. @note Extensive memory allocations etc. should be performed in this method rather than in the class' constructor! If the method does NOT return kResultOk, the object is released immediately. In this case terminate is not called!
Returns for a given paramID and a normalized value its plain representation (for example 90 for 90db - see \ref vst3AutomationIntro).
Returns for a given paramID and a plain value its normalized value. (see \ref vst3AutomationIntro)
Sets a new selected unit.
Gets from host a handler.
Sets the normalized value to the parameter associated to the paramID. The controller must never pass this value-change back to the host via the IComponentHandler. It should update the according GUI element(s) only!
Receives a preset data stream. - If the component supports program list data (IProgramListData), the destination of the data stream is the program specified by list-Id and program index (first and second parameter) - If the component supports unit data (IUnitData), the destination is the unit specified by the first parameter - in this case parameter programIndex is < 0).
This function is called before the Plug-in is unloaded and can be used for cleanups. You have to release all references to any host application interfaces.
Try to set (from host) a predefined arrangement for inputs and outputs. The host should always deliver the same number of input and output buses than the Plug-in needs (see \ref IComponent::getBusCount). The Plug-in returns kResultFalse if wanted arrangements are not supported. If the Plug-in accepts these arrangements, it should modify its buses to match the new arrangements (asked by the host with IComponent::getInfo () or IAudioProcessor::getBusArrangement ()) and then return kResultTrue. If the Plug-in does not accept these arrangements, but can adapt its current arrangements (according to the wanted ones), it should modify its buses arrangements and return kResultFalse.
Gets the bus arrangement for a given direction (input/output) and index. Note: IComponent::getInfo () and IAudioProcessor::getBusArrangement () should be always return the same information about the buses arrangements.
Asks if a given sample size is supported see \ref SymbolicSampleSizes.
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.
Called in disable state (not active) before processing will begin.
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. In this call the Plug-in should do only light operation (no memory allocation or big setup reconfiguration), this could be used to reset some buffers (like Delay line or Reverb).
The Process call, where all information (parameter changes, event, audio buffer) are passed.
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: - kNoTail when no tail - x * sampleRate when x Sec tail. - kInfiniteTail when infinite tail.
Called before initializing the component to get information about the controller class.
Called before 'initialize' to set the component usage (optional). See \ref IoModes
Called after the Plug-in is initialized. See \ref MediaTypes, BusDirections
Called after the Plug-in is initialized. See \ref MediaTypes, BusDirections
Retrieves routing information (to be implemented when more than one regular input or output bus exists). The inInfo always refers to an input bus while the returned outInfo must refer to an output bus!
Called upon (de-)activating a bus in the host application. The Plug-in should only processed an activated bus, the host could provide less see \ref AudioBusBuffers in the process call (see \ref IAudioProcessor::process) if last buses are not activated
Activates / deactivates the component.
Sets complete state of component.
Retrieves complete state of component.
Receives the component state.
Sets the controller state.
Gets the controller state.
Returns the number of parameters exported.
Gets for a given index the parameter information.
Gets for a given paramID and normalized value its associated string representation.
Gets for a given paramID and string its normalized value.
Returns for a given paramID and a normalized value its plain representation (for example 90 for 90db - see \ref vst3AutomationIntro).
Returns for a given paramID and a plain value its normalized value. (see \ref vst3AutomationIntro)
Returns the normalized value of the parameter associated to the paramID.
Sets the normalized value to the parameter associated to the paramID. The controller must never pass this value-change back to the host via the IComponentHandler. It should update the according GUI element(s) only!
Gets from host a handler.
Creates the editor view of the Plug-in, currently only "editor" is supported, see \ref ViewType. The life time of the editor view will never exceed the life time of this controller instance.
Host could set the Knob Mode for the Plug-in. Return kResultFalse means not supported mode. \see KnobModes.
Host could ask to open the Plug-in help (could be: opening a PDF document or link to a web page). The host could call it with onlyCheck set to true for testing support of open Help. Return kResultFalse means not supported function.
Host could ask to open the Plug-in about box. The host could call it with onlyCheck set to true for testing support of open AboutBox. Return kResultFalse means not supported function.
Returns the flat count of units.
Gets UnitInfo for a given index in the flat list of unit.
Gets the count of Program List.
Gets for a given index the Program List Info.
Gets for a given program list ID and program index its program name.
Gets for a given program list ID, program index and attributeId the associated attribute value.
Returns kResultTrue if the given program index of a given program list ID supports PitchNames.
Gets the PitchName for a given program list ID, program index and pitch. If PitchNames are changed the Plug-in should inform the host with IUnitHandler::notifyProgramListChange.
Gets the current selected unit.
Sets a new selected unit.
Gets the according unit if there is an unambiguous relation between a channel or a bus and a unit. This method mainly is intended to find out which unit is related to a given MIDI input channel.
Receives a preset data stream. - If the component supports program list data (IProgramListData), the destination of the data stream is the program specified by list-Id and program index (first and second parameter) - If the component supports unit data (IUnitData), the destination is the unit specified by the first parameter - in this case parameter programIndex is < 0).
Gets an (preferred) associated ParamID for a given Input Event Bus index, channel and MIDI Controller. @paramin busIndex - index of Input Event Bus @paramin channel - channel of the bus @paramin midiControllerNumber - see \ref ControllerNumbers for expected values (could be bigger than 127) @paramin id - return the associated ParamID to the given midiControllerNumber