VST 3 Examples VST 3.7
SDK for developing VST plug-in
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 ()
 
AudioBusaddAudioInput (const TChar *name, SpeakerArrangement arr, BusType busType=kMain, int32 flags=BusInfo::kDefaultActive)
 
AudioBusaddAudioOutput (const TChar *name, SpeakerArrangement arr, BusType busType=kMain, int32 flags=BusInfo::kDefaultActive)
 
AudioBusgetAudioInput (int32 index)
 
AudioBusgetAudioOutput (int32 index)
 
EventBusaddEventInput (const TChar *name, int32 channels=16, BusType busType=kMain, int32 flags=BusInfo::kDefaultActive)
 
EventBusaddEventOutput (const TChar *name, int32 channels=16, BusType busType=kMain, int32 flags=BusInfo::kDefaultActive)
 
EventBusgetEventInput (int32 index)
 
EventBusgetEventOutput (int32 index)
 
tresult setBusArrangements (SpeakerArrangement *inputs, int32 numIns, SpeakerArrangement *outputs, int32 numOuts) SMTG_OVERRIDE
 
tresult getBusArrangement (BusDirection dir, int32 busIndex, SpeakerArrangement &arr) SMTG_OVERRIDE
 
tresult canProcessSampleSize (int32 symbolicSampleSize) SMTG_OVERRIDE
 
uint32 getLatencySamples () SMTG_OVERRIDE
 
tresult setupProcessing (ProcessSetup &setup) SMTG_OVERRIDE
 
tresult setProcessing (TBool state) SMTG_OVERRIDE
 
tresult process (ProcessData &data) SMTG_OVERRIDE
 
uint32 getTailSamples () SMTG_OVERRIDE
 
uint32 getProcessContextRequirements () SMTG_OVERRIDE
 
- Public Member Functions inherited from Component
 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
 
tresult getRoutingInfo (RoutingInfo &inInfo, RoutingInfo &outInfo) SMTG_OVERRIDE
 
tresult activateBus (MediaType type, BusDirection dir, int32 index, TBool state) SMTG_OVERRIDE
 
tresult setActive (TBool state) SMTG_OVERRIDE
 
tresult setState (IBStream *state) SMTG_OVERRIDE
 
tresult getState (IBStream *state) SMTG_OVERRIDE
 
tresult initialize (FUnknown *context) SMTG_OVERRIDE
 
tresult terminate () SMTG_OVERRIDE
 
BusListgetBusList (MediaType type, BusDirection dir)
 
tresult removeAllBusses ()
 
- Public Member Functions inherited from ComponentBase
 ComponentBase ()
 
 ~ComponentBase () override
 
FUnknowngetHostContext () const
 
IConnectionPointgetPeer () const
 
IMessageallocateMessage () const
 
tresult sendMessage (IMessage *message) const
 
tresult sendTextMessage (const char8 *text) const
 
tresult sendMessageID (const char8 *messageID) const
 
virtual tresult receiveText (const char8 *text)
 
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 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
 
virtual tresult setAudioPresentationLatencySamples (BusDirection dir, int32 busIndex, uint32 latencyInSamples)=0
 
virtual tresult getPrefetchableSupport (PrefetchableSupport &prefetchable)=0
 

Static Public Member Functions

