This class a container which holds all the classes pertaining to the AudioData::Pointer audio sample format class. More...
#include <juce_AudioDataConverters.h>
Classes | |
struct | ChannelData |
struct | ChannelDataSubtypes |
struct | ChannelDataSubtypes< IsInterleaved, IsConst, DataFormat, Endianness > |
struct | ChannelDataSubtypes< IsInterleaved, IsConst, Format< DataFormat, Endianness > > |
class | Converter |
A base class for objects that are used to convert between two different sample formats. More... | |
class | ConverterInstance |
A class that converts between two templated AudioData::Pointer types, and which implements the AudioData::Converter interface. More... | |
struct | Format |
A struct that contains a SampleFormat and Endianness to be used with the source and destination types when calling the interleaveSamples() and deinterleaveSamples() helpers. More... | |
class | Pointer |
Used as a template parameter for AudioData::Pointer. More... | |
Public Types | |
template<typename... Format> | |
using | InterleavedDest = ChannelData< true, false, Format... > |
A sequence of interleaved samples used as the destination for the interleaveSamples() method. More... | |
template<typename... Format> | |
using | InterleavedSource = ChannelData< true, true, Format... > |
A sequence of interleaved samples used as the source for the deinterleaveSamples() method. More... | |
template<typename... Format> | |
using | NonInterleavedDest = ChannelData< false, false, Format... > |
A sequence of non-interleaved samples used as the destination for the deinterleaveSamples() method. More... | |
template<typename... Format> | |
using | NonInterleavedSource = ChannelData< false, true, Format... > |
A sequence of non-interleaved samples used as the source for the interleaveSamples() method. More... | |
Static Public Member Functions | |
template<typename... SourceFormat, typename... DestFormat> | |
static void | deinterleaveSamples (InterleavedSource< SourceFormat... > source, NonInterleavedDest< DestFormat... > dest, int numSamples) |
A helper function for converting a sequence of samples from an interleaved source to a non-interleaved destination. More... | |
template<typename... SourceFormat, typename... DestFormat> | |
static void | interleaveSamples (NonInterleavedSource< SourceFormat... > source, InterleavedDest< DestFormat... > dest, int numSamples) |
A helper function for converting a sequence of samples from a non-interleaved source to an interleaved destination. More... | |
This class a container which holds all the classes pertaining to the AudioData::Pointer audio sample format class.
@tags{Audio}
using juce::AudioData::InterleavedDest = ChannelData<true, false, Format...> |
A sequence of interleaved samples used as the destination for the interleaveSamples() method.
using juce::AudioData::InterleavedSource = ChannelData<true, true, Format...> |
A sequence of interleaved samples used as the source for the deinterleaveSamples() method.
using juce::AudioData::NonInterleavedDest = ChannelData<false, false, Format...> |
A sequence of non-interleaved samples used as the destination for the deinterleaveSamples() method.
using juce::AudioData::NonInterleavedSource = ChannelData<false, true, Format...> |
A sequence of non-interleaved samples used as the source for the interleaveSamples() method.
|
inlinestatic |
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:
References juce::addBytesToPointer(), juce::AudioData::ChannelData< IsInterleaved, IsConst, Format >::channels, juce::AudioData::ChannelData< IsInterleaved, IsConst, Format >::data, and juce::gl::source.
|
inlinestatic |
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:
References juce::addBytesToPointer(), juce::AudioData::ChannelData< IsInterleaved, IsConst, Format >::channels, juce::AudioData::ChannelData< IsInterleaved, IsConst, Format >::data, and juce::gl::source.