VST 3 SDK VST 3.7 SDK for developing VST plug-in

Public Member Functions | Public Attributes | List of all members
SingleComponentEffect Class Reference
VST Implementation Helper Classes

Default implementation for a non-distributable Plug-in that combines processor and edit controller in one component. More...

`#include <vstsinglecomponenteffect.h>`

Inheritance diagram for SingleComponentEffect:

## Public Member Functions
| SingleComponentEffect ()
virtual | ~SingleComponentEffect ()
tresult | initialize (FUnknown *context) SMTG_OVERRIDE
tresult | terminate () SMTG_OVERRIDE
tresult | getControllerClassId (TUID) SMTG_OVERRIDE
tresult | setIoMode (IoMode) SMTG_OVERRIDE
int32 | getBusCount (MediaType type, BusDirection dir) SMTG_OVERRIDE
tresult | getBusInfo (MediaType type, BusDirection dir, int32 index, BusInfo &bus) SMTG_OVERRIDE
tresult | getRoutingInfo (RoutingInfo &, RoutingInfo &) SMTG_OVERRIDE
tresult | activateBus (MediaType type, BusDirection dir, int32 index, TBool state) SMTG_OVERRIDE
tresult | setActive (TBool) SMTG_OVERRIDE
tresult | setState (IBStream *) SMTG_OVERRIDE
tresult | getState (IBStream *) SMTG_OVERRIDE
AudioBus * | addAudioInput (const TChar *name, SpeakerArrangement arr, BusType busType=kMain, int32 flags=BusInfo::kDefaultActive)
AudioBus * | addAudioOutput (const TChar *name, SpeakerArrangement arr, BusType busType=kMain, int32 flags=BusInfo::kDefaultActive)
EventBus * | addEventInput (const TChar *name, int32 channels=16, BusType busType=kMain, int32 flags=BusInfo::kDefaultActive)
EventBus * | addEventOutput (const TChar *name, int32 channels=16, BusType busType=kMain, int32 flags=BusInfo::kDefaultActive)
tresult | removeAudioBusses ()
tresult | removeEventBusses ()
tresult | removeAllBusses ()
tresult | setBusArrangements (SpeakerArrangement *inputs, int32 numIns, SpeakerArrangement *outputs, int32 numOuts) SMTG_OVERRIDE
tresult | getBusArrangement (BusDirection dir, int32 index, SpeakerArrangement &arr) SMTG_OVERRIDE
tresult | canProcessSampleSize (int32 symbolicSampleSize) SMTG_OVERRIDE
uint32 | getLatencySamples () SMTG_OVERRIDE
tresult | setupProcessing (ProcessSetup &setup) SMTG_OVERRIDE
tresult | setProcessing (TBool) SMTG_OVERRIDE
tresult | process (ProcessData &) SMTG_OVERRIDE
uint32 | getTailSamples () SMTG_OVERRIDE
uint32 | getProcessContextRequirements () SMTG_OVERRIDE
| OBJ_METHODS (SingleComponentEffect, EditControllerEx1) tresult queryInterface(const TUID iid
Public Member Functions inherited from EditControllerEx1
| EditControllerEx1 ()
| ~EditControllerEx1 () override
tresult | terminate () SMTG_OVERRIDE
bool | addUnit (Unit *unit)
| Adds a given unit. More...
bool | addProgramList (ProgramList *list)
| Adds a given program list. More...
ProgramList * | getProgramList (ProgramListID listId) const
| Returns the ProgramList associated to a given listId. More...
tresult | notifyProgramListChange (ProgramListID listId, int32 programIndex=kAllProgramInvalid)
| Notifies the host about program list changes. More...
int32 | getUnitCount () SMTG_OVERRIDE
tresult | getUnitInfo (int32 unitIndex, UnitInfo &info) SMTG_OVERRIDE
int32 | getProgramListCount () SMTG_OVERRIDE
tresult | getProgramListInfo (int32 listIndex, ProgramListInfo &info) SMTG_OVERRIDE
tresult | getProgramName (ProgramListID listId, int32 programIndex, String128 name) SMTG_OVERRIDE
tresult | getProgramInfo (ProgramListID listId, int32 programIndex, CString attributeId, String128 attributeValue) SMTG_OVERRIDE
tresult | hasProgramPitchNames (ProgramListID listId, int32 programIndex) SMTG_OVERRIDE
tresult | getProgramPitchName (ProgramListID listId, int32 programIndex, int16 midiPitch, String128 name) SMTG_OVERRIDE
virtual tresult | setProgramName (ProgramListID listId, int32 programIndex, const String128 name)
UnitID | getSelectedUnit () SMTG_OVERRIDE
tresult | selectUnit (UnitID unitId) SMTG_OVERRIDE
tresult | getUnitByBus (MediaType, BusDirection, int32, int32, UnitID &) SMTG_OVERRIDE
tresult | setUnitProgramData (int32, int32, IBStream *) SMTG_OVERRIDE
virtual tresult | notifyUnitSelection ()
| Notifies the host about the selected Unit. More...
void | update (FUnknown *changedUnknown, int32 message) SMTG_OVERRIDE
Public Member Functions inherited from EditController
| EditController ()
tresult | setComponentState (IBStream *state) SMTG_OVERRIDE
tresult | setState (IBStream *state) SMTG_OVERRIDE
tresult | getState (IBStream *state) SMTG_OVERRIDE
int32 | getParameterCount () SMTG_OVERRIDE
tresult | getParameterInfo (int32 paramIndex, ParameterInfo &info) SMTG_OVERRIDE
tresult | getParamStringByValue (ParamID tag, ParamValue valueNormalized, String128 string) SMTG_OVERRIDE
tresult | getParamValueByString (ParamID tag, TChar *string, ParamValue &valueNormalized) SMTG_OVERRIDE
ParamValue | normalizedParamToPlain (ParamID tag, ParamValue valueNormalized) SMTG_OVERRIDE
ParamValue | plainParamToNormalized (ParamID tag, ParamValue plainValue) SMTG_OVERRIDE
ParamValue | getParamNormalized (ParamID tag) SMTG_OVERRIDE
tresult | setParamNormalized (ParamID tag, ParamValue value) SMTG_OVERRIDE
tresult | setComponentHandler (IComponentHandler *handler) SMTG_OVERRIDE
IPlugView * | createView (FIDString) SMTG_OVERRIDE
tresult | setKnobMode (KnobMode mode) SMTG_OVERRIDE
tresult | openHelp (TBool) SMTG_OVERRIDE
tresult | openAboutBox (TBool) SMTG_OVERRIDE
tresult | initialize (FUnknown *context) SMTG_OVERRIDE
tresult | terminate () SMTG_OVERRIDE
virtual tresult | beginEdit (ParamID tag)
| to be called before a serie of performEdit More...
virtual tresult | performEdit (ParamID tag, ParamValue valueNormalized)
| will inform the host about the value change More...
virtual tresult | endEdit (ParamID tag)
| to be called after a serie of performEdit More...
virtual tresult | startGroupEdit ()
| calls IComponentHandler2::startGroupEdit() if host supports it More...
virtual tresult | finishGroupEdit ()
| calls IComponentHandler2::finishGroupEdit() if host supports it More...
virtual void | editorDestroyed (EditorView *)
| called from EditorView if it was destroyed More...
virtual void | editorAttached (EditorView *)
| called from EditorView if it was attached to a parent More...
virtual void | editorRemoved (EditorView *)
| called from EditorView if it was removed from a parent More...
virtual Parameter * | getParameterObject (ParamID tag)
| Gets for a given tag the parameter object. More...
virtual tresult | getParameterInfoByTag (ParamID tag, ParameterInfo &info)
| Gets for a given tag the parameter information. More...
virtual tresult | setDirty (TBool state)
| Calls IComponentHandler2::setDirty (state) if host supports it. More...
virtual tresult | requestOpenEditor (FIDString name=ViewType::kEditor)
| Calls IComponentHandler2::requestOpenEditor (name) if host supports it. More...
IComponentHandler * | getComponentHandler () const
Public Member Functions inherited from ComponentBase
| ComponentBase ()
| ~ComponentBase () override
FUnknown * | getHostContext () const
| Returns the hostContext (set by the host during initialize call). More...
IConnectionPoint * | getPeer () const
| Returns the peer for the messaging communication (you can only use IConnectionPoint::notify for communicate between peers, do not try to cast peerConnection. More...
IMessage * | allocateMessage () const
| Allocates a message instance (do not forget to release it). More...
tresult | sendMessage (IMessage *message) const
| Sends the given message to the peer. More...
tresult | sendTextMessage (const char8 *text) const
| Sends a simple text message to the peer (max 255 characters). More...
tresult | sendMessageID (const char8 *messageID) const
| Sends a message with a given ID without any other payload. More...
virtual tresult | receiveText (const char8 *text)
| Receives a simple text message from the peer (max 255 characters). More...
tresult | initialize (FUnknown *context) SMTG_OVERRIDE
tresult | terminate () SMTG_OVERRIDE
tresult | connect (IConnectionPoint *other) SMTG_OVERRIDE
tresult | disconnect (IConnectionPoint *other) SMTG_OVERRIDE
tresult | notify (IMessage *message) SMTG_OVERRIDE
virtual tresult | initialize (FUnknown *context)=0
virtual tresult | terminate ()=0
Public Member Functions inherited from FUnknown
virtual tresult | queryInterface (const TUID _iid, void **obj)=0
virtual uint32 | addRef ()=0
virtual uint32 | release ()=0
virtual tresult | connect (IConnectionPoint *other)=0
virtual tresult | disconnect (IConnectionPoint *other)=0
virtual tresult | notify (IMessage *message)=0
virtual tresult | setComponentState (IBStream *state)=0
virtual tresult | setState (IBStream *state)=0
virtual tresult | getState (IBStream *state)=0
virtual int32 | getParameterCount ()=0
virtual tresult | getParameterInfo (int32 paramIndex, ParameterInfo &info)=0
virtual tresult | getParamStringByValue (ParamID id, ParamValue valueNormalized, String128 string)=0
virtual tresult | getParamValueByString (ParamID id, TChar *string, ParamValue &valueNormalized)=0
virtual ParamValue | normalizedParamToPlain (ParamID id, ParamValue valueNormalized)=0
virtual ParamValue | plainParamToNormalized (ParamID id, ParamValue plainValue)=0
virtual ParamValue | getParamNormalized (ParamID id)=0
virtual tresult | setParamNormalized (ParamID id, ParamValue value)=0
virtual tresult | setComponentHandler (IComponentHandler *handler)=0
virtual IPlugView * | createView (FIDString name)=0
virtual tresult | setKnobMode (KnobMode mode)=0
virtual tresult | openHelp (TBool onlyCheck)=0
virtual tresult | openAboutBox (TBool onlyCheck)=0
virtual int32 | getUnitCount ()=0
virtual tresult | getUnitInfo (int32 unitIndex, UnitInfo &info)=0
virtual int32 | getProgramListCount ()=0
virtual tresult | getProgramListInfo (int32 listIndex, ProgramListInfo &info)=0
virtual tresult | getProgramName (ProgramListID listId, int32 programIndex, String128 name)=0
virtual tresult | getProgramInfo (ProgramListID listId, int32 programIndex, CString attributeId, String128 attributeValue)=0
virtual tresult | hasProgramPitchNames (ProgramListID listId, int32 programIndex)=0
virtual tresult | getProgramPitchName (ProgramListID listId, int32 programIndex, int16 midiPitch, String128 name)=0
virtual UnitID | getSelectedUnit ()=0
virtual tresult | selectUnit (UnitID unitId)=0
virtual tresult | getUnitByBus (MediaType type, BusDirection dir, int32 busIndex, int32 channel, UnitID &unitId)=0
virtual tresult | setUnitProgramData (int32 listOrUnitId, int32 programIndex, IBStream *data)=0
virtual tresult | getControllerClassId (TUID classId)=0
virtual tresult | setIoMode (IoMode mode)=0
virtual int32 | getBusCount (MediaType type, BusDirection dir)=0
virtual tresult | getBusInfo (MediaType type, BusDirection dir, int32 index, BusInfo &bus)=0
virtual tresult | getRoutingInfo (RoutingInfo &inInfo, RoutingInfo &outInfo)=0
virtual tresult | activateBus (MediaType type, BusDirection dir, int32 index, TBool state)=0
virtual tresult | setActive (TBool state)=0
virtual tresult | setState (IBStream *state)=0
virtual tresult | getState (IBStream *state)=0
virtual tresult | setBusArrangements (SpeakerArrangement *inputs, int32 numIns, SpeakerArrangement *outputs, int32 numOuts)=0
virtual tresult | getBusArrangement (BusDirection dir, int32 index, SpeakerArrangement &arr)=0
virtual tresult | canProcessSampleSize (int32 symbolicSampleSize)=0
virtual uint32 | getLatencySamples ()=0
virtual tresult | setupProcessing (ProcessSetup &setup)=0
virtual tresult | setProcessing (TBool state)=0
virtual tresult | process (ProcessData &data)=0
virtual uint32 | getTailSamples ()=0
virtual uint32 | getProcessContextRequirements ()=0

## Public Attributes
void **obj | SMTG_OVERRIDE
REFCOUNT_METHODS(EditControllerEx1) protected ProcessSetup | processSetup
ProcessContextRequirements | processContextRequirements
BusList | audioInputs
BusList | audioOutputs
BusList | eventInputs
BusList | eventOutputs
Public Attributes inherited from EditControllerEx1
UnitVector | units
ProgramListVector | programLists
ProgramIndexMap | programIndexMap
UnitID | selectedUnit {kRootUnitId}
Public Attributes inherited from EditController
OBJ_METHODS(EditController, ComponentBase) DEFINE_INTERFACES DEF_INTERFACE(IEditController) DEF_INTERFACE(IEditController2) END_DEFINE_INTERFACES(ComponentBase) REFCOUNT_METHODS(ComponentBase) protected IPtr< IComponentHandler2 > | componentHandler2
ParameterContainer | parameters
Public Attributes inherited from ComponentBase
OBJ_METHODS(ComponentBase, FObject) DEFINE_INTERFACES DEF_INTERFACE(IPluginBase) DEF_INTERFACE(IConnectionPoint) END_DEFINE_INTERFACES(FObject) REFCOUNT_METHODS(FObject) protected IPtr< IConnectionPoint > | peerConnection
Public Attributes inherited from IProcessContextRequirements
| kNeedSystemTime
| kNeedContinousTimeSamples
| kNeedProjectTimeMusic
| kNeedBarPositionMusic
| kNeedCycleMusic
| kNeedSamplesToNextClock
| kNeedTempo
| kNeedTimeSignature
| kNeedChord
| kNeedFrameRate
| kNeedTransportState

## Additional Inherited Members
Public Types inherited from EditControllerEx1
using | ProgramIndexMap = (EditControllerEx1, EditController) DEFINE_INTERFACES DEF_INTERFACE(IUnitInfo) END_DEFINE_INTERFACES(EditController) REFCOUNT_METHODS(EditController) protected std::map< ProgramListID, ProgramListVector::size_type >
using | UnitVector = std::vector< IPtr< Unit > >
Public Types inherited from IProcessContextRequirements
enum | Flags
Static Public Member Functions inherited from EditController
static KnobMode | getHostKnobMode ()
| return host knob mode More...
Static Public Attributes inherited from EditController
static KnobMode | hostKnobMode = kCircularMode
Static Public Attributes inherited from IPluginBase
static const FUID | iid
Static Public Attributes inherited from FUnknown
static const FUID | iid
Static Public Attributes inherited from IConnectionPoint
static const FUID | iid
Static Public Attributes inherited from IEditController
static const FUID | iid
Static Public Attributes inherited from IEditController2
static const FUID | iid
Static Public Attributes inherited from IUnitInfo
static const FUID | iid
Static Public Attributes inherited from IComponent
static const FUID | iid
Static Public Attributes inherited from IAudioProcessor
static const FUID | iid
Static Public Attributes inherited from IProcessContextRequirements
static const FUID | iid

## Detailed Description

Default implementation for a non-distributable Plug-in that combines processor and edit controller in one component.

- [released: 3.0.2]

This can be used as base class for a VST 3 effect implementation in case that the standard way of defining two separate components would cause too many implementation difficulties:

- Cubase 4.2 is the first host that supports combined VST 3 Plug-ins
- Use this class only after giving the standard way of defining two components serious considerations!

## Constructor & Destructor Documentation

## ◆ SingleComponentEffect()

SingleComponentEffect | ( |  | ) |

## ◆ ~SingleComponentEffect()

~SingleComponentEffect | ( |  | ) |
| virtual

## Member Function Documentation

## ◆ initialize()

tresult initialize | ( | FUnknown * | context | ) |
| virtual

Implements IPluginBase.

## ◆ terminate()

tresult terminate | ( |  | ) |
| virtual

Reimplemented from EditControllerEx1.

## ◆ getControllerClassId()

tresult getControllerClassId | ( | TUID |  | ) |
| inline virtual

Implements IComponent.

## ◆ setIoMode()

tresult setIoMode | ( | IoMode |  | ) |
| inline virtual

Implements IComponent.

## ◆ getBusCount()

int32 getBusCount | ( | MediaType | type,
|  | BusDirection | dir
| ) |  |
| virtual

Implements IComponent.

## ◆ getBusInfo()

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

Implements IComponent.

## ◆ getRoutingInfo()

tresult getRoutingInfo | ( | RoutingInfo & | ,
|  | RoutingInfo & |
| ) |  |
| inline virtual

Implements IComponent.

## ◆ activateBus()

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

Implements IComponent.

## ◆ setActive()

tresult setActive | ( | TBool |  | ) |
| inline virtual

Implements IComponent.

## ◆ setState()

tresult setState | ( | IBStream * |  | ) |
| inline virtual

Implements IComponent.

## ◆ getState()

tresult getState | ( | IBStream * |  | ) |
| inline virtual

Implements IComponent.

## ◆ addAudioInput()

AudioBus * addAudioInput | ( | const TChar * | name,
|  | SpeakerArrangement | arr,
|  | BusType | busType = `kMain`,
|  | int32 | flags = `BusInfo::kDefaultActive`
| ) |  |

## ◆ addAudioOutput()

AudioBus * addAudioOutput | ( | const TChar * | name,
|  | SpeakerArrangement | arr,
|  | BusType | busType = `kMain`,
|  | int32 | flags = `BusInfo::kDefaultActive`
| ) |  |

## ◆ addEventInput()

EventBus * addEventInput | ( | const TChar * | name,
|  | int32 | channels = `16`,
|  | BusType | busType = `kMain`,
|  | int32 | flags = `BusInfo::kDefaultActive`
| ) |  |

## ◆ addEventOutput()

EventBus * addEventOutput | ( | const TChar * | name,
|  | int32 | channels = `16`,
|  | BusType | busType = `kMain`,
|  | int32 | flags = `BusInfo::kDefaultActive`
| ) |  |

## ◆ removeAudioBusses()

tresult removeAudioBusses | ( |  | ) |

## ◆ removeEventBusses()

tresult removeEventBusses | ( |  | ) |

## ◆ removeAllBusses()

tresult removeAllBusses | ( |  | ) |

## ◆ setBusArrangements()

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

Implements IAudioProcessor.

## ◆ getBusArrangement()

tresult getBusArrangement | ( | BusDirection | dir,
|  | int32 | index,
|  | SpeakerArrangement & | arr
| ) |  |
| virtual

Implements IAudioProcessor.

## ◆ canProcessSampleSize()

tresult canProcessSampleSize | ( | int32 | symbolicSampleSize | ) |
| virtual

Implements IAudioProcessor.

## ◆ getLatencySamples()

uint32 getLatencySamples | ( |  | ) |
| inline virtual

Implements IAudioProcessor.

## ◆ setupProcessing()

tresult setupProcessing | ( | ProcessSetup & | setup | ) |
| virtual

Implements IAudioProcessor.

## ◆ setProcessing()

tresult setProcessing | ( | TBool |  | ) |
| inline virtual

Implements IAudioProcessor.

## ◆ process()

tresult process | ( | ProcessData & |  | ) |
| inline virtual

Implements IAudioProcessor.

## ◆ getTailSamples()

uint32 getTailSamples | ( |  | ) |
| inline virtual

Implements IAudioProcessor.

## ◆ getProcessContextRequirements()

uint32 getProcessContextRequirements | ( |  | ) |
| inline virtual

Implements IProcessContextRequirements.

## ◆ OBJ_METHODS()

OBJ_METHODS | ( | SingleComponentEffect | ,
|  | EditControllerEx1 |
| ) |  | const

## Member Data Documentation

## ◆ SMTG_OVERRIDE

void** obj SMTG_OVERRIDE

## ◆ processSetup

REFCOUNT_METHODS (EditControllerEx1) protected ProcessSetup processSetup

## ◆ processContextRequirements

ProcessContextRequirements processContextRequirements

## ◆ audioInputs

BusList audioInputs

## ◆ audioOutputs

BusList audioOutputs

## ◆ eventInputs

BusList eventInputs

## ◆ eventOutputs

BusList eventOutputs

Empty

Copyright © Steinberg Media Technologies GmbH. All Rights Reserved. This documentation is under this license.