VISR  0.11.6
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

◆ AudioPortBaseImplementation() [1/2]

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

◆ AudioPortBaseImplementation() [2/2]

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

◆ ~AudioPortBaseImplementation()

visr::impl::AudioPortBaseImplementation::~AudioPortBaseImplementation ( )
virtual

Member Function Documentation

◆ alignmentBytes()

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.

◆ alignmentSamples()

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.

◆ basePointer() [1/2]

void const * visr::impl::AudioPortBaseImplementation::basePointer ( ) const

◆ basePointer() [2/2]

void * visr::impl::AudioPortBaseImplementation::basePointer ( )

◆ channelStrideBytes()

std::size_t visr::impl::AudioPortBaseImplementation::channelStrideBytes ( ) const
noexcept

◆ channelStrideSamples()

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.

◆ containingPort() [1/2]

AudioPortBase & visr::impl::AudioPortBaseImplementation::containingPort ( )

◆ containingPort() [2/2]

AudioPortBase const & visr::impl::AudioPortBaseImplementation::containingPort ( ) const

◆ initialised()

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.

◆ reset()

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

◆ sampleSize()

std::size_t visr::impl::AudioPortBaseImplementation::sampleSize ( ) const
noexcept

◆ sampleType()

AudioSampleType::Id visr::impl::AudioPortBaseImplementation::sampleType ( ) const
noexcept

◆ setBasePointer()

void visr::impl::AudioPortBaseImplementation::setBasePointer ( void *  base)

◆ setBufferConfig()

void visr::impl::AudioPortBaseImplementation::setBufferConfig ( void *  base,
std::size_t  channelStrideSamples 
)

◆ setChannelStrideSamples()

void visr::impl::AudioPortBaseImplementation::setChannelStrideSamples ( std::size_t  stride)

◆ setWidth()

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.

◆ width()

std::size_t visr::impl::AudioPortBaseImplementation::width ( ) const
noexcept

Return the number of single audio channels allocated for this port

Member Data Documentation

◆ cSampleSize

std::size_t const visr::impl::AudioPortBaseImplementation::cSampleSize
protected

◆ cSampleType

AudioSampleType::Id const visr::impl::AudioPortBaseImplementation::cSampleType
protected

◆ mBasePointer

void* visr::impl::AudioPortBaseImplementation::mBasePointer
protected

◆ mChannelStrideSamples

std::size_t visr::impl::AudioPortBaseImplementation::mChannelStrideSamples
protected

◆ mContainingPort

AudioPortBase& visr::impl::AudioPortBaseImplementation::mContainingPort
protected

◆ mWidth

std::size_t visr::impl::AudioPortBaseImplementation::mWidth
protected

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