3 #ifndef VISR_AUDIO_OUTPUT_HPP_INCLUDED 4 #define VISR_AUDIO_OUTPUT_HPP_INCLUDED 43 template<
typename DataType>
77 DataType *
at( std::size_t idx )
81 throw std::out_of_range(
"AudioOutput::at() exceeds port width." );
102 template<
class OutputIterator >
105 std::size_t
const wd(
width() );
107 DataType * ptr(
data() );
108 for( std::size_t chIdx( 0 ); chIdx < wd; ++chIdx, ptr += stride, ++outIt )
123 #endif // #ifndef VISR_AUDIO_OUTPUT_HPP_INCLUDED AudioOutputT(char const *name, Component &container, std::size_t width=0)
Definition: audio_output.hpp:55
Definition: audio_port_base.hpp:28
DataType * data()
Definition: audio_output.hpp:70
Definition: audio_output.hpp:44
Definition: component.hpp:38
Definition: options.cpp:10
Id
Definition: audio_sample_type.hpp:35
virtual ~AudioOutputT() override=default
std::size_t channelStrideSamples() const noexcept
Definition: audio_port_base.cpp:49
Definition: audio_output.hpp:20
DataType * operator[](std::size_t idx)
Definition: audio_output.hpp:90
DataType * at(std::size_t idx)
Definition: audio_output.hpp:77
OutputIterator getChannelPointers(OutputIterator outIt)
Definition: audio_output.hpp:103
std::size_t width() const noexcept
Definition: audio_port_base.cpp:34
void * basePointer()
Definition: audio_port_base.cpp:59