VISR  0.11.1
Versatile Interactive Scene Renderer
audio_port_base_implementation.hpp
Go to the documentation of this file.
1 /* Copyright Institute of Sound and Vibration Research - All rights reserved */
2 
3 #ifndef VISR_IMPL_AUDIO_PORT_BASE_IMPLEMENTATION_HPP_INCLUDED
4 #define VISR_IMPL_AUDIO_PORT_BASE_IMPLEMENTATION_HPP_INCLUDED
5 
7 
8 #include "../audio_sample_type.hpp"
9 #include "../export_symbols.hpp"
10 
11 //#include <cstddef>
12 //#include <exception>
13 //#include <iterator>
14 //#include <limits>
15 #include <string>
16 //#include <vector>
17 
18 #include <valarray>
19 
20 namespace visr
21 {
22 class AudioPortBase;
23 
24 namespace impl
25 {
26 
28 {
29 public:
30 
32 
34 
35  VISR_CORE_LIBRARY_SYMBOL virtual ~AudioPortBaseImplementation();
36 
37  VISR_CORE_LIBRARY_SYMBOL AudioPortBase & containingPort();
38 
39  VISR_CORE_LIBRARY_SYMBOL AudioPortBase const & containingPort() const;
40 
44  VISR_CORE_LIBRARY_SYMBOL bool initialised() const noexcept;
45 
49  VISR_CORE_LIBRARY_SYMBOL void reset() noexcept;
50 
55  VISR_CORE_LIBRARY_SYMBOL void setWidth( std::size_t newWidth );
56 
60  VISR_CORE_LIBRARY_SYMBOL std::size_t width() const noexcept;
61 
66  VISR_CORE_LIBRARY_SYMBOL std::size_t alignmentBytes() noexcept;
67 
72  VISR_CORE_LIBRARY_SYMBOL std::size_t alignmentSamples() noexcept;
73 
78  VISR_CORE_LIBRARY_SYMBOL std::size_t channelStrideSamples() const noexcept;
79 
80  VISR_CORE_LIBRARY_SYMBOL std::size_t channelStrideBytes() const noexcept;
81 
83 
84  VISR_CORE_LIBRARY_SYMBOL void setChannelStrideSamples(std::size_t stride);
85 
86  VISR_CORE_LIBRARY_SYMBOL AudioSampleType::Id sampleType() const noexcept;
87 
88  VISR_CORE_LIBRARY_SYMBOL std::size_t sampleSize() const noexcept;
89 
90  VISR_CORE_LIBRARY_SYMBOL void setBasePointer( void * base );
91 
92  VISR_CORE_LIBRARY_SYMBOL void setBufferConfig( void * base, std::size_t channelStrideSamples );
93 
94  VISR_CORE_LIBRARY_SYMBOL void const * basePointer() const;
95 
96  VISR_CORE_LIBRARY_SYMBOL void * basePointer();
97 protected:
99 
101 
102  std::size_t const cSampleSize;
103 
104  std::size_t mWidth;
105 
106  void * mBasePointer;
107 
109 };
110 
111 } // namespace impl
112 } // namespace visr
113 
114 #endif // #ifndef VISR_IMPL_AUDIO_PORT_BASE_IMPLEMENTATION_HPP_INCLUDED
bool initialised() const noexcept
Definition: audio_port_base_implementation.cpp:56
AudioSampleType::Id const cSampleType
Definition: audio_port_base_implementation.hpp:100
virtual ~AudioPortBaseImplementation()
Definition: audio_port_base_implementation.cpp:38
Direction
Definition: port_base.hpp:22
void * mBasePointer
Definition: audio_port_base_implementation.hpp:106
void setBasePointer(void *base)
Definition: audio_port_base_implementation.cpp:110
Definition: component_implementation.hpp:34
Definition: audio_port_base.hpp:28
std::size_t alignmentBytes() noexcept
Definition: audio_port_base_implementation.cpp:81
std::size_t mChannelStrideSamples
Definition: audio_port_base_implementation.hpp:108
Definition: audio_port_base_implementation.hpp:27
AudioPortBase & mContainingPort
Definition: audio_port_base_implementation.hpp:98
void setChannelStrideSamples(std::size_t stride)
Definition: audio_port_base_implementation.cpp:105
AudioPortBaseImplementation(char const *name, AudioPortBase &containingPort, ComponentImplementation *container, AudioSampleType::Id sampleType, visr::PortBase::Direction direction)
Definition: audio_port_base_implementation.cpp:15
std::size_t alignmentSamples() noexcept
Definition: audio_port_base_implementation.cpp:86
void reset() noexcept
Definition: audio_port_base_implementation.cpp:61
AudioPortBase & containingPort()
Definition: audio_port_base_implementation.cpp:46
Definition: port_base_implementation.hpp:20
Definition: options.cpp:10
char const * name() const
Definition: port_base_implementation.hpp:52
Id
Definition: audio_sample_type.hpp:35
void const * basePointer() const
Definition: audio_port_base_implementation.cpp:121
void setBufferConfig(void *base, std::size_t channelStrideSamples)
Definition: audio_port_base_implementation.cpp:115
AudioSampleType::Id sampleType() const noexcept
Definition: audio_port_base_implementation.cpp:131
std::size_t mWidth
Definition: audio_port_base_implementation.hpp:104
std::size_t sampleSize() const noexcept
Definition: audio_port_base_implementation.cpp:136
std::size_t channelStrideBytes() const noexcept
Definition: audio_port_base_implementation.cpp:100
std::size_t channelStrideSamples() const noexcept
Definition: audio_port_base_implementation.cpp:95
std::size_t const cSampleSize
Definition: audio_port_base_implementation.hpp:102
std::size_t width() const noexcept
Definition: audio_port_base_implementation.cpp:76
void setWidth(std::size_t newWidth)
Definition: audio_port_base_implementation.cpp:67
visr::PortBase::Direction direction() const
Definition: port_base_implementation.hpp:75