VST3Client

Undocumented in source.
version(VST3)
class VST3Client : IAudioProcessor , IComponent , IEditController , IEditController2 , IUnitInfo , IMidiMapping {}

Constructors

this
this(Client client)
Undocumented in source.

Destructor

~this
~this()
Undocumented in source.

Members

Functions

activateBus
tresult activateBus(MediaType type, BusDirection dir, int32 index, TBool state)
Undocumented in source. Be warned that the author may not have intended to support it.
canProcessSampleSize
tresult canProcessSampleSize(int32 symbolicSampleSize)
Undocumented in source. Be warned that the author may not have intended to support it.
createView
IPlugView createView(FIDString name)

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.

getBusArrangement
tresult getBusArrangement(BusDirection dir, int32 index, SpeakerArrangement arr)
Undocumented in source. Be warned that the author may not have intended to support it.
getBusCount
int32 getBusCount(MediaType type, BusDirection dir)
Undocumented in source. Be warned that the author may not have intended to support it.
getBusInfo
tresult getBusInfo(MediaType type, BusDirection dir, int32 index, BusInfo bus)
Undocumented in source. Be warned that the author may not have intended to support it.
getControllerClassId
tresult getControllerClassId(TUID* classId)
Undocumented in source. Be warned that the author may not have intended to support it.
getLatencySamples
uint32 getLatencySamples()
Undocumented in source. Be warned that the author may not have intended to support it.
getMidiControllerAssignment
tresult getMidiControllerAssignment(int busIndex, short channel, CtrlNumber midiControllerNumber, ParamID id)
Undocumented in source. Be warned that the author may not have intended to support it.
getParamNormalized
ParamValue getParamNormalized(ParamID id)

Returns the normalized value of the parameter associated to the paramID.

getParamStringByValue
tresult getParamStringByValue(ParamID id, ParamValue valueNormalized, String128* string_)

Gets for a given paramID and normalized value its associated string representation.

getParamValueByString
tresult getParamValueByString(ParamID id, TChar* string_, ParamValue valueNormalized)

Gets for a given paramID and string its normalized value.

getParameterCount
int32 getParameterCount()
Undocumented in source. Be warned that the author may not have intended to support it.
getParameterInfo
tresult getParameterInfo(int32 paramIndex, ParameterInfo info)
Undocumented in source. Be warned that the author may not have intended to support it.
getProgramInfo
tresult getProgramInfo(ProgramListID listId, int32 programIndex, const(wchar)* attributeId, String128* attributeValue)

Gets for a given program list ID, program index and attributeId the associated attribute value.

getProgramListCount
int32 getProgramListCount()

Gets the count of Program List.

getProgramListInfo
tresult getProgramListInfo(int32 listIndex, ProgramListInfo info)

Gets for a given index the Program List Info.

getProgramName
tresult getProgramName(ProgramListID listId, int32 programIndex, String128* name)

Gets for a given program list ID and program index its program name.

