Loading...
Searching...
No Matches
juce::AudioData Class Reference

`#include <juce_AudioDataConverters.h>`

## Classes

class | BigEndian
class | Int24in32
class | Pointer
class | Converter
class | ConverterInstance
struct | Format

## Public Types

template<typename... Format>
using | InterleavedSource = ChannelData<true, true, Format...>
template<typename... Format>
using | InterleavedDest = ChannelData<true, false, Format...>
template<typename... Format>
using | NonInterleavedSource = ChannelData<false, true, Format...>
template<typename... Format>
using | NonInterleavedDest = ChannelData<false, false, Format...>

## Static Public Member Functions

template<typename... SourceFormat, typename... DestFormat>
static void | interleaveSamples (NonInterleavedSource< SourceFormat... > source, InterleavedDest< DestFormat... > dest, int numSamples)
template<typename... SourceFormat, typename... DestFormat>
static void | deinterleaveSamples (InterleavedSource< SourceFormat... > source, NonInterleavedDest< DestFormat... > dest, int numSamples)

## Detailed Description

This class a container which holds all the classes pertaining to the AudioData::Pointer audio sample format class.

See also
  AudioData::Pointer.

Definition at line 35 of file juce_AudioDataConverters.h.

## Class Documentation

## juce::AudioData::Format

struct juce::AudioData::Format

template<typename DataFormatIn, typename EndiannessIn>
struct juce::AudioData::Format< DataFormatIn, EndiannessIn >

A struct that contains a SampleFormat and Endianness to be used with the source and destination types when calling the interleaveSamples() and deinterleaveSamples() helpers.

See also
  interleaveSamples, deinterleaveSamples

Definition at line 653 of file juce_AudioDataConverters.h.

Class Members
typedef DataFormatIn | DataFormat DataFormatIn |
typedef EndiannessIn | Endianness EndiannessIn |

## Member Typedef Documentation

## InterleavedDest

template<typename... Format>

using juce::AudioData::InterleavedDest = ChannelData<true, false, Format...>

A sequence of interleaved samples used as the destination for the interleaveSamples() method.

Definition at line 699 of file juce_AudioDataConverters.h.

## InterleavedSource

template<typename... Format>

using juce::AudioData::InterleavedSource = ChannelData<true, true, Format...>

A sequence of interleaved samples used as the source for the deinterleaveSamples() method.

Definition at line 697 of file juce_AudioDataConverters.h.

## NonInterleavedDest

template<typename... Format>

using juce::AudioData::NonInterleavedDest = ChannelData<false, false, Format...>

A sequence of non-interleaved samples used as the destination for the deinterleaveSamples() method.

Definition at line 703 of file juce_AudioDataConverters.h.

## NonInterleavedSource

template<typename... Format>

using juce::AudioData::NonInterleavedSource = ChannelData<false, true, Format...>

A sequence of non-interleaved samples used as the source for the interleaveSamples() method.

Definition at line 701 of file juce_AudioDataConverters.h.

## Member Function Documentation

## deinterleaveSamples()

template<typename... SourceFormat, typename... DestFormat>

void juce::AudioData::deinterleaveSamples | ( | InterleavedSource< SourceFormat... > | source,
|  | NonInterleavedDest< DestFormat... > | dest,
|  | int | numSamples )

inline static

A helper function for converting a sequence of samples from an interleaved source to a non-interleaved destination.

When calling this method you need to specify the source and destination data format and endianness from the AudioData SampleFormat and Endianness types and provide the data and number of channels for each. For example, to convert a floating-point stream of big endian samples to an non-interleaved, native endian stream of 16-bit integer samples you would do the following:

using SourceFormat = AudioData::Format<AudioData::Float32, AudioData::BigEndian>;
using DestFormat = AudioData::Format<AudioData::Int16, AudioData::NativeEndian>;
AudioData::deinterleaveSamples (AudioData::InterleavedSource<SourceFormat> { sourceData, numSourceChannels },
AudioData::NonInterleavedDest<DestFormat> { destData, numDestChannels },
numSamples);
juce::AudioData::InterleavedSource
ChannelData< true, true, Format... > InterleavedSource
Definition juce_AudioDataConverters.h:697
juce::AudioData::NonInterleavedDest
ChannelData< false, false, Format... > NonInterleavedDest
Definition juce_AudioDataConverters.h:703
juce::AudioData::deinterleaveSamples
static void deinterleaveSamples(InterleavedSource< SourceFormat... > source, NonInterleavedDest< DestFormat... > dest, int numSamples)
Definition juce_AudioDataConverters.h:767
juce::AudioData::Format
Definition juce_AudioDataConverters.h:654

Definition at line 767 of file juce_AudioDataConverters.h.

## interleaveSamples()

template<typename... SourceFormat, typename... DestFormat>

void juce::AudioData::interleaveSamples | ( | NonInterleavedSource< SourceFormat... > | source,
|  | InterleavedDest< DestFormat... > | dest,
|  | int | numSamples )

inline static

A helper function for converting a sequence of samples from a non-interleaved source to an interleaved destination.

When calling this method you need to specify the source and destination data format and endianness from the AudioData SampleFormat and Endianness types and provide the data and number of channels for each. For example, to convert a floating-point stream of big endian samples to an interleaved, native endian stream of 16-bit integer samples you would do the following:

using SourceFormat = AudioData::Format<AudioData::Float32, AudioData::BigEndian>;
using DestFormat = AudioData::Format<AudioData::Int16, AudioData::NativeEndian>;
AudioData::interleaveSamples (AudioData::NonInterleavedSource<SourceFormat> { sourceData, numSourceChannels },
AudioData::InterleavedDest<DestFormat> { destData, numDestChannels },
numSamples);
juce::AudioData::interleaveSamples
static void interleaveSamples(NonInterleavedSource< SourceFormat... > source, InterleavedDest< DestFormat... > dest, int numSamples)
Definition juce_AudioDataConverters.h:723
juce::AudioData::InterleavedDest
ChannelData< true, false, Format... > InterleavedDest
Definition juce_AudioDataConverters.h:699
juce::AudioData::NonInterleavedSource
ChannelData< false, true, Format... > NonInterleavedSource
Definition juce_AudioDataConverters.h:701

Definition at line 723 of file juce_AudioDataConverters.h.

The documentation for this class was generated from the following file:

- juce_AudioDataConverters.h