Ardour  8.7-15-gadf511264b
AudioGrapher::DeInterleaver< T > Class Template Reference

Converts on stream of interleaved data to many streams of uninterleaved data. More...

#include <deinterleaver.h>

Inheritance diagram for AudioGrapher::DeInterleaver< T >:
[legend]

Public Types

typedef std::shared_ptr< Source< T > > SourcePtr
 

Public Member Functions

 DeInterleaver ()
 Constructor.
RT safe. More...
 
 ~DeInterleaver ()
 
void init (unsigned int num_channels, samplecnt_t max_samples_per_channel)
 Inits the deinterleaver. Must be called before using.
Not RT safe. More...
 
SourcePtr output (unsigned int channel)
 Returns an output indexed by channel
RT safe. More...
 
void process (ProcessContext< T > const &c)
 Deinterleaves data and outputs it to the outputs.
RT safe. More...
 
- Public Member Functions inherited from AudioGrapher::Sink< DefaultSampleType >
virtual ~Sink ()
 
virtual void process (ProcessContext< DefaultSampleType > const &context)=0
 
virtual void process (ProcessContext< DefaultSampleType > &context)
 

Private Types

typedef std::shared_ptr< IdentityVertex< T > > OutputPtr
 

Private Member Functions

void reset ()
 

Private Attributes

std::vector< OutputPtroutputs
 
unsigned int channels
 
samplecnt_t max_samples
 
T * buffer
 

Additional Inherited Members

- Protected Member Functions inherited from AudioGrapher::Throwing< L >
 Throwing ()
 
bool throw_level (ThrowLevel level)
 

Detailed Description

template<typename T = DefaultSampleType>
class AudioGrapher::DeInterleaver< T >

Converts on stream of interleaved data to many streams of uninterleaved data.

Definition at line 18 of file deinterleaver.h.

Member Typedef Documentation

◆ OutputPtr

template<typename T = DefaultSampleType>
typedef std::shared_ptr<IdentityVertex<T> > AudioGrapher::DeInterleaver< T >::OutputPtr
private

Definition at line 23 of file deinterleaver.h.

◆ SourcePtr

template<typename T = DefaultSampleType>
typedef std::shared_ptr<Source<T> > AudioGrapher::DeInterleaver< T >::SourcePtr

Definition at line 35 of file deinterleaver.h.

Constructor & Destructor Documentation

◆ DeInterleaver()

template<typename T = DefaultSampleType>
AudioGrapher::DeInterleaver< T >::DeInterleaver ( )
inline

Constructor.
RT safe.

Definition at line 27 of file deinterleaver.h.

◆ ~DeInterleaver()

template<typename T = DefaultSampleType>
AudioGrapher::DeInterleaver< T >::~DeInterleaver ( )
inline

Definition at line 33 of file deinterleaver.h.

Member Function Documentation

◆ init()

template<typename T = DefaultSampleType>
void AudioGrapher::DeInterleaver< T >::init ( unsigned int  num_channels,
samplecnt_t  max_samples_per_channel 
)
inline

Inits the deinterleaver. Must be called before using.
Not RT safe.

Definition at line 38 of file deinterleaver.h.

◆ output()

template<typename T = DefaultSampleType>
SourcePtr AudioGrapher::DeInterleaver< T >::output ( unsigned int  channel)
inline

Returns an output indexed by channel
RT safe.

Definition at line 51 of file deinterleaver.h.

◆ process()

template<typename T = DefaultSampleType>
void AudioGrapher::DeInterleaver< T >::process ( ProcessContext< T > const &  c)
inline

Deinterleaves data and outputs it to the outputs.
RT safe.

Definition at line 61 of file deinterleaver.h.

◆ reset()

template<typename T = DefaultSampleType>
void AudioGrapher::DeInterleaver< T >::reset ( )
inlineprivate

Definition at line 93 of file deinterleaver.h.

Member Data Documentation

◆ buffer

template<typename T = DefaultSampleType>
T* AudioGrapher::DeInterleaver< T >::buffer
private

Definition at line 105 of file deinterleaver.h.

◆ channels

template<typename T = DefaultSampleType>
unsigned int AudioGrapher::DeInterleaver< T >::channels
private

Definition at line 103 of file deinterleaver.h.

◆ max_samples

template<typename T = DefaultSampleType>
samplecnt_t AudioGrapher::DeInterleaver< T >::max_samples
private

Definition at line 104 of file deinterleaver.h.

◆ outputs

template<typename T = DefaultSampleType>
std::vector<OutputPtr> AudioGrapher::DeInterleaver< T >::outputs
private

Definition at line 102 of file deinterleaver.h.


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