VST 3 SDK: HostProcessData Class Reference
Author: Steinberg

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

- Main Page
- Related Pages
- Modules
- 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 Attributes | Protected Member Functions | Protected Attributes | List of all members
HostProcessData Class Reference
Common Hosting SDK Implementation Helper Classes

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.
void | unprepare ()
| Remove bus buffers.
bool | setChannelBuffers (BusDirection dir, int32 busIndex, Sample32 *sampleBuffer)
| Sets one sample buffer for all channels inside a bus.
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.
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.
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
AudioBusBuffers * | inputs
AudioBusBuffers * | outputs
IParameterChanges * | inputParameterChanges
IParameterChanges * | outputParameterChanges
IEventList * | inputEvents
IEventList * | outputEvents
ProcessContext * | processContext

## 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 | ( |  | ) |
| default

~HostProcessData | ( |  | ) |
| virtualnoexcept

## Member Function Documentation

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

Prepare buffer containers for all busses.

If bufferSamples is not null buffers will be created.

void unprepare | ( |  | ) |

Remove bus buffers.

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

Sets one sample buffer for all channels inside a bus.

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

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

Sets individual sample buffers per channel inside a bus.

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

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

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

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

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

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

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

bool isValidBus | ( | BusDirection | dir,
|  | int32 | busIndex
| ) |  | const
| inlineprotected

## Member Data Documentation

constexpr uint64 kAllChannelsSilent
| static

Initial value:
=
0xffffffffffffffffUL

bool channelBufferOwner {false}
| protected

Empty

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