VST 3 Interfaces VST 3.7
SDK for developing VST plug-in
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 More...
 
uint64 silenceFlags
 Bitset of silence state per channel. More...
 
union {
   Sample32 **   channelBuffers32
 sample buffers to process with 32-bit precision More...
 
   Sample64 **   channelBuffers64
 sample buffers to process with 64-bit precision More...
 
}; 
 

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

AudioBusBuffers ( )
inline

Member Data Documentation

◆ numChannels

int32 numChannels

number of audio channels in bus

◆ silenceFlags

uint64 silenceFlags

Bitset of silence state per channel.

◆ channelBuffers32

Sample32** channelBuffers32

sample buffers to process with 32-bit precision

◆ channelBuffers64

Sample64** channelBuffers64

sample buffers to process with 64-bit precision

◆ 

union { ... } @1
Empty

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