getProgramPitchName
tresult getProgramPitchName(ProgramListID listId, int32 programIndex, int16 midiPitch, String128* 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.

getRoutingInfo
tresult getRoutingInfo(RoutingInfo inInfo, RoutingInfo outInfo)
Undocumented in source. Be warned that the author may not have intended to support it.
getSelectedUnit
UnitID getSelectedUnit()

Gets the current selected unit.

getState
tresult getState(IBStream state)
Undocumented in source. Be warned that the author may not have intended to support it.
getStateController
tresult getStateController(IBStream state)
Undocumented in source. Be warned that the author may not have intended to support it.
getTailSamples
uint32 getTailSamples()
Undocumented in source. Be warned that the author may not have intended to support it.
getUnitByBus
tresult getUnitByBus(MediaType type, BusDirection dir, int32 busIndex, int32 channel, UnitID unitId)

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.

getUnitCount
int32 getUnitCount()
Undocumented in source. Be warned that the author may not have intended to support it.
getUnitInfo
tresult getUnitInfo(int32 unitIndex, UnitInfo info)

Gets UnitInfo for a given index in the flat list of unit.

hasProgramPitchNames
tresult hasProgramPitchNames(ProgramListID listId, int32 programIndex)

Returns kResultTrue if the given program index of a given program list ID supports PitchNames.

initialize
tresult initialize(FUnknown context)

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!

normalizedParamToPlain
ParamValue normalizedParamToPlain(ParamID id, ParamValue valueNormalized)

Returns for a given paramID and a normalized value its plain representation (for example 90 for 90db - see \ref vst3AutomationIntro).

openAboutBox
tresult openAboutBox(TBool onlyCheck)
Undocumented in source. Be warned that the author may not have intended to support it.
openHelp
tresult openHelp(TBool onlyCheck)
Undocumented in source. Be warned that the author may not have intended to support it.
plainParamToNormalized
ParamValue plainParamToNormalized(ParamID id, ParamValue plainValue)

Returns for a given paramID and a plain value its normalized value. (see \ref vst3AutomationIntro)

process
tresult process(ProcessData data)
Undocumented in source. Be warned that the author may not have intended to support it.
selectUnit
tresult selectUnit(UnitID unitId)

Sets a new selected unit.

setActive
tresult setActive(TBool state)
Undocumented in source. Be warned that the author may not have intended to support it.
setBusArrangements
tresult setBusArrangements(SpeakerArrangement* inputs, int32 numIns, SpeakerArrangement* outputs, int32 numOuts)
Undocumented in source. Be warned that the author may not have intended to support it.
setComponentHandler
tresult setComponentHandler(IComponentHandler handler)

Gets from host a handler.

setComponentState
tresult setComponentState(IBStream state)
Undocumented in source. Be warned that the author may not have intended to support it.
setIoMode
tresult setIoMode(IoMode mode)
Undocumented in source. Be warned that the author may not have intended to support it.
setKnobMode
tresult setKnobMode(KnobMode mode)
Undocumented in source. Be warned that the author may not have intended to support it.
setParamNormalized
tresult setParamNormalized(ParamID id, ParamValue value)

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!

setParamValue
void setParamValue(ParamID id, ParamValue value)
Undocumented in source. Be warned that the author may not have intended to support it.
setProcessing
tresult setProcessing(TBool state)
Undocumented in source. Be warned that the author may not have intended to support it.
setState
tresult setState(IBStream state)
Undocumented in source. Be warned that the author may not have intended to support it.
setStateController
tresult setStateController(IBStream state)
Undocumented in source. Be warned that the author may not have intended to support it.
setUnitProgramData
tresult setUnitProgramData(int32 listOrUnitId, int32 programIndex, IBStream data)

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).

setupProcessing
tresult setupProcessing(ProcessSetup setup)
Undocumented in source. Be warned that the author may not have intended to support it.
terminate
tresult terminate()

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.

updateTimeInfo
void updateTimeInfo(ProcessContext* context)
Undocumented in source. Be warned that the author may not have intended to support it.

Mixins

__anonymous
mixin QUERY_INTERFACE_SPECIAL_CASE_IUNKNOWN!(IAudioProcessor, IComponent, IEditController, IEditController2, IPluginBase, IUnitInfo, IMidiMapping)
Undocumented in source.
__anonymous
mixin IMPLEMENT_REFCOUNT
Undocumented in source.

Mixed In Members

From mixin QUERY_INTERFACE_SPECIAL_CASE_IUNKNOWN!(IAudioProcessor, IComponent, IEditController, IEditController2, IPluginBase, IUnitInfo, IMidiMapping)

queryInterface
tresult queryInterface(TUID _iid, void** obj)
Undocumented in source. Be warned that the author may not have intended to support it.

From mixin IMPLEMENT_REFCOUNT

addRef
uint addRef()
Undocumented in source. Be warned that the author may not have intended to support it.
release
uint release()
Undocumented in source. Be warned that the author may not have intended to support it.
_funknownRefCount
shared(int) _funknownRefCount;
Undocumented in source.

Inherited Members

From IAudioProcessor

setBusArrangements
tresult setBusArrangements(SpeakerArrangement* inputs, int32 numIns, SpeakerArrangement* outputs, int32 numOuts)

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.

getBusArrangement
tresult getBusArrangement(BusDirection dir, int32 index, SpeakerArrangement arr)

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.

canProcessSampleSize
tresult canProcessSampleSize(int32 symbolicSampleSize)

Asks if a given sample size is supported see \ref SymbolicSampleSizes.

getLatencySamples
uint32 getLatencySamples()

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.

setupProcessing
tresult setupProcessing(ProcessSetup setup)

Called in disable state (not active) before processing will begin.

setProcessing
tresult setProcessing(TBool state)

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).

process
tresult process(ProcessData data)

The Process call, where all information (parameter changes, event, audio buffer) are passed.

getTailSamples
uint32 getTailSamples()

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.

iid
TUID iid;
Undocumented in source.

From IComponent

getControllerClassId
tresult getControllerClassId(TUID* classId)

Called before initializing the component to get information about the controller class.

setIoMode
tresult setIoMode(IoMode mode)

Called before 'initialize' to set the component usage (optional). See \ref IoModes

getBusCount
int32 getBusCount(MediaType type, BusDirection dir)

