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

- Main Page
- 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 | Public Attributes | List of all members
AudioBusBuffers Struct Reference

Processing buffers of an audio bus. More...

`#include <ivstaudioprocessor.h>`

## Public Member Functions
| AudioBusBuffers ()

## Public Attributes
int32 | numChannels
| number of audio channels in bus
uint64 | silenceFlags
| Bitset of silence state per channel.
union {
Sample32 ** channelBuffers32
| sample buffers to process with 32-bit precision
Sample64 ** channelBuffers64
| sample buffers to process with 64-bit precision
}; |

## Detailed Description

Processing buffers of an audio bus.

This structure contains the processing buffer for each channel of an audio bus.

- The number of channels (numChannels) must always match the current bus arrangement. It could be set to value '0' when the host wants to flush the parameters (when the plug-in is not processed).
- The size of the channel buffer array must always match the number of channels. So the host must always supply an array for the channel buffers, regardless if the bus is active or not. However, if an audio bus is currently inactive, the actual sample buffer addresses are safe to be null.
- The silence flag is set when every sample of the according buffer has the value '0'. It is intended to be used as help for optimizations allowing a plug-in to reduce processing activities. But even if this flag is set for a channel, the channel buffers must still point to valid memory! This flag is optional. A host is free to support it or not.

See Also
  ProcessData

## Constructor & Destructor Documentation

AudioBusBuffers | ( |  | ) |
| inline

## Member Data Documentation

int32 numChannels

number of audio channels in bus

uint64 silenceFlags

Bitset of silence state per channel.

Sample32** channelBuffers32

sample buffers to process with 32-bit precision

Sample64** channelBuffers64

sample buffers to process with 64-bit precision

union { ... }

Empty

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