|
LMMS
|
#include <AudioBufferView.h>
Public Member Functions | |
| template<typename U = T> | |
| constexpr | PlanarBufferView (PlanarBufferView< std::remove_const_t< U >, channelCount > other) noexcept |
| Construct const from mutable (static channel count). | |
| template<typename U = T> | |
| constexpr | PlanarBufferView (PlanarBufferView< std::remove_const_t< U >, channelCount > other) noexcept |
| Construct const from mutable (dynamic channel count). | |
| template<ch_cnt_t otherChannels> | |
| constexpr | PlanarBufferView (PlanarBufferView< T, otherChannels > other) noexcept |
| Construct dynamic channel count from static. | |
| constexpr auto | empty () const noexcept -> bool |
| constexpr auto | buffer (ch_cnt_t channel) const noexcept -> std::span< T > |
| template<ch_cnt_t channel> | |
| constexpr auto | buffer () const noexcept -> std::span< T > |
| constexpr auto | bufferPtr (ch_cnt_t channel) const noexcept -> T * |
| template<ch_cnt_t channel> | |
| constexpr auto | bufferPtr () const noexcept -> T * |
| constexpr auto | operator[] (ch_cnt_t channel) const noexcept -> T * |
| Public Member Functions inherited from lmms::detail::BufferViewData< T *const, DynamicChannelCount > | |
| constexpr | BufferViewData ()=default |
| constexpr auto | data () const noexcept -> T * |
| constexpr auto | frames () const noexcept -> f_cnt_t |
Static Public Attributes | |
| static constexpr bool | Interleaved = false |
| Use to distinguish between InterleavedBufferView and PlanarBufferView when using AudioBufferView. | |
Private Types | |
| using | Base = detail::BufferViewData<T* const, channelCount> |
Additional Inherited Members | |
| Static Public Member Functions inherited from lmms::detail::BufferViewData< T *const, DynamicChannelCount > | |
| static constexpr auto | channels () noexcept -> ch_cnt_t |
| Protected Attributes inherited from lmms::detail::BufferViewData< T *const, DynamicChannelCount > | |
| T * | m_data |
| f_cnt_t | m_frames |
Non-owning view for multi-channel non-interleaved audio data
The data type is T* const* which is a 2D array accessed as data[channel][frame index] where each channel's buffer contains frames() frames.
TODO C++23: Use std::mdspan?
|
private |
|
inlineconstexprnoexcept |
Construct const from mutable (static channel count).
|
inlineconstexprnoexcept |
Construct const from mutable (dynamic channel count).
|
inlineconstexprnoexcept |
Construct dynamic channel count from static.
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
|
staticconstexpr |
Use to distinguish between InterleavedBufferView and PlanarBufferView when using AudioBufferView.