Called after the Plug-in is initialized. See \ref MediaTypes, BusDirections

getBusInfo
tresult getBusInfo(MediaType type, BusDirection dir, int32 index, BusInfo bus)

Called after the Plug-in is initialized. See \ref MediaTypes, BusDirections

getRoutingInfo
tresult getRoutingInfo(RoutingInfo inInfo, RoutingInfo outInfo)

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!

activateBus
tresult activateBus(MediaType type, BusDirection dir, int32 index, TBool state)

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

setActive
tresult setActive(TBool state)

Activates / deactivates the component.

setState
tresult setState(IBStream state)

Sets complete state of component.

getState
tresult getState(IBStream state)

Retrieves complete state of component.

iid
TUID iid;
Undocumented in source.

From IEditController

setComponentState
tresult setComponentState(IBStream state)

Receives the component state.

setStateController
tresult setStateController(IBStream state)

Sets the controller state.

getStateController
tresult getStateController(IBStream state)

Gets the controller state.

getParameterCount
int32 getParameterCount()

Returns the number of parameters exported.

getParameterInfo
tresult getParameterInfo(int32 paramIndex, ParameterInfo info)

Gets for a given index the parameter information.

getParamStringByValue
tresult getParamStringByValue(ParamID id, ParamValue valueNormalized, String128* string_)

Gets for a given paramID and normalized value its associated string representation.

getParamValueByString
tresult getParamValueByString(ParamID id, TChar* string_, ParamValue valueNormalized)

Gets for a given paramID and string its normalized value.

normalizedParamToPlain
ParamValue normalizedParamToPlain(ParamID id, ParamValue valueNormalized)

Returns for a given paramID and a normalized value its plain representation (for example 90 for 90db - see \ref vst3AutomationIntro).

plainParamToNormalized
ParamValue plainParamToNormalized(ParamID id, ParamValue plainValue)

Returns for a given paramID and a plain value its normalized value. (see \ref vst3AutomationIntro)

getParamNormalized
ParamValue getParamNormalized(ParamID id)

Returns the normalized value of the parameter associated to the paramID.

setParamNormalized
tresult setParamNormalized(ParamID id, ParamValue value)

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!

setComponentHandler
tresult setComponentHandler(IComponentHandler handler)

Gets from host a handler.

createView
IPlugView createView(FIDString name)

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.

iid
TUID iid;
Undocumented in source.

From IEditController2

setKnobMode
tresult setKnobMode(KnobMode mode)

Host could set the Knob Mode for the Plug-in. Return kResultFalse means not supported mode. \see KnobModes.

openHelp
tresult openHelp(TBool onlyCheck)

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.

openAboutBox
tresult openAboutBox(TBool onlyCheck)

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.

iid
TUID iid;
Undocumented in source.

From IUnitInfo

getUnitCount
int32 getUnitCount()

Returns the flat count of units.

getUnitInfo
tresult getUnitInfo(int32 unitIndex, UnitInfo info)

Gets UnitInfo for a given index in the flat list of unit.

getProgramListCount
int32 getProgramListCount()

Gets the count of Program List.

getProgramListInfo
tresult getProgramListInfo(int32 listIndex, ProgramListInfo info)

Gets for a given index the Program List Info.

getProgramName
tresult getProgramName(ProgramListID listId, int32 programIndex, String128* name)

Gets for a given program list ID and program index its program name.

getProgramInfo
tresult getProgramInfo(ProgramListID listId, int32 programIndex, const(wchar)* attributeId, String128* attributeValue)

Gets for a given program list ID, program index and attributeId the associated attribute value.

hasProgramPitchNames
tresult hasProgramPitchNames(ProgramListID listId, int32 programIndex)

Returns kResultTrue if the given program index of a given program list ID supports PitchNames.

getProgramPitchName
tresult getProgramPitchName(ProgramListID listId, int32 programIndex, int16 midiPitch, String128* 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.

getSelectedUnit
UnitID getSelectedUnit()

Gets the current selected unit.

selectUnit
tresult selectUnit(UnitID unitId)

Sets a new selected unit.

getUnitByBus
tresult getUnitByBus(MediaType type, BusDirection dir, int32 busIndex, int32 channel, UnitID unitId)

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.

setUnitProgramData
tresult setUnitProgramData(int32 listOrUnitId, int32 programIndex, IBStream data)

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).

iid
TUID iid;
Undocumented in source.

From IMidiMapping

getMidiControllerAssignment
tresult getMidiControllerAssignment(int busIndex, short channel, CtrlNumber midiControllerNumber, ParamID id)

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

iid
TUID iid;
Undocumented in source.

Meta