VISR  0.12.0
Versatile Interactive Scene Renderer
visr::impl::AudioPortBaseImplementation Class Reference

#include <audio_port_base_implementation.hpp>

Inheritance diagram for visr::impl::AudioPortBaseImplementation:
visr::impl::PortBaseImplementation

Public Member Functions

 AudioPortBaseImplementation (char const *name, AudioPortBase &containingPort, ComponentImplementation *container, AudioSampleType::Id sampleType, visr::PortBase::Direction direction)
 
 AudioPortBaseImplementation (char const *name, AudioPortBase &containingPort, ComponentImplementation *container, AudioSampleType::Id sampleType, visr::PortBase::Direction direction, std::size_t width)
 
virtual ~AudioPortBaseImplementation ()
 
AudioPortBasecontainingPort ()
 
AudioPortBase const & containingPort () const
 
bool initialised () const noexcept
 
void reset () noexcept
 
void setWidth (std::size_t newWidth)
 
std::size_t width () const noexcept
 
std::size_t alignmentBytes () noexcept
 
std::size_t alignmentSamples () noexcept
 
std::size_t channelStrideSamples () const noexcept
 
std::size_t channelStrideBytes () const noexcept
 
void setChannelStrideSamples (std::size_t stride)
 
AudioSampleType::Id sampleType () const noexcept
 
std::size_t sampleSize () const noexcept
 
void setBasePointer (void *base)
 
void setBufferConfig (void *base, std::size_t channelStrideSamples)
 
void const * basePointer () const
 
void * basePointer ()
 
- Public Member Functions inherited from visr::impl::PortBaseImplementation
 PortBaseImplementation (char const *name, ComponentImplementation *container, visr::PortBase::Direction direction)
 
 PortBaseImplementation ()=delete
 
 PortBaseImplementation (PortBaseImplementation const &)=delete
 
 PortBaseImplementation (PortBaseImplementation &&)=delete
 
PortBaseImplementationoperator= (PortBaseImplementation const &)=delete
 
PortBaseImplementationoperator= (PortBaseImplementation &&)=delete
 
 ~PortBaseImplementation ()
 
char const * name () const
 
bool hasParent () const noexcept
 
ComponentImplementation const & parent () const
 
ComponentImplementationparent ()
 
void setParent (ComponentImplementation *newParent) noexcept
 
void removeParent () noexcept
 
visr::PortBase::Direction direction () const
 

Protected Attributes

AudioPortBasemContainingPort
 
AudioSampleType::Id const cSampleType
 
std::size_t const cSampleSize
 
std::size_t mWidth
 
void * mBasePointer
 
std::size_t mChannelStrideSamples
 

Constructor & Destructor Documentation

visr::impl::AudioPortBaseImplementation::AudioPortBaseImplementation ( char const *  name,
AudioPortBase containingPort,
ComponentImplementation container,
AudioSampleType::Id  sampleType,
visr::PortBase::Direction  direction 
)
explicit
visr::impl::AudioPortBaseImplementation::AudioPortBaseImplementation ( char const *  name,
AudioPortBase containingPort,
ComponentImplementation container,
AudioSampleType::Id  sampleType,
visr::PortBase::Direction  direction,
std::size_t  width 
)
explicit
visr::impl::AudioPortBaseImplementation::~AudioPortBaseImplementation ( )
virtual

Member Function Documentation

std::size_t visr::impl::AudioPortBaseImplementation::alignmentBytes ( )
noexcept

Return the alignment of the channel vectors in bytes. This method can be called at any point of the lifetime of an audio port, and the alignemnt is guaranteed not to change.

std::size_t visr::impl::AudioPortBaseImplementation::alignmentSamples ( )
noexcept

Return the guaranteed alignment of the channel vectors (in multiples of the element size). This function can be called at any point of the audio port's lifetime and the alignment remians constant througout that lifetime.

void const * visr::impl::AudioPortBaseImplementation::basePointer ( ) const
void * visr::impl::AudioPortBaseImplementation::basePointer ( )
std::size_t visr::impl::AudioPortBaseImplementation::channelStrideBytes ( ) const
noexcept
std::size_t visr::impl::AudioPortBaseImplementation::channelStrideSamples ( ) const
noexcept

Return the number of samples between the vectors of successive audio channels. If the port has not been initialised, 0 is returned.

AudioPortBase & visr::impl::AudioPortBaseImplementation::containingPort ( )
AudioPortBase const & visr::impl::AudioPortBaseImplementation::containingPort ( ) const
bool visr::impl::AudioPortBaseImplementation::initialised ( ) const
noexcept

Query whether the port is initialised, e.g., whether a base address and a channel stride has been assigned.

void visr::impl::AudioPortBaseImplementation::reset ( )
noexcept

Reset the port into uninitialized state, that is, reset the base pointer and channel stride to their initial settings

std::size_t visr::impl::AudioPortBaseImplementation::sampleSize ( ) const
noexcept
AudioSampleType::Id visr::impl::AudioPortBaseImplementation::sampleType ( ) const
noexcept
void visr::impl::AudioPortBaseImplementation::setBasePointer ( void *  base)
void visr::impl::AudioPortBaseImplementation::setBufferConfig ( void *  base,
std::size_t  channelStrideSamples 
)
void visr::impl::AudioPortBaseImplementation::setChannelStrideSamples ( std::size_t  stride)
void visr::impl::AudioPortBaseImplementation::setWidth ( std::size_t  newWidth)

Set the width, i.e., number of single audio channels, for this port.

Exceptions
std::logic_errorif called when in initialised state.
std::size_t visr::impl::AudioPortBaseImplementation::width ( ) const
noexcept

Return the number of single audio channels allocated for this port

Member Data Documentation

std::size_t const visr::impl::AudioPortBaseImplementation::cSampleSize
protected
AudioSampleType::Id const visr::impl::AudioPortBaseImplementation::cSampleType
protected
void* visr::impl::AudioPortBaseImplementation::mBasePointer
protected
std::size_t visr::impl::AudioPortBaseImplementation::mChannelStrideSamples
protected
AudioPortBase& visr::impl::AudioPortBaseImplementation::mContainingPort
protected
std::size_t visr::impl::AudioPortBaseImplementation::mWidth
protected

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