VST 3 Examples: HostCheckerProcessor Class Reference
Author: Steinberg

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

- Main Page
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Macros Groups Pages
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
HostCheckerProcessor Class Reference

`#include <hostcheckerprocessor.h>`

Inheritance diagram for HostCheckerProcessor:

## Public Member Functions
| HostCheckerProcessor ()
tresult | initialize (FUnknown *context) SMTG_OVERRIDE
tresult | terminate () SMTG_OVERRIDE
tresult | process (ProcessData &data) SMTG_OVERRIDE
tresult | setupProcessing (ProcessSetup &setup) SMTG_OVERRIDE
tresult | setActive (TBool state) SMTG_OVERRIDE
tresult | notify (IMessage *message) SMTG_OVERRIDE
uint32 | getLatencySamples () SMTG_OVERRIDE
uint32 | getTailSamples () SMTG_OVERRIDE
tresult | canProcessSampleSize (int32 symbolicSampleSize) SMTG_OVERRIDE
tresult | setProcessing (TBool state) SMTG_OVERRIDE
tresult | setState (IBStream *state) SMTG_OVERRIDE
tresult | getState (IBStream *state) SMTG_OVERRIDE
tresult | getRoutingInfo (RoutingInfo &inInfo, RoutingInfo &outInfo) SMTG_OVERRIDE
tresult | activateBus (MediaType type, BusDirection dir, int32 index, TBool state) SMTG_OVERRIDE
tresult | setBusArrangements (SpeakerArrangement *inputs, int32 numIns, SpeakerArrangement *outputs, int32 numOuts) SMTG_OVERRIDE
tresult | getBusArrangement (BusDirection dir, int32 busIndex, SpeakerArrangement &arr) SMTG_OVERRIDE
tresult | connect (IConnectionPoint *other) SMTG_OVERRIDE
tresult | disconnect (IConnectionPoint *other) SMTG_OVERRIDE
tresult | setAudioPresentationLatencySamples (BusDirection dir, int32 busIndex, uint32 latencyInSamples) SMTG_OVERRIDE
tresult | getPrefetchableSupport (PrefetchableSupport &prefetchable) SMTG_OVERRIDE
uint32 | getProcessContextRequirements () SMTG_OVERRIDE
Public Member Functions inherited from AudioEffect
| AudioEffect ()
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)
AudioBus * | getAudioInput (int32 index)
AudioBus * | getAudioOutput (int32 index)
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)
EventBus * | getEventInput (int32 index)
EventBus * | getEventOutput (int32 index)
| Component ()
void | setControllerClass (const FUID &cid)
void | setControllerClass (const TUID &cid)
tresult | removeAudioBusses ()
tresult | removeEventBusses ()
tresult | renameBus (MediaType type, BusDirection dir, int32 index, const String128 newName)
tresult | getControllerClassId (TUID classID) SMTG_OVERRIDE
tresult | setIoMode (IoMode mode) SMTG_OVERRIDE
int32 | getBusCount (MediaType type, BusDirection dir) SMTG_OVERRIDE
tresult | getBusInfo (MediaType type, BusDirection dir, int32 index, BusInfo &info) SMTG_OVERRIDE
BusList * | getBusList (MediaType type, BusDirection dir)
tresult | removeAllBusses ()
| ComponentBase ()
| ~ComponentBase () override
FUnknown * | getHostContext () const
IConnectionPoint * | getPeer () const
IMessage * | allocateMessage () const
tresult | sendMessage (IMessage *message) const
tresult | sendTextMessage (const char8 *text) const
tresult | sendMessageID (const char8 *messageID) const
virtual tresult | receiveText (const char8 *text)

## Static Public Member Functions
static FUnknown * | createInstance (void *)

## Protected Member Functions
void | addLogEvent (Steinberg::int32 logId)
void | informLatencyChanged ()
void | sendLatencyChanged ()
void | addLogEventMessage (const LogEvent &logEvent)
void | sendLogEventMessage (const LogEvent &logEvent)
void | sendNowAllLogEvents ()
ProcessContext * | getCurrentExchangeData ()

## Protected Attributes
HostCheck | mHostCheck
BypassProcessor< Vst::Sample32 > | mBypassProcessorFloat
BypassProcessor< Vst::Sample64 > | mBypassProcessorDouble
DataExchangeBlock | mCurrentExchangeBlock {InvalidDataExchangeBlock}
float | mLastBlockMarkerValue {-0.5f}
int32 | mNumNoteOns {0}
uint32 | mLatency {0}
uint32 | mWantedLatency {0}
float | mGeneratePeaks {0.f}
float | mProcessingLoad {0.f}
State | mCurrentState {State::kUninitialized}
uint32 | mMinimumOfInputBufferCount {0}
uint32 | mMinimumOfOutputBufferCount {0}
TSamples | mLastContinuousProjectTimeSamples {kMinInt64}
TSamples | mLastProjectTimeSamples {kMinInt64}
int32 | mLastNumSamples {0}
uint32 | mLastState {0}
std::unique_ptr< ThreadChecker > | threadChecker {ThreadChecker::create ()}
Steinberg::Base::Thread::FLock | msgQueueLock
std::list< LogEvent * > | msgQueue
DataExchangeHandler * | dataExchangeHandler {nullptr}
int64 | mLastExchangeBlockSendSystemTime {0}
bool | mBypass {false}
bool | mSetActiveCalled {false}

