- added MultiBuffer

- improved tests
This commit is contained in:
2025-10-27 21:48:51 +01:00
parent 9fedd040b3
commit 7f66f9e60d
7 changed files with 153 additions and 19 deletions
+15 -8
View File
@@ -31,18 +31,17 @@
namespace dsp {
template <typename T>
class BufferMulti
class BufferMulti : public Buffer<T>
{
Buffer<T> m_buffer;
size_t m_capacity;
size_t m_numChannels;
size_t m_capacity;
public:
BufferMulti(size_t capacity, size_t numChannels)
: m_capacity(capacity)
BufferMulti(size_t numChannels, size_t capacity)
: Buffer<T>(capacity*numChannels)
, m_numChannels(numChannels)
, m_capacity(capacity)
{
m_buffer.resize(capacity*numChannels);
}
size_t capacity()
@@ -55,11 +54,19 @@ class BufferMulti
return m_numChannels;
}
void reset()
using Buffer<T>::at;
T & at(uint channel, int offset)
{
m_buffer.reset();
return at(int(m_capacity*channel + offset));
}
const T & at(uint channel, int offset) const
{
return at(channel, offset);
}
protected:
};
}