VST 3 SDK VST 3.7
SDK for developing VST plug-in
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] More...
 
virtual IPtr< IDataExchangeReceiverfindDataExchangeReceiver (IAudioProcessor *processor)=0
 return the data exchange receiver (most likely the edit controller) for the processor [main thread] More...
 
virtual bool allowAllocateSize (uint32 blockSize, uint32 numBlocks, uint32 alignment)=0
 check if the requested queue size should be allowed [main thread] More...
 
virtual bool isMainThread ()=0
 check if this call is made on the main thread [any thread] More...
 
virtual bool allowQueueListResize (uint32 newNumQueues)=0
 check if the number of queues can be changed in this moment. More...
 
virtual void numberOfQueuesChanged (uint32 openMainThreadQueues, uint32 openBackgroundThreadQueues)=0
 notification that the number of open queues changed [main thread] More...
 
virtual void onQueueOpened (IAudioProcessor *processor, DataExchangeQueueID queueID, bool dispatchOnMainThread)=0
 notification that a new queue was opened More...
 
virtual void onQueueClosed (IAudioProcessor *processor, DataExchangeQueueID queueID, bool dispatchOnMainThread)=0
 notification that a queue was closed More...
 
virtual void newBlockReadyToBeSend (DataExchangeQueueID queueID)=0
 notification that a new block is ready to be send [process thread] More...
 

Constructor & Destructor Documentation

◆ ~IDataExchangeHandlerHost()

virtual ~IDataExchangeHandlerHost ( )
virtualdefaultnoexcept

Member Function Documentation

◆ isProcessorInactive()

virtual bool isProcessorInactive ( IAudioProcessor processor)
pure virtual

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

◆ findDataExchangeReceiver()

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

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

◆ allowAllocateSize()

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

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

◆ isMainThread()

virtual bool isMainThread ( )
pure virtual

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

◆ allowQueueListResize()

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]

◆ numberOfQueuesChanged()

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

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

◆ onQueueOpened()

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

notification that a new queue was opened

◆ onQueueClosed()

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

notification that a queue was closed

◆ newBlockReadyToBeSend()

virtual void newBlockReadyToBeSend ( DataExchangeQueueID  queueID)
pure virtual

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

Empty

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