## Additional Inherited Members
Public Types inherited from IProcessContextRequirements
enum | Flags
Public Attributes inherited from AudioEffect
OBJ_METHODS(AudioEffect, Component) DEFINE_INTERFACES DEF_INTERFACE(IAudioProcessor) DEF_INTERFACE(IProcessContextRequirements) END_DEFINE_INTERFACES(Component) REFCOUNT_METHODS(Component) protected ProcessContextRequirements | processContextRequirements
OBJ_METHODS(Component, ComponentBase) DEFINE_INTERFACES DEF_INTERFACE(IComponent) END_DEFINE_INTERFACES(ComponentBase) REFCOUNT_METHODS(ComponentBase) protected BusList | audioInputs
BusList | audioOutputs
BusList | eventInputs
BusList | eventOutputs
OBJ_METHODS(ComponentBase, FObject) DEFINE_INTERFACES DEF_INTERFACE(IPluginBase) DEF_INTERFACE(IConnectionPoint) END_DEFINE_INTERFACES(FObject) REFCOUNT_METHODS(FObject) protected IPtr < IConnectionPoint > | peerConnection
Static Public Attributes inherited from IPluginBase
static const FUID | iid
Static Public Attributes inherited from IConnectionPoint
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
Static Public Attributes inherited from IAudioPresentationLatency
static const FUID | iid
Static Public Attributes inherited from IPrefetchableSupport
static const FUID | iid

## Constructor & Destructor Documentation

HostCheckerProcessor | ( |  | ) |

## Member Function Documentation

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

Reimplemented from AudioEffect.

tresult terminate | ( |  | ) |
| virtual

Reimplemented from AudioEffect.

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

Reimplemented from AudioEffect.

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

Reimplemented from AudioEffect.

tresult setActive | ( | TBool | state | ) |
| virtual

Reimplemented from AudioEffect.

tresult notify | ( | IMessage * | message | ) |
| virtual

Reimplemented from AudioEffect.

uint32 getLatencySamples | ( |  | ) |
| virtual

Reimplemented from AudioEffect.

uint32 getTailSamples | ( |  | ) |
| virtual

Reimplemented from AudioEffect.

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

Reimplemented from AudioEffect.

tresult setProcessing | ( | TBool | state | ) |
| virtual

Reimplemented from AudioEffect.

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

Reimplemented from AudioEffect.

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

Reimplemented from AudioEffect.

tresult getRoutingInfo | ( | RoutingInfo & | inInfo,
|  | RoutingInfo & | outInfo
| ) |  |
| virtual

Reimplemented from AudioEffect.

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

Reimplemented from AudioEffect.

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

Reimplemented from AudioEffect.

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

Reimplemented from AudioEffect.

static FUnknown* createInstance | ( | void * |  | ) |
| inlinestatic

tresult connect | ( | IConnectionPoint * | other | ) |
| virtual

Reimplemented from AudioEffect.

tresult disconnect | ( | IConnectionPoint * | other | ) |
| virtual

Reimplemented from AudioEffect.

tresult setAudioPresentationLatencySamples | ( | BusDirection | dir,
|  | int32 | busIndex,
|  | uint32 | latencyInSamples
| ) |  |
| virtual

Implements IAudioPresentationLatency.

tresult getPrefetchableSupport | ( | PrefetchableSupport & | prefetchable | ) |
| virtual

Implements IPrefetchableSupport.

uint32 getProcessContextRequirements | ( |  | ) |
| virtual

Reimplemented from AudioEffect.

void addLogEvent | ( | Steinberg::int32 | logId | ) |
| protected

void informLatencyChanged | ( |  | ) |
| protected

void sendLatencyChanged | ( |  | ) |
| protected

void addLogEventMessage | ( | const LogEvent & | logEvent | ) |
| protected

void sendLogEventMessage | ( | const LogEvent & | logEvent | ) |
| protected

void sendNowAllLogEvents | ( |  | ) |
| protected

ProcessContext * getCurrentExchangeData | ( |  | ) |
| protected

## Member Data Documentation

HostCheck mHostCheck
| protected

BypassProcessor<Vst::Sample32> mBypassProcessorFloat
| protected

BypassProcessor<Vst::Sample64> mBypassProcessorDouble
| protected

DataExchangeBlock mCurrentExchangeBlock {InvalidDataExchangeBlock}
| protected

float mLastBlockMarkerValue {-0.5f}
| protected

int32 mNumNoteOns {0}
| protected

uint32 mLatency {0}
| protected

uint32 mWantedLatency {0}
| protected

float mGeneratePeaks {0.f}
| protected

float mProcessingLoad {0.f}
| protected

State mCurrentState {State::kUninitialized}
| protected

uint32 mMinimumOfInputBufferCount {0}
| protected

uint32 mMinimumOfOutputBufferCount {0}
| protected

TSamples mLastContinuousProjectTimeSamples {kMinInt64}
| protected

TSamples mLastProjectTimeSamples {kMinInt64}
| protected

int32 mLastNumSamples {0}
| protected

uint32 mLastState {0}
| protected

std::unique_ptr<ThreadChecker> threadChecker {ThreadChecker::create ()}
| protected

Steinberg::Base::Thread::FLock msgQueueLock
| protected

std::list<LogEvent*> msgQueue
| protected

DataExchangeHandler* dataExchangeHandler {nullptr}
| protected

int64 mLastExchangeBlockSendSystemTime {0}
| protected

bool mBypass {false}
| protected

bool mSetActiveCalled {false}
| protected

Empty

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