VISR  0.11.6
Versatile Interactive Scene Renderer
visr::pml::TimeFrequencyParameter< ElementType > Class Template Reference

#include <time_frequency_parameter.hpp>

Inheritance diagram for visr::pml::TimeFrequencyParameter< ElementType >:
visr::TypedParameterBase< TimeFrequencyParameter< ElementType >, TimeFrequencyParameterConfig, TimeFrequencyParameterType< ElementType >::ptype() > visr::ParameterBase

Public Member Functions

 TimeFrequencyParameter (std::size_t alignment=0)
 
 TimeFrequencyParameter (ParameterConfigBase const &config)
 
 TimeFrequencyParameter (TimeFrequencyParameterConfig const &config)
 
 TimeFrequencyParameter (std::size_t dftSize, std::size_t numDftSamples, std::size_t numChannels, size_t alignment=0)
 
 TimeFrequencyParameter (TimeFrequencyParameter< ElementType > const &rhs)
 
virtual ~TimeFrequencyParameter () override
 
TimeFrequencyParameteroperator= (TimeFrequencyParameter< ElementType > const &rhs)
 
void resize (std::size_t dftSize, std::size_t numDftSamples, std::size_t numChannels)
 
std::size_t alignment () const
 
std::size_t dftSize () const
 
std::size_t dftSamples () const
 
std::size_t channelStride () const
 
std::size_t dftSampleStride () const
 
std::size_t numberOfChannels () const
 
std::complex< ElementType > const * dftSlice (std::size_t channelIdx, std::size_t dftSampleIdx) const
 
std::complex< ElementType > * dftSlice (std::size_t channelIdx, std::size_t dftSampleIdx)
 
- Public Member Functions inherited from visr::TypedParameterBase< TimeFrequencyParameter< ElementType >, TimeFrequencyParameterConfig, TimeFrequencyParameterType< ElementType >::ptype() >
 TypedParameterBase ()=default
 
virtual ~TypedParameterBase ()=default
 
ParameterType type () final
 
std::unique_ptr< ParameterBaseclone () const final
 
void assign (ParameterBase const &rhs) override
 
- Public Member Functions inherited from visr::ParameterBase
 ParameterBase ()
 
 ParameterBase (const ParameterBase &)
 
ParameterBaseoperator= (const ParameterBase &)
 
virtual ~ParameterBase ()
 

Additional Inherited Members

- Public Types inherited from visr::TypedParameterBase< TimeFrequencyParameter< ElementType >, TimeFrequencyParameterConfig, TimeFrequencyParameterType< ElementType >::ptype() >
using ParameterConfigType = TimeFrequencyParameterConfig
 
- Static Public Member Functions inherited from visr::TypedParameterBase< TimeFrequencyParameter< ElementType >, TimeFrequencyParameterConfig, TimeFrequencyParameterType< ElementType >::ptype() >
static const constexpr ParameterType staticType ()
 

Detailed Description

template<typename ElementType>
class visr::pml::TimeFrequencyParameter< ElementType >

A type for passing matrixes between processing components. The template class is explicitly instantiated for the element types float and double.

Template Parameters
ElementTypeThe data type of the elements of the matrix.

Constructor & Destructor Documentation

◆ TimeFrequencyParameter() [1/5]

template<typename ElementType >
visr::pml::TimeFrequencyParameter< ElementType >::TimeFrequencyParameter ( std::size_t  alignment = 0)

Default constructor, creates an empty matrix of dimension 0 x 0.

Parameters
alignmentThe alignment of the data, given in in multiples of the eleement size.

◆ TimeFrequencyParameter() [2/5]

template<typename ElementType >
visr::pml::TimeFrequencyParameter< ElementType >::TimeFrequencyParameter ( ParameterConfigBase const &  config)
explicit

Construct a time-frequency parameter from a generic ParameterConfigBase object.

