struct Core::AudioIOData

Overview

Audio data block definition for synchronous I/O of multiple audio streams. More…

#include <coreaudioiodata.h>

struct AudioIOData
{
    // structs

    struct StreamData;

    // fields

    int numInputs;
    int numOutputs;
    int numSamples;
    AudioFloatType floatType;
    StreamData* inputs;
    StreamData* outputs;

    // methods

    void allocateStreamData(int numInputs, int numOutputs);
    void deallocateStreamData();

    void allocateStreams(
        int numInputs,
        int numOutputs,
        int maxChannels = kMaxAudioStreamChannels
    );

    void deallocateStreams();
    void setInputStreamBuffers(int index, float32* buffers[], int numChannels);
    void setOutputStreamBuffers(int index, float32* buffers[], int numChannels);
};

// direct descendants

template <
    int kNumInputs,
    int kNumOutputs,
    int kMaxChannels = kMaxAudioStreamChannels
>
struct StaticAudioIOData;

Detailed Documentation

Audio data block definition for synchronous I/O of multiple audio streams.

Fields

int numInputs

number of input streams

int numOutputs

number of output streams

int numSamples

number of samples per stream buffer

AudioFloatType floatType

audio floating-point type (32 or 64 Bit)

StreamData* inputs

input streams

StreamData* outputs

output streams

Methods

void allocateStreamData(int numInputs, int numOutputs)

Allocate stream data arrays for specified number of I/Os.

void deallocateStreamData()

Deallocate stream data arrays.

void allocateStreams(
    int numInputs,
    int numOutputs,
    int maxChannels = kMaxAudioStreamChannels
)

Allocate stream arrays and audio buffer arrays for specified number of I/Os.

Calls allocateStreamData.

void deallocateStreams()

Deallocate stream arrays and audio buffer arrays.

Calls deallocateStreamData.

void setInputStreamBuffers(int index, float32* buffers[], int numChannels)

Assign buffer addresses for given input stream.

void setOutputStreamBuffers(int index, float32* buffers[], int numChannels)

Assign buffer addresses for given output stream.