struct Core::AudioData

Overview

Audio data block definition. More…

#include <coreaudiodata.h>

struct AudioData
{
    // fields

    int numChannels;
    int numSamples;
    SilenceBitField silenceBits;
    AudioFloatType floatType;
    float32** buffers32;
    float64** buffers64;

    // construction

    AudioData();

    AudioData(
        int numChannels,
        int numSamples,
        float32** buffers,
        AudioFloatType floatType = kAudioFloat32
    );

    AudioData(
        int numChannels,
        int numSamples,
        float64** buffers,
        AudioFloatType floatType = kAudioFloat64
    );

    // methods

    int getBitDepth() const;

    template <class float>
    float* getBuffer(int index) const;

    template <class float>
    float** getBuffers() const;

    float32** getBuffers() const;
    float64** getBuffers() const;
};

// direct descendants

struct AudioDataSpan;

template <int kNumChannels, int kNumSamples, typename Float = float32>
struct StaticAudioData;

Detailed Documentation

Audio data block definition.

Fields

int numChannels

number of audio channels

int numSamples

number of audio samples per buffer

SilenceBitField silenceBits

audio channel silence bit field (max. 32 channels)

AudioFloatType floatType

audio floating-point type (32 or 64 Bit)

float32** buffers32

32 Bit audio buffers

float64** buffers64

64 Bit audio buffers

Construction

AudioData(
    int numChannels,
    int numSamples,
    float32** buffers,
    AudioFloatType floatType = kAudioFloat32
)

Construct with 32 Bit buffers.

AudioData(
    int numChannels,
    int numSamples,
    float64** buffers,
    AudioFloatType floatType = kAudioFloat64
)

Construct with 64 Bit buffers.