Parameters
configThe configuration object, must have the dynamic type TimeFrequencyParameterConfig.
Exceptions
std::invalid_argumentif the dynamic type of config does not match TimeFrequencyParameterConfig.

◆ TimeFrequencyParameter() [3/5]

template<typename ElementType >
visr::pml::TimeFrequencyParameter< ElementType >::TimeFrequencyParameter ( TimeFrequencyParameterConfig const &  config)
explicit

Construct a tie-frequency parameter from a dedicated TimeFrequencyParameterConfig config object.

Parameters
configThe configuration object.

◆ TimeFrequencyParameter() [4/5]

template<typename ElementType >
visr::pml::TimeFrequencyParameter< ElementType >::TimeFrequencyParameter ( std::size_t  dftSize,
std::size_t  numDftSamples,
std::size_t  numChannels,
size_t  alignment = 0 
)
explicit

Construct a time-frequency parameter.

Parameters
dftSizeThe size of the DFT transform.
numDftSamplesThe number of DFT vectors containe in one parameter
numChannelsThe number of audio channels that are simultaneously transmitted in a time-frequency parameter.
alignmentThe alignment of the data, given in in multiples of the element size.

◆ TimeFrequencyParameter() [5/5]

template<typename ElementType >
visr::pml::TimeFrequencyParameter< ElementType >::TimeFrequencyParameter ( TimeFrequencyParameter< ElementType > const &  rhs)

Copy constructor. Basically needed to enable the 'named constructor' functions below.

Parameters
rhsThe object to be copied.

◆ ~TimeFrequencyParameter()

template<typename ElementType >
visr::pml::TimeFrequencyParameter< ElementType >::~TimeFrequencyParameter ( )
overridevirtualdefault

Member Function Documentation

◆ alignment()

template<typename ElementType>
std::size_t visr::pml::TimeFrequencyParameter< ElementType >::alignment ( ) const
inline

◆ channelStride()

template<typename ElementType>
std::size_t visr::pml::TimeFrequencyParameter< ElementType >::channelStride ( ) const
inline

◆ dftSamples()

template<typename ElementType>
std::size_t visr::pml::TimeFrequencyParameter< ElementType >::dftSamples ( ) const
inline

◆ dftSampleStride()

template<typename ElementType>
std::size_t visr::pml::TimeFrequencyParameter< ElementType >::dftSampleStride ( ) const
inline

◆ dftSize()

template<typename ElementType>
std::size_t visr::pml::TimeFrequencyParameter< ElementType >::dftSize ( ) const
inline

◆ dftSlice() [1/2]

template<typename ElementType>
std::complex< ElementType > const* visr::pml::TimeFrequencyParameter< ElementType >::dftSlice ( std::size_t  channelIdx,
std::size_t  dftSampleIdx 
) const
inline

◆ dftSlice() [2/2]

template<typename ElementType>
std::complex< ElementType >* visr::pml::TimeFrequencyParameter< ElementType >::dftSlice ( std::size_t  channelIdx,
std::size_t  dftSampleIdx 
)
inline

◆ numberOfChannels()

template<typename ElementType>
std::size_t visr::pml::TimeFrequencyParameter< ElementType >::numberOfChannels ( ) const
inline

◆ operator=()

template<typename ElementType >
TimeFrequencyParameter< ElementType > & visr::pml::TimeFrequencyParameter< ElementType >::operator= ( TimeFrequencyParameter< ElementType > const &  rhs)

◆ resize()

template<typename ElementType >
void visr::pml::TimeFrequencyParameter< ElementType >::resize ( std::size_t  dftSize,
std::size_t  numDftSamples,
std::size_t  numChannels 
)

Change the matrix dimension. The content of the matrix is not kept, but reset to zeros.

Parameters
dftSizeSize of the DFT.
numDftSamplesThe number of DFT coefficient sets in a single TimeFrequencyParameter
numChannelsNumber of parallel audio channels conted in one parameter.
Exceptions
std::bad_allocIf the creation of the new matrix fails.

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