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

Extension of ProcessData. More...

#include <processdata.h>

+ Inheritance diagram for HostProcessData:

Public Member Functions

 HostProcessData ()=default
 
virtual ~HostProcessData () noexcept
 
bool prepare (IComponent &component, int32 bufferSamples, int32 _symbolicSampleSize)
 Prepare buffer containers for all busses. More...
 
void unprepare ()
 Remove bus buffers. More...
 
bool setChannelBuffers (BusDirection dir, int32 busIndex, Sample32 *sampleBuffer)
 Sets one sample buffer for all channels inside a bus. More...
 
bool setChannelBuffers64 (BusDirection dir, int32 busIndex, Sample64 *sampleBuffer)
 
bool setChannelBuffers (BusDirection dir, int32 busIndex, Sample32 *sampleBuffers[], int32 bufferCount)
 Sets individual sample buffers per channel inside a bus. More...
 
bool setChannelBuffers64 (BusDirection dir, int32 busIndex, Sample64 *sampleBuffers[], int32 bufferCount)
 
bool setChannelBuffer (BusDirection dir, int32 busIndex, int32 channelIndex, Sample32 *sampleBuffer)
 Sets one sample buffer for a given channel inside a bus. More...
 
bool setChannelBuffer64 (BusDirection dir, int32 busIndex, int32 channelIndex, Sample64 *sampleBuffer)
 
- Public Member Functions inherited from ProcessData
 ProcessData ()
 

Static Public Attributes

static constexpr uint64 kAllChannelsSilent
 

Protected Member Functions

int32 createBuffers (IComponent &component, AudioBusBuffers *&buffers, BusDirection dir, int32 bufferSamples)
 
void destroyBuffers (AudioBusBuffers *&buffers, int32 &busCount)
 
bool checkIfReallocationNeeded (IComponent &component, int32 bufferSamples, int32 _symbolicSampleSize) const
 
bool isValidBus (BusDirection dir, int32 busIndex) const
 

Protected Attributes

bool channelBufferOwner {false}
 

Additional Inherited Members

- Public Attributes inherited from ProcessData
int32 processMode
 
int32 symbolicSampleSize
 
int32 numSamples
 
int32 numInputs
 
int32 numOutputs
 
AudioBusBuffersinputs
 
AudioBusBuffersoutputs
 
IParameterChangesinputParameterChanges
 
IParameterChangesoutputParameterChanges
 
IEventListinputEvents
 
IEventListoutputEvents
 
ProcessContextprocessContext
 

Detailed Description

Extension of ProcessData.

Helps setting up the buffers for the process data structure for a component. When the prepare method is called with bufferSamples != 0 the buffer management is handled by this class. Otherwise the buffers need to be setup explicitly.

Constructor & Destructor Documentation

◆ HostProcessData()

HostProcessData ( )
default

◆ ~HostProcessData()

~HostProcessData ( )
virtualnoexcept

Member Function Documentation

◆ prepare()

bool prepare ( IComponent component,
int32  bufferSamples,
int32  _symbolicSampleSize 
)

Prepare buffer containers for all busses.

If bufferSamples is not null buffers will be created.

◆ unprepare()

void unprepare ( )

Remove bus buffers.

◆ setChannelBuffers() [1/2]

bool setChannelBuffers ( BusDirection  dir,
int32  busIndex,
Sample32 sampleBuffer 
)
inline

Sets one sample buffer for all channels inside a bus.

◆ setChannelBuffers64() [1/2]

bool setChannelBuffers64 ( BusDirection  dir,
int32  busIndex,
Sample64 sampleBuffer 
)
inline

◆ setChannelBuffers() [2/2]

bool setChannelBuffers ( BusDirection  dir,
int32  busIndex,
Sample32 sampleBuffers[],
int32  bufferCount 
)
inline

Sets individual sample buffers per channel inside a bus.

◆ setChannelBuffers64() [2/2]

bool setChannelBuffers64 ( BusDirection  dir,
int32  busIndex,
Sample64 sampleBuffers[],
int32  bufferCount 
)
inline

◆ setChannelBuffer()

bool setChannelBuffer ( BusDirection  dir,
int32  busIndex,
int32  channelIndex,
Sample32 sampleBuffer 
)
inline

Sets one sample buffer for a given channel inside a bus.

◆ setChannelBuffer64()

bool setChannelBuffer64 ( BusDirection  dir,
int32  busIndex,
int32  channelIndex,
Sample64 sampleBuffer 
)
inline

◆ createBuffers()

int32 createBuffers ( IComponent component,
AudioBusBuffers *&  buffers,
BusDirection  dir,
int32  bufferSamples 
)
protected

◆ destroyBuffers()

void destroyBuffers ( AudioBusBuffers *&  buffers,
int32 busCount 
)
protected

◆ checkIfReallocationNeeded()

bool checkIfReallocationNeeded ( IComponent component,
int32  bufferSamples,
int32  _symbolicSampleSize 
) const
protected

◆ isValidBus()

bool isValidBus ( BusDirection  dir,
int32  busIndex 
) const
inlineprotected

Member Data Documentation

◆ kAllChannelsSilent

constexpr uint64 kAllChannelsSilent
staticconstexpr
Initial value:
=
0xffffffffffffffffUL

◆ channelBufferOwner

bool channelBufferOwner {false}
protected
Empty

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