VST 3 SDK  VST 3.7
SDK for developing VST plug-in
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Macros Groups Pages
IDataExchangeHandlerHost Struct Referenceabstract

#include <hostdataexchangehandler.h>

Public Member Functions

virtual ~IDataExchangeHandlerHost () noexcept=default
 
virtual bool isProcessorInactive (IAudioProcessor *processor)=0
 return if the audioprocessor is in an inactive state [main thread]
 
virtual IPtr
< IDataExchangeReceiver
findDataExchangeReceiver (IAudioProcessor *processor)=0
 return the data exchange receiver (most likely the edit controller) for the processor [main thread]
 
virtual bool allowAllocateSize (uint32 blockSize, uint32 numBlocks, uint32 alignment)=0
 check if the requested queue size should be allowed [main thread]
 
virtual bool isMainThread ()=0
 check if this call is made on the main thread [any thread]
 
virtual bool allowQueueListResize (uint32 newNumQueues)=0
 check if the number of queues can be changed in this moment.
 
virtual void numberOfQueuesChanged (uint32 openMainThreadQueues, uint32 openBackgroundThreadQueues)=0
 notification that the number of open queues changed [main thread]
 
virtual void onQueueOpened (IAudioProcessor *processor, DataExchangeQueueID queueID, bool dispatchOnMainThread)=0
 notification that a new queue was opened
 
virtual void onQueueClosed (IAudioProcessor *processor, DataExchangeQueueID queueID, bool dispatchOnMainThread)=0
 notification that a queue was closed
 
virtual void newBlockReadyToBeSend (DataExchangeQueueID queueID)=0
 notification that a new block is ready to be send [process thread]
 

Constructor & Destructor Documentation

virtual ~IDataExchangeHandlerHost ( )
virtualdefaultnoexcept

Member Function Documentation

virtual bool isProcessorInactive ( IAudioProcessor processor)
pure virtual

return if the audioprocessor is in an inactive state [main thread]

virtual IPtr<IDataExchangeReceiver> findDataExchangeReceiver ( IAudioProcessor processor)
pure virtual

return the data exchange receiver (most likely the edit controller) for the processor [main thread]

virtual bool allowAllocateSize ( uint32  blockSize,
uint32  numBlocks,
uint32  alignment 
)
pure virtual

check if the requested queue size should be allowed [main thread]

virtual bool isMainThread ( )
pure virtual

check if this call is made on the main thread [any thread]

virtual bool allowQueueListResize ( uint32  newNumQueues)
pure virtual

check if the number of queues can be changed in this moment.

this is only allowed if no other thread can access the IDataExchangeManagerHost in this moment [main thread]

virtual void numberOfQueuesChanged ( uint32  openMainThreadQueues,
uint32  openBackgroundThreadQueues 
)
pure virtual

notification that the number of open queues changed [main thread]

virtual void onQueueOpened ( IAudioProcessor processor,
DataExchangeQueueID  queueID,
bool  dispatchOnMainThread 
)
pure virtual

notification that a new queue was opened

virtual void onQueueClosed ( IAudioProcessor processor,
DataExchangeQueueID  queueID,
bool  dispatchOnMainThread 
)
pure virtual

notification that a queue was closed

virtual void newBlockReadyToBeSend ( DataExchangeQueueID  queueID)
pure virtual

notification that a new block is ready to be send [process thread]

Empty

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