VST 3 Interfaces  VST 3.7
SDK for developing VST plug-in
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Macros Groups Pages
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 ©2024 Steinberg Media Technologies GmbH. All Rights Reserved. This documentation is under this license.