static FUnknowncreateInstance (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 ()
 
ProcessContextgetCurrentExchangeData ()
 

Protected Attributes

HostCheck mHostCheck
 
BypassProcessor< Vst::Sample32mBypassProcessorFloat
 
BypassProcessor< Vst::Sample64mBypassProcessorDouble
 
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< ThreadCheckerthreadChecker {ThreadChecker::create ()}
 
Steinberg::Base::Thread::FLock msgQueueLock
 
std::list< LogEvent * > msgQueue
 
DataExchangeHandlerdataExchangeHandler {nullptr}
 
int64 mLastExchangeBlockSendSystemTime {0}
 
bool mBypass {false}
 
bool mSetActiveCalled {false}
 
bool mCheckGetLatencyCall {true}
 
bool mGetLatencyCalled {false}
 
bool mGetLatencyCalledAfterSetActive {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
 
- Public Attributes inherited from Component
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
 
- 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< IConnectionPointpeerConnection
 
- Public Attributes inherited from IProcessContextRequirements
 kNeedSystemTime
 
 kNeedContinousTimeSamples
 
 kNeedProjectTimeMusic
 
 kNeedBarPositionMusic
 
 kNeedCycleMusic
 
 kNeedSamplesToNextClock
 
 kNeedTempo
 
 kNeedTimeSignature
 
 kNeedChord
 
 kNeedFrameRate
 
 kNeedTransportState
 
- 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 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

◆ initialize()

tresult initialize ( FUnknown context)
virtual

Reimplemented from Component.

◆ terminate()

tresult terminate ( )
virtual

Reimplemented from Component.

◆ process()

tresult process ( ProcessData data)
virtual

Reimplemented from AudioEffect.

◆ setupProcessing()

tresult setupProcessing ( ProcessSetup setup)
virtual

Reimplemented from AudioEffect.

◆ setActive()

tresult setActive ( TBool  state)
virtual

Reimplemented from Component.

◆ notify()

tresult notify ( IMessage message)
virtual

Reimplemented from ComponentBase.

◆ getLatencySamples()

uint32 getLatencySamples ( )
virtual

Reimplemented from AudioEffect.

◆ getTailSamples()

uint32 getTailSamples ( )
virtual

Reimplemented from AudioEffect.

◆ canProcessSampleSize()

tresult canProcessSampleSize ( int32  symbolicSampleSize)
virtual

Reimplemented from AudioEffect.

◆ setProcessing()

tresult setProcessing ( TBool  state)
virtual

Reimplemented from AudioEffect.

◆ setState()

tresult setState ( IBStream state)
virtual

Reimplemented from Component.

◆ getState()

tresult getState ( IBStream state)
virtual

Reimplemented from Component.

◆ getRoutingInfo()

tresult getRoutingInfo ( RoutingInfo inInfo,
RoutingInfo outInfo 
)
virtual

Reimplemented from Component.

◆ activateBus()

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

Reimplemented from Component.

◆ setBusArrangements()

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

Reimplemented from AudioEffect.

◆ getBusArrangement()

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

Reimplemented from AudioEffect.

◆ createInstance()

static FUnknown * createInstance ( void *  )
inlinestatic

◆ connect()

tresult connect ( IConnectionPoint other)
virtual

Reimplemented from ComponentBase.

◆ disconnect()

tresult disconnect ( IConnectionPoint other)
virtual

Reimplemented from ComponentBase.

◆ setAudioPresentationLatencySamples()

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

◆ getPrefetchableSupport()

tresult getPrefetchableSupport ( PrefetchableSupport prefetchable)
virtual

Implements IPrefetchableSupport.

◆ getProcessContextRequirements()

uint32 getProcessContextRequirements ( )
virtual

Reimplemented from AudioEffect.

◆ addLogEvent()

void addLogEvent ( Steinberg::int32  logId)
protected

◆ informLatencyChanged()

void informLatencyChanged ( )
protected

◆ sendLatencyChanged()

void sendLatencyChanged ( )
protected

◆ addLogEventMessage()

void addLogEventMessage ( const LogEvent logEvent)
protected

◆ sendLogEventMessage()

void sendLogEventMessage ( const LogEvent logEvent)
protected

◆ sendNowAllLogEvents()

void sendNowAllLogEvents ( )
protected

◆ getCurrentExchangeData()

ProcessContext * getCurrentExchangeData ( )
protected

Member Data Documentation

◆ mHostCheck

HostCheck mHostCheck
protected

◆ mBypassProcessorFloat

BypassProcessor<Vst::Sample32> mBypassProcessorFloat
protected

◆ mBypassProcessorDouble

BypassProcessor<Vst::Sample64> mBypassProcessorDouble
protected

◆ mCurrentExchangeBlock

DataExchangeBlock mCurrentExchangeBlock {InvalidDataExchangeBlock}
protected

◆ mLastBlockMarkerValue

float mLastBlockMarkerValue {-0.5f}
protected

◆ mNumNoteOns

int32 mNumNoteOns {0}
protected

◆ mLatency

uint32 mLatency {0}
protected

◆ mWantedLatency

uint32 mWantedLatency {0}
protected

◆ mGeneratePeaks

float mGeneratePeaks {0.f}
protected

◆ mProcessingLoad

float mProcessingLoad {0.f}
protected

◆ mCurrentState

State mCurrentState {State::kUninitialized}
protected

◆ mMinimumOfInputBufferCount

uint32 mMinimumOfInputBufferCount {0}
protected

◆ mMinimumOfOutputBufferCount

uint32 mMinimumOfOutputBufferCount {0}
protected

◆ mLastContinuousProjectTimeSamples

TSamples mLastContinuousProjectTimeSamples {kMinInt64}
protected

◆ mLastProjectTimeSamples

TSamples mLastProjectTimeSamples {kMinInt64}
protected

◆ mLastNumSamples

int32 mLastNumSamples {0}
protected

◆ mLastState

uint32 mLastState {0}
protected

◆ threadChecker

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

◆ msgQueueLock

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

◆ msgQueue

std::list<LogEvent*> msgQueue
protected

◆ dataExchangeHandler

DataExchangeHandler* dataExchangeHandler {nullptr}
protected

◆ mLastExchangeBlockSendSystemTime

int64 mLastExchangeBlockSendSystemTime {0}
protected

◆ mBypass

bool mBypass {false}
protected

◆ mSetActiveCalled

bool mSetActiveCalled {false}
protected

◆ mCheckGetLatencyCall

bool mCheckGetLatencyCall {true}
protected

◆ mGetLatencyCalled

bool mGetLatencyCalled {false}
protected

◆ mGetLatencyCalledAfterSetActive

bool mGetLatencyCalledAfterSetActive {false}
protected
Empty

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